号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
网络排障最怕的不是设备坏了,也不是链路断了,而是那种你感觉一切都配对了、物理连通没问题、ping 却死活不通的情况。
我前阵子就遇到一个案例——两台主机分属不同 VLAN,本来 VLAN 间通信应该没问题,但我一通抓包、改配置、查路由,折腾了一个小时,最后才发现只是一个小小的参数没配。
1. 场景背景
设备:三层交换机(支持 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
2. 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(或者系统默认开启)
- 思科设备默认开启路由转发
3. 问题现象
配置完后,PC1 能 ping 自己网关,PC2 也能 ping 自己网关,但是PC1 ping 不通 PC2。
抓包发现:
- PC1 发出了 ICMP 请求
- 三层交换机收到了包
- 但是没发出去,像是被“卡”在 VLANIF 接口了
4. 排查思路
我当时的排查流程:
检查 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,但不会做三层转发。
5. 解决过程
执行:
[Switch] ip routing
再测试:
- PC1 ping PC2 → 成功
- PC2 ping PC1 → 成功
问题解决,用时 1 小时 3 分钟,其中 1 小时浪费在没想到是 ip routing 没配。
6. 总结教训
不要假设设备默认行为有的厂商默认三层转发是关闭的,需要显式开启。
VLAN 间路由排障思路VLAN → VLANIF IP → 路由表 → ACL → 三层转发开关。
小参数大麻烦一个开关没开,可以让你怀疑整条链路的配置。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
1万+

被折叠的 条评论
为什么被折叠?



