Como reverter as alterações de configuração de rede feitas através do SSH em caso de falha?

5

Estou prestes a alterar a configuração de iptables , a velocidade da interface e as configurações duplex por SSH. Quais são as possibilidades de reverter as alterações em caso de host se torna inacessível? Eu acho simples:

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

.. é um pouco arriscado porque se a conexão SSH cai imediatamente após a alteração do endereço IP, o shell também deve ser eliminado e ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0 part nunca é executado? Deve-se usar crontab em caso de mudanças perigosas em um host remoto? Qualquer outro método inteligente?

    
por Martin 12.08.2014 / 12:26

1 resposta

10

Em uma sessão screen ou tmux , configure um shell que reverta suas alterações após um atraso. Eu não sei nada sobre iptables , então não posso ajudar com isso, mas algo como isso salvou meu proverbial bacon em diversas ocasiões enquanto alterava as configurações de firewall ao vivo no FreeBSD:

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

Em outra janela, você pode agora fazer as alterações e, se elas funcionarem, você poderá eliminar o sleep . Observe que, como estamos usando && , o comando para fazer o backup de suas alterações não será executado quando você matar sleep .

Se suas alterações não funcionarem, aguarde alguns segundos e seu comando de retorno será executado.

    
por 12.08.2014 / 12:37