CISCO BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

如上拓扑所示  练习BGP基本配置

首先建立物理连接

所有接口地址用12.1.1.1 255.255.255.0············以此类推

环回口地址为:1.1.1.1 255.255.255.255············以此类推

先建立IGP OSPF


R1上:

R1config)#router ospf 110

R1config-router)#router-id 1.1.1.1

R1config-router)#net 1.1.1.1 0.0.0.0 area 0

R1config-router)#net 12.1.1.0 0.0.0.255 area 0 

R1config-router)#net 13.1.1.0 0.0.0.255 area 0


R2上:

R2config)#router ospf 110

R2config-router)#router-id 2.2.2.2

R2config-router)#net 2.2.2.2 0.0.0.0 area 0

R2config-router)#net 12.1.1.0 0.0.0.255 area 0


R3上:


R3config)#router ospf 110

R3config-router)#router-id 3.3.3.3

R3config-router)#net 3.3.3.3 0.0.0.0 area 0

R3config-router)#net 13.1.1.0 0.0.0.255 area 0

查看路由表确定IGP邻居建立成功


再建立EBGP邻居:

首先是R4R2


R4


R4#sh run | b r b


router bgp 4


 no synchronization


 bgp router-id 4.4.4.4


 bgp log-neighbor-changes


 neighbor 2.2.2.2 remote-as 1


 neighbor 2.2.2.2 ebgp-multihop 255


 neighbor 2.2.2.2 update-source Loopback0


 no auto-summary


!


ip route 2.2.2.2 255.255.255.255 Serial0/1


R2


R2#sh run | b r b 


router bgp 1


 no synchronization


 bgp router-id 2.2.2.2


 bgp log-neighbor-changes


 neighbor 4.4.4.4 remote-as 4


 neighbor 4.4.4.4 ebgp-multihop 255


 neighbor 4.4.4.4 update-source Loopback0


 no auto-summary


!


ip http server


ip classless


ip route 4.4.4.4 255.255.255.255 Serial0/1


检查邻居建立是否成功

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)


R3# sh ip bgp summary 

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)


R3R5EBGP邻居建立步骤一样,建立EBGP 邻居时重要注意一点 


必须指定跳数即:neighbor 4.4.4.4 
ebgp-multihop 255 否则邻居关系将建立不成功

 


接下来建立R2R3IBGP邻居


R2config-router)#neighbor nwwolf peer-group (相当于定义一个类)


R2config-router)#neighbor nwwolf remote-as 1


R2config-router)#neighbor nwwolf update-source loo 0


R2config-router)#neighbor nwwolf next-hop-self (必须要填加的)


R2config-router)#neighbor 3.3.3.3 peer-group nwwolf(调用类)


做完之后检查邻居建立情况

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)


到目前为止我们建立了R4R2EBGP邻居,R2R3IBGP邻居,R3R5EBGP邻居


我们来看看现在通告R4的环回口,看看个路由器的路由表情况


通告步骤:


R4config)#router bgp 4


R4config-router)#network 4.4.4.4 mask 255.255.255.255 


CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

为什么会出现“r”的路由呢?对于R2而言4.4.4.4这条路由因该是静态才对啊。

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)


上图可以看出在R34.4.4.4 这条路由是最优的,再去R5上看看

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

通过R5的路由表我们看到4.4.4.4的路由是Ebgp路由。请问现在是否能互相通信呢?我们做测试·····

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

结果如上图,可以看出还不能互相通信~

我们来一起分析原因:首先ping 4.4.4.4 时用的原IP是什么?是否存在回来的路由呢?

默认情况下是R5s0/0,那么我们看看R2上是否存在这条路由

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

很显然没有这条路由,一般情况下我们可以将这条路由通告进IGP中,但是我们的目的是让R4R5的环回口通信 那么我们将R5的环回口通告即可。

R5config)#router bgp 5

R5config-router)#net 5.5.5.5 mask 5.5.5.5 

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

还是迷惑那条静态出现在BGP表里但是却打着“r”。我们去R2上看看

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

再去R4上看看

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

可以看到,5.5.5.5这条路由也是最优的,不用想路由表也有这条路由。那我们想想现在R4R5是否可以通信了呢?测试一下

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

为什么会出现这种现象呢?这也就是比较牛逼的路由黑洞,那我们如何防止路由黑洞呢?


分析一下本实验的路由黑洞产生原因:


首先
R4学到5.5.5.5路由是通过EBGPR2那里学习到的,那么R2又是通过IBGPR3那里学习到。在R2的路由表中去往5.5.5.5的下一跳是3.3.3.3.可是3.3.3.3又是通过ospfR1那里学习到,所以在R23.3.3.3下一跳是1.1.1.1。好了到此为止R4把去往5.5.5.5的数据包送到R2R2又送给R1.可是R1上根本没有去往5.5.5.5的路由啊!因此数据到R1就被丢弃。因此千万不要以为路由表里有的路由都是可以到达的。

 


防止路由黑洞的方法:


1.
物理线路 达到FULL MESH


2.
BGP的邻居达到 FULL MESH


3.
BGP—->IGP LAB)


4.
MPLS


这也就是为什么拓扑中建立R2R1建立IBGP邻居,R1R3建立IBGP邻居的目的了。


R1也能学习到5.5.5.5的路由。


通过方法三来防止路由黑洞的产生


R2R1建立IBGP邻居步骤:


R2config-router)#neighbor 1.1.1.1 peer-group nwwolf

 


R1分别和R2R3建立IBGP邻居步骤:

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

R3建立于R1IBGP关系同上。

这时我们在来ping4.4.4.4

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)

实验总结:

建立EBGP邻居关系是一定要记住一条命令:


neighbor 4.4.4.4 
ebgp-multihop 255 否则邻居关系将建立不成功


建立IBGP邻居时需要注意:更新源 update-source loo 0


                          下一跳:next-hop-self(用来防止学到BGP路由不是最优的)

CISCO <wbr>BGP(EBGP/IBGP)基本配置小结以及如何防止BGP路由黑洞(附实验拓扑)


以上为NWWOLF原创实验小结,有不足之处希望大虾们多多指出。


补充:出现R的路由原因:

这条路由即从IBGP也从IGP学习到,这时就会打r

它不会放进路由表但是会给其他BGP邻居传

 

本文为原创,遵循BY-NC-ND版权协议,转载请附上原文出处链接和本声明。By:【F0rGeEk】

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注