交换机 VLAN 划分实战避坑指南:从 Trunk 到 PVID

发布于2026-10-09 13:59 阅读30次 两台交换机接上线,VLAN 隔离却失效?本文复盘一次真实排查过程,讲清 Access 与 Trunk 的本质区别、PVID 与 untagged 的对应关系,总结 vlan-filtering 未开启、级联口漏打 Tag、管理地址锁定等四个坑,附三步自检方法。
## 一次"上不了网"的排查记
起因很简单:办公室新买了两台二层交换机,想把财务和研发分到不同网段做隔离。画拓扑的时候觉得十分钟的事,结果接上线之后,财务的电脑连网关都 ping 不通,研发那边反而莫名能访问财务的文件共享。折腾了一个下午,最后发现是 Trunk 和 PVID 搭配错了。
把过程记下来,希望能帮到同样要划 VLAN 的人。
## 基础概念先捋清
**Access 口**:属于一个 VLAN,接终端设备,出入都不带标签。
**Trunk 口**:允许透传多个 VLAN,带 802.1Q 标签,一般用在交换机之间或接路由器。
**PVID**:端口默认 VLAN ID。Untagged 帧进来时,交换机给它打上 PVID 的标签。
关键理解:**Access 口 = 带 PVID 的 Untagged 口**。很多人配不好 VLAN,本质是没想清楚"这个口进来的无标签帧应该归到哪个 VLAN"。
## 拓扑与配置
两台交换机级联,交换机 A 接财务(VLAN 10)和研发(VLAN 20),交换机 B 接打印机和外网路由器。
交换机 A:
```rsc
/interface bridge
add name=br0 vlan-filtering=yes
/interface bridge port
add bridge=br0 interface=ether2 pvid=10
add bridge=br0 interface=ether3 pvid=20
add bridge=br0 interface=ether1 pvid=1
/interface bridge vlan
add bridge=br0 tagged=ether1 untagged=ether2 vlan-ids=10
add bridge=br0 tagged=ether1 untagged=ether3 vlan-ids=20
add bridge=br0 tagged=ether1 vlan-ids=1
```
交换机 B 对等配置,级联口 tagged 上 VLAN 10 和 20。
## 踩坑一:忘了开 vlan-filtering
RouterOS 的 bridge 默认 `vlan-filtering=no`,此时 `vlan-ids` 那一套配置**完全不生效**,所有端口都在同一个广播域里——这就是为什么"隔离了还能互相访问"。改完之后记得确认端口状态变成 `H`(Hardware offload)或至少没有报错。
## 踩坑二:PVID 和 untagged 不一致
`port pvid=10` 只说明"无标签帧进来打 VLAN 10 的标记",但**出去时要不要摘标签**,由 `/interface bridge vlan` 的 `untagged=` 参数决定。如果端口设了 pvid=10,却在 vlan 表里没把它列为 VLAN 10 的 untagged 成员,你会发现设备能发出去、收不回来,表现为"能 ping 通网关但上不了网"。
经验做法:**凡是有 pvid 的端口,一定在对应 VLAN 里出现在 untagged 列表**。
## 踩坑三:级联口忘了 tagged
交换机之间那根线,两端都必须把该 VLAN 加进 tagged 列表。只在一端加,另一端收到的带标签帧会被当成未知 VLAN 丢弃,症状是"本交换机内部通,跨交换机不通"。
## 踩坑四:管理地址把自己锁在外面
给 bridge 配管理 IP 时,一定要确认你连的那个口和它所在的 VLAN 都在配置里,否则改完一提交,SSH 立刻断开。稳妥的做法是:先开 `safe mode`(Ctrl+X),改完观察一会儿确认没掉线,再退出保存。
## 验证方法
配完按三步自检:
1. 同 VLAN 内两台设备互 ping,必须通;
2. 跨 VLAN 互 ping,必须不通;
3. 用 `torch` 或抓包看级联口上有没有带 802.1Q 标签的帧。
如果第 2 步能通,八成是某个口的 Untagged 没设对,或者有设备自己开了多网段转发。
## 小结
VLAN 的核心只有三句话:**入口靠 PVID 打标,出口靠 untagged 摘标,跨交换机靠 Trunk 透传**。配置之前先在纸上把每个口的角色写清楚,比在设备上试错快得多。真出了问题,从"这个无标签帧应该属于哪个 VLAN"这个角度去想,基本都能定位。