用最简单的话来说,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.这是第一路情况.
第三种是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