AIGC标识 板块3 · VLAN、PVLAN 与端口隔离

板块3 · VLAN、PVLAN 与端口隔离

目标与定位:本板块吃透 VLAN 与 PVLAN 的配置体系,并补齐 VLAN 间路由、Hybrid、QinQ、MUX VLAN 等工程必需扩展。VLAN 在 ZCIA 大纲中占 10%(含 VLAN 路由),与路由原理、IPv6、BRAS 同为单科权重最高的技术点;PVLAN/端口隔离则是园区网、酒店、校园网的高频需求。学习路径严格遵循“原理 → 命令 → 配置实例 → 验证测试 → 故障排查 → 考点速记”,要求 ZCIA 会配会查,ZCIP 会设计与联调,ZCIE 能解释“为什么这样隔离、错在哪里、如何回退”。

全板块主线:Tag/Untag/PVID 是理解一切 VLAN 行为的地基;vlan enable / 端口成员 / PVID 是配置三件套;跨设备靠 Trunk 的 Tag 对称;跨 VLAN 靠三层路由;同 VLAN 内的横向隔离靠 PVLAN/端口隔离;多租户与城域场景才引入 QinQ、MUX VLAN。


3_1 VLAN 原理与 Tag/Untag/PVID 模型

本节要解决什么问题:VLAN 的所有配置都建立在一个模型上:端口收到帧怎么归类、发出帧带不带标签。先把模型想通,命令才不会记混。

3_1_1 无 VLAN 与有 VLAN:为什么必须把广播域切开

传统二层网络是一个“大教室”:所有终端、打印机、摄像头、访客设备处于同一个广播域,ARP、DHCP、NetBIOS 等广播可以直达每一个端口。VLAN(Virtual Local Area Network,虚拟局域网)的本质,是在同一台物理交换机甚至跨交换机的二层域中,通过 802.1Q 标签划分出多个逻辑广播域。同一 VLAN 内可以二层互通;不同 VLAN 之间默认不能直接二层互通,必须经过三层转发,由此安全策略、故障域、运维边界才真正可控。

无 VLAN:扁平二层网络(一个广播域)
   ┌──────┐   ┌──────┐   ┌──────┐   ┌──────┐
   │ 财务 │   │ 研发 │   │ 访客 │   │ 摄像头│
   └───┬──┘   └───┬──┘   └───┬──┘   └───┬──┘
       └──────────┴──────────┴──────────┘
                  同一个广播域
   风险:① 广播域过大,ARP/DHCP 风暴可波及其他业务
        ② 安全隔离无从谈起,同网段可直接互访
        ③ 故障域 = 物理连接域,难按部门/业务运维

有 VLAN:按业务切分广播域(VLAN 间默认隔离)
   财务 VLAN10 ──┐
   研发 VLAN20 ──┼── 三层转发 ──► 可控互通(ACL/策略/防火墙)
   访客 VLAN30 ──┤
   摄像头 VLAN40 ┘
   每个 VLAN 一张独立二层转发表;跨 VLAN 必须经过网关

三层理解要点:VLAN 解决的是“二层隔离”,不是“三层安全”。一旦在两个 VLAN 的网关之间开启路由并放行,两端仍可三层互访。因此工程上“VLAN 隔离”必须与“VLAN 间路由策略”一起设计:不允许互通的业务,要么不配置网关/路由,要么在网关处叠加 ACL、VRF、防火墙策略。

3_1_2 Tag/Untag/PVID:中兴体系 A 的核心转发模型

802.1Q 在以太网帧源 MAC 之后插入 4 字节标签,结构如下:

以太网帧(802.1Q):
┌──────────┬──────────┬───────────────────────┬──────────┐
│ DMAC     │ SMAC     │ 802.1Q Tag (4Byte)    │ 数据/CRC │
└──────────┴──────────┴───────────────────────┴──────────┘
Tag:
┌──────────┬─────────┬────────┬───────────────┐
│ TPID     │  PRI    │  CFI   │     VID       │
│ 0x8100   │ 3 bit   │ 1 bit  │   12 bit      │
└──────────┴─────────┴────────┴───────────────┘
         TPID:标签协议标识,0x8100 表示 802.1Q
         PRI :优先级(PCP),用于 QoS
         CFI :规范格式指示位(通常 0)
         VID :VLAN ID,范围 1~4094(0、4095 保留)

PVID、untag、tag 三者不是并列的三种“端口类型”,而是分别作用于入方向和出方向的三条规则:

【PVID】Port VLAN ID:端口的“缺省 VLAN ID”
   - 仅作用于【入方向、收到 untagged 帧】这一场景
   - 交换机把 untagged 帧打上 PVID 的 VID,进入对应 VLAN
   - 缺省通常为 1,因此“只配 untag 成员、不改 PVID”会落入 VLAN1

【untag 成员】端口属于该 VLAN,且【出方向】对该 VLAN 的帧剥离 802.1Q 标签
   - 面向 PC、打印机、摄像头、部分服务器等不识别 tag 的终端
   - 一个端口对“某个 VLAN”只可能是 untag 或 tag 之一

【tag 成员】端口属于该 VLAN,且【出方向】对该 VLAN 的帧保留 802.1Q 标签
   - 面向交换机之间、路由器、支持 VLAN 的服务器/AP 上行
   - Trunk 的本质:多个 VLAN 均以 tag 方式从该端口发出

一句话记忆:PVID 决定“进来的裸帧算哪个 VLAN”;tag/untag 决定“出去的帧带不带标签”。这三条规则组合起来,就唯一确定了端口在某一 VLAN 中的行为。

3_1_3 入方向与出方向完整转发流程

入方向(Ingress):帧到达端口
   ① 帧是否带 802.1Q 标签?
   ├─ 带 tag:
   │    a. 检查 VID 是否在合法范围、VLAN 是否 enable
   │    b. 检查本端口是否是该 VLAN 的成员(在 tag/untag 成员表中)
   │       ├─ 是成员 → 按 VID 进入对应 VLAN 的转发表
   │       └─ 非成员 → 丢弃(VLAN 入口过滤)
   └─ 不带 tag:
        a. 以端口 PVID 作为该帧的 VID
        b. 进入 PVID 对应 VLAN(前提是端口在 PVID 所属 VLAN 中,
           且 PVID 所属 VLAN 已 enable)

出方向(Egress):在 VLAN 内完成 MAC 查找后,决定从某端口发出
   ① 查看该端口在【此 VLAN】中是 tag 还是 untag 成员
   ├─ untag → 剥离 802.1Q 标签后发出(native/access 语义)
   └─ tag   → 保留 VID/PRI,带标签发出(trunk 语义)
   ② 若端口根本不在该 VLAN 成员表中 → 不可能从该端口发出

