Quero que minhas regras do iptables sejam carregadas automaticamente na inicialização. De acordo com o wiki do Debian, isso pode ser feito colocando um script com o nome iptables em /etc/network/if-pre-up.d/ Então eu fiz, é assim que é:
cat /etc/network/if-pre-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /etc/firewall/iptables.rules
/sbin/ip6tables-restore < /etc/firewall/ip6tables.rules
Este script funciona: se eu executá-lo como root, minhas regras de firewall são aplicadas. Mas, na reinicialização, não há regras de firewall. O que estou fazendo de errado?
A pedido: o / etc / network / interfaces (não toquei neste arquivo)
user@DebianVPS:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
networking
debian
iptables
Cheiron
fonte
fonte
/etc/network/if-pre-up.d/
não funciona mais no Ubuntu 18.04, consulte serverfault.com/questions/914493/…Respostas:
Use o
iptables-persistent
pacote para esta tarefa.Defina suas regras
/etc/iptables/rules.4
e/etc/iptables/rules.6
e não se esqueça de ativar o serviço (usandoupdate-rc.d
,chkconfig
ou você ferramenta favorita.fonte
dpkg-reconfigure iptables-persistent
.Esse problema pode estar relacionado aos bits de permissão do seu script. Qual é a saída desse comando? Inclui seu arquivo?
fonte
(date; set; echo) >> /tmp/iptables-cmd.log
, para ver quando é chamada. Também sempre imprimo o ambiente para verificar se há algum argumento passado por lá. Você pode decidir executar o iptables somente após a última interface eth *, em vez de executá-lo toda vez que uma interface for adicionada.interfaces
, vejo que você não está usando o ifupdown, mas o gerenciador de rede. É por isso que seu script não é chamado. Verifique este documento: ubuntuforums.org/showthread.php?t=1084308Por que não fazer da maneira mais fácil?
1 - crie suas regras do iptables
2 - execute "sudo apt-get install iptables-persistent", ele perguntará se você deseja salvar as regras e restaurá-las após a inicialização.
3- Você está FEITO
fonte