BGP的综合实验

705c8d5b1fa24496ba8c1cd4cd60f897.jpeg

 子网划分:

AS2内部用于建邻:172.16.0.0 32

AS2骨干区域:172.16.1.0 30

AS回环(用户):172.16.0.0 21  0~7

汇总172.16.0.0 21

对于实现as1与as3之间的不宣告通信,采用VPN

配置IP

R1

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              12.1.1.1/24          up         up        
LoopBack0                         11.1.1.1/24          up         up(s)     
LoopBack1                         192.168.1.1/24       up         up(s)     

 R2

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              172.16.1.1/30        up         up        
GigabitEthernet0/0/1              12.1.1.2/24          up         up        
GigabitEthernet0/0/2              172.16.1.13/30       up         up        
LoopBack0                         172.16.0.2/32        up         up(s)     
LoopBack1                         172.16.2.1/24        up         up(s)     

R3 

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              172.16.1.5/30        up         up        
GigabitEthernet0/0/1              172.16.1.2/30        up         up            
LoopBack0                         172.16.0.3/32        up         up(s)     
LoopBack1                         172.16.3.1/24        up         up(s)     

R4

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/1              172.16.1.6/30        up         up        
GigabitEthernet0/0/2              172.16.1.9/30        up         up        
LoopBack0                         172.16.0.4/32        up         up(s)     
LoopBack1                         172.16.4.1/24        up         up(s) 

R5

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              172.16.1.17/30       up         up            
GigabitEthernet0/0/2              172.16.1.14/30       up         up        
LoopBack0                         172.16.0.5/32        up         up(s)     
LoopBack1                         172.16.5.1/24        up         up(s)

R6

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              172.16.1.21/30       up         up        
GigabitEthernet0/0/1              172.16.1.18/30       up         up           
LoopBack0                         172.16.0.6/32        up         up(s)     
LoopBack1                         172.16.6.1/24        up         up(s)

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              78.1.1.1/24          up         up        
GigabitEthernet0/0/1              172.16.1.22/30       up         up        
GigabitEthernet0/0/2              172.16.1.10/30       up         up        
LoopBack0                         172.16.0.7/32        up         up(s)     
LoopBack1                         172.16.7.1/24        up         up(s) 

Interface                         IP Address/Mask      Physical   Protocol      
GigabitEthernet0/0/1              78.1.1.2/24          up         up           
LoopBack0                         8.8.8.8/24           up         up(s)     
LoopBack1                         192.168.2.1/24       up         up(s) 

如上图所示,每一个路由器的接口的IP配置如上

现在先配置AS2的IBGP的内部环境,使用ospf协议

配置命令

ospf 1 router-id 2.2.2.2
area 0
network 172.16.0.0 0.0.255.255
#然后更改回环的接口类型,默认是p2p,不改的话在其他路由上面看到的就是宣告的是32位掩码的loopback 1
int lo1
network-type broadcast

检查ospf的邻居建立display ospf peer brief,确保每个路由器的有两条建邻。

配置BGP协议

在AR1上面,AR8同样

bgp 1
 router-id 1.1.1.1
 peer 12.1.1.2 as-number 2 
 peer 12.1.1.2 ebgp-max-hop 2 #ebgp之间要改最大的下一跳,默认为1

AR2上面,这上面的配置命令有点多,我们先指定bgp私有as号,然后指定其属于as2的一个联邦。然后表示其还有一个联邦的64513as区域。然后我们就可以对其周边需要建邻的执行peer命令。

bgp 64512
 router-id 2.2.2.2
 confederation id 2
 confederation peer-as 64513
 peer 12.1.1.1 as-number 1 
 peer 172.16.0.3 as-number 64512 
 peer 172.16.0.3 connect-interface LoopBack0#建邻使用的是环回接口0,也是配的0.2/32的地址
 peer 172.16.0.5 as-number 64513 
 peer 172.16.0.5 ebgp-max-hop 2 #不同联邦之间也是需要改最大的跳数
 peer 172.16.0.5 connect-interface LoopBack0

后面的命令类似,R4,R5,R7一样

其中R3和R6差不多

bgp 64512
 router-id 3.3.3.3
 confederation id 2
 peer 172.16.0.2 as-number 64512 
 peer 172.16.0.2 connect-interface LoopBack0
 peer 172.16.0.4 as-number 64512 
 peer 172.16.0.4 connect-interface LoopBack0

依次配置号BGP之后,对于R1上面的11.1.1.1进行宣告。

