distribute-list(分发列表)用于控制路由更新的一个工具,只能过滤路由信息,不能过滤LSA。因此分发列表在距离矢量(RIP、EIGRP)路由协议中使用,无论是in或者是out方向,都能正常的过滤路由。但对于链路状态协议(ospf、isis),路由器之间传递的消息不再是路由信息了,而是LSA,而分发列表是无法对LSA进行过滤的。需要结合ACL使用,所以使用场景受限。
如果将access-list应用到distribute-list,则可以用来允许、拒绝路由选择更新。
实验如下:
distribute-list(分发列表)控制路由更新、使用_第1张图片

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大类网络段)
distribute-list(分发列表)控制路由更新、使用_第2张图片

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 段被阻止了。
distribute-list(分发列表)控制路由更新、使用_第3张图片
distribute-list(分发列表)控制路由更新、使用_第4张图片

另一种方法是在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)