You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

清空路由表后如何重新连接EC2 Ubuntu实例?

如何通过AWS控制台恢复执行sudo ip route flush table main后的EC2 Ubuntu实例连接

执行sudo ip route flush table main会清空实例的主路由表,导致实例无法与外部网络建立连接,包括SSH。你可以通过AWS控制台的以下几种方式恢复连接:

方式一:使用EC2串行控制台

  1. 登录AWS控制台,进入EC2服务页面,定位到目标实例。
  2. 在实例详情页的「监控」标签下找到「串行控制台」,点击「连接」。
  3. 在串行控制台窗口中按Enter激活登录提示,输入实例用户名(Ubuntu默认是ubuntu),通过密钥或密码登录实例(如果未设置密码,可通过AWS控制台重置实例密码)。
  4. 登录后执行命令恢复路由:
    # 手动添加默认路由,替换<网关IP>和<网卡设备名>(通常是eth0或ens5)
    sudo ip route add default via <网关IP> dev <网卡设备名>
    # 或者重启网络服务,Ubuntu 18.04+适用:
    sudo systemctl restart systemd-networkd
    # 若使用netplan,重新应用配置:
    sudo netplan apply
    
  5. 路由恢复后,尝试重新通过SSH连接实例。

方式二:挂载根卷到临时实例修复

  1. 停止故障EC2实例(停止操作不会丢失根卷数据,临时卷数据会被清除)。
  2. 在实例详情页的「存储」标签下,找到根卷,点击「分离卷」。
  3. 启动同可用区的临时Ubuntu EC2实例,将分离的根卷附加到临时实例(挂载点可设为/dev/sdf)。
  4. 登录临时实例,挂载该根卷:
    sudo mkdir /mnt/recovery
    sudo mount /dev/sdf1 /mnt/recovery
    
  5. 进入挂载的系统目录,确保网络配置正确:
    • 检查/mnt/recovery/etc/netplan/*.yaml文件,确认网关配置无误;
    • 若需要,可在/mnt/recovery/etc/rc.local(不存在则创建)中添加开机自动恢复路由的命令:
      ip route add default via <网关IP> dev <网卡设备名>
      
  6. 卸载根卷:sudo umount /mnt/recovery,将其重新附加回原故障实例,启动原实例后尝试SSH连接。

方式三:使用EC2 Rescue for Linux工具

  1. 在EC2实例详情页,点击「操作」→「实例设置」→「启动EC2 Rescue」。
  2. 按照向导完成操作,工具会自动检测并修复网络路由类问题,包括恢复主路由表。

注意事项

  • 操作前建议为根卷创建快照,避免数据意外丢失;
  • 串行控制台需要提前在账户或实例级别启用,若未启用,优先选择方式二。

内容的提问来源于stack exchange,提问作者ekene

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:46:07