1、实验拓扑

39、BGP配置实验之基础配置_第1张图片

2、基础配置

R1配置

interface Loopback0

 ip address 1.1.1.1 255.255.255.0

interface Serial0/0

 ip address 13.1.1.1 255.255.255.0

interface Serial0/1

 ip address 12.1.1.1 255.255.255.0

router ospf 110

 router-id 1.1.1.1

 network 1.1.1.0 0.0.0.255 area 0

 network 12.1.1.0 0.0.0.255 area 0

 network 13.1.1.0 0.0.0.255 area 0


R2配置

interface Loopback0

 ip address 2.2.2.2 255.255.255.0

interface Serial0/0

 ip address 24.1.1.2 255.255.255.0

interface Serial0/1

 ip address 12.1.1.2 255.255.255.0

router ospf 110

 router-id 2.2.2.2

 network 2.2.2.0 0.0.0.255 area 0

 network 12.1.1.0 0.0.0.255 area 0


R3配置

interface Loopback0

 ip address 3.3.3.3 255.255.255.0

interface Serial0/0

 ip address 13.1.1.3 255.255.255.0

interface Serial0/1

 ip address 35.1.1.3 255.255.255.0

router ospf 110

 router-id 3.3.3.3

 network 3.3.3.0 0.0.0.255 area 0

 network 13.1.1.0 0.0.0.255 area 0


R4配置

interface Loopback0

 ip address 4.4.4.4 255.255.255.0

interface Serial0/0

 ip address 24.1.1.4 255.255.255.0


R5配置

interface Loopback0

 ip address 5.5.5.5 255.255.255.0

interface Serial0/1

 ip address 35.1.1.5 255.255.255.0


3、BGP邻居建立

IBGP建邻居用环回口,而默认源地址是物理接口,所以在使用环回口建邻居的时候,需要手动指定更新源,例如:neighbor 3.3.3.3 update-source lo 0(单向即可建立邻居,但是一般都是两边都只定更新源)

EBBP建邻居一般用物理接口,若用环回口,要改TTL值,即改为多跳,默认TTL值为1,例如:neighbor 3.3.3.3 ebgp-multihop 2(不指定值默认为255)


R4和R2物理接口建立EBGP邻居

R4配置

router bgp 4

 no synchronization

 bgp router-id 4.4.4.4

 neighbor 24.1.1.2 remote-as 1


R2配置

router bgp 1

 no synchronization

 bgp router-id 2.2.2.2

 neighbor 24.1.1.4 remote-as 4

39、BGP配置实验之基础配置_第2张图片

R2和R3环回口建立IBGP邻居

R2配置

router bgp 1

 neighbor 3.3.3.3 remote-as 1

 neighbor 3.3.3.3 update-source Loopback0


R3配置

router bgp 1

 no synchronization

 bgp router-id 3.3.3.3

 neighbor 2.2.2.2 remote-as 1

 neighbor 2.2.2.2 update-source Loopback0


R3和R5环回口建立EBGP邻居

R3配置

router bgp 1

 neighbor 5.5.5.5 remote-as 5

 neighbor 5.5.5.5 ebgp-multihop 2

 neighbor 5.5.5.5 update-source Loopback0


R5配置

router bgp 5

 no synchronization

 bgp router-id 5.5.5.5

 neighbor 3.3.3.3 remote-as 1

 neighbor 3.3.3.3 ebgp-multihop 2

 neighbor 3.3.3.3 update-source Loopback0

39、BGP配置实验之基础配置_第3张图片

R3(config)#ip route 5.5.5.0 255.255.255.0 s0/1

R5(config)#ip route 3.3.3.0 255.255.255.0 s0/1

wKioL1Zme2ygtEnPAAAn_MzTIWI917.png


4、network通告网络

Network命令:

IGP发送hello包建邻居的同时通告接口所在网段。

BGP得先用neighbor建邻居,然后再用network通告路由,其通告的路由必须存在于路由表中,且其是精确匹配,例如:network 4.4.4.0 mask 255.255.255.0(路由表中必须存在该路由才能通告)


