Linux 网络不通或不稳定:在终端里诊断并修复

一份循序渐进的 Linux 网络故障排查指南:检查网卡和路由、沿路径定位丢包、重连 Wi-Fi,并端到端验证连通性。

Linuxifconfig 网卡配置路由网络路由故障排查IP低风险
先运行 `ip -br a`,确认网卡处于 UP 状态并且拿到了 IP 地址。

快速开始

Linux 机器断网或网络又慢又不稳定时,正确做法是自下而上系统排查:网卡、路由、路径,最后是整体连通性。本指南只使用经过验证的命令,帮你定位故障点并确认修复效果。

症状

?网站或主机无法访问、SSH 频繁掉线、ping 失败或丢包、网络时快时慢——在没有图形界面的服务器或通过 SSH 操作时尤其常见。

确认网卡是否有 IP 地址

先从最底层排查:很多网络问题其实只是网卡处于 DOWN 状态或没有拿到 IP。用一条命令就能以表格形式列出所有接口的状态和地址,几秒钟判断是不是链路本身的问题。如果接口显示 DOWN 或没有地址,要修的是连接,而不是路由。

一条命令就能把每个网卡的名称、状态和 IPv4/IPv6 地址打印成简短表格——这是取代又长又难记的 `ifconfig` 和冗长的 `ip addr` 输出的现代做法。

命令
$ ip -br a

查看目标地址实际走的路由

如果网卡看起来正常,直接问内核:访问目标会走哪个接口、用哪个源地址和网关。这一步能立刻暴露默认网关错误或流量走了错误接口的情况——这是“有的机器通、有的不通”的常见原因。只要输出里的网关符合预期,说明路由没问题。

让内核直接告诉你去某个地址走哪个网卡、哪个网关、用什么源 IP,不用自己翻路由表猜。

命令
$ ip route get 192.168.1.10

长时间观察是否存在间歇性丢包

只 ping 一次几乎说明不了问题。用带时间戳的持续 ping 抓住丢包和延迟突发的时机,并和具体事件(重启、大文件下载、某个时段)对上。如果出现丢包或回复中断,就复现了故障,也知道了它何时发生。

LinuxLinux 上持续 ping 并显示时间戳低风险步骤 3可选

让 ping 一直运行,并在每条回复前打印 Unix 时间戳,方便定位丢包发生的具体时间。

命令
$ ping -D 8.8.8.8

定位丢包发生在路径的哪一跳

如果目标能通但很慢或经常丢包,需要判断问题出在自家网络、运营商还是靠近服务器的位置。mtr 会持续探测每一跳并实时显示每个路由器的丢包率和延迟,从而精确定位质量劣化的那一跳。如果某跳开始丢包且后续每跳都丢,问题就在那里。

Linux用 `mtr` 诊断网络路径与丢包低风险步骤 4可选

连接慢或不稳定时,traceroute 只能给一张静态快照。mtr 会持续对路径上每一跳发包,实时显示每个路由器的丢包率和延迟。

命令
$ mtr -rw example.com

Wi-Fi 断开时重新建立连接

如果前面的排查显示接口 DOWN 或连接缺失(在通过 SSH 管理的无界面服务器上很常见),用 NetworkManager 在终端里重新连上。这种方式会重新建立关联并保存连接配置,重启后依然生效。成功的标志:接口恢复 UP,之前的检查也能看到 IP 地址了。

Linux用 `nmcli` 在终端连接 Wi-Fi低风险步骤 5可选

服务器或 SSH 会话里没有图形界面——NetworkManager 的 nmcli 可以完全在命令行下扫描、连接并保存 Wi-Fi 配置。

命令
$ nmcli device wifi connect "MySSID" password "MyPassword"
▾ 撤销
撤销
$ nmcli connection delete "MySSID"

确认整条路径恢复正常

修复完成后对目标做一次 traceroute:每一跳都应在合理时间内响应,最后一跳应该就是目标主机。与排查阶段 mtr 的结果对比,看之前出问题的那一跳是否消失或改善。每一跳都稳定回复,说明整条路径已端到端验证通过。

经典的「一用就忘」命令:traceroute 会列出你与目标之间的每一台路由器,以及探测包到每一跳的往返时间。

命令
$ traceroute example.com

从外部验证出网是否正常

最后确认你不只是能到网关,而是真的能上网。打印出口公网 IPv4 地址可以证明 DNS、路由和 NAT 端到端都正常。能返回地址就说明连接已完全恢复;如果挂了 VPN,还能看出流量是否真的从 VPN 出去。

Linux用 curl 一行命令查公网 IP低风险步骤 7可选

终端里直接显示路由器或 VPN 出口的公网 IP,不用打开浏览器。

命令
$ curl -s https://api.ipify.org
!通过 SSH 修改网络配置可能把自己锁在机器外面——在确认新配置可用之前,不要关闭当前会话。

如何确认已解决

对目标做一次干净的 traceroute 且每一跳稳定回复,再成功查到公网 IP,即可确认路由和出网已恢复正常。

一键全部撤销

上面每一条命令都可以撤销。按此顺序执行即可全部还原。

一键全部撤销
$ nmcli connection delete "MySSID"

执行前请先确认——部分步骤之间可能并非相互独立。

来源

最后验证: 2026-09-21

相关指南