L3VPN over OSPF SR-MPLS BE配置示例
组网需求
CE1、CE2属于vpn1,vpn1使用的VPN-target属性为100:10,配置L3VPN迭代OSPF SR-MPLS BE隧道,保证相同VPN用户之间的安全互访。
组网拓扑
配置思路
采用如下的思路配置L3VPN迭代OSPF SR-MPLS BE隧道:
- 骨干网上配置OSPF实现PE之间的互通;
- 骨干网上使能MPLS,配置Segment Routing,建立SR LSP;
- PE上配置使能IPv4地址族VPN实例,并把与CE相连的接口和相应的VPN实例绑定;
- PE之间配置MP-IBGP交换路由信息;
- CE与PE之间配置EBGP交换路由信息。
配置脚本
1. PE1配置
#
sysname NE1
#
ip vpn-instance vpn1 //配置VPN实例
ipv4-family
route-distinguisher 100:10
vpn-target 100:10 export-extcommunity
vpn-target 100:10 import-extcommunity
#
mpls lsr-id 1.1.1.1
#
mpls //使能mpls,SR是利用标签转发
#
segment-routing //使能segment-routing
#
interface Ethernet1/0/0
ip address 10.1.12.1 255.255.255.0
ospf network-type p2p
#
interface Ethernet1/0/1
ip binding vpn-instance vpn1
ip address 100.1.1.1 255.255.255.252
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
ospf prefix-sid index 10 //配置prefix-sid索引
#
bgp 100
router-id 1.1.1.1
peer 6.6.6.6 as-number 100 //配置IBGP
peer 6.6.6.6 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 6.6.6.6 enable
#
ipv4-family vpnv4
policy vpn-target
peer 6.6.6.6 enable //配置MP-IBGP
#
ipv4-family vpn-instance vpn1
peer 100.1.1.2 as-number 65510 //配置EBGP
#
ospf 10 router-id 1.1.1.1
opaque-capability enable //使能opaque-lsa能力,从而OSPF进程可以生成Opaque LSA,并能从邻居设备接收Opaque LSA
segment-routing mpls //使能OSPF的Segment Routing功能
segment-routing global-block 16000 17999 //配置SRGB标签范围
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.12.0 0.0.0.255
#
2. P1配置
#
sysname NE2
#
mpls lsr-id 2.2.2.2
#
mpls //使能mpls
#
segment-routing //使能segment-routing
#
interface Ethernet1/0/0
ip address 10.1.12.2 255.255.255.0
ospf network-type p2p
#
interface Ethernet1/0/1
ip address 10.1.234.2 255.255.255.0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
ospf prefix-sid index 20 //配置prefix-sid索引
#
ospf 10 router-id 2.2.2.2
opaque-capability enable
segment-routing mpls
segment-routing global-block 16000 17999
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.234.0 0.0.0.255
#
3. P2配置
#
sysname NE3
#
mpls lsr-id 3.3.3.3
#
mpls
#
segment-routing
#
interface Ethernet1/0/0
undo shutdown
ip address 10.1.234.3 255.255.255.0
undo dcn
undo dcn mode vlan
#
interface Ethernet1/0/1
undo shutdown
ip address 10.1.35.3 255.255.255.0
ospf network-type p2p
undo dcn
undo dcn mode vlan
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
ospf prefix-sid index 30
#
ospf 10 router-id 3.3.3.3
opaque-capability enable
segment-routing mpls
segment-routing global-block 16000 17999
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.1.35.0 0.0.0.255
network 10.1.234.0 0.0.0.255
#
4. P3配置
#
sysname NE4
#
mpls lsr-id 4.4.4.4
#
mpls
#
segment-routing
#
interface Ethernet1/0/0
undo shutdown
ip address 10.1.234.4 255.255.255.0
undo dcn
undo dcn mode vlan
#
interface Ethernet1/0/1
undo shutdown
ip address 10.1.45.4 255.255.255.0
ospf network-type p2p
undo dcn
undo dcn mode vlan
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
ospf prefix-sid index 40
#
ospf 10 router-id 4.4.4.4
opaque-capability enable
segment-routing mpls
segment-routing global-block 16000 17999
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 10.1.45.0 0.0.0.255
network 10.1.234.0 0.0.0.255
#
5. P4配置
#
sysname NE5
#
mpls lsr-id 5.5.5.5
#
mpls
#
segment-routing
#
interface Ethernet1/0/0
undo shutdown
ip address 10.1.56.5 255.255.255.0
ospf network-type p2p
undo dcn
undo dcn mode vlan
#
interface Ethernet1/0/1
undo shutdown
ip address 10.1.35.5 255.255.255.0
ospf network-type p2p
undo dcn
undo dcn mode vlan
#
interface Ethernet1/0/2
undo shutdown
ip address 10.1.45.5 255.255.255.0
ospf network-type p2p
undo dcn mode vlan
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
ospf prefix-sid index 50
#
ospf 10 router-id 5.5.5.5
opaque-capability enable
segment-routing mpls
segment-routing global-block 16000 17999
area 0.0.0.0
network 5.5.5.5 0.0.0.0
network 10.1.35.0 0.0.0.255
network 10.1.45.0 0.0.0.255
network 10.1.56.0 0.0.0.255
#
6. PE2配置
#
sysname NE6
#
ip vpn-instance vpn1
ipv4-family
route-distinguisher 100:10
vpn-target 100:10 export-extcommunity
vpn-target 100:10 import-extcommunity
#
mpls lsr-id 6.6.6.6
#
mpls
#
segment-routing
#
interface Ethernet1/0/0
undo shutdown
ip address 10.1.56.6 255.255.255.0
ospf network-type p2p
undo dcn
undo dcn mode vlan
#
interface Ethernet1/0/1
undo shutdown
ip binding vpn-instance vpn1
ip address 100.1.1.5 255.255.255.252
undo dcn
undo dcn mode vlan
#
interface LoopBack0
ip address 6.6.6.6 255.255.255.255
ospf prefix-sid index 60
#
bgp 100
router-id 6.6.6.6
peer 1.1.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
#
ipv4-family vpnv4
policy vpn-target
peer 1.1.1.1 enable
#
ipv4-family vpn-instance vpn1
peer 100.1.1.6 as-number 65520
#
ospf 10 router-id 6.6.6.6
opaque-capability enable
segment-routing mpls
segment-routing global-block 16000 17999
area 0.0.0.0
network 6.6.6.6 0.0.0.0
network 10.1.56.0 0.0.0.255
#
7. CE1配置
#
sysname R1
#
interface GigabitEthernet0/0/0
ip address 100.1.1.2 255.255.255.252
#
interface LoopBack0
ip address 11.11.11.11 255.255.255.255
#
interface LoopBack192
ip address 192.168.1.1 255.255.255.0
#
bgp 65510
router-id 11.11.11.11
peer 100.1.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
network 192.168.1.0
peer 100.1.1.1 enable
#
8. CE2配置
#
sysname R2
#
interface GigabitEthernet0/0/0
ip address 100.1.1.6 255.255.255.252
#
interface LoopBack0
ip address 22.22.22.22 255.255.255.255
#
interface LoopBack192
ip address 192.168.2.1 255.255.255.0
#
bgp 65520
router-id 22.22.22.22
peer 100.1.1.5 as-number 100
#
ipv4-family unicast
undo synchronization
network 192.168.2.0
peer 100.1.1.5 enable
#
- 在PE1上使用display tunnel-info all命令,可以看到SR LSP已建立,以PE1的显示为例。
- 在PE1上使用Ping检测SR LSP连通性,以PE1的显示为例;
- 在PE1上使用display segment-routing prefix mpls forwarding命令来查看Segment Routing的标签转发表信息,以PE1的显示为例:
- 在PE1上使用display segment-routing adjacency mpls forwarding命令来查看Segment Routing邻接标签转发表,以PE1的显示为例。
- OSPF for SR-MPLS
SR-MPLS使用IGP进行拓扑信息、前缀信息、SRGB和标签信息的通告。IGP为了完成上述功能,对于协议报文的TLV进行了一些扩展。OSPF协议主要定义了针对SID和网元SR-MPLS能力的TLV和子TLV(Sub-TLV)。这些TLV携带在OSPF的OSPFv2 Opaque LSA中。
在PE1上使用使用display ospf lsdb 查看链路状态数据库,Type 10 Opaque为OSPF的Opaque LSA
- Opaque LSA头部格式
为了支持Segment Routing,OSPFv2 Opaque LSA中新增了OSPFv2 Extended Prefix Opaque LSA和OSPFv2 Extended Link Opaque LSA。对于原来支持的OSPFv2 Router Information (RI) Opaque LSA中又新增了LSA相关的TLV。
- OSPFv2 Router Information (RI) Opaque LSA:用于通告OSPF设备是否使能SR能力。
- OSPFv2 Extended Prefix Opaque LSA:用于通告OSPF前缀的附加信息。可携带OSPFv2 Extended Prefix TLV和OSPFv2 Extended Prefix Range TLV。
- OSPFv2 Extended Link Opaque LSA:用于通告OSPF链路的附加信息。可携带OSPFv2 Extended Link TLV。
<NE1>display ospf lsdb opaque-area self-originate
OSPF Process 10 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Opq-Area
Ls id : 4.0.0.0
Adv rtr : 1.1.1.1
Ls age : 121
Len : 44
Options : E
seq# : 8000000d
chksum : 0x178
Opaque Type: 4
Opaque Id: 0
Router-Information LSA TLV information: //用于通告OSPF设备是否使能SR能力。
SR-Algorithm TLV:
Algorithm: SPF
SID/Label Range TLV:
Range Size: 2000
SID/Label Sub-TLV:
Label: 16000
Type : Opq-Area
Ls id : 7.0.0.0
Adv rtr : 1.1.1.1
Ls age : 120
Len : 44
Options : E
seq# : 8000000d
chksum : 0x861a
Opaque Type: 7
Opaque Id: 0
OSPFv2 Extended Prefix Opaque LSA TLV information: //用于通告OSPF前缀的附加信息。
OSPFv2 Extended Prefix TLV:
Route Type: Intra-Area
AF: IPv4-Unicast
Flags: 0x40 (-|N|-|-|-|-|-|-)
Prefix: 1.1.1.1/32
Prefix SID Sub-TLV:
Flags: 0x00 (-|-|-|-|-|-|-|-)
MT ID: 0
Algorithm: SPF
Index: 10
Type : Opq-Area
Ls id : 8.0.0.0
Adv rtr : 1.1.1.1
Ls age : 76
Len : 48
Options : E
seq# : 8000000d
chksum : 0xe055
Opaque Type: 8
Opaque Id: 0
OSPFv2 Extended Link Opaque LSA TLV information: //用于通告OSPF链路的附加信息
OSPFv2 Extended Link TLV:
Link Type: P-2-P
Link ID: 2.2.2.2
Link Data: 10.1.12.1
Adj-SID Sub-TLV:
Flags: 0x60 (-|V|L|-|-|-|-|-)
MT ID: 0
Weight: 0
Label: 48020
<NE1>
- 在PE1设备上执行displat peer命令,查看PE1与PE2之间的IBGP对等体关系已建立,并达到Established状态,以PE1的显示为例:
- 在PE1设备上执行display bgp vpnv4 vpn-instance peer命令,可以看到PE1与CE1之间的EBGP对等体关系已建立,并达到Established状态,以PE1的显示为例:
- 检查配置结果,在PE设备上执行display ip routing-table vpn-instance vpn1查看vpn1的路由,以PE1的显示为例:
- 同一VPN的CE能够相互Ping通,例如:CE1能够Ping通CE2。