Esta entrada viene a cuenta de una pregunta en un comentario de otra entrada de este blog, Script para hacer NAT en Debian. Donde se comenta que tras hacer un reboot, reinicio, del sistema las iptables se borran o no cargan nuevamente.

Netfilter-persistent save

Podemos pensar, de hecho lo pensé en su momento, que con este comando debería guardar los cambios y mantenerlos tras un reboot. Pues no, no en mi caso. Distro utilizada Debian 11.

Por si a alguien le interesa, hay que instalarlo para poder usarlo.

apt install netfilter-persistent

iptables-persistent

Tras investigar, googlear y tomar mis notas y posteriormente montarme una VM de test comencé el prueba error y buscar la solución.

La primera pista me la dio la propia instalación del paquete netfilter-persistent, veámoslo con una captura.

Paquetes sugeridos iptables-persistent. Pues vamos con la prueba, instalemos también el paquete sugerido.

apt install iptables-persistent

Tras instalar el paquete, nos pregunta si deseamos guardar las reglas actuales. Como ya las tenía creadas, he dicho si. Puede decirse no y crearlas luego y guardarlas.

De ese modo, cualquier regla previamente creada que esté activa, será guardada y tras un reinicio (reboot) volverán a cargarse.

¿Dónde se guarda el fichero?

Sencillo, en la captura anterior lo muestra.

/etc/iptables/rules.v4 para las reglas de IPv4
/etc/iptables/rules.v6 para las reglas de IPv6

Puede editarse con nano o hacerle un cat para leerlo.

/etc/iptables/rules.v4

Resumen

Si instalas solo netfilter persisten no se guarda, hay que instalar ambos.

apt install iptables-persistent netfilter-persistent

De esta forma podrás guardar tus reglas y que se carguen tras un reinicio. Por último y para finalizar esta pequeña entrada, si creas nuevas reglas con iptables y quieres guardarlas en el fichero /etc/iptables/rules.v4, debes ejecutar el siguiente comando tras añadir las reglas.

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