如果出现故障,如何回滚通过 SSH 完成的网络配置更改?

如果出现故障,如何回滚通过 SSH 完成的网络配置更改?

我将iptables通过 SSH 更改配置、接口速度和双工设置。如果主机无法访问,有哪些可能性可以回滚更改?我想很简单:

ip addr add 10.10.10.1/24 dev eth0; ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0

..有点风险,因为如果 SSH 连接在 IP 地址更改后立即断开,那么 shell 也应该被杀死并且ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0部分永远不会执行?crontab如果远程主机上发生危险的更改,是否应该使用?还有什么巧妙的方法吗?

答案1

screentmux会话中,设置一个 shell,该 shell 将在延迟后撤消您的更改。我对此一无所知iptables,所以对此无能为力,但在改变 FreeBSD 上的实时防火墙配置时,类似这样的事情在很多场合都挽救了我的困境:

# In one `screen` or `tmux` window
% sleep 60 && <command to reverse changes>

在另一个窗口中,您现在可以进行更改,如果它们有效,您可以杀死sleep.请注意,因为我们使用的是&&,所以当您终止时,取消更改的命令将不会运行sleep

如果您的更改不起作用,请等待几秒钟,您的退出命令将运行。

相关内容