两个最常见误判:

  1. “PVID=10 就代表端口一定能收发 VLAN10。”——错。PVID 只负责入方向 untagged 帧;出方向还要看该端口在 VLAN10 是 tag 还是 untag,且 VLAN10 必须 enable。
  2. “交换机之间随便配成 untag 也能通。”——可能通,但会把带标签的细分流量全部压进对端 PVID 所在 VLAN,造成 VLAN 串流、MAC 漂移、ACL 失效,是最危险的一类“看起来能用”。

华为/H3C 习惯先声明链路类型:port link-type access / trunk / hybrid,再配置 PVID 与允许 VLAN。中兴体系 A 不走这条路,而是通过“端口在哪些 VLAN 中 + 每个 VLAN 是 tag 还是 untag + 端口 PVID”三者组合自然形成等价语义。

中兴配置结果 等价概念 判定方法与典型配置
端口仅在一个 VLAN 中为 untag,PVID=该 VLAN Access set vlan 10 add port 1 untag + set port 1 pvid 10
端口在多个 VLAN 中均为 tag Trunk 对每个 VLAN 执行 set vlan <id> add port 24 tag
同一端口对某些 VLAN tag、某些 untag Hybrid 如 AP 口:vlan 50 untag + pvid 50,vlan 60 tag
Trunk 的 PVID 对应 VLAN 以 untag 发出 Native VLAN 依赖 PVID + 该 VLAN 的 untag 成员关系

中兴体系 A 的铁律:不存在 port link-type 命令;“链路类型”是由成员关系推导出来的结果,而不是预先声明的属性。看到配置时要反过来问:这个端口在哪些 VLAN 里?每个 VLAN tag/untag 如何?PVID 是多少?只要这三项确认,行为就唯一确定。

3_1_5 802.1Q 标签视角下的典型报文路径

PC1(无tag) ──port1── SW1 ──port24(tag)── SW2 ──port1── PC2(无tag)
VLAN10

入 port1(SW1):PC1 发出无 tag 帧
   → PVID=10 → 打上 VID=10 进入 SW1 的 VLAN10 转发表
在 SW1 内部:按 DMAC + VLAN10 的 FDB 查表
出 port24(SW1):port24 在 VLAN10 为 tag → 带 802.1Q(VID=10) 发出
入 port24(SW2):带 tag VID=10 → 校验 port24 是否为 VLAN10 成员
   → 是成员 → 按 VID=10 查 SW2 的 FDB
出 port1(SW2):port1 在 VLAN10 为 untag → 剥标签发给 PC2

3_1_6 【案例故事】① 漏配 PVID 的“半通”

那次是给一栋办公楼接入交换机开 VLAN10 办公网。前一天晚上割接完,第二天早上投诉电话就来了:有的工位能上网、有的只能访问内网部分服务器,跨网段时通时不通。我第一反应是“是不是路由问题”,但很快发现同一台接入交换机下、同属 VLAN10 的两台 PC,ping 网关的结果都不一样。

我先 show vlan 10,看到 port 5 确实在 VLAN10 的 untag 成员里,配置里也写了:

set vlan 10 add port 5 untag

看起来没毛病。再 show port 5,PVID 赫然是 1。问题立刻清楚了:端口收到 PC 的无标签帧后,并没有进入 VLAN10,而是被打了 PVID=1;而出口方向因为端口是 VLAN10 的 untag 成员,VLAN10 的流量又能从它发出去——于是形成“部分入方向错、出方向看似正常”的半通。PC 能收到网关回包(出方向剥标签),但 ARP 请求或上行流量的入方向分类不稳定,表现为时通时断、部分目标可达。

补上一条就恢复:

set port 5 pvid 10

复盘:untag 成员关系只解决“能不能从这个口发 VLAN10 的帧”,PVID 才解决“PC 的裸帧算不算 VLAN10”。此后我们把开局模板写成成对命令,add port X untag 之后必须紧跟 set port X pvid <同一 VLAN>,并把“PVID == 该端口唯一 untag VLAN”列为验收检查项。这个坑后来在 ZCIA 模拟考里救了很多人:看到“同 VLAN 时通时断”,先查 PVID。


3_2 VLAN 配置命令全解(含 FID、forbid/permit、VLAN 命名)

本节要解决什么问题:模型清楚了,接下来是命令。本节把 VLAN 相关命令逐条拆开,并点明 FID、forbid/permit 这类容易被忽略的细节。

3_2_1 命令全表(16 条,务必逐条默写)

以下为体系 A 的标准配置风格。命令对象分为 port 与 trunk:普通以太网口用 port,聚合口/Trunk 口(依型号称为 trunk 或 smartgroup)用 trunk,具体关键字以设备 ? 帮助为准。

# 功能 命令
1 使能/关闭 VLAN set vlan [vlanlist] {enable|disable}
2 VLAN 中添加端口(Tag/Untag) set vlan [vlanlist] add port [portlist] [tag|untag]
3 VLAN 中删除端口 set vlan [vlanlist] delete port [portlist]
4 VLAN 中添加 Trunk set vlan [vlanlist] add trunk [trunklist] [tag|untag]
5 VLAN 中删除 Trunk set vlan [vlanlist] delete trunk [trunklist]
6 设置端口 PVID set port [portlist] pvid [1-4094]
7 设置 Trunk PVID set trunk [trunklist] pvid [1-4094]
8 设置 VLAN 优先级 set vlan [vlanlist] priority {off|on [0-7]}
9 配置 VLAN 的 FID set vlan [vlanlist] fid [1-256]
10 禁止端口学习该 VLAN set vlan [vlanlist] forbid port [portlist]
11 允许端口学习该 VLAN set vlan [vlanlist] permit port [portlist]
12 禁止 Trunk 学习该 VLAN set vlan [vlanlist] forbid trunk [trunklist]
13 允许 Trunk 学习该 VLAN set vlan [vlanlist] permit trunk [trunklist]
14 创建 VLAN 描述名称 create vlan [1-4094] name [name]
15 清除 VLAN 名称 clear vlan [vlanlist] name
16 显示 VLAN 信息 show vlan [[vlanlist]]

配置逻辑链:set vlan <id> enable(VLAN 存在且生效) → add port/trunk ... tag/untag(确定成员及出方向行为) → set port/trunk pvid(确定入方向裸帧归属) → create vlan <id> name(可维护性) → show vlan(验证)。任何一环缺失都可能导致“配置在、业务不通”。

3_2_2 FID:Filtering Database ID 与共享转发表

FID(Filtering Database ID)是 VLAN 转发数据库实例的编号。默认情况下,FID = VID,即每个 VLAN 有自己独立的 MAC 转发表(FDB);当多个 VLAN 被显式配置为同一 FID 时,它们共享同一张 MAC 地址表。

