一、QinQ概述

现在以太网技术在网络中进行了大量的部署,网络中有着各种各样的需求,如果我们利用产传统的VLAN对用户进行隔离已完成各种各样的需求,那麽需要占用大量的VLAN ID,而我们VLAN ID也只有4096个,这对于小型网络当然是够用,但是遇上大中型网络4096个VLAN ID是远远不够的,QinQ(802.1Q in 802.1Q)就是一项扩展vlan空间扩展技术,通过在内网Tag外面在添加一层公网Tag,这样数据就有了4096 * 4096个VLAN ID。

二、QinQ运行原理

在公网进行传输时,设备只对外层VLAN Tag进行识别并学习,我们之前内网的Tag也会变为公网运输数据的一部分,到达目的私网后公网Tag就会被剥去,只留下一个私网Tag在私网内传输,所以即使私网VLAN Tag相同也不影响在公网上的传输。

三、QinQ类型

1.基本QinQ
就是死板QinQ,边缘设备(靠近公网的设备)下游设备任何vlan到边缘设备后都只会添加边缘设备端口的固定PVID,缺点就是太死板,难以有效支撑业务的灵活运营。
2.灵活QinQ
公网Tag可以不使用端口默认的PVID自己定义想要指定VLAN作为在公网上进行传输的外层VLAN Tag。

四、QinQ实例配置讲解(重点!)

实验需求:

使用灵活QinQ进行部署(因为较难)
要求各私网跨公网进行同VLAN通信
需求分析:
开始灵活QinQ后一定要设置脱去公网标签才可以进行私网跨公网进行同VLAN通信,不脱标签数据到了目标私网后仍然是vlan100,这样和拓扑那个主机都无法通信。
实验步骤:
老规矩,先配置二层。
#LSW3

sys lsw3

sys lsw3
vlan b 10 20 30
int g 0/0/1
p l a
p d v 10
int g 0/0/2
p l a
p d v 20
int g 0/0/20
p l t
p t a v 10 20

#LSW1

interface GigabitEthernet0/0/10
port link-type trunk
port trunk allow-pass vlan 100 200

#LSW2

interface GigabitEthernet0/0/10
 port link-type trunk
 port trunk allow-pass vlan 100 200

#LSW4

sys lsw4
vlan b 10 20 30
int g 0/0/3
p l a
p d v 10
int g 0/0/4
p l a
p d v 20
int g 0/0/20
p l t
p t a v 10 20

至此二层配置完毕,此时可以正常通信


然后再LSW1\LSW2上分别配置灵活QinQ(命令相同)

#开启QinQ
 qinq vlan-translation enable
 #一定要进行配置,而且在此处必须为无标签才可与目标私网进行同vlan通信。
 port hybrid untagged vlan 100 200
 #私网vlan10披着vlan100的衣服再公网上溜达
 port vlan-stacking vlan 10 stack-vlan 100
 port vlan-stacking vlan 20 stack-vlan 200

测试结果:
测试客户端1是否可以和客户端3进行通信

测试是灵活QinQ是否部署成功

五、QinQ配置命令(灵活QinQ)

1.配置接口类型为dot1q-tunnel

#配置接口类型为dot1q-tunnel,该接口可以是物理接口,也可以是Eth-Trunk接口。
[Huawei-GigabitEthernet0/0/1] port link-type dot1q-tunnel

2.使能接口VLAN转换功能`

[Huawei-GigabitEthernet0/0/1] qinq vlan-translation enable

3.配置配置灵活QinQ

#配置不同的内层VLAN叠加不同的外层VLAN,缺省情况下,外层VLAN优先级与内层VLAN优先级保持一致
[Huawei-GigabitEthernet0/0/1] port vlan-stacking vlan vlan-id1 [ to vlan-id2 ] stack-vlan vlan-id3 [ remark-8021p 8021p-value ]