IPRAN中的BGP应用ensp模拟实验

IPRAN中的BGP应用ensp模拟实验

今天的实验环境是在上次的《IPRAN中的IS-IS应用ensp模拟实验》的基础上继续进行配置,没有实验拓扑的可以到上一次实验的页面中下载。

MP-BGP对路由发布优先级的控制方式有多种,推荐采用RR client+MED值的方式,以下实验以此方式为例进行配置实验演示。

MP-BGP的部署方式为:CSG为ASG的客户端,ASG与RSG作为RR的客户端与RR建立BGP连接。

一、组网需求

组网图如下图所示:

  • RSG1、RSG2角色为RSG(Radio Service Gateway,无线业务侧网关)。
  • P1、P2角色为P设备,仅用作汇聚转发同时作为核心汇聚层BGP的RR(路由反射器)。
  • ASG1、ASG2角色为ASG(Aggregation Site Gateway,汇聚侧网关)。
  • CSG1、CSG2、CSG3、CSG4角色为CSG(Cell Site Gateway,基站侧网关)。
  • CSG1、CSG2归属接入环1; CSG3、CSG4归属接入环2。两个接入环分属不同ISIS进程,相互隔离。

二、配置思路

部署MP-iBGP。

  • 需要在CSG到主ASG、主ASG到主RSG建立MP-iBGP对等体关系;
  • 为保护主ASG,需要在CSG到备ASG、备ASG到主备RSG也建立MP-iBGP对等体关系;
  • 为保护主RSG,需要在主ASG到备RSG也建立MP-iBGP对等体关系。

三、数据规划

四、数据配置

说明: 默认情况下,控制台用户显示功能为打开状态,设备的所有的调试/日志/告警信息都会在调测过程不断显示,如果不想显示,可通过<HUAWEI> undo terminal monitor命令关闭终端显示功能。

1、配置CSG

以CSG1为例,配置如下:

bgp 100
 router-id 10.0.2.1
 peer 10.0.1.1 as-number 100//建立CSG与主ASG的对等体关系。
 peer 10.0.1.1 connect-interface LoopBack0//指定BGP报文的源接口和地址为loopback0。
 peer 10.0.1.2 as-number 100//建立CSG与备ASG的对等体关系。
 peer 10.0.1.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization//保持默认配置,无需修改
  undo peer 10.0.1.1 enable
  undo peer 10.0.1.2 enable
 #
 ipv4-family vpnv4
  policy vpn-target//保持默认配置,无需修改
  peer 10.0.1.1 enable
  peer 10.0.1.2 enable

这里解释一下为什么在ipv4-family unicast单播地址族下需要undo peer x.x.x.x enable,主要原因是在MPLS BGP VPN场景下,我们是不需要使用普通的bgp邻居来转发普通ip的公网路由,我们要使用的是BGP的VPNv4邻居来转发携带vpn标签的私网路由,所以不要的邻居就undo掉,这样也可以减少设备不必要的开销。

配置完成后可使用display current-configuration configuration bgp命令查看BGP配置,也可使用简写dis cur conf bgp

<CSG1>display current-configuration configuration bgp
#
bgp 100
 router-id 10.0.2.1
 peer 10.0.1.1 as-number 100
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.1.2 as-number 100
 peer 10.0.1.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.0.1.1 enable
  undo peer 10.0.1.2 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer 10.0.1.1 enable
  peer 10.0.1.2 enable
#
return

2、配置主ASG

配置路由策略,主备ASG到RR的路由策略配置一致,到CSG需要区分主备ASG。

策略方案说明如下:

  • 主ASG发布给CSG的路由的MED值设置为103,接收CSG的路由的优先级为103。
  • 备ASG发布给CSG的路由的MED值设置为203,接收CSG的路由的优先级为203。
  • 主备ASG发布给主RR的路由的MED值不变。
  • 备RR的路由MED值如果匹配为103则修改为503。
  • 主RR优选主ASG的路由做反射,备RR优备ASG的路由做反射。
  • 配置默认路由0.0.0.0只发布给CSG设备。

这里ASG1作为CSG的主ASG,ASG2作为CSG的备ASG。

(1)配置路由策略

配置选择主ASG的路由策略:

