必须通过实际通信路径验证:先执行route -n确认条目存在且flags含u和g,再依次ping网关、目标主机,最后用ip route get和traceroute验证真实转发路径。

要确认 route add 添加的静态路由是否真正起效,不能只看命令没报错,必须通过实际通信路径验证——因为 route 命令不检查网关可达性,也不校验下一跳是否在直连子网内。
查看路由表确认条目已写入
执行 route -n,在输出中查找你添加的目标网络行。重点核对 Destination、Gateway、Genmask 和 Flags 四列:若 Flags 缺少 U(Up),说明该路由未激活;若缺少 G(Gateway),可能是误用了 -host 但填了网关地址。
注意:必须加 -n 参数,否则 DNS 反查会卡住,尤其在无 DNS 环境下可能假死或延迟数秒才返回结果。
分层验证连通性:先网关,再目标
第一步:ping 你指定的网关 IP(例如 ping -c 3 10.10.1.1)。这步失败,说明路由根本走不出去——route 不校验网关本身是否可达,它只负责把包发给那个地址。
第二步:ping 目标网络中的一个活跃主机(例如 ping -c 3 10.20.5.10)。如果第一步通而第二步不通,问题可能出在远端防火墙、ARP 解析失败,或目标主机未启用 ICMP。
当代理已经知道网站路由或内容URL,并且在启动前需要有效的sitemap XML、sitemap索引或robots.txt引用时,请使用sitemap。这是一个发布构件技能,而不是爬虫或SEO平台。
第三步:用 ip route get 10.20.5.10 查看内核实际选中的出口路径。它会明确告诉你数据包将从哪个接口发出、下一跳是谁,比 route -n 更贴近真实转发逻辑。
用 traceroute 定位路由是否被正确使用
方法一:直接 traceroute 目标地址(如 traceroute -n 10.20.5.10)。
方法二:强制走特定路由测试(适用于多网卡环境):traceroute -n -i eth1 10.20.5.10,其中 -i eth1 指定从 eth1 接口发包,确保流量经过你刚配置的那条路由。
若 traceroute 第一跳就显示 * * * 或超时,且第一跳地址正是你配置的网关 IP,说明该网关不可达或中间链路中断;若前几跳正常,但在某跳后全部超时,问题不在本地路由,而在路径下游。










