VLAN 命令大全
本文档将 VLAN 命令分为以下几个部分:

- 核心概念:快速回顾 VLAN 的基本原理。
- Cisco IOS 命令:思科设备(路由器、交换机)的详细配置。
- 华为 (Huawei) 命令:华为设备(交换机、路由器)的详细配置。
- 新华三 (H3C) 命令:H3C 设备的详细配置。
- 通用/高级命令:适用于多种设备的通用命令和高级特性。
- 排错与验证:如何检查 VLAN 是否配置正确。
核心概念回顾
在开始配置前,请务必理解以下关键概念:
- VLAN (Virtual Local Area Network):虚拟局域网,将一个物理的 LAN 在逻辑上划分为多个独立的广播域。
- Access Port:接入端口,通常连接终端设备(如 PC、打印机、服务器),只能属于 一个 VLAN,端口不打标签,接收和发送的流量都是无标签的。
- Trunk Port:中继端口,通常连接其他交换机,可以 承载多个 VLAN 的流量,默认情况下,它会承载所有 VLAN(除了 Cisco 的 Native VLAN),发送流量时会给数据帧打上 VLAN 标签(802.1Q),接收流量时根据标签进行区分。
- Tagged / Untagged:
- Tagged (打标签):数据帧带有 VLAN ID 信息,用于 Trunk 链路。
- Untagged (不打标签):数据帧不带 VLAN ID 信息,用于 Access 链路。
- Native VLAN (本征 VLAN):Trunk 链路上不打标签的 VLAN,默认通常是 VLAN 1。最佳实践:建议将 Native VLAN 修改为一个不使用的 VLAN(如 VLAN 99),以防止 VLAN 跳跃攻击。
- Port VLAN:基于端口的 VLAN,最基础的 VLAN 划分方式。
- Protocol-Based VLAN:基于网络协议(如 IP, IPX)划分 VLAN。
- MAC-Based VLAN:基于 MAC 地址划分 VLAN。
Cisco IOS 命令 (以 Catalyst 交换机为例)
进入全局配置模式
Switch> enable Switch# configure terminal Switch(config)#
创建和删除 VLAN
# 创建 VLAN 10,并命名为 Sales Switch(config)# vlan 10 Switch(config-vlan)# name Sales # 删除 VLAN 10 Switch(config)# no vlan 10
配置 Access 端口
# 进入接口配置模式 Switch(config)# interface gigabitethernet0/1 # 将端口设置为 Access 模式 Switch(config-if)# switchport mode access # 将端口分配给 VLAN 10 Switch(config-if)# switchport access vlan 10 # (可选)将端口从 VLAN 10 移除 Switch(config-if)# no switchport access vlan # (可选)将端口恢复为默认状态(通常是 VLAN 1 的 Access 端口) Switch(config-if)# default interface gigabitethernet0/1
配置 Trunk 端口
# 进入接口配置模式 Switch(config)# interface gigabitethernet0/2 # 将端口设置为 Trunk 模式 Switch(config-if)# switchport mode trunk # (可选)设置允许通过的 VLAN 列表,推荐使用 `add` 关键字。 # 允许 VLAN 10, 20, 99 通过 Switch(config-if)# switchport trunk allowed vlan add 10,20,99 # (可选)移除某个 VLAN Switch(config-if)# switchport trunk allowed vlan remove 20 # (可选)设置 Native VLAN (强烈建议修改默认的 VLAN 1) Switch(config-if)# switchport trunk native vlan 99 # (可选)将 Trunk 端口恢复为默认状态 Switch(config-if)# default interface gigabitethernet0/2
配置 Private VLAN (PVLAN) - 高级特性
PVLAN 用于在同一个 VLAN 内部创建更小的隔离子域。
# 1. 创建主 VLAN (Primary VLAN) Switch(config)# vlan 100 Switch(config-vlan)# private-vlan primary # 2. 创建隔离 VLAN (Isolated VLAN) Switch(config)# vlan 200 Switch(config-vlan)# private-vlan isolated # 3. 创建混杂 VLAN (Community VLAN) - 可选 Switch(config)# vlan 300 Switch(config-vlan)# private-vlan community # 4. 将子 VLAN 关联到主 VLAN Switch(config)# vlan 100 Switch(config-vlan)# private-vlan association add 200,300 # 5. 将端口配置为 PVLAN 主端口 (连接路由器或防火墙) Switch(config)# interface gigabitethernet0/3 Switch(config-if)# switchport mode private-vlan host Switch(config-if)# switchport private-vlan host-association 100 200 # 6. 将端口配置为 PVLAN 混杂端口 (可与其他所有子域通信) Switch(config)# interface gigabitethernet0/4 Switch(config-if)# switchport mode private-vlan promiscuous Switch(config-if)# switchport private-vlan mapping 100 200,300
华为 (Huawei) 命令 (以 S 系列交换机为例)
进入系统视图
<Huawei> system-view [Huawei]
创建和删除 VLAN
# 创建 VLAN 10,并命名为 Sales [Huawei] vlan 10 [Huawei-vlan10] description Sales # 删除 VLAN 10 [Huawei] undo vlan 10
配置 Access 端口
# 进入接口视图 [Huawei] interface gigabitethernet 0/0/1 # 将端口设置为 Access 模式 [Huawei-GigabitEthernet0/0/1] port link-type access # 将端口分配给 VLAN 10 [Huawei-GigabitEthernet0/0/1] port default vlan 10 # (可选)将端口恢复为默认状态 [Huawei-GigabitEthernet0/0/1] undo port default vlan [Huawei-GigabitEthernet0/0/1] undo port link-type
配置 Trunk 端口 (华为称为 Hybrid 模式)
华为的 Hybrid 模式比 Trunk 更灵活,可以控制哪些 VLAN 打标签,哪些不打标签。
# 进入接口视图 [Huawei] interface gigabitethernet 0/0/2 # 将端口设置为 Trunk 模式 (华为称为 Hybrid) [Huawei-GigabitEthernet0/0/2] port link-type hybrid # 设置允许通过的 VLAN,并为这些 VLAN 打标签 # 允许 VLAN 10, 20, 99 通过,并打标签 [Huawei-GigabitEthernet0/0/2] port hybrid pvid vlan 10 # 设置PVID,即进入该端口的默认VLAN [Huawei-GigabitEthernet0/0/2] port hybrid vlan 10 20 99 tagged # 设置 Native VLAN (不打标签的 VLAN) # VLAN 99 不打标签 [Huawei-GigabitEthernet0/0/2] port hybrid vlan 99 untagged # (可选)移除某个 VLAN 的打标签设置 [Huawei-GigabitEthernet0/0/2] undo port hybrid vlan 20 tagged # (可选)将端口恢复为默认状态 [Huawei-GigabitEthernet0/0/2] undo port hybrid vlan [Huawei-GigabitEthernet0/0/2] undo port link-type
新华三 (H3C) 命令 (以 Comware 平台交换机为例)
H3C 的命令语法与华为非常相似,但有一些细微差别。

