在某些情况下,有些路由器不一定要接收到所有的路由更新,此时我们通过不同的方法来设置
- passive-interface :设置被动接口,只接收路由更新,不发送路由更新,这在RIP中很有用,但在EIGRP与OSPF中配置了被动接口将阻止路由器之间建立毗邻关系,因为它会阻止hello更新。
- distribute-list 可以很好的解决这类问题,而且还不阻止毗邻关系的建立。
下面我们做一个实验,在R1、R2、R3、R4上配置RIP协议,但阻止R4接收到10.4.4.0 的路由信息
可以有两种方法配置:
- 方法1:在R3上配置禁止在s0/0接口上外发10.4.4.0/24的路由
- access-list 10 deny 10.1.1.0 0.0.0.255
- access-list 10 permit any
- router rip
- network 10.0.0.0
- distribute-list 10 out Serial0/0
- 方法2:在R4上配置禁止接收10.4.4.0/24的路由
- access-list 10 deny 10.1.1.0 0.0.0.255
- access-list 10 permit any
- router rip
- network 10.0.0.0
- distribute-list 10 in
Distribute-list命令用法
distribute-list有两种,一种是基于out方向的;一种是基于in方向的;
out方向:
distribute-list {access-list-number | name } out
in方向:
distribute-list [access-list-number | name ] | [route-map map-tag] in [interface-type interface-number]
Distribute-list在距离矢量路由协议与链路状态协议的不同用法
一. 距离矢量协议Rip Eigrp
因为距离矢量协议直接传递路由信息,会在运行协议进程接口的in 和out方向控制相应协议路由信息
Distribute-list in在协议接口的in方向控制路由信息,只改变自己,其它路由器不改变
Distribute-list out在协议接口的out方向控制路由信息,自己不改变,其它路由器会改变。
二. 链路状态协议Ospf Is-Is
因为链路状态协议传递的是LSA(LSU)信息,在每台路由器同步LSA(LSU)后每台路由器根据database数据库信息运行SPF算法再得到路由表信息。在接口in 和out方向不直接传递路由信息.
但5类LSA类似距离矢量协议会受影响所以5类的外部路由会被distribute-list发生改变.
如果是一个纯的链路状态协议的网络(ospf)没有5类的LSA:
Distribute-list out将不起任何作用(其它路由器不受改变),但会在不同进程之间起作用.
如: R2(config-router)#distribute-list 1 out ospf 1(没做实验验证)
Distribute-list in 不改变ospf database的信息,但会过滤相应的生成的路由信息
本文转自zcm8483 51CTO博客,原文链接:http://blog.51cto.com/haolun/993176