在以下拓扑图中分别在边界和末端的路由器上观察BGP路由的下一跳属性,通过下一跳自我解决连通性问题。
实验拓扑如下:
在AS65123边界的R3路由器从其他AS接收通告过来的路由时,R3默认会把自己的下一跳原封不动的发送给iBGP邻居。这样,在同一AS内的其他路由器并不能通过eBGP的下一跳地址到达目的。
直接实验,废话不多说,演示整体配置,期间展示没改变下一跳前后对比信息。
R1的基础配置如下:
hostname R1
!
interface Loopback0
ip address 192.168.1.1 255.255.255.255
!
interface Loopback1
ip address 1.1.1.1 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.12.1 255.255.255.0
no sh
!
router eigrp 5
network 0.0.0.0
!
router bgp 65123
network 1.1.1.1 mask 255.255.255.255
neighbor IBGP peer-group
neighbor IBGP remote-as 65123
neighbor IBGP update-source Loopback0
neighbor 192.168.2.2 peer-group IBGP
neighbor 192.168.3.3 peer-group IBGP
!
end
R2的基础配置如下:
hostname R2
!
interface Loopback0
ip address 192.168.2.2 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.12.2 255.255.255.0
no sh
!
interface Ethernet0/1
ip address 10.1.23.2 255.255.255.0
no sh
!
router eigrp 5
network 0.0.0.0
!
router bgp 65123
neighbor IBGP peer-group
neighbor IBGP remote-as 65123
neighbor IBGP update-source Loopback0
neighbor 192.168.1.1 peer-group IBGP
neighbor 192.168.3.3 peer-group IBGP
!
end
R3的基础配置如下:
hostname R3
!
interface Loopback0
ip address 192.168.3.3 255.255.255.255
!
interface Ethernet0/0
ip address 10.1.23.3 255.255.255.0
no sh
!
interface Ethernet0/1
no sh
!
interface Ethernet0/1.1000
encapsulation dot1Q 1000
ip address 100.64.34.3 255.255.255.248
!
router eigrp 5
network 10.1.23.3 0.0.0.0
network 192.168.3.0
redistribute static metric 10000 10 255 1 1500
!
router bgp 65123
bgp listen range 192.168.0.0/22 peer-group IBGP
bgp listen range 172.16.0.0/21 peer-group EBGP
neighbor IBGP peer-group
neighbor IBGP remote-as 65123
neighbor IBGP update-source Loopback0
neighbor IBGP next-hop-self
neighbor EBGP peer-group
neighbor EBGP remote-as 65400
neighbor EBGP ebgp-multihop 2
neighbor EBGP update-source Loopback0
!
ip route 0.0.0.0 0.0.0.0 100.64.34.4
!
end
R4的基础配置如下:
hostname R4
!
interface Loopback0
ip address 172.16.4.4 255.255.255.255
!
interface Loopback1
ip address 4.4.4.4 255.255.255.255
!
interface Ethernet0/0
no sh
!
interface Ethernet0/0.1
encapsulation dot1Q 1000
ip address 100.64.34.4 255.255.255.248
!
router bgp 65400
network 4.4.4.4 mask 255.255.255.255
neighbor 192.168.3.3 remote-as 65123
neighbor 192.168.3.3 ebgp-multihop 2
neighbor 192.168.3.3 update-source Loopback0
!
ip route 192.168.0.0 255.255.224.0 100.64.34.3
!
end
没在R3上修改下一跳自我时的BGP表(直接看R2和R1,因为R3的属性修改,它会影响的是全网互联的邻居):
在R3上修改完吓一跳自我后的BGP表项为:
以上配置使用对等体组配置是为了减少配置量同时减低配置错误率。如果合理的应用as-path过滤列表可以确保只向ISP通告本AS的路由;限制来自或经过某AS的路由进入本AS内部;根据as-path属性对路由做操控。(以上实验拓扑过于简洁,未展示)
在R3的边界路由器实施修改next-hop-self后,查看两个边界和末节端点R4和R1的路由表与可达性连通测试:
在BGP网路中,下一跳作为路由协议的附加属性,可以根据规则设置,也可以由网络管理员根据需求手动自定义;需要注意的是,这是公认必遵属性,并且会作为路由被优选的前提条件以及数据转发的可靠依据。