核心概念
在开始之前,先理解两个关键概念:

- Access Port(接入端口):用于连接终端设备,如电脑、打印机、IP电话等,一个Access端口只能属于一个VLAN,所有进出该端口的流量都默认带有这个VLAN的标签(在交换机内部处理,发送到终端设备前会剥离)。
- Trunk Port(中继端口):用于连接交换机与交换机,或交换机与路由器,一个Trunk端口可以承载多个VLAN的流量,通过在数据包前加上VLAN标签(Tag)来区分不同VLAN的流量。
Cisco IOS 设备 (Catalyst 交换机)
Cisco的命令结构是经典的 全局配置模式 -> 接口模式。
场景1:将端口设置为 Access 模式并分配VLAN
假设我们要将交换机的 FastEthernet 0/5 端口分配给 VLAN 10,并命名为 "Sales"。
步骤 1:进入全局配置模式
Switch> enable Switch# configure terminal Switch(config)#
步骤 2:创建VLAN (如果VLAN不存在) 虽然可以直接在端口模式下分配VLAN,但最佳实践是先创建并命名VLAN。

Switch(config)# vlan 10 Switch(config-vlan)# name Sales Switch(config-vlan)# exit
步骤 3:进入目标接口并配置为Access模式
Switch(config)# interface fastethernet 0/5 Switch(config-if)# switchport mode access
步骤 4:将端口分配给指定的VLAN
Switch(config-if)# switchport access vlan 10
步骤 5: (可选) 验证配置
Switch# show vlan brief
在输出中找到 Fa0/5,你应该能看到它属于 VLAN10-Sales。

场景2:将端口设置为 Trunk 模式并允许指定VLAN通过
假设我们要将 GigabitEthernet 1/0/1 端口配置为Trunk,并只允许VLAN 10和VLAN 20的流量通过。
步骤 1:进入全局配置模式
Switch> enable Switch# configure terminal Switch(config)#
步骤 2:进入目标接口并配置为Trunk模式
Switch(config)# interface gigabitethernet 1/0/1 Switch(config-if)# switchport mode trunk
步骤 3: (默认) 允许所有VLAN通过 在配置为Trunk后,默认会允许所有VLAN(1-4094)通过,我们通常需要限制它。
步骤 4:只允许特定的VLAN列表通过 这是最安全、最推荐的做法,它会清除默认的允许所有VLAN的设置,只允许你指定的VLAN。
Switch(config-if)# switchport trunk allowed vlan 10, 20
你也可以使用 add 或 remove 来动态修改:
# 添加VLAN 30 Switch(config-if)# switchport trunk allowed vlan add 30 # 移除VLAN 10 Switch(config-if)# switchport trunk allowed vlan remove 10
步骤 5: (可选) 验证配置
Switch# show interfaces gigabitethernet 1/0/1 trunk
在输出中,你应该能看到 Trunking VLANs Enabled: 10,20。
华为 (VRP) 设备
华为的命令结构与Cisco不同,它使用 系统视图 和 接口视图,并且命令更简洁。
场景1:将端口设置为 Access 模式并分配VLAN
假设我们要将交换机的 GE0/0/5 端口分配给 VLAN 10,并命名为 "Sales"。
步骤 1:进入系统视图
<Huawei> system-view [Huawei]
步骤 2:创建VLAN (如果VLAN不存在)
[Huawei] vlan 10 [Huawei-vlan10] name Sales [Huawei-vlan10] quit
步骤 3:进入目标接口并配置为Access模式
[Huawei] interface gigabitethernet 0/0/5 [Huawei-GigabitEthernet0/0/5] port link-type access
步骤 4:将端口分配给指定的VLAN
[Huawei-GigabitEthernet0/0/5] port default vlan 10
步骤 5: (可选) 验证配置
[Huawei] display vlan
在输出中,你应该能看到 GE0/0/5 属于 VLAN 10。
场景2:将端口设置为 Trunk 模式并允许指定VLAN通过
假设我们要将 GE0/0/1 端口配置为Trunk,并只允许VLAN 10和VLAN 20的流量通过。
步骤 1:进入系统视图
<Huawei> system-view [Huawei]
步骤 2:进入目标接口并配置为Trunk模式
在华为中,Trunk模式被称为 Hybrid(混合模式)或 Trunk,但推荐使用 Hybrid,因为它功能更强大。
[Huawei] interface gigabitethernet 0/0/1 [Huawei-GigabitEthernet0/0/1] port link-type trunk
步骤 3:设置端口允许通过的VLAN列表 这与Cisco的思路不同,华为默认只允许VLAN 1通过,你需要显式地添加所有需要通过的VLAN。
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
你也可以使用 to 来指定一个范围:
# 允许VLAN 10到20通过 [Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 to 20
步骤 4: (可选) 验证配置
[Huawei] display port vlan
在输出中,找到 GE0/0/1,你应该能看到它属于 Trunk 端口,VLAN permitted 列下有 10, 20。
思科 (Nexus) / 华为 (CloudEngine) - 交换机命令
对于更现代的数据中心交换机,命令语法又有不同,通常使用 interface-vlan。
场景:创建SVI (交换虚拟接口) 来管理VLAN
SVI是用于在三层交换机上实现VLAN间路由的虚拟接口。
思科 Nexus 示例:
Nexus# configure terminal Nexus(config)# interface vlan 10 Nexus(config-if)# ip address 192.168.10.1 255.255.255.0 # 为VLAN 10配置网关 Nexus(config-if)# no shutdown
华为 CloudEngine 示例:
<Huawei> system-view [Huawei] interface Vlanif 10 [Huawei-Vlanif10] ip address 192.168.10.1 24 # 为VLAN 10配置网关 [Huawei-Vlanif10] undo shutdown
总结与对比
| 功能 | Cisco IOS | 华为 VRP |
|---|---|---|
| 进入全局/系统视图 | configure terminal |
system-view |
| 创建VLAN | vlan <id> |
vlan <id> |
| 命名VLAN | name <name> |
name <name> |
| 进入接口 | interface <type> <slot/port> |
interface <type> <slot/port> |
| 设置为Access端口 | switchport mode access |
port link-type access |
| 分配VLAN到Access端口 | switchport access vlan <id> |
port default vlan <id> |
| 设置为Trunk端口 | switchport mode trunk |
port link-type trunk |
| 允许VLAN列表通过 | switchport trunk allowed vlan <list> |
port trunk allow-pass vlan <list> |
| 显示VLAN信息 | show vlan brief |
display vlan |
| 显示Trunk信息 | show interfaces <id> trunk |
display port vlan |
希望这份详细的指南能帮助你!在配置生产环境设备前,最好先在实验室或测试环境中进行练习。