ip ip-prefix default index 10 permit 0.0.0.0 0
ip ip-prefix nodefault index 10 deny 0.0.0.0 0
ip ip-prefix nodefault index 20 permit 0.0.0.0 0 less-equal 32
route-policy to-csg-as-master permit node 10 //发布默认路由给CSG,ASG3为CSG的主ASG时,MED值设置为103
 if-match ip-prefix default
 apply ip-address next-hop peer-address//修改下一跳为自己
 apply cost 103
route-policy from-csg-as-master permit node 10 //接收CSG发布的路由,ASG3为CSG的主ASG时,MED值设置为103
 apply cost 103
 apply preferred-value 10

配置形成VPN FRR的路由策略(在RR上配置入口策略方式):

route-policy pref-rr1 permit node 10 //发布路由给主RR做反射,ASG3为CSG的主ASG时,MED值不变
 if-match ip-prefix nodefault
route-policy pref-rr2 permit node 10 //发布路由给备RR做反射,ASG3为CSG的主ASG时,MED值不变
 if-match ip-prefix nodefault

配置完可通过display current-configuration configuration route-policy命令查看路由策略配置,也可使用简写dis cur conf route-policy

<ASG1>dis cur conf route-policy 
#
route-policy LoopBack0 permit node 10
 if-match ip-prefix LoopBack0
#
route-policy U2000 permit node 10
 if-match ip-prefix U2000
#
route-policy acc deny node 10
 if-match ip-prefix U2000
#
route-policy acc permit node 20
 if-match ip-prefix acc
#
route-policy to-csg-as-master permit node 10
 if-match ip-prefix default
 apply ip-address next-hop peer-address
 apply cost 103
#
route-policy from-csg-as-master permit node 10
 apply cost 103
 apply preferred-value 10
#
route-policy pref-rr1 permit node 10
 if-match ip-prefix nodefault
#
route-policy pref-rr2 permit node 10
 if-match ip-prefix nodefault
#
return

(2)配置隧道策略和隧道选择器

后面需要配置TE隧道,这里先将隧道策略配置上,后面在介绍mpls时会详细说明。

tunnel-policy IPRAN//配置隧道策略
 tunnel select-seq cr-lsp load-balance-number 1//配置优选CR-LSP隧道,也就是TE。

当从IBGP邻居收来的路由需转发到另外一个IBGP邻居,且转发时修改下一跳为自己时,需要配置隧道选择器将路由迭代到TE隧道。

tunnel-selector IPRAN permit node 10
 apply tunnel-policy IPRAN

(3)配置MP-BGP对等体

对等体族(peer group)的作用:在大型BGP网络中,对等体的数量会很多,其中很多对等体具有相同的策略,在配置时会重复使用一些命令,利用对等体组可以简化配置。当用户想对几个对等体进行相同配置的时候,可以先创建一个对等体组并对其进行相应的配置,然后将对等体再加入到该组中,这样,组内的所有对等体都具有了该组的配置。

修改下一跳为自己(peer next-hop-local )的作用:BGP从IBGP向IBGP对等体通告路由时,默认不修改下一跳,但其IBGP邻居发来的路由的下一跳都是其IBGP邻居的Peer地址,本端对等体所属AS域内的IBGP邻居收到这样的路由后,由于下一跳不可达导致路由无法活跃。因此,需要在ASG上对IBGP邻居配置peer next-hop-local命令,使得发给IBGP邻居的路由的下一跳是其自身的地址,IBGP邻居收到这样的路由后(由于域内都配置了IGP)发现下一跳可达,路由即为活跃路由。也就是CSG发往ASG的路由,默认下一跳为CSG的loopback地址,ASG直接通告该路由给RR时,由于RR至CSG的IGP不可达导致路由无法活跃继续转发,所以ASG需要将CSG发送过来的路由修改下一跳为自己本身。

在使用peer next-hop-local命令在本端设备修改本地引入的路由和本地聚合的路由的下一跳时无法生效,所以在ASG发往CSG默认路由时使用路由策略的方式修改下一跳为自己。

reflect change-path-attribute的作用:路由反射器上不能通过出口策略修改路由路径属性,因为这样配置可能会导致路由循环。所以默认情况下,禁止路由反射器通过出口策略修改路由路径属性。但是如果需要对网络流量进行重新规划,可以执行reflect change-path-attribute命令使能路由反射器通过出口策略修改路由路径属性。反射器上使能reflect change-path-attribute命令后,通过出口策略修改路由路径属性的配置即可生效。

