a política de encadeamentos do INPUT está definida como DROP.
Na falta de regras, tudo é descartado.
antes de eliminar todas as cadeias, certifique-se de que todas as cadeias tenham uma política de ACEITAR a la iptables -P INPUT ACCEPT
Eu quero adicionar lista branca no meu sistema usando o iptables. Então eu pesquisei na web e achei isso:
iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -I INPUT -s 127.0.0.1/8 -j ACCEPT
iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT
iptables -P INPUT DROP
e isso realmente funciona. Então eu disparo iptable -F
para deletar todas as regras, então não consigo mais me conectar a este servidor.
O que há de errado?
Qual é a maneira correta de excluir todas as regras?
Além do anwer correto e útil de Olipro eu recomendaria algo para
evite o risco de ser bloqueado pelo seu firewall
Use um script ligado a crontab que reabra o firewall caso algo dê errado; como você sabe, você pode cometer um erro no seu sshd_config, que não causa danos reais, contanto que você ainda esteja logado. Não é assim com o iptables: um erro pode ser o suficiente e você está fora. Portanto:
#!/bin/bash
# openFW.sh
IPT=$(which iptables)
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -F
NOW=$(date +"%H:%m")
echo "FW opened on %h at $NOW" | mail -s "FW reset cron job jh1" \
[email protected]
logger "WARNING : iptables flushed and opened by cron job"
E com crontab -e
coloque algo como
#*/5 8-19 * * * /root/scripts/openFW.sh
para liberar suas regras do iptables e abrir o FW a cada 5 minutos. Descomente isso antes de editar suas regras; verifique as regras (certifique-se de que elas estejam disponíveis e que ainda não foram liberadas por este trabalho cron); depois que tudo estiver bem comente o cron flush out
Espero que isso ajude.
Tags iptables