当前位置: 首页 > news >正文

华为MPLS Virtual PN option C1(有/无RR)配置wireshark抓包分析

一、MPLS V3PN跨域OptionC1(无RR)

1.配置思路

1)IGP打通

2)在PE创建vpn实例,配置RT、RD绑定物理接口,双向重分布(为了CE-PE学习到路由)

3)建立PE-对端PE之间的BGP-VPNv4邻居关系

4)接着配置MPLS LDP(防止路由黑洞)

5)在ASBR-PE之间建立BGP-IPv4邻居,通告本端PE路由信息,接口开启MPLS(标签识别)

6)在ASBR-PE配置上对本端PE和对端ASBR-PE的路由图(为了打上标签),同时PE与ASBR-PE都开启标签分发功能

由于ASBR-PE无法识别发送过来的私网路由,因此需要BGP标签来

2.配置

PE:
<R1>dis cu
#
ip vpn-instance A
 ipv4-family
  route-distinguisher 1:1
  vpn-target 7:9 export-extcommunity
  vpn-target 7:9 import-extcommunity
#
ip vpn-instance B
 ipv4-family
  route-distinguisher 2:2
  vpn-target 8:10 export-extcommunity
  vpn-target 8:10 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip binding vpn-instance A
 ip address 2.2.17.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip binding vpn-instance B
 ip address 2.2.18.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 1.1.12.1 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 1
 peer 3.3.3.3 as-number 1 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 6.6.6.6 as-number 2 
 peer 6.6.6.6 ebgp-max-hop 15 (因为与对端PE建立,所以跳数多点,否则默认为1)
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  peer 3.3.3.3 enable
  peer 3.3.3.3 label-route-capability(标签方法能力)
  undo peer 6.6.6.6 enable  (建立vpn对等体就把ipv4地址族关闭)
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 6.6.6.6 enable
 #
 ipv4-family vpn-instance A 
  import-route ospf 2
 #
 ipv4-family vpn-instance B 
  import-route rip 1
#
ospf 1 
 area 0.0.0.0   //不开启的话ospf无法建立邻居
#
ospf 2 router-id 1.1.1.1 vpn-instance A
 import-route bgp
 area 0.0.0.0 
  network 2.2.17.0 0.0.0.255 
#
rip 1 vpn-instance B
 undo summary
 version 2
 network 2.0.0.0
 import-route bgp

ASBR:
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
 ip address 1.1.23.3 255.255.255.0 
 ospf enable 1 area 0.0.0.0
 mpls
 mpls ldp
#
interface GigabitEthernet0/0/1
 ip address 1.1.34.3 255.255.255.0 
 mpls(开启标签识别功能)
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
bgp 1
 peer 1.1.1.1 as-number 1 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 1.1.34.4 as-number 2 
 #
 ipv4-family unicast
  network 1.1.1.1 255.255.255.255 
  peer 1.1.1.1 enable
  peer 1.1.1.1 route-policy a2p export
  peer 1.1.1.1 label-route-capability
  peer 1.1.34.4 enable
  peer 1.1.34.4 route-policy a2a export
  peer 1.1.34.4 label-route-capability (路由图打标签的发出调用和标签分发能力开启)
#
ospf 1 
 area 0.0.0.0 
#
route-policy a2a permit node 10 
 apply mpls-label
#
route-policy a2p permit node 10 
 if-match mpls-label 
 apply mpls-label    (路由图的打标签)
#
route-policy a2p permit node 20 (可能有允许的路由通过)

配置疑问:
Q1: 为什么需要 apply mpls-label?
答:MPLS 网络依赖标签转发,BGP 路由默认不带标签,需显式分配。
Q2: if-match mpls-label 用在什么情况?
答:用于匹配已带标签的路由(如跨域场景),避免重复打标签。
Q3: node 20 不加条件会不会导致安全问题?
答:不会,它只是放行剩余路由,实际安全依赖前序节点的精确匹配(如 node 10)。

3.数据包转发分析

标签分发 详细过程

(CE1访问CE2)

①CE2通告IPv4路由给PE2,PE2收到之后转为VPNv4并且打上VPN标签发送给PE1,下一跳为PE2

②ASBR2将去往PE2的路由转发给ASBR1并且打上BGP标签,吓一跳为ASBR2

③ASBR1收到之后将去往PE2的路由转发给PE1,并替换BGP标签,吓一跳为ASBR1

④P2,ASBR2打上去往PE2的MPLS LDP

⑤P1,PE1打上去往ASBR1的MPLS LDP

标签转发图

