刚接手公司网络维护那会儿,最怕的就是改完路由配置后服务突然断了。有次调整完静态路由,测试时发现财务部打不开共享文件夹,折腾了一个多小时才定位到是下一跳地址写错了。从那以后,我养成了每次部署都做完整路由验证的习惯。
用ping和traceroute快速检查通路
最基础也最实用的方法就是ping。比如新增了一条去往192.168.10.0/24网段的路由,直接从网关设备上执行:
ping 192.168.10.1
如果能通,再用traceroute看实际路径是否走对了出口:
traceroute 192.168.10.1
曾经有次发现流量绕了远路,查出来是另一台设备漏配了汇总路由,及时修正避免了后续问题。
查看路由表确认条目生效
在Linux或网络设备上,用route -n或show ip route确认新路由是否已加载。特别注意优先级和掩码长度,别让更具体的路由被覆盖了。有次同事配了个/24的静态路由,结果发现有个/25的OSPF路由优先走了,排查半天才发现是metric没调好。
抓包验证实际转发行为
当怀疑策略路由有问题时,直接在接口上抓包最直观。比如配置了基于源地址选路,但不确定是否生效,可以用tcpdump看看报文到底从哪个口出去:
tcpdump -i eth0 host 192.168.5.100 -c 10
看到目标IP的流量确实从预期接口发出,心里才算踏实。
模拟故障测试冗余路径
上线前我喜欢手动关闭主线路,看备份路由能否秒级切换。比如拔掉主ISP的光纤,观察BGP邻居状态变化和路由收敛时间。有次测出备用线路要等近30秒才恢复,后来优化了BFD检测间隔才解决。
写个简单脚本定期自检
现在我每天早上会跑个脚本自动检测关键路由连通性,结果发邮件提醒。脚本逻辑很简单:依次ping几个核心网段,失败就标记告警。虽然工具简陋,但好几次提前发现了潜在问题。
这些方法都是日常运维中一点点攒下来的。网络这东西,不怕复杂,就怕想当然。每次改动后花十分钟验证一下,能省下后面几小时的排错时间。