努力
加油

重启阿里云服务器后无法访问,常见故障有哪些?

重启 ECS 后连不上,这确实是运维里最让人头秃的场景之一。别慌,这种情况通常不是服务器“坏了”,而是网络链路、安全策略或者系统启动过程中的某个环节卡住了。

作为在阿里云踩过无数坑的过来人,我把排查思路按概率从高到低给你梳理一遍,建议按照这个顺序一步步来,基本能解决 90% 的问题。

第一步:先别急着 SSH,用 VNC(远程连接)救命

这是最重要的一点。只要还能通过阿里云控制台的“远程连接”(VNC)连进去,说明系统内核没崩,只是网络不通或端口被拒。

如果 VNC 都进不去,黑屏或者报错,那大概率是磁盘挂载失败、文件系统损坏或者内核 panic,这时候得先看云监控里的日志,或者尝试重置实例(注意备份数据)。

如果能进 VNC,请按以下顺序排查:


1. 安全组规则是否生效?(高频故障点)

很多时候我们改了安全组,但忘了点击“保存”或者“生效”,或者改错了方向。

  • 检查点:
    • 登录阿里云控制台 -> ECS 实例 -> 安全组。
    • 确认入方向是否有允许 TCP 协议 22 端口(SSH)或 3389 端口(RDP)的规则。
    • 关键点:源地址是不是写成了 0.0.0.0/0?如果你只写了你当前的 IP,而你的公网 IP 变了(比如动态公网 IP),那就连不上了。
    • 常见坑:有些用户为了安全,把安全组改成了“自定义”,结果忘记加默认规则,导致所有流量都被丢弃。

2. 防火墙(iptables/firewalld/ufw)拦截

即使安全组放行了,服务器内部的防火墙可能把你挡在外面了。特别是重启后,某些服务可能因为配置错误没有正常启动,或者防火墙规则被意外清空/重载。

  • Linux (CentOS/Ubuntu):
    • 在 VNC 里执行 systemctl status firewalld 或 ufw status。
    • 如果是 CentOS 7+,试试临时关闭防火墙测试:systemctl stop firewalld。如果能连上,说明是防火墙规则问题。
    • 检查 /etc/sysconfig/iptables 或 nftables 配置。
  • Windows Server:
    • 进入 VNC,打开“高级安全 Windows Defender 防火墙”,检查入站规则中“文件和打印机共享(回显请求 – ICMPv4-In)”和“远程桌面”是否启用。

3. 弹性公网 IP(EIP)绑定状态

如果你的 ECS 使用的是 EIP,而不是直接分配的公网 IP,重启后 EIP 可能会解绑或状态异常。

  • 检查点:
    • 控制台 -> 网络与安全 -> 弹性公网 IP。
    • 确认该 EIP 是否还绑定在这台 ECS 上。
    • 有时候重启会导致网卡驱动加载异常,EIP 绑定关系虽然还在,但底层路由表没刷新。尝试在控制台解绑再重新绑定一次 EIP,强制刷新 ARP 表。

4. 网卡配置与 DHCP 问题

对于使用私有网络(VPC)的 ECS,重启后网卡可能需要重新获取 IP。

  • 检查点:
    • 在 VNC 里执行 ip addr 或 ifconfig。
    • 看主网卡(通常是 eth0 或 ens3x)是否获取到了正确的私网 IP。
    • 如果 IP 变成了 169.254.x.x,说明 DHCP 失败,可能是云厂商底层网络波动,或者你的 /etc/network/interfaces 或 /etc/sysconfig/network-scripts/ifcfg-eth0 配置有误(比如 BOOTPROTO=dhcp 但 DNS 配错)。
    • 注意:有些老系统重启后会恢复默认网络配置,覆盖了你之前手动修改的静态 IP 设置。

5. SSH 服务未启动或监听地址变更

这是最隐蔽的一个问题。

  • 检查点:
    • 在 VNC 里执行 ss -tlnp | grep :22 或 netstat -tlnp | grep :22。
    • 确认 sshd 进程是否在运行,并且监听了 0.0.0.0:22。
    • 关键配置:检查 /etc/ssh/sshd_config。
      • ListenAddress 是否被改成了特定的内网 IP?如果是,且重启后内网 IP 变了,就听不到了。
      • PermitRootLogin 是否被设为 no?如果你用 root 登录,会被拒绝。
      • PasswordAuthentication 是否被设为 no?如果你没配密钥,只能靠密码,这里必须为 yes。

6. 磁盘挂载失败导致系统只读或启动中断

如果重启后,系统卡在某个启动阶段,或者提示 Read-only file system,可能是 /etc/fstab 里有错误的磁盘挂载项。

  • 现象:VNC 能进,但命令执行很慢,或者无法写入任何文件。
  • 原因:你在关机前卸载了一个数据盘,但没从 /etc/fstab 里删除对应的挂载行。重启时系统试图挂载一个不存在的设备,导致启动超时或进入紧急模式。
  • 解决:在 VNC 里检查 df -h,看根分区是否为只读。如果是,尝试重新挂载为读写:mount -o remount,rw /,然后编辑 /etc/fstab 修复错误行。

7. 云监控与事件总线中的“实例健康状态”

最后,去阿里云控制台的“事件中心”看看有没有系统事件。

  • 比如“实例因健康检查失败自动重启”、“实例所在宿主机故障迁移”等。
  • 如果发生过迁移,有时需要等待几分钟让网络路由完全收敛,期间会短暂失联。

总结排查清单(快速版)

  1. 能不能 VNC 进? → 不能:查云监控日志/重置实例;能:继续。
  2. 安全组开了吗? → 检查入方向 TCP 22/3389,源地址 0.0.0.0/0。
  3. 内部防火墙关了吗? → systemctl stop firewalld 测试。
  4. EIP 绑定了没? → 解绑重绑一次。
  5. SSH 跑起来没? → ss -tlnp | grep 22。
  6. IP 对吗? → ip addr 看是否拿到正确私网 IP。

预防建议:

  • 永远不要信任单一入口。重要服务器务必开启 VNC 远程连接功能,并设置强密码。
  • 修改安全组、防火墙、SSH 配置前,先在测试环境验证。
  • 定期备份系统快照,尤其是修改核心配置文件前后。

希望这些能帮你快速恢复服务。如果还有具体报错信息,可以贴出来,我再帮你细看。