两家公司共用运营商网络VLAN会串?华为交换机QinQ双层标签各走各的

写字楼、产业园区里常见这种组网:两家企业(或一个集团的两个子公司)各有两处办公点,彼此的分支要通过同一段运营商网络互通。麻烦在 VLAN 上——每家企业内部都自行规划了几十上百个 VLAN,而运营商只在公网上划了两个 VLAN 给你用;直接透传,要么 VLAN ID 撞车互相串流量,要么 4096 个 ID 根本不够几家分。华为 S 系列交换机的基本 QinQ(802.1Q-in-802.1Q)就是解这个题的:报文进运营商网络前,在原有私网标签外面再套一层公网分配的外层 Tag,穿过公网到对端剥离外层标签、私网 VLAN 原样恢复——公网只认外层那一个 VLAN,私网想怎么规划就怎么规划。若公网里还挂着其它厂商设备,外层标签的 TPID 值对不上(对方是 0x9100),一条命令也能对齐。

本文的组网需求、配置思路与命令步骤,整理自华为官方发布的典型配置案例,参数可直接参考使用。

组网需求

网络中有两个企业,企业1有两个分支,企业2有两个分支。两个企业的各办公地企业网分别与运营商网络中的 SwitchA 和 SwitchB 相连,且公网中存在其它厂商设备,其外层 VLAN Tag 的 TPID 值为 0x9100。现需要实现:

  • 企业1和企业2独立划分 VLAN,两者互不影响;
  • 各企业两分支之间的流量通过公网透明传输,相同业务之间互通,不同业务之间互相隔离。

利用公网提供的 VLAN 100 使企业1互通,利用公网提供的 VLAN 200 使企业2互通,不同企业之间互相隔离;并通过在连接其它厂商设备的接口上配置修改 QinQ 外层 VLAN Tag 的 TPID 值,实现与其它厂商设备的互通。

配置思路

整个案例在 SwitchA、SwitchB 两台交换机上对称配置,共三步:

  • 在 SwitchA 和 SwitchB 上均创建 VLAN 100 和 VLAN 200,配置连接业务的接口为 QinQ 类型,并分别加入 VLAN,实现不同业务添加不同的外层 VLAN Tag;
  • 配置 SwitchA 和 SwitchB 上连接公网的接口加入相应 VLAN,实现允许 VLAN 100 和 200 的报文通过;
  • 在 SwitchA 和 SwitchB 连接公网的接口上配置外层 VLAN Tag 的 TPID 值,实现与其它厂商设备的互通。

核心逻辑一句话:业务口设为 dot1q-tunnel 类型后,接口收到报文统一打上本接口缺省 VLAN 的外层 Tag——企业1的流量带 VLAN 100 外层标签、企业2带 VLAN 200,公网按外层标签转发,两层各管各的、互不干扰。

操作步骤

一、创建VLAN

在 SwitchA 上创建 VLAN 100 和 VLAN 200。

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 100 200

在 SwitchB 上创建 VLAN 100 和 VLAN 200。

<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] vlan batch 100 200

二、配置接口类型为QinQ

在 SwitchA 上配置接口 GE1/0/1、GE1/0/2 的类型为 QinQ,GE1/0/1 的外层 Tag 为 VLAN 100,GE1/0/2 的外层 Tag 为 VLAN 200。SwitchB 的配置与 SwitchA 类似。