缺省(FID = VID,独立 MAC 表)
   VLAN 10 ── FID 10 ──► MAC 表 A
   VLAN 20 ── FID 20 ──► MAC 表 B
   VLAN 30 ── FID 30 ──► MAC 表 C

共享 FID(多个 VLAN 共享一张 MAC 表)
   VLAN 10 ─┐
   VLAN 20 ─┼── FID 5 ──► 同一张 MAC 表
   VLAN 30 ─┘
   效果:这些 VLAN 内学习到的 MAC 表项互相可见

共享 FID 的典型场景:某些组播/共享介质、特殊桥接或历史迁移业务,要求跨 VLAN 共享 MAC 转发表条目。注意,共享 FID 不等于 VLAN 二层互通:VLAN 隔离与 FDB 实例是不同层面的概念,具体转发行为仍受 VLAN 成员关系、三层路由、ACL 等约束;ZCIA 层级只需掌握“FID 是什么、何时共享”,生产网修改 FID 必须做充分测试。

【踩坑】FID 与静态 MAC 绑定:改了 FID 之后,静态 MAC 绑定(set fdb add ... fid <n>)必须按实际 FID 配置,否则绑不上或命中错误转发表。查看时也应以 FID 维度核对,不能只看 VID。

3_2_3 forbid/permit:VLAN 粒度的 MAC 学习控制

set vlan 10 forbid port 5     ! 禁止 port 5 学习 VLAN10 的 MAC
set vlan 10 permit port 5     ! 恢复允许 port 5 学习 VLAN10 的 MAC

forbid 的用途是:在 VLAN 成员关系不变的前提下,精准裁剪某个端口对该 VLAN 的 MAC 学习能力。典型收益是限制未知单播/广播在特定边缘口的扩散、抑制不必要的 FDB 表项。配合 GVRP 时,被 forbid 的端口无法动态学习该 VLAN。生产使用要注意两点:一是 forbid 不替代 VLAN 成员删除,端口仍可能因其他机制参与转发;二是过度禁用学习可能导致单播泛洪,应结合固定 MAC、静态 FDB 或端口安全一起评估。

3_2_4 VLAN 命名与优先级:可维护性不是“附加项”

create vlan 10  name Office
create vlan 40  name Camera
create vlan 50  name AP-Mgmt
create vlan 60  name STA-User
create vlan 100 name MGMT

命名本身不改变转发行为,但决定半年后割接时运维人员能否在 show vlan 里 3 秒内定位业务。命名建议遵循“业务-位置-角色”规则,如 Office-3F、Camera-B1、AP-Mgmt、Guest-WiFi。清除命名用 clear vlan [vlanlist] name,改名必须先 clear 再 create,或直接覆盖依版本而定,操作前用 ? 确认。

VLAN 优先级 set vlan <list> priority on <0-7> 用于在 802.1Q 标签中写入 PCP(Priority Code Point),配合 QoS 信任与队列策略使用;若设 off 则按既有映射处理。此命令仅在帧带标签或需要重写优先级时体现价值,切勿把它当成“带宽保证”。


3_3 VLAN 工程配置实例(单台接入 / 跨设备互通 / VLAN 间路由)

本节要解决什么问题:真实开局没人一条一条敲命令,都是按端口角色批量下发。本节三个实例覆盖现网九成场景,可直接改成开局模板。

3_3_1 实例一:接入交换机标准 VLAN 部署

设计意图:一台接入交换机承载办公、摄像头、AP 管理与无线用户四类业务。PC/打印机、摄像头属于“不认 tag”的终端,端口做成 Access;AP 需要同时携带管理流量与无线用户流量,做成 Hybrid;上联核心口承载全部业务 VLAN,全部以 tag 透传。

拓扑与端口角色:
   PC/打印机 ── port 1-12   (VLAN10 Office, untag, pvid 10)
   摄像头   ── port 13-20   (VLAN40 Camera, untag, pvid 40)
   AP       ── port 21-22   (VLAN50 AP-Mgmt untag + pvid 50,
                              VLAN60 用户 tag)
   上联核心 ── port 23-24   (VLAN10/40/50/60/100 全部 tag)

完整脚本

zte>enable
zte#configure terminal

! ---------- 创建并命名 VLAN(必须先 enable 再使用) ----------
zte(cfg)#set vlan 10 enable
zte(cfg)#set vlan 40 enable
zte(cfg)#set vlan 50 enable
zte(cfg)#set vlan 60 enable
zte(cfg)#set vlan 100 enable
zte(cfg)#create vlan 10  name Office
zte(cfg)#create vlan 40  name Camera
zte(cfg)#create vlan 50  name AP-Mgmt
zte(cfg)#create vlan 60  name STA-User
zte(cfg)#create vlan 100 name MGMT

! ---------- 接入端口(Access 型:untag + PVID) ----------
zte(cfg)#set vlan 10 add port 1-12 untag
zte(cfg)#set port 1-12 pvid 10
zte(cfg)#set vlan 40 add port 13-20 untag
zte(cfg)#set port 13-20 pvid 40

! ---------- AP 端口(Hybrid 型) ----------
! 管理 VLAN50:交换机与 AP 间 untag,PVID=50,使 AP 获取管理地址
! 用户 VLAN60:AP 隧道的业务流量带 tag 上行
zte(cfg)#set vlan 50 add port 21-22 untag
zte(cfg)#set port 21-22 pvid 50
zte(cfg)#set vlan 60 add port 21-22 tag

! ---------- 上联(Trunk 型:全部 tag) ----------
zte(cfg)#set vlan 10  add port 23-24 tag
zte(cfg)#set vlan 40  add port 23-24 tag
zte(cfg)#set vlan 50  add port 23-24 tag
zte(cfg)#set vlan 60  add port 23-24 tag
zte(cfg)#set vlan 100 add port 23-24 tag

! ---------- 收尾:不用端口关闭、保存 ----------
zte(cfg)#set port 1-24 enable
zte(cfg)#exit
zte#save

为什么这么配:

  • port 1-12 只看到一个 untag VLAN,且 PVID=10:PC 的裸帧进入 VLAN10,回包剥标签发出,符合终端行为。
  • AP 口同时有 vlan 50 untag 与 vlan 60 tag:这正是 Hybrid 的定义,不能用“access 或 trunk 二选一”的思维理解。
  • 上联口对全部业务 VLAN 均为 tag:保证对端核心能靠 VID 区分业务,也避免把流量误送进核心的 PVID VLAN。
  • set vlan <id> enable 排在最前:这是 VLAN 生效前提,漏写会在 show vlan 里直接暴露为 disable。

配错的典型现象:

