Featured image of post Vultr 通过快照从空路由状态恢复,并手动配置网络

Vultr 通过快照从空路由状态恢复,并手动配置网络

Vultr 的 VPS 由于被 DDOS 而空路由,恢复时间最长需要 24 小时。本文介绍通过从快照新建机器的方式快速将原服务恢复并迁移到新机器上。由于是在空路由状态下建立的快照,需要手动配置网络。

今天早上收到 vultr 发来的邮件,说由于被 DDOS 攻击,VPS 被空路由了。该 VPS 上架设了我的另一个服务,需要快速恢复访问。vultr 最长的空路由时间是 24 小时,无法等待那么久。于是想通过快照新建机器的方式快速恢复。

首先在 vultr 后台打开 VPS,新建 snapshot:

vultr 的快照目前是无限量 + 完全免费的。

建议在建立快照的时候将服务器 stop 掉。

等待快照建立完成,然后新建机器,在 server type 当中选择刚刚建立的快照,用相同或更高配置恢复:

恢复完成后,会发现虽然提示 VPS 为 Running,但实际并不能连上。这是由于建立快照的时候原先的服务器处于空路由状态,vultr 把机器空路由时会将机器内部的网络配置文件删掉。所以这里需要手动配置网络。

点击机器上部的 view console,通过在线 vnc 连上 VPS,输入 root 用户名和密码登录。vnc 不受网络中断的影响。

键入ifconfig,发现这时候网络配置确实只有一个 lo,没有公网 IP:

由于 vultr 对不同 Linux 发行版使用的网络配置方式不同,需要在控制台具体查看你的 Linux 发行版对应的网络配置方式:

这里以 Ubuntu 20.04 为例,使用的是 netplan 配置网络。

输入ip a命令查看需要配置的公网网卡名称,vultr 的话一般是enp1s0(注意是数字1而不是小写字母l,这地方把我坑了好久):

下面新建以该网卡命名的 netplan 网络配置文件,输入命令:nano /etc/netplan/10-enp1s0.yaml(也可以使用 vim),输入以下配置,表示由交换机 DHCP 自动配置 IP 地址:

1
2
3
4
5
6
network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: yes

其中 enp1s0 是刚才查出来以及新建配置文件采用的网卡名称。注意 yaml 的格式比较严格,多一个少一个空格都不行,可以上网搜搜 yaml 的规范。

保存后运行netplan apply更新网络配置,然后再用ifconfig查看,发现已经正确配置好网卡并分配到了公网 IP 地址,服务可以通过公网访问,ssh 也能正常连上了。

最后将域名之类的解析到新 VPS 的 IP 就行了,注意将旧的 VPS 删掉,因为 vultr 即使在 VPS 关机状态下仍然会收费。

Licensed under CC BY-NC-SA 4.0