我认为正确的做法是同时应用所有方法。并为输入路由使用越来越大的掩码。
上述每种方法都有一个前缀或带有统计信息的 ACL,可以向您显示命中。因此,相反,而不是像 Ron 上面建议的那样应用每种方法,我宁愿应用指示的所有方法并更改网络掩码,例如 1.1.1.1 从 24 到 16 到 8
filter-list --will permit 1.0.0.0/8(使这条路由来自另一个 AS 并按 AS 过滤它,拒绝来自该 AS 的更新)
prefix-list --will permit 1.1.0.0/16
route-map --will许可 1.1.1.0/24
等等
所以通过更改同一路线的掩码,我应该能够测试上述内容。Ron 只是描述了一个消除过程,但没有给出检查结果的实用方法
更新:我测试了上述内容并且有效。使用调试查看更新。您将看到指示每条路由究竟拒绝了什么的消息!不需要如下建议的矩阵测试
router bgp 200
bgp log-neighbor-changes
redistribute connected
neighbor 10.10.10.1 remote-as 100
neighbor 10.10.10.1 prefix-list /16 in
neighbor 10.10.10.1 route-map /24 in
neighbor 10.10.10.1 filter-list 100 in
以及用于测试上述内容的前缀列表和过滤器列表
ip as-path access-list 100 deny _300_
ip as-path access-list 100 permit .*
ip prefix-list /16 seq 5 permit 1.1.0.0/16 le 24
!
ip prefix-list /24 seq 5 permit 1.1.1.0/24
!
ip prefix-list /8 seq 5 permit 1.0.0.0/8 le 24
!
route-map /16 permit 10
match ip address prefix-list /16
!
route-map /24 permit 10
match ip address prefix-list /24
在此拓扑上使用重新分配连接和环回:
R3---R1---R2
(AS300):R3 的 L0 为 1.0.0.0
(AS100):R1'2 L0 为 1.1.0.0 且 L1 为 1.1.1.0
使用 10.10.10.0和 10.10.20.0 互连路由器。他们会被过滤器挡住