distribute-list(分发列表)用于控制路由更新的一个工具,只能过滤路由信息,不能过滤LSA。因此分发列表在距离矢量(RIP、EIGRP)路由协议中使用,无论是in或者是out方向,都能正常的过滤路由。但对于链路状态协议(ospf、isis),路由器之间传递的消息不再是路由信息了,而是LSA,而分发列表是无法对LSA进行过滤的。需要结合ACL使用,所以使用场景受限。 如果将access-list应用到distribute-list,则可以用来允许、拒绝路由选择更新。 实验如下:
R1> configure terminal interface e 0/1 ip address 12.1.1.1 255.255.255.0 no shutdown interface lo 0 ip address 192.168.0.1 255.255.255.0 interface lo 1 ip address 192.168.1.1 255.255.255.0 interface lo 2 ip address 192.168.2.1 255.255.255.0 interface lo 3 ip address 192.168.3.1 255.255.255.0 exit router eigrp 1 开启eigrp协议、自治系统号AS 1 network 12.1.1.0 0.0.0.255 宣告自身网络号 network 192.168.0.0 0.0.0.255 network 192.168.1.0 0.0.0.255 network 192.168.2.0 0.0.0.255 network 192.168.3.0 0.0.0.255 no auto-summary 关闭自动汇总(不关闭自动汇总、会自动生成A、B、C大类网络段)
R2(config)# 配置 ip 12.1.1.2 23.1.1.2 24.1.1.2 router eigrp 1 network 12.1.1.0 0.0.0.255 network 23.1.1.0 0.0.0.255 network 24.1.1.0 0.0.0.255 no auto-summary R3(config)# 配置 ip 23.1.1.3 router eigrp 1 network 23.1.1.0 0.0.0.255 no auto-summary R4(config)# 配置 ip 24.1.1.4 router eigrp 1 network 24.1.1.0 0.0.0.255 no auto-summary distribute-list 1 in e 3/0 access-list 1 deny 192.168.0.0 0.0.0.255 access-list 1 permit any show ip route 查看路由表 show ip route eigrp 查看eigrp路由表 show ip eigrp neighbors 查看eigrp 邻居表 show ip eigrp topology 查看eigrp 拓扑结构 show ip access-list 查看ACL访问控制列表 通过ping 和查看 结构、发现 192.168.0.0 段被阻止了。
另一种方法是在R2的e 3/0接口执行 distribute-list 1 out e 3/0 (access-list 1 deny 192.168.0.0 0.0.0.255 access-list 1 permit any),这样比上种方法更好,减少了路由条目在R2---->R4链路上的流动 用分布控制列表过滤路由更新,分布控制列表只抑制某些特定的路由不被发送或接受。 格式: 应用于出口路由更新 distribute-list 1 out e 3/0 // 接口或协议 应用于进入路由更新 distribute-list 1 in e 3/0 //都是接口 distribute-list 1 对应 access-list 1 (access-list 1 deny 192.168.0.0 0.0.0.255 access-list 1 permit any)