Eu tenho essa base para iptables quando tenho um novo servidor para configurar:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Keep state.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Loop device.
-A INPUT -i lo -j ACCEPT
# Allow PING from remote hosts.
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# allow ssh port 22
-A INPUT -p tcp --dport 22 -j ACCEPT
# allow foobar public IP
-A INPUT -p tcp -s 9.8.7.6 -j ACCEPT
# Allow outgoing trafic
-A OUTPUT -p tcp -d 1.2.3.4 -j ACCEPT
-A OUTPUT -o enp8s0 -d 0.0.0.0/0 -j ACCEPT
COMMIT
Eu carrego este arquivo com iptable-restore < file
.
O problema é que quando eu lavo com iptables -F
, fico bloqueado.
O que devo fazer para evitar ser bloqueado?
Como no comentário abaixo da pergunta, antes de liberar, verifique se as políticas padrão não estão bloqueando você.
Outro caminho a percorrer é não usar
iptables -F
, mas ter outro arquivo de regras para restaurar o estado básico. De fato, existe umiptables
comando de família separado, que é seguro no que diz respeito a verificar se tal bloqueio não ocorre. Éiptables-apply
e é usado de forma semelhante aiptable-restore
, mas verifique suasman
páginas para diferenças e detalhes.Uma maneira detalhada é definir
ACCEPT
todas as políticas para todas as conexões antes de liberar:Então :