错误 直接现象 根因定位
只 add port untag、忘 set pvid 终端时通时断、部分 ARP 异常 裸帧被打 PVID=1,进入错误 VLAN
AP 口把 50 也配成 tag AP 获取不到管理地址,全部离线 AP 发出的管理报文带 tag,或交换机剥/打标签逻辑错
上联口漏加某个 VLAN 该业务跨设备全不通 对端无法收到对应 VID 的帧
上联口配成 untag 跨设备部分通、MAC 漂移、VLAN 串流 多 VLAN 帧被压进单一 PVID VLAN
忘 set vlan enable 配置存在但业务不工作 VLAN 处于 disable 状态

3_3_2 实例二:两台交换机跨设备 VLAN 互通(经典考题)

设计意图:SW-A 与 SW-B 通过 port 24 互联,各自 port1 属于 VLAN10、port2 属于 VLAN20。互联口必须把 VLAN10、VLAN20 都以 tag 放行;两端配置对称。同 VLAN 跨设备可二层互通;不同 VLAN 在未配置三层路由时必须隔离。

跨设备互通拓扑:
   ┌─────────────┐  port 24 (tag 10,20)    ┌─────────────┐
   │    SW-A     │◄───────────────────────►│    SW-B     │
   │ p1: VLAN10  │                         │ p1: VLAN10  │
   │ p2: VLAN20  │                         │ p2: VLAN20  │
   └─────────────┘                         └─────────────┘
   两端:接入口均为 untag + PVID;互联口均为 tag

SW-A / SW-B 配置(对称)

! ===== SW-A =====
zte(cfg)#set vlan 10 enable
zte(cfg)#set vlan 20 enable
zte(cfg)#set vlan 10 add port 1 untag
zte(cfg)#set vlan 20 add port 2 untag
zte(cfg)#set port 1 pvid 10
zte(cfg)#set port 2 pvid 20
zte(cfg)#set vlan 10 add port 24 tag
zte(cfg)#set vlan 20 add port 24 tag

! ===== SW-B(与 SW-A 对称,端口 1/2 归属一致) =====
zte(cfg)#set vlan 10 enable
zte(cfg)#set vlan 20 enable
zte(cfg)#set vlan 10 add port 1 untag
zte(cfg)#set vlan 20 add port 2 untag
zte(cfg)#set port 1 pvid 10
zte(cfg)#set port 2 pvid 20
zte(cfg)#set vlan 10 add port 24 tag
zte(cfg)#set vlan 20 add port 24 tag

为什么这么配:接入口 untag + PVID 保证 PC 发出的裸帧正确归类;互联口 tag 保证 VLAN10/20 的标签在链路上保留,对端依 VID 分别进入自己的 VLAN10/20。任何一端把 port 24 的 VLAN10 配成 untag,都会让对端收到的帧落入对端 port24 的 PVID,VLAN20 与 VLAN10 的边界随即失效。

测试矩阵(必须逐条验证,T1~T4 完整)

# 测试项(在两台 PC 上实测的方法) 预期结果 不符时的排查点
T1 SW-A p1 的 PC ping SW-B p1 的 PC:两台 PC 设同网段地址(如 10.0.10.2/24 ↔ 10.0.10.3/24),互 ping 通 show vlan 10:两端 p1(untag)+p24(tag);两端 p1 PVID=10;两端互联口物理 up
T2 SW-A p2 的 PC ping SW-B p2 的 PC:两台 PC 设另一网段同段地址(如 10.0.20.2/24 ↔ 10.0.20.3/24),互 ping 通 排查项与 T1 相同但对应 VLAN20:show vlan 20 两端 p2(untag)+p24(tag) 齐全、两端 p2 PVID=20;另需确认测试机未同时接入 VLAN10,避免地址段混用造成「能通」的假象
T3 SW-A p1 ping SW-A p2:同交换机不同 VLAN 不通 验证 VLAN 隔离生效;若通,说明 PVID 错配/被划入同 VLAN/存在 trunk 串入
T4 SW-A p1 ping SW-B p2:不同 VLAN 不通 跨 VLAN 未配三层,应不通;若通,检查是否误配 trunk、VLAN 串流或已有路由/ACL

实测操作要点:每台 PC 先 ipconfig/ifconfig 确认 IP 与掩码;ping 前先用 arp -a 看能否学到对端 MAC(同 VLAN 二层场景);不通时先在本地交换机 show fdb vlan <id> 看源/目的 MAC 是否在正确 VLAN 学到。T3/T4 不是“顺带的负面测试”,而是验收 VLAN 隔离是否真正成立的证据——ZCIE 答辩要能解释“为什么不通、哪一层丢弃”。

3_3_3 实例三:VLAN 间路由(三层转发)

VLAN 间路由的核心是:为每一个需要互通的 VLAN 配置一个三层逻辑接口(网关),并使交换机开启三层转发。中兴存在两套 CLI 风格,必须按设备体系选择。

方式一:盒式交换机用 ipport 绑定 VLAN(体系 A)

! 前提:VLAN 10/20 已创建并包含相应端口,且各自 VLAN 内有 up 端口
zte(cfg)#set vlan 30 enable                    ! 上联/互联 VLAN

zte(cfg)#config router
! 用户网段网关:VLAN10
zte(cfg-router)#set ipport 0 ipaddress 192.168.10.1/24
zte(cfg-router)#set ipport 0 vlan 10
zte(cfg-router)#set ipport 0 enable
! 用户网段网关:VLAN20
zte(cfg-router)#set ipport 1 ipaddress 192.168.20.1/24
zte(cfg-router)#set ipport 1 vlan 20
zte(cfg-router)#set ipport 1 enable
! 上联出口:默认路由
zte(cfg-router)#iproute 0.0.0.0 0.0.0.0 10.0.30.2
zte(cfg-router)#exit
zte#save

方式二:机架式/新版(体系 B)SVI 风格

ZXR10(config)#interface vlan 10
ZXR10(config-if)#ip address 192.168.10.1 255.255.255.0
ZXR10(config-if)#description Gateway-for-VLAN10
ZXR10(config)#interface vlan 20
ZXR10(config-if)#ip address 192.168.20.1 255.255.255.0
ZXR10(config)#ip routing                       ! 部分型号需显式开启三层转发

为什么这么配:ipport/SVI 把二层 VLAN 映射成三层网关,交换机据此生成直连路由并在 VLAN 间做路由查找。终端把默认网关指向对应 ipport/SVI 地址,跨 VLAN 的流量才有下一跳。方式一强调“ipport 编号—VLAN—IP—enable”四元组;方式二强调“interface vlan + ip address + 全局 ip routing”。

【踩坑】VLAN 间路由不通的四查

① ipport/SVI 是否 enable?
   → 体系A:set ipport <id> enable;体系B:interface vlan 必须 up
② ipport 是否绑定到正确的 VLAN?
   → 体系A:set ipport <id> vlan <id>;体系B:interface vlan 编号对应
