iptables-apply
é especificamente projetado para isso. Aplica suas regras e, em seguida, solicita que você afirme. Se você não afirma, isso os reverte. Portanto, se você bloquear o sistema ou se bloquear com a aplicação, ele será revertido.
Como estou aprendendo sobre o iptables, cometi alguns erros e me tranquei.
Qual método você usa para testar regras sem se bloquear?
Estou usando o servidor Ubuntu 12.04 LTS
Todas as respostas abaixo foram úteis. No final, usei uma combinação de opções. Também ajuda a ter acesso IPMI ao seu servidor remoto apenas por precaução! Mas, idealmente, teste as regras localmente em um ambiente replicado e teste-as primeiro. O Vagrant ajuda, nesse sentido, a obter configurações de teste que funcionam rapidamente.
iptables-apply
é especificamente projetado para isso. Aplica suas regras e, em seguida, solicita que você afirme. Se você não afirma, isso os reverte. Portanto, se você bloquear o sistema ou se bloquear com a aplicação, ele será revertido.
What method(s) do you use to test rules without locking yourself out?
Pense no efeito do que você está digitando antes de digitá-lo.
locked myself out
Antes de começar a alterar as coisas remotamente que podem bloqueá-lo, insira uma regra de aceitação correspondente à sua conexão no início da lista. De volta para cima com um script de watchdog que irá redefinir todas as regras para o que estava funcionando quando você começou, se você não redefinir o timer. Você pode fazer isso com um loop de monitoramento de arquivo e executar o comando touch
para redefinir o registro de data e hora enquanto trabalha nas coisas. Apenas lembre-se de desligá-lo quando finalizar as regras. O formato muito simples disso é:
sleep $((10*60)) && iptables-restore /path/to/working/script
Você pode configurar o iptables sem uma regra de DROP padrão na sua cadeia de entrada. Se você criar uma regra e, em seguida, colocar este comando:
$ iptables -nvL
Depois, você vê as contagens de pacotes e vê se tem ocorrências do seu host.
Outra opção também é criar um crontab que execute um script. Dentro desse script, você pode escrever
$ iptables -F
Com este comando você pode liberar seu IPTABLES-config
.