JUNOS配置激活引擎: commit – Part 1

JUNOS配置激活/提交/应用 – commit

junos-commit 在JUNOS中,用户对路由器所输入的配置命令并不即时生效 —— 在刚开始的时候,这一特性对于习惯IOS那种配置即时生效的工程师而言可能需要一段时间的适应。然而正是JUNOS的这一特殊机制大幅度降低在网络配置过程中,因人为配置失误而造成故障的频率,从而大幅度缩减了Juniper网络的管理及维护成本。

nigel@Atlanta# set system host-name Test
[edit]
nigel@Atlanta# commit
commit complete
[edit]
nigel@Test#

我们尝试将路由器主机名修改为“Test”;输入命令以后,配置并没有即时生效 —— 主机名仍然为原有的“Atlanta”;只有当我们再次输入“Commit”的时候,之前所作的配置才被激活,主机名同时被修改为“Test”.

JUNOS配置核查 – commit check

在JUNOS CLI编辑器中,用户做的一系列改动会作为一个分组命令集合应用。在编辑器中,无论JUNOS还是IOS,由于语法结构混淆或应用参数缺失都是常见配置失误之一,对于Juniper用户,他们可以先验证命令集的语法,然后一次性运用所有改动,而不像IOS那样,要单个的命令逐行输入改动。

nigel@Atlanta# set interfaces fxp0.1 family inet address
1.1.1.1/32
[edit]
nigel@Atlanta# commit check
[edit interfaces fxp0]
  'unit 1'
Only unit 0 is valid for this interface
error: configuration check-out failed

这个例子显示的是由于违反JUNOS系统内置原则 —— 作为标准OoB接口,fxp0只能使用unit 0通讯;而我们却尝试配置fxp0的unit 1,因此无法激活配置。

[edit]
nigel@Atlanta# set apply-groups test
[edit]nigel@Atlanta# commit check
[edit]
  'apply-groups test'
    Configuration group 'test' is not defined
error: configuration check-out failed: (missing statements)

这个例子显示的在配置JUNOS的过程中另外一个常见的失误,当我们应用配置组,或者策略的时候,由于失误输入,要求JUNOS绑定一个不存在的配置组或策略。这时,JUNOS无法在配置当中查询到所需要应用的配置,因此配置也无法激活。

JUNOS配置失误记录 – commit | display detail

当激活配置的过程中出现失误,如果你需要了解/记录更为详尽的配置提交信息,可以使用下面的命令 ——

nigel@Atlanta# commit | display detail
2008-05-10 00:13:04 UTC: exporting juniper.conf
2008-05-10 00:13:04 UTC: expanding groups
2008-05-10 00:13:04 UTC: finished expanding groups
2008-05-10 00:13:04 UTC: setup foreign files
2008-05-10 00:13:04 UTC: propagating foreign files
2008-05-10 00:13:04 UTC: complete foreign files
2008-05-10 00:13:04 UTC: dropping unchanged foreign files
2008-05-10 00:13:04 UTC: daemons checking new configuration
[edit interfaces fxp0]
  'unit 1'
    Only unit 0 is valid for this interface
error: configuration check-out failed

JUNOS配置故障排除:配置比较 – show | compare

当激活配置过程中出现校验错误的时候,网络管理员排除配置错误最有效的方法之一便是发起两份不同配置版本之间的比较,通过强调配置文件之间的差别,从而汇总之前对设备所做的配置。

nigel@Atlanta# delete interfaces fxp0.0 family inet address
10.100.1.1/24
[edit]
nigel@Atlanta# set interfaces fxp0.0 family inet address
10.100.1.254/30
nigel@Atlanta# show | compare
[edit interfaces fxp0 unit 0 family inet]
+       address 10.100.1.254/30;
-       address 10.100.1.1/24; 

通过比较发现我们将接口fxp0.0的IP地址从原来的10.100.1.1/24;修改为10.100.1.254/30

JUNOS配置故障排除:重显配置命令 – show | display set

JUNOS的配置显示格式采用的是层次性架构,这些层次性架构实际上是通过一系列的Set命令构成实现的,当然你无法如IOS那样直接复制/粘贴。当我们拥有了一份JUNOS配置并且希望将其转换称为Set命令格式以便将同样的配置效果应用其它路由器上面的时候,在我们可以使用show | display Set重现这些源代码。

[edit]
nigel@Atlanta# load factory-default
warning: activating factory configuration

我们将当前路由器配置恢复为厂商默认配置状态。通过show | display set,我们了解如何通过set命令实现厂商默认配置

[edit]
nigel@Atlanta# show
system {
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}
[edit]
nigel@Atlanta# show | display set
set system syslog user * any emergency
set system syslog file messages any notice
set system syslog file messages authorization info
set system syslog file interactive-commands
interactive-commands any

One thought on “JUNOS配置激活引擎: commit – Part 1

  1. 用JUNOS恢复Juniper路由器原厂默认配置 « JUNIPER JUNOS & CISCO IOS 互联路由

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s