第11篇:华为交换机 VLAN 创建与 Access/Trunk/Hybrid 端口配置
关键词:VLAN、Access、Trunk、Hybrid、PVID、端口类型、802.1Q标签、华为交换机
一、引言
在第10篇中,我们学习了三层交换机通过 VLANIF 接口为不同 VLAN 提供网关服务。但 VLANIF 只是一个三层虚拟接口,要让终端真正归属到某个 VLAN,还需要在二层端口上做正确配置。华为交换机端口支持三种工作模式:Access、Trunk 和 Hybrid。这三种模式决定了端口如何处理 VLAN 标签,是 VLAN 技术中最核心的配置内容。本文将系统讲解 VLAN 的创建方法和三种端口模式的配置要点。
二、核心概念
2.1 VLAN 编号与分类
VLAN ID 由 IEEE 802.1Q 标准定义,占用以太网帧中 4 字节 Tag 字段的 12 bit。
| 分类 | VLAN ID 范围 | 说明 |
|---|---|---|
| 正常 VLAN | 1~4094 | 标准 VLAN,所有交换机支持 |
| 默认 VLAN | 1 | 所有端口默认属于 VLAN 1,不建议使用 |
| 系统 VLAN | 特定范围 | 部分设备保留给系统使用 |
| 扩展 VLAN | 4096~4114 | 少数设备支持,非 802.1Q 标准 |
2.2 802.1Q 标签结构
当数据帧携带 VLAN 标签时,会在源 MAC 地址和以太网类型之间插入 4 字节的 802.1Q Tag。
| 字段 | 长度 | 说明 |
|---|---|---|
| TPID | 2 字节 | 固定值 0x8100,标识这是带标签帧 |
| Priority | 3 bit | 802.1p 优先级(0~7,QoS 使用) |
| CFI | 1 bit | 规范格式指示器,以太网通常设为 0 |
| VLAN ID | 12 bit | VLAN 编号(1~4094) |
2.3 三种端口模式的角色定位
| 端口类型 | 连接对象 | VLAN 数量 | 出方向标签 | 华为独有 |
|---|---|---|---|---|
| Access | 终端设备(PC/打印机) | 仅 1 个 | 永远不带标签 | 否 |
| Trunk | 交换机互联 | 多个 | 默认 VLAN 不带标签,其余带标签 | 否 |
| Hybrid | 灵活场景 | 多个 | 可逐 VLAN 控制加/不加标签 | 是 |
2.4 PVID(Port Default VLAN ID)
PVID 决定了端口收到无标签帧时,将该帧归属到哪个 VLAN。
| 端口类型 | 默认 PVID | 修改方式 |
|---|---|---|
| Access | 端口加入的 VLAN ID | 通过 port default vlan 间接修改 |
| Trunk | 1 | port trunk pvid vlan X |
| Hybrid | 1 | port hybrid pvid vlan X |
三、技术细节
3.1 VLAN 的创建与管理
# ========== 方法1:单条创建(进入 VLAN 视图)==========
[HUAWEI] vlan 10
[HUAWEI-vlan10] description Sales-Department
[HUAWEI-vlan10] quit
# ========== 方法2:批量创建(推荐)==========
[HUAWEI] vlan batch 10 20 30
# ========== 方法3:范围批量创建 ==========
[HUAWEI] vlan batch 100 to 120
# ========== 方法4:混合批量创建 ==========
[HUAWEI] vlan batch 10 20 100 to 110 200 300
# ========== 删除 VLAN ==========
[HUAWEI] undo vlan 30
# ========== 查看 VLAN 信息 ==========
<HUAWEI> display vlan
<HUAWEI> display vlan 10
3.2 Access 端口:入打标签,出剥标签
Access 端口只属于一个 VLAN。收到无标签帧时打上 PVID 标签;发送帧时去掉标签。

