原生 VLAN / PVID 是什么
Trunk 链路上有一个「不打标签」的 VLAN:思科叫 native VLAN,华为/H3C 叫 PVID。它决定无标签流量进入 Trunk 后归到哪个 VLAN。两端不一致时业务可能照常跑,属于典型静默故障,同时带来跨 VLAN 串流风险;思科会打 native VLAN mismatch 告警,华为/H3C 只能靠人工核对。规范做法是把它改成一个专用隔离 VLAN。
基本信息
| 适用设备 | 全部交换机(Trunk 或 Hybrid 端口) |
|---|---|
| 默认值 | 三家默认均为 VLAN 1 |
| 配置命令 | 华为/H3C port trunk pvid vlan N;思科 switchport trunk native vlan N |
| 查看命令 | 思科 show interfaces trunk;华为/H3C display port vlan |
| 对齐要求 | 两端 Trunk 的 PVID/native VLAN 必须一致 |
典型使用场景
- 交换机互联规范化:统一两端无标签 VLAN 的归属,避免串流
- 消除思科的 native VLAN mismatch 告警,闭合割接遗留项
- 安全加固:把原生 VLAN 换成未使用的隔离 VLAN,降低 VLAN 跳跃风险
- 跨厂商对接前核对:确认双方对无标签流量的处理方式一致
- 变更审计:检查现网是否还有 Trunk 使用默认 PVID 的遗留配置
华为 VRP
华为 VRP
[Huawei-Gi0/0/24] port trunk pvid vlan 999 # 改成隔离 VLAN,默认 1
[Huawei-Gi0/0/24] port trunk allow-pass vlan 10 20 # 业务 VLAN 仍带标签放通
<Huawei> display port vlan | include GigabitEthernet0/0/24
<Huawei> display interface GigabitEthernet 0/0/24 | include PVID思科 IOS
思科 IOS
SW-CORE-01(config-if)# switchport trunk native vlan 999 # 默认 1
! 两端不一致时会有告警:%CDP-4-NATIVE_VLAN_MISMATCH
SW-CORE-01# show interfaces trunk
! 输出中 Native vlan 列即为当前值,逐 Trunk 口核对H3C Comware
H3C Comware
[H3C-Gi1/0/24] port trunk pvid vlan 999
[H3C-Gi1/0/24] port trunk permit vlan 10 20
<H3C> display interface GigabitEthernet 1/0/24 | include PVID
<H3C> display port vlan | include GigabitEthernet1/0/24三厂命名与命令对照
| 项目 | 华为 VRP | H3C Comware | 思科 IOS |
|---|---|---|---|
| 名称 | PVID | PVID | native VLAN |
| 默认值 | VLAN 1 | VLAN 1 | VLAN 1 |
| 配置 | port trunk pvid vlan N | port trunk pvid vlan N | switchport trunk native vlan N |
| 查看 | display port vlan | display port vlan | show interfaces trunk |
| 不一致告警 | 无自动告警,需人工核对 | 无自动告警,需人工核对 | CDP 可报 native VLAN mismatch |
对齐原则:两端 Trunk 的 PVID/native VLAN 必须一致,且推荐改成一个未使用的隔离 VLAN(如 999)。PVID 是独立配置项,改 allow-pass 放通列表不会自动改变它。
把原生 VLAN 设成业务 VLAN 会放大 VLAN 跳跃攻击面:攻击者构造带双层标签的帧即可进入该 VLAN。规范做法是使用专用隔离 VLAN,并确保这个 VLAN 上不承载业务。