Skip to content
VDS · 故障排查

机器网络中断

当机器无法通过 SSH 响应、自身也无法访问互联网时该检查什么:控制台、接口状态、默认路由和过滤规则。

更新于 2026年8月23日

“网络不通”包含两种不同情况:外部无法访问这台机器,以及机器本身无法访问外部。请先从控制台入手,因为在这种情况下 SSH 不可用,而控制台始终可用——它直接连接到机器,不经过网络。

第 1 步:通过控制台进入

打开 /hosting/vds/m/<id> 的“控制台”标签页。文本控制台(串口)可以执行任何命令;如果系统没有在串口上显示提示符,则需要使用“Screen”(VNC)。如果控制台显示登录提示符,说明机器运行正常,问题出在网络,而不是启动过程。

如果没有提示符,而“Screen”中显示内核错误信息,请参阅内核崩溃:接下来该怎么办。

第 2 步:检查网卡和地址

ip -brief address
ip route

网卡上应该显示“概览”标签页中的公网 IPv4 地址,路由中应该包含一行 default via ...。常见情况:

  • 网卡处于 DOWN 状态——启用它:ip link set dev ens18 up;
  • 手动修改配置后地址消失——恢复设置文件并重启网络服务(systemctl restart systemd-networkd,或在 Ubuntu 上执行 netplan apply);
  • 没有默认路由——用 ip route add default via <gateway> 临时恢复,以重新获得访问权限,然后修复配置,否则重启后问题会再次出现。

通过 ip 所做的更改只在重启前有效。真正的修复始终在配置文件中。

第 3 步:区分“连不上”和“解析不了”

ping -c3 1.1.1.1
ping -c3 millida.net

如果地址能 ping 通而域名不能,说明网络正常,是域名解析出了问题:请前往域名无法解析(DNS)。

第 4 步:查看包过滤规则

访问丢失最常见的原因,是您自己的规则切断了登录。请检查:

nft list ruleset
iptables -S
ufw status verbose

如果您看到入站流量的策略为 DROP,且没有放行 22 端口,那就是您把自己挡在了 SSH 之外。请通过控制台恢复访问:

ufw allow 22/tcp
ufw reload

在启用防火墙之前,务必在同一组命令中放行 SSH 端口。“先拒绝、后放行”的做法会让您失去访问权限。

第 5 步:检查 SSH 守护进程本身

网络可能正常,但端口关闭,因为服务崩溃了:

systemctl status ssh
ss -tlnp | grep :22

关于如何诊断服务状态,请参阅服务无法启动:systemd 故障排查。

如果都没有帮助

从“访问”标签页启动到 SystemRescue 恢复磁盘:root 登录无需密码,机器的磁盘会显示为 /dev/sda。挂载根分区,从系统“外部”修复网络配置。完成后,切回正常启动模式并重启机器——否则它会一直启动进入 SystemRescue。