hello,我是网工小陈。
网络排障最怕的不是设备坏了,也不是链路断了,而是那种你感觉一切都配对了、物理连通没问题、ping 却死活不通的情况。
我前阵子就遇到一个案例——两台主机分属不同 VLAN,本来 VLAN 间通信应该没问题,但我一通抓包、改配置、查路由,折腾了一个小时,最后才发现只是一个小小的参数没配。
2. 场景背景
设备:三层交换机(支持 VLAN 间路由)
主机:
PC1 → VLAN 10,IP:192.168.10.10/24,网关:192.168.10.1 PC2 → VLAN 20,IP:192.168.20.20/24,网关:192.168.20.1 需求:PC1 和 PC2 能够互相访问
接口规划:
VLAN 10 → 三层交换机接口 VLANIF 10 → 192.168.10.1 VLAN 20 → 三层交换机接口 VLANIF 20 → 192.168.20.1
3. VLAN 间路由的基本条件
在三层交换机上实现 VLAN 间通信,需要满足这几个前提:
VLAN 创建并加入接口
vlan batch 10 20
interface GigabitEthernet 0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet 0/0/2
port link-type access
port default vlan 20三层接口(VLANIF)配置 IP
interface Vlanif 10
ip address 192.168.10.1 255.255.255.0
interface Vlanif 20
ip address 192.168.20.1 255.255.255.0开启三层转发功能
在某些厂商(如华为)上需要 ip routing
(或者系统默认开启)思科设备默认开启路由转发
4. 问题现象
配置完后,PC1能 ping 自己网关,PC2 也能 ping 自己网关,但是PC1 ping 不通 PC2。
抓包发现:
PC1 发出了 ICMP 请求 三层交换机收到了包 但是没发出去,像是被“卡”在 VLANIF 接口了
5. 排查思路
我当时的排查流程:
检查 VLAN 配置VLAN 10 和 VLAN 20 都有成员接口,没问题。
检查 VLANIF IP 配置都正确,子网掩码也没错。
检查路由表
<Switch> display ip routing-table
Destination/Mask NextHop
192.168.10.0/24 Direct
192.168.20.0/24 Direct路由正常。
检查 ACL没有限制 ICMP。
检查三层转发开关问题就在这!设备上三层功能默认是关闭的,需要用:
[Switch] ip routing
开启全局路由功能,否则 VLANIF 接口虽然有 IP,但不会做三层转发。
6. 解决过程
执行:
[Switch] ip routing
再测试:
PC1 ping PC2 → 成功 PC2 ping PC1 → 成功
问题解决,用时1 小时 3 分钟,其中 1 小时浪费在没想到是ip routing
没配。
7. 总结教训
不要假设设备默认行为有的厂商默认三层转发是关闭的,需要显式开启。
VLAN 间路由排障思路VLAN → VLANIF IP → 路由表 → ACL → 三层转发开关。
小参数大麻烦一个开关没开,可以让你怀疑整条链路的配置。


发表回复