③ 终端网关是否指向该 ipport/SVI 地址?子网掩码是否正确?
   → PC 默认网关、DHCP Option 3 必须一致
④ show iproute 是否有两条直连路由?
   → 直连路由生成要求:该 VLAN 内至少有一个端口处于 up 状态

直连路由的隐含条件:VLAN 内有 up 端口(接入终端、互联口均可)时,对应直连路由才会进入路由表。若所有成员端口均 down,即使 ipport/SVI 配置完整,show iproute 也看不到该直连路由,表现为“配置都在但就是不通”。排查时优先 show vlan <id>、show port 确认至少一个端口 up。


3_4 VLAN 规划方法论

本节要解决什么问题:会配不等于会规划。本节给出 VLAN 编号与透传范围的规划方法,这是写方案时的加分项。

3_4_1 VLAN 编号规划:写方案时的加分项

VLAN 编号本身不决定业务,但有规律的分段决定半年后能否快速定位。建议遵循“段位语义化、保留默认、管理/业务/安全分区”的原则,具体数值可依园区规模调整。

VLAN 段 用途 建议
1 默认 VLAN 不使用(安全最佳实践,避免 VLAN1 攻击与意外泛洪)
2-99 网络设备管理/互联 管理 VLAN、互联 VLAN、Loopback 对应段
100-199 办公有线 按楼栋/部门细分
200-299 无线(AP 管理 / 用户) AP 管理段与用户段分离
300-399 安防/摄像头 单独隔离,禁止互访
400-499 语音 配合 QoS 高优先级
500-599 访客/物联网 严格 ACL,只能出公网
1000-1999 专线/特殊业务 按需
2000+ 组播 VLAN / 保留 与 IPTV 组播 VLAN 规划一致

规划原则:

  1. 管理 VLAN 与业务 VLAN 分离,网管、SSH、SNMP 走独立管理域;接入终端不应能直接访问设备管理地址。
  2. AP 管理 VLAN 与 STA(无线用户)VLAN 分离:AP 拿管理地址、隧道终点或本地转发用户流量走不同 VLAN。
  3. 摄像头、IoT、访客等“低信任”业务单独分段,默认禁止互访,仅在 NVR/平台侧按白名单放行。
  4. 语音 VLAN 单独规划,便于在接入层配置 Voice VLAN 与 QoS 优先级映射。
  5. 保留一段“临时/测试 VLAN”用于割接验证,避免临时占用生产编号。

3_4_2 VLAN 透传范围规划表(交付物模板)

透传范围回答的问题是:一个 VLAN 需要出现在哪些交换机、哪些上联口上。它是割接与验收的共同依据,任何“某 VLAN 忘了透传到某台接入交换机”的遗漏,都会表现为该业务局部不通。

VLAN ID 名称 网段 网关 需要透传到 是否允许互访
100 MGMT 10.0.100.0/24 10.0.100.1 全部接入/汇聚 仅网管服务器
10 Office-3F 192.168.10.0/24 192.168.10.1 3F 接入、核心 允许访问服务器区
40 Camera 192.168.40.0/24 192.168.40.1 3F 接入、核心 仅 NVR 可访问
60 STA-User 192.168.60.0/24 192.168.60.1 AP 所在接入、核心 仅出公网

工程纪律:规划表要与每台设备的 show vlan 逐项对账。现场最贵的一次事故往往来自“某 VLAN 忘了透传到某个接入交换机”:配置脚本在核心上全了,接入上却漏一条 add port tag,结果整栋楼该业务不通,而排障人员反复在核心上查路由。对策是“以表为基准、以设备为维度逐口核对”,而不是凭记忆确认。


3_5 PVLAN 与端口隔离

本节要解决什么问题:当需求是「彼此不能互访、但都要能上外网」时,VLAN 数量会爆炸,此时就该用 PVLAN 与端口隔离。

3_5_1 PVLAN 是什么:一台交换机内的“共享口—隔离口”模型

PVLAN(Private VLAN,私有 VLAN)把端口分成两类:隔离端口(Isolated Port)与共享端口(Promiscuous Port)。隔离端口之间二层完全隔离,不能互访;所有隔离端口都可以与共享端口通信。共享端口通常接上行网关、服务器、NVR 等“需要被大家访问的公共节点”。

PVLAN 隔离模型:
                    ┌──────────────┐
                    │ 共享端口      │  ← 上行/网关/服务器
                    │ Promiscuous  │     所有隔离端口都能与它通信
                    └──────┬───────┘
           ┌───────────────┼───────────────┐
           │               │               │
     ┌─────▼─────┐   ┌─────▼─────┐   ┌─────▼─────┐
     │ 隔离端口1 │   │ 隔离端口2 │   │ 隔离端口3 │
     │ Isolated  │   │ Isolated  │   │ Isolated  │
     └───────────┘   └───────────┘   └───────────┘
          ✗ 相互之间不能通信 ✗(二层完全隔离)

生效条件(配置约束):必须同时配置共享端口和隔离端口,PVLAN 才生效。设备限制:一台交换机仅支持一个 PVLAN。这意味着 PVLAN 是“单台接入交换机内部的隔离工具”,不是跨设备大规模隔离的完整方案。

3_5_2 PVLAN 命令全表

# 功能 命令
1 添加/删除隔离端口 set pvlan session [id] {add|delete} isolated-port [portlist]
2 添加/删除共享端口 set pvlan session [id] {add|delete} promiscuous port [portname]
3 添加/删除共享 Trunk set pvlan session [id] {add|delete} promiscuous trunk [trunkid]
4 显示 PVLAN 配置 show pvlan

3_5_3 配置实例:酒店客房/宿舍网端口隔离

场景:port 1-20 接客房,要求互相不能访问(防私接路由、防扫描攻击、防勒索横向扩散),但都能通过 port 24 上联访问网关与互联网。port 24 是共享口,port 1-20 是隔离口。

zte(cfg)#set pvlan session 1 add isolated-port 1-20
zte(cfg)#set pvlan session 1 add promiscuous port 24
zte#show pvlan

为什么这么配:酒店/宿舍的典型诉求是“横向零信任、纵向集中出口”。若给每个客房单独划分 VLAN,配置量和三层接口数量会爆炸;PVLAN 让 20 个客房仍在同一 VLAN 内,却实现二层隔离,节省 VLAN/网关资源。port 24 作为共享口连接网关/NAT,所有客房都能访问出口,而客房之间不能互访。

验证矩阵

测试(在两台 PC 上实测) 预期结果 不符时的排查点
客房 A(port1)ping 客房 B(port2) 不通 确认两者都是 isolated-port;检查 session 是否同时配了 promiscuous
客房 A ping 网关(port24 上联) 通 上联物理/VLAN 正常;PVLAN session 配置正确
客房 A 抓包,看是否收到客房 B 的广播/ARP 收不到 FDB/隔离生效;若收到,检查是否误加入同一隔离组外
客房 A 访问公网 通(取决于上层 NAT/ACL) PVLAN 只负责二层隔离,出口策略另查网关

