园区网从零到精通(4):VLAN 规划踩过的 5 个坑——编号、接口、网段一次做对
前三篇我们把"网关画在哪台设备上"和"二层环路怎么定界"讲完了。这一篇往回退一步,讲一个更靠前、也更容易被糊弄过去的动作:VLAN 规划。
我见过太多现场,环路查出来了、网关位置也对了,最后卡在一个特别朴素的问题上——某个 VLAN 的报文根本就没过去。根子不在协议,在规划:编号拍脑袋定的、接口类型没配、Trunk 只放通了一半、语音和监控直接抄了办公网的 VLAN。
这篇按华为官方产品文档里"帧怎么进、怎么出"的规则来讲,因为这 5 个坑全都能从那张表推出来。文中接口行为与缺省值引自《S12700, S12700E V200R025C00 产品文档》的"VLAN 配置"章节,不同型号、不同版本可能有差异,落地前请以现网设备版本的文档为准。
一、VLAN 规划定的是四条边界,不是"分几个号"
先说清楚规划到底在决定什么。VLAN 不是一个编号游戏,它一次定死四件事:
| 边界 | 由什么决定 | 定错了会怎样 |
|---|---|---|
| 广播域 | VLAN 编号 | 广播域跨楼,一次风暴全园漫延(第 3 篇踩过) |
| 接入边界 | 接口类型 + PVID | 该进的进不来,不该进的进来了 |
| 三层边界 | VLANIF 地址与掩码 | 同 VLAN 不同网段不通,跨 VLAN 又不通 |
| 质量边界 | 专网(语音/监控/无线) | 语音卡顿、视频花屏、AP 掉线 |
所以规划的顺序应该是:先定段位(编号)→ 再定接口(谁进哪个 VLAN)→ 再定网段(每个 VLAN 一个三层边界)→ 最后把专网单独拎出来。四步里任何一步偷懒,后面都要用排障时间去还。

