BGP

实验:BGP的简单配置

实验拓扑:

参照拓扑:

实验要求:

R1的回环接口能与R5的回环接口进行正常通讯

实验配置:

一、基本配置完成后,在R2、R3、R4上发布ospf,不发布12.12.12.0/24和45.45.45.0/24的网段(如果这两个网段发布后,R2、R3、R4的路由表中都有这两个网段的路由信息,实验显得没有意义)

二、在R1和R2上配置bgp,其命令如下:

R1:

router bgp 1

bgp router-id 1.1.1.1

neighbor 12.12.12.2 remote-as 2

R2:

router bgp 2

bgp router-id 2.2.2.2

neigh 12.12.12.1 remote-as 1

如图,当两边都配置了bgp之后,如框中所示,最初显示为Idle(空闲),因为bgp协议很庞大,所以在bgp中建立邻居关系,并没有立刻成功,需要一段时间,当确定两边都建立了ebgp邻居关系后,框中显示为0,为数字,即邻居关系建立完成。

三、在R4和R5中配置bgp,其命令如下:

R4:

ip route 5.5.5.0 255.255.255.0 s1/1

router bgp 2

bgp router-id 4.4.4.4

neig 5.5.5.5 remote-as 3

neig 5.5.5.5 update-so lo1

neig 5.5.5.5 ebgp-mul

exi

R5:

ip route 4.4.4.0 255.255.255.0 s1/0

router bgp 3

bgp router-id 5.5.5.5

neigh 4.4.4.4 remote-as 2

neig 4.4.4.4 update-sou loo1

neigh 4.4.4.4 ebgp-mult

exi

因为配置bgp的不是直连接口是回环接口,所以需要发布自己的回环接口ip,让邻居收到,但是仍然没有成功建立邻居关系。这是因为选择的是回环接口,而从本地路由器的回环接口与邻居路由器的回环接口建立邻居关系,则比直连接口复杂。需要更新源的回环接口,从而选择最佳路径。并且默认的跳数为1,所以需要定义跳数,使bgp路由器建立ebgp关系。

当配置了neig 5.5.5.5 update-so lo1更新源的回环接口地址,neig 5.5.5.5 ebgp-mul定义跳数后,R4和R5的ebgp邻居关系成功建立。

四、在R2和R4中配置bgp,其命令如下:

R1:

router bgp 1

net 1.1.1.0 mask 255.255.255.0

R2:

router bgp 2

neigh 4.4.4.4 remote-as 2

neigh 4.4.4.4 update-sou lo1

neigh 4.4.4.4 next-hop-self

R4:

router bgp 2

neig 2.2.2.2 remote-as 2

neig 2.2.2.2 update-sour lo1

neig 2.2.2.2 next-hop-sel

当没有定义下一跳时,虽然能够建立ibgp邻居关系,但是当R1宣告了自己的ip网段后,R4并不能学习到。

在R2、R4上定义了下一跳,强制自己成为下一跳地址,则避过了R3,使R4能够学习到R1的ip,同理,如果R5也宣告了自己的ip网段,R2也能通过定义下一跳学习到R5的ip网段。

五、R1和R5的会换地址进行互相通讯,其截图如下:

R5的路由表中拥有R1的回环接口地址,但是并不能进行正常通讯,这时在R1上查看它的路由表,则发现R1的路由表里并没有R5的回环接口地址信息,所以很好理解为什么R1和R5的回环接口不能进行正常通讯。从上述步骤中,漏掉了一点,R5的回环接口ip并没有宣告,所以,需要在R5上通过bgp通过net 5.5.5.0 mask 255.255.255.0宣告5.5.5.5

当在R5上宣告了它的回环地址后,发现仍不能进行正常通讯。通过show ip route命令把所有的路由器查看一遍后,发现,R3并没有学习到R1和R5的回环地址。

为什么会这样呢?

这就引出了一个术语,路由黑洞。在控制层路由黑洞是不存在的,因为R2和R4能够成功建立ibgp邻居关系,而建立这个关系,需要经过R3,并且在R2和R4定义了下一跳之后,两者也是通过R3学习到R5和R1的会换地址,所以说,在控制层面,路由黑洞并不存在。但是因为R3并没有运行bgp协议,所以R3学习不到R1和R2的回环地址。所以无法传输数据,阻断了R1和R5的正常通信。这就是数据层面的路由黑洞。

解决路由黑洞的方法有三种:

一、物理线路full mesh(基本不用太贵了)

二、BGP邻居的full mesh (这种方式最多,就是让R3也运行BGP)

三、将BGP重发布到IGP中(只限于LAB,各位可以想象一下可不可能把公网上面的BGP全部重发布到你的本OSPF地来,这样的话内网瞬间就垮了)

六、通过BGP邻居的full mesh解决路由黑洞,从而使R1和R5进行回环地址的通讯,其命令如下:

R2:

router bgp 2

neigh 3.3.3.3 remote-as 2

neigh 3.3.3.3 update-sou lo1

neigh 3.3.3.3 next-hop-self

R4:

router bgp 2

neig 3.3.3.3 remote-as 2

neig 3.3.3.3 update-sour lo1

neig 3.3.3.3 next-hop-sel

R3:

router bgp 2

bgp router-id 3.3.3.3

neigh yinming peer-group

neigh yinming remote-as 2

neigh yinming update-sou lo1

neigh yinming next-hop-se

neigh 2.2.2.2 peer-group yinming

neigh 4.4.4.4 peer-group yinming

当没有配置更新源的回环接口的地址时,便会出先如框中所显示的“*”号,这是因为“*”代表的是次优路径,而bgp只会走最优路径,所以哪怕R3的路由表中拥有R1和R5的回环地址信息,也不能进行正常通讯。

而且也需要重新定义下一跳,因为R3已经运行bgp协议,需要更新R3源的回环地址,从而使R3也学习到R1和R5所宣告的路由信息。

如图所示,实验成功!!!!

你可能感兴趣的:(职场,休闲,bgp入门实验)