JUNOS配置导航 – Part 2

在JUNOS里面,我们使用set命令向当前配置文件增加新的设置。譬如,我希望将fe-0/0/0.0接口通告到OSPF区域5当中。此时我正处于配置的顶层,因此,如同在UNIX底下执行文件时需要指明完整的到达/bin或者/sbin目录路径一样。我需要向JUNOS输入从配置顶层一直到达OSPF区域5中的fe-0/0/0.0这个接口的完整层次。

[edit]
nigel@itaa7.2# set logical-routers r1 protocols ospf area
5 interface fe-0/0/0.0

而值得注意的是尽管r1之前并没有区域5存在与OSPF协议当中,当我们通过上面的命令将接口fe-0/0/0.0置于区域5以后。JUNOS将自动为我们在r1的OSPF协议下增加区域5。

nigel@itaa7.2# show logical-routers r1 protocols ospf
export 3/8;
reference-bandwidth 10m;
area 0.0.0.10 {
    nssa;
    interface lo0.1 {
        passive;
    }
    interface fxp1.12;
    interface fxp1.13;
}
area 0.0.0.5 {
    interface fe-0/0/0.0;
}

另外一种方式则是使用edit命令,类似与UNIX的cd命令,逐步进入接口所在的层次,然后再使用set命令将接口通告入区域5所在层次当中。这次我们使用另外一个接口fe-0/0/1.0举例,注意你可以直接使用一次edit指定整个层次路径,我这里分成两次输入仅仅为了迎合Michael Heilemann的这个Kubrick WordPress Theme对代码篇幅限制而已。

[edit]
nigel@itaa7.2# edit logical-routers r1 protocols ospf 

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# edit area 5 

[edit logical-routers r1 protocols ospf area 0.0.0.5]
nigel@itaa7.2# set interface fe-0/0/1.0 

可以看到JUNOS向我们提供了灵活的配置方式,无论是通过一次性指定完整层次路径配置,还是逐步进入相关层次,我们均可达到相同的效果。一次性指定能减轻你的记忆负担,而逐层进入则有时候可能会降低你配置的速度。无论如何,你可以随自己的习惯选择适合自己的配置方式。对于我个人而言,则没有固定的套路,一般对于直接明了的命令,我偏向使用一次性层次路径指定的方式;而对于存在频繁改动需要的配置部分,如policy的创建或修改,我则会先进入相关层次,再进行逐项设置。最为关键的还是时刻留意在你命令提示符头顶上的路径标识,你应该随时明确你当前所在的配置层次。当然,使用fe-接口举例只是为了阐述方便,由于在Olive上面不存在fe-接口,我们即便将配置commit以后这些配置也不会真正生效。

[edit logical-routers r1 protocols ospf area 0.0.0.5]
nigel@itaa7.2# up 

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# show
export 3/8;
reference-bandwidth 10m;
area 0.0.0.10 {
    nssa;
    interface lo0.1 {
        passive;
    }
    interface fxp1.12;
    interface fxp1.13;
}
area 0.0.0.5 {
    interface fe-0/0/0.0;
    interface fe-0/0/1.0;
}

相对于使用edit进入下一层配置层次,up则用于带你返回上一个配置层次上。此时当你再次输入show的时候,JUNOS将为你输出全部包含在本层次以下的所有子层次下的配置。你也可以通过在up后面指定返回上一层次的而连续返回到多个层次上面,或者直接使用top命令返回根配置层次上,类似于IOS的endctrl+z.

[edit logical-routers r1 protocols ospf area 0.0.0.5]
nigel@itaa7.2# up 2 

[edit logical-routers r1 protocols]
nigel@itaa7.2# top 

[edit]
nigel@itaa7.2# 

这里有一个小技巧可以与你分享,假如你已经对配置层次架构非常熟悉,那么你可以通过结合up/topedit命令在不同的配置层次之间切换。譬如,你可以使用单次的输入,从r1的OSPF区域5层次转换到区域10的层次上,或者一次切换到另外一台逻辑路由器r2的配置层次上。

[edit logical-routers r1 protocols ospf area 0.0.0.5]
nigel@itaa7.2# up 1 edit area 10 

[edit logical-routers r1 protocols ospf area 0.0.0.10]
nigel@itaa7.2# top edit logical-routers r2                  

[edit logical-routers r2]
nigel@itaa7.2# 

最后,我还要向你介绍几个JUNOS激动人心的特性。在IOS里面当你不想某些配置生效的时候,你唯一能够做的便是将相关配置no掉,如no router ospf,相对于JUNOS上是使用delete命令将配置删除。而一旦你希望重新使刚才的配置生效的话,在IOS上你只能重新配置整个OSPF协议。但JUNOS则向工程师提供全面的配置保障,当你不希望某段配置生效,然而却希望它能够保留在配置文件上作为备份参考的时候,你大可不必将这段配置层次delete掉。JUNOS的deactivateactivate命令能够帮助你临时停用某段配置,或者将其重新激活。譬如我希望将区域5临时移出OSPF,而并不确定将来是否需要重新将区域5以及相关的接口通告到OSPF当中,我可以使用deactivate停用区域5的相关配置内容。

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# deactivate area 5 

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# show area 5
##
## inactive: logical-routers r1 protocols ospf area 0.0.0.5
##
interface fe-0/0/0.0;
interface fe-0/0/1.0;

而到了某一天我希望将区域5重新在OSPF协议内通告的时候,我只需要简单的将其重新激活便可以了。

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# activate area 5 

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# show area 5
interface fe-0/0/0.0;
interface fe-0/0/1.0;

还有,当配置文件变得越来越大,或者有多个用户对路由器进行配置的时候,使用annotate,你甚至可以像编辑程序代码那样随时随地给JUNOS中某部分的配置加入注释说明。不像IOS仅能在少数的配置下加入描述性提示,单纯在OSPF协议配置下,我们均可以在全局协议,区域,以及区域内接口三个层次上为JUNOS的配置文件加入注解描述。唯一美中不足的地方在于目前还只能使用英文作为注释语言。

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# up 1 annotate ospf "nigel's OSPF"

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# annotate area 5 "nigel's area 0.0.0.5"

[edit logical-routers r1 protocols ospf]
nigel@itaa7.2# edit area 10     

[edit logical-routers r1 protocols ospf area 0.0.0.10]
nigel@itaa7.2# annotate interface fxp1.12 "NSSA interface"

[edit logical-routers r1 protocols ospf area 0.0.0.10]
nigel@itaa7.2# up 2 show
/* nigel's OSPF */
ospf {
    export 3/8;
    reference-bandwidth 10m;
    area 0.0.0.10 {
        nssa;
        interface lo0.1 {
            passive;
        }
        /* NSSA interface */
        interface fxp1.12;
        interface fxp1.13;
    }
    /* nigel's area 0.0.0.5 */
    area 0.0.0.5 {
        interface fe-0/0/0.0;
        interface fe-0/0/1.0;
    }
}

4 thoughts on “JUNOS配置导航 – Part 2

发表评论

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