【踩坑】必须同时配共享口与隔离口:只配 isolated-port 而漏配 promiscuous port,PVLAN 不生效;只配共享口没有隔离口,同样无实际隔离效果。show pvlan 必须同时看到两类端口才算完整。

3_5_4 PVLAN 与其他隔离技术的选型

技术 隔离粒度 跨设备 适用场景 限制
PVLAN 端口级 否(单台) 单台接入交换机下的客房/宿舍 一台设备仅一个 PVLAN
端口隔离组 端口级 部分型号支持 简单隔离 依型号
不同 VLAN + ACL VLAN 级 是 整网规模隔离,最通用 需要更多 VLAN 与三层策略
MUX VLAN VLAN 级(主/从) 是 大规模同网段隔离 依赖设备支持
Private VLAN + 上行隔离 混合 视型号 园区/酒店集团网 复杂度高

选型建议:单台设备内隔离用 PVLAN 最省事;跨设备大规模隔离,老实做“每户一个 VLAN + 三层 ACL”,可运维性更好。ZCIE 答辩时应能说明:PVLAN 省 VLAN/网关,但受“单 PVLAN、单设备”限制;VLAN+ACL 配置量大,却天然支持跨设备、可按业务做精细策略。没有“最好”,只有与规模和管理能力匹配的方案。


3_6 Hybrid、QinQ 与 MUX VLAN 扩展

本节要解决什么问题:AP 口、运营商 QinQ、MUX VLAN 是 VLAN 的三个高频扩展场景,理解了它们才算真正把 VLAN 用活。

3_6_1 Hybrid 口(AP 口)完整推演:管理 VLAN untag + 用户 VLAN tag

Hybrid 不是中兴体系 A 的一个命令,而是“同一端口对不同 VLAN 分别 tag/untag”的结果。最典型的是 AP 接入:交换机需要给 AP 下发管理地址(走管理 VLAN),又要承载无线用户的业务(走用户 VLAN),而 AP 与交换机之间的管理通道通常不希望带标签、用户业务则由 AP 以 tag 方式上报。

Hybrid AP 口(port 21)推演:
   AP ── port 21 ── SW
   管理:VLAN50 AP-Mgmt
   用户:VLAN60 STA-User

   port 21 在 VLAN50:untag + PVID 50
      → AP 发出的无 tag 管理帧 → 入方向打 PVID=50 → 进 VLAN50
      → SW 发往 AP 的 VLAN50 帧 → 出方向剥标签 → AP 正常接收
   port 21 在 VLAN60:tag
      → AP 上报的带 VID=60 的用户帧 → 入方向按 tag 进入 VLAN60
      → SW 发往 AP 的 VLAN60 帧 → 出方向保留 VID=60 → AP 识别

配置:
   set vlan 50 add port 21 untag
   set port 21 pvid 50
   set vlan 60 add port 21 tag

为什么管理 VLAN 用 untag、用户 VLAN 用 tag:

  • 管理通道面向 AP 本身,AP 通常按“access/untag + native VLAN”逻辑获取管理地址,untag 最兼容、最稳定。
  • 用户业务来自多个 SSID/多租户时,需要用 VID 区分不同用户 VLAN,因此以 tag 上行,让接入交换机能按 VLAN60/70/80 继续分流、做 ACL/QoS。

3_6_2 【案例故事】② AP 口 Hybrid 配反

那是个无线扩容的晚上,新增了 40 台 AP。上线脚本是批量生成的,结果凌晨一点全部 AP 在控制器上显示“离线”,比没上线还糟糕——因为旧 AP 也跟着掉线了。我先怀疑 POE 供电和控制器,但 show port 21-22 显示端口都是 up、协商正常、收发光也没有异常。

再看 VLAN:show vlan 50 里 port 21-22 赫然是 tag,而 show vlan 60 是 untag。正好配反了。AP 本身发出的管理报文按 native 处理,交换机却指望它带 VID=50 标签才放行进 VLAN50;AP 拿不到管理地址,自然无法与控制器建立隧道——而用户 VLAN60 的帧被剥了标签,又被打进 PVID,业务逻辑也一起乱掉。表现就是“端口 up、链路协议正常、AP 就是不上线”,非常像控制器故障,实则二层标签语义错了。

修正为“管理 VLAN50 untag + PVID 50,用户 VLAN60 tag”后,AP 在几分钟内全部回连:

set vlan 50 add port 21-22 untag
set port 21-22 pvid 50
set vlan 60 add port 21-22 tag

复盘:此后 AP 模板固定为三段不可拆:vlan <mgmt> add port X untag / set port X pvid <mgmt> / vlan <user> add port X tag,并在批量脚本里用变量校验“管理 VLAN 必须同时是 untag 且等于 PVID”。凡是 Hybrid 口,验收时一定 show vlan <mgmt> 与 show vlan <user> 各看一行,确认 tag/untag 方向与设计一致。

3_6_3 QinQ:运营商/园区多租户的二层隧道

QinQ(802.1ad/IEEE 802.1Q tunneling)在报文外层再封装一个 802.1Q 标签,形成“客户 VLAN(C-VLAN)+ 运营商 VLAN(S-VLAN)”的双层标签。核心价值是:运营商/集团核心只感知外层 S-VLAN,内层 C-VLAN 对传输网络透明,从而突破单设备 4094 个 VLAN 的规划压力,实现多租户二层隔离。

QinQ 帧结构:
┌────┬────┬───────────────────────┬────┬────┬─────────┬──────┐
│DMAC│SMAC│ 外层 S-Tag (S-VLAN)   │DMAC│SMAC│ C-Tag   │ Data │
│    │    │ TPID=0x8100/0x88A8    │    │    │VLAN10-20│      │
└────┴────┴───────────────────────┴────┴────┴─────────┴──────┘
      外层:S-VLAN,运营商/骨干传输使用
      内层:C-VLAN,租户/客户内部 VLAN

对称封装/解封装模型:
   CE(SW-A) ── port(access C-VLAN) ── PE(SW-B) ── port(QinQ/S-VLAN) ── 骨干 ── PE ── CE
   用户帧带 C-Tag(VLAN10)           PE 加上 S-Tag(S-VLAN 100)
   骨干只按 S-VLAN 100 转发         PE 剥掉 S-Tag,还原 C-Tag

