网络基础 | Trunk 配置:交换机之间怎么「一根线传多个 VLAN」

上篇《VLAN 的划分》讲了 VLAN 隔离和 Access 口,但跨交换机的同一个 VLAN 要互通,Access 口做不到——它只能带一个 VLAN 且出方向去标签。本篇专门讲 Trunk 干道:一根链路同时透传多个 VLAN,靠 802.1Q 标签区分身份。


1. 一句话理解 Trunk

  • Access 口:接终端(PC/服务器),只属于一个 VLAN,出方向剥离标签
  • Trunk 口:连交换机/路由器,同时承载多个 VLAN,帧带 802.1Q 标签传输
  • Trunk 干道:两台设备之间的 Trunk 链路,本质是「多 VLAN 共用的高速公路」

口诀:「交换机连交换机用 Trunk,交换机连 PC 用 Access」


2. 三种端口类型速查表

端口类型连接对象允许 VLAN 数是否打标签典型用途
Access终端(PC/打印机)仅 1 个出方向去标签用户接入
Trunk交换机/路由器多个(默认仅 VLAN 1)带标签透传设备互联干道
Hybrid终端或设备均可多个可灵活控制每张标签去留特殊场景(如 VoIP+数据)

⚠️ 华为/H3C 与 Cisco 差异:Cisco 的 Trunk 用 802.1Q(dot1q);华为默认端口类型是 Hybrid,要手动 port link-type trunk 切到 Trunk。本文以华为 VRP 为例。


3. 802.1Q 标签长什么样(帧结构)

Trunk 口在转发跨 VLAN 帧时,会在源 MAC 之后、类型字段之前插入 4 字节标签:

以太网帧 vs 802.1Q 标签帧 无标签帧(Access 口发出的原始帧) DASATypeDataFCS 目的MAC 6B源MAC 6B2B46–1500B4B 插入 4 字节标签 802.1Q 标签帧(Trunk 口打标签后) DASA802.1Q 标签TypeDataFCS TPID 0x8100 · PRI(3bit) · CFI(1bit) · VLAN ID(12bit)

标签 4 字节拆解:

字段长度含义
TPID2B固定 0x8100,标识这是 802.1Q 帧
PRI3bit优先级(0–7),QoS 用
CFI1bit规范格式指示位,以太网固定 0
VLAN ID12bitVLAN 编号 0–4095,真正决定归属的字段

💡 关键认知:Trunk 不靠「记得哪根线属于哪个 VLAN」,而是每帧都带着自己的 VLAN ID 跑,对端交换机按标签转发。


4. PVID 是什么(最容易混的概念)

  • PVID(Port Default VLAN ID)= 端口的缺省 VLAN
  • 收帧时:收到无标签帧(如来自 Access 口/PC),交换机给它打上本端口 PVID 的标签
  • 发帧时:若帧的 VLAN ID 等于出端口 PVID 且端口配置去标签,则剥离标签发出
场景行为
Access 口收无标签帧打上 PVID(= 该口所属 VLAN)标签
Trunk 口收无标签帧打上 Trunk 口 PVID(默认 VLAN 1)标签
Trunk 口发帧,VLAN ID = PVID剥离标签发出(native VLAN 行为)
Trunk 口发帧,VLAN ID ≠ PVID带标签发出

⚠️ 排障高频坑:两端 Trunk 的 PVID(native VLAN)不一致会导致 VLAN 漏配/环路。建议两端保持一致,且生产环境把 native VLAN 改掉别用默认的 1。


5. 实验拓扑

跨交换机 Trunk 透传 Trunk · 放行 VLAN 10 20 LSW1 LSW2 PC1·V1010.0.10.10 PC2·V2010.0.20.20 PC3·V1010.0.10.30 PC4·V2010.0.20.40 PC1↔PC3 同 VLAN10 可通 PC1↔PC2 不同 VLAN 隔离

目标:PC1(V10)与 PC3(V10)跨交换机互通;PC1 与 PC2(V20)隔离。


6. Trunk 完整配置(VRP)

6.1 LSW1 配置

system-view
sysname LSW1

# 1. 创建 VLAN
vlan batch 10 20

# 2. 连接 PC 的 Access 口
interface GigabitEthernet 0/0/1        # 接 PC1(VLAN 10)
 port link-type access
 port default vlan 10
interface GigabitEthernet 0/0/2        # 接 PC2(VLAN 20)
 port link-type access
 port default vlan 20

