号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
有些网工,以为 VLAN 通了,Trunk 打通了,VLANIF 配上了,就等于 VLAN 间互通。
但真测起来,不同 VLAN 设备互 ping,不通。
比如:
- VLAN10:192.168.10.X
- VLAN20:192.168.20.X
- 两端设备各自能 ping 通网关
- 但 VLAN10 的 PC,ping VLAN20 的 PC,死活不通
别急着怀疑 ACL、防火墙,其实问题 80% 就是——
1. 根本没开启三层转发(或者路由没配好)
二层交换机只是做广播域隔离,三层交换机才负责不同 VLAN 之间的“路由转发”。
说白了:
★ VLAN 是二层隔离, VLANIF 是三层网关, 真正负责不同网段互通的,是交换机内部的“路由功能”。
场景1:VLANIF 配了,但没开启 ip routing
有些低端交换机,默认不开三层转发。不启用 IP 路由功能,VLANIF 全配了也白搭。
怎么看?
display ip routing-table
如果命令返回:“The function is not enabled” 那就是没开三层转发。
开启三层转发:
ip routing
开完之后,再查一次路由表,有内容了再测。
场景2:VLANIF 配了,路由表有,但没下一跳
如果目标 VLAN 的网段,路由表根本没记录, 那流量根本不知道怎么转。
比如:
- 你配置了 VLAN10 和 VLAN20 的 VLANIF
- 但 VLAN30 你忘了加 VLANIF 或路由
- 那 VLAN10 ping VLAN30,怎么都不通。
排查:
display ip routing-table
确认目标网段有没有路由条目。 如果缺少,就补 VLANIF,或者做静态路由。
场景3:有三层网关,但流量走了外部设备
还有一种低级错误:本来可以在核心交换机内部三层转发,结果用户默认网关写错了,走外部防火墙或路由器,再兜回来。
- 导致链路多跳
- NAT 打翻
- ACL 拦截
- 性能抖死
正确做法:
网段之间的互通,尽量让三层交换机本地转发,走 VLANIF 出口, 性能才最优,路径也最短。
2. 补充一招:怎么快速确认是三层转发问题?
用核心交换机做源 ping,直接发起跨 VLAN 测试:
ping -a 192.168.10.1 192.168.20.10
如果核心上发包也不通,那问题 100% 就是三层转发没打通。
总结
排查 VLAN 间不通,一定要走这几步:
- VLAN 是否配置正确?
- 接口 VLAN / Trunk 放行了没?
- VLANIF 有没有配好?
- 三层路由功能开了吗?(ip routing)
- 路由表里有目标网段吗?(display ip routing-table)
- 流量是不是被错误导向出去了?
一句话:
VLAN 打通只是第一步,
真正让不同 VLAN 互通,靠的是三层交换的路由转发能力。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部