06-H3C SR8800 MPLS L2VPN典型配置举例
本章节下载: 06-H3C SR8800 MPLS L2VPN典型配置举例 (394.3 KB)
H3C SR8800 MPLS L2VPN典型配置举例
Copyright © 2014 杭州华三通信技术有限公司 版权所有,保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部, 并不得以任何形式传播。本文档中的信息可能变动,恕不另行通知。 |
本文介绍MPLS L2VPN的配置举例。
MPLS L2VPN提供基于MPLS(Multiprotocol Label Switching,多协议标签交换)网络的二层VPN服务,使运营商可以在统一的MPLS网络上提供基于不同数据链路层的二层VPN。
目前SR8800实现MPLS L2VPN的方式主要包括以下四种:
· CCC方式
· SVC方式
· Martini方式
· Kompella方式
本文档不严格与具体软、硬件版本对应,如果使用过程中与产品实际情况有差异,请参考相关产品手册,或以设备实际情况为准。
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文假设您已了解MPLS L2VPN特性。
· 当系统工作模式为混插标准模式时,设备不支持MPLS L2VPN。
· SPC单板和MPE单板不支持CCC、SVC和Kompella组网方式。
· SPC单板和MPE单板只支持二层以太网接口绑定MPLS L2VPN,不支持三层以太网接口绑定MPLS L2VPN。
· 当MIC-GP4L子卡安装在MPE单板的4号槽位时,该子卡不支持绑定MPLS L2VPN。
· 本文举例中的PE、P设备均使用SPE单板来实现MPLS L2VPN。
如图1所示,位于不同物理位置的用户网络站点Site 1和Site 2分别通过CE 1和CE 2设备接入运营商MPLS网络。为简化配置,用户希望使用CCC方式的MPLS L2VPN,实现:两个Site间互相通信时达到在同一局域网中访问的效果,各VLAN内的数据在穿越运营商网络时不作任何变动,同一VLAN内的设备可以直接互通。
该用户的站点数量不会进行扩充,希望在运营商网中能够得到独立的VPN资源,以保证用户数据的安全。
图1 配置CCC方式的MPLS L2VPN组网图
配置CCC方式的MPLS L2VPN时,在PE设备上不需要配置静态LSP,仅需要为每个CCC连接配置入标签和出标签即可,其中入标签为此CCC连接独占,相当于配置了静态LSP;而在P设备上需要配置双向的转发静态LSP,用于传输CCC连接的数据。由于CCC方式使用的是静态标签,在分配标签时,需要选择16~1023静态标签范围内当前没有使用的标签。
本举例是在SR8800-CMW520-R3725版本上进行配置和验证的。
# 配置上行端口GE3/0/1工作在二层模式,并允许VLAN 100和VLAN 101的报文携带Tag通过。
<CE1> system-view
[CE1] vlan 100 to 101
[CE1] interface gigabitethernet 3/0/1
[CE1-GigabitEthernet3/0/1] port link-mode bridge
[CE1-GigabitEthernet3/0/1] port link-type trunk
[CE1-GigabitEthernet3/0/1] port trunk permit vlan 100 101
[CE1-GigabitEthernet3/0/1] quit
# 配置LSR ID,全局使能MPLS。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
[PE1-mpls] quit
# 全局使能MPLS L2VPN。
[PE1] l2vpn
[PE1-l2vpn] mpls l2vpn
[PE1-l2vpn] quit
# 创建子接口GE3/1/1.100和GE3/1/1.101,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
[PE1] interface gigabitethernet 3/1/1.101
[PE1-GigabitEthernet3/1/1.101]quit
# 进入接口GE3/1/2,使能MPLS。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls
[PE1-GigabitEthernet3/1/2] quit
# 为VLAN100创建CE 1到CE 2的远程连接:入接口为对应VLAN100的子接口GE3/1/1.100,入标签为100,出标签为200,下一跳地址为P的接口地址。
[PE1] ccc ce100-ce200 interface gigabitethernet 3/1/1.100 in-label 100 out-label 200 nexthop 10.1.1.2
# 为VLAN101创建CE 1到CE 2的远程连接:入接口为对应VLAN101的子接口GE3/1/1.101,入标签为101,出标签为201,下一跳地址为P的接口地址。
[PE1] ccc ce101-ce201 interface gigabitethernet 3/1/1.101 in-label 101 out-label 201 nexthop 10.1.1.2
# 配置LSR ID,全局使能MPLS。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
[P] mpls lsr-id 2.2.2.9
[P] mpls
[P-mpls] quit
# 配置接口GE3/1/1,使能MPLS。
[P] interface gigabitethernet3/1/1
[P-GigabitEthernet3/1/1] ip address 10.1.1.2 24
[P-GigabitEthernet3/1/1] mpls
[P-GigabitEthernet3/1/1] quit
# 配置接口GE3/1/2,使能MPLS。
[P] interface gigabitethernet3/1/2
[P-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[P-GigabitEthernet3/1/2] mpls
[P-GigabitEthernet3/1/2] quit
# 配置一条静态LSP用于转发由PE 1去往PE 2,承载了用户VLAN100流量的报文。
[P] static-lsp transit pe1_pe2 incoming-interface gigabitethernet3/1/1 in-label 200 nexthop 10.1.2.2 out-label 400
# 配置一条静态LSP用于转发由PE 1去往PE 2,承载了用户VLAN101流量的报文。
[P] static-lsp transit pe1_pe2 incoming-interface gigabitethernet3/1/1 in-label 201 nexthop 10.1.2.2 out-label 401
# 配置一条静态LSP用于转发由PE 2去往PE 1,承载了用户VLAN100流量的报文。
[P] static-lsp transit pe2_pe1 incoming-interface gigabitethernet3/1/2 in-label 300 nexthop 10.1.1.1 out-label 100
# 配置一条静态LSP用于转发由PE 2去往PE 1,承载了用户VLAN101流量的报文。
[P] static-lsp transit pe2_pe1 incoming-interface gigabitethernet3/1/2 in-label 301 nexthop 10.1.1.1 out-label 101
# 配置LSR ID,全局使能MPLS。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
[PE2-mpls] quit
# 全局使能MPLS L2VPN。
[PE2] l2vpn
[PE2-l2vpn] mpls l2vpn
[PE2-l2vpn] quit
# 创建子接口GE3/1/1.100和GE3/1/1.101,使对应的VLAN报文可以通过。
[PE2] interface gigabitethernet 3/1/1.100
[PE2-GigabitEthernet3/1/1.100]quit
[PE2] interface gigabitethernet 3/1/1.101
[PE2-GigabitEthernet3/1/1.101]quit
# 配置接口GE3/1/2,使能MPLS。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.2 24
[PE2-GigabitEthernet3/1/2] mpls
[PE2-GigabitEthernet3/1/2] quit
# 为VLAN100创建CE 2到CE 1的远程连接:入接口为对应VLAN100的子接口GE3/1/1.100,入标签为400,出标签为300,下一跳地址为P的接口地址。
[PE2] ccc ce400-ce300 interface gigabitethernet 3/1/1.100 in-label 400 out-label 300 nexthop 10.1.2.1
# 为VLAN101创建CE 2到CE 1的远程连接:入接口为对应VLAN101的子接口GE3/1/1.101,入标签为401,出标签为301,下一跳地址为P的接口地址。
[PE2] ccc ce401-ce301 interface gigabitethernet 3/1/1.101 in-label 401 out-label 301 nexthop 10.1.2.1
# 配置上行端口GE3/0/1工作在二层模式,并允许VLAN 100和VLAN 101的报文携带Tag通过。
<CE2> system-view
[CE2] vlan 100 to 101
[CE2] interface gigabitethernet 3/0/1
[CE2-GigabitEthernet3/0/1] port link-mode bridge
[CE2-GigabitEthernet3/0/1] port link-type trunk
[CE2-GigabitEthernet3/0/1] port trunk permit vlan 100 101
[CE2-GigabitEthernet3/0/1] quit
# 在PE 1上查看CCC连接信息,可以看到建立了两条CCC远程连接。
[PE1] display ccc
Total ccc vc : 2
Local ccc vc : 0, 0 up
Remote ccc vc : 2, 2 up
***Name : ce100-ce200
Type : remote
State : up
Intf : GigabitEthernet3/1/1.100 (up)
In-label : 100
Out-label : 200
Nexthop : 10.1.1.2
***Name : ce101-ce201
Type : remote
State : up
Intf : GigabitEthernet3/1/1.101 (up)
In-label : 101
Out-label : 201
Nexthop : 10.1.1.2
# Host A和Server可以ping通。
C:\>ping 192.168.1.12
Pinging 192.168.1.12 with 32 bytes of data:
Reply from 192.168.1.12: bytes=32 time=60ms TTL=255
Reply from 192.168.1.12: bytes=32 time=67ms TTL=255
Reply from 192.168.1.12: bytes=32 time=57ms TTL=255
Reply from 192.168.1.12: bytes=32 time=49ms TTL=255
Ping statistics for 192.168.1.12:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 49ms, Maximum = 67ms, Average = 58ms
· CE 1:
#
vlan 100 to 101
#
interface GigabitEthernet3/0/1
port link-type bridge
port link-type trunk
port trunk permit vlan 100 to 101
· PE 1:
#
mpls lsr-id 1.1.1.9
#
mpls
#
l2vpn
mpls l2vpn
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet3/1/1.100
#
interface GigabitEthernet3/1/1.101
#
interface GigabitEthernet3/1/2
ip address 10.1.1.1 255.255.255.0
mpls
#
ccc ce100-ce200 interface GigabitEthernet 3/1/1.100 in-label 100 out-label 200 nexthop 10.1.1.2
ccc ce101-ce201 interface GigabitEthernet 3/1/1.101 in-label 101 out-label 201 nexthop 10.1.1.2
· P:
#
mpls lsr-id 2.2.2.9
#
mpls
#
l2vpn
mpls l2vpn
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet3/1/1
ip address 10.1.1.2 255.255.255.0
mpls
#
interface GigabitEthernet3/1/2
ip address 10.1.2.1 255.255.255.0
mpls
#
static-lsp transit pe1_pe2 incoming-interface GigabitEthernet3/1/1 in-label 200 nexthop 10.1.2.2 out-label 400
static-lsp transit pe1_pe2 incoming-interface GigabitEthernet3/1/1 in-label 201 nexthop 10.1.2.2 out-label 401
static-lsp transit pe2_pe1 incoming-interface GigabitEthernet3/1/2 in-label 300 nexthop 10.1.1.1 out-label 100
static-lsp transit pe2_pe1 incoming-interface GigabitEthernet3/1/2 in-label 301 nexthop 10.1.1.1 out-label 101
· PE 2:
#
mpls lsr-id 3.3.3.9
#
mpls
#
l2vpn
mpls l2vpn
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface GigabitEthernet3/1/1.100
#
interface GigabitEthernet3/1/1.101
#
interface GigabitEthernet3/1/2
ip address 10.1.2.2 255.255.255.0
mpls
#
ccc ce400-ce300 interface GigabitEthernet 3/1/1.100 in-label 400 out-label 300 nexthop 10.1.2.1
ccc ce401-ce301 interface GigabitEthernet 3/1/1.101 in-label 401 out-label 301 nexthop 10.1.2.1
· CE 2:
#
vlan 100 to 101
#
interface GigabitEthernet3/0/1
port link-type bridge
port link-type trunk
port trunk permit vlan 100 to 101
如图2所示,MPLS网络分别为两个用户提供不同站点间的L2VPN服务。两个用户分别只有位置固定的两个站点,用户要求使用SVC方式的MPLS L2VPN实现站点间需要的二层直接访问,即各站点相同VLAN内的主机可以直接进行二层通信。
图2 配置SVC方式的MPLS L2VPN组网图
在本例中,MPLS网络内部可以使用LDP来动态生成标签,减少手工配置的工作量。而对于两个PE设备,由于分别都连接有两个不同用户的CE,因此需要为每个用户配置不同的VC连接来进行标识。
本举例是在SR8800-CMW520-R3725版本上进行配置和验证的。
在配置SVC方式的MPLS L2VPN时,需要事先规划好各PE上的VC ID配置,并进行严格细致的记录和管理,以保证不同用户的VPN出入标签保持对应,防止用户数据的外泄。
在配置同一用户的SVC连接时,本端PE配置的入标签需要与对端PE配置的出标签保持一致。
#配置上行到PE的接口工作在二层模式,并允许本站点内的报文携带Tag通过,例如CE1的接口GE3/0/1允许VLAN100通过。其余CE请参考进行配置,具体配置步骤省略。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] interface gigabitethernet 3/0/1
[CE1-GigabitEthernet3/0/1] port link-mode bridge
[CE1-GigabitEthernet3/0/1] port link-type trunk
[CE1-GigabitEthernet3/0/1] port trunk permit vlan 100
[CE1-GigabitEthernet3/0/1] quit
(1) 配置通过LDP生成SVC的外层标签
# 配置LSR ID,全局使能MPLS。
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
# 配置触发LSP的建立。
[PE1-mpls] lsp-trigger all
[PE1-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE1] l2vpn
[PE1-l2vpn] mpls l2vpn
[PE1-l2vpn] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
#创建子接口GE3/1/1.100和GE3/1/3.200,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
[PE1] interface gigabitethernet 3/1/3.200
[PE1-GigabitEthernet3/1/3.200]quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls
[PE1-GigabitEthernet3/1/2] mpls ldp
[PE1-GigabitEthernet3/1/2] quit
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
(2) 为不同用户的CE设备配置对应的VC连接
# 在接入CE 1的接口GE3/1/1.100上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,VC ID为100,对该CE的入标签配置为100,出标签配置为101。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet 3/1/1.100] mpls static-l2vc 3.3.3.9 100
[PE1-GigabitEthernet 3/1/1.100-static-l2vc] static label local 100 remote 101
[PE1-GigabitEthernet 3/1/1.100] quit
# 在接入CE 3的接口GE3/1/3.200上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,VC ID为200,对该CE的入标签配置为200,出标签配置为201。
[PE1] interface gigabitethernet 3/1/3.200
[PE1-GigabitEthernet 3/1/3.200] mpls static-l2vc 3.3.3.9 200
[PE1-GigabitEthernet 3/1/3.200-static-l2vc] static label local 200 remote 201
[PE1-GigabitEthernet 3/1/3.200] quit
# 配置LSR ID,全局使能MPLS。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
[P] mpls lsr-id 2.2.2.9
[P] mpls
# 配置触发LSP的建立。
[P-mpls] lsp-trigger all
[P-mpls] quit
# 全局使能LDP。
[P] mpls ldp
[P-mpls-ldp] quit
# 配置接口GE3/1/1,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/1
[P-GigabitEthernet3/1/1] ip address 10.1.1.2 24
[P-GigabitEthernet3/1/1] mpls
[P-GigabitEthernet3/1/1] mpls ldp
[P-GigabitEthernet3/1/1] quit
# 配置接口GE3/1/2,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[P-GigabitEthernet3/1/2] mpls
[P-GigabitEthernet3/1/2] mpls ldp
[P-GigabitEthernet3/1/2] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.2.1 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(1) 配置通过LDP生成SVC的外层标签
# 配置LSR ID,全局使能MPLS。
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
# 配置触发LSP的建立。
[PE2-mpls] lsp-trigger all
[PE2-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE2] l2vpn
[PE2-l2vpn] mpls l2vpn
[PE2-l2vpn] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
#创建子接口GE3/1/1.100和GE3/1/3.200,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
[PE1] interface gigabitethernet 3/1/3.200
[PE1-GigabitEthernet3/1/3.200]quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.2 24
[PE2-GigabitEthernet3/1/2] mpls
[PE2-GigabitEthernet3/1/2] mpls ldp
[PE2-GigabitEthernet3/1/2] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.2 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(2) 为不同用户的CE设备配置对应的VC连接
# 在接入CE 2的接口GE3/1/1.100上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,VC ID为100,对该CE的入标签配置为101,出标签配置为100。
[PE2] interface gigabitethernet 3/1/1.100
[PE2-GigabitEthernet3/1/2.100] mpls static-l2vc 1.1.1.9 100
[PE2-GigabitEthernet3/1/2.100-static-l2vc] static label local 101 remote 100
[PE2-GigabitEthernet 3/1/2.100] quit
# 在接入CE 4的接口GE3/1/3.200上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,VC ID为200,对该CE的入标签配置为201,出标签配置为200。
[PE2] interface gigabitethernet 3/1/2.200
[PE2-GigabitEthernet 3/1/3.200] mpls static-l2vc 1.1.1.9 200
[PE2-GigabitEthernet 3/1/3.200-static-l2vc] static label local 201 remote 200
[PE2-GigabitEthernet 3/1/3.200] quit
# 在PE 1上查看SVC的L2VPN连接信息,可以看到建立了两条L2VPN连接。
[PE1] display mpls static-l2vc
Total connections: 1, 1 up, 0 down
ce-intf state destination tr-label rcv-label tnl-policy
GigabitEthernet3/1/1.100 up 3.3.3.9 101 100 -
GigabitEthernet3/1/3.200 up 3.3.3.9 201 200 -
# 检测CustomerA不同站点间的Host和Server能够通信,表示L2VPN已经建立成功。
C:\>ping 192.168.1.100
Pinging 192.168.1.100 with 32 bytes of data:
Reply from 192.168.1.100: bytes=32 time=73ms TTL=255
Reply from 192.168.1.100: bytes=32 time=55ms TTL=255
Reply from 192.168.1.100: bytes=32 time=56ms TTL=255
Reply from 192.168.1.100: bytes=32 time=61ms TTL=255
Ping statistics for 192.168.1.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 55ms, Maximum = 73ms, Average = 61ms
· CE 1:
#
vlan 100
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100
#
· CE 2:
#
vlan 100
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100
#
· CE 3:
#
vlan 200
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 200
#
· CE 4:
#
vlan 200
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 200
#
· PE 1:
#
mpls lsr-id 1.1.1.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
mpls ldp
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet3/1/1
#
interface GigabitEthernet3/1/1.100
mpls static-l2vc 3.3.3.9 100
static label local 100 remote 101
#
interface GigabitEthernet3/1/2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/3
#
interface GigabitEthernet3/1/3.200
mpls static-l2vc 3.3.3.9 200
static label local 200 remote 201
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 1.1.1.9 0.0.0.0
· P:
#
mpls lsr-id 2.2.2.9
#
mpls
lsp-trigger all
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface GigabitEthernet3/1/1
ip address 10.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/2
ip address 10.1.2.1 255.255.255.0
mpls
mpls ldp
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 2.2.2.9 0.0.0.0
· PE 2:
#
mpls lsr-id 3.3.3.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
mpls ldp
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface GigabitEthernet3/1/1
#
interface GigabitEthernet3/1/1.100
mpls static-l2vc 1.1.1.9 100
static label local 101 remote 100
#
interface GigabitEthernet3/1/2
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/3
#
interface GigabitEthernet3/1/3.200
mpls static-l2vc 1.1.1.9 200
static label local 201 remote 200
#
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
如图3所示,要求MPLS网络首先为CustomerA的两个站点提供VPN服务,然后在CustomerB的两个站点接入时,通过简单的配置完成CustomerB的VPN连接。
图3 Martini方式的MPLS L2VPN配置组网图(基于三层接口配置)
由于PE上每个连接CE的接口都只接入1个Customer,从该接口收到的报文使用同一个MPLS L2VPN,因此可以使用基于三层接口的Martini方式实现MPLS L2VPN连接。
在本例中,需要在PE1和PE2上分别配置对方为自己的远端对等体,并在三层接口上创建Martini方式的VC连接,使得从该接口接收到的报文通过创建的VC连接转发。
本举例是在SR8800-CMW520-R3725版本上进行配置和验证的。
在配置Martini方式的MPLS L2VPN时,需要事先规划好各PE上的VC ID配置,并进行严格细致的记录和管理,以保证不同用户的VPN出入标签保持对应,防止用户数据的外泄。
#配置上行到PE的接口工作在二层模式,并允许本站点内的报文携带Tag通过,例如CE1的接口GE3/0/1允许VLAN100通过。其余CE请参考进行配置,具体配置步骤省略。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] interface gigabitethernet 3/0/1
[CE1-GigabitEthernet3/0/1] port link-mode bridge
[CE1-GigabitEthernet3/0/1] port link-type trunk
[CE1-GigabitEthernet3/0/1] port trunk permit vlan 100
[CE1-GigabitEthernet3/0/1] quit
(1) 配置通过LDP生成Martini的外层标签
# 配置LSR ID,全局使能MPLS。
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
# 配置触发LSP的建立。
[PE1-mpls] lsp-trigger all
[PE1-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE1] l2vpn
[PE1-l2vpn] mpls l2vpn
[PE1-l2vpn] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
#创建子接口GE3/1/1.100和GE3/1/3.200,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
[PE1] interface gigabitethernet 3/1/3.200
[PE1-GigabitEthernet3/1/3.200]quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls
[PE1-GigabitEthernet3/1/2] mpls ldp
[PE1-GigabitEthernet3/1/2] quit
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
(2) 为Customer的CE设备配置对应的VC ID
# 在PE 1与PE 2之间建立LDP远程会话。
[PE1] mpls ldp remote-peer 1
[PE1-mpls-ldp-remote-1] remote-ip 3.3.3.9
[PE1-mpls-ldp-remote-1] quit
# 在接入CE 1的接口GE3/1/1.100上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,配置CustomerA的用户标识为101。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100] mpls l2vc 3.3.3.9 101
[PE1-GigabitEthernet3/1/1.100] quit
#如需接入Customer B,完成以下配置即可:在接入CE 3的接口GE3/1/3.200上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,配置CustomerA的用户标识为201。
[PE1] interface gigabitethernet 3/1/3
[PE1-GigabitEthernet3/1/3.200] mpls l2vc 3.3.3.9 201
[PE1-GigabitEthernet3/1/3.200] quit
# 配置LSR ID,全局使能MPLS。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
[P] mpls lsr-id 2.2.2.9
[P] mpls
# 配置触发LSP的建立。
[P-mpls] lsp-trigger all
[P-mpls] quit
# 全局使能LDP。
[P] mpls ldp
[P-mpls-ldp] quit
# 配置接口GE3/1/1,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/1
[P-GigabitEthernet3/1/1] ip address 10.1.1.2 24
[P-GigabitEthernet3/1/1] mpls
[P-GigabitEthernet3/1/1] mpls ldp
[P-GigabitEthernet3/1/1] quit
# 配置接口GE3/1/2,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/2
[P-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[P-GigabitEthernet3/1/2] mpls
[P-GigabitEthernet3/1/2] mpls ldp
[P-GigabitEthernet3/1/2] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.2.0 1.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(1) 配置通过LDP生成Martini的外层标签
# 配置LSR ID,全局使能MPLS。
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
# 配置触发LSP的建立。
[PE2-mpls] lsp-trigger all
[PE2-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE2] l2vpn
[PE2-l2vpn] mpls l2vpn
[PE2-l2vpn] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
#创建子接口GE3/1/1.100和GE3/1/3.200,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
[PE1] interface gigabitethernet 3/1/3.200
[PE1-GigabitEthernet3/1/3.200]quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.2 24
[PE2-GigabitEthernet3/1/2] mpls
[PE2-GigabitEthernet3/1/2] mpls ldp
[PE2-GigabitEthernet3/1/2] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.2 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(2) 为Customer的CE设备配置对应的VC ID
# 配置PE 1与PE 2建立LDP远程会话。
[PE2] mpls ldp remote-peer 2
[PE2-mpls-ldp-remote-2] remote-ip 1.1.1.9
[PE2-mpls-ldp-remote-2] quit
# 在接入CE 2的接口GE3/1/1.100上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE 1的LoopBack接口,配置CustomerA的用户标识为101。
[PE2] interface gigabitethernet 3/1/1
[PE2-GigabitEthernet 3/1/1] mpls l2vc 1.1.1.9 101
[PE2-GigabitEthernet 3/1/1] quit
#如需接入Customer B,完成以下配置即可:在接入CE4的接口GE3/1/3.200上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,配置CustomerA的用户标识为201。
[PE2] interface gigabitethernet 3/1/3.200
[PE2-GigabitEthernet 3/1/3.200] mpls l2vc 1.1.1.9 201
[PE2-GigabitEthernet 3/1/3.200] quit
# 在PE 1上查看L2VPN连接信息,可以看到建立了两条L2VC。
[PE1] display mpls l2vc
Total ldp vc : 1 1 up 0 down 0 blocked
Transport Client Service VC Local Remote
VC ID Intf ID State VC Label VC Label
101 GE3/1/1.100 -- up 8193 8192
201 GE3/1/3.200 -- up 8194 8193
# 在PE 2上也可以看到L2VC连接。
[PE2] display mpls l2vc
Total ldp vc : 1 1 up 0 down 0 blocked
Transport Client Service VC Local Remote
VC ID Intf ID State VC Label VC Label
101 GE3/1/1.100 -- up 8192 8193
201 GE3/1/3.200 -- up 8193 8194
可以看到,两个PE设备均已经将本地内层标签传送至对端,成为对端的远程内层标签。
# 相同Customer不同站点间的Host和Server能够通信,表示L2VPN已经建立成功,以Customer A中Host 1 ping Server 1为例。
C:\>ping 192.168.1.100
Pinging 192.168.1.100 with 32 bytes of data:
Reply from 192.168.1.100: bytes=32 time=60ms TTL=255
Reply from 192.168.1.100: bytes=32 time=67ms TTL=255
Reply from 192.168.1.100: bytes=32 time=57ms TTL=255
Reply from 192.168.1.100: bytes=32 time=49ms TTL=255
Ping statistics for 192.168.1.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 49ms, Maximum = 67ms, Average = 58ms
· CE 1:
#
vlan 100
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100
#
· CE 2:
#
vlan 100
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100
#
· CE 3:
#
vlan 200
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 200
#
· CE 4:
#
vlan 200
#
interface GigabitEthernet3/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 200
#
· PE 1:
#
mpls lsr-id 1.1.1.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
mpls ldp
#
mpls ldp remote-peer 1
remote-ip 3.3.3.9
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet3/1/1
#
interface GigabitEthernet3/1/1.100
mpls l2vc 3.3.3.9 101
#
interface GigabitEthernet3/1/2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/3
#
interface GigabitEthernet3/1/3.200
mpls l2vc 3.3.3.9 201
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 1.1.1.9 0.0.0.0
#
· P:
#
mpls lsr-id 2.2.2.9
#
mpls
lsp-trigger all
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface GigabitEthernet3/1/1
ip address 10.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/2
ip address 10.1.2.1 255.255.255.0
mpls
mpls ldp
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 2.2.2.9 0.0.0.0
· PE2:
#
mpls lsr-id 3.3.3.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
mpls ldp
#
mpls ldp remote-peer 2
remote-ip 1.1.1.9
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface GigabitEthernet3/1/1
#
interface GigabitEthernet3/1/1.100
mpls l2vc 1.1.1.9 101
#
interface GigabitEthernet3/1/2
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/3
#
interface GigabitEthernet3/1/3.200
mpls l2vc 1.1.1.9 201
#
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
#
如图4所示,MPLS网络为某个公司提供L2VPN服务,该公司在分支机构和总部内分别有研发部和市场部,现要求研发部和市场部使用基于服务实例的Martini方式的MPLS L2VPN实现总部与分支机构之间相同部门的正常通信,部门间的数据隔离。
图4 配置Martini方式的MPLS L2VPN组网示意图(基于服务实例配置)
为了实现VPN1和VPN2通过统一接口连入MPLS网络并实现数据隔离,需要在PE 1和PE 2的GigabitEthernet3/1/1端口上配置两个服务实例,分别匹配VLAN100和VLAN200的报文,同时在PE1和PE2之间创建两条MPLS L2VPN连接(使用PW ID进行区分),再将这两个实例与不同的VPN连接进行绑定。
本举例是在SR8800-CMW520-R3725版本上进行配置和验证的。
由于服务实例需要在二层以太网接口上创建,需要将PE上连接CE侧的接口配置为工作在二层模式。
#配置上行到PE的接口工作在二层模式,并允许本站点内的报文携带Tag通过,例如CE1的接口GE3/0/1允许VLAN100、VLAN200通过。其余CE请参考进行配置,具体配置步骤省略。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] vlan 200
[CE1-vlan200] quit
[CE1] interface gigabitethernet 3/0/1
[CE1-GigabitEthernet3/0/1] port link-mode bridge
[CE1-GigabitEthernet3/0/1] port link-type trunk
[CE1-GigabitEthernet3/0/1] port trunk permit vlan 100 200
[CE1-GigabitEthernet3/0/1] quit
(1) 配置通过LDP生成Martini的外层标签
# 配置LSR ID,全局使能MPLS。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
# 配置触发LSP的建立。
[PE1-mpls] lsp-trigger all
[PE1-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE1] l2vpn
[PE1-l2vpn] mpls l2vpn
[PE1-l2vpn] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls
[PE1-GigabitEthernet3/1/2] mpls ldp
[PE1-GigabitEthernet3/1/2] quit
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
(2) 为用户不同部门的数据配置对应的服务实例,并与不同的MPLS L2VPN绑定
# 在PE 1与PE 2之间建立LDP远程会话。
[PE1] mpls ldp remote-peer 1
[PE1-mpls-ldp-remote-1] remote-ip 3.3.3.9
[PE1-mpls-ldp-remote-1] quit
#将接口GE3/1/1切换为工作在二层模式
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] port link-mode bridge
# 配置接口GE3/1/1为Trunk端口,允许VLAN100和VLAN200的报文通过。
[PE1-GigabitEthernet3/1/1] port link-type trunk
[PE1-GigabitEthernet3/1/1] port trunk permit vlan 100 200
# 在接口GE3/1/1上创建服务实例100,匹配VLAN100的报文。
[PE1-GigabitEthernet3/1/1] service-instance 100
[PE1-GigabitEthernet3/1/1-srv100] encapsulation s-vid 100
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为3.3.3.9,PW ID为100。
[PE1-GigabitEthernet3/1/1-srv100] xconnect peer 3.3.3.9 pw-id 100
# 在接口GE3/1/1上创建服务实例200,匹配VLAN200的报文。
[PE1-GigabitEthernet3/1/1] service-instance 200
[PE1-GigabitEthernet3/1/1-srv200] encapsulation s-vid 200
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为3.3.3.9,PW ID为200。
[PE1-GigabitEthernet3/1/1-srv200] xconnect peer 3.3.3.9 pw-id 200
# 配置LSR ID,全局使能MPLS。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
[P] mpls lsr-id 2.2.2.9
[P] mpls
# 配置触发LSP的建立。
[P-mpls] lsp-trigger all
[P-mpls] quit
# 全局使能LDP。
[P] mpls ldp
[P-mpls-ldp] quit
# 配置接口GE3/1/1,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/1
[P-GigabitEthernet3/1/1] ip address 10.1.1.2 24
[P-GigabitEthernet3/1/1] mpls
[P-GigabitEthernet3/1/1] mpls ldp
[P-GigabitEthernet3/1/1] quit
# 配置接口GE3/1/2,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/2
[P-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[P-GigabitEthernet3/1/2] mpls
[P-GigabitEthernet3/1/2] mpls ldp
[P-GigabitEthernet3/1/2] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.2.2.2 1.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(1) 配置通过LDP生成Martini的外层标签
# 配置LSR ID,全局使能MPLS。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
# 配置触发LSP的建立。
[PE2-mpls] lsp-trigger all
[PE2-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE2] l2vpn
[PE2-l2vpn] mpls l2vpn
[PE2-l2vpn] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 创建接口接口GE3/1/2,使能MPLS和LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.2 24
[PE2-GigabitEthernet3/1/2] mpls
[PE2-GigabitEthernet3/1/2] mpls ldp
[PE2-GigabitEthernet3/1/2] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(2) 为用户不同部门的数据配置对应的服务实例,并与不同的MPLS L2VPN绑定
# 在PE 2与PE 1之间建立LDP远程会话。
[PE2] mpls ldp remote-peer 1
[PE2-mpls-ldp-remote-1] remote-ip 1.1.1.9
[PE2-mpls-ldp-remote-1] quit
#将接口GE3/1/1切换为工作在二层模式
[PE1] interface gigabitethernet 3/1/1
[PE1-GigabitEthernet3/1/1] port link-mode bridge
#配置接口GE3/1/1为Trunk端口,允许VLAN100和VLAN200的报文通过。
[PE2-GigabitEthernet3/1/1] port link-type trunk
[PE2-GigabitEthernet3/1/1] port trunk permit vlan 100 200
# 在接口GE3/1/1上创建服务实例100,匹配VLAN100的报文。
[PE2-GigabitEthernet3/1/1] service-instance 100
[PE2-GigabitEthernet3/1/1-srv100] encapsulation s-vid 100
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为1.1.1.9,PW ID为100。
[PE2-GigabitEthernet3/1/1-srv100] xconnect peer 1.1.1.9 pw-id 100
# 在接口GE3/1/1上创建服务实例200,匹配VLAN200的报文。
[PE2-GigabitEthernet3/1/1] service-instance 200
[PE2-GigabitEthernet3/1/1-srv200] encapsulation s-vid 200
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为1.1.1.9,PW ID为200。
[PE2-GigabitEthernet3/1/1-srv200] xconnect peer 1.1.1.9 pw-id 200
# 在PE 1上查看L2VPN连接信息,可以看到建立了两条L2VC。
[PE1] display mpls l2vc
Total ldp vc : 2 2 up 0 down
Transport Client Service VC Local Remote
VC ID Intf ID State VC Label VC Label
100 GE3/1/1 100 up 8193 8192
200 GE3/1/1 200 up 8194 8193
# 在PE 2上也可以看到L2VC连接。
[PE2] display mpls l2vc
Total ldp vc : 2 2 up 0 down
Transport Client Service VC Local Remote
VC ID Intf ID State VC Label VC Label
100 GE3/1/1 100 up 8192 8193
200 GE3/1/1 200 up 8193 8194
可以看到,两个PE设备均已经将本地内层标签传送至对端,成为对端的远程内层标签。
# 检测分支机构和总部间同一VPN的Host和Server能够通信,表示L2VPN已经建立成功。以研发部为例。
C:\>ping 30.1.1.2
Pinging 30.1.1.2 with 32 bytes of data:
Reply from 30.1.1.2: bytes=32 time=55ms TTL=255
Reply from 30.1.1.2: bytes=32 time=45ms TTL=255
Reply from 30.1.1.2: bytes=32 time=58ms TTL=255
Reply from 30.1.1.2: bytes=32 time=49ms TTL=255
Ping statistics for 30.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 45ms, Maximum = 58ms, Average = 51ms
· CE 1:
#
vlan 100
#
vlan 200
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100 200
#
· CE 2:
#
vlan 100
#
vlan 200
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100 200
#
· PE 1:
#
mpls lsr-id 1.1.1.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
mpls ldp
#
mpls ldp remote-peer 1
remote-ip 3.3.3.9
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet3/1/2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100 200
service-instance 100
encapsulation s-vid 100
xconnect peer 3.3.3.9 pw-id 100
service-instance 200
encapsulation s-vid 200
xconnect peer 3.3.3.9 pw-id 200
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 1.1.1.9 0.0.0.0
#
· P :
#
mpls lsr-id 2.2.2.9
#
mpls
lsp-trigger all
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface GigabitEthernet3/1/1
ip address 10.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/2
ip address 10.1.2.1 255.255.255.0
mpls
mpls ldp
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 2.2.2.9 0.0.0.0
· PE 2:
#
mpls lsr-id 3.3.3.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
mpls ldp
#
mpls ldp remote-peer 1
remote-ip 3.3.3.9
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface GigabitEthernet3/1/2
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 100 200
service-instance 100
encapsulation s-vid 100
xconnect peer 1.1.1.9 pw-id 100
service-instance 200
encapsulation s-vid 200
xconnect peer 1.1.1.9 pw-id 200
#
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
#
如图5所示,MPLS网络为用户提供MPLS L2VPN服务,该用户目前部署有2个站点,后续可能增加至15个站点,要求使用Kompella方式MPLS L2VPN实现:在完成现有组网所需的VPN之后,为该用户预留剩余13个站点的VPN资源,并在新增站点时,能够通过简单的配置建立与现有站点的VPN连接。
图5 Kompella方式的MPLS L2VPN配置组网图
配置Kompella方式MPLS L2VPN时,需要在PE 1和PE 2上分别开启BGP的L2VPN能力,并在二者之间建立对等体关系,用于交互VPN信息。在配置PE与CE的连接时,注意配置预留的标签数量为13个。
本举例是在SR8800-CMW520-R3725版本上进行配置和验证的。
#配置上行到PE的接口工作在二层模式,并允许本站点内的报文携带Tag通过,例如CE1的接口GE3/0/1允许VLAN100通过。其余CE请参考进行配置,具体配置步骤省略。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] interface gigabitethernet 3/0/1
[CE1-GigabitEthernet3/0/1] port link-mode bridge
[CE1-GigabitEthernet3/0/1] port link-type trunk
[CE1-GigabitEthernet3/0/1] port trunk permit vlan 100
[CE1-GigabitEthernet3/0/1] quit
(1) 配置MPLS网络内的LDP LSP连接。
# 配置LSR ID,全局使能MPLS。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.9
[PE1] mpls
# 配置触发LSP的建立。
[PE1-mpls] lsp-trigger all
[PE1-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE1] l2vpn
[PE1-l2vpn] mpls l2vpn
[PE1-l2vpn] quit
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 创建子接口GE3/1/1.100,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] ip address 10.1.1.1 24
[PE1-GigabitEthernet3/1/2] mpls
[PE1-GigabitEthernet3/1/2] mpls ldp
[PE1-GigabitEthernet3/1/2] quit
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.1 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
(2) 配置BGP的L2VPN能力
# 在PE1上开启BGP进程100,并指定对等体为PE2。
[PE1] bgp 100
[PE1-bgp] peer 3.3.3.9 as-number 100
[PE1-bgp] peer 3.3.3.9 connect-interface loopback 0
# 在PE1上与PE2建立L2VPN对等体,并对接收到的VPNv4路由信息使能VPN-Target过滤功能。
[PE1-bgp] l2vpn-family
[PE1-bgp-af-l2vpn] policy vpn-target
[PE1-bgp-af-l2vpn] peer 3.3.3.9 enable
[PE1-bgp-af-l2vpn] quit
[PE1-bgp] quit
(3) 配置L2VPN和CE连接
# 在PE1上为用户创建Kompella的VPN,名为vpn_a,VPN封装类型为VLAN。
[PE1] mpls l2vpn vpn_a encapsulation vlan
# 配置该VPN的RD和VPN Target扩展团体属性,用于与其它用户的VPN进行区分。在配置时注意必须与PE2上的配置保持一致,否则将不能正确接收标签信息。
[PE1-mpls-l2vpn-vpn_a] route-distinguisher 100:1
[PE1-mpls-l2vpn-vpn_a] vpn-target 1:1
# 为CE1在VPN内创建CE ID为1,并配置预留的标签数量为13个。
[PE1-mpls-l2vpn-vpn_a] ce ce1 id 1 range 13
# 在PE1上配置CE1和CE2之间的远程连接。
[PE1-mpls-l2vpn-ce-vpn_a-ce1] connection ce-offset 2 interface gigabitethernet3/1/1.100
[PE1-mpls-l2vpn-ce-vpn_a-ce1] quit
[PE1-mpls-l2vpn-vpn1] quit
# 配置LSR ID,全局使能MPLS。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
[P] mpls lsr-id 2.2.2.9
[P] mpls
# 配置触发LSP的建立。
[P-mpls] lsp-trigger all
[P-mpls] quit
# 全局使能LDP。
[P] mpls ldp
[P-mpls-ldp] quit
# 配置接口GE3/1/1,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/1
[P-GigabitEthernet3/1/1] ip address 10.1.1.2 24
[P-GigabitEthernet3/1/1] mpls
[P-GigabitEthernet3/1/1] mpls ldp
[P-GigabitEthernet3/1/1] quit
# 配置接口GE3/1/2,使能MPLS和LDP。
[P] interface gigabitethernet 3/1/2
[P-GigabitEthernet3/1/2] ip address 10.1.2.1 24
[P-GigabitEthernet3/1/2] mpls
[P-GigabitEthernet3/1/2] mpls ldp
[P-GigabitEthernet3/1/2] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.2.2.2 1.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(1) 配置MPLS网络内的LDP LSP连接。
# 配置LSR ID,全局使能MPLS。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
# 配置触发LSP的建立。
[PE2-mpls] lsp-trigger all
[PE2-mpls] quit
# 全局使能MPLS L2VPN和LDP。
[PE2] l2vpn
[PE2-l2vpn] mpls l2vpn
[PE2-l2vpn] quit
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 创建接口GE3/1/2,使能MPLS和LDP。
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] ip address 10.1.2.2 24
[PE2-GigabitEthernet3/1/2] mpls
[PE2-GigabitEthernet3/1/2] mpls ldp
[PE2-GigabitEthernet3/1/2] quit
# 创建子接口GE3/1/1.100,使对应的VLAN报文可以通过。
[PE1] interface gigabitethernet 3/1/1.100
[PE1-GigabitEthernet3/1/1.100]quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.2 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(2) 配置BGP的L2VPN能力
# 在PE1上开启BGP进程100,并指定对等体为PE2。
[PE2] bgp 100
[PE2-bgp] peer 1.1.1.9 as-number 100
[PE2-bgp] peer 1.1.1.9 connect-interface loopback 0
# 在PE 1上与PE 2建立L2VPN对等体,并对接收到的VPNv4路由信息使能VPN-Target过滤功能。
[PE2-bgp] l2vpn-family
[PE2-bgp-af-l2vpn] policy vpn-target
[PE2-bgp-af-l2vpn] peer 1.1.1.9 enable
[PE2-bgp-af-l2vpn] quit
[PE2-bgp] quit
(3) 配置L2VPN和CE连接
# 在PE 2上为用户创建Kompella的VPN,名为vpn_a,VPN封装类型为VLAN。
[PE2] mpls l2vpn vpn_a encapsulation vlan
# 配置该VPN的RD和VPN Target扩展团体属性,用于与其它用户的VPN进行区分。在配置时注意必须与PE1上的配置保持一致,否则将不能正确接收标签信息。
[PE2-mpls-l2vpn-vpn_a] route-distinguisher 100:1
[PE2-mpls-l2vpn-vpn_a] vpn-target 1:1
# 为CE 2在VPN内创建CE ID为2,并配置预留的标签数量为13个。
[PE2-mpls-l2vpn-vpn_a] ce ce2 id 2 range 13
# 在PE 2上配置CE 1和CE 2之间的远程连接。
[PE2-mpls-l2vpn-ce-vpn_a-ce2] connection ce-offset 1 interface gigabitethernet3/1/1.100
[PE2-mpls-l2vpn-ce-vpn_a-ce2] quit
[PE2-mpls-l2vpn-vpn1] quit
# 完成上述配置后,在PE上执行display mpls l2vpn connection命令,可以看到新建了一条远程L2VPN连接,状态为up。
以PE 1为例:
[PE1] display mpls l2vpn connection
1 total connections,
connections: 1 up, 0 down, 0 local, 1 remote, 0 unknown
VPN name: vpn_a,
1 total connections,
connections: 1 up, 0 down, 0 local, 1 remote, 0 unknown
CE name: ce1, id: 1,
Rid type status peer-id route-distinguisher intf
2 rmt up 3.3.3.9 100:1 GE3/1/1.100
# Host和Server能够通信,表示L2VPN已经建立成功。
C:\>ping 192.168.1.100
Pinging 192.168.1.100 with 32 bytes of data:
Reply from 192.168.1.100: bytes=32 time=80ms TTL=255
Reply from 192.168.1.100: bytes=32 time=74ms TTL=255
Reply from 192.168.1.100: bytes=32 time=34ms TTL=255
Reply from 192.168.1.100: bytes=32 time=56ms TTL=255
Ping statistics for 192.168.1.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 34ms, Maximum = 80ms, Average = 61ms
· CE 1:
#
vlan 100
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100
#
· CE 2:
#
vlan 100
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100
#
· PE 1:
#
mpls lsr-id 1.1.1.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet3/1/1.100
#
interface GigabitEthernet3/1/2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
bgp 100
undo synchronization
peer 3.3.3.9 as-number 100
peer 3.3.3.9 connect-interface LoopBack0
#
l2vpn-family
peer 3.3.3.9 enable
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 1.1.1.9 0.0.0.0
#
mpls l2vpn vpn_a encapsulation vlan
route-distinguisher 100:1
vpn-target 100:1 import-extcommunity
vpn-target 100:1 export-extcommunity
ce ce1 id 1 range 13 default-offset 0
connection ce-offset 2 interface GigabitEthernet3/1/1.100
· P :
#
mpls lsr-id 2.2.2.9
#
mpls
lsp-trigger all
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface GigabitEthernet3/1/1
ip address 10.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/1/2
ip address 10.1.2.1 255.255.255.0
mpls
mpls ldp
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 2.2.2.9 0.0.0.0
· PE 2:
#
mpls lsr-id 3.3.3.9
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface GigabitEthernet3/1/1.100
#
interface GigabitEthernet3/1/2
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
bgp 100
undo synchronization
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack0
#
l2vpn-family
peer 1.1.1.9 enable
#
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
#
mpls l2vpn vpn_a encapsulation vlan
route-distinguisher 100:1
vpn-target 100:1 import-extcommunity
vpn-target 100:1 export-extcommunity
ce ce2 id 2 range 13 default-offset 0
connection ce-offset 1 interface GigabitEthernet3/1/1.100
· 《H3C SR8800万兆核心路由器 MPLS配置指导》中的“MPLS L2VPN”
· 《H3C SR8800万兆核心路由器 MPLS命令参考》中的“MPLS L2VPN”
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!