FirewallD es el software para Firewall en GNU/Linux, disponible para varias distribuciones Linux (Derivados Debian, RHEL, Suse Linux entre otros), administra las reglas en zonas, según lo que conozco es una interfaz que administra las reglas de iptables.
La curiosidad es que para realizar la opción enrutador en las versiones anteriores que en distribuciones Linux como RHEL 7 y sus equivalentes en tiempo en otras distribuciones era simple, cambiar de zonas y luego automáticamente ya funcionaba, pero en versiones recientes tanto en distros como RHEL 10 y sus equivalentes en Debian 13 por ejemplo ya no funciona y se tiene que crear políticas. Anotamos las reglas que fueron escritas y funciona.
El escenario es un servidor con dos interfaces de red, e.g. enp0s3 y enp0s8, enp0s3 es la de cara a internet y enp0s8 es la red interna.
firewall-cmd --zone=external --add-interface=enp0s3 --permanent
firewall-cmd --zone=internal --add-interface=enp0s8 --permanent
firewall-cmd --set-default-zone=external
firewall-cmd --permanent --new-policy=internal-external
firewall-cmd --permanent --policy=internal-external --set-target=ACCEPT
firewall-cmd --permanent --policy=internal-external --add-masquerade
firewall-cmd --permanent --policy=internal-external --add-ingress-zone=internal
firewall-cmd --permanent --policy=internal-external --add-egress-zone=external
firewall-cmd --reload
Agregamos los servicios dns y dhcp a la zona interna (si se necesita servicios)
firewall-cmd --permanent --zone=internal --add-service=dhcp --add-service=dns
firewall-cmd --reload
--permanent de preferencia se debe usar al inicio o despues de firewall-cmd, porque con tabulador se completa.
En RHEL 7 para enrutador ers solo tres reglas
firewall-cmd --zone=external --add-interface=enp0s3 --permanent
firewall-cmd --zone=internal --add-interface=enp0s8 --permanent
firewall-cmd --set-default-zone=external
Reitero en versiones nuevas tanto en derivados Debian y RHEL no funciona y se tiene que crear una politica.
Saludos cordiales.