[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type dot1q-tunnel //配置接口的链路类型为QinQ
[SwitchA-GigabitEthernet1/0/1] port default vlan 100
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type dot1q-tunnel //配置接口的链路类型为QinQ
[SwitchA-GigabitEthernet1/0/2] port default vlan 200
[SwitchA-GigabitEthernet1/0/2] quit

两个业务口就是两家企业的接入位:企业1挂在 GE1/0/1(外层打 VLAN 100),企业2挂在 GE1/0/2(外层打 VLAN 200)。接口收到已带 Tag 的报文就成为双 Tag 报文,收到不带 Tag 的报文则打上缺省 VLAN 的 Tag。

三、配置连接公网侧的接口

在 SwitchA 上配置接口 GE1/0/3 加入 VLAN 100 和 VLAN 200。SwitchB 的配置与 SwitchA 类似。

[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] port link-type trunk
[SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 100 200
[SwitchA-GigabitEthernet1/0/3] quit

公网侧接口走普通 trunk,放行两个外层 VLAN 即可——公网设备全程只看得见 VLAN 100 和 VLAN 200。

四、配置外层VLAN Tag的TPID值

公网中存在其它厂商设备,其外层 VLAN Tag 的 TPID 值为 0x9100(华为设备缺省为 0x8100),需要在连接公网的接口上把 TPID 对齐,否则对方的设备识别不了这层标签。

在 SwitchA 上配置外层 VLAN Tag 的 TPID 值为 0x9100。

[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] qinq protocol 9100 //配置QinQ外层VLAN tag的TPID值为0x9100

在 SwitchB 上配置外层 VLAN Tag 的 TPID 值为 0x9100。

[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] qinq protocol 9100 //配置QinQ外层VLAN tag的TPID值为0x9100

检查配置结果

配置完成后按官方案例的三组 ping 验证:

  • 从企业1一处分支内任意 VLAN 的一台 PC ping 企业1另外一处分支同一 VLAN 内的 PC,可以 ping 通,表示企业1内部可以互相通信;
  • 从企业2一处分支内任意 VLAN 的一台 PC ping 企业2另外一处分支同一 VLAN 内的 PC,可以 ping 通,表示企业2内部可以互相通信;
  • 从企业1一处分支内任意 VLAN 的一台 PC ping 企业2任意一处分支同一 VLAN 内的 PC,不能 ping 通,表示企业1和企业2之间相互隔离。

配置脚本

SwitchA 的配置脚本:

#
sysname SwitchA
#
vlan batch 100 200
#
interface GigabitEthernet1/0/1
 port link-type dot1q-tunnel
 port default vlan 100
#
interface GigabitEthernet1/0/2
 port link-type dot1q-tunnel
 port default vlan 200
#
interface GigabitEthernet1/0/3
 qinq protocol 9100
 port link-type trunk
 port trunk allow-pass vlan 100 200
#
return

SwitchB 的配置脚本:

#
sysname SwitchB
#
vlan batch 100 200
#
interface GigabitEthernet1/0/1
 port link-type dot1q-tunnel
 port default vlan 100
#
interface GigabitEthernet1/0/2
 port link-type dot1q-tunnel
 port default vlan 200
#
interface GigabitEthernet1/0/3
 qinq protocol 9100
 port link-type trunk
 port trunk allow-pass vlan 100 200
#
return

注意事项

  • 本举例适用于 S 系列交换机所有产品的所有版本,落到具体设备前建议核对你设备的软件版本。
  • 外层 VLAN 由运营商分配,共用公网的两家企业外层 VLAN 必须不同,否则在公网上就会串到一起——“各走各的"正是靠这一层分开的。
  • TPID 对接是这类组网最隐蔽的坑:本例公网含其它厂商设备(TPID 为 0x9100),与华为缺省的 0x8100 不一致,两端不通过 qinq protocol 对齐的话,报文会被对端当普通数据帧处理,表现为"配置都对但 ping 不通”。
  • qinq protocol 只需配置在连接对端厂商设备的接口上;纯华为设备对接的链路保持缺省即可,不必额外配置。

分支互联的内外层 VLAN 规划想一步到位,贵州诚鑫致达科技可以上门帮你把标签分配和厂商对接参数一次理清。不同厂商设备对外层标签 TPID 的默认取值存在差异,对接前务必两边核对。

源:华为S系列交换机官方文档


企业存储选型参考|贵州诚鑫致达

企业级 NAS 选型,可从这些在售系列入手:RS2423+(12 盘位机架式) · SA3410(可扩充企业存储,横向扩展)。从选型到部署交付,搜「诚鑫致达」找到我们。