工程模型要点(概念层面,具体命令关键字依型号/版本不同,现场务必用 ? 确认):

  • 接入侧端口识别客户 C-VLAN,并按规则决定叠加哪个 S-VLAN;
  • 骨干侧端口以 S-VLAN 作为 tag 透传,S-VLAN 通常对应一条二层服务/一个租户/一条专线;
  • 双层标签使内层 VLAN 空间可在不同租户间复用,骨干不必为每个客户 VLAN 单独规划全局 ID;
  • QinQ 与 VLAN 透传范围规划表要联动:S-VLAN 的透传范围 = 该业务的骨干路径,C-VLAN 只在接入侧有意义。

适用与限制:QinQ 适合多租户、城域以太网、专线汇聚、集团多园区二层互联;它解决的是“二层标识扩展与隔离”,不解决三层路由、ARP 代理或跨子网互访。部署前要确认设备对 0x8100 / 0x88A8 TPID、双层标签深度、ACL/QoS 匹配能力的支持,并统一两端封装方式。

3_6_4 MUX VLAN:大规模同网段隔离的 VLAN 级方案

MUX VLAN(Multiplex VLAN)把 VLAN 分为主 VLAN(Principal VLAN)与从 VLAN(Subordinate VLAN):从 VLAN 内的端口彼此隔离,但都能与主 VLAN 通信。它常用于“大量终端同网段、需要共同访问一个网关/服务器、彼此又不应互访”的场景,是 PVLAN 在“VLAN 级、可跨设备”维度的扩展。

MUX VLAN 模型(概念示意):
   Principal VLAN(主,如 VLAN100)
      ├─ 网关、服务器、公共资源
   Subordinate VLAN(从,如 VLAN200/300)
      ├─ Group1(VLAN200):组内隔离,可与 Principal 通信
      └─ Group2(VLAN300):组内隔离,可与 Principal 通信

   从 VLAN200 端口 A ──✗── 从 VLAN200 端口 B   (组内隔离)
   从 VLAN200 端口 A ────── Principal 网关      (允许)
   从 VLAN300 端口 C ────── Principal 网关      (允许)

与 PVLAN 的对比判断:

  • PVLAN 是“单交换机、端口级”的隔离,配置简单、资源省;
  • MUX VLAN 是“VLAN 级、可跨设备”的隔离模型,适合更大规模、需要按组划分的同网段隔离;
  • 两者都实现“横向隔离 + 集中出口”,但生效范围、配置对象、设备支持不同,选型时先看规模、再看设备能力。

【踩坑】MUX VLAN 的能力依赖型号:并非所有中兴产品/版本都支持 MUX VLAN,且主/从 VLAN 的配置命令、互通策略关键字差异较大。依型号/软件版本不同,现场用 ? 帮助确认;在不确定的设备上,优先采用“每用户 VLAN + 三层 ACL”的可移植方案。


3_7 笔记方法与验证清单

本节要解决什么问题:VLAN 问题八成出在「配了但没验」。本节给出可直接复制的笔记模板与逐条验证清单。

3_7_1 笔记方法(三张可直接复制的模板)

模板一:VLAN 规划表模板

| VLAN ID | 名称 | 用途/业务 | 网段 | 网关 | 优先级 | 是否透传到汇聚/核心 | 互通策略 | 备注 |
| ------- | ---- | --------- | ---- | ---- | ------ | ------------------- | -------- | ---- |
| 100     | MGMT | 设备管理  |      |      | 6      | 全部                | 仅网管   | 保留 |
| 10      | Office-3F | 办公 |   |      | 0      | 3F接入、核心        | 访服务器 |      |
| 40      | Camera | 安防   |      |      | 4      | 3F接入、核心        | 仅NVR    |      |
| 60      | STA-User | 无线用户 |  |     | 3      | AP接入、核心        | 仅出公网 |      |

模板二:端口-VLAN 归属登记表

| 设备 | 端口 | 端口角色 | untag VLAN | tag VLAN 列表 | PVID | 上联/互联 | 描述 |
| ---- | ---- | -------- | ---------- | ------------- | ----- | --------- | ---- |
| SW-A | 1-12 | Access   | 10         | -             | 10    | 否        | Office |
| SW-A | 21-22| Hybrid   | 50         | 60            | 50    | 否        | AP |
| SW-A | 24   | Trunk    | -          | 10,40,50,60,100 | 1(或管理) | 是   | To-Core |

这张表是“看到端口就能说出行为”的关键。登记时强制填写 untag VLAN、tag VLAN 列表、PVID 三列,杜绝只写“属于 VLAN10”的模糊记录。

模板三:变更前后对比记录模板

【变更编号】CHG-VLAN-<序号>    【日期】    【操作人】    【复核人】
【变更对象】设备/版本/管理IP
【变更目的】如:新增访客 VLAN、扩展 AP 用户 VLAN
【变更前】
  show vlan 关键输出(粘贴真实输出)
  端口-VLAN 归属登记表(变更前版本)
【变更步骤】逐条命令(可直接粘贴)
  1. set vlan 60 enable
  2. create vlan 60 name STA-User
  3. set vlan 60 add port 21-22 tag
  4. set vlan 60 add port 23-24 tag
  5. show vlan 60
【变更后】
  show vlan 关键输出(粘贴真实输出)
  端口-VLAN 归属登记表(变更后版本)
【验证项】引用 3_7_2 验证清单,逐项记录结果
【回退触发条件】任一关键业务不通 / show vlan 与规划表不一致 / MAC 漂移告警
【回退脚本】
  set vlan 60 delete port 21-22
  set vlan 60 delete port 23-24
  clear vlan 60 name
  set vlan 60 disable
  save
【复盘】一句话结论 + 关联考点(如:3_1_2 Tag/Untag/PVID 模型)

记录纪律:所有变更必须“先备份、再变更、再验证、再保存”;回退脚本要在变更前准备好,而不是故障发生后临时想。粘贴真实输出而不是“概括描述”,因为答辩与上机考的是“你见过什么”,不是“你背过什么”。

3_7_2 验证清单

验证命令 预期结果/关键字段 不符时的排查方向
show vlan [[vlanlist]] VLAN 状态 enable;端口列表与 tag/untag 符合规划 漏 enable、成员漏加、tag/untag 写反
show vlan <id>(逐 VLAN) 该 VLAN 所有接入口、上联口均出现,角色与设计一致 透传范围缺失、接入口漏配
show port [portlist] PVID 等于设计值;与唯一 untag VLAN 一致 只配 untag 未配 PVID、PVID 错配
show pvlan isolated-port 与 promiscuous port 同时存在 PVLAN 未生效、共享口漏配
show fdb vlan <id> 能在正确 VLAN 学到源/目的 MAC VLAN 错、端口未 up、环路/漂移
show iproute 各 ipport/SVI 对应直连路由存在 VLAN 内无 up 端口、ipport/SVI 未 enable
show running / show config 关键命令齐全,已保存 仅当前配置未写入、重启丢失
show interface <port> 端口物理/协议 up、速率双工协商正常 端口 down、协商异常、光模块问题
ping(同 VLAN 两端 PC) 同 VLAN 互通、ARP 正常 成员/PVID/tag 任一不匹配
ping(跨 VLAN 网关) 终端能 ping 通自身网关 网关地址、掩码、ipport/SVI、直连路由
traceroute(跨 VLAN/跨网段) 路径经过正确网关 路由缺失、ACL/防火墙、下一跳不可达
mirror / 抓包(终极手段) 带 tag 抓包可见正确 VID 上联 untag、两端 PVID/VLAN 不一致

