华为QinQ配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QinQ配置
1.1 QinQ简介
1.1.1 QinQ原理介绍
QinQ是指将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络(公网)。
在公网中报文只根据外层VLAN Tag (即公网VLAN Tag)传播,用户的私网VLAN Tag被屏蔽。
携带单层VLAN Tag 的报文结构如图1-1所示:
图1-1 携带单层VLAN Tag的报文结构
携带双层VLAN Tag的报文结构如图1-2所示:
图1-2 携带双层VLAN Tag的报文结构
相对基于MPLS的二层VPN,QinQ具有如下特点:为用户提供了一种更为简单的二层VPN隧道。
不需要信令协议的支持,可以通过纯静态配置实现。
QinQ主要可以解决如下几个问题:缓解日益紧缺的公网VLAN ID资源问题。
用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突。
为小型城域网或企业网提供一种较为简单的二层VPN解决方案。
1.1.2 QinQ的实现方式
通过开启端口的QinQ特性功能,可以实现QinQ。
开启端口的QinQ功能后,当该端口接收到报文,无论报文是否带有VLAN Tag,交换机都会为该报文打上本端口缺省VLAN的VLAN Tag。
这样,如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLAN Tag的报文,该报文就成为带有端口缺省VLAN Tag的报文。
1.2 配置端口的QinQ特性功能
1.2.1 配置准备
端口的GVRP、GMRP、NTDP、STP、802.1x或Voice VLAN功能均未启动。
注意:如果某端口的GVRP、GMRP、NTDP、STP、802.1x或Voice VLAN功能中的任一个已经启动,则不允许用户开启端口的QinQ特性。
缺省情况下,设备的STP 和NTDP协议是开启的。
需要在相应端口下应用stp disable命令和undo ntdp enable命令来关闭相应协议。
1.2.2 配置过程
表1-1 配置端口的QinQ特性
1.3 QinQ配置显示
完成上述配置后,在任意视图下执行display命令,可以显示配置QinQ后的运行情况。
通过查看显示信息,用户可以验证配置的效果。
表1-2 QinQ配置显示
1.4 QinQ典型配置举例
1. 组网需求Switch A、Switch B、Switch C为S6500交换机。
Switch A和Switch C的端口Ethernet1/0/1分别与两侧的用户网络相连。
Switch B只允许VLAN 10的报文通过。
要求Switch A和Switch C所连接的用户网络之间能够互通非VLAN 10的报文。
2. 组网图
图1-3 QinQ典型组网示例
3. 配置步骤
(1)配置Switch A、Switch C。
由于Switch A和Switch C的配置完全相同,以下仅以Switch A上的配置为例。
# 配置Switch A的端口Ethernet1/0/2为Trunk端口,属于VLAN 10。
<SwitchA> system-view
[SwitchA] vlan 10
[SwitchA-vlan10] quit
[SwitchA] interface Ethernet 1/0/2
[SwitchA-Ethernet1/0/2] port link-type trunk
[SwitchA-Ethernet1/0/2] port trunk permit vlan 10
# 配置Switch A的端口Ethernet1/0/1为QinQ端口,端口属于VLAN 10。
[SwitchA-Ethernet1/0/2] quit
[SwitchA] interface Ethernet1/0/1
[SwitchA-Ethernet1/0/1] port access vlan 10
[SwitchA-Ethernet1/0/1] vlan-vpn enable
[SwitchA-Ethernet1/0/1] quit
(2)配置Switch B。
# 将Switch B的端口Ethernet3/1/1和Ethernet3/1/2配置为Trunk端口,且都属于VLAN 10。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] quit
[SwitchB] interface Ethernet 3/1/1
[SwitchB-Ethernet3/1/1] port link-type trunk
[SwitchB-Ethernet3/1/1] port trunk permit vlan 10
[SwitchB-Ethernet3/1/1] quit
[SwitchB] interface Ethernet 3/1/2
[SwitchB-Ethernet3/1/2] port link-type trunk
[SwitchB-Ethernet3/1/2] port trunk permit vlan 10
注意:报文从Switch A=>Switch C的转发过程如下:来自用户私网侧的报文进入Switch A的端口Ethernet1/0/1后,由于此端口为QinQ端口,报文外层被打上了端口缺省的VLAN Tag(VLAN ID为10),然后转发至Ethernet1/0/2。
报文由Switch A的Ethernet1/0/2端口进入公网中Switch B的端口Ethernet3/1/2。
Switch B将该报文在VLAN 10内转发,发送到端口Ethernet3/1/1。
报文从Switch B的端口Ethernet3/1/1发送到另一侧的用户网络,进入Switch C的端口Ethernet1/0/2。
Switch C将该报文在VLAN 10内转发,发送至端口
Ethernet1/0/1。
由于端口Ethernet1/0/1为Access端口,交换机去掉报文的外层VLAN Tag,恢复原来的报文。
l反方向的转发过程相同。
配置完成以后,Switch A和Switch C所连接的用户网络就能够收到对端发来的数据包。
灵活QinQ配置
2.1 灵活QinQ简介
2.1.1 灵活QinQ的实现方式
S6500系列路由交换机通过以下方式实现QinQ:
(1)开启端口的QinQ功能
开启端口的QinQ功能后,当该端口接收到报文,无论报文是否带有VLAN Tag,交换机都会为该报文打上本端口缺省VLAN的VLAN Tag。
这样,如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是untagged的报文,该报文就成为带有端口缺省VLAN Tag的报文。
(2)基于端口+VLAN使能QinQ
来自同一个端口的报文,可以根据携带的VLAN ID,有选择的封装外层VLAN Tag。
通过命令行操作,根据报文的内层Tag对满足条件的报文打外层VLAN Tag。
说明:S6500系列交换机还支持利用ACL和QoS结合实现基于流的灵活QinQ,有关的操作及命令请参见本手册“QoS”部分的介绍。
2.2 灵活QinQ配置
通过配置灵活QinQ功能,可以使端口根据接收报文携带的VLAN ID有选择的封装外层VLAN Tag。
虽然灵活QinQ可以为报文增加多种不同的外层Tag,但在接收报文时,仍然将报文的源MAC地址学习到端口的缺省VLAN中,而且在缺省VLAN 的MAC表中找不到对应目的端口的情况下,会将报文在缺省VLAN的其他所有端口进行广播,造成一定的安全隐患。
为避免此类广播现象,用户可以在配置灵活QinQ时使用数据流隔离(flow-isolate)功能,使报文在本芯片的端口不进行广播。
2.2.1 配置准备
在端口视图下,使能QinQ功能;
在系统视图下,设置端口允许通过的VLAN。
2.2.2 灵活QinQ配置过程
表2-1 灵活QinQ配置过程
注意:该功能需要先执行vlan-vpn enable命令,且配置在接收私网报文的端口上。
在开启数据流隔离功能后,需要保证灵活QinQ的上行端口和下行端口不在同一芯片内,否则将导致无法正常通信。
2.2.3 灵活QinQ配置举例
1. 组网需求
SwitchA为1台S6500系列交换机。
设置GigabitEthernet0/1/1端口的PVID为8,并使能QinQ功能。
设置内层报文的VLAN Tag。
设置VLAN8到15的报文需要打上外层VLAN 10的Tag,VLAN 20到25的报文需要打上外层VLAN 100的Tag。
2. 组网图
图2-1 灵活QinQ配置图
3. 配置步骤
# 进入系统视图。
<SwitchA> system-view
[SwitchA]
# 进入GigabitEthernet0/1/1端口视图。
[SwitchA] interface GigabitEthernet 0/1/1
# 设置端口link-type类型为Hybrid。
[SwitchA-GigabitEthernet0/1/1] port link-type hybrid
# 设置端口允许通过所有的VLAN去掉Tag通过。
[SwitchA-GigabitEthernet0/1/1] port hybrid vlan 1 to 4094 untagged
# 设置当前端口的PVID为8。
[SwitchA-GigabitEthernet0/1/1] port hybrid pvid vlan 8
# 使能QinQ功能。
[SwitchA-GigabitEthernet0/1/1] vlan-vpn enable
# 设置报文需要打上外层VLAN 10的Tag。
[SwitchA-GigabitEthernet0/1/1] vlan-vpn vid 10
# 设置内层报文的VLAN Tag。
[SwitchA-GigabitEthernet0/1/1-vid-10] raw-vlan-id inbound 8 to 15 # 设置报文需要打上外层VLAN 100的Tag。
[SwitchA-GigabitEthernet0/1/1-vid-10] vlan-vpn vid 100
# 设置内层报文的VLAN Tag。
[SwitchA-GigabitEthernet0/1/1-vid-100] raw-vlan-id inbound 20 to 25
说明:通过以上配置,进入GigabitEthernet0/1/1端口的报文,如果内层Tag 为8到15中任意一个,均会打上外层VLAN Tag为10的标签;内层Tag为20
到25中的任意一个,会打上外层VLAN Tag为100的标签;对于内层Tag是非8 到15的报文均会打上缺省的VLAN 8的Tag。