bgp 100
 router-id 10.0.1.1
 peer 10.0.0.3 as-number 100
 peer 10.0.0.3 connect-interface LoopBack0
 peer 10.0.0.4 as-number 100
 peer 10.0.0.4 connect-interface LoopBack0
 group CSG-as-master internal//配置对等体族
 peer CSG-as-master connect-interface LoopBack0
 peer 10.0.2.1 as-number 100
 peer 10.0.2.1 group CSG-as-master//将对等体加入对等体中
 peer 10.0.2.2 as-number 100
 peer 10.0.2.2 group CSG-as-master
 peer 10.0.2.3 as-number 100
 peer 10.0.2.3 group CSG-as-master
 peer 10.0.2.4 as-number 100
 peer 10.0.2.4 group CSG-as-master
 #
 ipv4-family unicast
  undo synchronization//保持默认配置,无需修改
  undo peer CSG-as-master enable
  undo peer 10.0.0.3 enable
  undo peer 10.0.0.4 enable
  undo peer 10.0.2.1 enable
  undo peer 10.0.2.2 enable
  undo peer 10.0.2.3 enable
  undo peer 10.0.2.4 enable
 #
 ipv4-family vpnv4
  reflect change-path-attribute//ensp的router不支持配置该命令,默认支持修改路由属性
  policy vpn-target//保持默认配置,无需修改
  tunnel-selector IPRAN
  peer 10.0.0.3 enable
  peer 10.0.0.3 route-policy pref-rr1 export
  peer 10.0.0.3 next-hop-local//修改下一跳为自己
  peer 10.0.0.4 enable
  peer 10.0.0.4 route-policy pref-rr2 export
  peer 10.0.0.4 next-hop-local//修改下一跳为自己
  peer CSG-as-master enable
  peer CSG-as-master route-policy from-csg-as-master import
  peer CSG-as-master route-policy to-csg-as-master export
  peer CSG-as-master reflect-client
  peer 10.0.2.1 enable
  peer 10.0.2.1 group CSG-as-master
  peer 10.0.2.2 enable
  peer 10.0.2.2 group CSG-as-master
  peer 10.0.2.3 enable
  peer 10.0.2.3 group CSG-as-master
  peer 10.0.2.4 enable
  peer 10.0.2.4 group CSG-as-master

3、配置备ASG

(1)配置路由策略

配置选择备ASG的路由策略:

ip ip-prefix default index 10 permit 0.0.0.0 0
ip ip-prefix nodefault index 10 deny 0.0.0.0 0
ip ip-prefix nodefault index 20 permit 0.0.0.0 0 less-equal 32
route-policy to-csg-as-slave permit node 10
 if-match ip-prefix default
 apply ip-address next-hop peer-address
 apply cost 203
route-policy from-csg-as-slave permit node 10
 apply cost 203
 apply preferred-value 10

配置形成VPN FRR的路由策略(在RR上配置入口策略方式):

route-policy pref-rr1 permit node 10 //发布路由给主RR做反射,ASG3为CSG的主ASG时,MED值不变
 if-match ip-prefix nodefault
route-policy pref-rr2 permit node 10 //发布路由给备RR做反射,ASG3为CSG的主ASG时,MED值不变
 if-match ip-prefix nodefault

(2)配置隧道策略和隧道选择器

tunnel-policy IPRAN
 tunnel select-seq cr-lsp load-balance-number 1
 #
tunnel-selector IPRAN permit node 10
 apply tunnel-policy IPRAN

(3)配置MP-BGP对等体

