华为H3C实战 | 第3章 VLAN 与二层转发
📚 本系列共 43 篇(第 3 / 43 篇) · 第一卷 基础篇 —— 交换机的骨架
← 上一篇:第 2 章 接口基础配置 下一篇:第 4 章 STP / RSTP / MSTP 生成树 →
本章导读:一台交换机、一层办公楼、所有部门互通,结果是广播风暴带崩全网、研发服务器被实习生随手 ping 通。VLAN 就是给每个部门发不同颜色的工牌:物理上还在一层楼,逻辑上切成互不相通的"虚拟楼层"。
本章结构:
- 3.1 功能原理与业务场景 —— 802.1Q 标签怎么插进以太网帧(TPID
0x8100、12 位 VID 范围 1~4094) - 3.2 华为设备配置详解 ——
vlan batch批量建、access/trunk/hybrid 三种口、port trunk allow-pass vlan、hybrid 的tagged/untagged语序,以及三种跨 VLAN 方案的取舍(多口 / 单臂路由 / VLANIF) - 3.3 H3C 设备配置详解 ——
port access vlan、port trunk permit vlan、name代替description,以及 H3C 主线已转向 MVRP(GVRP 兼容保留) - 3.4 命令对照表 —— allow-pass vs permit、batch、port default vlan vs port access vlan
- 3.5 配置验证 ——
display vlan里的U/D标记、display port vlan看 PVID - 3.6 排错与故障树 —— “同 VLAN 跨交换机不通 = trunk 没放行”、“跨 VLAN 通但同 VLAN 不通 = 两端 PVID 不一致”、hybrid 照抄 H3C 写法报错
- 3.7 新手踩坑 —— PVID、VLAN 1 泛洪、私接交换机
- 3.8 本章小结 —— 要点清单 + 自测题
重点提示:新配的 VLAN 不通,十有八九是 trunk 没放行——3.6 第一行给你命令和判据;如果"两个口在同 VLAN 却不通",别去查三层,先 display port vlan 比两端的 PVID。混合口写法华为是 tagged vlan 10,抄成 H3C 的 vlan 10 tagged 会直接报错。
关联章节:VLAN 之间要通,网关怎么建见第 6 章;VLAN 上跑生成树、防止私接交换机造成环路见第 4 章;VLAN 里接入终端的管理见第 9 章。
3.1 功能原理与业务场景
3.1.1 这功能是干嘛的(通俗版)
一家公司租了写字楼的一整层,财务、研发、行政全在一层楼里,工位挨着工位。如果所有电脑都接在同一台交换机上、彼此完全互通,会发生两件麻烦事:第一,财务部一台电脑中了病毒,广播包会在整层楼里乱窜,研发部的网速跟着一起崩;第二,研发部的服务器能被实习生随手一 ping 就通,安全上过不去。
虚拟局域网(Virtual Local Area Network,VLAN)就是给每个部门发不同颜色的工牌:物理上所有人还在同一层楼、同一台交换机,逻辑上被切成了几个独立的「虚拟楼层」。同一个 VLAN 里的人可以自由说话(二层互通),不同 VLAN 的人之间必须先经过「前台」(三层网关)才允许交流,而且前台可以查证件、可以拒绝。
关键的一点是:VLAN 隔的是广播域,不是物理位置。一个 VLAN 可以横跨十台交换机(研发部在三楼、五楼都有工位,但他们就是一个 VLAN),一台交换机上也可以有十几个 VLAN。这正是 VLAN 相对「物理隔离」的价值——省钱、省布线、灵活调整。
3.1.2 在网络里怎么落地(设计视角)
交换机怎么知道一帧属于哪个 VLAN?靠的是在以太网帧头里插一个标签(Tag),这就是 IEEE 802.1Q 标准。插入标签后的帧长这样:
原始以太网帧:
┌──────────┬──────────┬──────────┬───────────────┬─────┐
│ 目的MAC │ 源MAC │ 类型 │ 数据 │ FCS │
│ 6 字节 │ 6 字节 │ 2 字节 │ 46~1500 字节 │4字节│
└──────────┴──────────┴──────────┴───────────────┴─────┘
加 VLAN 标签后(802.1Q):
┌──────────┬──────────┬────────────┬──────────┬───────────────┬─────┐
│ 目的MAC │ 源MAC │ TPID │ TCI │ 类型 │数据 │
│ 6 字节 │ 6 字节 │ 0x8100 │ 2 字节 │ 2 字节 │ │
└──────────┴──────────┴────────────┴──────────┴───────────────┴─────┘
│
┌───────────────┴───────────────┐
│ TCI = PCP(3bit) DEI(1bit) VID(12bit)
│ VID 就是 VLAN ID,范围 1 ~ 4094
└───────────────────────────────┘
TPID(Tag Protocol Identifier)固定是 0x8100,交换机看到帧里这个值就知道「这是个带标签的帧」。VID(VLAN Identifier)12 位,理论范围 04095,实际可用 14094,其中 VLAN 1 是缺省,4095 保留。所以一台交换机最多能划 4094 个 VLAN,这个数字就是「VLAN 数量的天花板」。
交换机的接口有三种处理标签的模式,这是本章的核心:
Access(接入)口——接终端的地方。它只属于一个 VLAN,收到帧时给帧打上该 VLAN 的标签(内部转发用),发出帧时把标签剥掉。终端根本不知道 VLAN 的存在。像一个只有一个房间钥匙的门卫:从外面进来的都算这个房间的,出去时把门禁卡还给你。
Trunk(干道)口——交换机之间互联的地方。它能同时承载多个 VLAN,发出帧时大部分 VLAN 带标签(多个 VLAN 挤在一根线上,必须靠标签区分),但有一个特殊 VLAN(PVID 指定的)不打标签发出去。像一个公共走廊:不同部门的文件都从这过,但每份文件上都贴了部门标签。
Hybrid(混杂)口——最灵活的模式,可以针对每个 VLAN 单独决定「发出去带不带标签」。Trunk 其实是 Hybrid 的一个特例。像一条既能走带标签公文又能走不带标签私人物品的通道。
用一张图说清楚帧在三种口之间的流动:
PC1(财务) PC2(研发)
│ │
[GE0/0/1 access] [GE0/0/3 access]
VLAN10 VLAN20
│ │
┌──┴──────────── 交换机A ────────────┐ │
│ │ │
│ [GE0/0/24 trunk] ← 带标签 → [GE0/0/24 trunk] │
│ 允许 VLAN10,20 │ │
└───────────────────────────────────┘ │
交换机B ─── [GE0/0/3 access] VLAN20
具体走一遍:PC1 发出一个不带标签的帧 → 交换机 A 的 access 口(PVID=10)收到,给它打上 VLAN 10 标签 → 查 MAC 表,发现目的 MAC 在 GE0/0/24 的 VLAN 10 里 → 从 trunk 口发出时 VLAN 10 允许通过,保留标签发出 → 交换机 B 的 trunk 口收到带 VLAN 10 标签的帧,查自己的 MAC 表 → 从对应 access 口发出时剥掉标签 → 目标 PC 收到不带标签的普通帧。
适用版本:华为 VRP V200R019 及以上,H3C Comware V7(R2610 及以上)。VLAN 数量上限(1~4094)、VLAN 1 不可删除、GVRP 支持情况与型号有关。
3.2 华为设备配置详解
3.2.1 命令行基础速览(本章会用到的那几条)
| 命令 | 在哪敲 | 干什么 |
|---|---|---|
vlan 10 |
系统视图 | 创建/进入 VLAN 10 |
vlan batch 10 20 30 |
系统视图 | 批量创建 VLAN |
port link-type access |
接口视图 | 设为 access 口 |
port default vlan 10 |
接口视图 | access 口划进 VLAN 10 |
port link-type trunk |
接口视图 | 设为 trunk 口 |
port trunk allow-pass vlan 10 20 |
接口视图 | trunk 允许通过的 VLAN |
port trunk pvid vlan 10 |
接口视图 | trunk 口 PVID |
port link-type hybrid |
接口视图 | 设为 hybrid 口 |
port hybrid tagged vlan 10 |
接口视图 | hybrid 口 VLAN 10 带标签 |
port hybrid untagged vlan 20 |
接口视图 | hybrid 口 VLAN 20 不带标签 |
display vlan |
任意视图 | 看 VLAN 与成员口 |
display port vlan |
任意视图 | 看接口的 VLAN 配置 |
3.2.2 完整配置模板
一个部门两层楼的典型场景:接入交换机 SW1 接财务(VLAN 10)和研发(VLAN 20),通过 trunk 上联核心 SW2(SW2 上有网关,第 6 章展开)。
# 接入交换机 SW1
system-view
sysname SW1
# 批量创建业务 VLAN
vlan batch 10 20
vlan 10
description FINANCE
quit
vlan 20
description RND
quit
# VLAN 1 不放业务,但仍出现在所有口上,这里仅作说明
# 财务接入:access 口,PVID 自动等于 10
interface GigabitEthernet0/0/1
description DESK-FIN-01
port link-type access
port default vlan 10
quit
# 研发接入:access 口
interface GigabitEthernet0/0/2
description DESK-RND-01
port link-type access
port default vlan 20
quit
# 上联核心:trunk 口,允许 VLAN 10、20 通过
interface GigabitEthernet0/0/24
description TO-CORE-SW2-GE0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
quit
quit
save
核心交换机 SW2 的对应配置(这里只配二层部分,网关见第 6 章):
system-view
sysname CORE-SW2
vlan batch 10 20
# 下联接接入交换机的 trunk 口
interface GigabitEthernet0/0/1
description TO-SW1-GE0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
quit
quit
save
一个能看出 hybrid 价值的场景——同一个接口要同时承载「终端所在 VLAN(不带标签)」和「另一个管理 VLAN(带标签)」,而 trunk 口做不长这件事(trunk 的 PVID 只能是 VLAN 1 那个不带标签的例外,其余全部带标签)。用 hybrid 就能精确指定:
# 会议一体机接口:数据 VLAN 20 不带标签、管理 VLAN 99 带标签
interface GigabitEthernet0/0/5
description MEETING-ROOM-SEAT-01
port link-type hybrid
port hybrid pvid vlan 20
port hybrid untagged vlan 20
port hybrid tagged vlan 99
quit
⚠ 注意:把 VLAN 99 配成 untagged 也能配上去,但那意味着这个口会把 VLAN 99 的帧剥掉标签送给终端——终端根本不属于 VLAN 99,这种配置不会带来隔离效果,反而容易误判。想要「座位之间互不可见」,正确工具是端口隔离(第 9 章),不是 hybrid。
3.2.3 逐行讲解
先讲创建 VLAN。vlan 10 这条命令在一次执行中既「创建」也「进入」——VLAN 不存在就创建,存在就进它的视图加描述。vlan batch 10 20 30 可以一次建多个,也可以用 vlan batch 10 to 20 建一段连续的。
| 命令 | 作用 | 新手常错 |
|---|---|---|
vlan batch 10 20 |
批量创建 | 用逗号分隔会报错,空格分隔才对 |
vlan 10 |
进入 VLAN 视图 | VLAN 1 是缺省 VLAN,删除会报错,不能删 |
description FINANCE |
VLAN 说明 | 写在 VLAN 视图里,不是全局 |
port link-type access |
设接入口 | 顺序很重要,先改类型再指定 VLAN |
port default vlan 10 |
指定缺省 VLAN | 只在 access 口有效,trunk 口不认 |
port trunk allow-pass vlan 10 20 |
trunk 放行 | 不配这一条,trunk 只放行 VLAN 1,业务全不通 |
port trunk allow-pass vlan all |
放行所有 VLAN | 不推荐,会放行不该放的 VLAN |
port trunk pvid vlan 10 |
trunk 口 PVID | 缺省 PVID=1,两端 PVID 不一致会出问题 |
port link-type hybrid |
设为 hybrid 口 | 必须先改成 hybrid 类型才能配 tagged/untagged |
port hybrid tagged vlan 10 |
hybrid 带标签 | 语法是「tagged + vlan + 号」,不是「vlan 号 + tagged」 |
port hybrid untagged vlan 20 |
hybrid 不带标签 | 一个 VLAN 在同一个口上不能既 tagged 又 untagged |
access 口有个细节值得强调:port default vlan 10 这条命令配完之后,access 口的 PVID 也随之变成 10。PVID(Port VLAN ID)是「接口收到不带标签的帧时,认为它属于哪个 VLAN」。access 口收到的一定是不带标签的帧(终端不会打标签),所以它的 PVID 决定了这些帧归哪个 VLAN。用 display port vlan 能看到:
<HUAWEI> display port vlan
输出里 PVID 与 Port Link Type 两列一目了然,Trunk VLAN List 显示 trunk 口允许的 VLAN——这个命令是查 VLAN 配置最快的入口,比翻 display current-configuration 快得多。
trunk 口最容易踩的坑是忘记配 port trunk allow-pass vlan。trunk 口的缺省行为是:只允许 VLAN 1 通过。所以两条 trunk 互联时,如果只在接入交换机上建了 VLAN 10,两边 trunk 都没配 allow-pass vlan 10,那么 VLAN 10 的帧在 trunk 上会被直接丢弃——现象是「同 VLAN 内、跨交换机不通,但同一台交换机上同 VLAN 是通的」。这个现象是判断「trunk 没放行」的重要线索。
PVID 在 trunk 上的作用也要讲清楚。trunk 口收到一个不带标签的帧时,会认为它属于 PVID 指定的 VLAN(缺省 VLAN 1)。发出时,PVID 指定的那个 VLAN 会不带标签发出,其他 VLAN 都带标签。所以:
- 两端 trunk 的 PVID 必须一致。一端 PVID=1、另一端 PVID=10,那么从 A 发给 VLAN 10 的帧不带标签,B 收到后按自己的 PVID=1 归入 VLAN 1,VLAN 10 的业务就串到 VLAN 1 去了。这类故障极难查,现象是「相同 VLAN 不通,反而跨 VLAN 能通」。
- trunk 的 PVID 一般保持缺省(VLAN 1)就好,除非为了对接某些只认不带标签帧的老设备。
hybrid 口的语法是最容易写错的。华为的写法是「动作在前,VLAN 在后」:port hybrid tagged vlan 10 / port hybrid untagged vlan 20。而 H3C 正好反过来:「VLAN 在前,动作在后」:port hybrid vlan 10 tagged。这是双厂商混编时最高频的抄错点,抄书的时候一定看清。
hybrid 的实际价值在于「一个物理口出多个 VLAN,且可以逐个 VLAN 决定带不带标签」。经典用法有两个:一是同一个口既给终端送不带标签的数据 VLAN、又给需要带标签的设备(如管理流量)送带标签的 VLAN;二是对接某些特殊设备(IP 电话的语音 VLAN + 数据 VLAN、部分国产老平台)。这是 trunk 做不到的——trunk 里除了 PVID 那一个例外,其余 VLAN 一律带标签。而「同一 VLAN 内终端之间互不可见」这个需求,属于端口隔离的范畴(第 9 章),不是 hybrid。
这里用一张图把三种接口的标签行为彻底钉死,图里的「PVID」一律假设为 10:
Access 口(PVID=10)
收:不带标签 → 打标签 VLAN10 → 内部转发
发:内部 VLAN10 → 剥标签 → 不带标签发出
(收到带标签的帧?缺省丢弃,除非配了其他策略)
Trunk 口(PVID=1,允许 10、20)
收:不带标签 → 归 PVID(VLAN1)
带标签 VLAN10/20 → 认标签入对应 VLAN
发:VLAN1 → 不带标签发出
VLAN10/20 → 带标签发出
Hybrid 口(PVID=20,VLAN20 untagged,VLAN10 tagged)
收:不带标签 → 归 PVID(VLAN20)
带标签 VLAN10 → 认标签入 VLAN10
发:VLAN20 → 不带标签发出
VLAN10 → 带标签发出
看懂这张图,VLAN 的排障就完成了 80%。你可以拿任何一个现场问题往这张图上套:先问「这个帧从哪个口进、带不带标签」,再问「交换机怎么归类」,最后问「从哪个口出、该不该带标签」。三步走完,问题基本就自己浮出来了。
Trunk 与 Access 混用导致的经典事故
有一个场景值得单独讲,因为它每年都在无数机房里重复上演:把交换机之间的连线配成了 access 口。
假设 SW1 和 SW2 之间用一根线连接,两端都配成 access 口、都归 VLAN 10。看起来「能通」,而且同一时刻确实能通——但只在 VLAN 10 内通。如果这时有人想在这条线上再加一个 VLAN 20 的业务,无论怎么配 trunk 都没用,因为 access 口根本不认标签:SW1 把 VLAN 20 的帧打上标签从 access 口发出去(access 口行为是剥标签),标签被剥掉,SW2 收到后按自己的 PVID 归入 VLAN 10——VLAN 20 的业务全被塞进 VLAN 10 了。
更隐蔽的变体是:SW1 端是 trunk、SW2 端是 access。这时 SW1 发出的带标签帧到达 SW2 的 access 口,access 口不认标签,缺省直接丢弃——现象是「大量丢包、偶发能通」。排查这类问题,display port vlan 是最快的入口:端口之间互联的两个口,一边显示 access、一边显示 trunk,一眼就能看出来。
正确的做法只有一条:交换机之间的互联必须两端都是 trunk(或都是 hybrid 且标签规则匹配),绝不能一端 access 一端 trunk。
GVRP 命令已核实(H3C 侧):端口上的注册模式命令是 gvrp registration { fixed | forbidden | normal },其中 normal 表示允许该端口动态注册/注销 VLAN(也即最常用的模式)。H3C 的 VLAN 注册协议主线已演进到 MVRP(Multiple VLAN Registration Protocol,多 VLAN 注册协议),命令族为 mvrp global enable / mvrp enable / mvrp registration,并保留 mvrp gvrp-compliance enable 用于与 GVRP 兼容。也就是说,在新版本 H3C 设备上你更可能看到的是 MVRP 而不是 GVRP。
⚠ 版本差异:华为侧 gvrp / gvrp registration 命令的支持情况与 VRP 版本、型号强相关,部分新版本已不再支持;H3C 侧则是 GVRP→MVRP 的演进。两边都要先 ? 确认命令是否存在。无论哪家,生产环境仍建议静态配置 VLAN,不要依赖注册协议自动传播。
VLAN 号规划与 IP 规划的联动
VLAN 号和 IP 网段不是两件独立的事,而是一套规划的两面。工程上常见的规划方式是「VLAN 号 + 8 = 第三段网络号」,比如 VLAN 10 对应 192.168.10.0/24、VLAN 20 对应 192.168.20.0/24、VLAN 30 对应 192.168.30.0/24。这种映射的妙处在于:display arp 看到 192.168.37.5,你立刻就反应出「这是 VLAN 37 的设备」,连查表都不用。
实际的 VLAN 规划一般按功能分段,下面是一个中型企业网的典型规划:
| VLAN 号段 | 用途 | 网段 | 说明 |
|---|---|---|---|
| 1 | 保留 | — | 不放业务,只作未配置口/管理口 |
| 10~19 | 办公终端 | 192.168.10.0/24 起 | 每个部门一个 VLAN |
| 20~29 | 研发/测试 | 192.168.20.0/24 起 | 与办公隔离 |
| 30~39 | 门禁/监控/道闸 | 192.168.30.0/24 起 | 摄像头、门禁、IoT |
| 40~49 | 无线用户 | 192.168.40.0/24 起 | AP 的 SSID 业务 VLAN |
| 50~59 | 语音 | 192.168.50.0/24 起 | Voice VLAN |
| 90~99 | 管理/带外 | 10.200.99.0/24 起 | 交换机、AP、AC 管理地址 |
| 100~199 | 预留 | — | 后续扩展 |
| 900+ | 特殊用途 | — | 端口隔离、IRF MAD 等 |
这份规划不是要你照抄,而是要你意识到:VLAN 号是一种会存在十年以上的约定,项目一开始就规划好,后面就不会出现「VLAN 25 到底是哪个部门的」这类抓狂时刻。
VLAN 与广播域的定量认识
VLAN 的价值可以用数字说清楚。假设一个 500 人的办公网,全部放在一个 VLAN 里,每天会有什么现象?
- 广播风暴的传播面是全网。一台中病毒的机器每秒发几千个广播帧,这五千多个帧要复制到所有 24 个接入口,每台 PC 的网卡都要中断处理一次,CPU 被吃掉。
- ARP 请求的传播面是全网。500 台机器每个平均每 5 分钟发一次 ARP,也就是每秒将近 2 个 ARP,全部广播到所有终端。
- 故障的传播面是全网。ARP 攻击、DHCP 伪造、STP 震荡,一台机器就能拖垮整个办公网。
切成 10 个 VLAN 之后,上面每一条的影响面都缩到原来的十分之一。这是 VLAN 最朴素的价值:它不是「隔离」,而是「限制故障半径」。
从协议实现角度还有一点要补充:交换机为每个 VLAN 维护独立的 MAC 地址表和独立的生成树实例(在 PVST/MSTP 下)。这意味着 VLAN 之间的转发决策是彻底独立的——VLAN 10 里即使出现环路、即使 MAC 表被打爆,也不会影响 VLAN 20 的转发。这个设计正是 VLAN 让人放心的根本原因。
QinQ 与 VLAN 嵌套(扩展了解)
最后补一个进阶概念,知道它叫什么、大概解决什么问题就够了,细节不在本章范围。
QinQ(也叫 VLAN 堆叠、Double Tagging)是把两层 VLAN 标签叠在一起:外层标签(Service VLAN,S-VLAN)由运营商网络使用,内层标签(Customer VLAN,C-VLAN)由客户自己使用。这样客户自己的 VLAN 规划与运营商的 VLAN 规划互不干扰,运营商只要给每个客户分配一个 S-VLAN 就能承载客户的几千个 VLAN。典型应用是运营商的宽带接入、多租户园区。
华为的命令族是 qinq vlan-translation、port vlan-stacking;H3C 是 qinq enable、qinq vid。两家的命令差异较大,且对芯片支持有要求,实际部署时以型号手册为准。本章只需记住:你看到配置里出现了两个 802.1Q 标签,那是 QinQ,不是配错了。
VLAN 划分方式的几种思路
工程上划分 VLAN 有几种思路,选哪种取决于管理需求,而不只是技术可行性:
| 划分方式 | 原理 | 优点 | 缺点 | 典型场景 |
|---|---|---|---|---|
| 按接口划分 | 接入哪个口的终端就归哪个 VLAN | 简单、确定性强、性能好 | 换工位就要改配置 | 绝大多数企业网 |
| 按 MAC 地址划分 | 依据源 MAC 与 VLAN 绑定 | 跟着人走 | MAC 易伪造、配置量大 | 极少用 |
| 按 IP 子网划分 | 依据源 IP 与 VLAN 绑定 | 与地址规划一致 | 依赖 IP 配置正确 | 特殊场景 |
| 按协议划分 | 依据以太网协议类型 | — | 不实用 | 基本淘汰 |
华为支持基于 MAC 和 IP 子网的 VLAN 划分(命令族 mac-vlan、ip-subnet-vlan),但实际项目里 99% 用的是按接口划分。为什么?因为按接口划分的行为是最确定的:你在哪个口插线,你就是哪个 VLAN,谁都不会配错。基于 MAC 的方式在「员工电脑换到别的会议室」时不用改配置,听着很美,但只要终端换个网卡、或者有人改了 MAC,立刻就乱——而且 MAC 地址本身可伪造,安全性上不成立。
如果确实需要按 MAC 划分,华为的配置骨架是:
# 华为:基于 MAC 地址划分 VLAN(在 VLAN 视图里绑 MAC)
[HUAWEI] vlan 10
[HUAWEI-vlan10] mac-vlan mac-address 00e0-fc12-3456 priority 0
[HUAWEI-vlan10] quit
[HUAWEI] interface GigabitEthernet0/0/1
[HUAWEI-GigabitEthernet0/0/1] mac-vlan enable
⚠ 基于 MAC 的 VLAN 划分需要接口上开启 mac-vlan enable,且同一接口下可以启用多种划分方式,优先级为 MAC > 子网 > 接口,具体优先级顺序请以设备手册为准。
Voice VLAN(语音 VLAN)
Voice VLAN 是为了让 IP 电话「插在 PC 和交换机之间」这种接法能正常工作而设计的。典型场景:办公桌上只有一根网线,IP 电话接交换机,PC 接 IP 电话后面的 PC 口。数据流是:PC → IP 电话 → 交换机。希望 PC 的流量走数据 VLAN(比如 VLAN 20),话机自己的流量走语音 VLAN(比如 VLAN 100),并且语音流量要做 QoS 优先。
关键点在于:IP 电话是能识别 802.1Q 标签的。所以交换机对 IP 电话的流量打语音 VLAN 标签发出,话机自己会给语音流量打标签、把 PC 的流量作为不带标签的透传。交换机的动作是:收到不带标签的帧 → 按 PVID 归入数据 VLAN(PC 的数据);收到带语音 VLAN 标签的帧 → 归入语音 VLAN(话机语音)。这正是 hybrid 口的天然用武之地。
# 华为:Voice VLAN 完整配置
[HUAWEI] vlan batch 20 100
# 全局开启 Voice VLAN 100,并设置语音 VLAN 的老化时间与安全模式
[HUAWEI] voice-vlan 100 enable
# 进入接话机的接口
[HUAWEI] interface GigabitEthernet0/0/6
[HUAWEI-GigabitEthernet0/0/6] port link-type hybrid
[HUAWEI-GigabitEthernet0/0/6] port hybrid untagged vlan 20
[HUAWEI-GigabitEthernet0/0/6] voice-vlan 100 enable
# auto 模式:由交换机根据话机发出的报文自动识别并加入语音 VLAN
[HUAWEI-GigabitEthernet0/0/6] voice-vlan mode auto
[HUAWEI-GigabitEthernet0/0/6] quit
实际工程里,话机识别有两条路:自动识别(auto) 是靠 OUI 或 LLDP 让交换机认出来「这是电话,给它分语音 VLAN」;手工指定(manual) 是直接把这个口划进语音 VLAN。auto 更省事但对老旧话机不一定认得出,manual 更确定但 PC 的流量也会串进语音 VLAN,需要额外配合 MAC 或策略。多数项目的做法是:先尝试 auto + 配置话机厂商的 OUI,认不出来再退到 manual。
语音流量的优先级:语音 VLAN 里的报文一般会被打上较高的 802.1p 优先级(PCP=5 或 6),这样交换机在拥塞时优先转发语音。这一层逻辑是 Voice VLAN 真正起作用的前提——没有 QoS 优先级的 Voice VLAN 只是个有名字的 VLAN。
⚠ 版本差异:voice-vlan mode auto 在部分型号上需要先配置 OUI 才能识别;voice-vlan security enable 用于防止假冒语音流量的攻击,缺省关闭。华为 Voice VLAN 的命令集合在不同版本上部分参数有差异,请以 voice-vlan ? 为准。
GVRP 与 VLAN 自动传播
GVRP(GARP VLAN Registration Protocol,GARP VLAN 注册协议)是一种让 VLAN 配置在交换机之间自动传播的协议:在一台交换机上创建 VLAN 10,通过 GVRP 可以让相邻交换机的 trunk 口自动放行 VLAN 10。听着很美,但工程上基本没有人用,原因是:
- 只能在同厂商设备间跑,跨厂商完全不兼容(虽然标准是 IEEE 802.1Q 的一部分,但各厂商实现差异大)。
- 收敛慢、报文多,大规模网络下会拖累性能。
- 容易配错,VLAN 自动传播之后「哪里冒出来一个 VLAN 3」这种情况很难追。
- 安全风险,恶意设备可以让交换机注册大量 VLAN,耗尽资源。
现代网络的通行做法是:VLAN 全部手工静态配置,用自动化工具(Ansible、脚本)批量下发,而不是让协议自己传播。如果真要在老设备上配,命令骨架是:
# 华为:开启 GVRP(全局 + trunk 口)
[HUAWEI] gvrp
[HUAWEI] interface GigabitEthernet0/0/24
[HUAWEI-GigabitEthernet0/0/24] port link-type trunk
[HUAWEI-GigabitEthernet0/0/24] gvrp
[HUAWEI-GigabitEthernet0/0/24] gvrp registration normal
⚠ GVRP 在部分新版本 VRP 上已被移除或默认不支持(厂商在推广更简单的手工/自动化方案),配置前请确认型号与版本是否支持 gvrp 命令;生产环境不建议使用 GVRP。
VLAN 间通信的三种方式
同一台交换机上,VLAN 10 和 VLAN 20 完全隔离,想让它们通信,必须引入三层转发设备。三种经典方案:
方案一:每个 VLAN 一个物理路由器接口。路由器有几个物理口,每个口接交换机的一个 access 口,一个口一个网段。缺点很明显:VLAN 多了就不够口,且每加一个 VLAN 就要加一根线和一个路由器口,扩展性极差。
方案二:单臂路由(Router on a Stick)。路由器和交换机只用一根 trunk 线连接,路由器上创建子接口(GigabitEthernet0/0/0.10、.20),每个子接口对应一个 VLAN,配各自的网关地址。优点是一根线解决所有 VLAN;缺点是所有跨 VLAN 流量都要经过这一根线,带宽成为瓶颈,而且路由器做二层转发性能远不如交换机。适合小型网络、临时方案。
方案三:三层交换机 VLANIF(SVI)。在三层交换机上为每个 VLAN 创建一个三层虚拟接口 Vlanif 10,配网关地址,VLAN 内的终端把网关指向它,三层交换机直接路由。优点是性能最高、不需要额外设备、扩展性好;缺点是三层交换机比二层贵。这是如今的主流方案,第 6 章会详细讲。
方案二(单臂路由) 方案三(VLANIF)
[路由器] [三层交换机]
GE0/0/0.10 ──┐ Vlanif10: 192.168.10.1
GE0/0/0.20 ──┤ Vlanif20: 192.168.20.1
│ │
[trunk] [trunk 或直接接终端]
│ │
[二层交换机] VLAN10 / VLAN20 终端
/ \
VLAN10 VLAN20
三种方案的对比:
| 方案 | 带宽瓶颈 | 扩展性 | 成本 | 适用场景 |
|---|---|---|---|---|
| 物理口 per VLAN | 无(多链路) | 差(口数受限) | 高 | 极小规模 |
| 单臂路由 | 有(单链路汇聚所有 VLAN) | 中 | 低(省交换机) | 小型办公、临时 |
| VLANIF | 无(交换机内部硬件转发) | 好 | 中 | 所有现代企业网 |
3.3 H3C 设备配置详解
3.3.1 命令行基础速览
H3C 的 VLAN 命令结构与华为几乎一一对应,但有几处决定性的语法差异必须记牢:
| 命令 | 在哪敲 | 干什么 |
|---|---|---|
vlan 10 |
系统视图 | 创建/进入 VLAN |
name FINANCE |
VLAN 视图 | VLAN 名称(华为用 description) |
port link-type access |
接口视图 | access 口 |
port access vlan 10 |
接口视图 | access 口划入 VLAN 10(华为是 port default vlan) |
port link-type trunk |
接口视图 | trunk 口 |
port trunk permit vlan 10 20 |
接口视图 | trunk 放行(华为是 allow-pass) |
port trunk pvid vlan 10 |
接口视图 | trunk PVID |
port link-type hybrid |
接口视图 | hybrid 口 |
port hybrid vlan 10 tagged |
接口视图 | hybrid 带标签(语法顺序与华为相反) |
port hybrid vlan 20 untagged |
接口视图 | hybrid 不带标签 |
display vlan |
任意视图 | 看 VLAN |
3.3.2 完整配置模板
同样的组网,H3C 侧的完整配置如下,注意 access 划 VLAN 与 trunk 放行的关键字差异:
# H3C 接入交换机 SW1
system-view
sysname SW1
# 批量创建 VLAN(V7 直接用 vlan 10 20 或 vlan 10 to 20)
vlan 10
name FINANCE
quit
vlan 20
name RND
quit
# 财务接入
interface GigabitEthernet1/0/1
description DESK-FIN-01
port link-type access
port access vlan 10
quit
# 研发接入
interface GigabitEthernet1/0/2
description DESK-RND-01
port link-type access
port access vlan 20
quit
# 上联核心 trunk(注意 permit 而非 allow-pass)
interface GigabitEthernet1/0/24
description TO-CORE-SW2-GE1/0/1
port link-type trunk
port trunk permit vlan 10 20
quit
quit
save force
Hybrid 口的对应写法,注意 tagged/untagged 的位置:
# H3C hybrid:VLAN 号在前,动作在后
interface GigabitEthernet1/0/5
description MEETING-ROOM-SEAT-01
port link-type hybrid
port hybrid vlan 20 untagged
port hybrid vlan 99 tagged
port hybrid pvid vlan 20
quit
Voice VLAN:
# H3C Voice VLAN
[H3C] vlan 20 100
[H3C] interface GigabitEthernet1/0/6
[H3C-GigabitEthernet1/0/6] port link-type hybrid
[H3C-GigabitEthernet1/0/6] port hybrid vlan 20 untagged
[H3C-GigabitEthernet1/0/6] voice-vlan 100 enable
[H3C-GigabitEthernet1/0/6] voice-vlan mode auto
⚠ 版本差异:H3C Voice VLAN 的 voice-vlan mode auto 依赖 OUI 配置(需在 Voice VLAN 视图下 voice-vlan oui 添加话机厂商 OUI,或在接口上 voice-vlan mac-address 手工指定),不同型号命令略有差异,请以 voice-vlan ? 为准。
3.3.3 逐行讲解
| H3C 命令 | 对应华为 | 差异要点 |
|---|---|---|
name FINANCE |
description FINANCE |
关键字不同;但 H3C 的 VLAN 视图下也有 description(与 name 并存) |
port access vlan 10 |
port default vlan 10 |
一条顶一条,都只有一条 |
port trunk permit vlan 10 20 |
port trunk allow-pass vlan 10 20 |
permit vs allow-pass |
port hybrid vlan 10 tagged |
port hybrid tagged vlan 10 |
语序完全相反,最容易抄错 |
port hybrid vlan 20 untagged |
port hybrid untagged vlan 20 |
同上 |
vlan 10 to 20 |
vlan batch 10 to 20 |
华为要 batch 关键字 |
display vlan 10 |
display vlan 10 |
相同 |
有一个 H3C 的细节必须单独说,而且是照抄必踩的一条:官方文档明确「Trunk 端口和 Hybrid 端口之间不能直接切换,只能先设为 Access 端口,再配置为其他类型端口」。也就是说,一个口原先是 trunk、你想改成 hybrid,直接敲 port link-type hybrid 会失败,正确顺序是 port link-type access → port link-type hybrid。华为侧没有这条限制,可以直接切换——这是两家行为不一致的地方,混编改配置时特别容易卡住。
另一个 H3C 细节:port link-type access 在 Comware V7 上其实是缺省类型(官方原文「所有端口的链路类型均为 Access 类型」),所以对 access 口来说这条命令可以省略,只写 port access vlan 10 也能生效。但只要涉及 trunk 和 hybrid,就必须显式切换。工程上的建议是宁可多敲一条,把类型显式写出来——因为看配置的人需要一眼确认这个口是什么类型,省掉这一条会让后续维护者多花时间去猜。
另一个差异是 VLAN 名称。华为在 VLAN 视图里用 description;H3C 两种都能用——name(官方限定 132 个字符)和 255 个字符)在 H3C 的 VLAN 视图下都存在,前者是简洁名字、后者是长描述,按需要选。所以网上说「H3C 只能用 name」并不准确。description(1
在 trunk 的 PVID 处理上,H3C 与华为的行为是一致的:缺省 PVID = VLAN 1,发出时 PVID 对应的 VLAN 不带标签。同样要求两端 PVID 一致。
关于 V5 老设备的提示
如果现场的 H3C 设备是 Comware V5(S5500、S5120 早期型号等),VLAN 命令与 V7 有细微差异:port link-type access 之后依然是 port access vlan 10,这一点与 V7 相同;但 V5 上没有 port hybrid vlan 10 tagged 这种写法,而是 port hybrid vlan 10 tagged 也支持,另外 V5 的 display vlan 输出格式与 V7 不同(V5 显示 Tagged ports / Untagged ports 分列,V7 显示 UT: ... / TG: ...)。看到输出格式不同不要慌,先 display version 确认版本。
接口 VLAN 属性的另一种视角:PVID 与「私有 VLAN」
前面反复提到 PVID,这里用一句大白话把它定死:PVID 是「这个口在没看到标签时,默认把帧当成哪个 VLAN」。它只在两种情况下起作用:一是收到不带标签的帧时,二是发出该 VLAN 的帧时决定要不要剥标签。
由此可以推出几条直接有用的结论:
- access 口的 PVID 必然等于它所属的 VLAN,因为两者是一回事。
- trunk 口的 PVID 缺省是 1,一般不去动它。
- hybrid 口的 PVID 由你显式指定,但它只影响不带标签的帧怎么归类。
- 端口隔离、Voice VLAN、QinQ 这些功能,全都是在 PVID 和标签规则上做文章。
H3C 还有一类在接入场景常用的机制叫「私有 VLAN(Private VLAN)」,它把一个 VLAN 再细分成隔离型(Isolated VLAN)和团体型(Community VLAN),用于运营商和大型企业宿舍网。这个机制在华为上叫做「MUX VLAN」,功能定位类似但命令完全不同,本章不展开,只需要记住:当你听到「同一个 VLAN 里也要再隔离一层」的时候,找的就是 MUX VLAN / Private VLAN,而不是 VLAN 本身。
VLAN 规划与端口数量的对应关系
工程上还有一个经常被忽略的细节:VLAN 的划分粒度和接入口的数量要匹配。假设一台 48 口接入交换机服务三个部门,每个部门 16 人,那么按部门划三个 VLAN、每个 VLAN 16 个口是最合理的。但如果某部门突然扩编到 30 人,这台交换机的口就不够了,需要从第二台交换机接过来——于是这个 VLAN 就横跨两台交换机了。
VLAN 横跨多台交换机带来两个后果:一是 trunk 上必须放行这个 VLAN,二是这个 VLAN 的生成树、广播域都变大。设计接入层时,通用的原则是:
| 原则 | 说明 |
|---|---|
| 一个 VLAN 尽量集中在一台或相邻几台接入交换机 | 减少 trunk 放行、减少生成树影响面 |
| 每个 VLAN 的终端数控制在 200 台以内 | 广播、ARP 压力可控 |
| 每个 VLAN 对应一个 /24 网段 | 地址充足、便于管理 |
| 一台接入交换机的业务 VLAN 数不超过 10 个 | 便于排查、便于 trunk 放行 |
这几条不是硬规定,但遵循它们能避开 90% 的「网络越建越乱」的坑。
3.4 华为 / H3C 命令对照表
| 功能 | 华为(VRP) | H3C(Comware V7) | 差异说明 |
|---|---|---|---|
| 创建 VLAN | vlan 10 |
vlan 10 |
相同 |
| 批量创建 | vlan batch 10 to 20 |
vlan 10 to 20 |
华为要 batch |
| VLAN 说明 | description FINANCE |
name FINANCE |
关键字不同 |
| access 类型 | port link-type access |
port link-type access |
相同(V7 缺省即 access) |
| access 划 VLAN | port default vlan 10 |
port access vlan 10 |
关键字不同 |
| trunk 类型 | port link-type trunk |
port link-type trunk |
相同 |
| trunk 放行 | port trunk allow-pass vlan 10 20 |
port trunk permit vlan 10 20 |
allow-pass vs permit |
| trunk PVID | port trunk pvid vlan 10 |
port trunk pvid vlan 10 |
相同 |
| hybrid 带标签 | port hybrid tagged vlan 10 |
port hybrid vlan 10 tagged |
语序相反 |
| hybrid 不带标签 | port hybrid untagged vlan 20 |
port hybrid vlan 20 untagged |
语序相反 |
| hybrid PVID | port hybrid pvid vlan 20 |
port hybrid pvid vlan 20 |
相同 |
| 查 VLAN | display vlan 10 |
display vlan 10 |
输出格式略有差异 |
| 查接口 VLAN | display port vlan |
display port vlan |
相同 |
| Voice VLAN 开启 | voice-vlan 100 enable |
voice-vlan 100 enable |
相同 |
| Voice VLAN 模式 | voice-vlan mode auto |
voice-vlan mode auto |
相同 |
| GVRP | gvrp |
gvrp |
均已不推荐使用 |
3.5 配置验证
VLAN 配置的验证思路是「从大到小」:先确认 VLAN 存在、成员口对不对,再确认接口类型与标签行为,最后用实际流量验证连通性。
第一步:确认 VLAN 与成员口。
<HUAWEI> display vlan
正常输出:
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:GE0/0/3(D) GE0/0/4(D) GE0/0/5(D) GE0/0/6(D)
...
10 common UT:GE0/0/1(U)
TG:GE0/0/24(U)
20 common UT:GE0/0/2(U)
TG:GE0/0/24(U)
读法很关键:UT 表示 untagged(不带标签发出),TG 表示 tagged(带标签发出)。GE0/0/1 在 VLAN 10 下显示 UT,说明它是 access 口;GE0/0/24 同时出现在 VLAN 10 和 VLAN 20 下且都是 TG,说明它是 trunk 口且放行了这两个 VLAN。如果某个 trunk 口在 VLAN 10 下面根本没出现,就是没放行 VLAN 10——这是排查「跨交换机不通」的第一手证据。
第二步:确认接口类型与 PVID。
<HUAWEI> display port vlan
正常输出:
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/24 trunk 1 1 10 20
这个命令能把「接口类型 / PVID / trunk 放行列表」一次性看全,比 display current-configuration 强得多。如果 Trunk VLAN List 里只有 1,那就是典型的「忘了 allow-pass」。
第三步:确认单个接口的完整二层配置。
<HUAWEI> display current-configuration interface GigabitEthernet0/0/1
或者更简洁:
<HUAWEI> display this
(需要先进入该接口视图。)
第四步:流量验证。这步不能省,因为上面三步都只能说「配置对」,只有数据通才算真通:
# 同一 VLAN 内两台终端互 ping
<HUAWEI> ping 192.168.10.20
# 看 MAC 是否学到了对端(学到说明二层通)
<HUAWEI> display mac-address 00e0-fc12-3456
# 跨交换机时,在对端交换机上也看一次 MAC
如果 ping 不通,先看 display mac-address vlan 10,如果 MAC 学不到,问题就在二层(VLAN 归属或 trunk 放行);如果 MAC 学到了但 ping 不通,问题大概率在 IP 层(地址、掩码、网关)。
第五步:用镜像口抓包(终极手段)。当以上手段都说不清时,配置一个端口镜像,把 trunk 口的报文抓下来看标签对不对:
# 华为:把 GE0/0/24 的入方向流量镜像到 GE0/0/10(接抓包电脑)
<HUAWEI> system-view
[HUAWEI] observe-port 1 interface GigabitEthernet0/0/10
[HUAWEI] interface GigabitEthernet0/0/24
[HUAWEI-GigabitEthernet0/0/24] port-mirroring to observe-port 1 inbound
抓包电脑上用 Wireshark 打开,看 802.1Q 标签里的 VID 是不是期望值,看 PVID 那个 VLAN 是否真的不带标签。能看报文标签,VLAN 问题就再没有玄学了。
H3C 的验证命令:
<H3C> display vlan
<H3C> display vlan 10
<H3C> display port vlan
<H3C> display mac-address
H3C 的 display vlan 输出格式是:
Total VLANs: 3
VLAN ID: 10
VLAN type: Static
VLAN description: FINANCE
Tagged ports: GigabitEthernet1/0/24
Untagged ports: GigabitEthernet1/0/1
字段名是 Tagged ports / Untagged ports,比华为的 TG/UT 更直白。
3.6 排错与故障树
| 症状 | 可能原因 | 排查命令 | 定位方法 |
|---|---|---|---|
| 同 VLAN 不跨交换机通,跨交换机不通 | trunk 没放行 VLAN | display vlan 10、display port vlan |
trunk 口不在 VLAN 成员里 → 补 allow-pass/permit |
| 完全不通 | 接口类型错(access 口配了 trunk 命令)、VLAN 没建 | display port vlan |
Link Type 与预期不符;VLAN 列表里缺失 |
| 跨 VLAN 能通、同 VLAN 不通 | 两端 trunk PVID 不一致 | display port vlan 看 PVID 列 |
把两端 PVID 改一致(通常都回 1) |
| 一个 VLAN 通、另一个不通 | 那个 VLAN 只在部分设备上建了 | 各设备 display vlan 对比 |
逐台建 VLAN |
| 终端拿到的是 169.254 地址 | 接入口 VLAN 不对,DHCP 不在本 VLAN | display port vlan |
核对 access 口 PVID |
| 语音不通、数据通 | Voice VLAN 未启用或 OUI 未配 | display voice-vlan |
见下方说明 |
| 插上交换机就全网震荡 | 有人私接交换机,VLAN 1 泛洪 | display stp、display mac-address |
查接入侧是否私接、开 BPDU 保护(第 4 章) |
| hybrid 口配置不生效 | 语序写错(抄成了 H3C 写法) | 命令报错 | 华为是 tagged vlan 10,不是 vlan 10 tagged |
故障树(按「不通」这件事往下分):
VLAN 层不通
|
+-- 同交换机同 VLAN 不通
| +-- 两个口都在同一 VLAN?display port vlan
| +-- 接口被 shutdown?display interface brief
| +-- 端口隔离/端口安全挡了?(第 9 章)
|
+-- 跨交换机同 VLAN 不通
+-- 两端 trunk 都放行了该 VLAN?display vlan N
+-- trunk 类型对不对?display port vlan
+-- 中间还有别的设备没放行?逐跳查
+-- PVID 是否一致?
|
+-- 跨 VLAN 不通
+-- 有没有三层网关?第 6 章
+-- 终端网关指向对不对?
这里补一个 Voice VLAN 的专门排查点:语音不通但数据通,通常是三种原因之一——voice-vlan 100 enable 没在全局开、接口上 voice-vlan 100 enable 没开、或者 auto 模式下 OUI 没匹配上(话机不是主流品牌)。判断方法是用 display mac-address 看话机 MAC 有没有出现在语音 VLAN 里:出现在数据 VLAN 说明 OUI 没匹配上,压根没出现说明话机没在上电后发报文。
3.7 新手踩坑与注意事项
- trunk 忘了
allow-pass/permit——症状:跨交换机同 VLAN 不通;怎么避:配 trunk 后立刻display vlan确认该 VLAN 下出现了这个口。 - hybrid 语法抄反——症状:配置报错;怎么避:华为「tagged/untagged 在前」,H3C「VLAN 号在前」,记住这一句。
- trunk 两端 PVID 不一致——症状:同 VLAN 不通反而跨 VLAN 通;怎么避:trunk PVID 一律缺省(VLAN 1),不要乱改。
- 把 VLAN 1 用来跑业务——症状:STP 震荡时全网受影响,且容易被私接设备利用;怎么避:业务全部分到 VLAN 10 以上,VLAN 1 只留给管理口/未配置口。
- VLAN 建了一半——症状:某台交换机上网关通、终端不通;怎么避:新增 VLAN 时逐台确认,或用自动化脚本批量下发。
- access 口接交换机——症状:对端交换机的 VLAN 标签全丢,只能通一个 VLAN;怎么避:交换机之间的连线一律用 trunk(或 hybrid),不要用 access。
- VLAN 数量规划随意——症状:后期 VLAN 号冲突、跨网段混乱;怎么避:按「楼栋-楼层-职能」规划 VLAN 号段并写进 IP 规划文档。
- 以为
port default vlan会同时改接口类型——症状:在 trunk 口上敲port default vlan 10报错;怎么避:port default vlan只对 access 口有效。 - GVRP 以为能自动同步全网 VLAN——症状:VLAN 自动冒出来一堆、跨厂商不通;怎么避:不要用 GVRP,用自动化脚本静态下发。
- Voice VLAN 与数据 VLAN 混淆——症状:话机能上线但通话断续;怎么避:语音 VLAN 独立、并配 QoS 优先级;单靠 Voice VLAN 不打优先级不解决问题。
3.8 本章小结
VLAN 是二层网络的「第一性原理」,把本章浓缩成几条:
- VLAN = 逻辑上的广播域切分,靠 802.1Q 标签(TPID
0x8100+ VID 12 位)实现,可用范围 1~4094。 - 三种接口类型:access(只属于一个 VLAN,进出都不带标签)、trunk(多 VLAN,PVID 那个不带标签、其余带标签)、hybrid(可按 VLAN 单独指定带不带标签)。
- 两家的语法差异:access 划 VLAN(
port default vlanvsport access vlan)、trunk 放行(allow-passvspermit)、hybrid 语序(正好相反)。 - VLAN 间通信三方案:物理口 per VLAN、单臂路由、VLANIF;现代企业网一律 VLANIF。
- Voice VLAN 靠 OUI/LLDP 自动识别话机,并配合 QoS 优先级才真正有用。
- GVRP 不要用,静态 VLAN + 自动化下发才是正途。
自测题
- 一台 trunk 口两端 PVID 不一致(一端 1、一端 10),会出现什么奇怪现象?为什么?
- 华为和 H3C 的 hybrid 口配置命令有什么区别?请各写出一条把 VLAN 20 不打标签放行的命令。
display vlan 10输出里某 trunk 口没有出现在 VLAN 10 的成员列表中,说明什么?怎么修?- 一个 IP 话机接在交换机上,PC 接在话机的 PC 口,希望语音走 VLAN 100、数据走 VLAN 20,交换机侧至少要配哪几条命令?
- 为什么现代企业网不推荐用单臂路由做 VLAN 间通信?
- 会出现「同 VLAN 不通、跨 VLAN 反而能通」的怪现象。原因:trunk 发出时 PVID 对应的 VLAN 不带标签,假设 A 端 PVID=1、B 端 PVID=10,A 发给 VLAN 10 的帧因为 A 的 PVID=1 所以带标签发出去没问题;但 A 发给 VLAN 1 的帧不带标签,B 收到后按自己的 PVID=10 归入 VLAN 10,于是「VLAN 1 的业务串进了 VLAN 10」。反过来现象也可能表现为某些 VLAN 不通。修法是把两端 PVID 统一(通常都设成缺省的 VLAN 1)。
- 华为:
port hybrid untagged vlan 20;H3C:port hybrid vlan 20 untagged。语序相反是核心差异。 - 说明该 trunk 口没有把 VLAN 10 加入允许通过列表。修法:在该 trunk 口上执行
port trunk allow-pass vlan 10(华为)或port trunk permit vlan 10(H3C),再用display vlan 10确认该口的TG/Tagged ports出现。 - 至少需要:全局创建
vlan batch 20 100;全局voice-vlan 100 enable;接口上port link-type hybrid、port hybrid untagged vlan 20、voice-vlan 100 enable、voice-vlan mode auto(若话机不被自动识别则需要配 OUI 或改成 manual)。若要语音优先,还需在 QoS 上给语音 VLAN 打高优先级。 - 单臂路由所有跨 VLAN 流量都要汇聚到路由器与交换机之间的那一条链路上,带宽成为瓶颈;同时路由器做二层转发性能远不如三层交换机的硬件转发;且 VLAN 越多,子接口越多,配置和维护成本上升。VLANIF 在交换机内部由硬件转发,无额外链路瓶颈,扩展性更好。
关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录
本人保留对侵权者及其全家发动因果律武器的权利
版权提醒
如无特殊申明,本站所有文章均是本人原创。转载请务必附上原文链接:https://www.elliot98.top/post/huawei-h3c-book/03/。
如有其它需要,请邮件联系!版权所有,违者必究!