Una vez que se apliquen reglas en iptables
, se perderán cuando se reinicia el sistema. Para que se mantengan (una vez aplicadas las que queremos), deberemos hacer lo siguiente:
iptables-save > /etc/firewall.conf
Crearemos el archivo /etc/network/if-up.d/iptables
y dentro pondremos:
#!/bin/sh
iptables-restore < /etc/firewall.conf
iptables-restore < /etc/firewall.conf
Sólo falta hacerlo ejecutable y listo:
chmod +x /etc/network/if-up.d/iptables
Cualquier cambio que queramos hacer será modificando el archivo /etc/firewall.conf
o ejecutando las reglas por comandos y salvarlas de nuevo como al principio:
iptables-save > /etc/firewall.conf
Fuente: http://rackerhacker.com/2009/11/16/automatically-loading-iptables-on-debianubuntu/
Exelente tutorial, pero una pregunta, dentro del /etc/firewall.conf tengo que poner las reglas que comiencen con iptables…. ? o solamente tengo q poner la otra parte, porque me da el siguiente error:
root@asterisk:/etc/asterisk# iptables-save /etc/init.d/iptables.cf
Unknown arguments found on commandline
Lo mejor es que hagas lo que pongo al final. Crea las reglas iptables como siempre (desde la línea de comandos) y cuando estén funcionando bien, haces el «iptables-save > /etc/firewall.conf» para que se carguen en el inicio y queden permanentes.
El comando que te da error está mal. Primero, en /etc/init.d no deberías guardar la configuración porque ahí residen los scripts que se cargan al inicio (por eso yo pongo /etc/firewall.conf).
Segundo, te faltaría poner la redirección de la salida, esto es, el símbolo de mayor «>» para sobrescribir el archivo /etc/firewall.conf.