数通设备配置RD和RT详解

核心结论

配置项 两端是否要一样 原因
RD (Route Distinguisher) 必须不同 用于在 PE 本地唯一标识 VPN 实例,确保路由唯一性
RT (Route Target) 必须匹配 用于控制路由的导入/导出,实现互通

详细解释

1. RD (Route Distinguisher) — 两端必须不同

RD 的作用

  • 使 VPN 实例成为全局唯一的 VPNv4/VPNv6 路由
  • 格式:<ASN>:<编号><IP地址>:<编号>
  • 即使两个 VPN 实例的 IPv4 地址重叠,加上 RD 后也能区分

为什么两端必须不同?

PE-1 上 VPN A: RD = 100:1
PE-2 上 VPN A: RD = 100:2

当 PE-1 发布路由 10.0.0.0/8 时:
- 实际发送的是 RD 100:1:10.0.0.0/8
- PE-2 收到后,会将其导入自己的 VPN 实例

如果两端 RD 相同:
- 理论上也可以工作(某些厂商允许)
- 但会失去区分能力,不推荐
- 路由反射器处理时可能产生歧义

设备配置示例

# PE-1 (NJ-SCT-R03)
ip vpn-instance l3_2348
 route-distinguisher 137749:2258    # 本端用 2258

# PE-2 (对端设备)
ip vpn-instance l3_2348
 route-distinguisher 137749:????    # 应该用不同的值,比如 2259 或 137749:2259

最佳实践

  • 同一个 VPN 在不同 PE 上使用相同的 ASN,但编号部分不同
  • 例如:PE-1 用 137749:2258,PE-2 用 137749:2259

2. RT (Route Target) — 两端必须匹配

RT 的作用

  • 控制 VPN 路由的导入/导出
  • 类似于 VLAN 的 Tag,决定哪些路由可以进入哪个 VPN

为什么两端必须匹配?

PE-1 配置:
  export RT: 137749:2239  → 发布路由时打上标签 "137749:2239"
  import RT: 137749:2239  → 只接收带有标签 "137749:2239" 的路由

PE-2 配置:
  export RT: 137749:2239  → 发布路由时打上标签 "137749:2239"
  import RT: 137749:2239  → 只接收带有标签 "137749:2239" 的路由

结果:两端都能接收对方的路由 ✅

如果 RT 不匹配

PE-1 export: 137749:2239
PE-2 import: 137749:9999  ← 不匹配!

结果:PE-2 收不到 PE-1 的路由 ❌

设备配置示例

# PE-1 (NJ-SCT-R03)
ip vpn-instance l3_2348
 address-family ipv4
  vpn-target 137749:2239 import-extcommunity
  vpn-target 137749:2239 export-extcommunity

# PE-2 (对端设备) — RT 必须完全相同
ip vpn-instance l3_2348
 address-family ipv4
  vpn-target 137749:2239 import-extcommunity   # 相同
  vpn-target 137749:2239 export-extcommunity   # 相同

对比表格

对比项 RD RT
全称 Route Distinguisher Route Target
格式 ASN:NN 或 IP:NN ASN:NN 或 IP:NN
作用范围 本地有效(PE 本地唯一) 全局有效(整个 MPLS/SRv6 网络)
两端是否相同 ❌ 必须不同 ✅ 必须相同
用途 区分不同 VPN 实例的路由 控制路由的导入导出
类比 身份证号码(每人唯一) 社区门禁卡(同一社区用同一把卡)
BGP 中位置 NLRI 的一部分 Community 属性

完整配置示例

假设要在两台 PE 上配置同一个 VPN l3_2348

PE-1 (本端 NJ-SCT-R03)

ip vpn-instance l3_2348
 route-distinguisher 137749:2258          # 本端唯一 RD
 description test
 routing-table limit 15000 75
 address-family ipv4
  default-color 0 evpn
  vpn-target 137749:2239 import-extcommunity   # ← RT
  vpn-target 137749:2239 export-extcommunity   # ← RT

bgp 137749
 ip vpn-instance l3_2348
  address-family ipv4 unicast
   segment-routing ipv6 locator SRv6 evpn
   segment-routing ipv6 traffic-engineering best-effort evpn
   import-route direct

PE-2 (对端设备)

ip vpn-instance l3_2348
 route-distinguisher 137749:2259          # ← 必须不同!用 2259
 description test
 routing-table limit 15000 75
 address-family ipv4
  default-color 0 evpn
  vpn-target 137749:2239 import-extcommunity   # ← RT 完全相同
  vpn-target 137749:2239 export-extcommunity   # ← RT 完全相同

bgp 137749
 ip vpn-instance l3_2348
  address-family ipv4 unicast
   segment-routing ipv6 locator SRv6 evpn       # 可以用相同或不同的 Locator
   segment-routing ipv6 traffic-engineering best-effort evpn
   import-route direct
   import-route static

常见误区

❌ 误区1:RD 两端必须一样

错误理解:同一个 VPN 在不同 PE 上应该用相同的 RD。

正确理解:RD 只需要在同一台 PE 内部唯一即可,不同 PE 之间可以不同。实际上,推荐使用不同的 RD,这样可以:

  • 避免路由混淆
  • 方便排查问题(知道路由来自哪台 PE)

❌ 误区2:RT 两端可以不同

错误理解:只要两端的 import/export 交叉匹配就行。

正确理解:虽然交叉匹配理论上可行(A export 1,B export 2;A import 2,B import 1),但会造成配置混乱。强烈建议使用对称的 RT(两端 import 和 export 都用相同的值)。

❌ 误区3:同一个 VPN 在不同 PE 上必须用相同的 VPN 实例名称

正确理解:VPN 实例名称只是本地配置,不需要相同。但为了方便管理,通常建议保持一致。


总结

场景 RD RT
同一个 VPN 的两端 不同(推荐) 相同(必须)
不同 VPN 不同 不同
Hub-Spoke 架构 不同 可以不对称(Hub 同时 import/export,Spoke 只 export/import 单方向)

总结

RD 是身份证号,每人不同;RT 是社区门禁卡,同一社区用同一种卡。

posted @ 2026-06-16 17:38  未来AI笔记  阅读(40)  评论(0)    收藏  举报