1-引言
关于BGP需要注意的几个关键点:
1)BGP通告的网段必须存在于IGP的路由表中;而OSPF通告的网段所在接口上启用了OSPF进程;
2)OSPF靠area 0和SPF防环;而BGP靠AS 0 和路径属性防环;路由信息数据包每过一个AS都会记录当前的AS号到路径属性中。如果已经记录的AS号与路由器所在的AS号一致则该路由器拒收该条路由通告信息;
3)BGP路由信息转发原则:从EBGP接收的可以转发给IBGP或EBGP,从IBGP接收的可以转发给EBGP,但是不能转发给IBGP;
4)从EBGP接收的路由信息需要改变下一跳;
5)BGP属于控制层面的路由协议,其路由表中有BGP路由也不一定能够转发数据包,转发数据包需要结合其他配置方法。
本篇笔记探讨的问题如下:
其中:
1)邻居关系:R2——R3; R3——R2、R4; R4——R3、R5; R5——R4;
2)在R1上配置lo 100 100.100.100.100/24;
3)R4,R5收不到100.100.100.100的路由,是由于“从IBGP接收的可以转发给EBGP,但是不能转发给IBGP”,因此,R5实际上无法与100.100.100.100通信。R2,R3也收不到200.200.200.200的路由,同理。
配置方法如下
基本配置:
R1:
config t
inter lo 0
ip add 1.1.1.1 255.255.255.255
inter lo 100
ip add 100.100.100.100 255.255.255.0
inter f 0/0
no shutdown
ip add 12.1.1.1 255.255.255.0
router ospf 100
router-id 1.1.1.1
network 12.1.1.1 0.0.0.0 a 0
network 1.1.1.1 0.0.0.0 a 0
R2:
config t
inter lo 0
ip add 2.2.2.2 255.255.255.255
inter f 1/0
no shutdown
ip add 12.1.1.2 255.255.255.0
inter f 0/0
no shutdown
ip add 23.1.1.2 255.255.255.0
router ospf 100
router-id 2.2.2.2
network 12.1.1.2 0.0.0.0 a 0
network 23.1.1.2 0.0.0.0 a 0
network 2.2.2.2 0.0.0.0 a 0
R3:
config t
inter lo 0
ip add 3.3.3.3 255.255.255.255
inter f 1/0
no shutdown
ip add 23.1.1.3 255.255.255.0
inter f 0/0
no shutdown
ip add 34.1.1.3 255.255.255.0
router ospf 100
router-id 3.3.3.3
network 3.3.3.3 0.0.0.0 a 0
network 23.1.1.3 0.0.0.0 a 0
network 34.1.1.3 0.0.0.0 a 0
R4:
config t
inter lo 0
ip add 4.4.4.4 255.255.255.255
inter f 1/0
no shutdown
ip add 34.1.1.4 255.255.255.0
inter f 0/0
no shutdown
ip add 45.1.1.4 255.255.255.0
router ospf 100
router-id 4.4.4.4
network 4.4.4.4 0.0.0.0 a 0
network 34.1.1.4 0.0.0.0 a 0
network 45.1.1.4 0.0.0.0 a 0
R5:
config t
inter lo 0
ip add 5.5.5.5 255.255.255.255
inter f 1/0
no shutdown
ip add 45.1.1.5 255.255.255.0
inter f 0/0
no shutdown
ip add 56.1.1.5 255.255.255.0
router ospf 100
router-id 5.5.5.5
network 5.5.5.5 0.0.0.0 a 0
network 45.1.1.5 0.0.0.0 a 0
network 56.1.1.5 0.0.0.0 a 0
R6:
config t
inter lo 0
ip add 6.6.6.6 255.255.255.255
inter lo 200
ip add 200.200.200.200 255.255.255.0
inter f 1/0
no shutdown
ip add 56.1.1.6 255.255.255.0
router ospf 100
router-id 6.6.6.6
network 6.6.6.6 0.0.0.0 a 0
network 56.1.1.6 0.0.0.0 a 0
BGP配置:
R1:
config t
router bgp 1
bgp router-id 1.1.1.1
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source lo 0
neighbor 2.2.2.2 ebgp-multihop 255
network 100.100.100.0 m 255.255.255.0
R2:
config t
router bgp 100
bgp router-id 2.2.2.2
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source lo 0
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source lo 0
neighbor 1.1.1.1 ebgp-multihop 255
R3:
config t
router bgp 100
bgp router-id 3.3.3.3
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source lo 0
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source lo 0
neighbor 4.4.4.4 ebgp-multihop 255
R4:
config t
router bgp 100
bgp router-id 4.4.4.4
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source lo 0
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source lo 0
neighbor 5.5.5.5 ebgp-multihop 255
R5:
config t
router bgp 100
bgp router-id 5.5.5.5
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source lo 0
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 6.6.6.6 remote-as 666
neighbor 6.6.6.6 update-source lo 0
neighbor 6.6.6.6 ebgp-multihop 255
R6:
config t
router bgp 666
bgp router-id 6.6.6.6
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source lo 0
neighbor 5.5.5.5 ebgp-multihop 255
network 200.200.200.0 m 255.255.255.0
现象见下图:
有4个方法可以解决该问题:
1)AS 100内的路由器相互直连;
2)配置AS联盟——R2和R3 私有AS10,R4和R5私有AS20,4个Router配置成联盟AS为100即可。注意需要重新配置邻居关系;
3)配置R3为路由反射器,无需重新配置邻居关系;
4)使用MPLS多标签交换协议——重新配置邻居关系,只让R2和R5做邻居,然后AS 100内的所有路由器都启用mpls ip;
2-实验操作
方法一【相互直连】的实验操作及结果如下:
构造互相直连
基本配置
R1:
config t
inter lo 0
ip add 1.1.1.1 255.255.255.255
inter f 0/0
no shutdown
ip add 12.1.1.1 255.255.255.0
router ospf 100
router-id 1.1.1.1
network 12.1.1.1 0.0.0.0 a 0
R2:
config t
inter lo 0
ip add 2.2.2.2 255.255.255.255
inter f 1/0
no shutdown
ip add 12.1.1.2 255.255.255.0
inter f 0/0
no shutdown
ip add 23.1.1.2 255.255.255.0
inter f 2/0
no shutdown
ip add 24.1.1.2 255.255.255.0
inter f 3/0
no shutdown
ip add 25.1.1.2 255.255.255.0
router ospf 100
router-id 2.2.2.2
network 12.1.1.2 0.0.0.0 a 0
network 23.1.1.2 0.0.0.0 a 0
network 24.1.1.2 0.0.0.0 a 0
network 25.1.1.2 0.0.0.0 a 0
R3:
config t
inter lo 0
ip add 3.3.3.3 255.255.255.255
inter f 1/0
no shutdown
ip add 23.1.1.3 255.255.255.0
inter f 0/0
no shutdown
ip add 34.1.1.3 255.255.255.0
inter f 2/0
no shutdown
ip add 35.1.1.3 255.255.255.0
router ospf 100
router-id 3.3.3.3
network 23.1.1.3 0.0.0.0 a 0
network 34.1.1.3 0.0.0.0 a 0
network 35.1.1.3 0.0.0.0 a 0
R4:
config t
inter lo 0
ip add 4.4.4.4 255.255.255.255
inter f 1/0
no shutdown
ip add 34.1.1.4 255.255.255.0
inter f 1/1
no shutdown
ip add 24.1.1.4 255.255.255.0
inter f 0/0
no shutdown
ip add 45.1.1.4 255.255.255.0
router ospf 100
router-id 4.4.4.4
network 34.1.1.4 0.0.0.0 a 0
network 24.1.1.4 0.0.0.0 a 0
network 45.1.1.4 0.0.0.0 a 0
R5:
config t
inter lo 0
ip add 5.5.5.5 255.255.255.255
inter f 1/0
no shutdown
ip add 45.1.1.5 255.255.255.0
inter f 2/0
no shutdown
ip add 35.1.1.5 255.255.255.0
inter f 1/1
no shutdown
ip add 25.1.1.5 255.255.255.0
inter f 0/0
no shutdown
ip add 56.1.1.5 255.255.255.0
router ospf 100
router-id 5.5.5.5
network 45.1.1.5 0.0.0.0 a 0
network 35.1.1.5 0.0.0.0 a 0
network 25.1.1.5 0.0.0.0 a 0
network 56.1.1.5 0.0.0.0 a 0
R6:
config t
inter lo 0
ip add 6.6.6.6 255.255.255.255
inter f 1/0
no shutdown
ip add 56.1.1.6 255.255.255.0
router ospf 100
router-id 6.6.6.6
network 56.1.1.6 0.0.0.0 a 0
配置BGP
R1:
config t
router bgp 1
bgp router-id 1.1.1.1
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source lo 0
neighbor 2.2.2.2 ebgp-multihop 255
network 100.100.100.0 m 255.255.255.0
R2:
config t
router bgp 100
bgp router-id 2.2.2.2
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source lo 0
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source lo 0
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source lo 0
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source lo 0
neighbor 5.5.5.5 ebgp-multihop 255
R3:
config t
router bgp 100
bgp router-id 3.3.3.3
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source lo 0
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source lo 0
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source lo 0
neighbor 5.5.5.5 ebgp-multihop 255
R4:
config t
router bgp 100
bgp router-id 4.4.4.4
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source lo 0
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source lo 0
neighbor 5.5.5.5 ebgp-multihop 255
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source lo 0
neighbor 2.2.2.2 ebgp-multihop 255
R5:
config t
router bgp 100
bgp router-id 5.5.5.5
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source lo 0
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 6.6.6.6 remote-as 666
neighbor 6.6.6.6 update-source lo 0
neighbor 6.6.6.6 ebgp-multihop 255
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source lo 0
neighbor 2.2.2.2 ebgp-multihop 255
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source lo 0
neighbor 3.3.3.3 ebgp-multihop 255
R6:
config t
router bgp 666
bgp router-id 6.6.6.6
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source lo 0
neighbor 5.5.5.5 ebgp-multihop 255
network 200.200.200.0 m 255.255.255.0
实验结果
预期结果:所有路由器上都有100和200的路由信息!
综上所述,互相直连同时互相指定邻居是可以解决该问题的!