passive-interface 总结整理


用最简单的话来说,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比较好.那个考试费用省下来可以多吃见顿好的了.

哈哈,高手就是高啊,在这里想说一下PASSIVE INTERFACE的几个命令:

1 passive interface

2 no passive interface

ERGIP RGIP OSPF RIP都在接 ROUTING MODE

IS-IS 在接口模式下面

   在rip中passive-interface 的作用是使路由器只接受更新不发送更新,正如上图的实验,如果用rip的话,
在R2的s1/1接口下配被动接口,则r3学不到R1 R2的路由,而R2 R1能学到R3的.
但若用eigrp ,同样在R2的s1/1接口下配被动接口,则r3学不到R1 R2的路由,而R2 R1也学不到R3的.
 
如果在路由器上配置某种协议 ,如果你想 不让某个端口参与进去,就可以在路由配置模式下输入passive interface 命令,这个命令的作用是防止路由更新通过这个接口发送出去。

如果要把所有的接口配置为这种模式,可以输入passive-interface default命令,可以用no passive-interface取消。

4.启用passive-interface命令可以禁用一些不需要接收和转发路由信息的端口。建议对于不需要路由的端口,启用passive-interface。但是,在RIP协议是只是禁止转发路由信息,并没有禁止接收。在OSPF协议中是禁止转发和接收路由信息。

! Rip中,禁止端口0/3转发路由信息

Router(Config)# router Rip

Router(Config-router)# passive-interface eth0/3

!OSPF中,禁止端口0/3接收和转发路由信息

Router(Config)# router ospf 100

Router(Config-router)# passive-interface eth0/3

Passive-interface命令进行带宽控制

可能很多人对配置动态路由器协议还不是特别的了解,这里我们主要介绍动态路由器协议中Passive-interface命令,管理网络带宽正变得越来越重要。在没有其他路由器的网络上,对网络接口上流出的广播通信进行路由毫无意义。这对你的网络带宽和路由器资源使用来说,其效率都是非常低下的。让我们来看看如何通过使用passive-interface命令,来更好的进行带宽控制。

要想正确的配置动态路由器协议,passive-interface命令绝对不可不知。不过,如果你不是在使用动态路由器协议(比如OSPF,EIGRP,或者RIP)的话,那你倒也用不到这个命令。passive-interface命令仅仅工作于路由器配置模式(Router Configuration Mode)。当你看到如下所示的命令行提示符时,那你就知道自己已经进入该模式了:Router(config-router),你可以使用passive-interface命令告知动态路由器协议不要通过该接口发送网络广播。这个命令可以对所有的IP动态路由器协议生效,仅BGP除外。

不过,该命令在OSPF上工作,和在IS-IS上有点不同。用OSPF,被动指定的网络接口作为stub(末节区域)出现,并不发送和接收任何路由更新。使用RIP,IGRP,以及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。

让我们来看一个简单的网络,专用于示范该命令的深层应用。假设你有2台路由器,通过一个T1回路相连,且路由器均运行RIP.每个路由器连一个局域网,电脑通过以太网卡连上局域网。你需要每台路由器都了解对方路由器的网络,对吧?这也是为什么要使用动态路由协议的目的所在。但是在局域网上,并无其他路由器可以让这两台路由器交换路由更新。在这种情况下,你为什么会想每30秒在局域网接口广播一次路由更新,一直持续呢?答案是你不想。这是一种对局域网带宽和电脑CPU时间的浪费。如果它只是一个小更新,它的确不会引起什么问题,但如果你能避免,何必发送这种毫无必要的通信呢?

那怎么才能消除这种毫无必要的通信呢?在每台路由器上,进入RIP配置模式(RIP Configuration mode),并使用passive-interface命令,停止在局域网端口上发送路由更新。下面是示例:Router(config)# router RIP Router(config-router)# passive-interface Ethernet 0/0。这个,当然,假设你已经预先使用网路命令配置好了打算广播的网络。下面是个事例:Router(config-router)# network 1.0.0……0 (the Serial network),Router(config-router)# network 2.0.0.0 (the Ethernet network)。

要记住,这意味着系统通过连到另一台路由器的串行接口,将对你设置的两个网络进行广播。另外,这也没有阻止你的路由器从局域网络接口(使用RIP)接收路由更新。如果另一台路由器正巧也在局域网上,并向你的路由器发送了更新,它依旧可以收到这些更新。

OSPF下的passive-interface命令详解

  passive-interface只能用在动态路由协议中,RIP\EIGRP\OSPF等等中都可启用,使用passive-interface命令可以使动态路由协议不通过该接口发送网络通告,这里我只介绍在OSPF(目前最常用的IGP)中如何正确使用passive-interface。

  passive-interface的启用需要进入路由协议配置模式,也就是说,只有当你看到提示符为Router(config-router)#时才可以配置。

  在OSPF中启用了passive-interface的接口,则不会发送路由协议的数据包(如:Hello、DBD、LSU),这样即无法与其他路由器形成邻居关系,既然无法建立邻居,也就不能交换路由更新了。

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

1、让一个接口变成被动模式,只需要对接口进行指定。↓举例↓
Router(config)# router ospf 1
Router(config-router)# passive-interface Ethernet 0/1 //将E 0/1口配置成passive-interface模式

2、将所有接口设为被动,然后单独打开某个接口,仅需使用passive-interface default和no passive-interface命令。↓举例↓
Router(config)# router ospf 1
Router(config-router)# passive-interface default //所有接口均启用passive-interface
Router(config-router)# no passive-interface Serial 0/0 //排除S 0/1口