native vlan 是什么
native vlan 是思科对 PVID 的称呼:一个 Trunk 口上指定某个 VLAN 为 native,该 VLAN 的帧在链路上不带标签传输,其余 VLAN 的帧保留 IEEE 802.1Q 标签。缺省 native vlan 是 VLAN 1,所以不配置时所有无标签流量都落在 VLAN 1。华为与 H3C 用 port trunk pvid 表达同一件事,跨厂商对接时必须把两侧的值对齐。
基本信息
| 适用平台 | Cisco IOS / IOS-XE 交换机 |
|---|---|
| 配置命令 | switchport trunk native vlan <id> |
| 查看命令 | show interfaces <接口> switchport |
| 缺省值 | VLAN 1 |
| 对应概念 | 华为与 H3C 的 PVID |
| 生效前提 | 端口必须先处于 trunk 模式 |
配置与查看
配置与查看
interface GigabitEthernet1/0/24
switchport trunk encapsulation dot1q # 部分平台需先指定封装
switchport mode trunk # 设为 trunk 模式
switchport trunk native vlan 100 # 指定 native VLAN,建议避开 VLAN 1
switchport trunk allowed vlan 10,20,100 # 放行列表要与对端一致
!
show interfaces GigabitEthernet1/0/24 switchport # 核对 Admin/Operational Mode 与 Native VLAN典型使用场景
- 跨厂商互联:对端是华为或 H3C 时,把 native vlan 与对端 PVID 设成同一个值
- 安全加固:把 native vlan 改成一个不承载业务的专用编号,降低无标签帧串扰风险
- 单臂路由:路由器子接口按 VLAN 收帧,native vlan 常保持 VLAN 1 且不配子接口
- 对接不支持标签的老设备:把该设备所在 VLAN 设为 native,让它收发无标签帧
三厂商命令对照
| 操作 | Cisco | 华为 / H3C |
|---|---|---|
| 设置默认 VLAN | switchport trunk native vlan 100 | port trunk pvid vlan 100 |
| 查看 | show interfaces switchport | display port vlan |
| 缺省值 | VLAN 1 | VLAN 1 |
| 发送时去标签的 VLAN | native vlan | PVID 对应 VLAN |
两端 native vlan 不一致会在 Cisco 侧产生 %CDP-4-NATIVE_VLAN_MISMATCH 告警,同时无标签流量会串入不同 VLAN:一端的管理流量可能落到对端的业务 VLAN 里,属于信息泄露风险,不是单纯的配置不一致提示。
安全加固惯例是把 native vlan 指向一个专用且不放行任何业务端口的小号 VLAN(如 999),并把它从 allowed 列表外的口全部清理掉。注意 VLAN 1 无法从 allowed 列表中整体移除,控制协议流量仍默认走 VLAN 1。
排查 native vlan 问题时建议双管齐下:配置侧看 show interfaces switchport 的 Native VLAN 字段,运行侧用它对应的无标签流量抓包确认实际 VID。两侧结论不一致时,优先怀疑端口模式不是 trunk。