Atualmente tenho este trecho:
# flush all chains
iptables -F
iptables -t nat -F
iptables -t mangle -F
# delete all chains
iptables -X
Existe a possibilidade de que alguma regra impermeável permaneça viva depois de executar isso?
A idéia é ter uma configuração de iptables completamente limpa, que possa ser facilmente substituída por um novo conjunto de regras (não importa os parâmetros do route/ifconfig).
Para responder à sua pergunta de forma sucinta, não: não haveria nenhuma regra "sobrada" depois de liberar todas as mesas. No entanto, para ser completo, você pode querer definir a política para o built-in
INPUT
eFORWARD
chains paraACCEPT
, também:Limpar regras do ip6tables:
...e isso deveria bastar.
iptables -nvL
deve produzir esta saída (ou muito semelhante):Isso irá redefinir totalmente o seu sistema iptables para um estado muito básico:
Todas as políticas serão redefinidas para ACEITAR, além de liberar todas as tabelas em uso atual. Todas as cadeias, exceto as cadeias incorporadas, não existirão mais.
Pode-se fazer isso em 1 ou 2 comandos:
Resultado:
Faz backup da configuração para iptables_backup.conf e limpa todas as regras.
Para restaurar a configuração anterior:
Sempre que preciso do firewall desabilitado é algo assim:
iptables-save > iptables.bak
service iptables stop
(estou no fedora)Você pode simplesmente descarregar
iptables
' módulos do kernel:UPD Infelizmente, bom demais para ser verdade. Enquanto houver uma regra ou uma cadeia definida pelo usuário em uma tabela, a contagem de referência do módulo correspondente será 1 e
modprobe -r
falhará. Você pode excluir regras e cadeias definidas pelo usuário assim:ou:
Além disso, você pode querer descarregar os módulos dessa maneira (sem nomes de módulos de codificação):
Pelo lado positivo, depois disso
iptables-save
produz uma boa saída vazia :)Eu tive que bloquear todas as conexões recentemente o que acabei fazendo foi
quanto a salvar eu recomendo o seguinte
Ubuntu:
Red Hat/CentOS:
Além de fazer backup de todas as regras atuais do ufw, usei isso no passado
Acho que isso pode ser útil para referência futura. Pensei em compartilhar.
Isso funcionou para mim (no Ubuntu 18.04):
Ele redefine (e desativa) o ufw e depois redefine o iptables limpando e removendo todas as cadeias. Em seguida, ele habilita o ufw novamente, mas não antes de permitir a porta 22 para acesso remoto. Os dois comandos que exigem confirmação do usuário são "forçados", garantindo que nenhuma entrada seja necessária. Consegui executar isso em uma conexão SSH ativa.
( fonte )
Aqui está como eu removo todas as regras DROP:
Feito!