二、官方的帧处理表,是这 5 个坑的总根
华为把接口按"连什么、怎么处理帧"分成 4 种链路类型:Access、Trunk、Hybrid、QinQ。前三种的处理规则,官方给了一张很干脆的表:
| 接口类型 | 收到不带 Tag 的帧 | 收到带 Tag 的帧 | 发送时 |
|---|---|---|---|
| Access | 打上缺省 VLAN 的 Tag | VID 与缺省 VLAN 相同才接收,不同则丢弃 | 剥掉 PVID 的 Tag 再发 |
| Trunk | 打上 PVID;PVID 在 allow-pass 列表里才接收 | VID 在 allow-pass 列表里才接收 | VID 等于 PVID 且被允许 → 剥 Tag;其余被允许的 → 带 Tag |
| Hybrid | 打上 PVID;PVID 在允许列表(Tagged 或 Untagged)里才接收 | VID 在允许列表里才接收 | 按配置决定哪些 VLAN 带 Tag、哪些不带 |
再看缺省值(S12700 V200R025C00):
| 参数 | 缺省值 |
|---|---|
| 接口类型 | negotiation-desirable(不是 access) |
| 缺省 VLAN(PVID) | VLAN 1 |
| Access 口加入的 VLAN | 以 Untagged 方式加入 VLAN 1 |
| Trunk 口加入的 VLAN | 缺省配置表写"以 Tagged 方式加入 VLAN 1~4094"(见下方说明) |
| VLANIF 变 Down 的延迟 | 0s |
一处必须说清的文档矛盾:VLAN 缺省配置表写的是"Trunk 接口以 Tagged 方式加入 VLAN 1~4094",但同一章的"恢复接口上 VLAN 的缺省配置"一节,要求先
undo port trunk allow-pass vlan all、再port trunk allow-pass vlan 1才算恢复缺省;配置步骤里也始终要求显式执行port trunk allow-pass vlan。两处对不上,恰恰说明一件事:别赌默认值。上联口一律显式写 allow-pass,写多少就是多少。
这两张表放一起,现场大部分 VLAN 故障都能对上号。 下面逐个说。
三、坑 1:不配 link-type,以为默认就是 access
这是最普遍的一个。很多人的配置习惯是直接在接口下敲 port default vlan 10,觉得"接入口嘛,默认就是 access"。
官方缺省值是 negotiation-desirable——一种自动协商模式。协商成 Access,行为跟 Access 一样;协商成 Trunk,就按 Trunk 走(官方对协商成 Trunk 的表述是:缺省 VLAN 为 VLAN 1、以 Tagged 方式加入 VLAN 1~4094,即允许所有 VLAN 通过)。
后果分两种:
- 对端也是华为设备,可能协商成 Trunk。此时这个口能放通哪些 VLAN,就由协商结果和缺省值决定,不再由你在接入口写的那几行控制——这是一个隐形的二层越界;
- 对端是打印机、老摄像头、非管理型交换机这类不参与协商的设备,协商不起来,接口行为就不受你控制。表现出来是"这个口时通时不通",或者"换个设备插上就好了"。
规矩:接入口三行写死,不依赖任何默认值。
interface GigabitEthernet1/0/1
port link-type access
port default vlan 10
stp edged-port enable # 第 5 篇讲为什么这条必须有
排查现网时,别用 display this,它只显示显式配置。要看真实生效的链路类型:
interface GigabitEthernet1/0/1
display this include-default | include link-type
四、坑 2:把 PVID 和 allow-pass 当成一件事
第二个坑更隐蔽:PVID 和 allow-pass 是两个独立的东西,管的是两件不同的事。
- PVID(缺省 VLAN):决定这个口收到的 untagged 帧归哪个 VLAN,也决定发出去时哪个 VLAN 的帧被剥掉 Tag;
- allow-pass(允许通过的 VLAN 列表):决定哪些 VLAN 的帧能从这个口过。
Trunk 口的缺省值特别容易骗人:PVID 是 VLAN 1;而 allow-pass 到底放通了哪些,官方不同章节的表述还不一致(见上文那条说明),不同版本也可能不同。这两件事必须分开确认,不能"配了 trunk 就算完"。
现场最典型的翻车:上联口配了 port link-type trunk,allow-pass 也放通了业务 VLAN,唯独没改 PVID。结果管理 VLAN 99 的 untagged 报文一进这个口,全被贴上 VLAN 1 的标签——管理地址不通,业务却正常。这种"业务通、管理不通"的现象,十次有八次是 PVID 没改。
正确的上联口写法:
interface GigabitEthernet1/0/24
port link-type trunk
port trunk pvid vlan 99 # 管理 VLAN,按规划改
port trunk allow-pass vlan 10 20 30 99 # 只放通需要的,别图省事写 all
undo port trunk allow-pass vlan 1 # 不需要 VLAN 1 就关掉
最后一行值得单独说。allow-pass 写 all 是最省事也最危险的写法:它让所有 VLAN 都从这个口过,包括你不希望扩散的 VLAN。规划的颗粒度,就体现在这一行上。
官方在"恢复接口上 VLAN 的缺省配置"里也写得很清楚:Trunk 口恢复缺省要执行
undo port trunk allow-pass vlan all,再port trunk allow-pass vlan 1——这反过来证明all是一个显式配置状态,不是"什么都没配"。
五、坑 3:Access 口把带 Tag 的帧直接丢了
第三个坑是物理现象最迷惑人的:线是好的、口是 Up 的、灯是亮的,就是不通讯。
回到官方那张表:Access 口收到带 Tag 的帧,只有当帧里的 VID 等于本口 PVID 时才接收,不同就丢弃。注意是"丢弃",不是"剥离 Tag 后接收"。
什么时候会往接入口送带 Tag 的帧?
- 接入口下挂了一台小交换机或 AP,它对上游是 Trunk,透传出来的帧带 Tag;
- 会议室墙面信息点后面串了一台可网管设备,自己配了 VLAN;
- 终端网卡开了 VLAN 功能(服务器多网段场景很常见)。
这三种情况,Access 口一律丢掉。表现就是"设备插上不亮业务",但接口计数一切正常。
怎么确认:看接口入方向的丢弃计数,或者直接抓包看进来的帧有没有 802.1Q 头。
display interface GigabitEthernet1/0/1
# 重点看 Input 方向的 discard / error 计数是否持续增长
怎么改:把这个口改成 Trunk 或 Hybrid,显式放通需要的 VLAN;如果确实是终端误配,就在接入口上把带 Tag 的帧挡在门外——官方给了一条现成命令:
interface GigabitEthernet1/0/1
port discard tagged-packet # 丢弃入方向带 VLAN Tag 的报文
这条命令在"防私接"场景特别好用:接入口只收 untagged 帧,员工自己拿台小交换机接进来也没法把 Tagged 帧灌进网络,比事后查环路省事得多。
六、坑 4:一个 VLAN 多个网段,只配了一个地址
第四个坑通常出现在改造项目里。老网段地址不够了,于是同一个 VLAN 里塞进第二个网段,二层通了,三层没通。
官方的答案在 VLAN FAQ 里写得很直接:在 VLANIF 接口下配置主从 IP 地址,可以实现同一 VLAN 多个网段用户间的互通。
interface Vlanif10
ip address 10.1.1.1 255.255.255.0 # 主地址
ip address 10.1.2.1 255.255.255.0 sub # 从地址,注意 sub 关键字
漏了 sub,或者干脆只配主地址,新网段的终端就会呈现"能学到 ARP、ping 不通网关"的状态。
同一节里还有一句必须记住的官方原话:为了成功实现 VLAN 间互通,VLAN 内主机的缺省网关必须是对应 VLANIF 接口的 IP 地址。 这句话解释了一个高频疑问——"我 VLANIF 配了地址,为什么下面终端还是不通?"因为终端的网关填的是别的地址(比如填了核心的地址),报文压根没往这台设备送。
顺带把 Super-VLAN 的坑也补上:多个 Sub-VLAN 共用一个 VLANIF 网关时,Sub-VLAN 之间要互通,必须开 ARP 代理。
vlan 4
aggregate-vlan
access-vlan 2 to 3
interface Vlanif4
arp-proxy inter-sub-vlan-proxy enable
不开这条,同网段的两个 Sub-VLAN 互相 ping 不通——这是 Super-VLAN 最经典的"配了却不生效"。
七、坑 5:语音、监控、无线照抄数据 VLAN
第五个坑不影响"通不通",影响"好不好用",而且往往在上线验收之后才爆出来。
语音:不是单独划个 VLAN 就完事。
官方对 Voice VLAN 的定义是:为语音流专门划分的 VLAN,交换机识别语音流后把它加入 Voice VLAN,并提升优先级,拥塞时优先保证语音。识别方式有两种:
| 方式 | 判据 | 适用 |
|---|---|---|
| 基于 MAC 地址 | 源 MAC 匹配管理员配置的 OUI | IP 电话上送 untagged 语音报文 |
| 基于 VLAN | 报文 VLAN ID 匹配 Voice VLAN | IP 电话能拿到 Voice VLAN 信息(如通过 LLDP) |
第二种方式有个前提,官方写得很清楚:需要 IP Phone 能获取交换机上配置的 Voice VLAN 信息。IP 电话上线发 LLDP,交换机在字段里填 Voice VLAN 信息回给它,电话之后才带 Tag 发语音报文。
配置长这样:
vlan 100
interface GigabitEthernet1/0/5
port link-type hybrid
voice-vlan 100 enable
voice-vlan mode auto # 缺省是 manual,自动模式另有前提
注意两件事:Voice VLAN 功能缺省是去使能的;接口加入 Voice VLAN 的模式缺省是 manual。想自动,得显式配,而且官方注明自动模式生效还有附加条件(与 voice-vlan remark-mode 的配置相关)——所以现场我更建议先按 manual 配稳,别指望一条 auto 搞定。
监控:不只是 VLAN,还有组播和隔离。
摄像头流量有两个特征:一是组播(或大量广播),二是"同 VLAN 内谁都可能收到"。所以监控 VLAN 除了编号独立,还要做两件事:
- 开 IGMP Snooping,让组播只发给有需求的端口,别在 VLAN 内泛洪;
- 做端口隔离或 MUX VLAN,让摄像头之间互相看不见,避免一台被攻破横向扩散。
MUX VLAN 的模型官方定义得很清楚:Principal VLAN(主 VLAN)可以和所有从 VLAN 通信;Subordinate Group VLAN 组内可互通、组间不通;Subordinate Separate VLAN 完全隔离。
vlan 200
mux-vlan
subordinate separate 201 # 摄像头单独隔离
interface GigabitEthernet1/0/6
port link-type access
port default vlan 201
port mux-vlan enable vlan 201
无线:管理 VLAN 和业务 VLAN 必须分开。
AP 上线要拿管理地址、要找 AC,业务终端要拿业务地址,这两个广播域混在一起,后果是:一次业务侧广播风暴直接把 AP 打掉线。标准做法是 AP 接入口用 Trunk——管理 VLAN 走 PVID(untagged 给 AP),业务 VLAN 带 Tag 透传;AC 侧用 Option 43 或 DNS 告诉 AP 控制器地址(第 6 篇会讲 DHCP 这一环怎么配)。
| 专网 | 编号独立 | 额外要配 | 不配的后果 |
|---|---|---|---|
| 语音 | 是 | Voice VLAN + 优先级 | 拥塞时语音断续、杂音 |
| 监控 | 是 | IGMP Snooping + 端口隔离/MUX VLAN | 组播泛洪、摄像头横向可达 |
| 无线 | 管理/业务分离 | AP 口 Trunk + Option 43 | AP 掉线、业务与管理互相影响 |
八、一张可直接套用的编号段位表
规划最省事的办法不是"想清楚每个 VLAN 叫什么",而是先把号段切好,再往里填。下面这套按"用途分段、楼栋取模"来切,2000 人以内的园区够用:
| 号段 | 用途 | 分配规则 | 示例 |
|---|---|---|---|
| 1 | 保留 | 不要用,系统缺省 VLAN | —— |
| 10–19 | 设备管理 | 每类设备一个 | 10 交换机、11 AC、12 防火墙 |
| 20–99 | 办公业务 | 部门 × 楼栋 | 21 楼 1 办公、22 楼 2 办公 |
| 100–109 | 语音 | 每栋楼一个 | 101 A 栋、102 B 栋 |
| 110–139 | 监控/物联网 | 按系统分 | 111 视频、112 门禁 |
| 140–149 | 访客 | 每栋楼一个 | 141 访客 |
| 150–159 | 互联/专线 | 每对设备一个 | 151 核心-出口 |
| 200–299 | 预留 | 新业务 | —— |
| 300–399 | 测试/临时 | 用完回收 | —— |
三条硬规矩:
- VLAN 1 不用:官方缺省所有口都在 VLAN 1,你把它当业务 VLAN 用,等于让所有未配置的口默认进业务网;
- 号段留空隙:每段之间留 10 个号,扩容时不用重排;
- 编号能反推位置:看到 VLAN 22 就知道是 2 号楼办公,排障时少问一句"这是哪儿的"。
VLAN ID 的合法范围是 1–4094,0 和 4095 是协议保留值——这条在官方文档的 VLAN 简介里就写明了,规划时别越界。
九、5 种接口模板,直接抄
规划落到配置,其实只有 5 种口。把这 5 个模板固化下来,新人也不会配错:
# ① 终端接入口:Access + 边缘端口 + 防私接
interface GigabitEthernet1/0/1
port link-type access
port default vlan 21
stp edged-port enable
port discard tagged-packet
# ② 交换机上联口:Trunk + 显式 PVID + 收敛放通
interface GigabitEthernet1/0/24
port link-type trunk
port trunk pvid vlan 99
port trunk allow-pass vlan 21 22 99
undo port trunk allow-pass vlan 1
# ③ AP 接入口:Trunk,管理 VLAN 走 PVID
interface GigabitEthernet1/0/10
port link-type trunk
port trunk pvid vlan 10
port trunk allow-pass vlan 10 21 22
# ④ 服务器接入口:Access 或 Trunk,按网卡是否打 Tag 定
interface GigabitEthernet1/0/20
port link-type access
port default vlan 30
stp edged-port enable
# ⑤ 级联/堆叠口:Trunk 全放通,但只在对内互联时用
interface GigabitEthernet1/0/23
port link-type trunk
port trunk allow-pass vlan 1 to 4094
第 ⑤ 种要克制:"全放通"只应该出现在设备内部互联或堆叠口上,一旦出现在接入口或跨楼链路上,广播域就失控了。
十、上线前 8 条检查
display vlan看一遍:有没有业务口还挂在 VLAN 1 上;- 每个接入口
display this include-default | include link-type:确认不是 negotiation-desirable; - 每个 Trunk 口确认 PVID 改过,不是缺省的 1;
- 每个 Trunk 口的 allow-pass 不是
all,且包含管理 VLAN; - 每个 VLAN 都有且只有一个 VLANIF,地址与网段一一对应;
- 一个 VLAN 多个网段时,确认配了
sub从地址; - 语音口确认
voice-vlan已使能、模式明确;监控 VLAN 确认开了 IGMP Snooping 和隔离; - AP 口确认管理 VLAN 与业务 VLAN 分离,且 DHCP 侧配了 Option 43。
十一、给你的行动清单
- 先把现网 VLAN 拉一张表:编号、用途、网段、网关设备、接口清单。没有这张表,后面所有规划都是猜。
- 按上面的段位表重新对齐编号,能不改就不改,只把"业务挂在 VLAN 1"和"号段交叉"这两类问题挑出来修。
- 把 5 种接口模板写成配置模板(或脚本),新设备上线直接套,不靠手感。
- 拿一台接入交换机做验证:接入口插一台带 Tag 的设备,看是不是被
port discard tagged-packet挡住了——这一步能提前发现"Access 丢 Tag 帧"的隐患。 - 下一篇讲《STP/RSTP/MSTP/VBST 怎么选:收敛慢、边缘端口、四类保护一次讲清》——VLAN 规划对了,冗余链路一接就是环,接下来该让协议把环管住了。
💡 我是老李,HCIE-Datacom 认证、5 年华为生态政企/云网项目交付、干过华为原厂 ASP。
这个《园区网从零到精通》系列,是我把真实项目拆成"可跟着做"的教程,关键机制均对照华为官方文档,不堆概念。
👉 关注我,跟完这个系列,你能独立交付一个园区网;也能持续看 HCIE 考点与现场定界套路。
📌 下一篇预告:《STP/RSTP/MSTP/VBST 怎么选:收敛慢、边缘端口、四类保护一次讲清》
评论区说说你现在网络里 VLAN 是怎么编号的,我挑几套典型规划帮你看看有没有埋雷。
本文接口帧处理规则、缺省值、Voice VLAN 识别方式、Super-VLAN 与 MUX VLAN 命令引自《S12700, S12700E V200R025C00 产品文档》"以太网交换配置"中的 VLAN 配置、Voice VLAN 配置、Super-VLAN 配置、MUX VLAN 配置章节;不同型号与版本存在差异,落地请以现网设备版本文档为准。
标签:#园区网 #VLAN #网络工程师 #HCIE #华为 #网络规划 #从零到精通
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)