进入系统视图
<H3C> system-view [H3C]
创建和删除 VLAN
# 创建 VLAN 10,并命名为 Sales [H3C] vlan 10 [H3C-vlan10] description Sales # 删除 VLAN 10 [H3C] undo vlan 10
配置 Access 端口
# 进入接口视图 [H3C] interface gigabitethernet 1/0/1 # 将端口设置为 Access 模式 [H3C-GigabitEthernet1/0/1] port link-type access # 将端口分配给 VLAN 10 [H3C-GigabitEthernet1/0/1] port default vlan 10 # (可选)将端口恢复为默认状态 [H3C-GigabitEthernet1/0/1] undo port default vlan [H3C-GigabitEthernet1/0/1] undo port link-type
配置 Trunk 端口
H3C 使用 Trunk 和 Hybrid 两种模式。
# 进入接口视图 [H3C] interface gigabitethernet 1/0/2 # 将端口设置为 Trunk 模式 [H3C-GigabitEthernet1/0/2] port link-type trunk # 设置允许通过的 VLAN 列表 [H3C-GigabitEthernet1/0/2] port trunk permit vlan 10 20 99 # 设置 Native VLAN (PVID) [H3C-GigabitEthernet1/0/2] port trunk pvid vlan 99 # (可选)移除某个 VLAN [H3C-GigabitEthernet1/0/2] port trunk forbid vlan 20 # 使用 Hybrid 模式 (更灵活) [H3C-GigabitEthernet1/0/2] port link-type hybrid [H3C-GigabitEthernet1/0/2] port hybrid pvid vlan 10 [H3C-GigabitEthernet1/0/2] port hybrid vlan 10 20 99 tagged [H3C-GigabitEthernet1/0/2] port hybrid vlan 99 untagged
通用/高级命令
VLAN 聚合 (VLAN Aggregation / Super-VLAN)
用于解决不同 VLAN 间主机不能通信的问题,通过一个三层接口为多个 VLAN 提供网关。
- 场景: VLAN 10 和 VLAN 20 的 PC 需要互通,但不想为每个 VLAN 都分配一个子网。
- 实现:
- 创建一个 Super-VLAN (如 VLAN 100)。
- 将 VLAN 10 和 VLAN 20 关联到 VLAN 100。
- 在 VLAN 100 接口上配置 IP 地址,作为所有子 VLAN 的网关。
- 在子 VLAN 的接口上配置代理 ARP。
QinQ (VLAN Stacking)
用于在已有 VLAN 标签的外部再封装一层 VLAN 标签,常用于城域网或跨运营商网络。
# (Cisco示例) # 进入接口 Switch(config)# interface gigabitethernet0/1 # 设置为 Dot1q Tunnel 模式,接收外部标签为 100 的流量 Switch(config-if)# switchport mode dot1q-tunnel # 设置外部标签 (S-TAG) Switch(config-if)# switchport dot1q-tunnel vlan 100
GARP VLAN Registration Protocol (GVRP) / Generic VLAN Registration Protocol
一种动态 VLAN 注册协议,允许交换机自动学习 VLAN 信息,减少手动配置。

