实验五:跨交换机 VLAN 通信(Trunk)配置
一、应用场景
随着企业规模扩大,一个办公区可能有多台交换机。例如,一楼有一台接入交换机 SW1,二楼有一台接入交换机 SW2,两台的交换机通过一条上联链路互联。财务部在一楼和二楼都有员工,技术部也是如此。如果按照实验四的做法,每台交换机上单独创建 VLAN,那么一楼的财务部无法与二楼的财务部通信,因为中间那条上联链路没有承载 VLAN 信息。
要解决这个问题,需要把交换机之间的互联链路配置为 Trunk 端口。Trunk 端口可以同时承载多个 VLAN 的数据,通过给数据帧打上 VLAN 标签(Tag),让对端交换机知道这个帧属于哪个 VLAN,从而把数据转发到对应的 VLAN 中。这样,不同交换机上的同一 VLAN 就能像在同一台交换机上一样互通。
本实验模拟该企业两层楼的组网场景,在两台交换机上创建相同的 VLAN,通过 Trunk 链路实现跨交换机的同 VLAN 通信,并验证不同 VLAN 之间仍然保持隔离。
二、配置目标
- 理解 Trunk 端口的作用,掌握 Trunk 端口的配置方法。
- 理解 PVID(端口默认 VLAN)的概念及其在 Trunk 端口上的作用。
- 掌握 VLAN 放行列表的配置方法,理解“允许通过的 VLAN”这一概念。
- 完成两台交换机的 VLAN 创建和 Access 端口配置。
- 完成两台交换机之间 Trunk 链路的配置。
- 验证跨交换机的同 VLAN 互通,以及不同 VLAN 之间的隔离。
- 掌握查看 Trunk 端口配置和 VLAN 放行情况的方法。
- 通过扩展任务理解链路聚合的基本配置,掌握在聚合链路上承载 Trunk 的方法。
三、重要概念说明
3.1 Trunk 端口
Trunk 端口是交换机之间或交换机与路由器之间常见的端口类型,用于承载多个 VLAN 的数据。与 Access 端口不同,Trunk 端口不属于某一个 VLAN,而是可以同时传输多个 VLAN 的流量。
当 Trunk 端口发送数据帧时,如果该帧所属的 VLAN 不在 PVID 范围内,交换机会给数据帧打上 VLAN 标签再发送;如果该帧所属 VLAN 等于 PVID,则可能剥离标签后发送。当 Trunk 端口收到数据帧时,如果帧带有 VLAN 标签,交换机会根据标签判断所属 VLAN;如果帧不带标签,则将其归入 PVID 对应的 VLAN。
3.2 PVID
PVID 的全称是 Port VLAN ID,即端口的默认 VLAN。对于 Trunk 端口,PVID 用于处理不带标签的以太网帧。华为交换机 Trunk 端口的默认 PVID 为 1。
本实验中,为了保证跨交换机通信正常,通常建议将 Trunk 端口的 PVID 保持默认值 1,并在放行列表中明确允许业务 VLAN 通过。
3.3 VLAN 放行列表
Trunk 端口可以配置允许通过的 VLAN 列表。只有列表中的 VLAN 数据才能从该 Trunk 端口转发出去,未列出的 VLAN 数据会被丢弃。这样可以控制 Trunk 链路上承载的 VLAN 范围,避免不必要的广播流量。
配置命令:
[SW1] interface GigabitEthernet 0/0/24
[SW1-GigabitEthernet0/0/24] port link-type trunk
[SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
上述命令表示允许 VLAN 10 和 VLAN 20 通过该 Trunk 端口。
四、实验拓扑
本实验采用两台交换机互联,每台交换机各连接两台 PC,分别属于 VLAN 10 和 VLAN 20。两台交换机之间通过 GE0/0/24 互联,配置为 Trunk。

接口与 IP 地址规划表:
| 设备 | 接口 | IP 地址 | 子网掩码 | VLAN | 对端设备 |
|---|---|---|---|---|---|
| PC1 | 以太网 | 192.168.10.2 | 255.255.255.0 | 10 | SW1 GE0/0/1 |
| PC2 | 以太网 | 192.168.20.2 | 255.255.255.0 | 20 | SW1 GE0/0/2 |
| PC3 | 以太网 | 192.168.10.3 | 255.255.255.0 | 10 | SW2 GE0/0/1 |
| PC4 | 以太网 | 192.168.20.3 | 255.255.255.0 | 20 | SW2 GE0/0/2 |
| SW1 | GE0/0/1 | — | — | 10 | PC1 |
| SW1 | GE0/0/2 | — | — | 20 | PC2 |
| SW1 | GE0/0/24 | — | — | Trunk | SW2 GE0/0/24 |
| SW2 | GE0/0/1 | — | — | 10 | PC3 |
| SW2 | GE0/0/2 | — | — | 20 | PC4 |
| SW2 | GE0/0/24 | — | — | Trunk | SW1 GE0/0/24 |
注意:本实验不涉及跨 VLAN 通信,因此 PC 的默认网关暂时不需要配置。
五、实验步骤
5.1 配置 PC 的 IP 地址
双击各台 PC,进入“基础配置”选项卡,按下表配置:
| PC | IP 地址 | 子网掩码 |
|---|---|---|
| PC1 | 192.168.10.2 | 255.255.255.0 |
| PC2 | 192.168.20.2 | 255.255.255.0 |
| PC3 | 192.168.10.3 | 255.255.255.0 |
| PC4 | 192.168.20.3 | 255.255.255.0 |
配置完成后,分别在每台 PC 上使用 ipconfig 确认。
5.2 配置 SW1 的 VLAN 和 Access 端口
双击 SW1,进入命令行,执行以下配置:
<Huawei> system-view
[Huawei] sysname SW1
[SW1] vlan batch 10 20
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1-GigabitEthernet0/0/1] quit
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20
[SW1-GigabitEthernet0/0/2] quit
配置说明:
| 命令 | 作用 |
|---|---|
vlan batch 10 20 | 批量创建 VLAN 10 和 VLAN 20 |
port link-type access | 将接口配置为 Access 模式 |
port default vlan 10 | 将接口的默认 VLAN 设置为 10 |
5.3 配置 SW2 的 VLAN 和 Access 端口
双击 SW2,执行类似配置:
<Huawei> system-view
[Huawei] sysname SW2
[SW2] vlan batch 10 20
[SW2] interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1] port link-type access
[SW2-GigabitEthernet0/0/1] port default vlan 10
[SW2-GigabitEthernet0/0/1] quit
[SW2] interface GigabitEthernet 0/0/2
[SW2-GigabitEthernet0/0/2] port link-type access
[SW2-GigabitEthernet0/0/2] port default vlan 20
[SW2-GigabitEthernet0/0/2] quit
5.4 配置 Trunk 链路
在两台交换机的 GE0/0/24 接口上配置 Trunk,允许 VLAN 10 和 VLAN 20 通过。
SW1 配置:
[SW1] interface GigabitEthernet 0/0/24
[SW1-GigabitEthernet0/0/24] port link-type trunk
[SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
[SW1-GigabitEthernet0/0/24] quit
SW2 配置:
[SW2] interface GigabitEthernet 0/0/24
[SW2-GigabitEthernet0/0/24] port link-type trunk
[SW2-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
[SW2-GigabitEthernet0/0/24] quit
配置说明:
| 命令 | 作用 |
|---|---|
port link-type trunk | 将接口配置为 Trunk 模式 |
port trunk allow-pass vlan 10 20 | 允许 VLAN 10 和 VLAN 20 通过该 Trunk 端口 |
说明:
port trunk allow-pass vlan all表示允许所有 VLAN 通过,但在实际工程中建议明确列出需要放行的 VLAN,避免不必要的广播流量。
5.5 验证跨交换机同 VLAN 互通
- PC1 ping PC3(同属 VLAN 10)
在 PC1 上执行:
PC1> ping 192.168.10.3
应该能够 ping 通,说明跨交换机的 VLAN 10 通信正常。
- PC2 ping PC4(同属 VLAN 20)
在 PC2 上执行:
PC2> ping 192.168.20.3
也应该能够 ping 通,说明 VLAN 20 的跨交换机通信也正常。
- PC1 ping PC4(不同 VLAN)
在 PC1 上执行:
PC1> ping 192.168.20.3
应该无法 ping 通,说明跨交换机的不同 VLAN 之间仍然保持隔离。
5.6 查看 Trunk 端口配置和 VLAN 信息
在 SW1 上执行:
[SW1] display port vlan
可以看到 GE0/0/24 的链路类型为 Trunk,允许通过的 VLAN 包括 10 和 20。
也可以查看指定接口的详细配置:
[SW1] display interface GigabitEthernet 0/0/24
在输出中可以看到接口的链路类型、PVID、允许通过的 VLAN 等信息。
查看 VLAN 信息:
[SW1] display vlan
可以看到 VLAN 10 和 VLAN 20 中包含的接口,包括 Access 端口和 Trunk 端口。
5.8 保存配置
在 SW1 和 SW2 上分别执行保存命令:
<SW1> save
<SW2> save
按提示输入 y 确认。
六、思考
- Trunk 端口和 Access 端口有什么区别?各自适用于什么场景?
- 为什么跨交换机的同 VLAN 通信需要配置 Trunk?如果两台交换机之间的链路配置为 Access,会发生什么?
- PVID 的作用是什么?Trunk 端口的默认 PVID 是多少?如果修改 PVID,会有什么影响?
port trunk allow-pass vlan 10 20和port trunk allow-pass vlan all有什么区别?生产环境中推荐哪种?- 如果 SW1 的 Trunk 端口允许 VLAN 10 和 20 通过,但 SW2 的 Trunk 端口只允许 VLAN 10 通过,VLAN 20 的跨交换机通信会怎样?
- 在扩展任务中,Eth-Trunk 提供了什么好处?如果两条成员链路都断开,通信会怎样?
- 在 SW1 上执行
display port vlan,观察 Trunk 端口的 PVID 和允许通过的 VLAN。如果某个 VLAN 没有在放行列表中,它的数据帧能从该 Trunk 端口转发出去吗?
本实验是 VLAN 部分的核心实验,重点在于理解 Trunk 端口“承载多个 VLAN”和“VLAN 放行列表控制流量范围”这两个关键点。建议在完成基本验证后,尝试修改 Trunk 端口的放行列表,观察哪些 VLAN 的通信会中断,进一步加深对 Trunk 工作原理的理解。扩展任务中的链路聚合,也为后续交换进阶篇的链路聚合实验做了铺垫。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)