之前有提到过passive-interface这个命令.这是属于router mode的command,也是所有CCIE一定要知道的东西,所以,如果你碰到一个家伙自称是CCIE,可以请他解释一下这个指令.从他的解释,你差不 多可以了解一下对方的程度.完全说不上来的,那可能连CCNP都没有,如果解释的还可以,那至少也该有个CCNP的Level了,当然,如果可以详细说明 的,就算没有考上CCIE(也许是对方不削于考),程度应该不会太离谱了...

用最简单的话来说,passive-interface的作用,就是让某些在routing protocol作用范围内的interface光吃饭不做事.(这真是让人既羨慕又忌妒…)
不过,使用passive-interface可以根据routing protocol分三种情况.

第一种是RIP和IGRP.这一种routing protcol的特点是不会与对方router建立关系(你要说发生关系我也不反对...).所以,router是每隔一段时间就会发生只听不送的状况. 换句话说,只要routing protocol的process还在运行,routing update还是可以接收信息,只不过因为passive-interface指令的关系,update会送不出去,所以如果要阻止update送进 router中,还要加上distribute-list平当incoming update.这是第一路情况.

 

第二种是像OSPF,EIGRP之类的routing protocol.这一种路由协议的特点是会与对方router建立关系,也就是说router之间会建neighbor,所以,一旦用了passive -interface之后,你就断开了router之间的关系(heihei...这是破坏人家的姻缘,小心被众routers怨恨...).因为no relationship, no update.因此,所有的update送不出去,介是也收不进来.这是第二种情况.

第三种是ISIS.这是最奇怪的一种.有玩过的就知道,ISIS的routing command是下在interface mode而不在routing mode.所以如果把一个网段加入,就用ip router isis命令.好了,问题是,如果我不要这个interface收送isis routing update,但是又要这个interface所属的网段要加入ISIS的routing之中,那要怎么做??答案就是用passive- interface.当然你也可以用redistribute connected的方式来做.但就是不如passive-interface的方式 来的简洁,或者,你也可以笨笨的在interface下ip router isis,然后用distribute-list来阻止.不过,玩routing protocol玩到这个程度,你还是不要去考CCIE比较好.那个考试费用省下来可以多吃见顿好的了.

===========================================================

RIP和IGRP不用和邻接路由器建立邻接关系,当配置了'passive interface'后,该路由器仅从相应的接口收听相应的路由协议包,而不发送路由协议包。

'passive interface'对OSPF,EIGRP则意义不大,因为这两种路由协议都要建立邻接关系。路由包不容许发送,邻接关系就建立不起来。因此在OSPF,EIGRP中,这条命令很少用到。

===========================================================

  使用passive-interface命令有两种方式。

指定某个接口成为被动模式,这意味着它将不会发出路由更新。

首先将所有接口设为被动模式。然后在那些你打算发送路由更新的接口上,使用no passive-interface命令。

让我们来对两种方式各看一个示例。注:两个事例都假定你已经预先添加了对路由协议是被动接口的网络(使用网络命令)。

让一个接口变成被动模式,只需要对接口进行指定。这里是一个示例:

Router(config)# router rip Router(config-router)# passive-interface Ethernet 0/0

要将所有接口设为被动,然后单独打开某个接口,仅需使用passive-interface default和no passive-interface命令(在IOS 12.0中介绍)。下面是个示例:

Router(config)# router rip Router(config-router)# passive-interface default Router(config-router)# no passive-interface Serial 0/0