思科路由交换技术:VLAN 划分及配置案例详解
1. VLAN 概述
VLAN(Virtual Local Area Network,虚拟局域网)是一种将一个物理局域网在逻辑上划分成多个广播域的技术。在实际园区网中,如果所有设备都处在同一个默认 VLAN(VLAN 1)里,广播报文、二层环路以及安全隐患都会被无限放大。通过 VLAN,网络管理员可以把交换机端口逻辑地划分到不同网段,同一个 VLAN 内的设备可以像在同一个物理网段中一样通信,而不同 VLAN 之间默认相互隔离。
VLAN 带来的主要收益包括:
- 缩小广播域:广播、未知单播和组播流量被限制在本 VLAN 内,减少无效流量对网络性能的冲击。
- 提高安全性:不同业务部门划分到不同 VLAN,二层默认不互通,敏感数据得到隔离。
- 简化管理:网络拓扑变化时,只需修改端口所属 VLAN 即可,无需重新布线。
- 灵活组网:通过 Trunk 链路,同一 VLAN 可以跨越多个交换机,物理位置不再限制逻辑分组。
2. VLAN 基础概念
理解 VLAN 的配置,首先需要掌握以下几个核心概念。
2.1 VLAN ID 范围
思科交换机上可以配置的 VLAN 分为两类:
| 类型 | VLAN ID 范围 | 说明 |
|---|---|---|
| 正常范围 VLAN | 1 ~ 1005 | 可保存在 VLAN 数据库中,VLAN 1 为默认 VLAN,不可删除 |
| 扩展范围 VLAN | 1006 ~ 4094 | 主要用于服务提供商或大型园区网,需要配置 VTP 透明模式 |
其中 VLAN 1002 ~ 1005 是保留给 FDDI 和令牌环的默认 VLAN,实际部署中通常不使用。
2.2 Access 端口与 Trunk 端口
- Access 端口:只能属于一个 VLAN,用于连接终端设备(PC、打印机、服务器等)。进入该端口的数据被标记为所属 VLAN,离开该端口时标签被去除。
- Trunk 端口:可以在一条物理链路上同时传输多个 VLAN 的数据,通过 802.1Q 标签区分不同 VLAN,通常用于交换机之间的互联以及交换机与路由器的互联。
2.3 802.1Q 封装
IEEE 802.1Q 是思科交换机默认使用的 Trunk 封装协议(部分旧型号使用 ISL,现已基本淘汰)。802.1Q 在原始以太网帧中插入一个 4 字节的标签字段,其中包含 VLAN ID 信息,实现一条链路上多 VLAN 复用。
2.4 本征 VLAN(Native VLAN)
Native VLAN 是 Trunk 链路上不打标签的 VLAN,默认是 VLAN 1。Trunk 两端 Native VLAN 必须一致,否则会导致流量错乱,并可能触发 CDP 的 Native VLAN 不匹配警告。出于安全考虑,实际部署中通常会把 Native VLAN 从默认的 VLAN 1 改为其他值,并保证两端一致。
3. VLAN 划分方式
实际网络中可以按多种维度划分 VLAN,常见方式如下:
- 基于端口划分:将交换机的指定端口手动分配到某个 VLAN,是最常用、最简单的方式,本文案例即采用此方式。
- 基于 MAC 地址划分:根据终端设备的 MAC 地址归属自动划分,设备移动位置后仍能保持所属 VLAN,但管理相对复杂。
- 基于 IP 子网划分:根据数据包中的源 IP 地址或子网归属进行划分,适合 DHCP 环境,但交换机需要有 L3 能力或特殊配置。
- 基于协议划分:根据帧头中的协议类型(如 IP、IPX)划分,用于多协议环境。
在实际园区网中,基于端口的静态 VLAN 划分是使用最广泛的方式,下面重点讲解其配置方法。
4. 配置案例详解
4.1 场景说明
某公司网络中部署了一台核心交换机 Core(三层交换机)和两台接入交换机 SW1、SW2。公司有三个部门需要隔离,并允许通过三层交换机实现跨 VLAN 通信:
- VLAN 10 —— 技术部,网段
192.168.10.0/24 - VLAN 20 —— 市场部,网段
192.168.20.0/24 - VLAN 30 —— 财务部,网段
192.168.30.0/24
SW1 下接技术部 PC1 和市场部 PC2,SW2 下接市场部 PC3 和财务部 PC4。SW1、SW2 分别通过 Trunk 链路上联到 Core。整体拓扑如下:
图中 PC3、PC4 实际连接在 SW2 上,SW2 同样通过 Trunk 上联 Core,此处仅示意逻辑分组关系。
4.2 创建 VLAN 并命名
在三台交换机上都要创建 VLAN 10、20、30。以 Core 为例:
Core# configure terminal
Core(config)# vlan 10
Core(config-vlan)# name TECH
Core(config-vlan)# exit
Core(config)# vlan 20
Core(config-vlan)# name MARKET
Core(config-vlan)# exit
Core(config)# vlan 30
Core(config-vlan)# name FINANCE
Core(config-vlan)# end
SW1 与 SW2 执行同样的创建命令。如果交换机支持 vlan 10,20,30 的批量写法,也可以一条命令创建多个 VLAN。
4.3 将接入端口划分到 VLAN
在 SW1 上,把连接 PC1 的端口 FastEthernet0/1 划分到 VLAN 10,把连接 PC2 的端口 FastEthernet0/2 划分到 VLAN 20:
SW1# configure terminal
SW1(config)# interface FastEthernet0/1
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 10
SW1(config-if)# exit
SW1(config)# interface FastEthernet0/2
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 20
SW1(config-if)# end
在 SW2 上,把连接 PC3 的 FastEthernet0/1 划分到 VLAN 20,把连接 PC4 的 FastEthernet0/2 划分到 VLAN 30:
SW2# configure terminal
SW2(config)# interface FastEthernet0/1
SW2(config-if)# switchport mode access
SW2(config-if)# switchport access vlan 20
SW2(config-if)# exit
SW2(config)# interface FastEthernet0/2
SW2(config-if)# switchport mode access
SW2(config-if)# switchport access vlan 30
SW2(config-if)# end
4.4 配置 Trunk 链路
SW1 上联 Core 的端口采用 GigabitEthernet0/1,配置为 Trunk,并把 Native VLAN 改为 VLAN 99(需提前在三台交换机上创建 VLAN 99):
SW1# configure terminal
SW1(config)# vlan 99
SW1(config-vlan)# name NATIVE_MGMT
SW1(config-vlan)# exit
SW1(config)# interface GigabitEthernet0/1
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 99
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99
SW1(config-if)# end
SW2 与 Core 的 Trunk 配置完全一致,确保 Native VLAN 相同、放行的 VLAN 相同:
SW2# configure terminal
SW2(config)# interface GigabitEthernet0/1
SW2(config-if)# switchport trunk encapsulation dot1q
SW2(config-if)# switchport mode trunk
SW2(config-if)# switchport trunk native vlan 99
SW2(config-if)# switchport trunk allowed vlan 10,20,30,99
SW2(config-if)# end
说明:部分新型号思科交换机(如 Catalyst 2960XR、9300 等)默认只支持 802.1Q,
switchport trunk encapsulation dot1q可能不再需要,按实际设备提示操作即可。
4.5 在核心交换机上配置 SVI 实现 VLAN 间路由
由于不同 VLAN 之间二层默认隔离,要让三个部门互通,需要在 Core 上为每个 VLAN 配置一个三层 SVI(Switch Virtual Interface,交换虚拟接口)作为各自网段的网关:
Core# configure terminal
Core(config)# ip routing
Core(config)# interface vlan 10
Core(config-if)# ip address 192.168.10.254 255.255.255.0
Core(config-if)# no shutdown
Core(config-if)# exit
Core(config)# interface vlan 20
Core(config-if)# ip address 192.168.20.254 255.255.255.0
Core(config-if)# no shutdown
Core(config-if)# exit
Core(config)# interface vlan 30
Core(config-if)# ip address 192.168.30.254 255.255.255.0
Core(config-if)# no shutdown
Core(config-if)# end
配置完成后,各 VLAN 中 PC 的网关地址分别指向 192.168.10.254、192.168.20.254、192.168.30.254,即可实现跨 VLAN 的三层互通。如果核心交换机不支持路由功能(纯二层环境),则需改用外部路由器做单臂路由,在路由器子接口上配置 802.1Q 封装实现同样的效果。
5. 配置验证与排错
5.1 查看 VLAN 数据库
在三台交换机上执行以下命令,确认 VLAN 已创建:
SW1# show vlan brief
正常输出应包含 VLAN 10、20、30、99,且能看到相应端口被划分到对应 VLAN。
5.2 查看 Trunk 链路状态
SW1# show interfaces trunk
确认上联端口处于 trunking 状态,Encapsulation 为 802.1Q,Native VLAN 为 99,且允许的 VLAN 列表包含 10、20、30、99。
5.3 查看端口接入模式
SW1# show interfaces FastEthernet0/1 switchport
该命令可查看端口的 Operational Mode 是否为 access,Access VLAN 是否为 10。
5.4 验证三层连通性
在 PC 上分别执行 ping 测试:
- 同 VLAN 内互 ping:应能通(二层转发)。
- 跨 VLAN 互 ping:应能通(经 Core 的 SVI 三层路由)。
- 若跨 VLAN 不通,先排查 PC 网关配置是否正确,再检查 Core 的 SVI 是否
up/up、ip routing是否开启。
5.5 常见故障原因
- Trunk 两端封装不一致:一端 access、一端 trunk,或两端 Native VLAN 不同,会导致跨交换机同 VLAN 不通。
- allowed vlan 列表不完整:Trunk 上
switchport trunk allowed vlan未放行指定 VLAN,导致该 VLAN 流量无法穿越链路。 - SVI 未开启或未配置 IP:核心交换机上对应的
interface vlan X未配置 IP 或未no shutdown,跨 VLAN 网关不可达。 - PC 网关指错:终端设备网关地址未指向 SVI IP,导致无法出本网段。
6. 总结
VLAN 是园区网二层设计的基石,其核心思想是“逻辑隔离、按需互通”。本文从一个典型的三层交换机 + 接入交换机的场景出发,完整演示了 VLAN 创建、Access 端口划分、Trunk 链路配置以及通过 SVI 实现 VLAN 间路由的完整过程,并给出了验证命令与常见排错思路。
在实际项目中还需要结合 VTP、STP、DHCP、ACL 等配套技术做整体规划,例如通过 VTP 统一同步 VLAN 数据库、通过 STP 避免二层环路、通过 ACL 对跨 VLAN 访问做精细化控制。掌握本文的基础配置后,再逐步引入这些技术,就能应对大多数中小型园区网的 VLAN 设计需求。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)