一、实验拓扑
二、实验需求
除R5的5.5.5.0环回外,其他所有的环回均可互相访问
三、实验步骤
首先配置IP,配置好IBGP
建立直连的EBGP邻居关系
R1和R2建立直连的EBGP邻居关系
[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.1.1.2 as-number 2
要建的话双方都要建下面配置R2
[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1
R2和R3建立IGBP
配置
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 as-number 2[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 2
这个时候邻居关系没有建成
因为R2和R3的环回建邻,目标IP是对方的环回但是源是自己的接口IP,对方回包的时候目标是你的环回,但是源是3的接口IP,对不上,所以要改,源改成环回接口
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
多条物理链路时建立EBGP邻居
同理R3和R4之间也是一样
直连的EDGP上存在多条物理链路时R4和R5之间相连
然后想要使用R4和R5之间的两根线,这个情况和R2、R3之间真实情况一样了,所以也用环回来建邻居,但是首先需要R4的环回和R5的环回是通的,所以需要先配置两条静态路由
[r4]ip route-static 5.5.5.0 24 45.1.1.2
[r4]ip route-static 5.5.5.0 24 54.1.1.2[r5]ip route-static 4.4.4.0 24 45.1.1.1
[r5]ip route-static 4.4.4.0 24 54.1.1.1
然后用环回开始建邻
[r4]bgp 2
[r4-bgp]peer 5.5.5.5 as-number 3
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0[r5]bgp 3
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 2
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0
这个配置配置完后它的配置还是不成功,原因是因为,当时设计的时候,这个IBGP的包的ttl是255
EBGP的ttl是1,这个是保障R4和R5之间是直连,你可以在R4和R5之间直接建邻,但是不可以用环回,因为只有1的TTL跳一下就死了。要想用环回建邻,就需要修改TTL
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2
BGP宣告
仅以1.1.1.0这个网段作为例子
[r1-bgp]network 1.1.1.0 24
[r1-bgp]display bgp routing-table 查看BGP路由
[r2-bgp]peer 3.3.3.3 next-hop-local
然后再给2和4建邻
[r2-bgp]peer 4.4.4.4 as-number 2
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r2-bgp]peer 4.4.4.4 next-hop-local
[r4]bgp 2
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
然后宣告4和3的环回 ,注意修改下一跳
然后当R5传递给R4还是会出现问题
因为写了一条去往5.5.5.5的静态,然后就是产生了一个悖论,我要和5.5.5.5建邻,所以我写了一条去往5.5.5.0的静态,然后把邻居建立起来以后你又给我传递一条5.0路由
要是硬想要传5.5.5.5路由那就修改静态
[r4]undo ip route-static 5.5.5.0 24 45.1.1.2
[r4]ip route-static 5.5.5.5 32 45.1.1.2[r5]undo ip route-static 4.4.4.0 24 45.1.1.1
[r5]ip route-static 4.4.4.4 32 45.1.1.1
测试截图