03-MPLS L2VPN典型配置指导
本章节下载: 03-MPLS L2VPN典型配置指导 (436.84 KB)
MPLS L2VPN提供基于MPLS(Multiprotocol Label Switching,多协议标签交换)网络的二层VPN服务,使运营商可以在统一的MPLS网络上提供基于不同数据链路层的二层VPN。
简单来说,MPLS L2VPN就是在MPLS网络上透明传输用户二层数据。从用户的角度来看,MPLS网络是一个二层交换网络,可以在不同节点间建立二层连接。
目前H3C交换机实现MPLS L2VPN的方式主要包括以下四种:
l CCC方式
l SVC方式
l Martini方式
l Kompella方式
CCC方式通过配置静态LSP来实现,使用一层标签来封装用户数据。与其它几种方式相比,CCC的实现更为直接,不需要任何其它标签信令来传递二层VPN信息,只要网络设备能够能支持MPLS转发即可。
但由于CCC方式需要全手工静态配置,扩展性较差,仅能满足个别用户的小范围需求,对于用户站点较多或VPN路径上跨越设备较多的情况,建议使用后面介绍的几种动态MPLS L2VPN技术。
图1-1 配置CCC方式的MPLS L2VPN组网示意图
如图1-1所示,位于不同物理位置的用户网络站点Site1和Site2分别通过CE1和CE2设备接入运营商MPLS网络。为简化配置,用户希望两个Site间互相通信时达到在同一局域网中访问的效果,各VLAN内的数据在穿越运营商网络时不作任何变动,同一VLAN内的设备可以直接互通。
该用户的站点数量不会进行扩充,希望在运营商网中能够得到独立的VPN资源,以保证用户数据的安全。
根据用户的需求,要在两个站点间达到局域网内部访问的效果,可以使用MPLS L2VPN来实现,由CE1发出的二层报文可以原封不动的传输到CE2,从而使用户站点之间可以实现二层的直接通信。由于用户站点数量较少且比较固定,又要求使用独立的VPN资源,因此可以使用CCC远程连接方式的MPLS L2VPN来实现,使用户独占MPLS网络中的两条LSP,保护用户数据的安全。
产品 |
软件版本 |
硬件版本 |
S7500E系列以太网交换机 |
Release 6100系列,Release 6300系列,Release 6600系列软件版本 |
全系列硬件版本 |
S7600系列以太网交换机 |
Release 6600系列软件版本 |
全系列硬件版本 |
为便于理解,下文配置中的设备名称均与图1-1中各设备的标识保持一致。
# 配置上行端口GigabitEthernet2/0/1允许VLAN100和VLAN101的报文携带Tag通过,这里以配置端口为Trunk端口为例。
<CE1> system-view
[CE1] vlan 100 to 101
[CE1] interface GigabitEthernet 2/0/1
[CE1-GigabitEthernet2/0/1] port link-type trunk
[CE1-GigabitEthernet2/0/1] port trunk permit vlan 100 101
(2) 配置PE 1
# 配置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] mpls l2vpn
# 创建VLAN2,并将GigabitEthenret2/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port GigabitEthernet 2/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2,使能MPLS。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] quit
# 创建VLAN10,并将GigabitEthernet2/0/1端口加入VLAN10,创建接口Vlan-interface10。
[PE1] vlan 10
[PE1-vlan10] port GigabitEthernet 2/0/1
[PE1-vlan10] quit
[PE1] interface Vlan-interface 10
[PE1-Vlan-interface10] quit
# 创建CE 1到CE 2的远程连接:入接口为连接CE 1的接口,出接口为连接P的接口;入标签为100,出标签为200。
[PE1] ccc ce1-ce2 interface vlan-interface 10 in-label 100 out-label 200 next-hop 10.1.1.2
(3) 配置P
# 配置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
# 创建VLAN3,将端口GigabitEthernet2/0/1加入VLAN3。
[P] vlan3
[P-vlan3] port GigabitEthernet2/0/1
[P-vlan3] quit
# 配置接口Van-interface3,使能MPLS。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] mpls
[P-Vlan-interface3] quit
# 创建VLAN2,将端口GigabitEthernet2/0/2加入VLAN2。
[P] vlan2
[P-vlan2] port GigabitEthernet2/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2,使能MPLS。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] mpls
[P-Vlan-interface2] quit
# 配置一条静态LSP用于转发由PE 1去往PE 2的报文。
[P] static-lsp transit pe1_pe2 incoming-interface vlan-interface 2 in-label 200 next-hop 10.1.2.2 out-label 201
# 配置另一条静态LSP用于转发由PE 2去往PE 1的报文。
[P] static-lsp transit pe2_pe1 incoming-interface vlan-interface 3 in-label 101 next-hop 10.1.1.1 out-label 100
(4) 配置PE 2
# 配置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] mpls l2vpn
# 创建VLAN11,将GigabitEthernet2/0/1端口加入VLAN11。
[PE2] vlan 11
[PE2-vlan11] port GigabitEthernet 2/0/1
[PE2-vlan11] quit
# 创建接口Vlan-interface11。
[PE2] interface vlan-interface 11
[PE2-Vlan-interface11] quit
# 创建VLAN3,将GigabitEthernet2/0/2端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port GigabitEthernet 2/0/2
[PE2-vlan3] quit
# 配置接口Vlan-interface3,使能MPLS。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] mpls
[PE2-Vlan-interface3] quit
# 创建CE 2到CE 1的远程连接:入接口为连接CE 2的接口,出接口为连接P的接口;入标签为201,出标签为101。
[PE2] ccc ce2-ce1 interface vlan-interface 11 in-label 201 out-label 101 next-hop 10.1.2.1
(5) 配置CE 2
# 配置上行端口GigabitEthernet2/0/1允许VLAN100和VLAN101的报文携带Tag通过,这里以配置端口为Trunk端口为例。
<CE2> system-view
[CE2] vlan 100 to 101
[CE2] interface GigabitEthernet 2/0/1
[CE2-GigabitEthernet2/0/1] port link-type trunk
[CE2-GigabitEthernet2/0/1] port trunk permit vlan 100 101
(6) 配置完成后的检验
# 配置完成后,在PE 1上查看CCC连接信息,可以看到建立了一条CCC远程连接。
[PE1] display ccc
Total ccc vc : 1
Local ccc vc : 0, 0 up
Remote ccc vc : 1, 1 up
***Name : ce1-ce2
Type : remote
State : up
Intf : Vlan-interface10 (up)
In-label : 100
Out-label : 200
Nexthop : 10.1.1.2
# 检测Host A和Server之间是否可以Ping通,如果成功,则表示L2VPN已经建立成功。
l PE1的完整配置
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
vlan 3
#
mpls
#
mpls l2vpn
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.2 255.255.255.0
mpls
#
interface Vlan-interface3
ip address 10.1.1.2 255.255.255.0
mpls
#
interface Vlan-interface10
#
interface GigabitEthernet2/0/1
port access vlan 10
#
interface GigabitEthernet2/0/2
port access vlan 2
#
ccc ce1-ce2 interface Vlan-interface10 in-label 100 out-label 200 nexthop 10.1.1.2
l P的完整配置
#
mpls lsr-id 2.2.2.9
#
vlan 2
#
vlan 10
#
mpls
#
mpls l2vpn
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls
#
interface Vlan-interface3
ip address 10.1.2.1 255.255.255.0
mpls
#
interface GigabitEthernet2/0/1
port access vlan 3
#
interface GigabitEthernet2/0/2
port access vlan 2
#
static-lsp transit pe1_pe2 incoming-interface vlan-interface 2 in-label 200 next-hop 10.1.2.2 out-label 201
static-lsp transit pe2_pe1 incoming-interface vlan-interface 3 in-label 101 next-hop 10.1.1.1 out-label 100
l PE2的完整配置
mpls lsr-id 3.3.3.9
#
vlan 3
#
vlan 11
#
mpls
#
mpls l2vpn
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls
#
interface Vlan-interface11
#
interface GigabitEthernet2/0/1
port access vlan 11
#
interface GigabitEthernet2/0/2
port access vlan 3
#
ccc ce2-ce1 interface vlan-interface 11 in-label 201 out-label 101 next-hop 10.1.2.1
配置CCC方式的MPLS L2VPN时,在PE设备上不需要配置静态LSP,仅需要为每个CCC连接配置入标签和出标签即可,其中入标签为此CCC连接独占,相当于配置了静态LSP;而在P设备上需要配置双向的转发静态LSP,用于传输CCC连接的数据。
SVC方式的MPLS L2VPN使用两层标签来封装用户数据,其中内层标签用于标识PE设备上的VC(即连接到哪一台CE设备),外层标签用于在MPLS域中进行标签转发。外层标签由MPLS域中的LDP协议自动生成,而内层标签,即PE间的VC信息通过命令行手工配置。
SVC的外层标签由LDP协议自动生成,因此在VPN路径跨越P设备较多的情况下,相比CCC方式能够减少大量的静态LSP配置。但由于VC信息是纯手工配置,因此SVC方式仅适用于PE接入的用户站点较少且较为固定的情况。
图1-2 配置SVC方式的MPLS L2VPN组网示意图
如图1-2所示,MPLS网络分别为两个用户提供不同站点间的L2VPN服务。两个用户分别只有位置固定的两个站点,用户要求站点间需要实现二层的直接访问,即各站点相同VLAN内的主机可以直接进行二层通信。
在本例中,MPLS网络内部可以使用LDP来动态生成标签,减少手工配置的工作量。而对于两个PE设备,由于分别都连接有两个不同用户的CE,因此需要配置不同的VC ID来进行标识。需要注意的是,在配置同一用户的SVC连接时,本端PE配置的入标签需要与对端PE配置的出标签保持一致。
表1-2 配置适用的产品与软硬件版本关系
产品 |
软件版本 |
硬件版本 |
S7500E系列以太网交换机 |
Release 6100系列,Release 6300系列,Release 6600系列软件版本 |
全系列硬件版本 |
S7600系列以太网交换机 |
Release 6600系列软件版本 |
全系列硬件版本 |
为便于理解,下文配置中的设备名称均与图1-2中各设备的标识保持一致。
(1) 配置CE
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE1为例,其余CE请参考进行配置,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] interface GigabitEthernet 2/0/1
[CE1-GigabitEthernet2/0/1] port link-type trunk
[CE1-GigabitEthernet2/0/1] port trunk permit vlan 100
(2) 配置PE 1
# 创建VLAN10,并将GigabitEthernet2/0/1端口加入VLAN10,创建接口Vlan-interface10。
<PE1> system-view
[PE1] vlan 10
[PE1-vlan10] port GigabitEthernet 2/0/1
[PE1-vlan10] quit
[PE1] interface Vlan-interface 10
[PE1-Vlan-interface10] quit
# 创建VLAN11,并将GigabitEthernet2/0/4端口加入VLAN11,创建接口Vlan-interface11。
[PE1] vlan 11
[PE1-vlan11] port GigabitEthernet 2/0/4
[PE1-vlan11] quit
[PE1] interface Vlan-interface 11
[PE1-Vlan-interface11] quit
l 配置通过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] mpls l2vpn
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 创建VLAN2,并将GigabitEthenret2/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port GigabitEthernet 2/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2,使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] 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
l 为不同用户的CE设备配置对应的VC ID
# 在接入CE 1的接口Vlan-interface10上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,对该CE的入标签配置为100,出标签配置为101。
[PE1] interface vlan-interface 10
[PE1-Vlan-interface10] mpls static-l2vc destination 3.3.3.9 transmit-vpn-label 101 receive-vpn-label 100
[PE1-Vlan-interface10] quit
# 在接入CE 2的接口Vlan-interface11上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,对该CE的入标签配置为200,出标签配置为201。
[PE1] interface vlan-interface 11
[PE1-Vlan-interface11] mpls static-l2vc destination 3.3.3.9 transmit-vpn-label 201 receive-vpn-label 200
[PE1-Vlan-interface11] quit
(3) 配置P
# 配置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
# 创建VLAN2,将端口GigabitEthernet2/0/2加入VLAN2。
[P] vlan2
[P-vlan2] port GigabitEthernet2/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2,使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] mpls
[P-Vlan-interface2] mpls ldp
[P-Vlan-interface2] quit
# 创建VLAN3,将端口GigabitEthernet2/0/1加入VLAN3。
[P] vlan3
[P-vlan3] port GigabitEthernet2/0/1
[P-vlan3] quit
# 配置接口Van-interface3,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] mpls
[P-Vlan-interface3] mpls ldp
[P-Vlan-interface3] 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
(4) 配置PE 2
# 创建VLAN10,并将GigabitEthernet2/0/1端口加入VLAN10,创建接口Vlan-interface10。
<PE2> system-view
[PE2] vlan 10
[PE2-vlan10] port GigabitEthernet 2/0/1
[PE2-vlan10] quit
[PE2] interface Vlan-interface 10
[PE2-Vlan-interface10] quit
# 创建VLAN11,并将GigabitEthernet2/0/4端口加入VLAN11,创建接口Vlan-interface11。
[PE2] vlan 11
[PE2-vlan11] port GigabitEthernet 2/0/4
[PE2-vlan11] quit
[PE2] interface Vlan-interface 11
[PE2-Vlan-interface11] quit
l 配置通过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] mpls l2vpn
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 创建VLAN3,并将GigabitEthenret2/0/2端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port GigabitEthernet 2/0/2
[PE2-vlan3] quit
# 创建接口Vlan-interface3,使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] mpls
[PE2-Vlan-interface3] mpls ldp
[PE2-Vlan-interface3] 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
l 为不同用户的CE设备配置对应的VC ID
# 在接入CE3的接口Vlan-interface10上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,对该CE的入标签配置为101,出标签配置为100。
[PE2] interface vlan-interface 10
[PE2-Vlan-interface10] mpls static-l2vc destination 1.1.1.9 transmit-vpn-label 100 receive-vpn-label 101
[PE2-Vlan-interface10] quit
# 在接入CE2的接口Vlan-interface11上创建一条SVC方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,对该CE的入标签配置为201,出标签配置为200。
[PE2] interface vlan-interface 11
[PE2-Vlan-interface11] mpls static-l2vc destination 1.1.1.9 transmit-vpn-label 200 receive-vpn-label 201
[PE2-Vlan-interface11] quit
(5) 配置完成后的检验
# 在PE 1上查看SVC的L2VPN连接信息,可以看到建立了两条L2VPN连接。
[PE1] display mpls static-l2vc
Total connections: 2, 2 up, 0 down
ce-intf state destination tr-label rcv-label tnl-policy
Vlan10 up 3.3.3.9 101 100 default
Vlan11 up 3.3.3.9 201 200 default
# 检测同一用户不同站点间的Host和Server是否能够通信,如能够通信,则表示L2VPN已经建立成功。
l PE1的完整配置
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
vlan 10 to 11
#
mpls
lsp-trigger all
#
mpls l2vpn
#
mpls ldp
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface10
mpls static-l2vc destination 3.3.3.9 transmit-vpn-label 101 receive-vpn-label 100
#
interface Vlan-interface11
mpls static-l2vc destination 3.3.3.0 transmit-vpn-label 201 receive-vpn-label 200
#
interface GigabitEthernet2/0/1
port access vlan 10
#
interface GigabitEthernet2/0/2
port access vlan 2
#
interface GigabitEthernet2/0/4
port access vlan 11
#
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
l P的完整配置
#
mpls lsr-id 2.2.2.9
#
vlan 2
#
vlan 3
#
mpls
lsp-trigger all
#
mpls l2vpn
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface3
ip address 10.1.2.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/1
port access vlan 3
#
interface GigabitEthernet2/0/2
port access vlan 2
#
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
l PE2的完整配置
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
vlan 10 to 11
#
mpls
lsp-trigger all
#
mpls ldp
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface10
mpls static-l2vc destination 1.1.1.9 transmit-vpn-label 100 receive-vpn-label 101
#
interface Vlan-interface11
mpls static-l2vc destination 1.1.1.9 transmit-vpn-label 200 receive-vpn-label 201
#
interface GigabitEthernet2/0/1
port access vlan 10
#
interface GigabitEthernet2/0/2
port access vlan 3
#
interface GigabitEthernet2/0/4
port access vlan 11
#
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
在配置SVC方式的MPLS L2VPN时,需要事先规划好各PE上的VC ID配置,并进行严格细致的记录和管理,以保证不同用户的VPN出入标签保持对应,防止用户数据的外泄。
Martini与SVC方式的MPLS L2VPN实现方式类似,同样是使用两层标签来封装用户数据,内层标签用于标识PE设备上的VC,外层标签用于在MPLS域中进行标签转发。外层标签由MPLS域中的LDP协议自动生成。
不同的是,Martini方式的VC标签是通过LDP远程连接在不同PE之间交互的,对于一个PE接入多个CE的组网,这种方式可以将本地新增或移除的VC信息自动发布到远端LDP对等体上,进一步简化了配置。同时,Martini方式的VC ID值并不像SVC方式那样直接体现为标签值,而是用户配置的一个单纯标识,因此更易于记忆和管理。对应用户的标签由设备自动生成和发布,减少了手工配置可能产生的错误,使用户数据的安全性得到进一步的保证。
图1-3 配置Martini方式的MPLS L2VPN组网示意图(基于三层接口配置)
如图1-3所示,MPLS网络为不同用户提供L2VPN服务,其中PE1和PE2作为用户接入设备,接入的用户数量较多且经常变化。现要求使用适当的VPN方案,保证两端用户信息的同步更新,从而为用户提供安全的VPN服务。在本例中,要求MPLS网络首先为CustomerA的两个站点提供VPN服务,然后在CustomerB的两个站点接入时,通过简单的配置完成CustomerB的VPN连接。
由于两个PE上的用户经常变化,因此手工来进行用户信息同步的效率很低,而且容易出错。这种情况下,可以通过在两个PE之间配置远程LDP连接,让PE间通过LDP协议自动同步用户信息(即VC ID),从而保证数据同步的及时性和正确性。而通过远程LDP来实现VC ID同步的方式即称为Martini方式。
在本例中,通过配置Martini方式的MPLS L2VPN,PE设备可以使用两层标签封装用户数据,其中内层标签是从远端PE得到的用户信息,外层标签是在MPLS网络中将数据传输至对端PE时使用的标签(通过LDP协议从P获取)。当远端PE接收到数据后,首先根据外层标签判断该报文应由本设备处理,解除外层封装后,再根据内层标签对应到本地的用户(出接口),从而实现数据的正确传输。
表1-3 配置适用的产品与软硬件版本关系
产品 |
软件版本 |
硬件版本 |
S7500E系列以太网交换机 |
Release 6100系列,Release 6300系列,Release 6600系列软件版本 |
全系列硬件版本 |
S7600系列以太网交换机 |
Release 6600系列软件版本 |
全系列硬件版本 |
为便于理解,下文配置中的设备名称均与图1-3中各设备的标识保持一致。
(1) 配置CE
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE1为例,其余CE请参考进行配置,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] interface GigabitEthernet 2/0/1
[CE1-GigabitEthernet2/0/1] port link-type trunk
[CE1-GigabitEthernet2/0/1] port trunk permit vlan 100
(2) 配置PE 1
# 创建VLAN11,并将GigabitEthernet2/0/4端口加入VLAN11,创建接口Vlan-interface11。
<PE> system-view
[PE1] vlan 11
[PE1-vlan11] port GigabitEthernet 2/0/4
[PE1-vlan11] quit
[PE1] interface Vlan-interface 11
[PE1-Vlan-interface11] quit
l 配置通过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] mpls l2vpn
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 创建VLAN2,并将GigabitEthenret2/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port GigabitEthernet 2/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2,使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] 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
l 为CustomerA的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的接口Vlan-interface11上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,配置CustomerA的用户标识为101。
[PE1] interface vlan-interface 11
[PE1-Vlan-interface11] mpls l2vc 3.3.3.9 101
[PE1-Vlan-interface11] quit
(3) 配置P
# 配置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
# 创建VLAN2,将端口GigabitEthernet2/0/2加入VLAN2。
[P] vlan2
[P-vlan2] port GigabitEthernet2/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2,使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] mpls
[P-Vlan-interface2] mpls ldp
[P-Vlan-interface2] quit
# 创建VLAN3,将端口GigabitEthernet2/0/1加入VLAN3。
[P] vlan3
[P-vlan3] port GigabitEthernet2/0/1
[P-vlan3] quit
# 配置接口Van-interface3,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] mpls
[P-Vlan-interface3] mpls ldp
[P-Vlan-interface3] 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
(4) 配置PE 2
# 创建VLAN10,并将GigabitEthernet2/0/1端口加入VLAN10,创建接口Vlan-interface10。
<PE2> system-view
[PE2] vlan 10
[PE2-vlan10] port GigabitEthernet 2/0/1
[PE2-vlan10] quit
[PE2] interface Vlan-interface 10
[PE2-Vlan-interface10] quit
# 创建VLAN11,并将GigabitEthernet2/0/4端口加入VLAN11,创建接口Vlan-interface11。
[PE2] vlan 11
[PE2-vlan11] port GigabitEthernet 2/0/4
[PE2-vlan11] quit
[PE2] interface Vlan-interface 11
[PE2-Vlan-interface11] quit
l 配置通过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] mpls l2vpn
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 创建VLAN3,并将GigabitEthenret2/0/2端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port GigabitEthernet 2/0/2
[PE2-vlan3] quit
# 创建接口Vlan-interface3,使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] mpls
[PE2-Vlan-interface3] mpls ldp
[PE2-Vlan-interface3] 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
l 为CustomerA的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
# 在接入CE3的接口Vlan-interface11上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,配置CustomerA的用户标识为101。
[PE2] interface vlan-interface 11
[PE2-Vlan-interface11] mpls l2vc 1.1.1.9 101
[PE2-Vlan-interface11] quit
(5) 配置完成后的检验
# 在PE 1上查看L2VPN连接信息,可以看到建立了一条L2VC。
[PE1] display mpls l2vc
Total ldp vc : 1 1 up 0 down
Transport Client Service VC Local Remote Tunnel
VC ID Intf ID State VC Label VC Label Policy
101 Vlan11 -- up 8193 8192 default
# 在PE 2上也可以看到L2VC连接。
[PE2] display mpls l2vc
Total ldp vc : 1 1 up 0 down
Transport Client Service VC Local Remote Tunnel
VC ID Intf ID State VC Label VC Label Policy
101 Vlan11 -- up 8192 8193 default
可以看到,对于VC ID为101的MPLS L2VPN连接,PE1为其分配的本地内层标签为8193,PE2为其分配的本地内层标签为8192,且两个PE设备均已经将本地内层标签传送至对端,成为对端的远程内层标签。
# 检测CustomerA不同站点间的Host和Server是否能够通信,如能够通信,则表示L2VPN已经建立成功。
(6) 为CustomerB提供VPN服务的配置。
# CustomerB的CE设备需要配置上行至PE的端口允许本站点内的报文携带VLAN Tag通过,具体配置请参见CE1
# 当PE上增加站点时,只需要在连接该站点的接口上配置一个Martini方式的MPLS L2VPN连接,并为其指定出口路由器地址和用户标识即可。
l PE1的配置
# 创建VLAN10,并将GigabitEthernet2/0/1端口加入VLAN10,创建接口Vlan-interface10。
[PE1] vlan 10
[PE1-vlan10] port GigabitEthernet 2/0/1
[PE1-vlan10] quit
[PE1] interface Vlan-interface 10
# 在接入CE2的接口Vlan-interface10上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE2的LoopBack接口,配置CustomerB的用户标识为201。
[PE1-Vlan-interface10] mpls l2vc 3.3.3.9 201
[PE1-Vlan-interface10] quit
l PE2的配置
# 创建VLAN10,并将GigabitEthernet2/0/1端口加入VLAN10,创建接口Vlan-interface10。
[PE2] vlan 10
[PE2-vlan10] port GigabitEthernet 2/0/1
[PE2-vlan10] quit
[PE2] interface Vlan-interface 10
# 在接入CE4的接口Vlan-interface10上创建一条Martini方式MPLS L2VPN连接,其中VPN出口路由器指定为PE1的LoopBack接口,配置CustomerB的用户标识为201。
[PE2-Vlan-interface10] mpls l2vc 1.1.1.9 201
[PE2-Vlan-interface10] quit
# 在PE 1上查看L2VPN连接信息,可以看到新增了一条L2VC。
[PE1] display mpls l2vc
Total ldp vc : 2 2 up 0 down
Transport Client Service VC Local Remote Tunnel
VC ID Intf ID State VC Label VC Label Policy
101 Vlan11 -- up 8193 8192 default
201 Vlan10 -- up 8194 8193 default
# 在PE 2上也可以看到新增的L2VC连接。
[PE2] display mpls l2vc
Total ldp vc : 2 2 up 0 down
Transport Client Service VC Local Remote Tunnel
VC ID Intf ID State VC Label VC Label Policy
101 Vlan11 -- up 8192 8193 default
201 Vlan11 -- up 8193 8194 default
l CE1和CE2的完整配置
#
vlan 100
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk permit vlan 100
l PE1的完整配置
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
vlan 10 to 11
#
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 Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface10
mpls l2vc 3.3.3.9 201
#
interface Vlan-interface11
mpls l2vc 3.3.3.9 101
#
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
#
l PE2的完整配置
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
vlan 10 to 11
#
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 Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface10
mpls l2vc 1.1.1.9 201
#
interface Vlan-interface11
mpls l2vc 1.1.1.9 101
#
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
#
Martini方式连接命令主要参数有两个:一个是对端PE的IP地址,一个是VC ID。其中,VC ID必须在PE上唯一,且VPN两端的PE设备上配置的VC ID必须严格保证一致,防止用户数据的外泄。
在VPN用户中,有一些用户希望在物理位置不同的两个机构间建立多个VPN连接,以实现私网数据的分类隔离,例如以部门或业务为区分标准,将私网数据分为多个VPN连接进行传输。在这种情况下,基于三层接口配置的Martini方式MPLS L2VPN便不能满足需求。
此时可以采用基于服务实例配置的Martini方式MPLS L2VPN,该方式通过在以太网端口上创建服务实例来对接收到的报文进行匹配(匹配报文的VLAN ID),与服务实例匹配的报文将通过指定的MPLS L2VPN连接转发。
图1-4 配置Martini方式的MPLS L2VPN组网示意图(基于服务实例配置)
如图1-4所示,MPLS网络为某个用户提供L2VPN服务,该用户在分支机构和总部内分别有研发部和市场部,现要求研发部和市场部使用不同的VPN进行连接,实现部门间的数据隔离。
对PE设备来说,如果需要从同一个接口接收的报文使用不同的MPLS L2VPN进行发送,必须要对报文进行识别。本例中可以采用基于服务实例配置的Martini方式MPLS L2VPN,该方式通过在端口上创建服务实例,对接收到的报文进行匹配,匹配某个实例的报文将通过与该实例绑定的MPLS L2VPN进行转发,从而实现将同一接口接收的报文发往不同VPN连接。
在本例中,需要在PE1和PE2的GigabitEthernet2/0/1端口上配置两个服务实例,分别匹配VLAN100和VLAN200的报文,同时在PE1和PE2之间创建两条MPLS L2VPN连接(使用PW ID进行区分),再将这两个实例与不同的VPN连接进行绑定即可。
表1-4 配置适用的产品与软硬件版本关系
产品 |
软件版本 |
硬件版本 |
S7500E系列以太网交换机 |
Release 6100系列,Release 6300系列,Release 6600系列软件版本 |
全系列硬件版本 |
S7600系列以太网交换机 |
Release8100系列,Release 6600系列软件版本 |
全系列硬件版本 |
为便于理解,下文配置中的设备名称均与图1-4中各设备的标识保持一致。
(1) 配置CE
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE1为例,CE2请参考进行配置,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] vlan 200
[CE1-vlan200] quit
[CE1] interface GigabitEthernet 2/0/1
[CE1-GigabitEthernet2/0/1] port link-type trunk
[CE1-GigabitEthernet2/0/1] port trunk permit vlan 100 200
(2) 配置PE 1
l 配置通过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] mpls l2vpn
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 创建VLAN2,并将GigabitEthenret2/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port GigabitEthernet 2/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2,使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] 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
l 为用户不同部门的数据配置对应的服务实例,并与不同的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
# 配置GigabitEthernet2/0/1为Trunk端口,允许VLAN100和VLAN200的报文通过。
[PE1] interface GigabitEthernet 2/0/1
[PE1-GigabitEthernet2/0/1] port link-type trunk
[PE1-GigabitEthernet2/0/1] port trunk permit vlan 100 200
# 在GigabitEthernet2/0/1端口上创建服务实例100,匹配VLAN100的报文。
[PE1-GigabitEthernet2/0/1] service-instance 100
[PE1-GigabitEthernet2/0/1-srv100] encapsulation s-vid 100
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为3.3.3.9,PW ID为100。
[PE1-GigabitEthernet2/0/1-srv100] xconnect peer 3.3.3.9 pw-id 100
# 在GigabitEthernet2/0/1端口上创建服务实例200,匹配VLAN200的报文。
[PE1-GigabitEthernet2/0/1] service-instance 200
[PE1-GigabitEthernet2/0/1-srv100] encapsulation s-vid 200
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为3.3.3.9,PW ID为200。
[PE1-GigabitEthernet2/0/1-srv100] xconnect peer 3.3.3.9 pw-id 200
(3) 配置P
# 配置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
# 创建VLAN2,将端口GigabitEthernet2/0/2加入VLAN2。
[P] vlan2
[P-vlan2] port GigabitEthernet2/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2,使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] mpls
[P-Vlan-interface2] mpls ldp
[P-Vlan-interface2] quit
# 创建VLAN3,将端口GigabitEthernet2/0/1加入VLAN3。
[P] vlan3
[P-vlan3] port GigabitEthernet2/0/1
[P-vlan3] quit
# 配置接口Van-interface3,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] mpls
[P-Vlan-interface3] mpls ldp
[P-Vlan-interface3] 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
(4) 配置PE 2
l 配置通过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] mpls l2vpn
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 创建VLAN3,并将GigabitEthenret2/0/2端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port GigabitEthernet 2/0/2
[PE2-vlan3] quit
# 创建接口Vlan-interface3,使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] mpls
[PE2-Vlan-interface3] mpls ldp
[PE2-Vlan-interface3] 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
l 为用户不同部门的数据配置对应的服务实例,并与不同的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
# 配置GigabitEthernet2/0/1为Trunk端口,允许VLAN100和VLAN200的报文通过。
[PE2] interface GigabitEthernet 2/0/1
[PE2-GigabitEthernet2/0/1] port link-type trunk
[PE2-GigabitEthernet2/0/1] port trunk permit vlan 100 200
# 在GigabitEthernet2/0/1端口上创建服务实例100,匹配VLAN100的报文。
[PE2-GigabitEthernet2/0/1] service-instance 100
[PE2-GigabitEthernet2/0/1-srv100] encapsulation s-vid 100
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为1.1.1.9,PW ID为100。
[PE2-GigabitEthernet2/0/1-srv100] xconnect peer 1.1.1.9 pw-id 100
# 在GigabitEthernet2/0/1端口上创建服务实例200,匹配VLAN200的报文。
[PE2-GigabitEthernet2/0/1] service-instance 200
[PE2-GigabitEthernet2/0/1-srv100] encapsulation s-vid 200
# 指定该服务实例对应的MPLS L2VPN连接,对端PE地址为1.1.1.9,PW ID为200。
[PE2-GigabitEthernet2/0/1-srv100] xconnect peer 1.1.1.9 pw-id 200
(5) 配置完成后的检验
# 在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 GE2/0/1 100 up 8193 8192
200 GE2/0/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 GE2/0/1 100 up 8192 8193
200 GE2/0/1 200 up 8193 8194
可以看到,对于服务实例100对应的MPLS L2VPN连接,PE1为其分配的本地内层标签为8193,PE2为其分配的本地内层标签为8192;对于服务实例200对应的MPLS L2VPN连接,PE1为其分配的本地内层标签为8194,PE2为其分配的本地内层标签为8193,且两个PE设备均已经将本地内层标签传送至对端,成为对端的远程内层标签。
# 检测CustomerA不同站点间的Host和Server是否能够通信,如能够通信,则表示L2VPN已经建立成功。
l CE1和CE2的完整配置
#
vlan 100
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk permit vlan 100
l PE1的完整配置
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
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 Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/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 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
#
l PE2的完整配置
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
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 Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/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
#
无
Kompella方式的MPLS L2VPN与MPLS L3VPN实现较为接近,是以BGP作为标签交换信令的,各个PE之间通过BGP会话自动发现VPN的各个节点,并使用VPN Target来区分和传递VPN信息,使得VPN组网具备了极大的灵活性和易扩展性。
Kompella方式具有独特的标签分配方式,该方式事先为每个CE分配一个标签区段(标签块),标签区段内包含的标签数量即表示该CE可以与多少个其它CE进行连接,方便今后扩容使用,且有利于标签的管理。
图1-5 配置Kompella方式的MPLS L2VPN组网示意图
如图1-5所示,MPLS网络为用户提供MPLS L2VPN服务,该用户目前部署有3个站点,后续可能增加至15个站点,要求在完成现有组网所需的VPN之后,为该用户预留剩余12个站点的VPN资源,并在新增站点时,能够通过简单的配置建立与现有站点的VPN连接。
按照组网情况,既有PE本地站点间的VPN连接需求,也要实现远程VPN连接,同时还需要预留标签资源,使用Kompella方式的MPLS L2VPN可以满足所有条件。
在本例中,需要在PE1和PE2上分别开启BGP的L2VPN能力,并在二者之间建立对等体关系,用于交互VPN信息。在配置PE与CE的连接时,注意配置CE最多连接的数量为15即可。
产品 |
软件版本 |
硬件版本 |
S7500E系列以太网交换机 |
Release 6100系列,Release 6300系列,Release 6600系列软件版本 |
全系列硬件版本 |
S7600系列以太网交换机 |
Release 6600系列软件版本 |
全系列硬件版本 |
为便于理解,下文配置中的设备名称均与图1-5中各设备的标识保持一致。
(1) 配置CE
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE1为例,其它CE设备请参考进行配置,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] interface GigabitEthernet 2/0/1
[CE1-GigabitEthernet2/0/1] port link-type trunk
[CE1-GigabitEthernet2/0/1] port trunk permit vlan 100
(2) 配置MPLS网络内的LDP LSP连接。
l PE1上的配置。
# 配置触发LSP的建立。
[PE1] mpls
[PE1-mpls] lsp-trigger all
[PE1-mpls] quit
# 全局使能LDP。
[PE1] mpls ldp
[PE1-mpls-ldp] quit
# 创建VLAN2,并将GigabitEthenret2/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port GigabitEthernet 2/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2,使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls ldp
[PE1-Vlan-interface2] 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
l P上的配置
# 配置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
# 创建VLAN2,将端口GigabitEthernet2/0/2加入VLAN2。
[P] vlan2
[P-vlan2] port GigabitEthernet2/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2,使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] mpls
[P-Vlan-interface2] mpls ldp
[P-Vlan-interface2] quit
# 创建VLAN3,将端口GigabitEthernet2/0/1加入VLAN3。
[P] vlan3
[P-vlan3] port GigabitEthernet2/0/1
[P-vlan3] quit
# 配置接口Van-interface3,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] mpls
[P-Vlan-interface3] mpls ldp
[P-Vlan-interface3] 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
l PE2上的配置
# 配置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] mpls l2vpn
[PE2] mpls ldp
[PE2-mpls-ldp] quit
# 创建VLAN3,并将GigabitEthenret2/0/2端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port GigabitEthernet 2/0/2
[PE2-vlan3] quit
# 创建接口Vlan-interface3,使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] mpls
[PE2-Vlan-interface3] mpls ldp
[PE2-Vlan-interface3] 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
(3) 配置PE1和PE2之间的BGP连接以及CE连接
l 配置PE1和PE2之间的BGP连接
# 在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
# 在PE2上创建VLAN10以及对应的接口,并将GigabitEthernet2/0/1端口配置为Trunk端口,加入VLAN10。
[PE2] vlan 10
[PE2-vlan10] quit
[PE1] interface vlan-interface 10
[PE1-Vlan-interface10] quit
[PE1] interface GigabitEthernet 2/0/1
[PE1-GigabitEthernet2/0/1] port link-type trunk
[PE1-GigabitEthernet2/0/1] port trunk permit vlan 10
[PE1-GigabitEthernet2/0/1] quit
# 在PE2上开启BGP进程100,并指定对等体为PE1。
[PE2] bgp 100
[PE2-bgp] peer 1.1.1.9 as-number 100
[PE2-bgp] peer 1.1.1.9 connect-interface loopback 0
# 在PE2上与PE1建立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
# 配置完成后,在PE1和PE2上执行display bgp l2vpn peer命令可以看到二者之间建立了对等体关系,状态为Established。
以PE 1为例:
[PE1] display bgp l2vpn peer
BGP local router ID : 1.1.1.9
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
3.3.3.9 100 2 5 0 0 00:01:07 Established
l 配置PE1和PE2下挂CE之间的连接
# 在PE2上为用户创建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 100:1
# 为CE2在VPN内创建CE ID为2,并配置预留的标签数量为14个。
[PE2-mpls-l2vpn-vpn_a] ce ce2 id 2 range 14
# 在PE2上配置CE2和CE1之间的远程连接。
[PE2-mpls-l2vpn-ce-vpn_a-ce2] connection ce-offset 1 interface Vlan-interface10
# 在PE1上配置CE1和CE2之间的远程连接。
[PE1] mpls l2vpn vpn_a encapsulation vlan
[PE1-mpls-l2vpn-vpn_a] ce ce1
[PE1-mpls-l2vpn-ce-vpn_a-ce1] connection ce-offset 2 interface vlan-interface 11
[PE1-mpls-l2vpn-ce-vpn_a-ce1] 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 Vlan11
# 检测两个站点内的主机间是否可以ping通,如可以ping通,则表示VPN建立成功。
l CE1和CE2的完整配置
#
vlan 100
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk permit vlan 100
l PE1的完整配置
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
vlan 11
#
mpls
lsp-trigger all
#
l2vpn
mpls l2vpn
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface11
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 11
#
interface GigabitEthernet2/0/2
port link-mode bridge
port access vlan 2
#
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 14 default-offset 0
connection ce-offset 2 interface Vlan-interface11
l PE2的完整配置
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
vlan 11
#
mpls
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls
mpls ldp
#
interface Vlan-interface10
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 10
#
interface GigabitEthernet2/0/2
port link-mode bridge
port access vlan 3
#
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 14 default-offset 0
connection ce-offset 1 interface Vlan-interface10
l Kompella方式MPLS L2VPN必须在PE上为每个直接相连的CE所在的VPN创建L2VPN实例。创建L2VPN时指定的封装类型应与CE侧接口的封装类型对应。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!