VLAN 的分类与实验,是我带刚入行的网络工程师时常布置的第一个实操题。很多人一开始对 VLAN 的概念只停留在“把广播域切开”这句话上,等到真动手配的时候,又分不清 Access、Trunk、Hybrid,更搞不懂基于端口和基于 MAC 到底差在哪。这篇文章就把 VLAN 分类这件事彻底拆开讲透,再用三组实验带你走一遍完整流程。内容适合基础比较薄弱、想亲手把交换机配置跑通的朋友,也适合面试前临时抱佛脚、想快速理清 VLAN 知识体系的工程师。看完你至少能回答三个问题:VLAN 到底怎么分类、每种分类适合什么场景、实验中踩到哪些坑必须绕开。
1. 动手之前:先搞明白 VLAN 到底在解决什么问题
1.1 一个场景讲透 VLAN 的诞生逻辑
我经常用公司办公网络来举例子。没有 VLAN 的交换机,所有端口都挤在同一个广播域里。十几个人同时开着电脑,ARP 广播、NetBIOS 发现、打印机发现,这些报文会撒到每一台设备上。带宽被浪费是一回事,更麻烦的是安全问题:财务部门的机器和访客机器混在同一二层网络里,一台终端中了病毒,其他机器很容易被横向扫描,抓包工具也能直接看到别人的广播和组播流量。
VLAN 的核心价值就是把一个物理交换机拆成多个逻辑广播域。不同 VLAN 的设备默认不互通,广播被限制在各自域内,三层的隔离需求再交给路由或防火墙。你可以把 VLAN 理解成在一栋大楼里砌隔断墙,同一堵墙内的人可以随便聊天,墙两边的人想对话必须走前台登记,这个“前台”就是三层网关或路由策略。
想真正掌握 VLAN,不能只看概念,必须把“分类”和“实验”绑在一起。分类决定了交换机用什么标准判定某个数据帧属于哪个 VLAN,实验则验证这个判定逻辑在真实转发时能不能按预期工作。这也是我把题目定为“VLAN 的分类与实验”的原因。
1.2 分类的核心:VLAN 的成员判定依据
所谓 VLAN 分类,本质是在回答一个问题:一个数据帧进入交换机接口时,交换机凭什么把它划分到 VID 为 10、20 还是 30 的 VLAN 里?
最常见的判定维度有五种:接口编号、MAC 地址、IP 子网、上层协议类型、用户认证结果。我们通常讨论的分类其实主要围绕前四种展开。基于端口划分是最简单、最传统的方式,基于 MAC 和基于 IP 子网属于更灵活的动态方式,基于协议的划分在 IPv4 和 IPv6 混用的特殊场合还偶尔会用到。
这里的动态和静态不是指 VLAN 本身能不能自动建立,而是指成员关系能不能跟随终端变化。基于端口的 VLAN,终端从端口 1 换到端口 2,如果端口 2 属于别的 VLAN,终端所属 VLAN 立刻变了。基于 MAC 的 VLAN,只要终端 MAC 不变,不管插到哪个接口,交换机都能把它识别到同一个 VLAN 里。这就是分类方式带来的行为差异,后面实验里会专门验证。
1.3 别忘了 802.1Q 这个基础框架
讨论 VLAN 分类之前,必须把 802.1Q 标签这个底层概念过一遍。标准以太网帧原本没有 VLAN 字段,802.1Q 在源 MAC 地址和 Type 字段之间插进 4 字节的 Tag,其中前 2 字节是 TPID,固定为 0x8100,后 2 字节里的低 12 位就是 VID。因为 VID 只有 12 位,所以 VLAN 编号范围是 0 到 4095,真正可用的通常只有 1 到 4094。
这个框架决定了后面所有实验的验证方式:抓包时只要看到 802.1Q 头里的 VID 对不对,就知道交换机有没有正确打标签。Access 口发出去的数据帧通常不带 Tag,Trunk 口上绝大多数帧都带着 Tag,抓包时看到的现象也完全不同。
把框架装在脑子里,再去看分类和实验就不容易乱。下面进入正经的分类拆解。
2. VLAN 分类全景拆解:端口、MAC、协议与子网
2.1 基于端口 VLAN:最经典也最常用
基于端口的 VLAN 也叫静态 VLAN,管理员手动把交换机的某个接口划到某个 VLAN 里。配置时通常分两步:先全局创建 VLAN,再把接口类型设为 Access 或 Hybrid,并指定默认 VLAN。
这种方式最大的优点是直观。排查问题时打开端口配置,一眼就能看出端口属于哪个 VLAN,网络中绝大多数接入场景也都是这么做的。缺点是流动性差。今天财务部新来了一个人,坐到了研发区的空位上,他的网线插在研发端口,那就必须等管理员远程把端口改到财务 VLAN,终端才能正常访问财务系统。
基于端口 VLAN 是后面实验一的主角。理解了它,Access、Trunk 这些基础术语就都有了落地的抓手。
2.2 基于 MAC 地址的 VLAN 分类
基于 MAC 的 VLAN 划分方式,是把终端网卡的 MAC 地址与 VLAN 编号做成映射表。交换机在接口上收到的是无 Tag 帧时,会先查 MAC 地址表,看这个源 MAC 是不是已有 VLAN 映射,如果有,就让这个帧进入对应 VLAN。
这种分类方式的优势落在“移动性”三个字上。用户带着笔记本从一个工位换到另一个工位,网线换了端口,交换机照样通过 MAC 把它识别到原来的 VLAN,管理员不需要跟着改端口配置。很多园区网的移动办公场景曾经很喜欢用这个特性。
但它的缺点也同样明显。MAC 地址可以被软件伪造,安全性并不强;终端数量一多,MAC 映射表的维护量让人头疼;新设备接入前必须提前录入 MAC,否则会被踢到默认端口 VLAN 里。所以现在 MAC VLAN 经常和 802.1X 准入认证配合使用,单独使用的场景反而越来越少。这个实验会在实验二里做。
2.3 基于协议与子网的 VLAN 分类
基于子网的 VLAN 分类,是根据 IP 报文的目的网段或源 IP 地址来划分 VLAN。交换机识别到终端的 IP 地址后,把它匹配到对应子网规则的 VLAN 里。这种划分适合多网段并存但物理端口有限的场景,比如一台服务器要同时承载办公网、视频网、设备网三个网段,物理网口不够,就可以在同一个接口上用子网规则区分。
需要注意一个细节:IP 子网 VLAN 匹配的前提是终端已经配置好 IP。如果终端用 DHCP 自动获取地址,在拿到地址之前交换机很难精确匹配子网规则,所以一般要配合端口的默认 VLAN 做兜底,或者让 DHCP 请求报文直接走某个指定 VLAN。后面实验三会演示一套稳妥的做法。
基于协议的 VLAN 分类则更冷门一点,它根据 EtherType 字段区分 IPv4、IPv6、AppleTalk 等协议类型。早期 IPv4 和 IPv6 过渡时期可能用得上,现在多数设备已经通过其他方式处理双栈,这个分类方式在真实项目里很少作为主角出现。
2.4 四种分类方式横向对比与选型建议
为了让你选型时不纠结,我把四种分类方式的判定维度、优缺点和适用场景放在一张表里:
| 分类方式 | 判定依据 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 端口 VLAN | 接口编号 | 配置简单、排障直观 | 终端移动后 VLAN 失效 | 固定工位、办公区划分 |
| MAC VLAN | 源 MAC 地址 | 终端移动性友好、无需改端口 | MAC 可伪造、表维护量大 | 移动办公、与 802.1X 配合 |
| 子网 VLAN | IP 子网/源 IP | 一个口承载多网段、灵活 | 依赖 IP 配置、DHCP 场景需兜底 | 服务器多网段、混合办公网 |
| 协议 VLAN | 以太网协议类型 | 按协议隔离 | 现代场景少用、配置复杂 | IPv4/IPv6 过渡等特殊场景 |
选型建议很简单:日常办公优先端口 VLAN,管理成本低;终端经常移动且需要自动跟随身份的场景,再考虑 MAC VLAN;多网段共用物理口时,用子网 VLAN 做补充。不要一上来就堆 MAC VLAN 和子网 VLAN,复杂度会成倍增加。
3. 实验环境准备:模拟器、拓扑与 IP 规划
3.1 实验平台选择:真机、模拟器还是虚拟化
有条件当然是真机最稳。两台企业级交换机、三台电脑,配置过程所见即所得,抓包也方便。但多数人手里没有现成设备,这时候可以选择图形化的网络模拟平台。模拟平台的优点是免费、可以随意搭拓扑、不用怕配错变砖;缺点是有些功能模拟得不够完整,尤其 MAC VLAN 和子网 VLAN 在模拟环境里可能出现版本支持差异。
我的建议是先用模拟平台把配置命令调通,把概念验证理顺,再找真机快速过一遍。这样既省时间,又能在碰到命令不支持时及时知道哪些特性依赖硬件平台。三种方式都能完成下面三组实验,核心思路不会变。
3.2 拓扑设计:两台交换机、三台终端
实验拓扑我用最简单的方式描述:两台交换机分别叫 SwitchA 和 SwitchB。SwitchA 的 Ethernet0/0/1 接 PC1,Ethernet0/0/2 接 PC2,Ethernet0/0/3 与 SwitchB 的 Ethernet0/0/3 互联。SwitchB 的 Ethernet0/0/1 接 PC3,剩余端口留作备用。
PC1 和 PC3 后面划在 VLAN 10,PC2 划在 VLAN 20。实验一是让 PC1 和 PC3 能互相 ping 通,PC2 和它们不通。通过这个结果验证端口 VLAN 和 Trunk 的透传行为。实验二会把 PC2 的网线换到另一个端口,利用 MAC VLAN 规则让 PC2 仍然留在 VLAN 20。实验三会在一个端口上叠加子网 VLAN 和 Hybrid 策略。
这里我特意没有用三层交换机做 VLAN 间路由,因为实验目标只是验证 VLAN 的分类和二层隔离。如果你需要验证 VLAN 间的通信,可以再加一个三层网关的默认路由配置,那是另一个话题。
3.3 IP 与 VLAN 规划表
规划表提前列好,实验过程才不会乱:
| 设备 | 接口 | VLAN | IP 地址 | 说明 |
|---|---|---|---|---|
| PC1 | - | 10 | 192.168.10.1/24 | 与 PC3 同 VLAN |
| PC2 | - | 20 | 192.168.20.2/24 | 单独 VLAN |
| PC3 | - | 10 | 192.168.10.3/24 | 与 PC1 同 VLAN |
| SwitchA | E0/0/3 | Trunk | - | 允许 VLAN 10 和 20 |
| SwitchB | E0/0/3 | Trunk | - | 允许 VLAN 10 和 20 |
IP 地址只是验证连通性用的,不需要配置网关。同 VLAN 内的 ARP 和 ICMP 广播可以在二层直接完成。
4. 实验一:基于端口 VLAN 的配置与验证
4.1 Access 接口配置:把端口钉死在某个 VLAN
实验第一步是在两台交换机上创建 VLAN 10 和 20,然后把 PC 接入端口配置成 Access 模式。下面这段配置以常见企业级交换机的通用命令行风格为例,不同厂家语法大小写略有差异,但思路完全一致。
先在 SwitchA 上创建 VLAN:
system-view vlan batch 10 20然后把 E0/0/1 划到 VLAN 10:
interface Ethernet0/0/1 port link-type access port default vlan 10E0/0/2 划到 VLAN 20:
interface Ethernet0/0/2 port link-type access port default vlan 20这里为什么要把链路类型改成 access?因为 access 端口只能承载一个 VLAN 的用户流量。交换机把这个端口收到的无 Tag 帧打上端口 PVID 对应的 Tag,发出去之前再把 Tag 剥掉,终端网卡完全感知不到 VLAN 标签。对 PC 来说,它就是一根普通网线。
SwitchB 上也同样配置 E0/0/1 属于 VLAN 10。完成后在交换机上用display vlan可以确认 VLAN 和端口的绑定关系。
4.2 Trunk 链路配置:跨交换机透传多个 VLAN
PC1 和 PC3 不在同一台交换机上,中间那条互联链路必须放通 VLAN 10 和 20,否则两个交换机的 VLAN 10 成员之间无法通信。把链路类型改成 Trunk,并在 Trunk 上显式允许这两个 VLAN 通过。
SwitchA 的互联端口:
interface Ethernet0/0/3 port link-type trunk port trunk allow-pass vlan 10 20SwitchB 同样配置一遍:
interface Ethernet0/0/3 port link-type trunk port trunk allow-pass vlan 10 20理解 Trunk 的关键在于,它不会为某一个 VLAN 剥掉标签,而是把带 Tag 的帧原样透传。SwitchA 收到 PC1 发来的帧,打上 VLAN 10 的 Tag,从 Trunk 口发出去;SwitchB 从 Trunk 口收到这个帧,看到 VID 是 10,就把帧转发给 VLAN 10 里的接口,发往 PC 前再剥掉 Tag。这个过程中 Trunk 端口本身不属于任何业务 VLAN,它只是一个透明的搬运通道。
配置完成后,PC1 去 ping PC3 应该能通。如果 PC2 去 ping PC3,应该完全不通,因为一个在 VLAN 20,一个在 VLAN 10,中间没有任何三层路由。这个结果就是端口 VLAN 的基本效果。
4.3 连通性验证与抓包确认
验证不能只靠 ping 通就完事,还要从转发行为上确认 VLAN 标签有没有按预期工作。常用的验证命令有三条:
display vlan display port vlan display mac-addressdisplay vlan看全局 VLAN 和接口成员关系;display port vlan看每个接口的链路类型、PVID 和允许通过的 VLAN;display mac-address看交换机学到的 MAC 表项是否落在正确的 VLAN 下。比如 PC1 的 MAC 应该出现在 VLAN 10 的表项里,而不是 VLAN 20。
如果有条件,在交换机 Trunk 链路中间做镜像抓包,能看到 PC1 发往 PC3 的帧带着 802.1Q Tag,VID 等于 10。PC 接入口方向抓包则看不到 Tag,因为 Access 口已经把它剥掉了。这个“有 Tag 还是无 Tag”的差异,是理解 Access 和 Trunk 最容易产生记忆混淆的地方,建议亲手抓一次。
4.4 端口 VLAN 实验中的两个经典坑
第一个坑是两台交换机之间的互联端口被误配成 Access,并且只指定了 VLAN 10。结果 VLAN 20 的跨交换机流量完全不通,PC2 在 SwitchA 上访问不到任何 VLAN 20 的远程资源,但 VLAN 10 却正常。排查时容易忽略互联链路,只看 PC 接入端口。
第二个坑是 Trunk 配置了但没允许对应 VLAN。很多交换机的 Trunk 默认只放通 VLAN 1,如果 VLAN 20 没有显式加入allow-pass,数据帧会在 Trunk 口被丢。检查display port vlan时,要把关注点同时放在 PVID 和已放通 VLAN 列表上。
提示:实验环境里最好把需要用到的业务 VLAN 显式放通,不要依赖默认配置。我们踩过的坑里,十次有八次是“我明明配了 Trunk,但忘了放 VLAN”。
5. 实验二:基于 MAC 地址的 VLAN 分类实测
5.1 准备工作:拿到终端真实 MAC 地址
实验二的目标是让 PC2 无论插到哪个端口,都能被交换机识别进 VLAN 20。首先需要拿到 PC2 网卡的真实 MAC。Windows 下在命令行执行ipconfig /all,Linux 下执行ip addr,找到以太网适配器的物理地址,格式是类似00e0-4c68-xxxx这样的 12 位十六进制串。
如果你已经完成实验一,也可以直接在交换机上执行display mac-address,从学到的 MAC 表里找到 PC2 的 MAC 和它当前所在 VLAN。这个方法更直接,毕竟 MAC 表里的信息一定就是交换机真正识别到的地址。
注意不要把多个网卡的 MAC 搞混。现在的电脑经常同时有有线网卡、无线网卡和虚拟网卡,一定要确认当前实验网线的物理网卡对应哪个 MAC。拿错地址配置进去,实验现象会非常混乱。
5.2 配置 MAC VLAN:从端口绑定向 MAC 映射转换
MAC VLAN 通常要求在 Hybrid 接口上生效。先在交换机上创建一个 MAC 与 VLAN 的映射关系,再把接入接口改成 Hybrid 模式并启用 MAC VLAN 功能。
创建 MAC VLAN 映射:
vlan 20 mac-vlan mac-address 00e0-4c68-8001 mask ffff-ffff-ffff这段命令的含义是:凡是源 MAC 地址为00e0-4c68-8001的帧,都让它在 VLAN 20 里转发。真实环境中可以用 MAC 地址掩码匹配一段地址,但实验里最好精确匹配单台设备,否则其他同段 MAC 也可能被误划。
接口侧配置如下:
interface Ethernet0/0/2 port link-type hybrid port hybrid untagged vlan 10 20 mac-vlan enable接口变成了 Hybrid 模式,出方向对 VLAN 10 和 20 都执行 untagged,也就是说发给 PC 的帧不带标签。同时开启mac-vlan enable,让接口支持按 MAC 规则识别终端。不同设备的命令可能叫mac-vlan enable或vlan classification,以你的设备手册为准。
5.3 实测效果:换端口不换 VLAN
完成配置后做一个关键动作:把 PC2 从 SwitchA 的 E0/0/2 拔下来,插到 SwitchB 的某个空闲端口,或者插到 SwitchA 上原本属于 VLAN 10 的 E0/0/1 旁边位置。如果实验条件有限,也可以直接在一个接口上验证 MAC VLAN 优先级高于端口 PVID。
我现在把 PC2 插到原本划给 VLAN 10 的接口上,该接口 PVID 是 10,但 MAC VLAN 规则匹配后,PC2 仍然进入 VLAN 20。此时 PC2 ping PC1 不通,但如果有另一台 VLAN 20 的终端,它应该和对方互通。查看交换机 MAC 表,会看到 PC2 的 MAC 地址对应的 VID 是 20,而不是接口 PVID 的 10。
这就是 MAC VLAN 的核心价值:成员关系跟着 MAC 走,不跟着网线走。实验做完,再回看 2.2 里提到的移动办公场景,你会更容易理解为什么这个特性过去很受欢迎。
5.4 为什么生产环境不常用 MAC VLAN
我做完实验二之后最大的感受是:功能好用,但维护成本不低。一个小型实验环境你维护三五个 MAC 没问题,一旦终端数量过百,每添一台电脑都要去交换机上加映射,离职人员的设备又要删除,运维工作量立刻失控。
还有个安全风险是 MAC 地址克隆。大部分操作系统都允许修改网卡 MAC,懂点技术的人可以把自己的终端伪装成合法 MAC,绕过 VLAN 划分。所以生产环境如果要使用 MAC VLAN,最好配合 802.1X 认证一起做,既要验证终端身份,也要验证用户身份。
另外需要注意的是 MAC VLAN 匹配的是源 MAC 的入方向。如果接口上同时配置了基于端口的默认 VLAN 和 MAC VLAN,交换机匹配到 MAC 规则后会优先执行 MAC VLAN,匹配不到才回到端口默认 VLAN。不熟悉这个优先级的人,遇到“端口明明配的是 VLAN 10,终端却落在了 VLAN 20”的情况,往往会以为设备故障。
6. 实验三:基于子网 VLAN 与 Hybrid 模式补充实验
6.1 子网 VLAN 配置方法:一个口承载多个网段
第三个实验模拟服务器或汇聚节点的场景:同一个物理接口下同时接入两个网段的终端,交换机根据终端 IP 网段把它们划分到不同 VLAN。先创建子网 VLAN 映射:
vlan 10 ip-subnet-vlan ip 192.168.10.0 255.255.255.0 vlan 20 ip-subnet-vlan ip 192.168.20.0 255.255.255.0然后在接入接口上启用子网 VLAN 匹配:
interface Ethernet0/0/4 port link-type hybrid port hybrid untagged vlan 10 20 ip-subnet-vlan enable这里有个容易忽略的细节:终端在发送任何数据帧之前,IP 地址必须已经配置好。如果终端走 DHCP,地址获取过程发生在 IP 配置完成之前,交换机可能还没法把这个帧正确匹配到子网 VLAN。稳妥的做法是在同一接口上设置一个 PVID 作为兜底,让 DHCP 请求报文先进入默认 VLAN,拿到地址后再按 IP 子网规则归类。
6.2 Hybrid 端口的去程与回程问题
实验中反复出现 Hybrid 口,它有同时承载 tagged 和 untagged 流量的能力。一个 Hybrid 接口可以允许多个 VLAN 通过,并对不同 VLAN 指定不同的标签策略。实验三里接口对 VLAN 10 和 20 都执行 untagged,是因为接的终端是 PC,PC 网卡不识别 802.1Q Tag,交换机在出方向必须把标签剥掉。
如果要接另一台交换机或三层设备,通常需要把部分 VLAN 设置成 tagged,保证 VLAN 信息在设备间传递。配置 Hybrid 时最常犯的错误是只写了 untagged 列表,忘记考虑某些 VLAN 需要带 Tag 上行,结果上层设备收到一堆无 Tag 帧,根本分不清它们属于哪个 VLAN。
为了讲清楚去程和回程,我举一个例子:PC2 的 IP 属于 192.168.20.0/24,交换机根据 IP 子网规则把它划到 VLAN 20。PC2 发往同 VLAN 其他终端的帧,从接口进入时被匹配到 VLAN 20,交换机在二层域内转发;回程帧从核心口进入,仍然带着 VLAN 20 的 Tag,最终到达 Hybrid 接入接口时执行 untagged,剥掉 Tag 发给 PC。任何一个环节的 VLAN 放通或标签策略出错,都会表现为“单向通”或“完全不通”。
6.3 分类方式组合使用:接口策略的叠加逻辑
真实交换机上,这些分类方式不是互斥的。一个接口可以同时配置端口 VLAN、MAC VLAN 和子网 VLAN。当数据帧进入时,交换机按优先级匹配规则,常见顺序是:MAC VLAN 最优先,其次是 IP 子网 VLAN,然后是协议 VLAN,最后才是端口 VLAN 兜底。
我在做组合实验时,故意给 PC2 既配置了 MAC VLAN 映射到 VLAN 20,又让它的 IP 属于 VLAN 10 的子网规则。最终结果显示,MAC VLAN 赢了,PC2 被划进 VLAN 20。因为 MAC 匹配是最精确的终端级身份识别,交换机认为“既然我明确知道这个设备是谁,就不需要再看它的 IP 或端口位置”。
这个叠加逻辑在生产环境非常有用。比如某个接入端口默认属于 VLAN 10,但管理员希望某台特殊设备接入后自动进入 VLAN 30,就可以只给它配 MAC 映射,不用单独改端口。不过叠加规则越多,排障时变量越多,我建议除非有明确需求,不要在一个端口上把所有分类方式全部打开。
7. 常见问题与排查技巧实录
7.1 VLAN 不通的第一反应:查链路类型
干这行久了你会发现,VLAN 排障 80% 的问题出在链路类型和 VLAN 放通关系上。接到“VLAN 不通”的报障,我的第一反应不是看路由,而是先登录交换机,确认终端接入端口的 link-type、PVID 和允许 VLAN。
排查顺序固定成套路能节省大量时间。第一步看 PC 网卡 IP 是否正常;第二步看接入交换机端口状态和 PVID;第三步看 Trunk 口是否放通相应 VLAN;第四步看 MAC 表是否学习正确;第五步才轮到检查三层网关、ACL 或其他安全策略。很多人喜欢从三层开始查,绕一大圈才发现二层 VLAN 就没放通,白忙活。
7.2 常见问题速查表
把高频问题做成表格,实验和现网都能直接用:
| 现象 | 可能原因 | 快速验证方法 | 解决方案 |
|---|---|---|---|
| 跨交换机同 VLAN 不通 | Trunk 未放通该 VLAN 或误配为 Access | display port vlan查看互联口 | 改为 Trunk 并allow-pass vlan |
| 同一交换机同 VLAN 也不通 | 接口 PVID 配错或接口 down | display interface查看物理状态 | 检查网线、接口是否 shutdown |
| MAC VLAN 不生效 | 接口类型不支持或未使能 | display mac-vlan查看规则 | 改用 Hybrid 口并开启mac-vlan enable |
| DHCP 获取不到地址 | IP 子网 VLAN 和 DHCP 服务器 VLAN 不匹配 | display ip-subnet-vlan | 设置兜底 PVID 或使用 DHCP Relay |
| ping 通但业务很慢 | 链路协商异常或广播风暴 | 查看端口 CRC 错误计数 | 检查双工、速率、STP 状态 |
| 端口 VLAN 改了但终端没变化 | 终端有本地静态 IP 或 ARP 缓存 | 清 ARP 缓存并确认 IP 网段 | 终端重新获取 IP |
表格里的每一项我都踩过相似版本。尤其“ping 通但业务慢”这个现象,很多人一上来就怀疑 VLAN 配错,结果最后发现是级联口协商成了半双工,重灾区往往在小细节。
7.3 我常用的三类排障命令组合
命令不需要背太多,但有三类组合建议形成肌肉记忆。
第一类看全局:display vlan。这条命令把交换机上有哪些 VLAN、每个 VLAN 的接口成员都列出来,适合快速判断是不是 VLAN 没有创建成功。
第二类看接口:display port vlan和display interface。前者告诉你接口的链路类型、PVID 和放通列表,后者告诉你接口的物理状态、协商速率、收发包计数。两台设备之间流量的 Tag 行为,基本靠这两条就能判断清楚。
第三类看学习结果:display mac-address、display mac-vlan、display ip-subnet-vlan。MAC 表是否正确,MAC 规则是否匹配成功,子网规则是否生效,全部通过这三条确认。如果 MAC 表里终端地址不在预期 VLAN,说明分类规则没有按你的想法执行,优先检查优先级顺序。
提示:实验做完后不要急着关闭所有配置,留一个终端和一条 Trunk,反复做“拔线换口”的操作。只有亲手见过“MAC VLAN 让终端跟着 MAC 走”和“端口 VLAN 让终端跟着网线走”的差异,才算真正理解分类的本质。
我个人做 VLAN 实验的习惯,是每次都在终端和交换机之间串一个镜像抓包点,亲眼看一次数据帧上的 VID。配 Access 时看无 Tag,配 Trunk 时看有 Tag,配 MAC VLAN 时看终端换口后的 MAC 表变化。这些看似简单的验证,比背一百条命令都更能建立网络转发的画面感。希望这篇带实验记录的拆解,能让你下次配置 VLAN 分类时少走几段弯路。