Sổ tay kỹ thuật

MPLS L3VPN – VRF, RD/RT, PE-CE eBGP trên IOS XR và Junos

how-to#l3vpn#mpls#bgp#iosxr· cập nhật 2026-11-06

Cấu hình VRF, RD/RT, VPNv4 iBGP và PE-CE eBGP cho một khách hàng L3VPN trên IOS XR và Junos, kèm lệnh kiểm tra.

Sửa trang này
Mục lục

Tóm tắt: Mỗi khách hàng một VRF (XR vrf, Junos routing-instances ... instance-type vrf). RD làm route VPN duy nhất, RT quyết định import/export. PE trao đổi route VPNv4 qua iBGP (thường qua RR), next-hop là loopback PE và phải có LSP (LDP hoặc SR-MPLS) tới đó.

Topo ví dụ: PE1 (IOS XR, lo 192.0.2.1) và PE2 (Junos, lo 192.0.2.2) peer VPNv4 với RR 192.0.2.10, AS 64500. Khách hàng CUST-A, RD/RT 64500:100, hai site CE dùng AS 65001.

Luồng hoạt động

flowchart LR CE1["CE1 AS65001"] -->|"eBGP IPv4"| PE1["PE1 IOS XR VRF CUST-A"] PE1 -->|"VPNv4 RD 64500:100 RT export"| RR["RR 192.0.2.10"] RR -->|VPNv4| PE2["PE2 Junos VRF CUST-A"] PE2 -->|"eBGP IPv4"| CE2["CE2 AS65001"] PE1 -.-|"LSP LDP/SR"| PE2

Gói dữ liệu từ CE2 sang CE1 mang hai label: transport label (tới loopback PE1) ở ngoài và VPN label (do PE1 cấp cho prefix/VRF) ở trong.

Cấu hình

IOS XR (PE1)

vrf CUST-A
 address-family ipv4 unicast
  import route-target
   64500:100
  !
  export route-target
   64500:100
  !
 !
!
interface GigabitEthernet0/0/0/1
 vrf CUST-A
 ipv4 address 198.51.100.1 255.255.255.252
!
route-policy PASS
  pass
end-policy
!
router bgp 64500
 bgp router-id 192.0.2.1
 address-family vpnv4 unicast
 !
 neighbor 192.0.2.10
  remote-as 64500
  update-source Loopback0
  address-family vpnv4 unicast
  !
 !
 vrf CUST-A
  rd 64500:100
  address-family ipv4 unicast
   label mode per-vrf
  !
  neighbor 198.51.100.2
   remote-as 65001
   address-family ipv4 unicast
    route-policy PASS in
    route-policy PASS out
    as-override
   !
  !
 !
!

Junos (PE2)

set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.5/30
set routing-instances CUST-A instance-type vrf
set routing-instances CUST-A interface ge-0/0/1.0
set routing-instances CUST-A route-distinguisher 64500:100
set routing-instances CUST-A vrf-target target:64500:100
set routing-instances CUST-A vrf-table-label
set routing-instances CUST-A protocols bgp group CE type external
set routing-instances CUST-A protocols bgp group CE peer-as 65001
set routing-instances CUST-A protocols bgp group CE as-override
set routing-instances CUST-A protocols bgp group CE neighbor 198.51.100.6
set protocols bgp group RR type internal
set protocols bgp group RR local-address 192.0.2.2
set protocols bgp group RR family inet unicast
set protocols bgp group RR family inet-vpn unicast
set protocols bgp group RR neighbor 192.0.2.10

PE trong lab dùng chung RD cho mọi site là đủ. Trong production nên dùng RD riêng cho mỗi PE (ví dụ 192.0.2.1:100) để RR không gộp path, CE multihomed có đường dự phòng sẵn trên PE xa.

Ghi chú thiết kế

Mục IOS XR Junos
RT import/export khác nhau (hub-spoke, extranet) import route-target / export route-target riêng vrf-import / vrf-export policy với community ... members target:... thay cho vrf-target
Một label cho cả VRF label mode per-vrf vrf-table-label
Hai site CE cùng AS as-override trên PE (hoặc allowas-in trên CE) as-override trong group CE
Policy eBGP với CE Bắt buộc route-policy in/out (RFC 8212) Không bắt buộc, nên có import/export

Lệnh kiểm tra

Mục đích IOS XR Junos
VRF và interface show vrf CUST-A detail show route instance CUST-A detail
Session PE-CE show bgp vrf CUST-A summary show bgp summary instance CUST-A
Session VPNv4 với RR show bgp vpnv4 unicast summary show bgp summary
Route trong VRF show route vrf CUST-A show route table CUST-A.inet.0
Route VPNv4 theo RD show bgp vpnv4 unicast rd 64500:100 show route table bgp.l3vpn.0
Label của một prefix VPN show bgp vpnv4 unicast rd 64500:100 203.0.113.0/24 show route table CUST-A.inet.0 203.0.113.0/24 extensive
FIB/label stack thực tế show cef vrf CUST-A 203.0.113.0/24 dòng trên đã có Label operation và next-hop
LSP tới PE xa show mpls forwarding prefix 192.0.2.2/32 show route table inet.3 192.0.2.1/32
Ping trong VRF ping vrf CUST-A 198.51.100.2 ping routing-instance CUST-A 198.51.100.6

Lỗi thường gặp

Triệu chứng Nguyên nhân Cách xử lý
Junos: route VPN nằm trong bgp.l3vpn.0 ở dạng hidden Không có route tới next-hop PE trong inet.3 (thiếu LDP/SR/RSVP) show route table bgp.l3vpn.0 hidden extensive; kiểm tra inet.3
XR: route VPNv4 có nhưng không vào VRF RT import không khớp RT export của PE kia show bgp vpnv4 unicast rd ... <prefix> xem Extended community: RT:
Junos: mất IPv4 unicast trên iBGP sau khi thêm family inet-vpn Khai family tường minh thì Junos chỉ chạy các family được liệt kê Thêm family inet unicast
CE site B không nhận route site A Cùng AS 65001, CE loại route có AS của mình as-override trên PE hoặc allowas-in trên CE
XR: session PE-CE lên nhưng 0 prefix Thiếu route-policy in/out cho eBGP Gắn policy, clear bgp vrf CUST-A ipv4 unicast 198.51.100.2 soft
Ping trong VRF được, traffic lớn rớt MTU core không đủ cho 2 label (+8 byte) Tăng MTU core
Ping PE-CE từ global table thất bại Quên chỉ định VRF ping vrf / ping routing-instance

Tham khảo