
完成全部配置后,最终需要在 AR1 上使用带源 ping 命令验证与 AR5 上 192.168.2.1 的连通性,这是检验配置成功与否的关键一步。
ping -a 192.168.1.1 192.168.2.1
如果能够 ping 通,则说明跨自治系统的 BGP 路由已经成功传递。
配置思路详解
要实现上述拓扑中两个不同自治系统(AS 100 和 AS 200)间的网络互通,并且在不使用联盟(Confederation)的情况下,我们借助 OSPF 打通 AS 200 内部网络,并利用路由反射器(RR)来规避 BGP 的水平分割规则。主要配置步骤和注意事项如下:
- 基础配置:为所有路由器的物理接口、回环口(Loopback)配置 IP 地址,并设置 BGP 的
router-id。
- AS 200 内部打通:在 AS 200 内部(R2, R3, R4, R5),将所有互联的物理接口和用于建立 iBGP 邻居的 Loopback 接口地址,通过
OSPF 协议进行宣告,确保内部路由可达。这是一个常见的 网络/系统 层面的 IGP 配置。
- 建立 eBGP 邻居:在属于不同 AS 的路由器之间(R1 和 R2),使用直连的物理接口 IP 地址建立 eBGP 对等体关系。
- 建立 iBGP 邻居:在 AS 200 内部,各路由器使用 Loopback 接口地址建立 iBGP 全连接或反射关系。这里有一个关键点:
peer ip地址 as-number 和 peer ip地址 connect-interface 命令中使用的 IP 地址,必须都是对端路由器的 Loopback 接口地址,配置时容易混淆。
- 下一跳属性处理:在作为 AS 边界路由器的 R2 上,需要对从 eBGP 邻居(R1)学来的路由,在通告给 iBGP 邻居(R3)时,执行
peer next-hop-local 命令。否则,R3 收到路由的下一跳将是 R1 的接口地址(12.1.1.1),而该地址不在 R3 的 OSPF 路由表中,会导致路由不可达。
- 配置路由反射:为了简化 iBGP 的全连接需求并传递路由,我们让 R3 指定 R4 为它的路由反射器客户端(
peer reflect-client),同时 R4 也需要指定 R5 为其客户端。如果不配置 R4 到 R5 的反射关系,R5 通过 network 宣告的 192.168.2.0/24 路由将无法传递回给 R3 和 R2。
- 发布网络:最后,在 R1 和 R5 的 BGP 进程中,使用
network 命令分别宣告 192.168.1.0/24 和 192.168.2.0/24 网段。
以下是各台路由器的具体配置命令。
R1 配置
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 192.168.1.1 255.255.255.0
#
bgp 100
router-id 1.1.1.1
peer 12.1.1.2 as-number 200
network 192.168.1.0 24
R2 配置
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface LoopBack0
ip address 2.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
#
bgp 200
router-id 2.2.2.2
peer 3.1.1.1 as-number 200
peer 3.1.1.1 connect-interface LoopBack0
peer 12.1.1.1 as-number 100
peer 3.1.1.1 next-hop-local
ospf 1
area 0.0.0.0
R3 配置
interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0
ospf enable 1 area 0.0.0.0
#
interface GigabitEthernet0/0/2
ip address 34.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
#
interface LoopBack0
ip address 3.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
#
bgp 200
router-id 3.3.3.3
peer 2.1.1.1 as-number 200
peer 2.1.1.1 connect-interface LoopBack0
peer 4.1.1.1 as-number 200
peer 4.1.1.1 connect-interface LoopBack0
#
peer 4.1.1.1 reflect-client
#
ospf 1
area 0.0.0.0
R4 配置
interface GigabitEthernet0/0/0
ip address 45.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
#
interface GigabitEthernet0/0/2
ip address 34.1.1.2 255.255.255.0
ospf enable 1 area 0.0.0.0
#
interface LoopBack0
ip address 4.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
#
#
bgp 200
router-id 4.4.4.4
peer 3.1.1.1 as-number 200
peer 3.1.1.1 connect-interface LoopBack0
peer 5.1.1.1 as-number 200
peer 5.1.1.1 connect-interface LoopBack0
peer 5.1.1.1 reflect-client
#
ospf 1
area 0.0.0.0
R5 配置
interface GigabitEthernet0/0/0
ip address 45.1.1.2 255.255.255.0
ospf enable 1 area 0.0.0.0
#
interface LoopBack0
ip address 5.1.1.1 255.255.255.0
ospf enable 1 area 0.0.0.0
#
interface LoopBack1
ip address 192.168.2.1 255.255.255.0
#
bgp 200
router-id 5.5.5.5
peer 4.1.1.1 as-number 200
peer 4.1.1.1 connect-interface LoopBack0
network 192.168.2.0 24
#
#
ospf 1
area 0.0.0.0
通过以上配置,我们完成了一个典型的、不使用联盟的跨域 BGP 网络搭建,其中关键点在于 iBGP 邻居的建立方式、下一跳属性的修正以及路由反射器的合理部署。希望这个实例能帮助你更深入地理解 BGP 在实际网络中的运作方式。如果你想深入探讨更多网络协议或配置案例,欢迎访问 云栈社区 与其他开发者交流。
|