用心打造
VPS知识分享网站

Linux连外网报Network is unreachable,路由定位与恢复指南

VPS连接外部地址时出现 Network is unreachable,先不要把它归结为DNS故障。这个提示需要沿着地址族、网卡状态、路由表和策略路由逐层查,尤其要确认报错针对IPv4还是IPv6。

先保留控制台访问方式,再改网络配置。远程SSH会话中直接删除默认路由,可能让服务器失联。

Linux云服务器到外部网络的路由路径中断示意图

先区分解析问题与地址族

getent ahosts example.com
curl -4 -I --connect-timeout 5 https://example.com
curl -6 -I --connect-timeout 5 https://example.com

把域名换成实际目标,并记录解析出的地址。IPv4可达而IPv6不可达时,优先检查IPv6地址与默认路由;不要为了一个IPv6路径问题直接重置整个IPv4网络。若域名完全无法解析,再单独检查DNS。

查看网卡、地址和默认路由

ip -br link
ip -br addr
ip -4 route show
ip -6 route show

确认承载业务的网卡处于UP状态、有预期地址,并检查对应地址族的默认路由。云平台可能通过DHCP或网络管理服务下发配置,不要照抄别人的网关地址;先核对服务商控制台给出的网络参数。

用路由查询观察实际选择

ip -4 route get 1.1.1.1
ip -6 route get 2606:4700:4700::1111
ip rule show

ip route get 查询内核针对目标地址选择的出接口、源地址与下一跳,不会发送业务请求。若它本身提示不可达,先查看默认路由、目标专用路由与策略规则;若选择了错误网卡,还要查多网卡规则和路由表。

路由查询成功也不保证远端服务可用,但能把本机无路由与更远处的连接问题分开。

检查容器和策略路由边界

报错若只发生在容器或独立网络命名空间,宿主机路由正常也不能代表工作负载正常。应在发生故障的网络命名空间中查看地址、默认路由和DNS配置。使用策略路由的机器,还需对照 ip rule show 与各路由表。

Linux的 throw 路由类型会终止当前表的查找,在没有可用后续路由时可返回网络不可达。不要只检查main表就断言本机一定有路径。

按云平台配置恢复正确路由

如果确实缺少默认路由,应先确认网关与出接口,再通过系统实际使用的网络管理器或云平台网络设置持久修复。临时的 ip route add 改动重启后可能消失,也可能与DHCP配置冲突。

维护前保存原配置和当前路由输出,确认云控制台可进入。不确定网关时不要试错添加默认路由,错误下一跳可能把现有SSH连接也切断。

在目标地址族验证并观察回归

恢复后重复 ip route get、对应地址族的连接测试,并确认应用真正使用的目标地址可达。还应查看重启后配置是否保留,以及是否只在容器、VPN或某个网络策略下复发。

需要对照不同机房的路由行为时,可以在 萤光云 或 LightNode 的独立测试VPS上复现;不要把其网关参数复制到生产机。验收是原出错进程和地址族恢复连接,且重启后路由仍正确。

FAQ

能ping通网关但目标报网络不可达?先用 ip route get 检查目标路线和策略规则,再看网关后的网络。

换DNS就能修复吗?只有域名解析失败才应先改DNS。针对数字IP同样报错时,优先检查本机路由与接口。

温馨提示

远程改网卡和默认路由前,务必确认带外控制台可用,保存现有网络配置并安排回滚窗口。

赞(0)
未经允许不得转载;国外VPS测评网 » Linux连外网报Network is unreachable,路由定位与恢复指南
分享到