eNSP 实战难度 · 入门

Trunk 图解:一条线如何承载多个 VLAN

Trunk 端口原理图解与华为 eNSP 配置,一张图看懂 802.1Q 标签,解决跨交换机 VLAN 通信。

#Trunk#VLAN#802.1Q#交换

先看效果

Trunk链路在一条线上承载多个VLAN的原理图
两台交换机之间一条 Trunk 链路,VLAN 10 和 VLAN 20 的帧带标签并行传输

为什么需要 Trunk

两台交换机一左一右,左边的 PC 属于 VLAN 10/20,右边的 PC 也要分同样的 VLAN。如果只用一根普通线连接,交换机 A 的 VLAN 10 和交换机 B 的 VLAN 10 互不相认——因为链路上没有标记这是哪个 VLAN 的帧。

解决办法就是 Trunk:链路两端的接口都设成 Trunk,发送的帧打上 802.1Q 标签(VLAN ID),接收端按标签归类。这样一条物理链路就能同时承载多个 VLAN。

原理图解

看上面这张图:

  • Access 口(连接 PC 的绿色/蓝色小方块):只属于一个 VLAN,进出都不打标签;
  • Trunk 口(两台交换机之间):帧带着 “VLAN 10” / “VLAN 20” 标签走,交换机根据标签决定送到哪个 VLAN。

记住一个类比:Access 口像专属通道,Trunk 口像多车道高速公路,每条车道(VLAN)有自己的编号。

eNSP 完整配置

两台 S5700(SW1、SW2)通过 GE0/0/24 互联,PC 都接 GE0/0/1。

# ===== SW1 =====
<Huawei> system-view
[Huawei] sysname SW1
[SW1] vlan batch 10 20

# 下联 PC:Access
[SW1] interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10

# 上联 SW2:Trunk,放行 VLAN 10 20
[SW1] interface GigabitEthernet0/0/24
[SW1-GigabitEthernet0/0/24] port link-type trunk
[SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20

# ===== SW2(对称配置)=====
[SW2] vlan batch 10 20
[SW2] interface GigabitEthernet0/0/1
[SW2-GigabitEthernet0/0/1] port link-type access
[SW2-GigabitEthernet0/0/1] port default vlan 20
[SW2] interface GigabitEthernet0/0/24
[SW2-GigabitEthernet0/0/24] port link-type trunk
[SW2-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20

注意:Trunk 两端要对称,放行的 VLAN 列表一致;默认 Trunk 放行 vlan 1,最好显式写清楚。

验证

# 查看 Trunk 口放行了哪些 VLAN
[SW1] display port vlan

# 或单独看接口
[SW1] display interface GigabitEthernet0/0/24

输出中能看到 Port Mode: TRUNK 以及 VLAN permitted: 10,20。

常见问题

Q: 两台交换机 VLAN 10 的 PC ping 不通? A: 三步查:① 两端 PC 是否同网段;② Trunk 口是否都放行了 VLAN 10;③ 物理线是否接了 GE0/0/24(别接错口)。

Q: 帧标签在 PC 端会不会露出来? A: 不会。Access 口进出的帧不带标签,标签只在 Trunk 链路内部传递,PC 完全无感。

下一步

不同 VLAN 现在能沿 Trunk 跑了,但 VLAN 10 和 VLAN 20 之间依然隔离。要让他们通信,需要三层:看 VLAN 间路由:VLANIF 三层交换。