Hetzner Cloud 重装 Ubuntu 22.04 后无法联网怎么办?

文章导读
Hetzner Cloud 实例重装 Ubuntu 22.04 后无法联网,通常是因为 Netplan 配置文件丢失或 Cloud-init 初始化失败。建议优先通过 Hetzner 控制台的 VNC 功能进入服务器,检查网卡配置并重新应用网络设置。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

Hetzner Cloud 实例重装 Ubuntu 22.04 后无法联网,通常是因为 Netplan 配置文件丢失或 Cloud-init 初始化失败。建议优先通过 Hetzner 控制台的 VNC 功能进入服务器,检查网卡配置并重新应用网络设置。

先说结论:大多数情况下是网络配置文件未正确生成,需在控制台通过 VNC 手动修复 Netplan 配置。

  • 先确认:通过 Hetzner Cloud Console 的 VNC 界面确认服务器是否可登录且网卡存在。
  • 先处理:检查 `/etc/netplan/` 目录下的配置文件,执行 `netplan apply` 应用配置。
  • 再验证:使用 `ping` 测试外网连通性,并检查 Hetzner 面板防火墙规则是否拦截。

命令速用版

如果可以通过 VNC 登录终端,按顺序执行以下命令尝试恢复网络:

sudo netplan generate
sudo netplan apply
ip addr show
systemctl restart networking

如果上述命令无效,检查是否存在配置文件:

ls /etc/netplan/
cat /etc/netplan/*.yaml

为什么会这样

Ubuntu 22.04 默认使用 Netplan 管理网络,重装系统时 Cloud-init 可能未正确写入网卡配置。Hetzner Cloud 依赖 Cloud-init 在首次启动时自动配置 IPv4 和 IPv6 地址,如果初始化脚本中断或镜像选择不当,会导致网卡处于无配置状态。此外,Hetzner 面板层面的云防火墙(Cloud Firewall)若开启了默认拒绝规则,也会表现为服务器内部网络正常但无法对外通信。

分步处理

步骤 1:通过 VNC 控制台登录
在 Hetzner Cloud 面板找到对应实例,点击 "Console" 按钮进入 VNC 界面。SSH 无法连接时,VNC 是唯一可靠的排查入口。

Hetzner Cloud 重装 Ubuntu 22.04 后无法联网怎么办?

步骤 2:检查网卡状态
输入命令 `ip addr` 查看网卡是否被识别。正常情况应看到 `eth0` 或 `enp0s3` 等接口。如果看不到网卡,可能是内核驱动问题,需尝试切换 Rescue 系统排查。

步骤 3:修复 Netplan 配置
进入配置目录 `cd /etc/netplan/`。如果目录为空或文件内容缺失,需创建配置文件。Hetzner 标准配置通常包含 DHCP 或静态 IP 设置。确认内容后执行 `sudo netplan apply`。若报错,使用 `sudo netplan `--debug` apply` 查看具体错误。

步骤 4:检查面板防火墙
登录 Hetzner Cloud Console,进入 "Firewalls" 页面。确认实例关联的防火墙规则是否允许 ICMP 和 SSH 端口。若不确定,可暂时解除防火墙关联进行测试。

怎么验证是否生效

执行 `ping -c 4 8.8.8.8` 测试 ICMP 连通性。若 IP 可通但域名无法解析,检查 `/etc/resolv.conf` 是否包含有效的 nameserver。使用 `dig google.com` 验证 DNS 解析。若上述均正常但业务端口不通,检查本地 UFW 状态 `sudo ufw status`,确保未误封端口。

常见坑

IPv6 配置缺失:Hetzner 默认分配 IPv6 地址,但部分 Ubuntu 镜像默认未启用 IPv6 路由,导致部分依赖 IPv6 的服务超时。可在 Netplan 配置中明确禁用 IPv6 或正确配置 Gateway。

Hetzner Cloud 重装 Ubuntu 22.04 后无法联网怎么办?

Cloud-init 重复运行:多次重装可能导致 Cloud-init 认为已初始化完成而跳过网络配置。可尝试删除 `/var/lib/cloud/instances/` 下相关记录后重启,但需谨慎操作。

面板防火墙与 UFW 冲突:同时开启 Hetzner 云防火墙和本地 UFW 时,规则优先级容易混淆。建议初期仅保留一层防火墙规则以便排查。

常见问题

重装后 SSH 连不上怎么办?

先使用 Hetzner 面板的 VNC 控制台登录服务器检查网络配置。SSH 服务可能正常但网络不通,或 SSH 配置被重置。

是否需要进入 Rescue 系统修复?

如果 VNC 也无法登录或网卡完全不可见,建议挂载 Rescue 系统排查磁盘配置。一般网络配置问题直接在 VNC 终端即可修复。

Cloud-init 日志在哪里查看?

查看 `/var/log/cloud-init.log` 和 `/var/log/cloud-init-output.log`。日志中会有网络配置阶段的执行记录,可定位初始化失败原因。

参考来源

  • Hetzner Cloud Documentation, "Getting started", https://docs.hetzner.com/
  • Ubuntu Server Documentation, "Network configuration", https://ubuntu.com/server/docs/network-configuration