firewalld: dos NIC, dos zonas. Se ignora la zona

firewalld: dos NIC, dos zonas. Se ignora la zona

Tengo un servidor que ejecuta CentOS/RHEL 7.7 con dos interfaces de red. Estas interfaces están configuradas y funcionan correctamente. La primera interfaz, ens33, es parte de la zona "pública" del firewalld. Todas las reglas aplicadas a esta zona funcionan correctamente. La segunda interfaz, ens37, también funciona como se esperaba cuando es miembro de la zona "pública". Creé una segunda zona, "GLZ", que tiene un conjunto de reglas específicas para la función de la segunda interfaz. No puedo hacer que ninguna regla de la zona GLZ entre en vigor en esta interfaz. He configurado este tipo de configuración usando iptables muchas veces en el pasado, pero parece que no puedo obtener el efecto deseado con firewalld. Siento que me debe faltar algo fundamental con firewalld pero no sé qué podría ser. A continuación se detallan los detalles:

Guión de configuración:

NEWZONE="GLZ"

# create the new zone
firewall-cmd --permanent --new-zone=$NEWZONE
firewall-cmd --reload

# add the second NIC to the zone
firewall-cmd --permanent --zone=$NEWZONE --change-interface=ens37
# set zone target
firewall-cmd --zone=$NEWZONE --permanent --set-target=default
firewall-cmd --reload

# open necessary ports
firewall-cmd --permanent --zone=$NEWZONE --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 port protocol=tcp port=80 accept'
firewall-cmd --permanent --zone=$NEWZONE --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 port protocol=tcp port=443 accept'
# setup forwarding (see https://docs.fedoraproject.org/en-US/Fedora/19/html/Security_Guide/sec-Configure_Port_Forwarding-CLI.html)
firewall-cmd --permanent --zone=$NEWZONE --add-masquerade
firewall-cmd --permanent --zone=$NEWZONE --add-forward-port=port=22:proto=tcp:toport=2222
firewall-cmd --reload

Esto parece verse bien según el resultado de --info-zone. Ambas zonas están activas y se asigna la interfaz de red adecuada a cada zona. Cualquier cambio que haga en la zona pública afecta el tráfico en ambas interfaces y ninguna de las reglas que agrego o elimino de la zona GLZ hace ninguna diferencia.
Producción:

$ sudo firewall-cmd --info-zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
    rule family="ipv4" source address="10.0.0.0/8" port port="3306" protocol="tcp" accept
    rule family="ipv4" source address="10.0.0.0/8" port port="80" protocol="tcp" accept
    rule family="ipv4" source address="10.0.0.0/8" port port="443" protocol="tcp" accept
    rule family="ipv4" source address="10.0.0.0/8" port port="8080" protocol="tcp" accept

$ sudo firewall-cmd --info-zone=GLZ
GLZ (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens37
  sources:
  services:
  ports:
  protocols:
  masquerade: yes
  forward-ports: port=22:proto=tcp:toport=2222:toaddr=
  source-ports:
  icmp-blocks:
  rich rules:
    rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" accept
    rule family="ipv4" source address="0.0.0.0/0" port port="443" protocol="tcp" accept

información relacionada