Juniper网络设备的配置管理是网络运维中的核心环节,正确保存配置不仅能确保设备重启后配置不丢失,还能在故障发生时快速恢复到稳定状态,Juniper设备(包括Junos OS运行的交换机、路由器等)提供了多种配置保存命令,不同场景下可能需要使用不同的操作,以下将详细介绍Juniper设备保存配置的相关命令、操作步骤及注意事项。

在Junos OS中,配置文件主要存储在两个位置:候选配置(candidate configuration)和 committed configuration(已提交配置),候选配置是当前正在编辑但尚未生效的配置,而已提交配置是设备正在运行的活跃配置,保存配置通常指将候选配置提交到设备并持久化存储,或将当前运行的配置备份到外部存储设备,常见的保存操作包括提交配置、保存到启动配置、导出配置文件等。
提交配置(commit)
提交是将候选配置应用到设备并使其生效的关键步骤,在CLI模式下,用户进入配置模式后对进行的所有修改都存储在候选配置中,只有执行commit命令后,这些修改才会成为设备的运行配置,基本语法为:
commit
如果配置存在语法错误或依赖问题,commit过程会失败并提示错误信息,用户需要修正后重新提交,为避免长时间配置导致会话超时,可使用commit confirmed命令,该命令提交配置后会在指定时间(默认10分钟)内自动回滚,若在此时间内未执行commit确认,配置将恢复到提交前的状态,适用于远程配置高风险操作,
commit confirmed 15
执行后需在15分钟内再次输入commit确认,否则配置自动回滚。

保存到启动配置(save to startup)
Juniper设备重启后会自动加载启动配置(通常为/config/juniper.conf),但某些情况下(如升级系统或手动清理配置)可能需要手动将当前运行配置保存为启动配置,传统命令为:
save
该命令会将当前已提交的配置保存到默认启动配置文件中,在较新的Junos OS版本中,推荐使用更明确的commit操作,因为commit命令本身已默认将配置持久化到存储设备,无需额外执行save,若需指定保存路径或文件名,可通过copy命令实现,
copy /config/juniper.conf /config/backup.conf
将当前配置备份为backup.conf文件。
导出配置文件(show | display set)
当需要将配置文件导出到外部设备(如TFTP服务器、FTP服务器或本地存储)时,可使用show命令结合display set选项生成可读的配置文本,并通过copy或ftp命令传输,将配置导出到TFTP服务器:

show | display set | transfer destination tftp://192.168.1.100/config_backup
该命令会将当前配置以set命令的格式显示并传输到指定TFTP服务器,若需导出为XML格式(便于第三方工具解析),可使用:
show | display xml | save /var/tmp/config.xml
将配置保存为本地XML文件后,再通过ftp或scp上传至服务器。
配置备份与恢复的最佳实践
为避免配置丢失,建议定期备份配置,可通过配置管理工具(如Juniper的Contrail、PyEZ)或自动化脚本实现批量备份,手动备份时,需注意以下几点:
- 确认配置完整性:备份前执行
show configuration | compare检查是否有未提交的配置差异。 - 验证备份文件:备份后从服务器下载配置文件,用
load命令尝试加载,确保文件可正常读取。 - 版本管理:保留多个历史版本配置,便于快速回滚,按日期命名备份文件:
config_20231001.conf。
常见配置保存场景及命令
| 场景 | 命令示例 | 说明 |
|---|---|---|
| 提交当前配置 | commit |
使候选配置生效并持久化存储 |
| 确认式提交(防误操作) | commit confirmed 10 |
提交后10分钟内需确认,否则自动回滚 |
| 保存配置到本地文件 | show configuration | save /var/tmp/current.conf |
将配置保存到设备本地路径 |
| 导出配置到TFTP服务器 | show | display set | transfer destination tftp://192.168.1.100/config.conf |
通过TFTP传输配置文件 |
| 备份启动配置 | copy /config/juniper.conf /config/startup_backup.conf |
复制启动配置到备份文件 |
相关问答FAQs
Q1: 执行commit命令后,配置是否会自动保存到下次启动时?
A1: 是的,commit命令默认会将配置持久化存储到设备的闪存或硬盘(具体位置取决于设备型号),设备重启后会自动加载该配置,无需额外执行save命令,除非需要手动指定备份路径或文件名。
Q2: 如果配置提交后设备重启,但配置丢失,可能是什么原因?
A2: 可能的原因包括:① 存储空间不足导致配置文件写入失败;② 设备启动时加载了错误的配置文件(如指定了备用启动配置);③ 硬件故障导致存储介质损坏,可通过file list /config检查存储状态,或尝试从备份文件恢复配置:load /config/backup.conf followed by commit。
