刚把VLAN间路由这门课上完,趁着知识点还热乎,我赶紧把这堂课的推导逻辑、实验过程和踩坑记录完整复盘一遍。这门课表面上讲的是"让不同VLAN能互相通信",但真正学进去之后会发现,它贯穿了二层交换、三层路由、网关设计、ARP解析等一系列核心概念,属于典型的"看起来简单、深挖全是细节"的内容。文章不搞目录式流水账,只说课堂上真正有价值的部分:三种实现方案的原理拆解、配置命令逐条解释、流量转发过程的完整追踪,以及几个我亲自踩过、排查了很久才定位的故障场景。不管你是准备网络认证考试,还是刚接手企业网络维护的新手,这篇总结应该都能帮你少走一些弯路。
1. 为什么VLAN间路由值得专门做一次总结
先说结论:VLAN间路由是园区网设计中怎么都绕不开的一个环节。VLAN本身的作用是把一个大广播域拆成多个小广播域,技术上叫隔离二层广播,但隔离之后随之而来的问题就是——不同VLAN之间的主机默认是互不相通的。业务部门要求财务系统和办公系统能互访,教学楼需要访问数据中心,这些跨VLAN通信的需求每天都在发生,而实现它的技术正好就是课程的核心主题。
课程把VLAN间路由拆成了三个层次来讲解,这个递进思路我觉得很值得借鉴。第一层是搞清楚"为什么要路由":VLAN隔离了二层,而不同网段的通信必须依靠三层设备的转发决策,路由在这里解决的是"跨广播域寻址"的问题。第二层是搞清楚"谁来路由":路由器可以做、三层交换机也可以做,但两者在性能、成本、运维复杂度上天差地别。第三层才是"怎么配置路由":单臂路由的子接口封装、三层交换机的VLANIF接口、以及物理接口直连三种方式,各自适用不同规模的网络环境。
坦率讲,很多新手学到这里会陷入一个误区,觉得只要能ping通就万事大吉。但课后实验里我特意抓了包,发现同样一次跨VLAN ping,单臂路由和三层交换的转发路径在MAC地址变化、ARP请求出现的位置上完全不同。不理解这些底层细节,后面配ACL控制跨VLAN访问、做DHCP中继、搭配VRRP实现网关冗余的时候,一定会栽跟头。所以这篇总结不打算只罗列命令,而是把每条命令背后的流量走向都说清楚,该有的配置截图式讲解、抓包输出、排错思路都会安排上。
2. 课程核心概念:VLAN隔离与三层转发的分界
2.1 为什么VLAN隔离之后主机不能直接通信
要理解VLAN间路由,先得把VLAN隔离带来的连锁反应捋清楚。一台主机A(比如192.168.10.10/24)想和主机B(192.168.20.10/24)通信,主机A发出数据包之前会先做一个判断:目标IP和我自己的IP在不在同一个网段。判断方法是把两个IP与子网掩码做与运算,192.168.10.10与255.255.255.0得到192.168.10.0,192.168.20.10与同一掩码得到192.168.20.0,网段不同,于是主机A知道:这个包不能直接发二层帧给B,必须交给网关来处理。
这里就是关键点:网关在哪里?如果两台主机在同一个VLAN里,网关通常就是接入交换机上连接路由器的那个接口IP,或者三层交换机上的VLANIF接口IP。但VLAN划分之后,主机A发出的ARP请求(询问网关MAC地址)只能在VLAN 10这个广播域里传播,VLAN 20里的主机和对应的三层网关如果不在同一个广播域,主机A就无法直接通过ARP拿到通往目标网段的二层跳板。
换句话说,VLAN隔离的本质是广播域的隔离,而跨广播域的通信必须引入三层路由决策。路由器或三层交换机收到来自VLAN 10的数据包后,剥掉二层帧头,看到目的IP是192.168.20.10,查询路由表发现192.168.20.0/24这个网段直连或通过某个接口可达,于是重新封装一个新的二层帧头,把包从正确的接口转发出去。这就是"VLAN间路由"最核心的语义。
2.2 网关、路由表、ARP三者的配合关系
课程里用了一张非常直观的对比图来解释网关的作用:主机A想把信件送到另一个小区的主机B,它不知道B的具体门牌,但它知道"小区门口有个收发室"(网关),于是把信交给收发室,收发室查了通讯录(路由表),找到B所在的小区,再把信转交给那个小区的收发室。整个过程里,收发室本身并没有拆开信看内容,它只负责查地址和决定下一站往哪送。
在技术实现上,这个"收发室"的工作流程分三步。第一步:主机A向网关IP发送ARP请求,拿到网关的MAC地址,把网关MAC作为数据帧的目的MAC。第二步:路由器收到数据帧,检查目的MAC是自己的接口MAC,于是剥掉帧头,取出IP包,通过目的IP匹配路由表,找到出接口和下一跳。第三步:路由器在出接口上再次发送ARP请求(如果ARP缓存没有目标主机的映射),拿到主机B的MAC之后,用出接口MAC作为源MAC、B的MAC作为目的MAC重新封装帧,再转发出去。
2.3 二层转发与三层转发的一个核心差异
课堂上反复强调过一个思维模型:二层交换机转发靠MAC地址表,三层路由转发靠路由表。前者工作在数据链路层,不理解IP地址的含义;后者工作在网络层,必须理解IP地址和网段的概念。这个差异直接决定了设备的角色分工——接入层交换机负责把主机接入VLAN,汇聚层或核心层的路由设备负责把VLAN串起来。
一个常见的迷惑点是:三层交换机也是交换机,它怎么就能转发IP包了?关键在于三层交换机的硬件架构里不仅有MAC地址表,还集成了三层转发的专用芯片(通常称为硬件路由引擎或转发ASIC)。它能像路由器一样维护路由表,同时又能像交换机一样用硬件线速转发,这正是它在园区网中广泛部署的根本原因。理解了这一层,就能明白为什么单臂路由方案只适合小型网络,而企业级核心层几乎清一色选择三层交换机。
3. 方案一:单臂路由——路由器子接口的完整拆解
3.1 单臂路由的适用场景与原理
单臂路由是在只有一台路由器和一台二层交换机的场景下,用最少的物理资源实现VLAN间通信的方案。所谓"单臂",就是路由器只用一个物理接口连接交换机,通过在这个物理接口上创建多个逻辑子接口,每个子接口对应一个VLAN,从而让路由器同时充当多个VLAN的网关。
这个方案的经济性一眼就能看出来:假设公司有10个VLAN,如果每个VLAN都拉一根物理网线到路由器,至少需要10个路由器接口,成本和布线复杂度都很高。单臂路由只需要一根Trunk链路把交换机上联口和路由器物理接口连起来,然后再在路由器接口上以子接口的方式拆分出逻辑单元,每个子接口打上不同的802.1Q标签,就实现了用一个物理口接入所有VLAN的效果。
当然,经济性换来的代价也很明显——所有跨VLAN流量都挤在这一条物理链路上,路由器CPU需要处理每个数据包的封装与解封装,转发性能成了瓶颈。课程里的实验数据也验证了这一点:当两个VLAN之间持续打流时,单臂路由的转发时延明显高于三层交换机,而且路由器CPU占用率一路飙升。所以单臂路由更准确的定位是:实验室环境、小型分支机构、或者临时应急方案的性价比选项。
3.2 子接口配置命令逐条解释
下面是我们课堂上使用的一套典型配置,我按常见厂商的CLI风格写出来,不同品牌的命令关键词会略有差异,但逻辑完全一致:
interface GigabitEthernet0/0/0 no shutdown ! interface GigabitEthernet0/0/0.10 encapsulation dot1q vlan 10 ip address 192.168.10.254 255.255.255.0 ! interface GigabitEthernet0/0/0.20 encapsulation dot1q vlan 20 ip address 192.168.20.254 255.255.255.0第一行先确保了物理接口处于开启状态。很多人配置子接口时忘了检查物理接口状态,导致子接口配置再完美也ping不通,这个坑我在实验里就踩过一次。encapsulation dot1q vlan 10这条命令的含义是:告诉路由器,从物理接口收到的以太网帧里,凡是带了VLAN 10标签的帧,都交给这个子接口来处理。同理,子接口发送出去的帧也会被打上VLAN 10的标签,这样交换机就能根据标签把帧转发到对应的VLAN。
IP地址配置为192.168.10.254,这是VLAN 10内所有主机的网关地址。注意几个网段之间是相互独立的,子接口.10管VLAN 10,子接口.20管VLAN 20,路由器通过路由表自动学习到这两个直连网段,从而在两者之间完成转发。
3.3 单臂路由数据流的完整追踪
这一步建议所有学习者都亲手做一遍抓包,看到真相才算真懂。假设PC1(192.168.10.10/24,网关192.168.10.254) ping PC2(192.168.20.10/24,网关192.168.20.254),完整的数据流如下:
PC1先发送ARP请求询问192.168.10.254的MAC地址。这个请求是二层广播帧,目的MAC为FF-FF-FF-FF-FF-FF,交换机在VLAN 10内泛洪,通过Trunk链路送到路由器子接口.10。路由器子接口识别VLAN 10标签后,正常应答自己的MAC地址。PC1收到ARP应答,现在它知道了网关MAC。
接着PC1构造ICMP请求包:源IP是192.168.10.10,目的IP是192.168.20.10,源MAC是自己的MAC,目的MAC是网关MAC。交换机收到这个帧后,加上VLAN 10标签,通过Trunk口发给路由器。路由器子接口.10剥掉帧头,发现目的IP不是自己,于是查路由表,匹配到192.168.20.0/24直连子接口.20。
路由器现在需要把IP包重新封装成帧发给PC2。它先查看ARP缓存,如果没有PC2的MAC映射,就在子接口.20上发起一个新的ARP请求,目标IP是192.168.20.10。这个请求带VLAN 20标签传到交换机,交换机在VLAN 20内泛洪,PC2应答。路由器拿到PC2的MAC后,以子接口.20的MAC为源MAC、PC2的MAC为目的MAC,封装好新帧,带VLAN 20标签从物理接口发出。交换机收到后去标签,根据目的MAC查MAC表,从VLAN 20的Access口转发给PC2。
回包过程完全对称,只是角色互换。注意一个细节——同一个IP包,在PC1到路由器这段,二层帧头里的源和目的MAC都是"PC1到网关"的关系;在路由器到PC2这段,MAC变成了"路由器子接口.20到PC2"的关系。抓包时如果只看到单个方向的包,很容易忽略这个MAC重写的过程,而它恰恰是单臂路由与三层交换在转发路径上的本质差异。
4. 方案二:三层交换机与VLANIF——企业级网络的标准答案
4.1 VLANIF接口的本质:交换机上的网关
三层交换机的思路和单臂路由完全不同。单臂路由把路由功能外包给了独立路由器,三层交换机则直接把路由能力内置到交换机内部,通过VLANIF接口(有些厂商叫SVI,即Switch Virtual Interface,两者是同一个概念的不同叫法)为每个VLAN提供一个三层网关。
当你在交换机上创建了VLAN 10并进入VLANIF 10接口配置IP地址192.168.10.254/24时,这台交换机就等于同时做好了两件事:转发VLAN 10内的二层帧、应答VLAN 10的ARP请求并路由进出VLAN 10的三层流量。最关键的是,这个IP地址对应的MAC是交换机本机生成的虚拟MAC,对终端设备来说,它和一台物理路由器的网关没有任何区别。
4.2 三层交换机配置过程与命令解释
课程实验里我们在一台三层交换机上完整配置了双VLAN互通,核心命令如下:
vlan batch 10 20 ! interface Vlanif10 ip address 192.168.10.254 255.255.255.0 ! interface Vlanif20 ip address 192.168.20.254 255.255.255.0 ! interface GigabitEthernet0/0/1 port link-type access port default vlan 10 ! interface GigabitEthernet0/0/2 port link-type access port default vlan 20注意vlan batch 10 20这行,它一次性创建了两个VLAN。如果不创建VLAN就直接进入VLANIF接口配置IP,在多数平台上会导致接口无法生效,因为VLANIF接口依赖于对应的VLAN存在。这也是新手很常见的一个配置顺序错误——先配VLANIF再创建VLAN,结果接口状态一直是down。
端口划分配置中,G0/0/1划入VLAN 10,G0/0/2划入VLAN 20。如果交换机还有上联核心交换机的链路,还需要配置Trunk口放行相关VLAN。在纯三层交换机自带的VLANIF方案里,只要两个接入端口都在这台三层交换机上,就不需要额外的Trunk链路,因为VLANIF网关和物理端口在同一台设备内。
补充一个关键点:有些三层交换机的平台默认没有开启三层路由功能,需要在全局配置模式下敲一条类似于ip routing的命令,否则VLANIF接口即使配了IP,也不会执行跨VLAN转发。这个"隐藏开关"经常被忽略,导致配置看起来完全正确、结果却不通。
4.3 一次路由多次转发:为什么三层交换机更快
单臂路由方案里,每一个跨VLAN数据包都要完整经历"收帧→剥帧→查路由→重新封装→发帧"的全过程,而且这些都发生在CPU里。三层交换机之所以适合做大流量核心,核心秘密是它引入了一个叫"一次路由多次转发"的机制。
当一个数据流的第一个包到达三层交换机时,交换机会完整执行路由决策,解析出目的IP对应的出接口、下一跳MAC和重新封装的二层信息,并把这些信息写入高速转发缓存。后续属于同一条流的包到来时,三层交换芯片直接在硬件层查缓存表,不再进入CPU做软路由,转发时延大大降低,吞吐量可以达到线速级别。
课程里做过一个直观对比:单臂路由场景下,路由器CPU利用率在持续跨VLAN流量下达到80%以上;三层交换机场景下,CPU占用几乎可以忽略,全部流量由硬件转发芯片承担。这个性能差异决定了两种方案的分水岭——VLAN数量少、流量小的场景,单臂路由完全够用;VLAN数量超过三五个、或者存在服务器互访这类高带宽需求时,三层交换VLANIF几乎是标准配置。
4.4 三层交换与单臂路由的选型对比
| 对比维度 | 单臂路由 | 三层交换VLANIF |
|---|---|---|
| 转发性能 | 路由器CPU处理,性能有限 | 硬件芯片转发,可线速 |
| 部署成本 | 需要单独路由器,适合小型网络 | 核心交换机成本较高,适合中大型网络 |
| 配置复杂度 | 子接口多、VLAN多时配置量大 | VLANIF配置相对集中,维护简单 |
| 链路依赖 | 所有流量共用一条Trunk链路,存在瓶颈 | 网关在交换机内部,无外部链路瓶颈 |
| 适用场景 | 实验室、小型分支机构、临时方案 | 企业核心层、汇聚层、数据中心 |
选型判断并不复杂:如果你手头只有一台二层交换机和一台多余的路由器,或者你只是想搭个测试环境,直接上单臂路由;如果这是生产网络的规划阶段,三层交换机VLANIF是更稳妥的标准答案。有一点需要特别提醒——单臂路由里那条Trunk链路一旦故障,所有VLAN间通信都会中断,而三层交换机方案中VLANIF故障影响面通常是单个VLAN,这也是可靠性设计上的重要差异。
5. 第三种思路:物理接口直连与多臂路由
除了单臂路由和三层交换VLANIF,课程还顺带提了另一种实现方式:每个VLAN单独使用一个路由器物理接口。比如VLAN 10通过交换机的一个Access口接到路由器G0/0/1,VLAN 20通过另一个Access口接到G0/0/2,路由器上不需要子接口,每个物理接口直接配置IP作为对应VLAN的网关。
这种"多臂路由"方式配置最简单、排障最直观,但它有一个致命短板——每增加一个VLAN,就需要占用路由器一个物理接口,而路由器接口数量非常有限。对于只有两三个VLAN、且路由器离交换机距离很近的场景,它可以作为快速验证方案。但放到真实生产环境里,10个VLAN就需要10个路由器接口加10根物理线缆,无论是设备成本、接口占用还是布线维护成本都不可接受。
课程里用一句话概括了三种方案的取舍逻辑:多臂路由是"最简单但最费口",单臂路由是"省口但费CPU",三层交换VLANIF是"既不费口也不费CPU,但费预算"。所以从工程实践角度看,多臂路由更多是作为理解路由原理的入门实验,而不是生产环境的常规选择。
如果把三种方案放到一张演进图上看,会发现一个清晰的脉络:接口资源不够就发明了子接口,子接口的CPU瓶颈催生了硬件三层转发。理解这条演进路线,再去接触厂商各种新概念(比如VXLAN、EVPN)时,底层逻辑其实是一脉相承的——都是在想办法用更聪明的转发模型,打破"瓶颈"和"隔离"之间的矛盾。
6. 课程实验复现:从零搭建一个双VLAN互通环境
6.1 实验拓扑与规划
动手操作往往是学习效果最好的环节。课程安排的实验拓扑很精简:一台二层交换机、一台路由器(实验一)、一台三层交换机(实验二),两台PC分别接在VLAN 10和VLAN 20下。IP规划我整理成了下面的表:
| 设备 | VLAN | IP地址 | 网关 |
|---|---|---|---|
| PC1 | VLAN 10 | 192.168.10.10/24 | 192.168.10.254 |
| PC2 | VLAN 20 | 192.168.20.10/24 | 192.168.20.254 |
| 路由器子接口.10 | VLAN 10 | 192.168.10.254/24 | 无 |
| 路由器子接口.20 | VLAN 20 | 192.168.20.254/24 | 无 |
| 三层交换机VLANIF10 | VLAN 10 | 192.168.10.254/24 | 无 |
| 三层交换机VLANIF20 | VLAN 20 | 192.168.20.254/24 | 无 |
设备之间的互联关系是:PC1物理连接二层交换机G0/0/1,PC2物理连接G0/0/2,二层交换机G0/0/24上联路由器的G0/0/0(配置为Trunk口,放行VLAN 10和VLAN 20)。三层交换机实验则直接复用同一台设备,取消路由器的参与。
6.2 二层交换机基础配置
不管实验一还是实验二,二层交换机部分的配置都是必需的,这里先把通用配置搞定:
vlan batch 10 20 ! interface GigabitEthernet0/0/1 port link-type access port default vlan 10 ! interface GigabitEthernet0/0/2 port link-type access port default vlan 20 ! interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20端口G0/0/1和G0/0/2分别以Access口形式划入VLAN 10和VLAN 20,这是接入PC的标准做法。上联口G0/0/24配置Trunk并放行两个VLAN,目的是让带标签的帧能在这个接口进出。如果忘了在Trunk口上放行VLAN,单臂路由里路由器就收不到VLAN 10和VLAN 20的帧,这是一个非常隐蔽的配置漏洞。
6.3 实验一:单臂路由配置与连通性验证
在二层交换机配置完成后,把路由器接入,开始配置子接口。这套配置在3.2节已经写过,这里只补充实验验证部分。配置完成后,先检查路由器接口状态:物理接口G0/0/0必须处于up状态,两个子接口也必须是up。在常见模拟器里直接观察接口状态即可。
从PC1发起ping测试:ping 192.168.20.10。如果通了,说明单臂路由链路完整;如果不通,优先检查以下几点:PC1的网关是否指向192.168.10.254、子接口.10的封装VLAN是否是10、交换机的Trunk口是否放行了VLAN 10和VLAN 20、路由器物理接口是否开启。这些要点挨个排查,绝大多数故障都出在这四个位置。
使用show类命令查看关键信息时,重点关注:接口/子接口状态、ARP表项、路由表、MAC地址表。在模拟器和部分真机上,通过查看MAC表可以直观地看到PC1被记录在VLAN 10内、G0/0/1口下,这个表项验证了二层链路正确。
6.4 实验二:三层交换VLANIF配置与连通性验证
三层交换实验可以完全脱离路由器,只要把PC1和PC2分别接入三层交换机的G0/0/1和G0/0/2,再按4.2节的命令配置VLAN和VLANIF接口即可。验证命令依旧是ping:PC1 ping 192.168.20.10。如果通了,再用PC1 ping网关192.168.10.254,确认网关地址可达。
这里有个值得做的验证操作:在三层交换机上查看MAC地址表,看VLANIF10对应的虚拟MAC是什么,以及查看路由表里192.168.10.0/24和192.168.20.0/24是否都以直连方式存在。如果后续需要扩展更多VLAN,只需创建VLAN、把端口划入、配VLANIF三步,扩展性比单臂路由好得多。
6.5 抓包验证:观察802.1Q标签与MAC变化
有条件的话强烈建议在PC1和Trunk链路之间接一个镜像口做抓包。我拉了Wireshark抓包,观察到的现象非常有教学价值:在交换机的Trunk口上,可以看到每个以太网帧的头部都携带了802.1Q标签,标签里的VLAN ID字段清晰地标识了帧属于VLAN 10还是VLAN 20;而在PC1的接入端口上,802.1Q标签被剥除了,PC看到的始终是无标签的普通以太网帧。
另一个抓包亮点是ARP请求的出现位置。单臂路由环境里,PC1发起目的IP为192.168.20.10的ping时,抓包能看到两个阶段的ARP:先有PC1的网关ARP(目的MAC广播、请求192.168.10.254),路由器应答后,紧跟着从路由器子接口.20发向PC2的ARP请求(目的MAC广播、请求192.168.20.10)。这个"两个ARP请求出现在不同时间点"的现象,正好印证了三层设备会为每个出接口重新解析下一跳MAC的原理。而三层交换环境里,由于VLANIF网关直接内置在同一台交换机上,ARP解析过程更简洁,第一个ARP请求就能由交换机直接应答。
7. 课堂上踩过的坑与故障排查速查表
7.1 四个典型排障场景记录
场景一:配置完全正确但PC无法ping通网关。排查过程从PC网卡属性开始,发现PC1的IP地址配置了192.168.10.10,但网关被填成了192.168.20.254。这个错误在真实工单里也经常出现——网关IP与自身IP网段不一致时,PC根本不会把包发出去。
场景二:单臂路由不通,路由器子接口状态down。检查后发现物理接口被手动shutdown了。模拟器里这个操作很容易被忽略,真机上更常见于接口被人为禁用或线缆故障。
场景三:三层交换机VLANIF配好了、PC也划入了对应VLAN,但跨VLAN不通。检查发现该平台默认关闭三层路由功能,需要在全局模式配置开启三层路由的命令。这也是课程里反复强调的"平台差异",不同厂商、不同系列的三层交换机在这个默认行为上并不一致。
场景四:能ping通网关但ping不通对端PC。抓包确认ICMP请求已经到达对端VLAN,但对端PC没有回包,最后定位到对端PC的防火墙拦截了ICMP。这个坑在实验室环境最容易被忽略,因为真实PC默认开了操作系统防火墙,而模拟器里的虚拟终端通常没有这个行为。
7.2 故障排查方法论:从底层往上逐层验证
网络排障最忌讳的是瞎猜和乱改配置。我在这门课上学到最实用的方法论是分层排查:第一层看物理层,接口状态、线缆、光模块指示灯是否正常;第二层看链路层,VLAN划分、Trunk放行、MAC表学习是否正确;第三层看网络层,接口IP、路由表、ARP表是否完整。
按这个顺序验证,每确认一层就把怀疑范围缩小一圈。比如ping网关不通时,先确认PC的IP和网关在同一网段,再确认交换机端口所属VLAN,然后检查三层设备接口状态和IP配置,最后用抓包确认ARP请求和响应是否出现。每一步都有明确的验证手段,不会出现"东改一下西改一下"的无头苍蝇状态。
7.3 VLAN间路由配置常见故障速查表
| 故障现象 | 可能原因 | 排查与解决建议 |
|---|---|---|
| PC无法ping通自己的网关 | PC网卡IP、掩码、网关配置错误 | 在PC上查看配置,确认网关与IP同网段 |
| 交换机端口VLAN划错 | 查看端口所属VLAN,改用access并明确VLAN ID | |
| 单臂路由ping不通对端VLAN | 子接口封装VLAN错误 | 核对每个子接口的dot1q VLAN编号 |
| 路由器物理接口未启用 | 确认物理接口是up状态,物理线缆无异常 | |
| Trunk口未放行对应VLAN | 在交换机上查看Trunk允许列表,补充放行 | |
| 三层交换VLANIF不通 | 未开启三层路由功能 | 在全局模式添加对应路由开启命令 |
| VLAN不存在导致VLANIF状态down | 先创建VLAN、再配置VLANIF接口 | |
| 网关ping通则对端PC不通 | 对端PC防火墙拦截ICMP | 临时关闭防火墙测试,或放行ICMP策略 |
| 对端PC网关或IP配置错误 | 检查对端PC的IP与网关是否匹配 |
8. 课后实操中的一些体会
这堂课学完之后,我个人最大的收获并不是记住了一套配置命令,而是建立了一个"从流量视角看网络"的习惯。以前遇到VLAN间不通,我习惯先去检查配置,把命令敲一遍看看有没有拼错;现在我会先在脑子里过一遍数据流:包从哪里发出来、在哪个设备做路由决策、MAC地址在哪里被重写、ARP请求应该出现在哪个广播域。按照这个思路排障,定位速度明显比乱试快得多。
另外,有条件的话强烈建议把所有实验都在两种方案之间来回切换对比。同一台交换机,同一套IP规划,先跑单臂路由抓一遍包,再改成三层交换抓一遍包,两相对比,对三层转发原理的理解会比看十遍讲义更深刻。后续课程里的DHCP中继、VRRP网关冗余、ACL跨VLAN控制,都是在VLAN间路由这个地基上长出来的枝叶,地基不打牢,上面盖什么楼都会晃。
最后想对刚开始学网络的朋友说一句:VLAN间路由不是"会敲三条命令"就够了,真正的分水岭在于你能不能用三层转发模型解释清楚一条ping包从发出到收回的完整旅程。把这趟旅程吃透,后面再遇到任何跨网段通信问题,你都会有底气说一句"我知道问题出在哪一层"。