39、BGP配置实验之基础配置_第4张图片

R4(config)#router bgp 4

R4(config-router)#network 4.4.4.0 mask 255.255.255.0


5、控制层面

39、BGP配置实验之基础配置_第5张图片

39、BGP配置实验之基础配置_第6张图片

39、BGP配置实验之基础配置_第7张图片

wKiom1ZmgoiCK8xZAAANgqZNJXg969.png

BGP表中*表示可达,>代表最优,*>i后面的i表示是通过IBGP学到的,*> 后面的空格表示是自身通告或是通过EBGP学到的。

在R3的BGP表中我们可以看到* i4.4.4.0/24这样一条非最优路由。

同步:从IBGP学到路由,必须也可以通过IGP学到才放入路由表,传给其他邻居。

非最优路由:既不放入路由表,也不传给其他邻居。

造成非最优路由主要是应为:不同步、下一跳不可达。

解决不同步的方法:写静态路由或关闭同步.例如:no synchronization(现在默认都以关闭同步)

解决下一跳不可达的方法:写静态路由或在EBGP上修改下一跳。例如在R2上neighbor 3.3.3.3 next-hop-self。

由此可以看出,造成R3非最优路由的原因为下一跳不可达。在R2上修改下一跳即可。

R2(config)#router bgp 1                  

R2(config-router)#neighbor 3.3.3.3 next-hop-self

39、BGP配置实验之基础配置_第8张图片此时该路由将被放入路由表并传给邻居。

wKioL1Zmhwuw253dAAAY_obYu84325.png

39、BGP配置实验之基础配置_第9张图片

wKiom1Zmhs6z-UZqAAAZSMiM7zU531.png


6、数据层面

此时用R5的环回口ping 4.4.4.4。

39、BGP配置实验之基础配置_第10张图片

此时不通,主要是因为路由黑洞造成的。R3、R5都有到4.4.4.0/24网络的路由,但是当R3将数据发往R1的时候,由于R1上并没有4.4.4.0/24的路由将其丢弃了。

39、BGP配置实验之基础配置_第11张图片

39、BGP配置实验之基础配置_第12张图片

39、BGP配置实验之基础配置_第13张图片

为解决该问题,我们采用FULL MESH的办法,建立全邻居关系,即R1、R2、R3两两间都互为邻居。

R1(config)#router bgp 1

R1(config-router)#bgp router-id 1.1.1.1

R1(config-router)#neighbor 2.2.2.2 remote-as 1

R1(config-router)#neighbor 2.2.2.2 update-source loopback 0

R1(config-router)#neighbor 3.3.3.3 remote-as 1

R1(config-router)#neighbor 3.3.3.3 update-source loopback 0


R2(config)#router bgp 1

R2(config-router)#neighbor 1.1.1.1 remote-as 1

R2(config-router)#neighbor 1.1.1.1 update-source loopback 0


R3(config)#router bgp 1

R3(config-router)#neighbor 1.1.1.1 remote-as 1

R3(config-router)#neighbor 1.1.1.1 update-source loopback 0

39、BGP配置实验之基础配置_第14张图片此时R1学到的路由是非最优路由,非最优路由:不同步(已关闭同步),下一跳不可达(修改下一跳)

R2(config)#router bgp 1 

R2(config-router)#neighbor 1.1.1.1 next-hop-self

39、BGP配置实验之基础配置_第15张图片

此时数据包可以到达R4了,但是仍然不通。

39、BGP配置实验之基础配置_第16张图片

此时主要是因为R4没有达到5.5.5.5的路由,我们需要在R5上将5.5.5.5通告进BGP。

R5(config)#router bgp 5

R5(config-router)#network 5.5.5.0 mask 255.255.255.0

此时R1、R2上的5.5.5.0/24路由为非最优路由,默认以关闭同步,我们需要在R3上修改下一跳。

R3(config)#router bgp 1

R3(config-router)#neighbor 1.1.1.1 next-hop-self 

R3(config-router)#neighbor 2.2.2.2 next-hop-self