今天早上收到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地址:
|
|
其中enp1s0是刚才查出来以及新建配置文件采用的网卡名称。注意yaml的格式比较严格,多一个少一个空格都不行,可以上网搜搜yaml的规范。
保存后运行netplan apply
更新网络配置,然后再用ifconfig
查看,发现已经正确配置好网卡并分配到了公网IP地址,服务可以通过公网访问,ssh也能正常连上了。
最后将域名之类的解析到新VPS的IP就行了,注意将旧的VPS删掉,因为vultr即使在VPS关机状态下仍然会收费。