¿Firewalld está bloqueando el tráfico de retorno?

¿Firewalld está bloqueando el tráfico de retorno?

Estoy en Debian 7 intentando reenviar solicitudes a otras máquinas a través de firewalld y tengo la siguiente configuración:

--HOSTNAME-- ----IP-----  ------------Configuration-------------
Firewall     192.168.0.2  (Debian 7, firewalld,       static ip)
DHCP         192.168.0.3  (Debian 7, isc-dhcp-server, static ip)
DNS (Master) 192.168.0.4  (Debian 7, bind9m,          static ip)
DNS (Slave)  192.168.0.5  (Debian 7, bind9,           static ip)

Mis reglas firewalld sobre DNS (maestro y esclavo)

<zone>
  <short>Public</short>

  <port protocol="udp" port="53"/>
  <port protocol="tcp" port="53"/>
</zone>

Mis reglas firewalld sobre firewall

<zone>
  <short>Public</short>

  <forward-port to-addr="192.168.0.4" to-port="53" protocol="tcp" port="53"/>
  <forward-port to-addr="192.168.0.4" to-port="53" protocol="udp" port="53"/>
</zone>

Cuando intento

$ ping hostname.mylocaldomain.com

Desde cualquiera de las máquinas, es exitoso porque tengo todo configurado en resolv.conf para usar mi servidor DNS. El problema es que me gustaría enrutar todo el tráfico a través del firewall. Sin entrar en cuál es el objetivo general, describiré el problema en cuestión:

Digamos que cambio /etc/resolv.conf en DHCP para que apunte al firewall y le permita enrutar la solicitud al lugar apropiado:

search mylocaldomain.com
nameserver 192.168.0.4
nameserver 8.8.8.8
nameserver 8.8.4.4

El ping falla, así que usé tcp dump y obtuve lo siguiente

# tcpdump port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
18:06:01.377752 IP PingFromMe.mylocaldomain.com.47588 > firewall.mylocaldomain.com.domain: 4279+ A? ns2.mylocaldomain.com. (34)
18:06:01.469696 IP PingFromMe.mylocaldomain.com.37619 > firewall.mylocaldomain.com.domain: 36025+ A? ns2.mylocaldomain.com.mylocaldomain.com. (47)
18:06:01.638045 IP firewall.mylocaldomain.com.42684 > ns1.mylocaldomain.com.domain: 41778+ PTR? 6.0.168.192.in-addr.arpa. (42)
18:06:01.639278 IP ns1.mylocaldomain.com.domain > firewall.mylocaldomain.com.42684: 41778* 1/2/0 PTR firewall.mylocaldomain.com. (113)
18:06:01.639486 IP firewall.mylocaldomain.com.36812 > ns1.mylocaldomain.com.domain: 54761+ PTR? 3.0.168.192.in-addr.arpa. (42)
18:06:01.639881 IP ns1.mylocaldomain.com.domain > firewall.mylocaldomain.com.36812: 54761* 1/2/0 PTR PingFromMe.mylocaldomain.com. (107)
18:06:02.641371 IP firewall.mylocaldomain.com.39348 > ns1.mylocaldomain.com.domain: 6957+ PTR? 4.0.168.192.in-addr.arpa. (42)
18:06:02.642031 IP ns1.mylocaldomain.com.domain > firewall.mylocaldomain.com.39348: 6957* 1/2/0 PTR ns1.mylocaldomain.com. (106)

No estoy seguro si estoy viendo esto correctamente, pero me PARECE que todo funciona, el tráfico de retorno simplemente no se dirige a PingFromMe.mylocaldomain.com.

Mi pregunta es triple.

  • ¿Lo que creo que sucede aquí es la razón por la que no obtengo la resolución del nombre de host?
  • ¿Firewalld no está configurado para realizar enrutamientos como este?
  • Y por supuesto, ¿cómo soluciono esto?

*Nota: Las IPDEBERÍAser el mismo que en la lista de configuración, por lo que cuando mire mi captura tcp, solo por brevedad, consulte las máquinas por nombre de host, por favor.

información relacionada