验证节奏:先“设备内自证”(show vlan / show port),再“链路对称”(两端 tag、PVID、VLAN ID 一致),最后“端到端业务”(ping/ARP/路由/抓包)。不要一上来就抓包,也不要只 ping 通就收工——T3/T4 类的负向测试同样要留痕。


3_8 考点速记与自检清单

本节要解决什么问题:最后是考点速记与自检清单,考前过一遍就够。

3_8_1 考点速记【ZCIA 10%】

  1. VLAN 的作用:隔离广播域、增强安全、按业务/部门集中化管理。
  2. VLAN ID 范围 1-4094,VLAN 1 为默认,0 与 4095 保留;802.1Q Tag 4 字节:TPID(0x8100) + PRI(3bit) + CFI(1bit) + VID(12bit)。
  3. PVID 只作用于入方向的 untagged 帧;untag/tag 决定出方向是否剥离标签。
  4. 中兴体系 A 无 port link-type,靠 pvid + tag/untag 组合实现 Access/Trunk/Hybrid。
  5. Access = 单一 VLAN untag + PVID=该 VLAN;Trunk = 多个 VLAN tag;Hybrid = 部分 tag + 部分 untag。
  6. set vlan <id> enable 是 VLAN 生效前提;set vlan <id> add port <list> tag/untag 决定成员与出方向行为;set port <list> pvid 决定入方向裸帧归属。
  7. FID 默认等于 VID;多个 VLAN 共享 FID 则共享 MAC 转发表;静态 MAC 绑定要按 FID 配。
  8. forbid/permit 控制端口是否学习某个 VLAN;GVRP 下 forbid 的端口无法动态学习。
  9. 跨设备互通四要素:两端 VLAN ID 一致、两端互联口均为 tag、两端 PVID(native)一致、物理链路 up。
  10. VLAN 间路由:体系 A 用 set ipport <id> ipaddress/vlan/enable,体系 B 用 interface vlan <id> + ip routing;终端网关须指向对应地址。
  11. 直连路由生成条件:该 VLAN 内至少有一个 up 端口;否则配置完整也看不到直连路由。
  12. PVLAN:共享端口 + 隔离端口必须同时配置才生效;一台交换机仅支持一个 PVLAN。
  13. AP Hybrid 口原则:管理 VLAN untag + PVID=管理 VLAN,用户 VLAN tag;配反会导致 AP 批量离线。
  14. 上联口一律 tag(Hybrid AP 口除外)——最重要的工程纪律之一。
  15. QinQ = S-VLAN 外层 + C-VLAN 内层,用于多租户/城域二层隔离;MUX VLAN = 主 VLAN + 从 VLAN,适合跨设备的大规模同网段隔离。

3_8_2 本板块自检清单


3_8_3 故障排查速查(决策树与典型故障)

现象:终端不通 / 跨设备 VLAN 不通
   ├─ ① show vlan <id>            VLAN 是否存在且 enable?
   │      └─ 否 → set vlan <id> enable
   ├─ ② show port <id>            PVID 是否正确?
   │      └─ 典型错误:只有 untag 成员关系,没改 PVID → 入向帧被打上 VLAN1
   ├─ ③ show vlan <id>            上联口是否在该 VLAN 中且为 tag?
   │      └─ 典型错误:上联口配成 untag → 对端收到无 tag 帧 → 落进对端 PVID
   ├─ ④ 两端一致                  两端 VLAN ID / tag 方式 / PVID 是否一致?
   ├─ ⑤ show fdb vlan <id>        是否学到 MAC?VLAN 是否正确?
   └─ ⑥ 镜像抓包                  看帧里到底带的是哪个 VID
          └─ 终极手段:带 tag 抓包,直接看清 VLAN 标签
故障 现象 判据 解决
漏配 PVID 端口在同 VLAN 但不通/半通 show port <id> 显示 pvid=1 补 set port <id> pvid <vid>
上联配成 untag 跨设备不通,本设备通 show vlan <id> 上联口为 untag 改为 tag
VLAN 未 enable 配置都在但不通 show vlan 状态 disable set vlan <id> enable
Native VLAN 不一致 部分流量通、部分不通 两端 Trunk 的 PVID 不同 统一 Trunk PVID(set trunk <id> pvid <vid>)
VLAN 透传遗漏 某栋楼/某台接入不通 全网 show vlan 比对规划表 逐台补透传
PVLAN 只配一端 隔离不生效 show pvlan 缺共享口/隔离口 同时补齐两类端口
Hybrid 配反 AP 批量离线 管理 VLAN 被配成 tag 管理 VLAN untag + PVID=管理 VLAN
直连路由缺失 路由不通但配置完整 该 VLAN 无 up 端口 确保至少一个端口 up

一个“幽灵故障”复盘(理解 tag/untag 的经典案例)

现象:新接入一台交换机后,全网部分终端间歇性断网,日志大量 MAC 漂移。
排查:
  ① show fdb → 核心网关 MAC 在两个端口间漂移
  ② 检查新交换机 → 上联口把管理 VLAN 配成 untag,同时该交换机的
     另一个口又接回旧交换机 → 形成环路 + VLAN 标签错乱
根因:上联口 untag 使核心收到帧进入错误 VLAN,同时物理成环。
解决:上联口改 tag + 启用 MSTP + 端口描述规范化。
复盘:所有上联口一律 tag(唯一例外是明确需要 Hybrid 的 AP 口),
      并写进开局模板,杜绝人为差异。

把这个案例沉淀成一条开局铁律:上联口默认 tag,只有明确需要 Hybrid 的 AP 口才例外;端口描述按"对端设备-端口-业务"写全。VLAN 排障看似在查协议,八成时候查的是"标签方向有没有写对"——把这条写进模板,比记住十条命令更能减少事故。


本板块交付标准:能独立完成 VLAN 规划、单台与跨设备配置、VLAN 间路由与 PVLAN 隔离;能在"半通""全不通""串 VLAN"三类现象下用 show vlan / show port / show fdb 三板斧定位;能在答辩中解释 tag/untag/PVID 的判定顺序与回退方案。若任一项做不到,回到对应小节重做实验,不以"看过"代替"做过"。

posted @ 2026-09-16 06:53  睡到自然醒的猪  阅读(16)  评论(0)    收藏  举报