12-VLAN映射配置
本章节下载 (365.57 KB)
目 录
1.1.1 1:1 VLAN映射和N:1 VLAN映射的应用
1.1.2 1:2 VLAN映射和2:2 VLAN映射的应用
1.7.1 1:1 VLAN映射和N:1 VLAN映射典型配置举例
1.7.2 1:2 VLAN映射和2:2 VLAN映射典型配置举例
VLAN映射(即VLAN Mapping)功能可以修改报文携带的VLAN Tag,提供下面4种映射关系:
l 1:1 VLAN映射:将报文携带VLAN Tag中的VLAN ID修改为另一个VLAN ID。
l N:1 VLAN映射:将来自多个VLAN(VLAN的数量N大于等于2)的报文所携带VLAN Tag中的VLAN ID修改为同一个VLAN ID。
l 1:2 VLAN映射:将携带一层VLAN Tag的报文打上外层VLAN Tag,使报文携带两层VLAN Tag。
l 2:2 VLAN映射:将携带两层VLAN Tag的报文的内外层VLAN ID修改为新的VLAN ID。
仅有SC单板支持以上4种映射关系,其他单板均支持1:1VLAN映射。有关单板的介绍请参见安装手册。
下面将详细介绍这几种映射关系的应用以及工作原理。
1:1 VLAN映射和N:1 VLAN映射主要用于图1-1所示的的园区组网环境。
图1-1 1:1 VLAN映射和N:1 VLAN映射应用示意图
在这种组网环境下,每个家庭用户的不同业务(PC、IPTV、VoIP)分别采用不同的VLAN进行发送,为了区分不同的家庭用户,需要在楼道交换机处将不同家庭用户的相同业务采用不同的VLAN进行发送,即进行1:1 VLAN映射。这样,就需要提供大量的VLAN来隔离不同用户的不同业务,而汇聚层网络接入设备可以提供的VLAN数量有限,所以需要在园区交换机上完成VLAN的汇聚功能,将由多个VLAN发送的不同用户的相同业务采用同一个VLAN进行发送,即进行N:1 VLAN映射。
1:2 VLAN映射和2:2 VLAN映射主要用于图1-2所示的的组网环境。
图1-2 1:2 VLAN映射和2:2 VLAN映射应用示意图
在图中,处于不同地理位置的VPN 1的用户,中间跨越了两个SP(Service Provider,服务提供商)网络进行互通:SP 1和SP 2。
图中左下方的VPN 1用户所在的VLAN为VLAN 10,当报文进入SP 1网络时,报文外面会被打上一层SP 1分配给用户的外层VLAN Tag,VLAN ID为100,这个过程即是1:2 VLAN映射(QinQ也可以实现1:2 VLAN映射功能,具体介绍及配置过程请参见“接入分册”中的“QinQ配置”)。这样,VPN用户可以规划自己的私网VLAN ID,不会导致和SP网络中的VLAN ID冲突,并且可以缓解日益紧缺的SP网络VLAN ID资源问题。在报文由SP 1进入SP 2时,由于SP 2分配给VPN 1用户的VLAN为VLAN 200,和SP 1网络不同,所以需要将报文外层的VLAN Tag改为VLAN 200,同时为了和图中右下方的VPN 1用户互通,需要将内层的用户VLAN改为VLAN 30。这种同时修改内、外两层VLAN Tag的过程,即是2:2 VLAN映射。
为了更好的理解后面的配置过程,此处定义几个概念:
l 上行数据流:从家庭用户网络发往汇聚层网络的数据流、或者从用户网络发往SP网络的数据流,都称之为上行数据流。
l 下行数据流:从汇聚层网络发往家庭用户的数据流、或者从SP网络发往用户网络的数据流,都称之为下行数据流。
l 上行端口:发送上行数据流、接收下行数据流的端口称为上行端口。
l 下行端口:发送下行数据流、接收上行数据流的端口称为下行端口。
l 上行策略:负责上行数据流VLAN映射规则的QoS策略。
l 下行策略:负责下行数据流VLAN映射规则的QoS策略。
(1) 1:1 VLAN映射实现方式
l 对于上行数据流,通过在下行端口上应用上行策略,将原来的CVLAN映射到SVLAN。
l 对于下行数据流,通过在下行端口上应用下行策略,将报文的SVLAN修改为原来的CVLAN。
(2) N:1 VLAN映射实现方式
l 对于上行数据流,通过在下行端口上应用上行策略,将原来的多个CVLAN映射到指定的SVLAN。
l 对于下行数据流,通过查找SVLAN对应的DHCP Snooping表项中的DHCP客户端IP地址、MAC地址、以及CVLAN的绑定表项,将报文的SVLAN修改为原来的CVLAN。
(3) 1:2 VLAN映射实现方式
l 对于上行数据流,通过在下行端口上应用上行策略,为端口收到的来自指定VLAN(CVLAN)的报文再加上一层VLAN Tag(SVLAN)。
l 对于下行数据流,通过将下行端口配置成Hybrid类型,并配置当端口发送SVLAN报文时不带VLAN Tag的方式,将外层VLAN Tag剥离。
(4) 2:2 VLAN映射实现方式
l 对于上行数据流,通过在下行端口上应用上行策略,修改报文的外层VLAN Tag;通过在上行端口上应用上行策略,修改报文的内层VLAN Tag。
l 对于下行数据流,通过在下行端口上应用下行策略,将报文的内、外层VLAN Tag同时修改为原来的值。
l 关于DHCP Snooping功能的介绍请参见“IP业务分册”中的“DHCP配置”。
l 关于QoS策略的介绍请参见“QoS分册”中的“QoS配置”。
用户需要根据网络规划,在不同的设备上进行不同的VLAN映射配置。
表1-1 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置1:1 VLAN映射 |
可选 在图1-1所示的楼道交换机上需要进行此配置 |
|
配置N:1 VLAN映射 |
可选 在图1-1所示的园区交换机上需要进行此配置 |
|
配置1:2 VLAN映射 |
可选 在图1-2所示的组网中,需要在用户进入SP网络的SP网络边缘设备Device A和Device D上进行此配置 |
|
配置2:2 VLAN映射 |
可选 在图1-2所示的组网中,需要在连接两个SP网络的SP 2网络边缘设备Device C上进行此配置 |
在具体的配置过程中会用到一些其他特性,先简单介绍一下这些配置的作用:
l 正常的ARP报文处理流程无法修改ARP报文所属的VLAN,所以需要启用ARP Detection功能,让ARP报文上送CPU进行处理,这样就可以对ARP报文进行VLAN映射。关于ARP Detection功能的介绍请参见“IP业务分册”中的“ARP配置”。
l 为了对端口转发的报文进行过滤控制,防止非法报文通过端口,提高端口的安全性,需要将端口与源IP和源MAC地址进行动态绑定,关于此功能的介绍请参见“安全分册”中的“IP Source Guard配置”。
l 为了节省系统资源,对于转发DHCP报文的DHCP Snooping信任端口不需要记录用户绑定信息。关于此功能的介绍请参见“IP业务分册”中的“DHCP配置”。
在图1-1所示的楼道交换机上需要进行1:1 VLAN映射配置,以便将不同用户的不同业务用不同的VLAN进行隔离。
需要事先规划好CVLAN和SVLAN的映射关系。
表1-2 配置1:1 VLAN映射
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建VLAN(包括CVLAN和SVLAN) |
创建VLAN |
vlan vlan-id |
必选 缺省情况下,系统只有一个缺省VLAN(VLAN 1) |
退回系统视图 |
quit |
||
配置上行策略,将不同用户的不同业务VLAN(CVLAN)映射到不同的VLAN(SVLAN) |
必选 |
||
配置下行策略,将SVLAN映射回原来的CVLAN |
必选 |
||
进入下行端口的接口视图 |
interface interface-type interface-number |
- |
|
配置下行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
|
允许CVLAN和SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
|
开启端口的基本QinQ功能 |
qinq enable |
必选 |
|
在下行端口上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
|
在下行端口上应用下行策略 |
qos apply policy policy-name outbound |
必选 |
|
退回系统视图 |
quit |
- |
|
进入上行端口的接口视图 |
interface interface-type interface-number |
- |
|
配置上行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
|
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配家庭用户不同业务VLAN(CVLAN)的规则 |
if-match customer-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记后报文的VLAN为SVLAN |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记后报文的VLAN为CVLAN |
remark customer-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
l 要求家庭用户中不同业务终端都是通过DHCP方式获取IP地址。关于如何通过DHCP方式获取IP地址,请参见“IP业务分册”中的“DHCP配置”。
l 需要事先规划好CVLAN和SVLAN的映射关系。
表1-5 配置N:1 VLAN映射
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
使能DHCP Snooping功能 |
dhcp-snooping |
必选 缺省情况下,DHCP Snooping功能处于关闭状态 |
|
在每个SVLAN上都使能ARP Detection功能 |
创建VLAN,并进入VLAN视图 |
vlan vlan-id |
必选 缺省情况下,ARP Detection功能处于关闭状态 |
使能ARP Detection功能 |
arp detection enable |
||
退回系统视图 |
quit |
||
配置上行策略,将不同用户的相同业务VLAN(CVLAN)映射到同一个VLAN(SVLAN) |
必选 |
||
进入下行端口的接口视图 |
interface interface-type interface-number |
- |
|
配置下行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
|
允许CVLAN和SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
|
开启端口的用户侧QinQ功能 |
qinq enable downlink |
必选 缺省情况下,端口的用户侧QinQ功能关闭 |
|
在下行端口上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
|
退回系统视图 |
quit |
- |
|
进入上行端口的接口视图 |
interface interface-type interface-number |
- |
|
配置上行端口为DHCP Snooping信任端口 |
dhcp-snooping trust |
必选 缺省情况下,在使能DHCP Snooping功能后,设备的所有端口均为不信任端口 |
|
配置上行端口为ARP信任端口 |
arp detection trust |
必选 缺省情况下,所有端口均为ARP不信任端口 |
|
配置上行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
|
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
|
开启端口的网络侧QinQ功能 |
qinq enable uplink |
必选 缺省情况下,端口的网络侧QinQ功能关闭 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name operator or |
必选 |
定义匹配不同家庭用户相同业务的VLAN(CVLAN)的规则 |
if-match customer-vlan-id { vlan-id-list | vlan-id1 to vlan-id2 } |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记后报文的VLAN ID值(SVLAN) |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为和绑定模式 |
classifier tcl-name behavior behavior-name mode dot1q-tag-manipulation |
必选 |
退回系统视图 |
quit |
- |
l 建议在每个CVLAN上也都使能ARP Detection功能,以起到防攻击的作用。
l 在下行端口上应用策略前,需要先开启端口的用户侧QinQ功能;在下行端口上去使能用户侧QinQ功能之前,需要先解除QoS策略在该端口上的绑定。
l 如果用户想要改变VLAN映射关系,必须先用reset dhcp-snooping命令来清除DHCP Snooping表项(请参见“IP业务分册”中的“DHCP命令”)或者先取消下行端口与源IP和源MAC地址的动态绑定关系后再重新进行绑定(请参见“安全分册”中的“IP Source Guard命令”),然后再修改QoS策略中的VLAN映射关系。
l 在配置N:1VLAN映射时,不能在交换机上为SVLAN和CVLAN创建VLAN接口。
在图1-2所示的组网中,需要在用户进入SP网络的SP网络边缘设备Device A和Device D上进行1:2 VLAN映射配置,以便为报文外面打上一层SP分配给用户的外层VLAN Tag,使得不同用户的报文在SP网络中传输时被完全隔离。
表1-7 配置1:2 VLAN映射
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置下行端口的上行策略,为报文添加外层VLAN Tag(SVLAN) |
配置过程请参见“表1-8配置下行端口的上行策略” |
必选 |
进入下行端口的接口视图 |
interface interface-type interface-number |
- |
配置下行端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
允许SVLAN通过当前Hybrid端口,且发送时不带Tag标签 |
port hybrid vlan vlan-id-list untagged |
必选 缺省情况下,所有Hybrid端口只允许VLAN 1通过 |
开启端口的基本QinQ功能 |
qinq enable |
必选 |
在下行端口上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
退回系统视图 |
quit |
- |
进入上行端口的接口视图 |
interface interface-type interface-number |
- |
配置上行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配用户VLAN(CVLAN)的规则 |
if-match customer-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置添加外层VLAN Tag(SVLAN)的动作 |
nest top-most vlan-id vlan-id-value [ dot1p dot1p-cos-value ] |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
在图1-2所示的组网中,需要在连接两个SP网络的SP 2网络边缘设备Device C上进行2:2 VLAN映射配置,以便使得报文外层VLAN Tag为新SP网络分配给用户的VLAN,而内层的VLAN Tag可以和不同VLAN的同一VPN用户进行互通。
表1-9 配置2:2 VLAN映射
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置上行端口的上行策略,修改内层VLAN(CVLAN)的值 |
配置过程请参见“表1-10配置上行端口的上行策略” |
必选 |
配置下行端口的上行策略,修改外层VLAN(SVLAN)的值 |
配置过程请参见“表1-11配置下行端口的上行策略” |
必选 |
配置下行端口的下行策略,同时将内、外层VLAN(SVLAN和CVLAN)的值修改为原来的值 |
配置过程请参见“表1-12配置下行端口的下行策略” |
必选 |
进入下行端口的接口视图 |
interface interface-type interface-number |
- |
配置下行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
在下行端口上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
在下行端口上应用下行策略 |
qos apply policy policy-name outbound |
必选 |
退回系统视图 |
quit |
- |
进入上行端口的接口视图 |
interface interface-type interface-number |
- |
配置上行端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,所有Trunk端口只允许VLAN 1通过 |
在上行端口上应用上行策略 |
qos apply policy policy-name outbound |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id-value |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记CVLAN的值 |
remark customer-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id-value |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记SVLAN的值 |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类并进入类映射视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id-value |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义一个流行为并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记CVLAN的值 |
remark customer-vlan-id vlan-id-value |
必选 |
配置重标记SVLAN的值 |
remark service-vlan-id vlan-id-value |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略并进入QoS策略视图 |
qos policy policy-name |
必选 |
在策略中为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
退回系统视图 |
quit |
- |
l 用户希望从园区交换机Switch C发出去的相同业务的报文可以用同一个VLAN进行发送,以便节省VLAN资源:PC业务通过VLAN 501发送;IPTV业务通过VLAN 502发送;VoIP业务通过VLAN 503发送。
l 同时,不同家庭的相同业务报文之间要进行隔离,不能产生混淆。
图1-3 1:1 和N:1 VLAN映射配置举例组网图
(1) 配置Switch A
<SwitchA> system-view
# 创建CVLAN和SVLAN。
[SwitchA] vlan 2 to 3
[SwitchA] vlan 101 to 102
[SwitchA] vlan 201 to 202
[SwitchA] vlan 301 to 302
# 配置上行策略,将不同用户的不同业务CVLAN映射到不同的SVLAN。
[SwitchA] traffic classifier c1
[SwitchA-classifier-c1] if-match customer-vlan-id 1
[SwitchA-classifier-c1] traffic classifier c2
[SwitchA-classifier-c2] if-match customer-vlan-id 2
[SwitchA-classifier-c2] traffic classifier c3
[SwitchA-classifier-c3] if-match customer-vlan-id 3
[SwitchA-classifier-c3] quit
[SwitchA] traffic behavior b1
[SwitchA-behavior-b1] remark service-vlan-id 101
[SwitchA-behavior-b1] traffic behavior b2
[SwitchA-behavior-b2] remark service-vlan-id 201
[SwitchA-behavior-b2] traffic behavior b3
[SwitchA-behavior-b3] remark service-vlan-id 301
[SwitchA-behavior-b3] traffic behavior b4
[SwitchA-behavior-b4] remark service-vlan-id 102
[SwitchA-behavior-b4] traffic behavior b5
[SwitchA-behavior-b5] remark service-vlan-id 202
[SwitchA-behavior-b5] traffic behavior b6
[SwitchA-behavior-b6] remark service-vlan-id 302
[SwitchA-behavior-b6] quit
[SwitchA] qos policy p1
[SwitchA-policy-p1] classifier c1 behavior b1
[SwitchA-policy-p1] classifier c2 behavior b2
[SwitchA-policy-p1] classifier c3 behavior b3
[SwitchA-policy-p1] quit
[SwitchA] qos policy p2
[SwitchA-policy-p2] classifier c1 behavior b4
[SwitchA-policy-p2] classifier c2 behavior b5
[SwitchA-policy-p2] classifier c3 behavior b6
[SwitchA-policy-p2] quit
# 配置下行策略,将SVLAN映射回原来的CVLAN。
[SwitchA] traffic classifier c11
[SwitchA-classifier-c11] if-match service-vlan-id 101
[SwitchA-classifier-c11] traffic classifier c22
[SwitchA-classifier-c22] if-match service-vlan-id 201
[SwitchA-classifier-c22] traffic classifier c33
[SwitchA-classifier-c33] if-match service-vlan-id 301
[SwitchA-classifier-c33] traffic classifier c44
[SwitchA-classifier-c44] if-match service-vlan-id 102
[SwitchA-classifier-c44] traffic classifier c55
[SwitchA-classifier-c55] if-match service-vlan-id 202
[SwitchA-classifier-c55] traffic classifier c66
[SwitchA-classifier-c66] if-match service-vlan-id 302
[SwitchA-classifier-c66] quit
[SwitchA] traffic behavior b11
[SwitchA-behavior-b11] remark customer-vlan-id 1
[SwitchA-behavior-b11] traffic behavior b22
[SwitchA-behavior-b22] remark customer-vlan-id 2
[SwitchA-behavior-b22] traffic behavior b33
[SwitchA-behavior-b33] remark customer-vlan-id 3
[SwitchA-behavior-b33] quit
[SwitchA] qos policy p11
[SwitchA-policy-p11] classifier c11 behavior b11
[SwitchA-policy-p11] classifier c22 behavior b22
[SwitchA-policy-p11] classifier c33 behavior b33
[SwitchA-policy-p11] quit
[SwitchA] qos policy p22
[SwitchA-policy-p22] classifier c44 behavior b11
[SwitchA-policy-p22] classifier c55 behavior b22
[SwitchA-policy-p22] classifier c66 behavior b33
[SwitchA-policy-p22] quit
# 配置端口GigabitEthernet2/0/1允许CVLAN和SVLAN的报文通过。
[SwitchA] interface gigabitethernet 2/0/1
[SwitchA-GigabitEthernet2/0/1] port link-type trunk
[SwitchA-GigabitEthernet2/0/1] port trunk permit vlan 1 2 3 101 201 301
# 开启端口GigabitEthernet2/0/1的基本QinQ功能。
[SwitchA-GigabitEthernet2/0/1] qinq enable
# 在端口GigabitEthernet2/0/1的入方向应用上行策略p1。
[SwitchA-GigabitEthernet2/0/1] qos apply policy p1 inbound
# 在端口GigabitEthernet2/0/1的出方向应用下行策略p11。
[SwitchA-GigabitEthernet2/0/1] qos apply policy p11 outbound
[SwitchA-GigabitEthernet2/0/1] quit
# 配置端口GigabitEthernet2/0/2允许CVLAN和SVLAN的报文通过。
[SwitchA] interface gigabitethernet 2/0/2
[SwitchA-GigabitEthernet2/0/2] port link-type trunk
[SwitchA-GigabitEthernet2/0/2] port trunk permit vlan 1 2 3 102 202 302
# 开启端口GigabitEthernet2/0/2的基本QinQ功能。
[SwitchA-GigabitEthernet2/0/2] qinq enable
# 在端口GigabitEthernet2/0/2的入方向应用上行策略p2。
[SwitchA-GigabitEthernet2/0/2] qos apply policy p2 inbound
# 在端口GigabitEthernet2/0/2的出方向应用下行策略p22。
[SwitchA-GigabitEthernet2/0/2] qos apply policy p22 outbound
[SwitchA-GigabitEthernet2/0/2] quit
# 配置端口GigabitEthernet2/0/3允许SVLAN的报文通过。
[SwitchA] interface gigabitethernet 2/0/3
[SwitchA-GigabitEthernet2/0/3] port link-type trunk
[SwitchA-GigabitEthernet2/0/3] port trunk permit vlan 101 201 301 102 202 302
(2) 配置Switch B
<SwitchB> system-view
# 创建CVLAN和SVLAN。
[SwitchB] vlan 2 to 3
[SwitchB] vlan 111 to 112
[SwitchB] vlan 211 to 212
[SwitchB] vlan 311 to 312
# 配置上行策略,将不同用户的不同业务CVLAN映射到不同的SVLAN。
[SwitchB] traffic classifier c1
[SwitchB-classifier-c1] if-match customer-vlan-id 1
[SwitchB-classifier-c1] traffic classifier c2
[SwitchB-classifier-c2] if-match customer-vlan-id 2
[SwitchB-classifier-c2] traffic classifier c3
[SwitchB-classifier-c3] if-match customer-vlan-id 3
[SwitchB-classifier-c3] quit
[SwitchB] traffic behavior b1
[SwitchB-behavior-b1] remark service-vlan-id 111
[SwitchB-behavior-b1] traffic behavior b2
[SwitchB-behavior-b2] remark service-vlan-id 211
[SwitchB-behavior-b2] traffic behavior b3
[SwitchB-behavior-b3] remark service-vlan-id 311
[SwitchB-behavior-b3] traffic behavior b4
[SwitchB-behavior-b4] remark service-vlan-id 112
[SwitchB-behavior-b4] traffic behavior b5
[SwitchB-behavior-b5] remark service-vlan-id 212
[SwitchB-behavior-b5] traffic behavior b6
[SwitchB-behavior-b6] remark service-vlan-id 312
[SwitchB-behavior-b6] quit
[SwitchB] qos policy p1
[SwitchB-policy-p1] classifier c1 behavior b1
[SwitchB-policy-p1] classifier c2 behavior b2
[SwitchB-policy-p1] classifier c3 behavior b3
[SwitchB-policy-p1] quit
[SwitchB] qos policy p2
[SwitchB-policy-p2] classifier c1 behavior b4
[SwitchB-policy-p2] classifier c2 behavior b5
[SwitchB-policy-p2] classifier c3 behavior b6
[SwitchB-policy-p2] quit
# 配置下行策略,将SVLAN映射回原来的CVLAN。
[SwitchB] traffic classifier c11
[SwitchB-classifier-c11] if-match service-vlan-id 111
[SwitchB-classifier-c11] traffic classifier c22
[SwitchB-classifier-c22] if-match service-vlan-id 211
[SwitchB-classifier-c22] traffic classifier c33
[SwitchB-classifier-c33] if-match service-vlan-id 311
[SwitchB-classifier-c33] traffic classifier c44
[SwitchB-classifier-c44] if-match service-vlan-id 112
[SwitchB-classifier-c44] traffic classifier c55
[SwitchB-classifier-c55] if-match service-vlan-id 212
[SwitchB-classifier-c55] traffic classifier c66
[SwitchB-classifier-c66] if-match service-vlan-id 312
[SwitchB-classifier-c66] quit
[SwitchB] traffic behavior b11
[SwitchB-behavior-b11] remark customer-vlan-id 1
[SwitchB-behavior-b11] traffic behavior b22
[SwitchB-behavior-b22] remark customer-vlan-id 2
[SwitchB-behavior-b22] traffic behavior b33
[SwitchB-behavior-b33] remark customer-vlan-id 3
[SwitchB-behavior-b33] quit
[SwitchB] qos policy p11
[SwitchB-policy-p11] classifier c11 behavior b11
[SwitchB-policy-p11] classifier c22 behavior b22
[SwitchB-policy-p11] classifier c33 behavior b33
[SwitchB-policy-p11] quit
[SwitchB] qos policy p22
[SwitchB-policy-p22] classifier c44 behavior b11
[SwitchB-policy-p22] classifier c55 behavior b22
[SwitchB-policy-p22] classifier c66 behavior b33
[SwitchB-policy-p22] quit
# 配置端口GigabitEthernet2/0/1允许CVLAN和SVLAN的报文通过。
[SwitchB] interface gigabitethernet 2/0/1
[SwitchB-GigabitEthernet2/0/1] port link-type trunk
[SwitchB-GigabitEthernet2/0/1] port trunk permit vlan 1 2 3 111 211 311
# 开启端口GigabitEthernet2/0/1的基本QinQ功能。
[SwitchB-GigabitEthernet2/0/1] qinq enable
# 在端口GigabitEthernet2/0/1的入方向应用上行策略p1。
[SwitchB-GigabitEthernet2/0/1] qos apply policy p1 inbound
# 在端口GigabitEthernet2/0/1的出方向应用下行策略p11。
[SwitchB-GigabitEthernet2/0/1] qos apply policy p11 outbound
[SwitchB-GigabitEthernet2/0/1] quit
# 配置端口GigabitEthernet2/0/2允许CVLAN和SVLAN的报文通过。
[SwitchB] interface gigabitethernet 2/0/2
[SwitchB-GigabitEthernet2/0/2] port link-type trunk
[SwitchB-GigabitEthernet2/0/2] port trunk permit vlan 1 2 3 112 212 312
# 开启端口GigabitEthernet2/0/2的基本QinQ功能。
[SwitchB-GigabitEthernet2/0/2] qinq enable
# 在端口GigabitEthernet2/0/2的入方向应用上行策略p2。
[SwitchB-GigabitEthernet2/0/2] qos apply policy p2 inbound
# 在端口GigabitEthernet2/0/2的出方向应用下行策略p22。
[SwitchB-GigabitEthernet2/0/2] qos apply policy p22 outbound
[SwitchB-GigabitEthernet2/0/2] quit
# 配置端口GigabitEthernet2/0/3允许SVLAN的报文通过。
[SwitchB] interface gigabitethernet 2/0/3
[SwitchB-GigabitEthernet2/0/3] port link-type trunk
[SwitchB-GigabitEthernet2/0/3] port trunk permit vlan 111 211 311 112 212 312
(3) 配置Switch C
<SwitchC> system-view
# 使能DHCP Snooping功能。
[SwitchC] dhcp-snooping
# 在每个进行映射的VLAN上都使能ARP Detection功能。
[SwitchC] vlan 101
[SwitchC-vlan101] arp detection enable
[SwitchC-vlan101] vlan 201
[SwitchC-vlan201] arp detection enable
[SwitchC-vlan201] vlan 301
[SwitchC-vlan301] arp detection enable
[SwitchC-vlan301] vlan 102
[SwitchC-vlan102] arp detection enable
[SwitchC-vlan102] vlan 202
[SwitchC-vlan202] arp detection enable
[SwitchC-vlan202] vlan 302
[SwitchC-vlan302] arp detection enable
[SwitchC-vlan302] vlan 111
[SwitchC-vlan111] arp detection enable
[SwitchC-vlan111] vlan 211
[SwitchC-vlan211] arp detection enable
[SwitchC-vlan211] vlan 311
[SwitchC-vlan311] arp detection enable
[SwitchC-vlan311] vlan 112
[SwitchC-vlan112] arp detection enable
[SwitchC-vlan112] vlan 212
[SwitchC-vlan212] arp detection enable
[SwitchC-vlan212] vlan 312
[SwitchC-vlan312] arp detection enable
[SwitchC-vlan312] vlan 501
[SwitchC-vlan501] arp detection enable
[SwitchC-vlan501] vlan 502
[SwitchC-vlan502] arp detection enable
[SwitchC-vlan502] vlan 503
[SwitchC-vlan503] arp detection enable
[SwitchC-vlan503] quit
# 配置上行策略,将不同用户的相同业务VLAN(CVLAN)映射到同一个VLAN(SVLAN)。
[SwitchC] traffic classifier c1
[SwitchC-classifier-c1] if-match customer-vlan-id 101 to 200
[SwitchC-classifier-c1] traffic classifier c2
[SwitchC-classifier-c2] if-match customer-vlan-id 201 to 300
[SwitchC-classifier-c2] traffic classifier c3
[SwitchC-classifier-c3] if-match customer-vlan-id 301 to 400
[SwitchC-classifier-c3] traffic classifier c4
[SwitchC-classifier-c4] if-match customer-vlan-id 111 to 210
[SwitchC-classifier-c4] traffic classifier c5
[SwitchC-classifier-c5] if-match customer-vlan-id 211 to 310
[SwitchC-classifier-c5] traffic classifier c6
[SwitchC-classifier-c6] if-match customer-vlan-id 311 to 410
[SwitchC-classifier-c6] quit
[SwitchC] traffic behavior b1
[SwitchC-behavior-b1] remark service-vlan-id 501
[SwitchC-behavior-b1] traffic behavior b2
[SwitchC-behavior-b2] remark service-vlan-id 502
[SwitchC-behavior-b2] traffic behavior b3
[SwitchC-behavior-b3] remark service-vlan-id 503
[SwitchC-behavior-b3] quit
[SwitchC] qos policy p1
[SwitchC-policy-p1] classifier c1 behavior b1 mode dot1q-tag-manipulation
[SwitchC-policy-p1] classifier c2 behavior b2 mode dot1q-tag-manipulation
[SwitchC-policy-p1] classifier c3 behavior b3 mode dot1q-tag-manipulation
[SwitchC-policy-p1] classifier c4 behavior b1 mode dot1q-tag-manipulation
[SwitchC-policy-p1] classifier c5 behavior b2 mode dot1q-tag-manipulation
[SwitchC-policy-p1] classifier c6 behavior b3 mode dot1q-tag-manipulation
[SwitchC-policy-p1] quit
# 配置端口GigabitEthernet2/0/1允许CVLAN和SVLAN的报文通过。
[SwitchC] interface gigabitethernet 2/0/1
[SwitchC-GigabitEthernet2/0/1] port link-type trunk
[SwitchC-GigabitEthernet2/0/1] port trunk permit vlan 101 201 301 102 202 302 501 502 503
# 开启端口GigabitEthernet2/0/1的用户侧QinQ功能。
[SwitchC-GigabitEthernet2/0/1] qinq enable downlink
# 在端口GigabitEthernet2/0/1的入方向应用上行策略p1。
[SwitchC-GigabitEthernet2/0/1] qos apply policy p1 inbound
[SwitchC-GigabitEthernet2/0/1] quit
# 配置端口GigabitEthernet2/0/2允许CVLAN和SVLAN的报文通过。
[SwitchC] interface gigabitethernet 2/0/2
[SwitchC-GigabitEthernet2/0/2] port link-type trunk
[SwitchC-GigabitEthernet2/0/2] port trunk permit vlan 111 211 311 112 212 312 501 502 503
# 开启端口GigabitEthernet2/0/2的用户侧QinQ功能。
[SwitchC-GigabitEthernet2/0/2] qinq enable downlink
# 在端口GigabitEthernet2/0/2的入方向应用上行策略p1。
[SwitchC-GigabitEthernet2/0/2] qos apply policy p1 inbound
[SwitchC-GigabitEthernet2/0/2] quit
# 配置端口GigabitEthernet2/0/3允许SVLAN的报文通过。
[SwitchC] interface gigabitethernet 2/0/3
[SwitchC-GigabitEthernet2/0/3] port link-type trunk
[SwitchC-GigabitEthernet2/0/3] port trunk permit vlan 501 502 503
# 配置端口GigabitEthernet2/0/3为DHCP Snooping信任端口。
[SwitchC-GigabitEthernet2/0/3] dhcp-snooping trust
# 配置端口GigabitEthernet2/0/3为ARP信任端口。
[SwitchC-GigabitEthernet2/0/3] arp detection trust
# 开启端口GigabitEthernet2/0/3的网络侧QinQ功能。
[SwitchC-GigabitEthernet2/0/3] qinq enable uplink
(4) 配置Switch D
<SwitchD> system-view
# 使能DHCP Snooping功能。
[SwitchD] dhcp-snooping
# 配置端口GigabitEthernet2/0/1允许SVLAN的报文通过。
[SwitchD] interface gigabitethernet 2/0/1
[SwitchD-GigabitEthernet2/0/1] port link-type trunk
[SwitchD-GigabitEthernet2/0/1] port trunk permit vlan 501 502 503
# 配置端口GigabitEthernet2/0/1为信任端口,但为了节省系统资源,不记录客户端IP地址和MAC地址的绑定关系。
[SwitchD-GigabitEthernet2/0/1] dhcp-snooping trust no-user-binding
l 同一VPN用户在两地分别采用不同的VLAN:VLAN 10和VLAN 30。
l SP 1网络分配给VPN 1用户的VLAN为VLAN 100,SP 2网络分配给VPN 1用户的VLAN为VLAN 200。
l 要求处于不同地域的、同一VPN用户,可以跨越两个SP网络(SP1、SP2)进行互通。
图1-4 配置1:2和2:2 VLAN映射组网图
(1) 配置Device A
# 配置上行策略,为VLAN 10报文添加VLAN ID为100的外层VLAN Tag。
<DeviceA> system-view
[DeviceA] traffic classifier nest
[DeviceA-classifier-nest] if-match customer-vlan-id 10
[DeviceA-classifier-nest] quit
[DeviceA] traffic behavior nest
[DeviceA-behavior-nest] nest top-most vlan-id 100
[DeviceA-behavior-nest] quit
[DeviceA] qos policy nest
[DeviceA-qospolicy-nest] classifier nest behavior nest
[DeviceA-qospolicy-nest] quit
# 配置端口GigabitEthernet2/0/1允许VLAN 100的报文不带Tag标签通过。
[DeviceA] intface gigabitethernet 2/0/1
[DeviceA-GigabitEthernet2/0/1] port link-type hybrid
[DeviceA-GigabitEthernet2/0/1] port hybrid vlan 100 untagged
# 开启端口GigabitEthernet2/0/1的基本QinQ功能。
[DeviceA-GigabitEthernet2/0/1] qinq enable
# 在端口GigabitEthernet2/0/1的入方向应用上行策略nest。
[DeviceA-GigabitEthernet2/0/1] qos apply policy nest inbound
[DeviceA-GigabitEthernet2/0/1] quit
# 配置上行端口GigabitEthernet2/0/2允许VLAN 100的报文通过。
[DeviceA] interface gigabitethernet 2/0/2
[DeviceA-GigabitEthernet2/0/2] port link-type trunk
[DeviceA-GigabitEthernet2/0/2] port trunk permit vlan 100
(2) 配置Device B
<DeviceB> system-view
# 配置端口GigabitEthernet2/0/1允许VLAN 100的报文通过。
[DeviceB] interface gigabitethernet 2/0/1
[DeviceB-GigabitEthernet2/0/1] port link-type trunk
[DeviceB-GigabitEthernet2/0/1] port trunk permit vlan 100
[DeviceB-GigabitEthernet2/0/1] quit
# 配置端口GigabitEthernet2/0/2允许VLAN 100的报文通过。
[DeviceB] interface gigabitethernet 2/0/2
[DeviceB-GigabitEthernet2/0/2] port link-type trunk
[DeviceB-GigabitEthernet2/0/2] port trunk permit vlan 100
(3) 配置Device C
# 配置端口GigabitEthernet2/0/1入方向对报文的匹配规则。
<DeviceC> system-view
[DeviceC] traffic classifier downlink_in
[DeviceC-classifier-downlink_in] if-match customer-vlan-id 10
[DeviceC-classifier-downlink_in] if-match service-vlan-id 100
[DeviceC-classifier-downlink_in] quit
# 配置端口GigabitEthernet2/0/1入方向对报文的流行为。
[DeviceC] traffic behavior downlink_in
[DeviceC-behavior-downlink_in] remark service-vlan-id 200
[DeviceC-behavior-downlink_in] quit
# 配置端口GigabitEthernet2/0/1入方向的策略。
[DeviceC] qos policy downlink_in
[DeviceC-qospolicy-downlink_in] classifier downlink_in behavior downlink_in
[DeviceC-qospolicy-downlink_in] quit
# 配置端口GigabitEthernet2/0/1出方向对报文的匹配规则。
[DeviceC] traffic classifier downlink_out
[DeviceC-classifier-downlink_out] if-match customer-vlan-id 30
[DeviceC-classifier-downlink_out] if-match service-vlan-id 200
[DeviceC-classifier-downlink_out] quit
# 配置端口GigabitEthernet2/0/1出方向对报文的流行为。
[DeviceC] traffic behavior downlink_out
[DeviceC-behavior-downlink_out] remark customer-vlan-id 10
[DeviceC-behavior-downlink_out] remark service-vlan-id 100
[DeviceC-behavior-downlink_out] quit
# 配置端口GigabitEthernet2/0/1出方向的策略。
[DeviceC] qos policy downlink_out
[DeviceC-qospolicy-downlink_out] classifier downlink_out behavior downlink_out
[DeviceC-qospolicy-downlink_out] quit
# 配置端口GigabitEthernet2/0/2出方向对报文的匹配规则。
[DeviceC] traffic classifier uplink_out
[DeviceC-classifier-uplink_out] if-match customer-vlan-id 10
[DeviceC-classifier-uplink_out] if-match service-vlan-id 200
[DeviceC-classifier-uplink_out] quit
# 配置端口GigabitEthernet2/0/2出方向对报文的流行为。
[DeviceC] traffic behavior uplink_out
[DeviceC-behavior-uplink_out] remark customer-vlan-id 30
[DeviceC-behavior-uplink_out] quit
# 配置端口GigabitEthernet2/0/2出方向的策略。
[DeviceC] qos policy uplink_out
[DeviceC-qospolicy-uplink_out] classifier uplink_out behavior uplink_out
[DeviceC-qospolicy-uplink_out] quit
# 将策略应用到端口GigabitEthernet2/0/1和GigabitEthernet2/0/2。
[DeviceC] interface gigabitethernet 2/0/1
[DeviceB-GigabitEthernet2/0/1] port link-type trunk
[DeviceB-GigabitEthernet2/0/1] port trunk permit vlan 200
[DeviceC-GigabitEthernet2/0/1] qos apply policy downlink_in inbound
[DeviceC-GigabitEthernet2/0/1] qos apply policy downlink_out outbound
[DeviceC-GigabitEthernet2/0/1] quit
[DeviceC] interface gigabitethernet 2/0/2
[DeviceB-GigabitEthernet2/0/2] port link-type trunk
[DeviceB-GigabitEthernet2/0/2] port trunk permit vlan 200
[DeviceC-GigabitEthernet2/0/2] qos apply policy uplink_out outbound
[DeviceC-GigabitEthernet2/0/2] quit
(4) 配置Device D
# 配置上行策略,为VLAN 30报文添加VLAN ID为200的外层VLAN Tag。
<DeviceD> system-view
[DeviceD] traffic classifier nest
[DeviceD-classifier-nest] if-match customer-vlan-id 30
[DeviceD-classifier-nest] quit
[DeviceD] traffic behavior nest
[DeviceD-behavior-nest] nest top-most vlan-id 200
[DeviceD-behavior-nest] quit
[DeviceD] qos policy nest
[DeviceD-qospolicy-nest] classifier nest behavior nest
[DeviceD-qospolicy-nest] quit
# 配置端口GigabitEthernet2/0/1允许VLAN 200的报文通过。
[DeviceD] interface gigabitethernet 2/0/1
[DeviceD-GigabitEthernet2/0/1] port link-type trunk
[DeviceD-GigabitEthernet2/0/1] port trunk permit vlan 200
# 配置端口GigabitEthernet2/0/2允许VLAN 200的报文不带Tag标签通过。
[DeviceD] interface gigabitethernet 2/0/2
[DeviceD-GigabitEthernet2/0/2] port link-type hybrid
[DeviceD-GigabitEthernet2/0/2] port hybrid vlan 200 untagged
# 开启端口GigabitEthernet2/0/2的基本QinQ功能。
[DeviceD-GigabitEthernet2/0/2] qinq enable
# 在端口GigabitEthernet2/0/2的入方向应用上行策略nest。
[DeviceD-GigabitEthernet2/0/2] qos apply policy nest inbound
[DeviceD-GigabitEthernet2/0/2] quit
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!