# (Cisco示例) Switch(config)# gvrp # (华为示例) [Huawei] gvrp
排错与验证命令
无论使用哪种设备,以下命令都是排查 VLAN 问题的关键。
Cisco IOS
# 查看所有 VLAN 的摘要信息 Switch# show vlan brief # 查看特定 VLAN 的详细信息 Switch# show vlan id 10 # 查看接口的详细 VLAN 配置 Switch# show interface gigabitethernet0/1 switchport # 查看 Trunk 端口允许的 VLAN 列表 Switch# show interface gigabitethernet0/2 switchport trunk # 查看所有 VLAN 的创建和删除记录 Switch# show vlan internal usage # 查看 CDP (思科发现协议) 邻居信息,检查 VLAN 一致性 Switch# show cdp neighbors detail
华为 / H3C
# 查看所有 VLAN 的摘要信息 <Huawei> display vlan # 查看特定 VLAN 的详细信息 <Huawei> display vlan 10 # 查看接口的详细 VLAN 配置 <Huawei> display port vlan gigabitethernet 0/0/1 # 查看 Trunk 端口配置 <Huawei> display port link-mode <Huawei> display port trunk
总结与最佳实践
- 规划先行:在配置前,制定详细的 VLAN 规划表(VLAN ID, 名称, 用途, 网段)。
- 修改 Native VLAN:永远不要使用 VLAN 1 作为 Native VLAN,创建一个专用的、不使用的 VLAN(如 VLAN 99)作为所有 Trunk 链路的 Native VLAN。
- 关闭未使用端口:将所有未使用的接口设置为
shutdown,并可以将其划入一个隔离的 VLAN(如 VLAN 999),以提高安全性。 - 命名规范:为 VLAN 和接口使用有意义的名称(如
VLAN-SALES,INT-FRONT-TRK),便于管理和排错。 - 文档记录:使用文本文件或网络管理工具记录你的所有配置变更。
- 小心修改:在生产环境中修改 Trunk 端口的
allowed vlan列表时,务必小心,避免意外中断业务流量,建议使用add或include而不是直接set,以防误操作移除必要的 VLAN。
希望这份大全能帮助您熟练掌握 VLAN 的配置和管理!
