[AR1]bgp 100
[AR1-bgp]router-id 1.1.1.1
[AR1-bgp]peer 12.1.1.2 as-number 200
[AR2]bgp 200
[AR2-bgp]peer 5.1.1.1 as-number 200
[AR2-bgp]peer 5.1.1.1 connect-interface LoopBack0
[AR2-bgp]peer 5.1.1.1 next-hop-local
[AR6]bgp 300
[AR6-bgp]peer 5.1.1.1 as-number 200
[AR6-bgp]peer 5.1.1.1 ebgp-max-hop 2
[AR6-bgp]peer 5.1.1.1 connect-interface LoopBack0
AR1上:
[AR1]bgp 100
[AR1-bgp]peer 12.1.1.2 as-number 200
AR2上:
[AR2]bgp 200
[AR2-bgp]peer 12.1.1.1 as-number 100
[AR2-bgp]peer 5.1.1.1 as-number 200
[AR2-bgp]peer 5.1.1.1 connect-interface LoopBack 0
[AR2-bgp]peer 5.1.1.1 next-hop-local
PS:下一跳指本地命令,只对EBGP学到的路由生效,对IBGP学到的路由不生效。
如果路由器没有EBGP邻居。还需要配置下一跳指我吗?
AR5上:
[AR5]bgp 200
[AR5-bgp]peer 2.1.1.1 as-number 200
[AR5-bgp]peer 2.1.1.1 connect-interface LoopBack 0
[AR5-bgp]peer 2.1.1.1 next-hop-local
[AR5-bgp]peer 6.1.1.1 as-number 300
[AR5-bgp]peer 6.1.1.1 connect-interface LoopBack 0
[AR5-bgp]peer 6.1.1.1 ebgp-max-hop 2
PS:EBGP之间TTL=1,若TTL大于1的则需要通过更改跳数实现
AR6上:
[AR6]bgp 300
[AR6-bgp]peer 5.1.1.1 as-number 200
[AR6-bgp]peer 5.1.1.1 connect-interface LoopBack 0
[AR6-bgp]peer 5.1.1.1 ebgp-max-hop 2
[AR1]bgp 100
[AR1-bgp]network 11.1.1.1 255.255.255.255
[AR6-bgp]network 66.1.1.1 255.255.255.255
display ip routing-table protocol bgp
测试黑洞现像:
可以明显看出AR1和AR6的LookBack1无法通讯,原因在于未将整个BGP做全互联。
[AR2-bgp]peer 3.1.1.1 as-number 200
[AR2-bgp]peer 3.1.1.1 connect-interface LoopBack 0
[AR2-bgp]peer 3.1.1.1 next-hop-local
[AR2-bgp]peer 4.1.1.1 as-number 200
[AR2-bgp]peer 4.1.1.1 connect-interface LoopBack 0
[AR2-bgp]peer 4.1.1.1 next-hop-local
[AR5-bgp]peer 3.1.1.1 as
[AR5-bgp]peer 3.1.1.1 as-number 200
[AR5-bgp]peer 3.1.1.1 next-hop-local
[AR5-bgp]peer 4.1.1.1 as-number 200
[AR5-bgp]peer 4.1.1.1 connect-interface LoopBack 0
[AR5-bgp]peer 4.1.1.1 next-hop-local
[AR3]bgp 200
[AR3-bgp]peer 2.1.1.1 as-number 200
[AR3-bgp]peer 2.1.1.1 connect-interface LoopBack 0
[AR3-bgp]peer 5.1.1.1 as-number 200
[AR3-bgp]peer 5.1.1.1 connect-interface LoopBack 0
[AR4]bgp 200
[AR4-bgp]peer 2.1.1.1 as-number 200
[AR4-bgp]peer 2.1.1.1 connect-interface LoopBack 0
[AR4-bgp]peer 5.1.1.1 as-number 200
[AR4-bgp]peer 5.1.1.1 connect-interface LoopBack 0
全互联后再测试连通性:
重新对6台路由器进行配置
AR1和AR2 AR5和AR6通过物理口建立邻居
[AR1]bgp 100
[AR1-bgp]peer 12.1.1.2 as-number 200
[AR2]bgp 200
[AR2-bgp]peer 12.1.1.1 as-number 100
[AR5]bgp 200
[AR1-bgp]peer 56.1.1.6 as-number 300
[AR6]bgp 300
[AR2-bgp]peer 56.1.1.5 as-number 200
AR2和AR3 AR3和AR4 AR3和AR5 通过物理口建立邻居
[AR2-bgp]peer 3.1.1.1 as-number 200
[AR2-bgp]peer 3.1.1.1 connect-interface LoopBack 0
[AR2-bgp]peer 3.1.1.1 next-hop-local
[AR3-bgp]peer 4.1.1.1 as-number 200
[AR3-bgp]peer 4.1.1.1 connect-interface LoopBack 0
[AR3-bgp]peer 5.1.1.1 as-number 200
[AR3-bgp]peer 5.1.1.1 connect-interface LoopBack 0
[AR4-bgp]peer 3.1.1.1 as-number 200
[AR4-bgp]peer 3.1.1.1 connect-interface LoopBack 0
[AR5-bgp]peer 3.1.1.1 as-number 200
[AR5-bgp]peer 3.1.1.1 connect-interface LoopBack 0
[AR5-bgp]peer 3.1.1.1 next-hop-local
记得在R1上宣告11.1.1.1 R6上宣告66.1.1.1
注:若采用全互联方式,应全部互指邻居,本处采用RR方式
配置到当前位置后,在R2和R5上能够看到:
R2上: 没有66.1.1.1的路由
R5上: 没有11.1.1.1的路由
PS:原因在于IBGP水平分割,防止路由黑洞,IBGP学习到的路由,不会传递给其他IBGP邻居,R5将R6的66.1.1.1传递给IBGP邻居R3后,R3不会将66.1.1.1传递给R2,同理R3也不会将11.1.1.1传递给R5
指定Client,让R2和R5可以学习到路由
[AR3-bgp]peer 5.1.1.1 reflect-client
AR4无法收到AR2传过来的路由 非非不传
此时就可以查看路由中的两个参数 (防环)
所有设备均学习到路由,仅需R3上全部打上reflect-client即可
[AR3-bgp]peer 2.1.1.1 reflect-client
[AR3-bgp]peer 4.1.1.1 reflect-client
测试连通性: