4. Junos OS基础配置与设备初始化
Junos OS 的配置体系与多数网络操作系统有本质区别:它采用“候选配置(candidate config)—提交(commit)—回滚(rollback)”的事务模型。理解这一点,是掌握 Junos 全部操作的基础。设备首次上电后,从出厂默认状态到可被网管系统纳管,需要依次完成 CLI 模式切换、基础参数配置、提交验证、用户权限划分,以及 SNMP/NTP/日志三项运维基础服务的落地。本节围绕这条主线展开。
一、Junos CLI 的两种模式与配置层级
登录设备后首先进入的是操作模式(operational mode),提示符为 >,用于执行 show、ping、request 等查看与诊断命令。输入 configure 进入配置模式(configuration mode),提示符变为 #,此时所有修改都写入候选配置,不会立即生效。
Junos 配置是一棵严格的层级树,典型路径为 [edit interfaces ge-0/0/0 unit 0 family inet]。常用导航命令包括:edit 进入下级、up 返回上级、top 回到根、show 查看当前层级、show | compare 对比候选配置与已提交配置的差异。后者是提交前最重要的自检手段。
user@router> configure
[edit]
user@router# set system host-name PE-01
user@router# set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30
user@router# show | compare
[edit system]
+ host-name PE-01;
[edit interfaces ge-0/0/0 unit 0 family inet]
+ address 10.0.0.1/30;
user@router# commit and-quit
commit complete
提交时若语法或逻辑有误,Junos 会拒绝提交并给出具体行号,候选配置保持原状,设备仍运行旧配置——这正是事务模型的安全价值。
二、提交、回滚与配置版本管理
每次成功提交都会生成一个配置版本,可用 rollback 0 回到最近一次提交,rollback 1 回到上一次,最多可回溯 50 个版本(默认保留 50 份)。rollback 只是把历史版本载入候选配置,仍需 commit 才真正生效。常用组合:
commit check:只校验不生效,适合远程操作前预检;commit confirmed 5:提交后 5 分钟内若无再次commit确认,自动回滚,是远程改管理口/路由策略的“安全绳”;show system rollback compare 1 0:对比两个历史版本差异;commit comment "add NTP server":为版本附加说明,便于审计。
commit confirmed。若配置错误导致失联,设备会在超时后自动恢复,避免现场救援。三、用户权限与登录方式
Junos 通过 login class 定义权限,再用 user 绑定。内置类有 super-user(全部权限)、operator(只读)、read-only。生产环境建议自定义类,精确控制可执行的命令和可查看的配置层级。
set system login class NOC-OPS permissions [configure interface view]
set system login class NOC-OPS allow-commands "show|ping|traceroute"
set system login user noc01 uid 2001 class NOC-OPS
set system login user noc01 authentication encrypted-password "$6$..."
set system services ssh root-login deny
登录方式上,SSH 是唯一推荐入口,应关闭 telnet 与 root 直接登录,改用普通账号加 su 或直接赋予相应 class。AAA 可对接 TACACS+/RADIUS,实现集中认证与命令审计。
四、SNMP、NTP、日志三项基础服务
这三项服务决定了设备能否被网管纳管、时间是否可信、故障是否可追溯,属于上线必配项。
SNMP:建议使用 v3,配置只读用户与视图,避免使用 public 团体字。示例:
set snmp view ALL oid .1 include
set snmp community public view ALL read-only
set snmp v3 usm local-engine user monitor authentication-sha authentication-password Juniper@123
set snmp v3 vacm security-to-group security-model usm security-name monitor group read-group
set snmp trap-group NMS-MGMT targets 10.10.10.50
NTP:时间偏差会导致日志时间错乱、证书校验失败、SNMP 时间戳不可信。至少配置两个上游服务器,并设置 boot-server 保证启动即同步:
set system ntp server 10.10.1.1 prefer
set system ntp server 10.10.1.2
set system ntp boot-server 10.10.1.1
set system time-zone Asia/Shanghai
验证命令:show ntp associations 看同步状态(reach 应为 377),show ntp status 看 stratum 与偏移。
日志:Junos 默认写 /var/log/messages,但生产环境应按类别分流并外送 syslog。常用配置:
set system syslog host 10.10.10.60 any info
set system syslog host 10.10.10.60 facility-override local5
set system syslog file interactive-commands interactive-commands any
set system syslog file config-changes change-log info
set system syslog time-format year millisecond
其中 change-log 记录配置变更,interactive-commands 记录谁在何时执行了什么命令,是审计与复盘的关键依据。
五、首次上电与 ZTP 零接触配置
新设备开箱后,若未做任何配置,Junos 会尝试通过 DHCP 获取管理地址,并寻找 ZTP 引导文件。ZTP 的核心是:设备从 DHCP 拿到地址与引导服务器信息,通过 TFTP/HTTP 下载脚本或配置文件,自动完成初始化并提交。
典型 ZTP 流程如下:设备上电 → DHCP 请求 → 获得 IP 与 option 43/150 指向的引导服务器 → 下载 config 或 script → 自动 commit → 设备以目标配置上线。若 ZTP 失败,设备会停留在默认状态,需通过 console 手动配置。
手动初始化时,通常先通过 console 设置管理口地址与默认路由,再开启 SSH,之后转入远程配置:
set interfaces fxp0 unit 0 family inet address 192.168.1.10/24
set routing-options static route 0.0.0.0/0 next-hop 192.168.1.1
set system services ssh
commit
验证顺序建议为:show interfaces fxp0 terse 确认链路与地址 → ping 网关 → show route 确认默认路由 → 远程 SSH 登录成功 → 再配置 SNMP/NTP/日志并提交。
整体来看,Junos 初始化的关键不在于命令数量,而在于顺序与安全边界:先建立可回滚的配置通道,再开放管理服务,最后接入网管与日志。任何一步跳过验证,都可能在远程操作中失去对设备的控制。掌握候选配置、提交确认与回滚这三件工具,配合 SNMP/NTP/日志的规范配置,设备才算真正具备可运维状态。