配置要点:
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] port link-type access
[HUAWEI-GigabitEthernet0/0/1] port default vlan 10
[HUAWEI-GigabitEthernet0/0/1] description PC-Sales-01
[HUAWEI-GigabitEthernet0/0/1] quit
3.3 Trunk 端口:多 VLAN 通道
Trunk 端口允许多个 VLAN 的数据帧通过,使用 802.1Q 标签区分不同 VLAN。
| 概念 | 说明 | 默认行为 |
|---|---|---|
| PVID | 端口默认 VLAN | VLAN 1 |
| Allow-pass VLAN 列表 | 允许通过的 VLAN 集合 | VLAN 1(部分设备 all) |
| Native VLAN | PVID 对应的 VLAN | 发送时不带标签 |

配置要点:
[HUAWEI] interface GigabitEthernet 0/0/24
[HUAWEI-GigabitEthernet0/0/24] port link-type trunk
# 精确允许指定 VLAN
[HUAWEI-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30
# 或允许所有 VLAN
[HUAWEI-GigabitEthernet0/0/24] port trunk allow-pass vlan all
# 修改 PVID
[HUAWEI-GigabitEthernet0/0/24] port trunk pvid vlan 10
3.4 Hybrid 端口:灵活标签控制
Hybrid 端口是华为交换机的独特实现,允许对不同 VLAN 分别设置出方向是否携带标签。
# Hybrid 端口的三条核心命令
[HUAWEI] interface GigabitEthernet 0/0/5
[HUAWEI-GigabitEthernet0/0/5] port link-type hybrid
[HUAWEI-GigabitEthernet0/0/5] port hybrid pvid vlan 10
# 设置端口收到无标签帧时归入 VLAN 10
[HUAWEI-GigabitEthernet0/0/5] port hybrid tagged vlan 20 30
# VLAN 20 和 30 的帧出端口时携带标签
[HUAWEI-GigabitEthernet0/0/5] port hybrid untagged vlan 10 40
# VLAN 10 和 40 的帧出端口时不带标签
[HUAWEI-GigabitEthernet0/0/5] quit
3.5 批量端口配置技巧
# 方式1:连续端口范围
[HUAWEI] interface range GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10
# 方式2:离散端口列表
[HUAWEI] interface range GigabitEthernet 0/0/1, GigabitEthernet 0/0/3, GigabitEthernet 0/0/5
# 方式3:混合范围与离散
[HUAWEI] interface range GigabitEthernet 0/0/1 to GigabitEthernet 0/0/5, GigabitEthernet 0/0/10
注意:使用
interface range进入批量视图后,操作命令会对范围内所有端口生效;切换到下一个interface range时 VRP 会自动退出上一个范围视图。
四、实战配置/案例分析
4.1 案例一:企业网三层交换机完整 VLAN 配置
网络需求:承接第10篇的 VLANIF 场景,在核心三层交换机上配置 VLAN 和端口。
| 部门 | VLAN | 网段 | 接入端口 |
|---|---|---|---|
| 销售部 | 10 | 192.168.10.0/24 | GE0/0/1 ~ GE0/0/5 |
| 技术部 | 20 | 192.168.20.0/24 | GE0/0/6 ~ GE0/0/10 |
| 财务部 | 30 | 192.168.30.0/24 | GE0/0/11 ~ GE0/0/15 |
| 服务器区 | 100 | 192.168.100.0/24 | GE0/0/20 |
<HUAWEI> system-view
[HUAWEI] sysname Core-S6730
# ============ 1. 创建 VLAN ============
[Core-S6730] vlan batch 10 20 30 100
[Core-S6730] vlan 10
[Core-S6730-vlan10] description Sales
[Core-S6730-vlan10] quit
[Core-S6730] vlan 20
[Core-S6730-vlan20] description IT
[Core-S6730-vlan20] quit
[Core-S6730] vlan 30
[Core-S6730-vlan30] description Finance
[Core-S6730-vlan30] quit
[Core-S6730] vlan 100
[Core-S6730-vlan100] description Server
[Core-S6730-vlan100] quit
# ============ 2. 配置 Access 端口 ============
[Core-S6730] interface range GigabitEthernet 0/0/1 to GigabitEthernet 0/0/5
[Core-S6730-Port-range] port link-type access
[Core-S6730-Port-range] port default vlan 10
[Core-S6730-Port-range] description Sales-PC
[Core-S6730-Port-range] quit
[Core-S6730] interface range GigabitEthernet 0/0/6 to GigabitEthernet 0/0/10
[Core-S6730-Port-range] port link-type access
[Core-S6730-Port-range] port default vlan 20
[Core-S6730-Port-range] description IT-PC
[Core-S6730-Port-range] quit
[Core-S6730] interface range GigabitEthernet 0/0/11 to GigabitEthernet 0/0/15
[Core-S6730-Port-range] port link-type access
[Core-S6730-Port-range] port default vlan 30
[Core-S6730-Port-range] description Finance-PC
[Core-S6730-Port-range] quit
[Core-S6730] interface GigabitEthernet 0/0/20
[Core-S6730-GigabitEthernet0/0/20] port link-type access
[Core-S6730-GigabitEthernet0/0/20] port default vlan 100
[Core-S6730-GigabitEthernet0/0/20] description Server-01
[Core-S6730-GigabitEthernet0/0/20] quit
# ============ 3. 配置下行 Trunk 端口(连接接入层交换机)============
[Core-S6730] interface GigabitEthernet 0/0/24
[Core-S6730-GigabitEthernet0/0/24] description To-Access-SW
[Core-S6730-GigabitEthernet0/0/24] port link-type trunk
[Core-S6730-GigabitEthernet0/0/24] port trunk pvid vlan 1
[Core-S6730-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 100
[Core-S6730-GigabitEthernet0/0/24] quit
# ============ 4. 配置 VLANIF 网关(第10篇内容)============
[Core-S6730] interface Vlanif 10
[Core-S6730-Vlanif10] ip address 192.168.10.1 24
[Core-S6730-Vlanif10] quit
[Core-S6730] interface Vlanif 20
[Core-S6730-Vlanif20] ip address 192.168.20.1 24
[Core-S6730-Vlanif20] quit
[Core-S6730] interface Vlanif 30
[Core-S6730-Vlanif30] ip address 192.168.30.1 24
[Core-S6730-Vlanif30] quit
[Core-S6730] interface Vlanif 100
[Core-S6730-Vlanif100] ip address 192.168.100.1 24
[Core-S6730-Vlanif100] quit
验证:
# 查看 VLAN 列表
<Core-S6730> display vlan
The total number of existing VLAN is: 5
VLAN ID: 10 State: enabled
VLAN ID: 20 State: enabled
VLAN ID: 30 State: enabled
VLAN ID: 100 State: enabled
# 查看端口 VLAN 归属
<Core-S6730> display port vlan 10
VLAN ID: 10
Port:
GigabitEthernet0/0/1
GigabitEthernet0/0/2
GigabitEthernet0/0/3
GigabitEthernet0/0/4
GigabitEthernet0/0/5
# 查看 VLANIF 网关状态
<Core-S6730> display ip interface brief
* represent interface is down
Interface IP Address Physical Protocol
Vlanif10 192.168.10.1 up up
Vlanif20 192.168.20.1 up up
Vlanif30 192.168.30.1 up up
Vlanif100 192.168.100.1 up up
4.2 案例二:端口类型配错导致终端无法通信
故障描述:某台 PC 连入交换机 GE0/0/3 端口后无法获取 IP,ping 网关不通。
排查过程:
# 步骤1:检查物理链路
<Core-S6730> display interface GigabitEthernet 0/0/3
GigabitEthernet0/0/3 current state : UP
Line protocol current state : UP ← 物理层正常
# 步骤2:检查端口配置
<Core-S6730> display current-configuration interface GigabitEthernet 0/0/3
port link-type trunk ← 问题:应该连 PC 却配成了 Trunk
port trunk allow-pass vlan 10
# 步骤3:分析原因
# PC 发送 ARP 请求(无标签帧),Trunk 端口收到后归入 PVID(默认 VLAN 1)
# 而 VLANIF 网关在 VLAN 10,ARP 请求到达不了网关
# 修复:改为 Access 端口
[Core-S6730] interface GigabitEthernet 0/0/3
[Core-S6730-GigabitEthernet0/0/3] port link-type access
[Core-S6730-GigabitEthernet0/0/3] port default vlan 10
[Core-S6730-GigabitEthernet0/0/3] quit
# 验证:PC 可以正常通信
<Core-S6730> ping -a 192.168.10.1 192.168.10.50
192.168.10.50 is alive, loss rate: 0%
4.3 案例三:Trunk 链路两端 Allow-pass 不匹配
故障描述:核心交换机与接入交换机级联后,VLAN 30 的 PC 无法与 VLAN 10 的 PC 跨 VLAN 通信;同时,VLAN 100(服务器区)也无法被接入交换机下挂的设备访问到(因为接入交换机的 Trunk 也未放行 VLAN 100)。
# 核心交换机 Trunk 配置
<Core-S6730> display current-configuration interface GigabitEthernet 0/0/24
port trunk allow-pass vlan 10 20 30 100
# 接入交换机 Trunk 配置
<Access-SW> display current-configuration interface GigabitEthernet 0/0/24
port trunk allow-pass vlan 10 20 ← 漏了 VLAN 30 和 100
# 根因:
# 1. VLAN 30 的数据帧从核心交换机发出时被允许通过(已声明 allow-pass)
# 但到达接入交换机后,该 Trunk 未允许 VLAN 30 通过,帧被丢弃
# 2. VLAN 100 同样被接入交换机 Trunk 拒收,导致下挂设备无法访问服务器区
# 注:接入交换机本身的 VLAN 30 PC 之间通讯正常(帧不上行 Trunk),但跨 VLAN 到
# 核心交换机 VLANIF 网关时会失败
# 修复:补齐接入交换机 Trunk 的 allow-pass 列表
[Access-SW] interface GigabitEthernet 0/0/24
[Access-SW-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 100
[Access-SW-GigabitEthernet0/0/24] quit
# 验证:跨 VLAN 通信恢复
<Core-S6730> ping -a 192.168.30.1 192.168.10.50
192.168.10.50 is alive, loss rate: 0%
注意:
ping -a后必须是本交换机已配置的 IP(如192.168.30.1即 VLANIF 30 的网关),不可写 PC 的 IP(如192.168.30.50),否则 ping 一定失败。这里有一个坑,就是ping测试时一定要先把PC的防火墙关掉,否则PC是禁ping的。
五、总结
| 端口类型 | 入方向(无标签帧) | 出方向(标签处理) | 典型场景 |
|---|---|---|---|
| Access | 打 PVID 标签 | 所有帧剥标签 | 连接 PC、打印机、IP 电话 |
| Trunk | 保留已有标签;无标签帧打 PVID | PVID VLAN 剥标签,其余带标签 | 交换机级联、连路由器 |
| Hybrid | 打 PVID 标签 | tagged 列表带标签,untagged 列表剥标签 | AP 多 SSID、连交换机+终端 |
| 排错检查清单 | 对应命令 |
|---|---|
| VLAN 是否创建 | display vlan |
| 端口模式是否正确 | display current-configuration interface X |
| Trunk 两端 allow-pass 是否一致 | 两端对比配置 |
| VLANIF 是否 UP | display interface Vlanif X |
| 端口物理状态 | display interface X |
思考
- 一台 PC 连接 Access 端口,该端口的 PVID 是 VLAN 10。如果 PC 的网卡被配置为发送带 VLAN 20 标签的帧(如虚拟机),交换机会如何处理?
- Trunk 端口 PVID 默认为 VLAN 1,为什么不建议将 PVID 修改为业务 VLAN?
- 当交换机端口默认模式为 Hybrid 时(如 S6730),如果只执行
port default vlan 10而不先设置port link-type,端口会是什么模式?
下篇预告:第12篇:Access 与 Trunk 的区别:谁在打标签