# 3. 连接对端交换机的 Trunk 口
interface GigabitEthernet 0/0/24       # 接 LSW2
 port link-type trunk
 port trunk allow-pass vlan 10 20      # 放行指定 VLAN(华为默认仅 VLAN 1)
 # port trunk pvid vlan 1              # 默认 native VLAN=1,可改

6.2 LSW2 配置(对称)

system-view
sysname LSW2

vlan batch 10 20

interface GigabitEthernet 0/0/1        # 接 PC3(VLAN 10)
 port link-type access
 port default vlan 10
interface GigabitEthernet 0/0/2        # 接 PC4(VLAN 20)
 port link-type access
 port default vlan 20

interface GigabitEthernet 0/0/24       # 接 LSW1
 port link-type trunk
 port trunk allow-pass vlan 10 20

💡 简写技巧:放行所有 VLAN 用 port trunk allow-pass vlan all;若只放行 10 20 之外的某几个,可 undo port trunk allow-pass vlan 1 把默认 VLAN 1 移出。


7. 验证命令

# 看每个端口的链路类型 + 缺省 VLAN + 放行 VLAN
display port vlan

# 看 VLAN 与成员端口的对应关系
display vlan

# 看接口物理/协议状态
display interface GigabitEthernet 0/0/24 brief

# 详细看某 Trunk 口的 PVID / 放行列表
display port vlan interface GigabitEthernet 0/0/24

预期输出要点:

  • display port vlan 里 G0/0/24 的 LINK TYPE = trunk,VLAN LIST = 10 20
  • PC1 ping 10.0.10.30(PC3)通;ping 10.0.20.20(PC2)不通

8. ⚠️ 默认放行陷阱(最高频)

华为交换机 Trunk 口默认只允许 VLAN 1(port trunk allow-pass vlan 1)。如果只配 port link-type trunk 而忘了 allow-pass vlan 10 20,那 VLAN 10/20 的帧过不了 Trunk,跨交换机同 VLAN 也 ping 不通——现象和「没配 VLAN」一模一样,极难第一时间想到是 Trunk 没放行。

红色警告:配完 Trunk 第一件事就是 display port vlan 确认放行列表,别等 ping 不通才查。


9. 对比表

9.1 Access vs Trunk vs Hybrid

维度AccessTrunkHybrid
连接对象终端交换机/路由器均可
允许 VLAN1 个多个多个
标签处理出方向去标签按 VLAN ID 决定带/去每 VLAN 单独配置
默认 PVID所配 VLAN11
常用度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

9.2 allow-pass 写法对照

命令效果
port trunk allow-pass vlan 10仅放行 VLAN 10
port trunk allow-pass vlan 10 20放行 10 和 20
port trunk allow-pass vlan 10 to 20放行 10–20 连续段
port trunk allow-pass vlan all放行全部
undo port trunk allow-pass vlan 1从放行列表移除 VLAN 1

10. 八大踩坑表

#坑现象正确做法
1Trunk 没 allow-pass跨交换机同 VLAN 不通显式放行 allow-pass vlan 10 20
2两端 Trunk PVID 不一致VLAN 错乱/潜在环路两端 native VLAN 保持一致
3Access 口接交换机多 VLAN 帧被丢弃设备互联必须用 Trunk
4忘了 vlan batch端口无法加入 VLAN先建 VLAN 再配端口
5用 default vlan 配 TrunkTrunk 不支持该命令Trunk 用 allow-pass
6native VLAN 用默认 1安全风险/易混生产改掉,别用 1
7一端 Trunk 一端 Hybrid 没对齐标签处理不一致丢帧两端类型与放行一致
8配完不验证问题滞后暴露display port vlan 立即确认

结语

Trunk 的核心就一句:用 802.1Q 标签让一根物理链路透传多个 VLAN,配置上记得「接口改 trunk + allow-pass 放行 + 两端 PVID 对齐」三件套。

下一篇预告:《VLAN 间路由》——不同 VLAN 要互访,二层 Trunk 不够,得上三层(单臂路由 / 三层交换 SVI),把这套「路由+交换」系列彻底闭环。

# 续写模板(下篇直接用)
# 目标:VLAN 10 与 VLAN 20 互通
# 方案A:单臂路由(路由器子接口 dot1q termination)
# 方案B:三层交换(interface vlanif 10 / 20 + ip address)
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