BGP的双平面实验

拓扑图:
在这里插入图片描述
实验要求及说明:

  • 中间为电信和联通运营商环境,电信为AS1,联通为AS2,设电信为A面,联通为B面。
  • AS3为西安两台路由器,PC1和PC3假设为A类服务(100:3),PC2和PC4为B类(200:3),且需要打上社团属性。
  • AS4为青岛路由器,PC5为A类(100:4),PC6为B类(200:4)
  • 西安的A与青岛的A通信的话,需要走运营商的A面,B与B通信需要走B面
  • 实现A主B备,B主A备(假设R9与R1断开,PC1去PC5,需要到R4之后,向上到R3然后继续走A面去(value值实现),同样需要保证回来的流量,需要在R3向下走而不是中途直接到B面(使用AS_path属性>EBGP大于IBGP))
  • A主B不备,B主A不备(在A与B平面之间过滤路由即可)

配置简述:

  • 各AS内部首先铺设底层,可以使用ospf先保证AS内部联通
  • AS1,AS2内部建立全连IBGP关系,之间建立EBGP关系
  • 在R9、R10上分别抓取PC的流量并打上团体值,并且传播出去,在R12上同样
  • 在AS3,AS4内部可以配置loc_preference属性并在连接AS1,AS2接口的入向调用策略,干涉各个PC去A,B的走向
  • 至此,实现了正常情况下的要求

配置如下:

R1(配置过多,运营商环境的路由器(R1~R8)诸如此类)

#
interface Ethernet0/0/0
 ip address 10.1.15.1 255.255.255.0
#
interface Ethernet0/0/1
 ip address 10.1.13.1 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 10.3.19.1 255.255.255.0
#
interface LoopBack0
 ip address 10.1.1.1 255.255.255.255
#
bgp 1
 peer 10.3.19.2 as-number 3
 group IBGP internal
 peer IBGP connect-interface LoopBack0
 peer 10.3.3.3 as-number 1
 peer 10.3.3.3 group IBGP
 peer 10.5.5.5 as-number 1
 peer 10.5.5.5 group IBGP
 peer 10.7.7.7 as-number 1
 peer 10.7.7.7 group IBGP
 #
 ipv4-family unicast
  undo synchronization
  peer 10.3.19.2 enable
  peer 10.3.19.2 advertise-community
  peer IBGP enable
  peer IBGP next-hop-local
  peer IBGP advertise-community
  peer 10.3.3.3 enable
  peer 10.3.3.3 group IBGP
  peer 10.5.5.5 enable
  peer 10.5.5.5 group IBGP
  peer 10.7.7.7 enable
  peer 10.7.7.7 group IBGP
#
ospf 1
 area 0.0.0.0
  network 10.1.1.1 0.0.0.0
  network 10.1.0.0 0.0.255.255
#

R9

#
interface Ethernet0/0/0
 ip address 10.3.19.2 255.255.255.0
#
interface Ethernet0/0/1
 ip address 10.3.109.1 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 10.3.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 10.3.2.1 255.255.255.0
#
interface LoopBack0
 ip address 10.9.9.9 255.255.255.255
#
bgp 3
 peer 10.3.19.1 as-number 1
 peer 10.10.10.10 as-number 3
 peer 10.10.10.10 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 10.3.1.0 255.255.255.0
  network 10.3.2.0 255.255.255.0
  peer 10.3.19.1 enable
  peer 10.3.19.1 route-policy loc import
  peer 10.3.19.1 route-policy com export
  peer 10.3.19.1 advertise-community
  peer 10.10.10.10 enable
  peer 10.10.10.10 next-hop-local
  peer 10.10.10.10 advertise-community
#
ospf 1
 area 0.0.0.0
  network 10.9.9.9 0.0.0.0
  network 10.3.109.0 0.0.0.255
#
route-policy com permit node 10
 if-match ip-prefix a
 apply community 100:3
#
route-policy com permit node 20
 if-match ip-prefix b
 apply community 200:3
#
route-policy com permit node 30
#
route-policy loc permit node 10
 if-match community-filter a
 apply local-preference 200
#
route-policy loc permit node 20
#
ip ip-prefix a index 10 permit 10.3.1.0 24
ip ip-prefix a index 20 permit 10.3.3.0 24
ip ip-prefix b index 10 permit 10.3.2.0 24
ip ip-prefix b index 20 permit 10.3.4.0 24
#
ip community-filter advanced a permit 100:.*
#

R10

#
interface Ethernet0/0/0
 ip address 10.3.104.2 255.255.255.0
#
interface Ethernet0/0/1
 ip address 10.3.109.2 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 10.3.3.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 10.3.4.1 255.255.255.0
#
interface LoopBack0
 ip address 10.10.10.10 255.255.255.255