(R7访问R9)

二、MPLS V3PN跨域OptionC1(有RR)

1.配置思路

1)基础配置(IGP、PE与CE创建VPN实例,绑定接口,双向重分布)

2)RR与对端RR建立BGP-VPNv4邻居关系,ASBR之间建立BGP-IPv4邻居关系,同时通告RR

3)ASBR需与RR建立BGP-IPv4邻居关系并且设置下一跳为自己,路由图(打标签)调用,标签分发能力和公网开启MPLS LDP

4)PE与RR建立BGP-VPNv4邻居关系,RR关闭对RT的识别,RR开启反射,PE、ASBR设置为客户端,同时ASBR需要通告PE路由

5)PE与RR设置下一跳为自己,开启标签分发能力

2.配置

里面为何需要保持下一跳不变是因为AS内传递是会保持下一跳不会,但是如果经过RR或者EBGP传递那么下一跳就会修改为自己。

②配置CE-PE的路由可达
1.创建vpn实例,绑定接口
2.启用IGP(双向重分布)/EBGP
[R6]bgp 2
[R6-bgp]ipv4-family vpn-instance A
[R6-bgp-A]peer 1.1.69.9 as-number 9
[R6-bgp]ipv4-family vpn-instance B
[R6-bgp-B]peer 1.1.106.10 as-number 10
重分布
[R1]ospf 2 vpn-instance A
[R1-ospf-2]import-route bgp 
[R1-ospf-2]bgp 1
[R1-bgp]ipv4-family vpn-instance A
[R1-bgp-A]import-route ospf  2 

③RR之间起EBGPvpnv4邻居关系,ASBR之间建立普通的EBGP关系,同时通告RR,路由图
(由于RR路由不可达则需ASBR传递)
1.配置RR邻居关系
[R11]bgp 1
[R11-bgp]undo default ipv4-unicast 
[R11-bgp]peer 12.12.12.12 as-number 2
[R11-bgp]peer 12.12.12.12 connect-interface lo1
[R11-bgp]peer 12.12.12.12 ebgp-max-hop 15
[R11-bgp]ipv4-family vpnv4 
[R11-bgp-af-vpnv4]peer 12.12.12.12 enable
(右边同理)
2.ASBR之间邻居关系,通告RR
[R3]bgp 1
[R3-bgp]peer 1.1.34.4 as-number 2
[R3-bgp]network 11.11.11.11 32
(右边同理)
3.开启mpls标识,创建路由图
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]mpls 
路由图
[R3]route-policy a2a permit node 10
[R3-route-policy]apply mpls-label 
[R3]route-policy a2p permit node 10
[R3-route-policy]if-match mpls-label 
[R3-route-policy]apply mpls-label 
[R3]route-policy a2p permit node 20
(右边同理)
④ASBR和RR建立普通EBGP,路由图调用,同时开启标签分发协议,开启MPLS LDP(防止路由黑洞)
1.ASBR和RR建立邻居,路由图调用,同时开启标签分发
[R3]bgp 1
[R3-bgp]peer 11.11.11.11 as-number 1
[R3-bgp]peer 11.11.11.11 connect-interface lo1
[R3-bgp]peer 11.11.11.11 label-route-capability 

[R11]bgp 1
[R11-bgp]peer 3.3.3.3 as-number 1
[R11-bgp]peer 3.3.3.3 connect-interface lo1
[R11-bgp]ipv4-family unicast 
[R11-bgp-af-ipv4]peer 3.3.3.3 enable 
[R11-bgp]peer 3.3.3.3 label-route-capability
(右边同理)
路由图调用
[R3-bgp]peer 1.1.34.4 route-policy a2a export 
[R3-bgp]peer 11.11.11.11 route-policy a2p export
(右边同理)
2.开启MPLS LDP
[R11]mpls lsr-id 11.11.11.11	
[R11]mpls 
[R11]mpls ldp
[R11-mpls-ldp]int g0/0/0
[R11-GigabitEthernet0/0/0]mpls 
[R11-GigabitEthernet0/0/0]mpls ldp 
3.PE需要将邻居的下一跳保持不变
(否则传递给对端RR时下一跳为对端RR导致对端PE以为到达对端RR即可)
ipv4-family vpnv4
peer 12.12.12.12 next-hop-invariable 
有学习到但邻居未建立起来是因为吓一跳不可达

但我在R3、R4上开启了标签分发之后就可以了
[R3]bgp 1
[R3-bgp]peer 1.1.34.4 label-route-capability 

[R4]bgp 2
[R4-bgp]peer 1.1.34.3 label-route-capability 

