¿Cómo guardar las reglas de iptables? [duplicar]

82

Creo las reglas para iptables. Pero, cuando reinicio la computadora, ¡las reglas no funcionan! ¿Cómo guardar las reglas en Ubuntu?

¡El problema fue resuelto!

do:

Después de escribir los comandos iptables, hazlo:

 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

Más información: enlace ¡Buena suerte!

    
pregunta Gustavo 06.04.2012 - 08:08

2 respuestas

122

La manera fácil es usar iptables-persistent .

Instalar iptables-persistent :

sudo apt-get install iptables-persistent

Después de instalarlo, puede guardar / volver a cargar las reglas de iptables en cualquier momento:

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

Servidor Ubuntu 16.04

La instalación como se describe arriba funciona sin problemas, pero los dos comandos para guardar y volver a cargar arriba no parecen funcionar con un servidor 16.04. Los siguientes comandos funcionan con esa versión:

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

El método genérico para guardar las reglas de iptables es usar el comando iptables-save, que escribe en stdout.

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

La salida creada por iptables-save puede entonces leerse en stdin por iptables-restore. Si en un servidor, sin NetworkManager, un enfoque común es usar un comando pre-up en / etc / network / interfaces.

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

Si está utilizando NetworkManager, debería ser posible ejecutar el mismo comando desde un script creado en /etc/NetworkManager/dispatcher.d/. En la documentación de la comunidad - cómo hacer iptables , consulte Configuration on Startup for NetworkManager para más información.

Tenga en cuenta que los comandos iptables, iptables-save e iptables-restore son solo IPv4. Para el tráfico IPv6, los comandos equivalentes son ip6tables, ip6tables-save e ip6tables-restore.

    
respondido por el andol 06.04.2012 - 08:27

Lea otras preguntas en las etiquetas