#
bgp 3
 peer 10.3.104.1 as-number 2
 peer 10.9.9.9 as-number 3
 peer 10.9.9.9 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 10.3.3.0 255.255.255.0
  network 10.3.4.0 255.255.255.0
  peer 10.3.104.1 enable
  peer 10.3.104.1 route-policy loc import
  peer 10.3.104.1 route-policy com export
  peer 10.3.104.1 advertise-community
  peer 10.9.9.9 enable
  peer 10.9.9.9 next-hop-local
  peer 10.9.9.9 advertise-community
#
ospf 1
 area 0.0.0.0
  network 10.10.10.10 0.0.0.0
  network 10.3.109.0 0.0.0.255
#
route-policy com permit node 10
 if-match ip-prefix a
 apply community 100:3
#
route-policy com permit node 20
 if-match ip-prefix b
 apply community 200:3
#
route-policy com permit node 30
#
route-policy loc permit node 10
 if-match community-filter b
 apply local-preference 200
#
route-policy loc permit node 20
#
ip ip-prefix a index 10 permit 10.3.1.0 24
ip ip-prefix a index 20 permit 10.3.3.0 24
ip ip-prefix b index 10 permit 10.3.2.0 24
ip ip-prefix b index 20 permit 10.3.4.0 24
#
ip community-filter advanced b permit 200:.*
#

R12

#
interface Ethernet0/0/0
 ip address 10.4.125.2 255.255.255.0
#
interface Ethernet0/0/1
 ip address 10.4.128.2 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 10.4.5.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 10.4.6.1 255.255.255.0
#
interface LoopBack0
 ip address 10.12.12.12 255.255.255.255
#
bgp 4
 peer 10.4.125.1 as-number 1
 peer 10.4.128.1 as-number 2
 #
 ipv4-family unicast
  undo synchronization
  network 10.4.5.0 255.255.255.0
  network 10.4.6.0 255.255.255.0
  peer 10.4.125.1 enable
  peer 10.4.125.1 route-policy loc import
  peer 10.4.125.1 route-policy com export
  peer 10.4.125.1 advertise-community
  peer 10.4.128.1 enable
  peer 10.4.128.1 route-policy loc2 import
  peer 10.4.128.1 route-policy com export
  peer 10.4.128.1 advertise-community
#
route-policy com permit node 10
 if-match ip-prefix a
 apply community 100:4
#
route-policy com permit node 20
 if-match ip-prefix b
 apply community 200:4
#
route-policy com permit node 30
#
route-policy loc permit node 10
 if-match community-filter a
 apply local-preference 200
#
route-policy loc permit node 20
#
route-policy loc2 permit node 10
 if-match community-filter b
 apply local-preference 200
#
route-policy loc2 permit node 20
#
ip ip-prefix a index 10 permit 10.4.5.0 24
ip ip-prefix b index 10 permit 10.4.6.0 24
#
ip community-filter advanced a permit 100:.*
ip community-filter advanced b permit 200:.*
#

至此,流量的路线如下:
在这里插入图片描述
但是出现故障时:例如:R9与R1之间断开,PC1去PC5,它就不会走A面了,需要实施策略改变其走向,使得流量走到R4时向上到R3(value值:只影响自己)
在这里插入图片描述
R4(AS2内的路由器都得配相同策略)

#
route-policy value permit node 10
 if-match community-filter a
 apply preferred-value 100
#
route-policy value permit node 20
#
ip community-filter advanced a permit 100:.*
#
bgp 2
  peer 10.0.34.1 route-policy value import
#

配置好之后,去的路线没问题,但是回来不是原路返回,直接又下到B面了(EBGP大于IBGP发布的路由)

在这里插入图片描述
解决办法:在R4上抓到100:.*的路由后,给它的IBGP邻居配置策略,添加一个AS号(AS2),使得回来的路由若是在除了R3之外的A面路由器往下走的话,AS_path大于从R3向下走的AS_path,这样就能规范路由的路线(选路规则,AS_path是优先于EBGP大于IBGP的)

R4(AS2内所有都得配)

#
route-policy as-path permit node 10
 if-match community-filter a
 apply as-path 2 additive
#
route-policy as-path permit node 20
#
bgp 2
  peer IBGP route-policy as-path export

之后来回就都走A面了,虽然来回路线不一致,无所谓的,再搞个策略一写就完事了
在这里插入图片描述
这样就实现了A主B备,B主A备就是断上面的,思路是一样的。(我自己配过了,也验证过正确性,但是思路一样所以不再赘述)

在这里插入图片描述

B主A备测试
在这里插入图片描述
除此之外,架构具有扩展性,断右边的线路等结果都正确。

A主B不备:假设AS3内再连新的网段,加社团属性(300:3),走A面,到A面的话,在AB之间的接口上,deny拒绝即可以实现过滤。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值