我试图确保我自己的头脑中这一点是正确的,即 Cisco 配置将如何给出以下使用 BGP 的路由反射和集群的示例。
如果您有三个 AS 1、2 和 3,其中 AS1 中有一个路由器(路由器 A),AS2 中有一个路由器(路由器 B、C、D 和 E),AS3 中有一个路由器(路由器 F),则使用以下 IP 布局。
AS1 路由器反射器集群(id 10) ##启动集群 路由器 B IP(路由器 E 链路):192.168.1.2/32 网络:111.111.111.0/24 路线C IP(路由器 E 链路):192.168.2.2/32 IP(路由器 F 链接):10.1.1.2/32 网络:222.222.222.0/24 路由器 E IP(路由器 C 链路):192.168.2.1/32 IP(路由器 B 链路):192.168.1.1/32 IP(路由器 D 链路):192.168.3.2/32 结束集群 路由器D IP(路由器 E 链路):192.168.3.1/32 IP(路由器 A 链路):10.2.2.2/32 AS2 路由器 A IP(路由器 D 链路):10.2.2.1/32 AS3 路由器F IP(路由器 C 链路):10.1.1.1/32
然后,在集群中配置路由器 B、C 和 E,并将路由器 B 和 C 配置为路由反射器客户端。
下面的配置对于路由器 B、C 和 E 是否正确,或者我是否需要在每个路由器上指定 cluster-id?
此外,我认为所有其他路由器都会像往常一样使用 BGP 和正确的对等体(如果是网状解决方案),这是正确的。如果是这样,您将如何配置路由器 D 来宣布路由器 E 正在从路由反射器客户端处理的路由?
Router_B(config)# bgp 2
Router_B(config-router)# neighbor 192.168.1.1 remote 2
Router_B(config-router)# network 111.111.111.0 mask 255.255.255.0
Router_C(config)# bgp 2
Router_C(config-router)# neighbor 192.168.2.1 remote 2
Router_C(config-router)# network 222.222.222.0 mask 255.255.255.0
Router_E(config)# bgp 2
Router_E(config-router)# cluster-id 10
Router_E(config-router)# neighbor 192.168.1.2 remote 2
Router_E(config-router)# neighbor 192.168.1.2 route-reflector-client
Router_E(config-router)# neighbor 192.168.2.2 remote 2
Router_E(config-router)# neighbor 192.168.2.2 route-reflector-client
Router_E(config-router)# neighbor 192.168.3.1 remote 2
提前致谢。
答案1
好吧,你把问题复杂化了。你甚至不需要考虑只使用 4 个路由器进行路由反射。只要让它们全部相互对等即可。但是:
需要牢记的是,路由器 B 和 C 并不“知道”它们是路由反射器客户端。但是路由器 E 知道这一点。因此,在这种情况下,您只需将路由器 D 与路由器 E 对等连接(常规 IBGP,如 192.168.3.1),仅此而已。
当路由器配置了面向 IBGP 对等体的属性“路由反射器客户端”时,这意味着“我将把所有这台路由器的路由传递给我的所有其他 IBGP 邻居”,而通常情况下,每台路由器只会发送自己的自己的到其他 IBGP 邻居的路由。
即,对于路由器 A(EBGP 邻居路由器 D),D 将只对 EBGP 邻居执行其正常策略 - 它将发送每一个它所拥有的 IBGP 路由,而不仅仅是它自己的路由。它们是从 B 还是 C 通过 E 反射并不重要 - 它们如何到达 D 并不重要。