VLAN概念与基础配置教程

VLAN 概念、原理与基础配置教程

适用对象:正在学习计算机网络、交换机配置或准备搭建小型园区网的初学者

示例平台:华为 VRP、Cisco IOS/IOS XE 交换机

说明:不同型号和软件版本的接口名称、命令细节可能略有差异,实际操作前请查看设备命令帮助。

文章目录

  • [VLAN 概念、原理与基础配置教程](#VLAN 概念、原理与基础配置教程)
    • [1. 为什么需要 VLAN](#1. 为什么需要 VLAN)
      • [1.1 没有 VLAN 时会发生什么](#1.1 没有 VLAN 时会发生什么)
      • [1.2 VLAN 是什么](#1.2 VLAN 是什么)
      • [1.3 VLAN 的主要价值](#1.3 VLAN 的主要价值)
    • [2. VLAN 的核心概念](#2. VLAN 的核心概念)
      • [2.1 VLAN ID](#2.1 VLAN ID)
      • [2.2 广播域和网段的关系](#2.2 广播域和网段的关系)
      • [2.3 MAC 地址表与 VLAN](#2.3 MAC 地址表与 VLAN)
      • [2.4 VLAN 的常见划分方式](#2.4 VLAN 的常见划分方式)
    • [3. Access、Trunk 与 802.1Q](#3. Access、Trunk 与 802.1Q)
      • [3.1 Access 接口](#3.1 Access 接口)
      • [3.2 Trunk 接口](#3.2 Trunk 接口)
      • [3.3 802.1Q 标签](#3.3 802.1Q 标签)
      • [3.4 Native VLAN 与 PVID](#3.4 Native VLAN 与 PVID)
      • [3.5 Access、Trunk、Hybrid 对比](#3.5 Access、Trunk、Hybrid 对比)
    • [4. VLAN 内与 VLAN 间通信](#4. VLAN 内与 VLAN 间通信)
      • [4.1 同 VLAN 通信过程](#4.1 同 VLAN 通信过程)
      • [4.2 不同 VLAN 为什么不能直接通信](#4.2 不同 VLAN 为什么不能直接通信)
      • [4.3 跨 VLAN 通信的两种常用方案](#4.3 跨 VLAN 通信的两种常用方案)
        • [方案 A:三层交换机的 SVI/VLANIF](#方案 A:三层交换机的 SVI/VLANIF)
        • [方案 B:单臂路由(Router-on-a-Stick)](#方案 B:单臂路由(Router-on-a-Stick))
    • [5. 基础配置命令](#5. 基础配置命令)
      • [5.1 华为 VRP:创建 VLAN 与配置 Access 端口](#5.1 华为 VRP:创建 VLAN 与配置 Access 端口)
      • [5.2 华为 VRP:配置 Trunk](#5.2 华为 VRP:配置 Trunk)
      • [5.3 华为 VRP:创建 VLANIF 网关](#5.3 华为 VRP:创建 VLANIF 网关)
      • [5.4 Cisco IOS/IOS XE:创建 VLAN 与配置 Access 端口](#5.4 Cisco IOS/IOS XE:创建 VLAN 与配置 Access 端口)
      • [5.5 Cisco IOS/IOS XE:配置 Trunk](#5.5 Cisco IOS/IOS XE:配置 Trunk)
      • [5.6 Cisco IOS/IOS XE:创建 SVI 网关](#5.6 Cisco IOS/IOS XE:创建 SVI 网关)
    • [6. 综合项目:小型公司 VLAN 网络](#6. 综合项目:小型公司 VLAN 网络)
      • [6.1 项目需求](#6.1 项目需求)
      • [6.2 项目拓扑](#6.2 项目拓扑)
      • [6.3 地址与端口规划](#6.3 地址与端口规划)
      • [6.4 实施顺序](#6.4 实施顺序)
      • [6.5 华为 VRP 完整示例](#6.5 华为 VRP 完整示例)
        • [接入交换机 SW-ACC](#接入交换机 SW-ACC)
        • [核心三层交换机 SW-CORE](#核心三层交换机 SW-CORE)
      • [6.6 Cisco IOS/IOS XE 完整示例](#6.6 Cisco IOS/IOS XE 完整示例)
        • [接入交换机 SW-ACC](#接入交换机 SW-ACC)
        • [核心三层交换机 SW-CORE](#核心三层交换机 SW-CORE)
      • [6.7 终端配置示例](#6.7 终端配置示例)
      • [6.8 访客 VLAN 的访问控制提醒](#6.8 访客 VLAN 的访问控制提醒)
    • [7. 验证与故障排查](#7. 验证与故障排查)
      • [7.1 正确的测试顺序](#7.1 正确的测试顺序)
      • [7.2 华为常用验证命令](#7.2 华为常用验证命令)
      • [7.3 Cisco 常用验证命令](#7.3 Cisco 常用验证命令)
      • [7.4 常见故障对照表](#7.4 常见故障对照表)
      • [7.5 SVI/VLANIF 为什么可能是 Down](#7.5 SVI/VLANIF 为什么可能是 Down)
    • [8. 动手实验与复习题](#8. 动手实验与复习题)
      • [8.1 推荐实验步骤](#8.1 推荐实验步骤)
        • [实验 1:验证同 VLAN 通信](#实验 1:验证同 VLAN 通信)
        • [实验 2:验证 VLAN 隔离](#实验 2:验证 VLAN 隔离)
        • [实验 3:验证 Trunk](#实验 3:验证 Trunk)
        • [实验 4:验证跨 VLAN 路由](#实验 4:验证跨 VLAN 路由)
      • [8.2 复习题](#8.2 复习题)
      • [8.3 参考答案](#8.3 参考答案)
    • [9. 总结](#9. 总结)

1. 为什么需要 VLAN

1.1 没有 VLAN 时会发生什么

传统二层交换机依据 MAC 地址表转发以太网帧。对于广播帧、目的 MAC 未知的单播帧,交换机会在同一广播域内进行泛洪。

如果行政部、研发部和访客终端全部处于同一个二层网络,就可能出现:

  1. 广播流量影响所有终端;
  2. 不同部门之间缺少二层隔离;
  3. 人员或位置变化时,网络不便管理;
  4. 故障或错误接线的影响范围较大;
  5. 难以针对不同业务应用不同的访问控制策略。

1.2 VLAN 是什么

**VLAN(Virtual Local Area Network,虚拟局域网)**是在物理交换网络上划分出的逻辑二层网络。每个 VLAN 都是一个独立的广播域。

下图中三组终端虽然连接到同一台交换机,但分别属于 VLAN 10、VLAN 20 和 VLAN 30,因此广播流量不会直接跨 VLAN 传播。

可以把 VLAN 理解为在一台物理交换机内部建立了多台"逻辑交换机":

  • 同一 VLAN 内的终端可以在二层直接通信;
  • 不同 VLAN 内的终端默认不能在二层直接通信;
  • 不同 VLAN 之间若需要通信,必须经过三层设备进行路由;
  • VLAN 是隔离广播域的技术,但不是完整的安全方案。开启跨 VLAN 路由后,仍需使用 ACL、防火墙等实施访问控制。

1.3 VLAN 的主要价值

价值 说明
隔离广播域 减少广播流量的传播范围
逻辑分组 可按照部门、业务或安全级别划分,而不只按物理位置划分
便于管理 VLAN 编号、名称、地址规划和策略可以统一设计
提升安全边界 不同 VLAN 默认二层隔离,跨 VLAN 访问可集中控制
提高灵活性 用户移动到另一交换机时,只需把新端口加入原 VLAN

2. VLAN 的核心概念

2.1 VLAN ID

IEEE 802.1Q 使用 12 位 VID(VLAN Identifier)标识 VLAN,因此取值范围为 0~4095。其中:

  • VLAN 1~4094 可用于标识 VLAN;
  • VLAN 0 和 VLAN 4095 保留,不能作为普通业务 VLAN 使用;
  • VLAN 1 通常是设备的默认 VLAN。实际网络中不建议把重要用户业务长期放在默认 VLAN 1;
  • VLAN ID 只在一个二层网络范围内有意义。不同地点可以重复使用同一编号,但应保持统一规划。

注意:某些设备会进一步区分普通 VLAN 和扩展 VLAN,具体能力取决于型号和软件版本。

2.2 广播域和网段的关系

在常见园区网设计中,通常采用"一 VLAN 一 IPv4 子网"的方式:

VLAN 部门 IPv4 子网 默认网关
10 行政部 192.168.10.0/24 192.168.10.1
20 研发部 192.168.20.0/24 192.168.20.1
30 访客 192.168.30.0/24 192.168.30.1
99 网络管理 192.168.99.0/24 192.168.99.1

这样规划不是 VLAN 协议的强制要求,但最清晰、最容易路由和排错。

2.3 MAC 地址表与 VLAN

交换机学习 MAC 地址时,不只记录"MAC 地址 → 端口",还会记录其所属 VLAN,可以理解为:

text 复制代码
(VLAN ID, MAC 地址) → 出接口

因此同一个 MAC 地址即使出现在不同 VLAN 中,也属于不同的二层转发表项。交换机转发帧时不会把 VLAN 10 中学习到的 MAC 表项直接用于 VLAN 20。

2.4 VLAN 的常见划分方式

划分方式 原理 典型用途
基于接口 把交换机端口静态加入某个 VLAN 最常见,适合固定办公终端
基于 MAC 根据终端 MAC 地址决定 VLAN 终端位置变化但身份固定的场景
基于协议/子网 根据报文协议或源网段划分 特定设备支持,使用相对较少
动态 VLAN 通过 802.1X、RADIUS 等认证结果分配 企业准入控制、统一身份管理

本教程重点讲解最常用的基于接口的 VLAN 划分


3. Access、Trunk 与 802.1Q

3.1 Access 接口

Access 接口通常连接 PC、打印机、摄像头等普通终端,一般只承载一个业务 VLAN。

以 VLAN 10 的 Access 接口为例:

  1. PC 发出的普通以太网帧通常不带 VLAN 标签;
  2. 帧进入交换机后,交换机依据该端口的 PVID/Access VLAN,把帧归入 VLAN 10;
  3. 帧从另一个 VLAN 10 Access 接口发往终端时,通常以无标签形式发送。

3.2 Trunk 接口

Trunk 接口通常用于交换机之间、交换机与路由器之间或交换机与支持 VLAN 的服务器/无线 AP 之间的连接。一个 Trunk 可以同时承载多个 VLAN。

Trunk 的核心是:

  • 使用 802.1Q 标签区分同一链路上的不同 VLAN;
  • 通过允许 VLAN 列表限制可以通过链路的 VLAN;
  • 链路两端的 Trunk 模式、允许 VLAN 和 Native VLAN/PVID 应保持一致;
  • "物理链路已经 Up"不代表 VLAN 一定可以通过,仍需检查 Trunk 允许列表。

3.3 802.1Q 标签

802.1Q 在源 MAC 地址和 EtherType/Length 字段之间插入 4 字节标签。

标签的关键字段如下:

字段 位数 作用
TPID 16 位 常见值为 0x8100,表示存在 802.1Q 标签
PCP 3 位 802.1p 优先级,可用于 QoS
DEI 1 位 拥塞时的丢弃资格指示
VID 12 位 VLAN ID

插入标签后,以太网帧长度通常增加 4 字节,FCS 也需要重新计算。

3.4 Native VLAN 与 PVID

这两个概念都与"无标签帧属于哪个 VLAN"有关,但各厂商表达方式略有差异:

  • PVID:端口接收到无标签帧时,为其归属的默认 VLAN ID;
  • Native VLAN(Cisco 常用术语):传统 802.1Q Trunk 上可以不带标签发送的 VLAN;
  • 华为 Trunk PVID:决定 Trunk 收到无标签帧时归入哪个 VLAN,并影响该 VLAN 的出方向标签处理。

重要原则:链路两端必须保持一致。Native VLAN/PVID 不一致可能导致 VLAN 泄漏、连通异常或安全风险。

3.5 Access、Trunk、Hybrid 对比

接口类型 常见连接对象 可承载 VLAN 数 标签行为
Access PC、打印机、普通终端 通常 1 个 面向终端通常无标签
Trunk 交换机、路由器、AP、虚拟化主机 多个 多数 VLAN 以标签区分
Hybrid 复杂终端、语音/数据混合场景 多个 可细分哪些 VLAN 带标签或不带标签,华为设备较常见

初学阶段先掌握 Access 和 Trunk 即可。


4. VLAN 内与 VLAN 间通信

4.1 同 VLAN 通信过程

假设 PC-A 和 PC-B 都属于 VLAN 10,且地址分别为 192.168.10.10/24192.168.10.20/24

  1. PC-A 判断 PC-B 与自己处于同一网段;
  2. PC-A 通过 ARP 查询 PC-B 的 MAC 地址;
  3. ARP 广播只在 VLAN 10 中传播;
  4. PC-B 回复自己的 MAC 地址;
  5. 后续单播帧由交换机依据 VLAN 10 的 MAC 地址表转发。

此过程不需要默认网关参与。

4.2 不同 VLAN 为什么不能直接通信

假设 PC-A 位于 VLAN 10,PC-C 位于 VLAN 20:

  • 两台终端属于不同 IP 网段;
  • PC-A 会把发往 VLAN 20 的数据交给默认网关;
  • 二层交换机不会把 VLAN 10 的广播或普通二层帧直接转发到 VLAN 20;
  • 必须由路由器或三层交换机查询路由表,再把报文送入 VLAN 20。

4.3 跨 VLAN 通信的两种常用方案

方案 A:三层交换机的 SVI/VLANIF

为每个 VLAN 创建一个三层虚拟接口:

text 复制代码
VLAN 10 → 192.168.10.1/24
VLAN 20 → 192.168.20.1/24
VLAN 30 → 192.168.30.1/24

终端把对应虚拟接口的地址设置为默认网关。三层交换机在硬件中完成跨 VLAN 路由,适合园区网。

  • Cisco 常称为 SVI(Switch Virtual Interface) ,命令形式为 interface vlan 10
  • 华为常称为 VLANIF 接口 ,命令形式为 interface Vlanif 10
方案 B:单臂路由(Router-on-a-Stick)

二层交换机与路由器之间建立 Trunk,路由器在一个物理接口上创建多个 802.1Q 子接口,每个子接口对应一个 VLAN。

该方案适合实验或规模较小的网络,但多个 VLAN 共用一条物理链路,性能和可靠性通常不如三层交换机方案。

Cisco 官方文档也将 SVI 作为 Catalyst 三层交换机进行跨 VLAN 路由的常用方式,并指出 SVI 地址可作为相应 VLAN 的默认网关。参见文末参考资料。


5. 基础配置命令

下面先用单个端口演示基本操作。示例接口名仅供参考。

5.1 华为 VRP:创建 VLAN 与配置 Access 端口

text 复制代码
<SW1> system-view
[SW1] sysname SW-ACC
[SW-ACC] vlan batch 10 20 30 99

[SW-ACC] interface GigabitEthernet 0/0/1
[SW-ACC-GigabitEthernet0/0/1] port link-type access
[SW-ACC-GigabitEthernet0/0/1] port default vlan 10
[SW-ACC-GigabitEthernet0/0/1] quit

命令含义:

  • vlan batch 10 20 30 99:批量创建 VLAN;
  • port link-type access:把接口设置为 Access;
  • Port default vlan 10:把无标签用户流量归入 VLAN 10。

5.2 华为 VRP:配置 Trunk

text 复制代码
[SW-ACC] interface GigabitEthernet 0/0/24
[SW-ACC-GigabitEthernet0/0/24] port link-type trunk
[SW-ACC-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 99
[SW-ACC-GigabitEthernet0/0/24] quit

port trunk allow-pass vlan 指定 Trunk 允许通过的 VLAN。若 VLAN 未加入允许列表,即使交换机上已经创建该 VLAN,其流量也不能通过这条 Trunk。

5.3 华为 VRP:创建 VLANIF 网关

以下配置在支持三层功能的交换机上执行:

text 复制代码
[SW-CORE] vlan batch 10 20 30 99

[SW-CORE] interface Vlanif 10
[SW-CORE-Vlanif10] ip address 192.168.10.1 255.255.255.0
[SW-CORE-Vlanif10] quit

[SW-CORE] interface Vlanif 20
[SW-CORE-Vlanif20] ip address 192.168.20.1 255.255.255.0
[SW-CORE-Vlanif20] quit

[SW-CORE] interface Vlanif 30
[SW-CORE-Vlanif30] ip address 192.168.30.1 255.255.255.0
[SW-CORE-Vlanif30] quit

华为三层交换机通常可直接在已连接的 VLANIF 网段之间进行路由,无需 Cisco 风格的 ip routing 命令;具体以设备能力和当前配置为准。

5.4 Cisco IOS/IOS XE:创建 VLAN 与配置 Access 端口

text 复制代码
SW1> enable
SW1# configure terminal
SW1(config)# hostname SW-ACC

SW-ACC(config)# vlan 10
SW-ACC(config-vlan)# name ADMIN
SW-ACC(config-vlan)# exit

SW-ACC(config)# interface GigabitEthernet0/1
SW-ACC(config-if)# switchport mode access
SW-ACC(config-if)# switchport access vlan 10
SW-ACC(config-if)# spanning-tree portfast
SW-ACC(config-if)# exit

命令含义:

  • switchport mode access:强制端口工作在 Access 模式;
  • switchport access vlan 10:把端口加入 VLAN 10;
  • spanning-tree portfast:适用于连接普通终端的边缘端口,可缩短终端等待时间;不要在交换机互联口上随意启用。

5.5 Cisco IOS/IOS XE:配置 Trunk

text 复制代码
SW-ACC(config)# interface GigabitEthernet0/24
SW-ACC(config-if)# switchport mode trunk
SW-ACC(config-if)# switchport trunk allowed vlan 10,20,30,99
SW-ACC(config-if)# exit

某些旧型号需要先指定 switchport trunk encapsulation dot1q,而不少新型号只支持 802.1Q,因此没有该命令。请以设备命令帮助为准。

5.6 Cisco IOS/IOS XE:创建 SVI 网关

text 复制代码
SW-CORE(config)# ip routing

SW-CORE(config)# interface Vlan10
SW-CORE(config-if)# ip address 192.168.10.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

SW-CORE(config)# interface Vlan20
SW-CORE(config-if)# ip address 192.168.20.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

SW-CORE(config)# interface Vlan30
SW-CORE(config-if)# ip address 192.168.30.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

ip routing 用于在支持三层交换功能的 Cisco 设备上启用 IPv4 路由。若设备仅支持二层交换,则不能使用 SVI 完成多 VLAN 间路由。


6. 综合项目:小型公司 VLAN 网络

6.1 项目需求

某公司有一台三层核心交换机和一台接入交换机,要求:

  1. 行政部使用 VLAN 10;
  2. 研发部使用 VLAN 20;
  3. 访客使用 VLAN 30;
  4. 网络设备管理使用 VLAN 99;
  5. 各部门网关位于三层核心交换机;
  6. 核心交换机和接入交换机之间只用一条 Trunk;
  7. 同部门终端可通信;
  8. 行政和研发可以跨 VLAN 通信;
  9. 访客默认不应访问内部部门,需进一步使用 ACL 或防火墙限制。

6.2 项目拓扑

6.3 地址与端口规划

VLAN 与地址规划
VLAN 名称 子网 网关 用途
10 ADMIN 192.168.10.0/24 192.168.10.1 行政部
20 RND 192.168.20.0/24 192.168.20.1 研发部
30 GUEST 192.168.30.0/24 192.168.30.1 访客
99 MGMT 192.168.99.0/24 192.168.99.1 交换机管理
接入交换机端口规划
接口范围 模式 VLAN 连接对象
Gi0/1~Gi0/8 Access 10 行政部终端
Gi0/9~Gi0/20 Access 20 研发部终端
Gi0/21~Gi0/23 Access 30 访客终端/AP
Gi0/24 Trunk 10,20,30,99 上联核心交换机

华为示例中把 Gi 对应为 GigabitEthernet 0/0/x。Cisco 示例中使用 GigabitEthernet0/x。请按实际设备修改。

6.4 实施顺序

推荐按以下顺序实施,便于逐层验证:

  1. 规划 VLAN、地址、端口和管理网段;
  2. 在两台交换机上创建全部 VLAN;
  3. 配置接入交换机的 Access 端口;
  4. 配置两端 Trunk,并核对允许 VLAN;
  5. 在核心交换机上创建 SVI/VLANIF 网关;
  6. 配置接入交换机管理地址;
  7. 配置终端 IP、掩码和默认网关;
  8. 先测同 VLAN,再测网关,最后测跨 VLAN;
  9. 根据安全需求增加 ACL、防火墙或准入控制。

6.5 华为 VRP 完整示例

接入交换机 SW-ACC
text 复制代码
<Huawei> system-view
[Huawei] sysname SW-ACC
[SW-ACC] vlan batch 10 20 30 99

# 行政部:GE0/0/1~GE0/0/8
[SW-ACC] port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/8
[SW-ACC-port-group] port link-type access
[SW-ACC-port-group] port default vlan 10
[SW-ACC-port-group] quit

# 研发部:GE0/0/9~GE0/0/20
[SW-ACC] port-group group-member GigabitEthernet 0/0/9 to GigabitEthernet 0/0/20
[SW-ACC-port-group] port link-type access
[SW-ACC-port-group] port default vlan 20
[SW-ACC-port-group] quit

# 访客:GE0/0/21~GE0/0/23
[SW-ACC] port-group group-member GigabitEthernet 0/0/21 to GigabitEthernet 0/0/23
[SW-ACC-port-group] port link-type access
[SW-ACC-port-group] port default vlan 30
[SW-ACC-port-group] quit

# 上联核心交换机
[SW-ACC] interface GigabitEthernet 0/0/24
[SW-ACC-GigabitEthernet0/0/24] port link-type trunk
[SW-ACC-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 99
[SW-ACC-GigabitEthernet0/0/24] quit

# 接入交换机管理地址
[SW-ACC] interface Vlanif 99
[SW-ACC-Vlanif99] ip address 192.168.99.2 255.255.255.0
[SW-ACC-Vlanif99] quit
[SW-ACC] ip route-static 0.0.0.0 0.0.0.0 192.168.99.1

[SW-ACC] save

port-group 批量接口语法可能因 VRP 版本存在差异。如果设备不接受范围命令,请逐个进入接口配置,或使用设备支持的 interface range 方式。

核心三层交换机 SW-CORE
text 复制代码
<Huawei> system-view
[Huawei] sysname SW-CORE
[SW-CORE] vlan batch 10 20 30 99

# 下联接入交换机
[SW-CORE] interface GigabitEthernet 1/0/1
[SW-CORE-GigabitEthernet1/0/1] port link-type trunk
[SW-CORE-GigabitEthernet1/0/1] port trunk allow-pass vlan 10 20 30 99
[SW-CORE-GigabitEthernet1/0/1] quit

# 各 VLAN 的三层网关
[SW-CORE] interface Vlanif 10
[SW-CORE-Vlanif10] ip address 192.168.10.1 255.255.255.0
[SW-CORE-Vlanif10] quit

[SW-CORE] interface Vlanif 20
[SW-CORE-Vlanif20] ip address 192.168.20.1 255.255.255.0
[SW-CORE-Vlanif20] quit

[SW-CORE] interface Vlanif 30
[SW-CORE-Vlanif30] ip address 192.168.30.1 255.255.255.0
[SW-CORE-Vlanif30] quit

[SW-CORE] interface Vlanif 99
[SW-CORE-Vlanif99] ip address 192.168.99.1 255.255.255.0
[SW-CORE-Vlanif99] quit

[SW-CORE] save

6.6 Cisco IOS/IOS XE 完整示例

接入交换机 SW-ACC
text 复制代码
Switch> enable
Switch# configure terminal
Switch(config)# hostname SW-ACC

SW-ACC(config)# vlan 10
SW-ACC(config-vlan)# name ADMIN
SW-ACC(config-vlan)# exit
SW-ACC(config)# vlan 20
SW-ACC(config-vlan)# name RND
SW-ACC(config-vlan)# exit
SW-ACC(config)# vlan 30
SW-ACC(config-vlan)# name GUEST
SW-ACC(config-vlan)# exit
SW-ACC(config)# vlan 99
SW-ACC(config-vlan)# name MGMT
SW-ACC(config-vlan)# exit

SW-ACC(config)# interface range GigabitEthernet0/1-8
SW-ACC(config-if-range)# switchport mode access
SW-ACC(config-if-range)# switchport access vlan 10
SW-ACC(config-if-range)# spanning-tree portfast
SW-ACC(config-if-range)# exit

SW-ACC(config)# interface range GigabitEthernet0/9-20
SW-ACC(config-if-range)# switchport mode access
SW-ACC(config-if-range)# switchport access vlan 20
SW-ACC(config-if-range)# spanning-tree portfast
SW-ACC(config-if-range)# exit

SW-ACC(config)# interface range GigabitEthernet0/21-23
SW-ACC(config-if-range)# switchport mode access
SW-ACC(config-if-range)# switchport access vlan 30
SW-ACC(config-if-range)# spanning-tree portfast
SW-ACC(config-if-range)# exit

SW-ACC(config)# interface GigabitEthernet0/24
SW-ACC(config-if)# switchport mode trunk
SW-ACC(config-if)# switchport trunk allowed vlan 10,20,30,99
SW-ACC(config-if)# exit

SW-ACC(config)# interface Vlan99
SW-ACC(config-if)# ip address 192.168.99.2 255.255.255.0
SW-ACC(config-if)# no shutdown
SW-ACC(config-if)# exit
SW-ACC(config)# ip default-gateway 192.168.99.1

SW-ACC(config)# end
SW-ACC# copy running-config startup-config
核心三层交换机 SW-CORE
text 复制代码
Switch> enable
Switch# configure terminal
Switch(config)# hostname SW-CORE

SW-CORE(config)# vlan 10
SW-CORE(config-vlan)# name ADMIN
SW-CORE(config-vlan)# exit
SW-CORE(config)# vlan 20
SW-CORE(config-vlan)# name RND
SW-CORE(config-vlan)# exit
SW-CORE(config)# vlan 30
SW-CORE(config-vlan)# name GUEST
SW-CORE(config-vlan)# exit
SW-CORE(config)# vlan 99
SW-CORE(config-vlan)# name MGMT
SW-CORE(config-vlan)# exit

SW-CORE(config)# interface GigabitEthernet1/0/1
SW-CORE(config-if)# switchport mode trunk
SW-CORE(config-if)# switchport trunk allowed vlan 10,20,30,99
SW-CORE(config-if)# exit

SW-CORE(config)# ip routing

SW-CORE(config)# interface Vlan10
SW-CORE(config-if)# ip address 192.168.10.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

SW-CORE(config)# interface Vlan20
SW-CORE(config-if)# ip address 192.168.20.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

SW-CORE(config)# interface Vlan30
SW-CORE(config-if)# ip address 192.168.30.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

SW-CORE(config)# interface Vlan99
SW-CORE(config-if)# ip address 192.168.99.1 255.255.255.0
SW-CORE(config-if)# no shutdown
SW-CORE(config-if)# exit

SW-CORE(config)# end
SW-CORE# copy running-config startup-config

6.7 终端配置示例

终端 所属 VLAN IP 地址 子网掩码 默认网关
行政 PC-A 10 192.168.10.10 255.255.255.0 192.168.10.1
研发 PC-B 20 192.168.20.10 255.255.255.0 192.168.20.1
访客 PC-C 30 192.168.30.10 255.255.255.0 192.168.30.1

若终端地址由 DHCP 分配,则应为每个 VLAN 配置对应地址池,并确保 DHCP 服务器可接收该 VLAN 的请求。DHCP 中继属于后续知识,本教程不展开。

6.8 访客 VLAN 的访问控制提醒

完成 SVI/VLANIF 配置后,三层交换机通常会对各直连 VLAN 进行路由,这意味着访客 VLAN 30 可能也能访问行政和研发网段。

因此,生产环境必须进一步实施策略,例如:

  • 在 VLAN 30 的三层入口应用 ACL,拒绝访问内部网段;
  • 允许访客访问 DHCP、DNS 和互联网所需服务;
  • 更严格的场景应把访客流量交给防火墙处理;
  • ACL 规则顺序非常重要,实施前应明确源、目的和业务端口。

本教程不直接给出可复制到生产环境的通用 ACL,因为真实策略必须根据 DNS、DHCP、服务器网段和出口架构定制。


7. 验证与故障排查

7.1 正确的测试顺序

不要一开始就测试最远端。建议从近到远逐层验证:

  1. 检查端口物理状态是否 Up;
  2. 检查 VLAN 是否已经创建;
  3. 检查终端端口是否属于正确 VLAN;
  4. 检查 Trunk 两端模式和允许 VLAN 是否一致;
  5. 检查 SVI/VLANIF 是否 Up、IP 是否正确;
  6. 终端先 Ping 自己的默认网关;
  7. 再 Ping 同 VLAN 终端;
  8. 最后 Ping 其他 VLAN 或外部网络;
  9. 若路由可达但业务不可用,再检查 ACL、防火墙、DNS 和服务器服务。

7.2 华为常用验证命令

text 复制代码
display vlan
display port vlan
display interface brief
display ip interface brief
display mac-address vlan 10
display ip routing-table protocol direct
display current-configuration interface GigabitEthernet 0/0/24
ping 192.168.10.10

重点观察:

  • VLAN 是否存在;
  • Access 端口的 PVID 是否正确;
  • Trunk 是否允许 VLAN 10、20、30、99;
  • VLANIF 的物理/协议状态是否正常;
  • MAC 地址是否在预期的 VLAN 和端口上被学习?

7.3 Cisco 常用验证命令

text 复制代码
show vlan brief
show interfaces trunk
show interfaces GigabitEthernet0/1 switchport
show ip interface brief
show mac address-table dynamic vlan 10
show ip route connected
show running-config interface GigabitEthernet0/24
ping 192.168.10.10

7.4 常见故障对照表

现象 常见原因 排查重点
同一交换机、同一 VLAN 也不通 IP/掩码错误、端口 VLAN 错、主机防火墙、链路 Down 端口状态、Access VLAN、ARP、MAC 表
同 VLAN 跨交换机不通 Trunk 未建立或未允许该 VLAN 两端 Trunk 模式与 allowed VLAN
能通同 VLAN,不能通网关 SVI/VLANIF Down、网关地址错误、VLAN 未激活 三层接口状态、终端默认网关
能 Ping 网关,不能跨 VLAN 未启用三层路由、ACL 拒绝、目标网关错误 路由表、ip routing、ACL
只有某个 VLAN 过不了 Trunk 该 VLAN 未加入允许列表或一端未创建 两端 VLAN 数据库、Trunk allow list
管理地址只能本地访问 管理 VLAN 未通过 Trunk、缺少默认路由/网关 VLAN 99、管理 SVI、默认路由
通信时好时坏 VLAN/PVID 不一致、环路、IP 冲突、链路错误 STP、日志、ARP、MAC 地址漂移

7.5 SVI/VLANIF 为什么可能是 Down

常见原因包括:

  • 对应 VLAN 尚未创建;
  • 该 VLAN 没有任何处于 Up 状态的二层端口;
  • Trunk 没有允许该 VLAN;
  • 虚拟接口被手动关闭;
  • 设备型号或许可不支持相应三层功能。

不同平台的 SVI/VLANIF Up 条件存在差异,应结合设备文档和状态输出判断。


8. 动手实验与复习题

8.1 推荐实验步骤

可以在 eNSP、Cisco Packet Tracer、EVE-NG、GNS3 或真实交换机上完成。

实验 1:验证同 VLAN 通信
  1. 创建 VLAN 10;
  2. 把两个 PC 端口加入 VLAN 10;
  3. 配置同一网段 IP;
  4. 验证两个 PC 可以互相 Ping;
  5. 查看交换机 MAC 地址表。
实验 2:验证 VLAN 隔离
  1. 把第二台 PC 的端口改到 VLAN 20;
  2. 即使临时把两台 PC 配到同一个 IP 网段,也应观察到二层隔离;
  3. 分析 ARP 广播为什么不能跨 VLAN。
实验 3:验证 Trunk
  1. 使用两台交换机;
  2. 在两端创建 VLAN 10 和 VLAN 20;
  3. 互联口配置 Trunk;
  4. 让两台交换机上的 VLAN 10 终端通信;
  5. 从 Trunk 允许列表删除 VLAN 10,观察通信变化;
  6. 恢复 VLAN 10 并重新验证。
实验 4:验证跨 VLAN 路由
  1. 为 VLAN 10 和 VLAN 20 创建 SVI/VLANIF;
  2. 给终端配置正确默认网关;
  3. 先 Ping 各自网关;
  4. 再 Ping 不同 VLAN 的终端;
  5. 查看三层交换机的直连路由。

8.2 复习题

  1. VLAN 解决的核心问题是什么?
  2. 为什么同一交换机上的不同 VLAN 默认不能直接通信?
  3. Access 和 Trunk 接口分别适合连接什么设备?
  4. 802.1Q 标签中的 VID 有多少位?
  5. 为什么 Trunk 两端的允许 VLAN 列表需要匹配?
  6. SVI/VLANIF 地址在终端配置中扮演什么角色?
  7. 开启跨 VLAN 路由后,访客 VLAN 是否天然不能访问内部 VLAN?
  8. 同 VLAN 跨交换机不通时,应优先检查哪些配置?

8.3 参考答案

  1. 把一个物理交换网络划分为多个逻辑广播域;
  2. 每个 VLAN 是独立的二层广播域,跨 VLAN 必须经过三层路由;
  3. Access 通常连接普通终端,Trunk 通常连接需要承载多个 VLAN 的网络设备;
  4. 12 位;
  5. 未被允许的 VLAN 无法通过该链路,不一致还会造成单向或局部故障;
  6. 作为该 VLAN 终端的默认网关;
  7. 不是。只要路由存在且没有策略阻止,访客可能访问内部 VLAN;
  8. VLAN 是否创建、Access VLAN 是否正确、Trunk 是否建立以及两端是否允许该 VLAN。

9. 总结

学习 VLAN 时应牢牢记住以下主线:

text 复制代码
VLAN 划分广播域
      ↓
Access 端口把终端流量归入一个 VLAN
      ↓
Trunk 使用 802.1Q 在一条链路上传递多个 VLAN
      ↓
不同 VLAN 通过 SVI/VLANIF 或路由器进行三层通信
      ↓
ACL/防火墙决定跨 VLAN 的哪些访问被允许

最实用的排错思路是:先二层、后三层;先本地、后远端;先状态、后策略。

相关推荐
星恒讯工业路由器9 天前
VLAN在工业网络中为何越来越重要
网络·信息与通信·vlan·交换机·工业网络·网络隔离
碎碎念_49217 天前
以太网技术、VLAN、STP详解
网络·stp·vlan
承接电子控制相关项目17 天前
时间敏感网络的未来趋势
网络·tsn·vlan·交换机·pvid·tsn发展趋势
婷婷_1723 个月前
DWC Ethernet QoS VLAN高级功能深度解析
网络·学习·程序人生·ethernet·芯片·vlan·gmac
婷婷_1724 个月前
DWC Ethernet QoS VLAN功能实现详解
网络·学习·程序人生·ethernet·芯片·vlan·gmac
haosend4 个月前
数据网络小知识-VLAN基础及延伸技术简介
路由器·vlan·交换机·数据网络
CS创新实验室6 个月前
《计算机网络》深入学:虚拟局域网(VLAN)技术与应用
开发语言·计算机网络·php·vlan·虚拟局域网
ICT技术最前线7 个月前
华为交换机VLAN配置命令详解
服务器·网络·vlan·华为交换机
wusam7 个月前
计算机网络综合实验:中小型企业网络组网与配置仿真实验
计算机网络·vlan·dhcp·独臂路由