⑤PE与RR之间建立BGPvpnv4
1.PE-RR建立vpnv4
[R1]bgp 1
[R1-bgp]peer 11.11.11.11 as-number 1
[R1-bgp]peer 11.11.11.11 connect-interface lo1
[R1-bgp]ipv4-family vpnv4
[R1-bgp-af-vpnv4]peer 11.11.11.11 enable 

[R11]bgp 1
[R11-bgp]peer 1.1.1.1 as-number 1
[R11-bgp]peer 1.1.1.1 connect-interface lo1
[R11-bgp]ipv4-family vpnv4
[R11-bgp-af-vpnv4]peer 1.1.1.1 enable 
(右边同理)

2.RR关闭对RT的识别(为了接收私网路由)
[R11-bgp]ipv4-family vpnv4
[R11-bgp-af-vpnv4]undo policy vpn-target

3.开启路由反射
(此目的是为了将对端的路由信息反射给本端PE)(ASBR需要通告PE的路由)-----此时产生了次优路径(经过RR)
[R11-bgp]peer 3.3.3.3 reflect-client 
[R11-bgp]ipv4-family vpnv4
[R11-bgp-af-vpnv4]peer 1.1.1.1 reflect-client
[R3]bgp 1
[R3-bgp]network 1.1.1.1 32
右边同理

经过RR设备(并没有设置下一跳保持不变)
⑥将RR与PE建立邻居时候下一跳保持不变
[R11-bgp]ipv4-family vpnv4
[R11-bgp-af-vpnv4]peer 1.1.1.1 next-hop-invariable
(右边同理)
⑦建立BGP邻居关系(任何)都需要开启标签分发能力
[R11-bgp]peer 1.1.1.1 enable
[R11-bgp]peer 1.1.1.1 label-route-capability 

[R1-bgp]peer 11.11.11.11 label-route-capability 
  • 默认行为:BGP 路由器在向 eBGP 邻居通告路由时,会自动修改下一跳为自己的出口地址(遵循 RFC 4271)。路由反射器(RR)默认会修改下一跳

3.数据包转发分析

见上面文章

OptionC1与C2的区别

MPLS VPN OptionC2与C1的差别在于怎么对待ASBR之间的关系

C1是在ASBR上引入BGP标签形式,而C2是直接将ASBR之间的EBGP路由直接引入到IBGP并且开启LSR

lsp-trigger bgp-label-route
指定 仅对带有 BGP 标签的路由触发 LSP(标签交换路径)的建立,而不是对所有 IGP 路由都建立 LSP。

 

相关文章:

  • AgGridReact 禁止checkbox复选框选中(isRowSelectable)
  • uniapp实现小票打印 兼容微信小程序安卓
  • 数据结构和算法(十一)--图
  • 【开发问题记录】高德地图 Web 端开发详解:高德地图 API 最佳实践指南(安装、marker添加、逆向地理编码、实际业务案例实操)
  • 华为MPLS Virtual PN option A配置wireshark抓包分析
  • unidbg读写跟踪还原X-Gorgon
  • BY组态-低代码web可视化组件
  • R语言实现轨迹分析--traj和lcmm包体会
  • 遗传算法优化支持向量机分类是一种将遗传算法与支持向量机相结合的方法
  • 快速入手-基于Django-rest-framework的自身组件权限认证(九)
  • 49. 字母异位词分组
  • 【微服务架构】SpringCloud Alibaba(二):Nacos作为配置中心(Config数据模型、集成SpringBoot、动态刷新原理)
  • 2025 全球音乐 AI 大模型对决:技术革新引领商业变革浪潮
  • 在MVC框架声明视图使用 【UserAuthorize】和【Authorize】及不使用任何修饰的区别?使用场景?优缺点?
  • 【Easylive】JDBC 连接池(Connection Pool)是什么意思?
  • 【大模型】DeepSeek-R1-Distill-Qwen使用Langchain网页部署
  • 【QA】QT有哪些享元模式的设计?
  • 全文 MLIR TOY -- Chapter2: 发出基本的 MLIR——把AST变成SSA的 MLIR Dialect IR
  • 问题大集09-如何实现vite创建的react项目的配置别名路径@
  • mapreduce的工作原理
  • 阿里巴巴国际站靠谱吗/百度快速查询
  • 静安集团网站建设/苏州百度
  • 人和做网站/无经验能做sem专员
  • 苏州园区做网站/什么是电商
  • 上海在线做网站/营销网络是啥意思
  • 郑州金水区网站建设/百度云账号登录