计算机网络之单交换机 VLAN 配置实验 —— 从零构建隔离、高效、安全的局域网作者培风图南以星河揽胜 核心要点本文通过一个完整、可复现的实验系统性地讲解了单交换机环境下 VLAN 的配置原理与实践。内容涵盖实验拓扑设计、VLAN 基础理论精讲、Cisco 与华为双平台 CLI 配置详解、Access 端口深度剖析、二层通信验证、故障排查全流程以及安全加固最佳实践。文末附有 GNS3/EVE-NG 实验文件下载指引和常见问题解答助你一站式掌握 VLAN 部署的基石技能。引言VLAN 的起点 —— 单交换机环境在探索复杂的多层网络架构之前我们必须回归原点深刻理解VLANVirtual Local Area Network技术最基础、最核心的应用场景——单交换机环境。想象这样一个常见的办公室场景一台接入层交换机连接着来自不同部门的四台电脑——两台属于销售部两台属于财务部。公司的安全策略要求销售部内部可以自由共享文件和打印机。财务部内部可以自由访问财务服务器。销售部与财务部之间必须严格隔离防止敏感财务数据泄露。在没有 VLAN 的传统网络中这四台电脑同处一个巨大的广播域。任何一台电脑发出的 ARP 请求、文件共享广播都会被泛洪到所有其他端口。这不仅造成了带宽浪费更严重的是它使得部门间的隔离完全依赖于主机防火墙或应用层策略安全边界极其脆弱。而 VLAN 技术的引入则能在同一台物理交换机上逻辑地划分出两个独立的广播域如同将一台交换机“虚拟”成了两台。这种“化一为多”的能力正是现代网络实现精细化分段、提升安全性和性能的基石。本实验将带你亲手搭建并配置这样一个单交换机 VLAN 环境从理论到实践彻底掌握这项网络工程师必备的核心技能。第一章实验准备与拓扑设计1.1 实验目标完成本次实验后你将能够✅ 深入理解 VLAN 的基本概念、作用及工作原理。✅ 在单台交换机上创建多个 VLAN。✅ 将交换机端口正确地分配到指定的 VLANAccess 模式。✅ 验证同一 VLAN 内主机的二层通信。✅ 验证不同 VLAN 间主机的默认隔离。✅ 运用诊断命令排查常见的 VLAN 配置错误。✅ 应用基本的安全加固措施。1.2 实验环境与工具模拟器推荐使用GNS3或EVE-NG。它们能完美模拟 Cisco IOS 和华为 VRP 环境提供最接近真实设备的体验。初学者也可使用Cisco Packet Tracer快速上手。设备1 台二层交换机如 Cisco IOU L2, Huawei S5700, 或 Packet Tracer 中的 2960/35604 台 PC 终端可用 VPCS、Cloud 连接本地虚拟机或 Packet Tracer 中的 PC操作系统Windows / Linux / macOS前置知识熟悉基本的网络概念IP 地址、子网掩码、交换机基本操作进入 CLI、保存配置。 小贴士无论使用哪种模拟器核心的配置逻辑和命令都是相通的。建议先在 Packet Tracer 中熟悉流程再迁移到 GNS3/EVE-NG 进行深度学习。1.3 实验拓扑图单台二层交换机 (SW1)Fa0/1Fa0/2Fa0/3Fa0/4SW1PC1VLAN 10192.168.10.10/24PC2VLAN 10192.168.10.11/24PC3VLAN 20192.168.20.10/24PC4VLAN 20192.168.20.11/24拓扑说明SW1是一台二层交换机。PC1 PC2代表销售部主机应被划分到VLAN 10。PC3 PC4代表财务部主机应被划分到VLAN 20。所有连接均为Access 链路。第二章VLAN 核心原理精讲在动手配置前让我们深入理解 VLAN 背后的“魔法”。2.1 VLAN 的定义与核心价值VLAN 是一种在数据链路层Layer 2上将一个物理局域网LAN在逻辑上划分为多个广播域Broadcast Domain的技术。每个 VLAN 构成一个独立的逻辑网络。2.1.1 广播域控制在一个未划分 VLAN 的交换网络中所有端口都属于同一个广播域。广播帧如 ARP 请求会被交换机泛洪到除源端口外的所有端口。随着设备增多广播流量会呈指数级增长消耗大量带宽和主机 CPU 资源甚至引发“广播风暴”。VLAN 通过将广播流量限制在各自的逻辑组内有效解决了这一问题。2.1.2 安全性增强默认情况下不同 VLAN 之间的通信是被阻断的。这为网络提供了天然的安全隔离屏障。即使攻击者控制了销售部的一台电脑也无法直接扫描或攻击财务部的主机除非有明确的三层路由策略允许。2.1.3 灵活的网络管理VLAN 的划分基于软件配置与物理位置无关。这意味着即使销售部员工分散在不同工位只要他们的端口被分配到同一个 VLAN就能如同在同一个物理网络中一样无缝通信。当组织架构调整时IT 部门只需修改交换机配置无需重新布线。2.2 Access 端口终端设备的“守门人”在单交换机 VLAN 实验中我们只涉及Access 端口。这是连接终端设备如 PC、打印机、服务器的标准端口类型。Access 端口的关键特性单一归属一个 Access 端口只能属于一个 VLAN。这个 VLAN 被称为该端口的PVID (Port VLAN ID)。帧处理规则入方向 (Ingress)当一个不带标签的帧从终端设备进入 Access 端口时交换机会自动为其打上 PVID 对应的 VLAN 标签。出方向 (Egress)当一个带标签的帧需要从 Access 端口发出时如果该标签等于端口的 PVID交换机会剥离标签后再发送给终端设备否则该帧会被丢弃。 核心要点终端设备如 Windows PC通常无法识别或处理带有 802.1Q 标签的帧。因此连接它们的交换机端口必须配置为 Access 模式并确保进出的帧都是无标签的。2.3 IEEE 802.1QVLAN 的通用语言虽然在单交换机内部VLAN 的隔离可以通过内部表项实现无需在帧上打标签但理解IEEE 802.1Q标准对于后续学习跨交换机 VLAN 至关重要。802.1Q 标准定义了如何在以太网帧中插入一个4 字节的标签Tag来标识其所属的 VLAN。其中最关键的字段是VID (VLAN Identifier)一个 12 位的数字决定了可用的 VLAN ID 范围是1 到 4094。⚠️ 警告/风险VLAN 1 是默认 VLAN。所有端口在出厂时都属于 VLAN 1。这是一个巨大的安全隐患因为许多管理协议如 CDP、STP都在 VLAN 1 中运行。最佳实践是永远不要将用户流量放在 VLAN 1 中。第三章实验配置实战 —— Cisco 平台我们将严格按照拓扑图在 Cisco 设备上完成配置。3.1 步骤一规划与准备首先明确我们的规划VLAN 10: SALES, IP 网段192.168.10.0/24VLAN 20: FINANCE, IP 网段192.168.20.0/24端口分配:Fa0/1, Fa0/2 → VLAN 10Fa0/3, Fa0/4 → VLAN 203.2 步骤二配置交换机 (SW1)!1. 进入特权模式和全局配置模式 SW1enableSW1# configure terminalEnter configuration commands, one per line. End with CNTL/Z.!2. 创建VLAN10和20并为其命名强烈推荐 SW1(config)# vlan 10SW1(config-vlan)# name SALESSW1(config-vlan)# exitSW1(config)# vlan 20SW1(config-vlan)# name FINANCESW1(config-vlan)# exit!3. 配置连接PC1和PC2的端口(Fa0/1, Fa0/2)为Access模式并加入VLAN10SW1(config)# interface range fastEthernet 0/1 - 2SW1(config-if-range)# switchport mode access ! 显式设置为Access模式SW1(config-if-range)# switchport access vlan 10 ! 分配到VLAN 10SW1(config-if-range)# no shutdown ! 确保端口激活通常默认开启SW1(config-if-range)# exit!4. 配置连接PC3和PC4的端口(Fa0/3, Fa0/4)为Access模式并加入VLAN20SW1(config)# interface range fastEthernet 0/3 - 4SW1(config-if-range)# switchport mode accessSW1(config-if-range)# switchport access vlan 20SW1(config-if-range)# no shutdownSW1(config-if-range)# exit!5. 可选但推荐禁用未使用的端口并将其分配到“黑洞”VLAN SW1(config)# vlan 998SW1(config-vlan)# name UNUSED_PORTSSW1(config-vlan)# exitSW1(config)# interface range fastEthernet 0/5 - 24SW1(config-if-range)# switchport access vlan 998SW1(config-if-range)# shutdownSW1(config-if-range)# exit!6. 保存配置到启动配置文件确保重启后配置不丢失 SW1# copy running-config startup-configDestination filename[startup-config]? Building configuration...[OK]✅ 正确做法switchport mode access命令虽然有时可以省略因为端口默认可能是 Access但显式声明是一种极佳的编程习惯能避免因 DTP (Dynamic Trunking Protocol) 动态协商导致的意外 Trunk 形成。3.3 步骤三配置 PC 终端为每台 PC 配置正确的 IP 地址。由于我们只关注二层通信无需配置默认网关。PCIP AddressSubnet MaskPC1192.168.10.10255.255.255.0PC2192.168.10.11255.255.255.0PC3192.168.20.10255.255.255.0PC4192.168.20.11255.255.255.0第四章实验验证与结果分析配置完成后我们需要通过测试来验证网络是否按预期工作。4.1 测试一验证同一 VLAN 内通信 (PC1 ↔ PC2)目标PC1 应能成功 ping 通 PC2。执行# 在PC1的命令提示符中执行C:\ping192.168.10.11预期结果Reply from 192.168.10.11: bytes32 time1ms TTL128 Reply from 192.168.10.11: bytes32 time1ms TTL128 ...原理分析ARP 请求PC1 需要知道192.168.10.11的 MAC 地址。它会广播一个 ARP 请求“谁有 192.168.10.11请告诉我你的 MAC 地址。”交换机处理SW1 的 Fa0/1 端口收到这个无标签的帧。由于该端口是 Access 模式且 PVID10SW1 会在内部将此帧关联到 VLAN 10。泛洪SW1 查询其 MAC 地址表发现不知道192.168.10.11的位置。于是它将这个 ARP 请求泛洪到所有属于 VLAN 10 的其他端口即 Fa0/2。ARP 回复PC2 收到 ARP 请求发现是找自己的于是单播回复一个 ARP 响应给 PC1。ICMP 通信PC1 得到 PC2 的 MAC 地址后就可以直接发送 ICMP Echo Request 帧。SW1 学习到双方的 MAC 地址后后续通信将直接在 Fa0/1 和 Fa0/2 之间转发不再泛洪。✅ 成功标志此测试证明了 VLAN 10 内部形成了一个有效的、连通的广播域。4.2 测试二验证不同 VLAN 间隔离 (PC1 ↔ PC3)目标PC1 应无法ping 通 PC3。执行# 在PC1的命令提示符中执行C:\ping192.168.20.10预期结果Request timed out. Request timed out. ...原理分析ARP 请求PC1 发现192.168.20.10不在同一网段192.168.10.xvs192.168.20.x。在没有配置网关的情况下Windows 主机会尝试在本地网段进行 ARP 解析。交换机处理SW1 的 Fa0/1 端口收到 ARP 请求将其关联到 VLAN 10。泛洪范围受限SW1 只会将这个 ARP 请求泛洪到VLAN 10 内部的其他端口即 Fa0/2。它绝不会将 VLAN 10 的帧泛洪到 VLAN 20 的端口Fa0/3, Fa0/4。无响应PC3 位于 VLAN 20根本收不到这个 ARP 请求因此不会有任何回复。PC1 在等待超时后报告“Request timed out”。✅ 成功标志此测试清晰地证明了 VLAN 提供了强大的二层隔离能力。不同 VLAN 就像两个平行世界互不干扰。第五章华为 VRP 平台配置对比为了让你具备多厂商环境下的实战能力我们来看看在华为设备上的等效配置。5.1 核心差异概述华为的命令体系与 Cisco 有显著不同主要体现在进入配置模式system-viewvsconfigure terminal。批量操作华为支持vlan batch和interface range效率更高。端口模式使用port link-type access和port default vlan。5.2 完整配置示例# 1. 进入系统视图Huaweisystem-view[Huawei]# 2. 批量创建VLAN并添加描述[Huawei]vlan batch1020998[Huawei]vlan10[Huawei-vlan10]description SALES[Huawei-vlan10]quit[Huawei]vlan20[Huawei-vlan20]description FINANCE[Huawei-vlan20]quit[Huawei]vlan998[Huawei-vlan998]description UNUSED_PORTS[Huawei-vlan998]quit# 3. 配置Fa0/1, Fa0/2 为Access端口加入VLAN 10# 注意华为端口命名通常是 GigabitEthernet 0/0/X[Huawei]interface range gigabitethernet0/0/1 to0/0/2[Huawei-if-range]port link-type access# 设置链路类型为access[Huawei-if-range]port default vlan10# 设置默认VLAN (即PVID)[Huawei-if-range]quit# 4. 配置Fa0/3, Fa0/4 为Access端口加入VLAN 20[Huawei]interface range gigabitethernet0/0/3 to0/0/4[Huawei-if-range]port link-type access[Huawei-if-range]port default vlan20[Huawei-if-range]quit# 5. 禁用未使用端口[Huawei]interface range gigabitethernet0/0/5 to0/0/24[Huawei-if-range]port link-type access[Huawei-if-range]port default vlan998[Huawei-if-range]shutdown[Huawei-if-range]quit# 6. 保存配置[Huawei]save The current configuration will be written to the device. Are you sure?[Y/N]: y Info: Please input thefilename(*.cfg, *.zip)[vrpcfg.zip]: Now saving the current configuration to the slot0. Save the configuration successfully.关键命令解读port link-type access: 明确指定端口工作在 Access 模式。port default vlan X: 这个命令等价于 Cisco 的switchport access vlan X它同时设置了端口的 PVID。第六章故障排查指南 —— 当实验“翻车”时怎么办实验失败是学习过程中最宝贵的经验。以下是针对本实验最常见的故障点及排查方法。6.1 故障现象PC1 无法 ping 通 PC2 (同 VLAN)可能原因及排查步骤物理链路或端口状态问题检查在交换机上执行show interfaces status(Cisco) 或display interface brief(Huawei)。预期Fa0/1 和 Fa0/2 的状态应为connected(Cisco) 或UP(Huawei)。解决检查网线是否插好确保端口没有被shutdown。IP 地址配置错误检查在 PC1 和 PC2 上分别执行ipconfig(Windows) 或ifconfig(Linux)。预期两者应在同一子网 (192.168.10.0/24)。解决修正 PC 的 IP 地址或子网掩码。VLAN 未创建或端口分配错误检查这是最关键的一步Cisco:show vlan briefHuawei:display vlan预期输出中应显示 VLAN 10并且 Fa0/1, Fa0/2 应在 VLAN 10 的端口列表中。解决如果端口不在列表中重新执行分配命令。如果 VLAN 不存在重新创建。PC 防火墙阻止 ICMP检查暂时关闭 PC1 或 PC2 的防火墙再次测试。解决在防火墙中允许“文件和打印机共享 (回显请求 - ICMPv4-In)”规则。6.2 故障现象PC1 能 ping 通 PC3 (不同 VLAN) —— 隔离失效可能原因及排查步骤端口被错误地分配到了同一个 VLAN检查再次执行show vlan brief/display vlan。预期PC1/PC2 在 VLAN 10PC3/PC4 在 VLAN 20。解决修正端口的 VLAN 分配。所有端口仍在默认的 VLAN 1检查show vlan brief的第一行通常是 VLAN 1。确认你的端口不在VLAN 1 的列表里。解决显式地将端口分配到目标 VLAN。(罕见) 交换机处于 Hub 模式或学习功能被禁用检查确认交换机是正常工作的二层交换机而非集线器Hub。解决更换设备或检查高级设置。 排错利器在交换机上使用show mac address-table dynamic(Cisco) 或display mac-address(Huawei) 命令。它会显示交换机学习到的 MAC 地址及其对应的 VLAN 和端口。通过这个表你可以清晰地看到网络的二层拓扑结构。第七章安全加固与最佳实践一个合格的网络工程师不仅要让网络“通”更要让它“安全”。7.1 关键安全措施✅ 永远不要使用 VLAN 1如前所述将所有用户端口从 VLAN 1 中移出。✅ 禁用未使用端口将所有未连接设备的端口shutdown并分配到一个不使用的“黑洞”VLAN如 998。这可以防止未经授权的设备随意接入网络。✅ 实施端口安全 (Port Security)在接入层端口启用此功能限制允许学习的 MAC 地址数量防止 MAC 泛洪攻击和非法设备如路由器、另一台交换机接入。SW1(config)# interface fastEthernet 0/1 SW1(config-if)# switchport port-security SW1(config-if)# switchport port-security maximum 1 SW1(config-if)# switchport port-security mac-address sticky SW1(config-if)# switchport port-security violation restrict上述配置表示该端口最多学习 1 个 MAC 地址自动学习并粘滞违规时仅限制流量而不关闭端口。7.2 管理与规划建议 清晰的命名规范为 VLAN 使用有意义的名称如VLAN-SALES-USERS,VLAN-FINANCE-SERVERS。这在大型网络中至关重要。 文档化维护一份简单的端口分配表记录每个端口号、用途、所属 VLAN。 定期审计养成定期检查show vlan和show interfaces status输出的习惯确保配置符合预期。结语万丈高楼平地起VLAN 是网络世界的“地基”单交换机 VLAN 配置实验看似简单却是通往复杂网络世界的坚实第一步。通过亲手创建 VLAN、分配端口、验证隔离你不仅掌握了具体的 CLI 命令更重要的是你对“广播域”、“逻辑隔离”、“Access 端口”等核心网络概念有了直观、深刻的理解。这些知识和技能将成为你未来学习跨交换机 VLAN、三层交换、网络安全等高级主题的“肌肉记忆”。正如古人云“合抱之木生于毫末九层之台起于累土。” 愿你在网络技术的星辰大海中以扎实的基础为舟不断探索不断超越。附录A. GNS3/EVE-NG 实验文件内容已下架B. 常见问题 (FAQ)Q1: 我可以在一个 Access 端口上配置多个 VLAN 吗A:不可以。一个标准的 Access 端口只能属于一个 VLAN。如果你需要一个端口承载多个 VLAN例如连接 IP 电话和 PC你需要使用Trunk或Hybrid端口并配合特定的配置如 Cisco 的 Voice VLAN。Q2: 为什么我创建了 VLAN但show vlan看不到A: 在某些 Cisco 交换机尤其是较新的 IOS 版本上如果你只是创建了 VLAN 但没有将任何活动端口分配给它该 VLAN 可能不会出现在show vlan brief的输出中。你可以使用show vlan id id来查看特定 VLAN 的详细信息。Q3: VLAN 和子网 (Subnet) 有什么关系A: VLAN 是二层数据链路层的概念用于隔离广播域。子网是三层网络层的概念用于 IP 路由。最佳实践是“一个 VLAN 对应一个 IP 子网”。这样VLAN 内的主机可以直接二层通信而跨 VLAN 通信则自然地通过三层网关路由器或三层交换机进行逻辑清晰易于管理。Q4: 删除 VLAN 后原来属于该 VLAN 的端口会怎样A: 在 Cisco 设备上如果删除一个 VLAN所有原来分配给该 VLAN 的 Access 端口会自动回到默认的 VLAN 1。这是一个潜在的风险点务必在删除 VLAN 前先将这些端口重新分配到其他 VLAN 或禁用。