bgp 100
 router-id 10.0.1.2
 peer 10.0.0.3 as-number 100
 peer 10.0.0.3 connect-interface LoopBack0
 peer 10.0.0.4 as-number 100
 peer 10.0.0.4 connect-interface LoopBack0
 group CSG-as-slave internal
 peer CSG-as-slave connect-interface LoopBack0
 peer 10.0.2.1 as-number 100
 peer 10.0.2.1 group CSG-as-slave
 peer 10.0.2.2 as-number 100
 peer 10.0.2.2 group CSG-as-slave
 peer 10.0.2.3 as-number 100
 peer 10.0.2.3 group CSG-as-slave
 peer 10.0.2.4 as-number 100
 peer 10.0.2.4 group CSG-as-slave
 #
 ipv4-family unicast
  undo synchronization
  undo peer CSG-as-slave enable
  undo peer 10.0.0.3 enable
  undo peer 10.0.0.4 enable
  undo peer 10.0.2.1 enable
  undo peer 10.0.2.2 enable
  undo peer 10.0.2.3 enable
  undo peer 10.0.2.4 enable
 #
 ipv4-family vpnv4
  reflect change-path-attribute//ensp的router不支持配置该命令,默认支持修改路由属性
  policy vpn-target
  tunnel-selector IPRAN
  peer 10.0.0.3 enable
  peer 10.0.0.3 route-policy pref-rr1 export
  peer 10.0.0.3 next-hop-local
  peer 10.0.0.4 enable
  peer 10.0.0.4 route-policy pref-rr2 export
  peer 10.0.0.4 next-hop-local
  peer CSG-as-slave enable
  peer CSG-as-slave route-policy from-csg-as-slave import
  peer CSG-as-slave route-policy to-csg-as-slave export
  peer CSG-as-slave reflect-client
  peer 10.0.2.1 enable
  peer 10.0.2.1 group CSG-as-slave
  peer 10.0.2.2 enable
  peer 10.0.2.2 group CSG-as-slave
  peer 10.0.2.3 enable
  peer 10.0.2.3 group CSG-as-slave
  peer 10.0.2.4 enable
  peer 10.0.2.4 group CSG-as-slave

4、配置RR

(1)配置主RR

bgp 100
 router-id 10.0.0.3
 peer 10.0.0.1 as-number 100
 peer 10.0.0.1 connect-interface LoopBack0
 peer 10.0.0.2 as-number 100
 peer 10.0.0.2 connect-interface LoopBack0
 peer 10.0.1.1 as-number 100
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.1.2 as-number 100
 peer 10.0.1.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.0.0.1 enable
  undo peer 10.0.0.2 enable
  undo peer 10.0.1.1 enable
  undo peer 10.0.1.2 enable
 #
 ipv4-family vpnv4
  reflector cluster-id 100//配置路由反射器ID,主备RR配置ID一致
  undo policy vpn-target//需去使能vpn-target
  peer 10.0.0.1 enable
  peer 10.0.0.1 reflect-client
  peer 10.0.0.2 enable
  peer 10.0.0.2 reflect-client
  peer 10.0.1.1 enable
  peer 10.0.1.1 reflect-client
  peer 10.0.1.2 enable
  peer 10.0.1.2 reflect-client

关于reflector cluster-id(路由反射器ID)相关的信息可以看之前的《IPRAN中BGP的概念与原理(下)》中的介绍。

关于policy vpn-target

在BGP/MPLS IP VPN、Kompella方式的VLL、Kompella方式的VPLS和BGP AD VPLS组网中,VPN-Target属性用来对接收到的VPN路由或者标签块进行过滤。如果不配置VPN-Target,则会丢弃接收到的VPN路由或者标签块。

但在如下场景的特定设备上:

  • BGP/MPLS IP VPN、Kompella VPLS或者Kompella VLL骨干网上部署的反射器RR(Route Reflector)。
  • BGP/MPLS IP VPN跨域OptionB方式中的ASBR(不兼做PE)。

不会在其上创建VPN,也就不配置VPN-Target,这样会造成RR或者ASBR上不会保存VPN路由或者标签块。但RR或者ASBR又需要保存所有PE发来的VPN路由或者标签块,为解决这个问题,需要在RR或者ASBR上配置undo policy vpn-target命令,不对VPN路由或者标签块进行VPN-Target过滤。

(2)配置备RR

配置修改MED值的路由策略:

route-policy slave-rr-to-master permit node 5 //备RR接收到的路由发布的MED值如果是103,则匹配修改为503,如果是203,则不做修改。
 if-match cost 103
 apply cost 503
#
route-policy slave-rr-to-master permit node 10 //建立空节点。

配置MP-IBGP邻居:

