Trunk 端口是一种用于交换机之间或交换机与路由器/服务器之间的链路,它允许多个 VLAN 的数据帧通过,与只允许单个 VLAN 通过的 Access 端口不同,Trunk 端口是构建多 VLAN 网络的核心。

Trunk 配置的核心命令
华为交换机配置 Trunk 端口主要涉及以下几个视图和命令:
-
进入系统视图
system-view
所有后续的配置命令都需要在系统视图下执行。
-
进入接口视图
(图片来源网络,侵删)interface interface-type interface-number
要进入
GigabitEthernet 0/0/1接口:interface GigabitEthernet 0/0/1
-
将端口模式切换为 Trunk
port link-type trunk
这是将端口从默认的
access模式切换到trunk模式的核心命令。 -
配置 Trunk 端口允许通过的 VLAN
(图片来源网络,侵删)port trunk allow-pass vlan { vlan-id1 [ to vlan-id2 ] | all }这是 Trunk 配置中最关键的一步。
vlan-id1: 指定允许通过的单个 VLAN ID。vlan-id1 to vlan-id2: 指定允许通过的 VLAN 范围(10 to 20)。all: 允许所有 VLAN 通过(注意:这通常不推荐,因为它会带来不必要的广播风暴和安全风险,除非是连接路由器或作为上行链路时需要)。
-
(可选)配置 Trunk 端口的 VLAN 标签处理方式
port trunk pvid vlan vlan-id
- PVID (Port VLAN ID): 端口的默认 VLAN ID。
- 作用: 当一个未标记 的数据帧进入 Trunk 端口时,交换机会给它打上 PVID 对应的 VLAN 标签。
- 最佳实践: Trunk 端口的 PVID 通常配置为管理 VLAN 或一个不常用的 VLAN,以避免与数据 VLAN 混淆,数据流量通常都是带有标记的。强烈建议将 Trunk 端口的 PVID 修改为一个不承载用户数据的 VLAN,VLAN 100,以防止未标记流量被错误地划分到某个业务 VLAN 中。
-
(可选)配置是否剥离 VLAN 标签
port trunk peel-tag { vlan-id1 [ to vlan-id2 ] | all }- 作用: 配置从该 Trunk 端口发送 数据帧时,是否剥离特定 VLAN 的标签。
- 典型场景: 当连接到一个不支持 VLAN 标签的设备时(如一些旧式服务器或打印机),需要将服务器所在的 VLAN 的标签剥离掉,让该设备能正常通信。
- 注意:
port trunk allow-pass vlan和port trunk peel-tag是两个独立的配置,剥离标签的 VLAN 必须是allow-pass列表中的 VLAN。
-
保存配置
save
所有配置完成后,务必执行此命令保存到设备,否则重启后配置会丢失。
Trunk 配置示例
示例 1:标准 Trunk 配置(交换机互联)
这是最常见的场景,两台交换机之间的链路需要承载所有业务 VLAN。
场景:
- 交换机 SwitchA 和 SwitchB 通过
GigabitEthernet 0/0/24端口互联。 - 网络中有业务 VLAN 10、VLAN 20、VLAN 30。
- 我们希望 Trunk 链路能承载这些 VLAN,并设置一个管理 VLAN 100 作为 PVID。
配置步骤 (在 SwitchA 和 SwitchB 上执行相同的操作):
# 进入系统视图 <SwitchA> system-view # 进入连接对端的接口 [SwitchA] interface GigabitEthernet 0/0/24 # 将端口模式设置为 Trunk [SwitchA-GigabitEthernet0/0/24] port link-type trunk # 配置允许通过的 VLAN 为 10, 20, 30 [SwitchA-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 # (推荐)配置 PVID 为管理 VLAN 100 [SwitchA-GigabitEthernet0/0/24] port trunk pvid vlan 100 # 退出接口视图 [SwitchA-GigabitEthernet0/0/24] quit # 保存配置 [SwitchA] save
示例 2:连接不支持 VLAN 标签的服务器
场景:
- 一台服务器连接到交换机的
GigabitEthernet 0/0/10端口。 - 服务器属于 VLAN 10。
- 服务器网卡不支持 VLAN Tag,发送的帧是未标记的。
配置步骤:
# 进入系统视图 <SwitchA> system-view # 进入连接服务器的接口 [SwitchA] interface GigabitEthernet 0/0/10 # 将端口模式设置为 Trunk [SwitchA-GigabitEthernet0/0/10] port link-type trunk # 配置允许 VLAN 10 通过 [SwitchA-GigabitEthernet0/0/10] port trunk allow-pass vlan 10 # 关键步骤:配置从该端口发送 VLAN 10 的数据帧时剥离标签 [SwitchA-GigabitEthernet0/0/10] port trunk peel-tag vlan 10 # (可选但推荐)配置 PVID 为 10,这样服务器发出的未标记流量会被正确识别为 VLAN 10 [SwitchA-GigabitEthernet0/0/10] port trunk pvid vlan 10 # 退出并保存 [SwitchA-GigabitEthernet0/0/10] quit [SwitchA] save
Trunk 配置的验证命令
配置完成后,可以使用以下命令来验证配置是否正确:
-
查看接口的详细信息
display interface interface-type interface-number
在输出中查找
Port link-type和Trunk VLANs allowed等信息,可以确认端口模式和允许通过的 VLAN。 -
查看 Trunk 端口的具体配置(最常用)
display port-trunk
这个命令会列出所有 Trunk 端口及其详细配置,包括:
- 端口列表
Port link-type(确认是 trunk)PVID(端口的默认 VLAN)Trunk VLANs allowed(允许通过的 VLAN 列表)Trunk VLANs Peeking(剥离标签的 VLAN 列表)
-
查看 MAC 地址表(间接验证)
display mac-address
可以检查特定 VLAN 的 MAC 地址是否通过 Trunk 端口进行了学习,从而判断数据帧是否正确地跨 VLAN 传输。
重要注意事项和最佳实践
- PVID 配置: 强烈建议为 Trunk 端口配置一个不承载用户流量的 PVID(例如管理 VLAN 或一个专用 VLAN),并禁用该 PVID 的数据转发功能(如果可能),以防止未标记流量造成的安全问题。
- 允许的 VLAN 列表: 始终遵循最小权限原则,只允许必要的 VLAN 通过 Trunk 链路,避免使用
allow-pass vlan all。 - 与思科设备的兼容性: 如果需要与思科设备互联,华为的
Trunk概念与思科的Trunk类似,但Native VLAN的概念略有不同,思科的 Native VLAN 默认不打标签,而华为 Trunk 端口的 PVID VLAN 默认也不打标签,在混合环境中,确保对端的 Native VLAN 和本端的 PVID VLAN 配置一致,或者都配置为不承载用户流量的 VLAN,以避免 VLAN 逃逸问题。 - Hybrid 端口: 华为交换机还有一种更灵活的
Hybrid端口模式,Hybrid 端口既可以像 Trunk 一样允许多个 VLAN 通过,又可以像 Access 端口一样选择性地剥离某些 VLAN 的标签,对于复杂的场景,Hybrid 端口提供了更精细的控制,但对于大多数标准 Trunk 需求,使用port link-type trunk即可。
希望这份详细的指南能帮助您熟练掌握华为 Trunk 端口的配置!
