PVID / Native VLAN 不一致的排查
Trunk(华为/H3C 也称干道)链路上,不带标签的报文会被打上本端 PVID(思科称 Native VLAN)对应的标签。两端 PVID 不一致时,同一段无标签流量在两端落进不同 VLAN:业务可能看起来照常,实际已经串了 VLAN;思科还会因为 CDP 检测到不一致而周期性地刷告警日志。这是级联链路规范化时必须处理的一类问题。
基本信息
| 适用平台 | 全部交换机(华为 VRP、思科 IOS、H3C Comware) |
|---|---|
| 华为查看 | display port vlan,对比两端 PVID 与放通列表 |
| 思科查看 | show interfaces trunk,配合 show logging 看原生 VLAN 不一致告警 |
| H3C 查看 | display interface <口>,看端口的 PVID 字段 |
| 治理做法 | 全网级联 Trunk 统一 PVID 为专用隔离 VLAN(如 999),两端一致 |
| 风险 | 不一致时无标签流量落到不同 VLAN,管理流量可能串错 |
典型使用场景
- 级联链路规范化:新设备上线时逐条核对两端 PVID 是否一致
- 告警治理:思科设备上反复出现原生 VLAN 不一致告警时需要彻底处理
- 故障排查:某些管理流量时通时不通,怀疑落进了错误 VLAN
- 改造前基线:接入改造前记录每条 Trunk 的两端 PVID,便于回退
- 跨厂商互联:不同厂商对原生 VLAN 的默认值不同,互联前必须显式统一
华为 VRP
华为 VRP
<Huawei> display port vlan | include GigabitEthernet0/0/24 # 看端口 PVID 与 VLAN 列表
[Huawei] interface GigabitEthernet0/0/24
[Huawei-GigabitEthernet0/0/24] port trunk pvid vlan 999 # 统一改为隔离 VLAN
[Huawei-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 999
<Huawei> display port vlan # 改完再确认一次思科 IOS
思科 IOS
SW-A# show interfaces trunk | include Native|Gi1/0/24
SW-A# show logging | include NATIVE_VLAN_MISMATCH
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on ...
SW-A(config)# interface GigabitEthernet1/0/24
SW-A(config-if)# switchport trunk native vlan 999 # 两端改为一致
SW-A# show interfaces trunkH3C Comware
H3C Comware
<H3C> display interface GigabitEthernet 1/0/24 | include PVID
[H3C] interface GigabitEthernet1/0/24
[H3C-GigabitEthernet1/0/24] port trunk pvid vlan 999
[H3C-GigabitEthernet1/0/24] port trunk permit vlan 10 20 999
<H3C> display interface GigabitEthernet 1/0/24 | include PVID现象与处理
| 现象 | 原因 | 处理 |
|---|---|---|
| 思科日志反复刷原生 VLAN 不一致告警 | 两端 Native VLAN 不同 | 两端统一 native vlan 编号 |
| 管理流量时通时不通 | 无标签流量落进不同 VLAN | 核对两端 PVID 与放通列表 |
| 某些 VLAN 业务不通 | 该 VLAN 未在两端放通列表内 | 两端同步放通列表 |
| 抓包看到未预期的 VLAN 标签 | PVID 与规划不符 | 按隔离 VLAN 规范统一 |
只改一端通常不会立刻出问题(无标签流量本来就是两端各自解释),但风险一直存在。治理建议是一次性把全网级联 Trunk 的 PVID 统一成专用隔离 VLAN,并把「两端 PVID 一致」纳入配置对账脚本的检查项。