bgp 100
 router-id 10.0.0.4
 peer 10.0.0.1 as-number 100
 peer 10.0.0.1 connect-interface LoopBack0
 peer 10.0.0.2 as-number 100
 peer 10.0.0.2 connect-interface LoopBack0
 peer 10.0.1.1 as-number 100
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.1.2 as-number 100
 peer 10.0.1.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.0.0.1 enable
  undo peer 10.0.0.2 enable
  undo peer 10.0.1.1 enable
  undo peer 10.0.1.2 enable
 #
 ipv4-family vpnv4
  reflector cluster-id 100//配置路由反射器ID,主备RR配置ID一致
  undo policy vpn-target//需去使能vpn-target
  peer 10.0.0.1 enable
  peer 10.0.0.1 route-policy slave-rr-to-master import
  peer 10.0.0.1 reflect-client
  peer 10.0.0.2 enable
  peer 10.0.0.2 route-policy slave-rr-to-master import
  peer 10.0.0.2 reflect-client
  peer 10.0.1.1 enable
  peer 10.0.1.1 route-policy slave-rr-to-master import
  peer 10.0.1.1 reflect-client
  peer 10.0.1.2 enable
  peer 10.0.1.2 route-policy slave-rr-to-master import
  peer 10.0.1.2 reflect-client

5、配置RSG

(1)配置主RSG

过滤缺省路由,防止CSG直挂RSG时引入的缺省路由发往RR,同时保持MED值不变。(当CSG直挂RSG的场景时,RSG上会配置默认路由下发给CSG):

ip ip-prefix nodefault index 10 deny 0.0.0.0 0//拒绝默认路由通过
ip ip-prefix nodefault index 20 permit 0.0.0.0 0 less-equal 32//允许0~32掩码的其他全部路由通过
route-policy pref-rr1 permit node 10 //过滤缺省路由,防止CSG直挂RSG时引入的缺省路由发往RR,同时保持MED值不变。
 if-match ip-prefix nodefault 
route-policy pref-rr2 permit node 10 //过滤缺省路由,防止CSG直挂RSG时引入的缺省路由发往RR,同时保持MED值不变。
 if-match ip-prefix nodefault

配置MP-BGP

bgp 100
 router-id 10.0.0.1
 peer 10.0.0.3 as-number 100
 peer 10.0.0.3 connect-interface LoopBack0
 peer 10.0.0.4 as-number 100
 peer 10.0.0.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.0.0.3 enable
  undo peer 10.0.0.4 enable
 #
 ipv4-family vpnv4
  reflect change-path-attribute//ensp的router不支持配置该命令,默认支持修改路由属性
  policy vpn-target
  peer 10.0.0.3 enable
  peer 10.0.0.3 route-policy pref-rr1 export
  peer 10.0.0.4 enable
  peer 10.0.0.4 route-policy pref-rr2 export

(2)配置备RSG

主备RSG配置除router-id外完全一致,此处省略。

6、检查配置结果

执行display bgp vpnv4 all peer命令,可以看到BGP对等体关系已建立,并达到Established状态。

# ASG1查询结果
<ASG1>display bgp vpnv4 all peer

 BGP local router ID : 10.0.1.1
 Local AS number : 100
 Total number of peers : 6          Peers in established state : 6

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  10.0.0.3        4         100       23       24     0 00:21:18 Established    
   0
  10.0.0.4        4         100       27       23     0 00:20:50 Established    
   0
  10.0.2.1        4         100       60       60     0 00:58:51 Established    
   0
  10.0.2.2        4         100       60       60     0 00:58:51 Established    
   0
  10.0.2.3        4         100       60       60     0 00:58:51 Established    
   0
  10.0.2.4        4         100       60       60     0 00:58:51 Established    
   0
<ASG1>

# CSG1查询结果
<CSG1>display bgp vpnv4 all peer

 BGP local router ID : 10.0.2.1
 Local AS number : 100
 Total number of peers : 2          Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  10.0.1.1        4         100       61       62     0 00:59:58 Established    
   0
  10.0.1.2        4         100       32       33     0 00:30:42 Established    
   0
<CSG1>

附件:

ensp拓扑组网

设备配置


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xumeng32@126.com

文章标题:IPRAN中的BGP应用ensp模拟实验

文章字数:4.4k

本文作者:F_numen

发布时间:2020-04-10, 20:43:51

最后更新:2020-04-10, 23:35:21

原始链接:https://netheroone.cn/archives/c3ff5c27.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
/*baidu统计*/