Como salvar as regras do iptables? [duplicado]

83

Eu crio as regras para o iptables. Mas, quando eu reinicio o computador, as regras não funcionam! Como salvar as regras no Ubuntu?

O problema foi resolvido!

faça:

Depois de escrever os comandos iptables, faça:

 1. sudo su
 2. iptables-save > /etc/iptables.rules
 3. In /etc/network/if-pre-up.d/iptables,put:

 #!/bin/sh
 iptables-restore < /etc/iptables.rules
 exit 0

 4. After, in /etc/network/if-post-down.d/iptables,put:
 #!/bin/sh
 iptables-save -c > /etc/iptables.rules
 if [ -f /etc/iptables.rules ]; then
 iptables-restore < /etc/iptables.rules
 fi
 exit 0
 5. After, give permission to the scripts:
 sudo chmod +x /etc/network/if-post-down.d/iptables
 sudo chmod +x /etc/network/if-pre-up.d/iptables

Mais informações: link Boa sorte!

    
por Gustavo 06.04.2012 / 08:08

2 respostas

123

A maneira mais fácil é usar iptables-persistent .

Instale iptables-persistent :

sudo apt-get install iptables-persistent

Depois de instalado, você pode salvar / recarregar as regras do iptables a qualquer momento:

sudo /etc/init.d/iptables-persistent save 
sudo /etc/init.d/iptables-persistent reload

Ubuntu 16.04 Server

A instalação descrita acima funciona sem problemas, mas os dois comandos para salvar e recarregar acima não parecem funcionar com um servidor 16.04. Os seguintes comandos funcionam com essa versão:

sudo netfilter-persistent save
sudo netfilter-persistent reload
    
por user213088 09.11.2013 / 15:53
37

O método genérico de salvar as regras do iptables é usar o comando iptables-save, que grava no stdout.

iptables-save > /etc/network/iptables.rules

A saída criada pelo iptables-save pode então ser lida no stdin pelo iptables-restore. Se em um servidor, sem o NetworkManager, uma abordagem comum é usar um comando de pré-inicialização em / etc / network / interfaces.

iface eth0 inet static
        ....
        pre-up iptables-restore < /etc/network/iptables.rules

Se você estiver usando o NetworkManager, deverá ser possível executar o mesmo comando a partir de um script criado em /etc/NetworkManager/dispatcher.d/. Na Documentação da comunidade - como o iptables , veja Configuração na inicialização do NetworkManager para obter mais informações.

Observe que os comandos iptables, iptables-save e iptables-restore são apenas IPv4. Para o tráfego IPv6, os comandos equivalentes são ip6tables, ip6tables-save e ip6tables-restore.

    
por andol 06.04.2012 / 08:27