总结:distribute-list控制的是路由表中的信息
首先理解:in 将改变自己 out将改变别人
一. 距离矢量协议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的信息,但会过滤相应的生成的路由信息