11-VLAN映射配置
本章节下载: 11-VLAN映射配置 (408.46 KB)
目 录
VLAN映射(VLAN Mapping)功能可以修改报文携带的VLAN Tag,提供下面4种映射关系:
l 1:1 VLAN映射:将来自某一特定VLAN的报文所携带的VLAN Tag替换为新的VLAN Tag。
l N:1 VLAN映射:将来自两个或多个VLAN的报文所携带的不同VLAN Tag替换为相同的VLAN Tag。
l 1:2 VLAN映射:为携带有一层VLAN Tag的报文打上外层VLAN Tag,使报文携带两层VLAN Tag。
l 2:2 VLAN映射:将携带有两层VLAN Tag的报文的内、外层VLAN Tag都替换为新的VLAN Tag。
下面将详细介绍这几种映射关系的应用以及工作原理。
如图1-1所示,是1:1和N:1 VLAN映射的应用环境,其中用不同的VLAN来承载各家庭用户不同类型的业务(包括PC、VoD和VoIP)。
图1-1 1:1和N:1 VLAN映射应用示意图
为了区分不同的用户,需要在楼道交换机处用不同的VLAN来承载不同用户的相同业务,即进行1:1 VLAN映射,这就要用到大量的VLAN。但汇聚层网络接入设备可提供的VLAN数量有限,因此需要在园区交换机上来进行VLAN的汇聚,用一个VLAN来承载原本由多个VLAN承载的不同用户的相同业务,即进行N:1 VLAN映射。
如图1-2所示,是1:2和2:2 VLAN映射的应用环境,VPN A中处于不同地理位置(Site 1和Site 2)的用户跨越了两个SP(Service Provider,服务提供商)——SP 1和SP 2的网络进行互通。
图1-2 1:2和2:2 VLAN映射应用示意图
在图1-2中,Site 1和Site 2中的用户所在的VLAN分别为VLAN 2和VLAN 3,SP 1和SP 2分配给VPN A的VLAN分别为VLAN 10和VLAN 20。当Site 1中的报文进入SP 1的网络后,外层被打上了VLAN 10的VLAN Tag,这个过程就是1:2 VLAN映射。这样,VPN用户就可以自由规划自己网络中的VLAN ID,而不用担心与SP的VLAN ID相冲突,同时也缓解了SP的网络中VLAN ID紧缺的问题。
当上述报文继续由SP 1的网络进入SP 2的网络后,由于SP 2分配给VPN A的VLAN与SP 1不同,因此需将该报文的外层VLAN Tag替换为VLAN 20的VLAN Tag,同时为了与Site 2中的用户互通,还需将其内层VLAN Tag替换为VLAN 3的VLAN Tag。这种同时修改内、外两层VLAN Tag的过程就是2:2 VLAN映射。
通过配置QinQ也可以实现1:2 VLAN映射,具体介绍及配置过程请参见“二层技术-以太网交换配置指导”中的“QinQ”。
图1-3 VLAN映射基本概念示意图
如图1-3所示,为了更好的理解后面的配置过程,此处定义几个概念:
l 上行数据流:从用户网络发往汇聚层网络或SP网络的数据流,都称为上行数据流。
l 下行数据流:从汇聚层网络或SP网络发往用户网络的数据流,都称为下行数据流。
l 上行端口:发送上行数据流和接收下行数据流的端口称为上行端口。
l 下行端口:发送下行数据流和接收上行数据流的端口称为下行端口。
l 上行策略:负责上行数据流VLAN映射规则的QoS策略。
l 下行策略:负责下行数据流VLAN映射规则的QoS策略。
图1-4 1:1 VLAN映射实现方式示意图
如图1-4所示,1:1 VLAN映射的实现方式如下:
l 对于上行数据流,通过在下行端口上应用上行策略,将报文中CVLAN的VLAN Tag替换为SVLAN的VLAN Tag。
l 对于下行数据流,通过在下行端口上应用下行策略,将报文中SVLAN的VLAN Tag替换为CVLAN的VLAN Tag。
图1-5 N:1 VLAN映射实现方式示意图
如图1-5所示,N:1 VLAN映射的实现方式如下:
l 对于上行数据流,通过在下行端口上应用上行策略,将来自两个或多个CVLAN的报文所携带的不同VLAN Tag都替换为SVLAN的VLAN Tag。
l 对于下行数据流,通过查找SVLAN对应的DHCP Snooping表项中DHCP客户端的IP地址、MAC地址和CVLAN的绑定表项,将报文中SVLAN的VLAN Tag替换为CVLAN的VLAN Tag。
图1-6 1:2 VLAN映射实现方式示意图
如图1-6所示,1:2 VLAN映射的实现方式如下:
l 对于上行数据流,通过在下行端口上应用上行策略,为端口收到的来自指定CVLAN的报文再加上一层SVLAN的VLAN Tag。
l 对于下行数据流,通过将下行端口配置成Hybrid类型,并配置当端口发送SVLAN报文时不带VLAN Tag的方式,来将外层VLAN Tag剥离。
图1-7 2:2 VLAN映射实现方式示意图
如图1-7所示,2:2 VLAN映射的实现方式如下:
l 对于上行数据流,通过在下行端口上应用上行策略,将报文的外层VLAN Tag替换为新的VLAN Tag;通过在上行端口上应用上行策略,将报文的内层VLAN Tag替换为新的VLAN Tag。
l 对于下行数据流,通过在下行端口上应用下行策略,将报文的内、外层VLAN Tag都替换为各自的原始VLAN Tag。
l 在2:2 VLAN映射的实现中,根据实际的组网需要,也可以只替换外层VLAN Tag,或只替换内层VLAN Tag。
l 有关DHCP Snooping的详细介绍,请参见“三层技术-IP业务配置指导”中的“DHCP Snooping”。
l 有关QoS策略的详细介绍,请参见“ACL和QoS配置指导”中的“QoS配置方式”。
用户需要根据网络规划,在不同的设备上进行不同的VLAN映射配置。
表1-1 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置1:1 VLAN映射 |
在图1-1所示的组网中,需要在楼道交换机上进行此配置 |
|
配置N:1 VLAN映射 |
在图1-1所示的组网中,需要在园区交换机上进行此配置 |
|
配置1:2 VLAN映射 |
在图1-2所示的组网中,需要在用户进入SP网络的边缘设备PE 1和PE 4上进行此配置 |
|
配置2:2 VLAN映射 |
在图1-2所示的组网中,需要在SP 2网络的边缘设备PE 3上进行此配置 |
在图1-1所示的组网中,需要在楼道交换机上进行1:1 VLAN映射的配置,以便将不同用户的不同业务用不同的VLAN进行隔离。
表1-2 1:1 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置上行策略 |
必选 |
|
配置下行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
在配置1:1 VLAN映射之前,需完成以下任务:
l 创建好CVLAN和SVLAN,并规划好CVLAN和SVLAN的映射关系。
通过配置上行策略,将不同用户的不同业务VLAN(CVLAN)映射到不同的VLAN(SVLAN)上。
表1-3 配置上行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类,并进入类视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配用户不同业务VLAN(CVLAN)的规则 |
if-match customer-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义流行为,并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记报文的SVLAN |
remark service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
通过配置下行策略,将SVLAN映射回原来的CVLAN上。
表1-4 配置下行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类,并进入类视图 |
traffic classifier tcl-name [ operator { and | or } ] |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义流行为,并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记报文的CVLAN |
remark customer-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
表1-5 配置下行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许CVLAN和SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1通过 |
使能端口的基本QinQ功能 |
qinq enable |
必选 缺省情况下,端口的基本QinQ功能处于关闭状态 |
在端口的入方向上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
在端口的出方向上应用下行策略 |
qos apply policy policy-name outbound |
必选 |
表1-6 配置上行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1通过 |
在图1-1所示的组网中,需要在园区交换机上进行N:1 VLAN映射的配置,以便将不同用户的相同业务用同一个VLAN进行发送,从而节省VLAN资源。
表1-7 N:1 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
使能DHCP Snooping功能 |
必选 |
|
使能ARP Detection功能 |
必选 |
|
配置上行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
如果用户想改变VLAN映射关系,必须先用reset dhcp-snooping命令(请参见“三层技术-IP业务命令参考”中的“DHCP Snooping”)清除DHCP Snooping表项,然后再修改QoS策略中的VLAN映射关系。
在配置N:1 VLAN映射之前,需完成以下任务:
l 要求家庭用户中不同的业务终端都通过DHCP方式获取IP地址。有关通过DHCP方式获取IP地址的方法,请参见“三层技术-IP业务配置指导”中的“DHCP概述”。
l 创建好CVLAN和SVLAN,并规划好CVLAN和SVLAN的映射关系。
表1-8 使能DHCP Snooping功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能DHCP Snooping功能 |
dhcp-snooping |
必选 缺省情况下,DHCP Snooping功能处于关闭状态 |
正常的ARP报文处理流程无法修改ARP报文所属的VLAN,因此需要使用ARP Detection功能将ARP报文上送CPU进行处理,这样就可以对ARP报文进行VLAN映射。有关ARP Detection功能的详细介绍,请参见“安全配置指导”中的“ARP攻击防御”。
请在所有SVLAN上都使能ARP Detection功能。
表1-9 使能ARP Detection功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
使能ARP Detection功能 |
arp detection enable |
必选 缺省情况下,ARP Detection功能处于关闭状态 |
建议在所有CVLAN上也都使能ARP Detection功能,以起到防攻击的作用。
通过配置上行策略,将不同用户的相同业务VLAN(CVLAN)映射到同一个VLAN(SVLAN)上。
表1-10 配置上行策略
操作 |
命令 |
说明 |
进入系统视图 |
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 |
必选 |
配置重标记报文的SVLAN |
remark service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为和绑定模式 |
classifier tcl-name behavior behavior-name mode dot1q-tag-manipulation |
必选 |
表1-11 配置下行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许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 |
必选 |
在下行端口上应用QoS策略之前,需要先使能端口的用户侧QinQ功能;在下行端口上关闭用户侧QinQ功能之前,需要先解除QoS策略与该端口的绑定。
表1-12 配置上行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1通过 |
配置端口为DHCP Snooping信任端口 |
dhcp-snooping trust |
必选 缺省情况下,端口为DHCP Snooping非信任端口 |
配置端口为ARP信任端口 |
arp detection trust |
必选 缺省情况下,端口为ARP非信任端口 |
使能端口的网络侧QinQ功能 |
qinq enable uplink |
必选 缺省情况下,端口的网络侧QinQ功能处于关闭状态 |
在图1-2所示的组网中,需要在用户进入SP网络的边缘设备PE 1和PE 4上进行1:2 VLAN映射的配置,以便为报文外面打上一层SP分配给用户的外层VLAN Tag,使得不同用户的报文在SP网络中传输时被完全隔离。
表1-13 1:2 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置上行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
表1-14 配置上行策略
操作 |
命令 |
说明 |
进入系统视图 |
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 Tag的动作 |
nest top-most vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
表1-15 配置下行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN通过当前Hybrid端口,且发送时不携带VLAN Tag |
port hybrid vlan vlan-id-list untagged |
必选 缺省情况下,Hybrid端口只允许VLAN 1通过 |
使能端口的基本QinQ功能 |
qinq enable |
必选 缺省情况下,端口的基本QinQ功能处于关闭状态 |
在端口的入方向上应用上行策略 |
qos apply policy policy-name inbound |
必选 |
表1-16 配置上行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1通过 |
在图1-2所示的组网中,需要在SP 2网络的边缘设备PE 3上进行2:2 VLAN映射的配置,以便使得报文外层VLAN Tag为新SP网络分配给用户的VLAN,而内层的VLAN Tag可以和不同VLAN的同一VPN用户进行互通。
表1-17 2:2 VLAN映射配置任务简介
配置任务 |
说明 |
详细配置 |
配置下行端口的上行策略 |
必选 |
|
配置下行端口的下行策略 |
必选 |
|
配置上行端口的上行策略 |
必选 |
|
配置下行端口 |
必选 |
|
配置上行端口 |
必选 |
通过配置下行端口的上行策略,来修改SVLAN的值。
根据实际的组网需要,如果只需要修改CVLAN的值,不需要修改SVLAN的值,可以不配置此策略。
表1-18 配置下行端口的上行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类,并进入类视图 |
traffic classifier tcl-name [ operator and ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义流行为,并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记报文的SVLAN |
remark service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
通过配置下行端口的下行策略,来将SVLAN和CVLAN的值都修改为原来的值。
如果上行策略中只修改了CVLAN的值,没有修改SVLAN的值,则不需要配置重标记报文的SVLAN这一步。
如果上行策略中只修改了SVLAN的值,没有修改CVLAN的值,则不需要配置重标记报文的CVLAN这一步。
表1-19 配置下行端口的下行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类,并进入类视图 |
traffic classifier tcl-name [ operator and ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义流行为,并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记报文的CVLAN |
remark customer-vlan-id vlan-id |
必选 |
配置重标记报文的SVLAN |
remark service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
通过配置上行端口的上行策略,来修改CVLAN的值。
根据实际的组网需要,如果只需要修改SVLAN的值,不需要修改CVLAN的值,可以不配置此策略。
表1-20 配置上行端口的上行策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
定义类,并进入类视图 |
traffic classifier tcl-name [ operator and ] |
必选 |
定义匹配CVLAN的规则 |
if-match customer-vlan-id vlan-id |
必选 |
定义匹配SVLAN的规则 |
if-match service-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义流行为,并进入流行为视图 |
traffic behavior behavior-name |
必选 |
配置重标记报文的CVLAN |
remark customer-vlan-id vlan-id |
必选 |
退回系统视图 |
quit |
- |
定义QoS策略,并进入QoS策略视图 |
qos policy policy-name |
必选 |
为类指定采用的流行为 |
classifier tcl-name behavior behavior-name |
必选 |
表1-21 配置下行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1通过 |
在端口的入方向上应用上行策略 |
qos apply policy policy-name inbound |
可选 如果没有配置修改SVLAN Tag的上行策略,则不需要这一步 |
在端口的出方向上应用下行策略 |
qos apply policy policy-name outbound |
必选 |
表1-22 配置上行端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 缺省情况下,端口的链路类型为Access类型 |
允许SVLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN 1通过 |
在端口的出方向上应用上行策略 |
qos apply policy policy-name outbound |
可选 如果没有配置修改CVLAN Tag的上行策略,则不需要这一步 |
l 在某小区,服务提供商为每个家庭都提供了电脑上网(PC)、视频点播(VoD)和语音电话(VoIP)这三种数据服务,每个家庭都通过各自的家庭网关接入楼道交换机,并通过DHCP方式自动获取IP地址。
l 服务提供商希望实现以下网络规划:在家庭网关上,分别将PC、VoD和VoIP业务依次划分到VLAN 1~3;在楼道交换机上,为了隔离不同家庭的同类业务,将每个家庭的每种业务都划分到不同的VLAN;而在园区交换机上,为了节省VLAN资源,将所有家庭的同类业务都划分到相同的VLAN,即分别将PC、VoD和VoIP业务依次划分到VLAN 501~503。
图1-8 1:1和N:1 VLAN映射配置组网图
(1) 配置Switch A
# 创建CVLAN和SVLAN。
<SwitchA> system-view
[SwitchA] vlan 2 to 3
[SwitchA] vlan 101 to 102
[SwitchA] vlan 201 to 202
[SwitchA] vlan 301 to 302
# 配置上行策略p1和p2:将不同用户的不同业务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
# 配置下行策略p11和p22:将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
# 配置下行端口GigabitEthernet1/0/1为Trunk端口且允许CVLAN和SVLAN通过,使能该端口的基本QinQ功能,在该端口的入方向上应用上行策略p1,并在该端口的出方向上应用下行策略p11。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-GigabitEthernet1/0/1] port trunk permit vlan 1 2 3 101 201 301
[SwitchA-GigabitEthernet1/0/1] qinq enable
[SwitchA-GigabitEthernet1/0/1] qos apply policy p1 inbound
[SwitchA-GigabitEthernet1/0/1] qos apply policy p11 outbound
[SwitchA-GigabitEthernet1/0/1] quit
# 配置下行端口GigabitEthernet1/0/2为Trunk端口且允许CVLAN和SVLAN通过,使能该端口的基本QinQ功能,在该端口的入方向上应用上行策略p2,并在该端口的出方向上应用下行策略p22。
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-GigabitEthernet1/0/2] port trunk permit vlan 1 2 3 102 202 302
[SwitchA-GigabitEthernet1/0/2] qinq enable
[SwitchA-GigabitEthernet1/0/2] qos apply policy p2 inbound
[SwitchA-GigabitEthernet1/0/2] qos apply policy p22 outbound
[SwitchA-GigabitEthernet1/0/2] quit
# 配置上行端口GigabitEthernet1/0/3为Trunk端口且允许SVLAN通过。
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] port link-type trunk
[SwitchA-GigabitEthernet1/0/3] port trunk permit vlan 101 201 301 102 202 302
如果PC(发送不带VLAN Tag的报文)直接连接在楼道交换机上,则需把楼道交换机连接PC的端口配置成Access端口或者Trunk端口:
l 当配置成Access端口时,要把端口加入到SVLAN;
l 当配置成Trunk端口时,要把端口的缺省VLAN配置成SVLAN。
(2) 配置Switch B
Switch B的配置与Switch A相似,配置过程略。
(3) 配置Switch C
# 使能DHCP Snooping功能。
<SwitchC> system-view
[SwitchC] dhcp-snooping
# 创建CVLAN和SVLAN,并在这些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 103
[SwitchC-vlan103] arp detection enable
[SwitchC-vlan103] vlan 203
[SwitchC-vlan203] arp detection enable
[SwitchC-vlan203] vlan 303
[SwitchC-vlan303] arp detection enable
[SwitchC-vlan303] vlan 104
[SwitchC-vlan104] arp detection enable
[SwitchC-vlan104] vlan 204
[SwitchC-vlan204] arp detection enable
[SwitchC-vlan204] vlan 304
[SwitchC-vlan304] arp detection enable
[SwitchC-vlan304] 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
# 配置上行策略p1和p2:将不同用户的相同业务VLAN(CVLAN)映射到同一个VLAN(SVLAN)上。
[SwitchC] traffic classifier c1
[SwitchC-classifier-c1] if-match customer-vlan-id 101 to 102
[SwitchC-classifier-c1] traffic classifier c2
[SwitchC-classifier-c2] if-match customer-vlan-id 201 to 202
[SwitchC-classifier-c2] traffic classifier c3
[SwitchC-classifier-c3] if-match customer-vlan-id 301 to 302
[SwitchC-classifier-c3] traffic classifier c4
[SwitchC-classifier-c4] if-match customer-vlan-id 103 to 104
[SwitchC-classifier-c4] traffic classifier c5
[SwitchC-classifier-c5] if-match customer-vlan-id 203 to 204
[SwitchC-classifier-c5] traffic classifier c6
[SwitchC-classifier-c6] if-match customer-vlan-id 303 to 304
[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] quit
[SwitchC] qos policy p2
[SwitchC-policy-p2] classifier c4 behavior b1 mode dot1q-tag-manipulation
[SwitchC-policy-p2] classifier c5 behavior b2 mode dot1q-tag-manipulation
[SwitchC-policy-p2] classifier c6 behavior b3 mode dot1q-tag-manipulation
[SwitchC-policy-p2] quit
# 配置下行端口GigabitEthernet1/0/1为Trunk端口且允许CVLAN和SVLAN通过,使能该端口的用户侧QinQ功能,并在该端口的入方向上应用上行策略p1。
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] port link-type trunk
[SwitchC-GigabitEthernet1/0/1] port trunk permit vlan 101 201 301 102 202 302 501 502 503
[SwitchC-GigabitEthernet1/0/1] qinq enable downlink
[SwitchC-GigabitEthernet1/0/1] qos apply policy p1 inbound
[SwitchC-GigabitEthernet1/0/1] quit
# 配置下行端口GigabitEthernet1/0/2为Trunk端口且允许CVLAN和SVLAN通过,使能该端口的用户侧QinQ功能,并在该端口的入方向上应用上行策略p2。
[SwitchC] interface gigabitethernet 1/0/2
[SwitchC-GigabitEthernet1/0/2] port link-type trunk
[SwitchC-GigabitEthernet1/0/2] port trunk permit vlan 103 203 303 104 204 304 501 502 503
[SwitchC-GigabitEthernet1/0/2] qinq enable downlink
[SwitchC-GigabitEthernet1/0/2] qos apply policy p2 inbound
[SwitchC-GigabitEthernet1/0/2] quit
# 配置上行端口GigabitEthernet1/0/3为Trunk端口且允许SVLAN通过,配置该端口为DHCP Snooping信任端口和ARP信任端口,并使能该端口的网络侧QinQ功能。
[SwitchC] interface gigabitethernet 1/0/3
[SwitchC-GigabitEthernet1/0/3] port link-type trunk
[SwitchC-GigabitEthernet1/0/3] port trunk permit vlan 501 502 503
[SwitchC-GigabitEthernet1/0/3] dhcp-snooping trust
[SwitchC-GigabitEthernet1/0/3] arp detection trust
[SwitchC-GigabitEthernet1/0/3] qinq enable uplink
(4) 配置Switch D
# 配置端口GigabitEthernet1/0/1为Trunk端口且允许SVLAN通过。
<SwitchD> system-view
[SwitchD] interface gigabitethernet 1/0/1
[SwitchD-GigabitEthernet1/0/1] port link-type trunk
[SwitchD-GigabitEthernet1/0/1] port trunk permit vlan 501 502 503
l VPN A中的站点1和站点2是某公司的两个分支机构,且分别利用VLAN 10和VLAN 30承载业务。由于分处不同地域,这两个分支机构采用了不同的服务提供商所提供的VPN接入服务,且SP 1和SP 2分别将VLAN 100和VLAN 200分配给这两个分支机构使用。
l 该公司希望其下属的这两个分支机构可以跨越SP 1和SP 2的网络实现互通。
图1-9 1:2和2:2 VLAN映射配置组网图
(1) 配置PE 1
# 配置上行策略test:为VLAN 10的报文添加VLAN 100的外层VLAN Tag。
<PE1> system-view
[PE1] traffic classifier test
[PE1-classifier-test] if-match customer-vlan-id 10
[PE1-classifier-test] quit
[PE1] traffic behavior test
[PE1-behavior-test] nest top-most vlan-id 100
[PE1-behavior-test] quit
[PE1] qos policy test
[PE1-qospolicy-test] classifier test behavior test
[PE1-qospolicy-test] quit
# 配置下行端口GigabitEthernet1/0/1为Hybrid端口且允许VLAN 100的报文不携带VLAN Tag通过,使能该端口的基本QinQ功能,并在该端口的入方向上应用上行策略test。
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] port link-type hybrid
[PE1-GigabitEthernet1/0/1] port hybrid vlan 100 untagged
[PE1-GigabitEthernet1/0/1] qinq enable
[PE1-GigabitEthernet1/0/1] qos apply policy test inbound
[PE1-GigabitEthernet1/0/1] quit
# 配置上行端口GigabitEthernet1/0/2为Trunk端口且允许VLAN 100通过。
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] port link-type trunk
[PE1-GigabitEthernet1/0/2] port trunk permit vlan 100
(2) 配置PE 2
# 配置端口GigabitEthernet1/0/1为Trunk端口且允许VLAN 100通过。
<PE2> system-view
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] port link-type trunk
[PE2-GigabitEthernet1/0/1] port trunk permit vlan 100
[PE2-GigabitEthernet1/0/1] quit
# 配置端口GigabitEthernet1/0/2为Trunk端口且允许VLAN 100通过。
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] port link-type trunk
[PE2-GigabitEthernet1/0/2] port trunk permit vlan 100
(3) 配置PE 3
# 配置下行端口的上行策略down_uplink:即下行端口对入方向报文的匹配规则流行为。
<PE3> system-view
[PE3] traffic classifier down_uplink
[PE3-classifier-down_uplink] if-match customer-vlan-id 10
[PE3-classifier-down_uplink] if-match service-vlan-id 100
[PE3-classifier-down_uplink] quit
[PE3] traffic behavior down_uplink
[PE3-behavior-down_uplink] remark service-vlan-id 200
[PE3-behavior-down_uplink] quit
[PE3] qos policy down_uplink
[PE3-qospolicy-down_uplink] classifier down_uplink behavior down_uplink
[PE3-qospolicy-down_uplink] quit
# 配置下行端口的下行策略down_downlink:即下行端口对出方向报文的匹配规则和流行为。
[PE3] traffic classifier down_downlink
[PE3-classifier-down_downlink] if-match customer-vlan-id 30
[PE3-classifier-down_downlink] if-match service-vlan-id 200
[PE3-classifier-down_downlink] quit
[PE3] traffic behavior down_downlink
[PE3-behavior-down_downlink] remark customer-vlan-id 10
[PE3-behavior-down_downlink] remark service-vlan-id 100
[PE3-behavior-down_downlink] quit
[PE3] qos policy down_downlink
[PE3-qospolicy-down_downlink] classifier down_downlink behavior down_downlink
[PE3-qospolicy-down_downlink] quit
# 配置上行端口的上行策略up_uplink:即上行端口对出方向报文的匹配规则和流行为。
[PE3] traffic classifier up_uplink
[PE3-classifier-up_uplink] if-match customer-vlan-id 10
[PE3-classifier-up_uplink] if-match service-vlan-id 200
[PE3-classifier-up_uplink] quit
[PE3] traffic behavior up_uplink
[PE3-behavior-up_uplink] remark customer-vlan-id 30
[PE3-behavior-up_uplink] quit
[PE3] qos policy up_uplink
[PE3-qospolicy-up_uplink] classifier up_uplink behavior up_uplink
[PE3-qospolicy-up_uplink] quit
# 配置下行端口GigabitEthernet1/0/1为Trunk端口且允许VLAN 200通过,在该端口的入方向上应用上行策略down_uplink,并在该端口的出方向上应用下行策略down_downlink。
[PE3] interface gigabitethernet 1/0/1
[PE3-GigabitEthernet1/0/1] port link-type trunk
[PE3-GigabitEthernet1/0/1] port trunk permit vlan 200
[PE3-GigabitEthernet1/0/1] qos apply policy down_uplink inbound
[PE3-GigabitEthernet1/0/1] qos apply policy down_downlink outbound
[PE3-GigabitEthernet1/0/1] quit
# 配置上行端口GigabitEthernet1/0/2为Trunk端口且允许VLAN 200通过,并在该端口的出方向上应用上行策略up_uplink。
[PE3] interface gigabitethernet 1/0/2
[PE3-GigabitEthernet1/0/2] port link-type trunk
[PE3-GigabitEthernet1/0/2] port trunk permit vlan 200
[PE3-GigabitEthernet1/0/2] qos apply policy up_uplink outbound
[PE3-GigabitEthernet1/0/2] quit
(4) 配置PE 4
# 配置上行策略test:为VLAN 30的报文添加VLAN 200的外层VLAN Tag。
<PE4> system-view
[PE4] traffic classifier test
[PE4-classifier-test] if-match customer-vlan-id 30
[PE4-classifier-test] quit
[PE4] traffic behavior test
[PE4-behavior-test] nest top-most vlan-id 200
[PE4-behavior-test] quit
[PE4] qos policy test
[PE4-qospolicy-test] classifier test behavior test
[PE4-qospolicy-test] quit
# 配置下行端口GigabitEthernet1/0/2为Hybrid端口且允许VLAN 200的报文不携带VLAN Tag通过,使能该端口的基本QinQ功能,并在该端口的入方向上应用上行策略test。
[PE4] interface gigabitethernet 1/0/2
[PE4-GigabitEthernet1/0/2] port link-type hybrid
[PE4-GigabitEthernet1/0/2] port hybrid vlan 200 untagged
[PE4-GigabitEthernet1/0/2] qinq enable
[PE4-GigabitEthernet1/0/2] qos apply policy test inbound
# 配置上行端口GigabitEthernet1/0/1为Trunk端口且允许VLAN 200通过。
[PE4] interface gigabitethernet 1/0/1
[PE4-GigabitEthernet1/0/1] port link-type trunk
[PE4-GigabitEthernet1/0/1] port trunk permit vlan 200
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!