如何实际测试各种 BGP 路由过滤方法的顺序?

网络工程 bgp
2021-07-10 22:46:35

下面是过滤方法:
1.filter列表
2.distribute列表/前缀列表
3.route地图

Cisco 文档是相互矛盾的,我遇到过各种相互矛盾的帖子:

我想自己测试一下,但我不知道如何去做。

在此处输入图片说明

在此处输入图片说明

2个回答

我认为正确的做法是同时应用所有方法。并为输入路由使用越来越大的掩码。

上述每种方法都有一个前缀或带有统计信息的 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 互连路由器。他们会被过滤器挡住

使用科学的方法。

创建一个过滤器类型图表,如下所示:

-------------------------
| X | A | B | C | D | E |
-------------------------
| A | X |   |   |   |   |
-------------------------
| B | X | X |   |   |   |
-------------------------
| C | X | X | X |   |   |
-------------------------
| D | X | X | X | X |   |
-------------------------
| E | X | X | X | X | X |
-------------------------
  1. 在两台路由器之间使用 BGP 建立实验室,并确保其正常工作并共享前缀。那是你的控制。保存配置以便您可以恢复控制。
  2. 添加一种过滤器类型 (A),并观察结果。
  3. 再添加一种过滤器类型 (B),然后观察结果。注意哪个优先。用结果在 A 和 B 的交叉点标记图表。
  4. 恢复您的控制配置。
  5. 重复步骤 2(过滤器类型 A)。
  6. 使用另一种过滤器类型 (C) 重复步骤 3。用结果在 A 和 C 的交叉点标记图表。
  7. 恢复您的控制配置。
  8. 重复步骤 2(过滤器类型 A)。
  9. 使用另一种过滤器类型 (D) 重复步骤 3。用结果在 A 和 D 的交叉点标记图表。
  10. 恢复您的控制配置。
  11. 重复步骤 2(过滤器类型 A)。
  12. 使用另一种过滤器类型 (E) 重复步骤 3。用结果在 A 和 E 的交叉点标记图表。

此时,您将了解过滤器类型 A 与其他每种过滤器类型之间的关系。

恢复您的控制配置。

与 C 型相比,对 B 型过滤器重复步骤 2 和 3。

恢复您的控制配置。

对过滤器类型 B 与类型 D 重复步骤 2 和 3。

恢复您的控制配置。

与 E 型相比,对 B 型过滤器重复步骤 2 和 3。

恢复您的控制配置。

对过滤器类型 C 和类型 D 重复步骤 2 和 3。

恢复您的控制配置。

与 E 型相比,对 C 型过滤器重复步骤 2 和 3。

恢复您的控制配置。

与 E 型相比,对 D 型过滤器重复步骤 2 和 3。

最后,您将知道哪些过滤器类型优先于其他过滤器类型。


不要将分发列表与前缀列表或路由映射重新分发混淆。