1. 跨交换机VLAN通信的核心原理想象一下你在一栋写字楼里工作不同部门分布在不同的楼层。财务部在10楼市场部在20楼两个部门需要保持内部沟通但又不能互相干扰。这就是VLAN技术的现实映射——它像虚拟的楼层一样在物理网络中划分出逻辑隔离的空间。Trunk链路则是连接不同楼层交换机的电梯通道。普通Access端口就像办公室门牌号比如1001代表10楼1号房间而Trunk端口则是可以识别所有楼层标签的智能电梯。当财务部的数据包要从10楼到达另一栋楼的10楼时Trunk链路会给数据包贴上10楼专属的标签VLAN ID确保它不会被送到20楼。802.1Q封装协议是这个过程中的关键。它就像快递面单在原始数据帧的源MAC地址后插入4字节的标签其中包含12位VLAN ID可表示4094个VLAN3位优先级用于QoS服务质量1位标准标识0表示802.1QSwitch(config-if)# switchport trunk encapsulation dot1q // 指定封装协议2. 实验环境搭建要点在Packet Tracer中搭建环境时我习惯先画拓扑图再拖设备。对于这个实验你需要两台2960交换机Switch0和Switch1四台PC机PC1-PC4使用直通线铜缆图标连接PC1 → Switch0 Fa0/2PC2 → Switch0 Fa0/3PC3 → Switch1 Fa0/2PC4 → Switch1 Fa0/3用交叉线闪电图标连接Switch0 Fa0/1 ↔ Switch1 Fa0/1IP规划表应该这样设计设备VLANIP地址子网掩码PC110192.168.10.1255.255.255.0PC220192.168.20.1255.255.255.0PC320192.168.20.2255.255.255.0PC410192.168.10.2255.255.255.0注意Packet Tracer 6.0之后版本会自动识别线缆类型但手动选择更稳妥。我曾经因为错选成串行线排查了半小时连通性问题。3. 详细配置步骤解析3.1 创建VLAN并命名先在两台交换机上执行相同操作Switch enable Switch# configure terminal Switch(config)# vlan 10 Switch(config-vlan)# name Finance // 建议用部门名而非编号 Switch(config-vlan)# exit Switch(config)# vlan 20 Switch(config-vlan)# name Marketing Switch(config-vlan)# exit易错点有些同学会漏掉exit命令导致后续配置在vlan子模式下执行。我建议每完成一个配置块就执行end返回特权模式。3.2 端口分配技巧Access端口配置有两种方式逐端口配置适合精确控制Switch0(config)# interface fa0/2 Switch0(config-if)# switchport mode access Switch0(config-if)# switchport access vlan 10批量配置效率更高Switch0(config)# interface range fa0/2 - 3 Switch0(config-if-range)# switchport mode access Switch0(config-if-range)# switchport access vlan 10 Switch0(config-if-range)# exit Switch0(config)# interface fa0/3 Switch0(config-if)# switchport access vlan 20 // 单独修改fa0/33.3 Trunk配置的三种模式在交换机互联端口上Switch0(config)# interface fa0/1 Switch0(config-if)# switchport mode trunk // 强制Trunk模式实际上Trunk有三种协商模式on强制switchport mode trunkdesirable主动协商switchport mode dynamic desirableauto被动响应switchport mode dynamic auto实验环境中建议用强制模式。有次我用auto模式两台交换机死活不协商后来发现是模拟器的bug。4. 验证与排错指南4.1 关键验证命令Switch# show vlan brief // 查看VLAN划分 Switch# show interfaces trunk // 检查Trunk状态 Switch# show interfaces fa0/1 switchport // 查看端口详细模式理想输出示例Port Mode Encapsulation Status Native vlan Fa0/1 trunk 802.1q trunking 14.2 常见故障排查现象1PC1 ping不通PC4检查项两台PC是否在同一VLANTrunk两端端口是否都是trunk模式IP地址是否在同一子网现象2show interfaces trunk显示空解决方案Switch(config-if)# switchport trunk allowed vlan all // 允许所有VLAN通过 Switch(config-if)# no shutdown实测技巧在Packet Tracer中右键交换机选择CLI比从物理界面点console更快。用tab键可以自动补全命令比如输入sh int后按tab会自动补全为show interfaces。5. 企业级应用实例某次我帮学校图书馆改造网络需要实现电子阅览室VLAN 30在三层交换机A图书管理系统VLAN 40在二层交换机B门禁系统VLAN 50在二层交换机C核心配置// 核心交换机配置 interface GigabitEthernet1/0/1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan 30,40,50 spanning-tree portfast trunk // 接入交换机配置 interface GigabitEthernet0/1 switchport mode trunk switchport trunk native vlan 999 // 设置非1的本征VLAN这个案例让我深刻理解Trunk链路就像网络高速公路而VLAN标签就是不同车道的导流标识。合理规划VLAN ID就像设计车道编号要预留扩展空间比如跳着编号留出空档。6. 安全增强建议在企业环境中我通常会追加这些配置// 关闭未使用端口 interface range fa0/4-24 shutdown // 设置Trunk端口安全 interface fa0/1 switchport nonegotiate // 禁止自动协商 switchport trunk allowed vlan 10,20 // 白名单 storm-control broadcast level 50 // 抑制广播风暴曾经有次网络攻击就是通过伪造大量带VLAN标签的数据包进行的。配置switchport trunk allowed vlan后非法VLAN的数据会被自动丢弃。7. 扩展实验建议掌握基础配置后可以尝试Native VLAN修改实验interface fa0/1 switchport trunk native vlan 100 // 修改本征VLAN记得两端要一致否则会出现VLAN跳跃攻击风险。VLAN修剪实验vtp pruning // 自动修剪不必要的VLAN流量QoS标记实验mls qos trust cos // 基于802.1Q优先级字段进行流量分类这些实验能帮你理解Trunk链路在真实网络中的完整应用场景。我建议每完成一个实验就用write命令保存配置Packet Tracer重启后配置会丢失这个坑我踩过好几次。