network 11.1.1.0 255.255.255.0

 然后会发现在R3和R5,R6上面也学得此路由,但是除了R5都是不优。是由于在IBGP中传路由不改属性的原因,而R5和R2之间也算EBGP关系所以会改下一跳。

我们所以需要改一下下一跳为本地出接口

  peer 172.16.0.3 next-hop-local 
  peer 172.16.0.5 next-hop-local 

然后再在R7上面也改一下

  peer 172.16.0.4 next-hop-local 
  peer 172.16.0.6 next-hop-local 

 我们还需要打破IBGP内部的水平分割

比如将R4作为R3的反射客户端,R3作为RR。R7作为R6的反射客户端

peer 172.16.0.4 reflect-client#R3上面配置
peer 172.16.0.7 reflect-client#R6上面配置

此时11.1.1.1才能传递到R8上面

 *>   11.1.1.0/24        78.1.1.1                              0      2 1i

我们再宣告8.8.8.8也能传递到R1面了

 *>   8.8.8.0/24         12.1.1.2                              0      2 3i

 然后我们再将AS2内部的所有环回宣告即可,然后再汇总。当时有点麻烦。我们直接宣告

#手写一条空接口的汇总
ip route-static 172.16.0.0 21 NULL 0
#宣告空接口
network 172.16.0.0 255.255.248.0 

此时R1/8上面学到的

Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   8.8.8.0/24         12.1.1.2                              0      2 3i
 *>   11.1.1.0/24        0.0.0.0         0                     0      i
 *>   172.16.0.0/21      12.1.1.2        0                     0      2i

 为了防止当R8访问不存在的172.16.0.0里面的网段的时候,增加多余的网络带宽。所以要在R7上面也写一个空接口ip route-static 172.16.0.0 21 NULL 0

最后再在R1和R8上面建立VPN即可。

#R1和R8同样配置,改一下ip为10.0.0.2 24即可
interface Tunnel0/0/0
 ip address 10.0.0.1 255.255.255.0 
 tunnel-protocol gre
 source 11.1.1.1
 destination 8.8.8.8

然后再写一个静态,R8同样

ip route-static 192.168.2/1.0 24 Tunnel0/0/0

成果:

[r1]ping -a 192.168.1.1 192.168.2.1
  PING 192.168.2.1: 56  data bytes, press CTRL_C to break
    Reply from 192.168.2.1: bytes=56 Sequence=1 ttl=255 time=50 ms
 。。。
    round-trip min/avg/max = 20/38/50 ms

 

[r1]ping -a 11.1.1.1 8.8.8.8
  PING 8.8.8.8: 56  data bytes, press CTRL_C to break
    Reply from 8.8.8.8: bytes=56 Sequence=1 ttl=251 time=40 ms
。。。
    round-trip min/avg/max = 30/38/50 ms

 

r1]ping -a 11.1.1.1 172.16.5.1
  PING 172.16.5.1: 56  data bytes, press CTRL_C to break
    Reply from 172.16.5.1: bytes=56 Sequence=1 ttl=254 time=20 ms
。。。
    round-trip min/avg/max = 20/22/30 ms

。。。

顺带一提,我们在as之间的路由器上面使用了peer <ip> next-hop-local并不是针对所有的经过该路由器的路由信息,都去改下一跳ip。

如果我们在R2这个路由器上面下一跳不使用这条命令,而使用以下命令:

route-policy demo permit node 10

apply ip-address next-hop peer-address

peer 127.16.0.3 route-policy demo export

peer 127.16.0.5 route-policy demo export

 

也能成功更改下一跳变为本地ip,但是这样会打破bgp的as-by-as规则,当8.8.8.8这条路由传递进来的时候,经过R2这个路由器的时候所有路由的下一跳变为本地ip,即为127.16.0.2此时再传递到R3上面时会触环(因为这条是经过下面的62513传递过来的,经过了ebgp会优先选择),此时它去往8.8.8.8的路由有两条172.16.0.7(不优),127.16.0.2(优)

R2上面127.16.0.7的下一跳为0.3和0.5,走0.3则会形成环路。

所以我们可以看出,next-hop-local不是针对所有的路由都改下一跳。

我们如果硬要用路由策略的话,就要只针对11.1.1.1过去的改下一跳就可以了

ip ip-prefix nex permit 11.1.1.0 24

route-policy demo permit node 10

if-match ip-prefix

  apply ip-address next-hop peer-address

route-policy demo permit node(由于隐含拒绝所有未匹配到的路由,所以搞张空表)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值