直接点说,这次实验是给刚接触网络设备配置的朋友准备的。Cisco Packet Tracer 里做 VLAN 配置,是我自己当年啃命令行的第一个完整实验,从“交换机到底在干嘛”到“为什么 A 电脑 ping 不通 B 电脑”,全是通过这个实验一步步搞明白的。后来带实习生,我也习惯先让他们在 Packet Tracer 里把 VLAN 实验完整做一遍,再去碰真实设备,原因很简单:模拟器里出错成本低,随便你怎么折腾,删了重来也就是几秒钟的事,但你在真实交换机上敲错一句 switchport trunk native vlan 的命令,可能就要半夜去机房解决故障了。
这篇实验记录针对的是还没系统做过 VLAN 实验的人,用 Cisco 2960 交换机、2911 路由器加几台 PC,把 VLAN 创建、Access 端口划分、Trunk 链路配置、VLAN 间路由这几个核心环节全部走一遍。实验做完,你会知道 VLAN 配置不是敲几条命令那么简单,它背后的帧转发逻辑、Tag 标记机制、Native VLAN 的坑,才是真正值钱的东西。不管你是准备 Cisco 认证考试,还是在学校做网络课设,或者工作中第一次接触交换机配置,这套流程都值得照着敲一遍。
1. 实验环境与拓扑规划:选对设备是第一步
1.1 为什么选 Packet Tracer 而不是真实设备
很多人上来就问,Packet Tracer 和真实设备差别大不大?我的回答是:命令是真的,操作体验有差距,但网络原理完全一致。这个工具是 Cisco 官方出的模拟器,支持交换机、路由器、无线设备、PC、服务器等多种设备,对于学习交换机的 VLAN 配置来说,它的设备模型和命令集已经足够贴近真实 IOS。更关键的是,它自带纠错提示,你配置错了它会报错,报错信息跟真机也差不多,这比你自己瞎猜强多了。
我在给初学者推荐实验环境时,始终把 Packet Tracer 放在第一位,而不是 GNS3 或者 EVE-NG。GNS3 虽然能跑真实 IOS 镜像,但是安装流程复杂,对电脑配置有要求,而且 IOS 镜像的获取本身就有很多坑。Packet Tracer 开箱即用,官方注册账号就能下载安装包,装完拖几个设备就能开始实验,这是它作为教学工具最大的优势。等你把 Packet Tracer 里的 VLAN 实验做到炉火纯青,再去补 GNS3 和真实设备的差异,那个过渡成本会低很多。
1.2 拓扑结构与 IP 地址规划
这次的实验拓扑不复杂,但信息点很密。我用两台 2960 交换机,分别叫 SW1 和 SW2,两台交换机之间用一条线连接;SW1 下面挂两台 PC,SW2 下面挂两台 PC。PC 的 IP 地址事先规划好,分两个网段:192.168.10.0/24 和 192.168.20.0/24,分别对应 VLAN 10 和 VLAN 20。这样的设计有一个好处,就是后面做 VLAN 间路由时,可以直接用网关地址来验证,不用重新规划。
具体连接方式我再细化一下,方便你照着搭:
- SW1 的 FastEthernet0/1 和 FastEthernet0/2 分别接 PC1 和 PC2
- SW2 的 FastEthernet0/1 和 FastEthernet0/2 分别接 PC3 和 PC4
- SW1 的 FastEthernet0/24 接 SW2 的 FastEthernet0/24
- PC1 和 PC2 规划放入 VLAN 10,网段 192.168.10.0/24
- PC3 和 PC4 规划放入 VLAN 20,网段 192.168.20.0/24
IP 地址规划如下:
| 设备 | IP 地址 | 子网掩码 | 所属 VLAN |
|---|---|---|---|
| PC1 | 192.168.10.1 | 255.255.255.0 | VLAN 10 |
| PC2 | 192.168.10.2 | 255.255.255.0 | VLAN 10 |
| PC3 | 192.168.20.1 | 255.255.255.0 | VLAN 20 |
| PC4 | 192.168.20.2 | 255.255.255.0 | VLAN 20 |
| 路由器子接口(后续) | 192.168.10.254 / 192.168.20.254 | 255.255.255.0 | 分别对应 VLAN 10 / 20 |
提示:IP 规划这一步千万别省。很多人实验做到一半 ping 不通,检查半天发现是 IP 地址配错了网段,这种低级错误完全可以通过提前画一张拓扑图规避。
1.3 设备选型的几个细节
Packet Tracer 里的 2960 交换机默认是 IOS 12.2 系列的命令风格,虽然老,但够用。路由器我建议选 2911 或者 4321,后面做单臂路由时,子接口命令都能支持。PC 直接用 Desktop 模式的 PC,拖到工作区后,在 IP Configuration 界面填入地址和网关就行。
特别注意一点,Packet Tracer 里 2960 交换机的默认端口模式是动态自动,也就是动态交换接口,它不是标准的 Access 或 Trunk。很多新手在这里栽跟头,以为交换机端口插上就能用,其实默认模式在不同厂商设备上的行为不一样。Cisco 交换机默认端口是可以自协商成 Trunk 的,这在实验环境里容易引发奇怪的现象。所以实验第一步,把所有用到的端口模式固定下来,别留着默认的 auto 模式不管。
2. Access 端口配置与 VLAN 划分:从 PC 到交换机的第一步
2.1 VLAN 的创建与命名规范
进入 SW1 的命令行界面,先把 VLAN 创建出来。Cisco 的 VLAN 配置分两个层面:全局配置模式创建 VLAN,接口配置模式把端口划入 VLAN。这两个层面是分开的,别搞混。创建 VLAN 的命令如下:
Switch> enable Switch# configure terminal Switch(config)# vlan 10 Switch(config-vlan)# name SALES Switch(config-vlan)# exit Switch(config)# vlan 20 Switch(config-vlan)# name TECH Switch(config-vlan)# exit这里我给 VLAN 10 起名叫 SALES,VLAN 20 起名叫 TECH。名字不是必须的,但强烈建议起名,原因很简单:真实环境中你会有几十个 VLAN,如果没有名字,show vlan brief 出来的全是数字,你根本分不清哪个 VLAN 对应哪个业务部门。这个习惯从实验阶段就要养成,否则以后排查问题时你会在 show 输出里看花眼。
命令中的 exit 很多人不重视,但其实非常关键。exit 是返回上一级模式,而 end 是直接退回特权模式。在配置 VLAN 时,你如果少敲了一个 exit,后面的命令很可能落在错误的模式下,然后报错。我见过不止一个新手在配置 VLAN 时因为模式没退干净,把 switchport access vlan 10 敲在了全局配置模式下,结果系统提示无效命令,自己还找不到原因。
2.2 接口模式下把端口划入 VLAN
接口配置是重头戏。把 SW1 的 FastEthernet0/1 和 FastEthernet0/2 划入 VLAN 10,需要先进入接口范围,然后设置端口模式为 Access,再指定所属 VLAN。命令如下:
Switch(config)# interface range fastEthernet 0/1 - 2 Switch(config-if-range)# switchport mode access Switch(config-if-range)# switchport access vlan 10 Switch(config-if-range)# exit这里要特别解释一下 switchport mode access 和 switchport access vlan 10 这两条命令的分工。很多教科书把它们当成一条命令来记,但实际它们是两个动作:mode access 是告诉交换机这个端口是接入端口,连接的是终端设备,不参与 VLAN Trunk 协商;access vlan 10 才是真正把它划入 VLAN 10。如果你只配了 mode access 而没有指定 VLAN,端口会默认落在 VLAN 1 里。VLAN 1 是交换机默认存在的 VLAN,也是 Cisco 交换机默认的 Native VLAN,新手经常会发现端口配置了 access 模式,但 ping 不通,一看 show vlan brief,端口还在 VLAN 1,就是漏了第二条命令。
SW2 上同样操作,把 FastEthernet0/1 和 FastEthernet0/2 划入 VLAN 20:
SW2# configure terminal SW2(config)# vlan 10 SW2(config-vlan)# name SALES SW2(config-vlan)# exit SW2(config)# vlan 20 SW2(config-vlan)# name TECH SW2(config-vlan)# exit SW2(config)# interface range fastEthernet 0/1 - 2 SW2(config-if-range)# switchport mode access SW2(config-if-range)# switchport access vlan 20 SW2(config-if-range)# exit一开始我在 SW2 上也创建了 VLAN 10 和 VLAN 20,但只把端口划入 VLAN 20。有些朋友会问:SW2 上又没有 VLAN 10 的终端设备,为什么要创建 VLAN 10?先留着这个疑问,后面配置 Trunk 和 VLAN 间路由的时候,你就会明白,VLAN 信息需要在每一台需要转发该 VLAN 帧的交换机上都有记录,否则交换机在 Trunk 链路上收到带 VLAN 10 Tag 的帧时,会因为本地没有这个 VLAN 而丢弃。
2.3 验证 Access 端口配置
配置完端口,用 show vlan brief 查看当前 VLAN 和端口对应关系:
SW1# show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/3, Fa0/4, ... Fa0/24 10 SALES active Fa0/1, Fa0/2 20 TECH active ...看到 Fa0/1 和 Fa0/2 出现在 VLAN 10 那一行,说明 Access 端口配置成功。这时候你用 PC1 ping PC2,是可以通的,因为它们在同一个 VLAN 10 里,通过 SW1 就能转发。但 PC1 ping PC3 是肯定不通的,因为 PC3 划分在 VLAN 20 里,在没有三层设备和 Trunk 链路的情况下,两个 VLAN 之间隔离了,这正是 VLAN 的核心作用:隔离广播域,限制二层流量。
注意:PC1 能 ping 通 PC2 的前提是两台 PC 的 IP 在同一网段,并且 PC 上没开防火墙。Packet Tracer 里的 PC 默认没那么多安全策略,但如果你把实验搬到真实环境,Windows 防火墙经常是第一个让 ping 包消失的东西。这一点是自己搭实验环境时最容易忽略的变量。
3. Trunk 链路配置与跨交换机 VLAN 通信
3.1 Trunk 的作用与帧标记原理
实验做到这里,SW1 上的 VLAN 10 和 SW2 上的 VLAN 20 是各自独立的,PC1(VLAN 10)和 PC3(VLAN 20)之间的二层流量完全不通。要让两台交换机之间的链路同时承载多个 VLAN 的帧,不能再用 Access 端口连两台交换机,而是要用 Trunk 链路。
Trunk 的工作原理,简单说就是在一根物理链路上跑多个 VLAN 的数据帧。问题是交换机怎么区分这个帧属于哪个 VLAN?这就需要用 IEEE 802.1Q 协议,在以太网帧头里插入一个 4 字节的 Tag,其中包含 VLAN ID 信息。发送端交换机打上 Tag,接收端交换机根据 Tag 把帧送到对应的 VLAN 端口。这个机制类似快递包裹上的面单,没有面单,快递员不知道包裹该送到哪里;没有 VLAN Tag,接收交换机也不知道这个帧属于哪个 VLAN。
Packet Tracer 里的 2960 交换机默认支持 802.1Q 封装,不需要像某些老设备那样手动配置 ISL 封装。这也是 Cisco 设备的一个历史遗留差异:老款 2900 系列交换机同时支持 ISL 和 802.1Q,而新设备基本只用 802.1Q。你只需要记住一点,现在的 Cisco 实验,Trunk 封装一律用 dot1q。
3.2 配置 Trunk 端口的完整命令
在两台交换机上分别进入互连端口,也就是 FastEthernet0/24,配置如下:
SW1(config)# interface fastEthernet 0/24 SW1(config-if)# switchport mode trunk SW1(config-if)# switchport trunk allowed vlan all SW1(config-if)# end SW1# copy running-config startup-configSW2 上同样配置 FastEthernet0/24。switchport mode trunk 命令会把端口强制设为 Trunk 模式,这样该端口会使用 802.1Q 封装。switchport trunk allowed vlan all 是允许所有 VLAN 的流量通过,你也可以用 switchport trunk allowed vlan 10,20 来限制只有特定 VLAN 可以通过。从安全角度讲,限制 allowed vlan 是比较好的习惯,但实验里先用 all 也没问题,重点是把连通性验证出来。
配置完后,用 show interfaces trunk 验证:
SW1# show interfaces trunk Port Mode Encapsulation Status Native vlan Fa0/24 on 802.1q trunking 1 Port Vlans allowed on trunk Fa0/24 1-1005 Port Vlans allowed and active in management domain Fa0/24 1,10,20 Port Vlans in spanning tree forwarding state and not pruned Fa0/24 1,10,20输出里关键看两个信息:第一,Native vlan 是 1,这个默认值很重要;第二,Vlans allowed and active in management domain 里包含 10 和 20,说明这两台交换机上创建的 VLAN 都活跃了,可以在 Trunk 链路上传输。如果你发现 VLAN 10 不在列表里,大概率是某个交换机上漏建了 VLAN,回头补上就好。
3.3 Native VLAN 与 PVID 的隐藏坑
Native VLAN 是 Trunk 配置里最容易被忽视的一个概念,也是真实环境中设备对接失败的头号原因。802.1Q 帧在 Trunk 链路上传输时,绝大多数帧都会打上 VLAN Tag,但有一种特例:Native VLAN 的帧在标准 802.1Q Trunk 链路上是不打 Tag 的。两台交换机互相约定,没打 Tag 的帧就属于 Native VLAN,默认是 VLAN 1。
这会造成什么后果?如果 SW1 的 Trunk 端口 Native VLAN 是 VLAN 1,而 SW2 的 Trunk 端口 Native VLAN 被人改成了 VLAN 10,那么 SW1 发出的无 Tag 帧到 SW2 后,会被 SW2 当成 VLAN 10 的帧处理。两边对不上,轻则部分流量不通,重则引发异常转发,也就是出现了所谓的 Native VLAN mismatch。所以实验和真实运维中,我都建议你用命令显式指定 Native VLAN,不要依赖默认值:
SW1(config)# interface fastEthernet 0/24 SW1(config-if)# switchport trunk native vlan 10这里如果两端都统一改成 VLAN 10,需要确认你的接入层设备也支持这种设计。有些教程会让你保留默认 VLAN 1 做 Native VLAN,这在简单实验里问题不大,但在复杂园区网络里,建议把 Native VLAN 从一个修改过的 VLAN 号开始,降低被 VLAN 跳跃攻击的风险。实验中你只要记住一个原则:两端必须保持一致。
提示:在 Packet Tracer 里,如果两台交换机 Trunk 的 Native VLAN 不一致,你用 show interfaces trunk 往往看不出明显报错,但 ping 包在特定 VLAN 之间会偶发丢包,这个现象很隐蔽。遇到莫名其妙的跨交换机丢包,第一反应先去查两端的 Native VLAN 是否一致。
3.4 跨交换机同 VLAN 通信验证
配置完 Trunk,我们来做一个关键验证:PC1(VLAN 10,连 SW1)和 PC2(VLAN 10,连 SW2)应该能互通。等等,之前的拓扑里 PC2 是连在 SW1 上的,我需要把实验拓扑调整一下才能验证跨交换机同 VLAN 通信。实际操作时,我会这样安排:PC1 连 SW1 的 Fa0/1,PC2 连 SW2 的 Fa0/1,两台都划入 VLAN 10;PC3 连 SW1 的 Fa0/2,PC4 连 SW2 的 Fa0/2,两台都划入 VLAN 20。这样拓扑更均衡,验证也更有说服力。
按这个拓扑配置完成后,PC1 ping PC2 应该通,因为流量路径是 PC1 -> SW1 Fa0/1 -> SW1 Fa0/24 Trunk -> SW2 Fa0/24 Trunk -> SW2 Fa0/1 -> PC2。PC1 ping PC3 还是不通,因为 VLAN 10 和 VLAN 20 之间依然是二层隔离状态。这恰好说明 Trunk 链路只解决了跨交换机的同 VLAN 通信,并没有解决 VLAN 间的通信,后者需要三层路由。
4. VLAN 间路由:单臂路由与三层交换机的选择
4.1 为什么需要 VLAN 间路由
VLAN 隔离广播域之后,不同 VLAN 之间的用户不能直接二层互通。但现实中,销售部(VLAN 10)和技术部(VLAN 20)的人经常需要通信,比如销售要访问技术部部署的服务器。那就需要引入三层设备,用路由来打通两个网段。
有两种主流方案:一种是单臂路由,用路由器的一个物理接口连接交换机 Trunk 口,在路由器上划分子接口,每个子接口对应一个 VLAN,作为该 VLAN 的网关;另一种是三层交换机,在交换机上创建 VLAN 虚拟接口(SVI),开启 IP 路由功能,同样可以作为网关。这两种方案在实验里都能做,但它们适用的场景不同,我分别说一下。
| 对比维度 | 单臂路由 | 三层交换机 SVI |
|---|---|---|
| 核心设备 | 路由器 + 二层交换机 | 三层交换机 |
| 转发性能 | 差,依赖路由器软件转发 | 好,适合大规模 VLAN 间流量 |
| 配置复杂度 | 低,子接口简单 | 中,需要开启 ip routing |
| 适用场景 | 实验、小型网络 | 园区网、数据中心汇聚层 |
| 常见接口 | 物理接口划分为多个子接口 | 每个 VLAN 对应一个 SVI |
4.2 单臂路由配置全过程
把路由器 R1 的 GigabitEthernet0/0 接口接到 SW1 的 FastEthernet0/24 口。如果前面已经用 Fa0/24 做了交换机间 Trunk,那需要调整拓扑:用 SW1 的 FastEthernet0/23 接路由器。配置步骤如下:
R1(config)# interface gigabitEthernet 0/0 R1(config-if)# no shutdown R1(config-if)# exit R1(config)# interface gigabitEthernet 0/0.10 R1(config-subif)# encapsulation dot1Q 10 R1(config-subif)# ip address 192.168.10.254 255.255.255.0 R1(config-subif)# exit R1(config)# interface gigabitEthernet 0/0.20 R1(config-subif)# encapsulation dot1Q 20 R1(config-subif)# ip address 192.168.20.254 255.255.255.0 R1(config-subif)# exit这里有个重要步骤:物理接口本身不能配置 IP 地址,数据帧带着 802.1Q Tag 到达路由器物理接口后,路由器根据 Tag 把帧交给对应的子接口。子接口上的 encapsulation dot1Q 后面跟的 VLAN ID,必须和交换机上 VLAN 的编号一致。写错了,路由器会把帧错误分类,通信就断了。
在 Packet Tracer 中,路由器默认接口是开启的,但在真实设备上,接口默认可能是 shutdown 状态,所以 no shutdown 这条命令养成习惯加上。子接口配置完成后,把 PC 的网关指到对应的子接口地址:PC1 和 PC2 的网关设为 192.168.10.254,PC3 和 PC4 的网关设为 192.168.20.254。这一步不能在交换机上做,必须在每台 PC 的 IP 配置界面填。
验证 PC1 ping PC4,成功的话说明单臂路由打通了。注意,你可能会遇到一个问题:PC1 和 PC2 是跨交换机同 VLAN 的,走 Trunk 链路;PC1 ping PC3 是跨 VLAN 的,需要绕到路由器再回来。这个转发路径要心里有数。为了验证,可以在 Packet Tracer 的 Simulation 模式里看数据包的走向,打开 Packet Tracer 左下角的模拟模式,重新发送 ICMP 包,你能清楚看到帧在哪个设备被打上了 Tag,在哪个设备被剥离 Tag,这个直观效果比任何文字描述都强。
4.3 三层交换机 SVI 配置流程
如果用三层交换机做 VLAN 间路由,拓扑更简洁。Packet Tracer 里的 2960 是二层交换机,不支持 SVI 路由。你需要换成 3560 或者更高级别的交换机。配置命令也不难:
Switch(config)# ip routing Switch(config)# interface vlan 10 Switch(config-if)# ip address 192.168.10.254 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit Switch(config)# interface vlan 20 Switch(config-if)# ip address 192.168.20.254 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit关键就是 ip routing 这条命令,默认二层交换机没有三层路由功能。3560 是三层交换机,但默认也未开启 IP 路由,必须手动打开。很多朋友配置完 SVI,发现 VLAN 间还是不通,检查半天,最后发现是忘了 ip routing,这个错误我已经看过无数回。
4.4 两种方案的适用场景分析
单臂路由的优点是省钱,一台普通路由器就能给多个 VLAN 提供网关,缺点是所有跨 VLAN 流量都要经过路由器,路由器处理能力有限,流量大了容易形成瓶颈。三层交换机的优点是转发性能高,硬件转发比路由器软件转发快得多,缺点是设备成本高。
实验环境里,我建议两种方案都做一遍。原因很实际:单臂路由能让你把 802.1Q Tag、子接口这些概念吃透,看到数据包在子接口之间怎么走,这是理解 VLAN 路由的基础;三层交换机 SVI 是你以后的日常工作,绝大多数企业网络的网关都在三层交换机上,越早熟悉越好。从学习路径上说,先单臂路由后 SVI 是最稳妥的顺序。
5. 常见问题排查与实测避坑记录
5.1 基础连通性排查工具箱
VLAN 实验里最常遇到的现象就是 ping 不通,很多新手这时候就开始乱试,这显然不是正确思路。我的排查顺序基本固定:先看物理链路,再看端口 VLAN,再看 Trunk,最后查路由。每一步都有对应的 show 命令,别跳步。
- show vlan brief:看端口到底划在哪个 VLAN,端口状态是否正常
- show interfaces status:看端口是否 up,双工和速率是否协商正常
- show interfaces trunk:看 Trunk 状态,允许的 VLAN 列表,Native VLAN 是否一致
- show interfaces fastEthernet 0/1 switchport:看单个端口的详细配置,包括 Access VLAN、Trunk Native VLAN
- show ip interface brief:看三层接口是否起来,有没有配 IP
排查 ICMP 不通时,不要只盯着 ping 的结果。先在源 PC 上用 ipconfig 确认 IP、掩码、网关是否填对,再用 ping 网关的方式分段定位。PC1 ping 不通网关,问题在 PC 到交换机这段;网关能通但跨网段不通,问题在路由或 Trunk。这种分段排查的思路,比反复猜命令高效得多。
5.2 我踩过的五个典型坑
第一个坑是端口模式忘改。交换机端口默认是 dynamic auto,如果你忘了改成 access,直接划入 VLAN,端口可能因为 DTP 协商变成 Trunk,导致 PC 收到的帧带 Tag,PC 不认识,直接丢包。现象就是配置看着都对,但就是不通。解决办法就是显式配置 switchport mode access。
第二个坑是 Native VLAN 不一致。前面说过,这个坑在 Packet Tracer 里也不会有太明显的报错,但你传一个大流量测试时会发现时通时不通。尤其是你把 Native VLAN 改成非默认值之后,一定记得两端同步修改。
第三个坑是单臂路由子接口的 encapsulation 和 VLAN ID 对不上。路由器子接口是根据 Tag 来区分 VLAN 的,如果你在 g0/0.10 子接口写了 encapsulation dot1Q 20,就会把 VLAN 20 的帧当 VLAN 10 处理,后果就是路由表错乱,ping 不通。配置时多核对一遍。
第四个坑是 PC 忘记设置网关。在 Packet Tracer 里这个问题更隐蔽,因为 PC 有默认的网关地址吗?没有。如果你只在路由器配置了子接口,没在 PC 的 IP Configuration 里填 Default Gateway,跨 VLAN ping 永远不通。检查这个只要几秒钟,但很多人会漏掉。
第五个坑是 delete 或重开实验后没有保存配置。Packet Tracer 里的设备配置如果不存到 startup-config,关闭软件再打开就全部丢失。实验做一半想休息,建议先把配置保存下来,省的第二天重温昨天的痛苦。保存命令:
Switch# copy running-config startup-config在 Packet Tracer 里,这个命令同样有效,每次配置完一个环节就保存一次,是我做实验的习惯。
5.3 用模拟模式辅助定位问题
Packet Tracer 有个其他模拟器没有的好功能,就是右下角的 Simulation 模式。进入模拟模式后,再发一个 ping 包,你会看到数据包以动画形式从 PC 经过交换机、Trunk、路由器到达目标设备,每一步都能点击查看帧的详细内容,包括以太网头部里的 VLAN ID 值。
这个功能对学习 802.1Q 的过程极其有帮助。我第一次真正看懂 Tag 是加在哪个位置、怎么被剥掉的,就是在 Simulation 模式里反复看帧结构。如果你对 VLAN 的原理还停留在“背概念”阶段,强烈建议做一次模拟模式观察。有一次我给一个同事演示 PC1 ping PC2(跨交换机同 VLAN)的全过程,当他看到交换机在 Trunk 端口给帧打上 802.1Q Tag,对端交换机收到后根据 Tag 转发到对应 Access 端口再把 Tag 剥掉,他整个人一下子就通了。这就是从“会敲命令”到“懂原理”的关键一步。
6. 实验心得与扩展方向
这次实验做完,你会发现 VLAN 的配置命令本身并不复杂,复杂的是整套数据转发逻辑。Access 端口负责接入终端,Trunk 端口负责跨设备传输,802.1Q Tag 负责给帧打 VLAN 标记,三层设备负责跨 VLAN 路由,每个环节都有自己的职责。只有把这些角色串起来,你才算真正掌握了 VLAN。
我个人在实际操作中的体会是,VLAN 实验最忌讳贪多求快。一条命令一条命令敲,敲完一步验证一步,再着急也别跳步。表面上多花了一点时间,实际上少踩的坑的价值远远大于省下的那几分钟。
这个实验还可以继续扩展的方向,至少有三个:一是做 VLAN 间 ACL 过滤,控制不同 VLAN 之间的访问权限,比如只允许 VLAN 10 访问 VLAN 20 的特定服务器;二是在 Trunk 链路上做 Port Security,限制 MAC 地址数量,这是接入层安全的基础操作;三是引入 DHCP 服务器,实现不同 VLAN 自动获取 IP 地址,配合 DHCP Relay 做跨网段地址分配,这是园区网最常见的部署场景。
最后再分享一个实用小技巧:Packet Tracer 里做完实验后,可以把整个拓扑文件专门保存一份作为模板,下次做类似实验直接改 IP 和 VLAN 号,省去重复画拓扑的时间。我在带团队做网络方案验证时,就是靠这套模板快速出一版仿真配置,给客户做展示的效率高很多。实验做到这种程度,就不再是简单验证书本理论,而是真正开始像做工程一样思考了。