试验要求:
1、运用BGP技术。
2、实现每个路由器的环回之间可以相互ping通。
实验的拓扑图:
完成实验的步骤:
第一步:
先给所有的路由器配置ip地址和环回,这个过程过于简单就不演示。
第二步:
AS1,AS3,都只有一个路由器,内部不需要跑IGP,而AS2内部有三个路由器,所以,AS2内部需要跑IGP,接下来对AS2内部进行ospf宣告:
对R2:
ospf 1 router-id 2.2.2.2
area 1
network 1.1.1.2 0.0.0.0
network 23.1.1.1 0.0.0.0
network 2.2.2.2 0.0.0.0
对R3:
ospf 1 router-id 3.3.3.3
area 1
network 1.1.1.3 0.0.0.0
network 23.1.1.2 0.0.0.0
network 34.1.1.1 0.0.0.0
network 3.3.3.3 0.0.0.0
对R4:
ospf 1 router-id 4.4.4.4
area 1
network 1.1.1.4 0.0.0.0
network 34.1.1.2 0.0.0.0
network 4.4.4.4 0.0.0.0
此时可以用R3ping R2 R4的环回应该都是通的。
第三步:
开始建立邻居:
在R1和R2之间我们使用直连接口创建邻居关系:
在R1上:
bgp 1
rouer-id 1.1.1.1
peer 12.1.1.2 as-number 2
在R2上:
bgp 2
rouer-id 2.2.2.2
peer 12.1.1.1 as-number 1
此时,可以用:display tcp status 来查看邻居是否建立完毕。
也可以用:dispaly bgp peer 来查看邻居状态。
接下来建立R2和R3的邻居关系:
我们用环回接口的方法来配置邻居关系:
在R2上:
bgp 2
peer 1.1.1.3 as-number 2
peer 1.1.1.3 connect-interface loopback 0
在R3上:
bgp 2
router-id 3.3.3.3
peer 1.1.1.2 as-number 2
peer 1.1.1.2 connect-interface loopback 0
接下来配置R3和R4的邻居关系:
在R3上:
bgp 2
peer 1.1.1.4 as-number 2
peer 1.1.1.4 connect-interface loopback 0
在R4上:
在R3上:
bgp 2
peer 1.1.1.3 as-number 2
peer 1.1.1.3 connect-interface loopback 0
接下来配置R2和R4的邻居关系:
在R2上:
bgp 2
peer 1.1.1.4 as-number 2
peer 1.1.1.4 connect-interface loopback 0
在R4上:
bgp 2
peer 1.1.1.2 as-number 2
peer 1.1.1.2 connect-interface loopback 0
接下来就是R4和R5 建立邻居关系了:
我们在R4和R5上建立邻居关系用环回地址的方法,但是R4和R5的环回并不能互通,所以我们需要在R4R5上都写缺省:
在R4上:
ip route-static 1.1.1.5 32 45.1.1.2
ip route-static 1.1.1.5 32 54.1.1.2
在R5上:
ip route-static 1.1.1.4 32 45.1.1.1
ip route-static 1.1.1.4 32 54.1.1.1
此时R5和R4环回可以相互ping通。
开始建立R4和R5的邻居:
在R4上:
bgp 2
router-id 4.4.4.4
peer 1.1.1.5 as-number 3
peer 1.1.1.5 connect-interface loopback 0
接下来配置R3和R4的邻居关系:
在R5上:
bgp 3
router-id 5.5.5.5
peer 1.1.1.4 as-number 2
peer 1.1.1.4 connect-interface loopback 0
此时此图的邻居建立完毕。
第四步:
开始宣告,从AS的R1开始:
在R1上:
bgp 1
network 11.11.11.0 24
然后我们去R1上查看有该条路由,也是*>,但是去R3R4上去看该条路由不是*>,只是单纯的i,出现此现象的原因是ibgp的接口水平分割,也就是下一跳不可达,解决方法:
在R2上修改到R3R4上的下一跳为自己:
bgp 2
peer 1.1.1.3 next-hop-local
peer 1.1.1.4 next-hop-local
然后去R3R4上查看该条路由也是*>。
理论上R5也应该直接学习到此条路由,但是,R5上并没有学习到此路由,出现此现象的问题就是,EBGP默认的TTL是1,而我们建立邻居关系时,用的不是直连,而是环回,这样TTL大于1,所以我们需要修改TTL。
在R4上:
peer 1.1.1.5 ebgp-max-hop 2
在R5上:
peer 1.1.1.4 ebgp-max-hop 2
此时发现R5上也学习到了11.11.11.0 24 这条路由。
接下来宣告R5上的环回:5.5.5.5/24
在R5上:
bgp 3
network 5.5.5.0 24
此时R2 R3 R4上都学习到了该条路由,但是R2 R3上不是*>。
所以需要在R4上改下一条为自己:
在上R4上:
peer 1.1.1.3 next-hop-local
peer 1.1.1.2 next-hop-local
此时R1也自动学习到此条路由。
在R1上用环回pingR5的环回:
然后在R2上:
bgp 2
network 2.2.2.0 24
在R3上:
bgp 2
network 3.3.3.0 24
在R4上:
bgp 2
network 4.4.4.0 24
然后去试验用R1ping所有环回:
用R2ping所有环回:
此时,次实验完成要求。