El servidor DNS externo no puede resolver el nombre de dominio externo cuando se utiliza una IP pública dentro de la red interna

El servidor DNS externo no puede resolver el nombre de dominio externo cuando se utiliza una IP pública dentro de la red interna

Yo suelo nslookupconsultar desde una computadora dentro de la red interna. Puede resolver con éxito el nombre de dominio externo si uso la IP privada de mi servidor DNS.

> www.ust.hk
Servidor: 192.168.28.58
Dirección: 192.168.28.58#53

Respuesta no autorizada:
Nombre: www.ust.hk
Dirección: 143.89.14.1

Sin embargo, si uso la IP pública de mi servidor DNS dentro de la red interna, no puedo resolver el nombre de dominio externo.

$ nslookup
server wxyz
Servidor predeterminado: wxyz
Dirección wxyz#53
> www.ust.hk
Servidor: wxyz
Dirección: wxyz#53
el servidor no puede encontrar www.ust.hk: RECHAZADO

Si examino el dns.log, indica que el nombre de dominio externo está denegado.

(www.ust.hk): consulta (caché) 'www.ust.hk/A/IN' denegada

No es razonable porque se permite la recursividad para la red interna. Es normal que no pueda resolver el dominio externo si la computadora está ubicada fuera de la red interna.

Tengo el archivo de configuración nombrado como se muestra a continuación:

acl "trusted" {
               192.168.0.0/16;
               localhosts;
               localnets;
};

options{
listen-on port {any;};
listen-on-v6 port 53 { none; };
allow-query { any; };
allow-recursion {trusted;};
allow-query-cache {trusted;};
....
};

Me pregunto qué causó este problema. ¿El problema se debe a una mala configuración del firewall? Como el dns.log indica que está denegado, no parece ser un problema de firewall.
He incluido la regla NAT de loopback pero todavía no ayuda. Recuerde que el servidor DNS está ubicado en la zona DMZ.

Otra edición

Editar 1

Para el punto: "cambie la configuración de NAT para no cubrir este tráfico específico para que la fuente siga siendo local". Parece más factible, pero me pregunto cómo hacerlo.

La IP PDNS1 (pública) está en la zona WAN, mientras que la IP PDNS1 (privada) está en la zona DMZ.

Nuestra marca de Firewall es Sonicwall. La NAT actual es:
fuente-original: Cualquier
fuente-traducida: Pdns(Público)
Destino-original: Pdns(Público)
Destino-traducido: Pdns(Privado)
servicio-original: DNS(Servicios de nombres)
servicio-traducido: Original

Las otras dos reglas NAT son NAT reflexivas uno a uno ordinarias.

No sé cómo no cubrir el tráfico específico para que la fuente siga siendo local. Por favor amablemente avise y explique más detalles. Muchas gracias.

Editar 2

Para el punto: "agregue su IP pública (a lo que está sNATed a la lista de redes locales)", probé la siguiente configuración. Es cierto que la consulta de DNS utilizando una IP pública dentro de la red interna puede resolver con éxito el nombre de dominio externo.

Desafortunadamente, la consulta de DNS que utiliza una IP pública fuera de la red interna también puede resolver el nombre de dominio externo. No es deseable porque se convierte en un servidor DNS abierto que sería vulnerable a un ataque de amplificación de DNS.

acl "confiable" {
219.189.213.25;
192.168.0.0/16;
hosts locales;
redes locales;
};

Para el punto: "habilitar la respuesta para el dominio desde cualquier IP (puede que no esté dispuesto)"

Creo que significa la siguiente configuración de nombrado.conf: recursividad sí;
o
permitir-recursión {cualquiera; };
permitir-query-cache {cualquiera; };

Asimismo, haría que el servidor DNS se convirtiera en DNS abierto, lo cual es muy indeseable.

Editar 3

  1. La siguiente es una consulta DNS con IP privada dentro de la red interna:
    [root@pdns1 ~]# nslookup
    server 192.168.28.58
    Servidor predeterminado: 192.168.28.58
    Dirección: 192.168.28.58#53
    www.hku.edu.hk
    Servidor: 192.168.28.58
    Dirección : 192.168.28.58#53
    Respuesta no autorizada:
    Nombre: www.hku.edu.hk
    Dirección: 147.8.2.58

  2. La siguiente es una consulta DNS con IP pública dentro de la red interna:
    servidor 219.189.213.25
    Servidor predeterminado: 219.189.213.25
    Dirección: 219.189.213.25#53
    www.mingpao.com
    Servidor: 219.189.213.25
    Dirección: 219.189.213.25#53
    ** el servidor puede No encuentro www.mingpao.com: RECHAZADO

El siguiente es dns.log:
16 de enero de 2020 20:40:12.460 seguridad: información: cliente @ 0x7f963c508310 219.189.213.25#43529. (www.mingpao.com): consulta (caché) 'www.mingpao.com/A/IN' denegada

El siguiente es queries.log:
16 de enero de 2020 20:39:42.109 consultas: información: cliente @ 0x7f963c0a3ce0 192.168.28.58#60338 (www.hku.edu.hk): consulta: www.hku.edu.hk IN A + (192.168.28.58)

16 de enero de 2020 20:39:42.401 consultas: información: cliente @ 0x7f963c58e9c0 192.168.28.58#58101 (www.hku.edu.hk): consulta: www.hku.edu.hk IN AAAA + (192.168.28.58)

16 de enero de 2020 20:40:12.460 consultas: información: cliente @ 0x7f963c508310219.189.213.25#43529 (www.mingpao.com): consulta: www.mingpao.com IN A+ (192.168.28.58)

¿Es cierto que la solicitud provino de WAN?

Respuesta1

La pregunta/sugerencia sería cómo puede acceder a su servidor DNS una vez que intenta acceder a él mediante una IP pública...

Una vez que llegue al servidor utilizando una IP pública en DMZ, lo más probable es que su tráfico ya esté sNAT. Desde el punto de vista del servidor su comunicación no es local. Verifique el registro una vez más: allí está visible la IP desde donde vino la solicitud...

Para que funcione puedes:

  • habilitar respuesta para el dominio desde cualquier IP (puede que no esté dispuesto)

  • cambie la configuración de NAT para no cubrir este tráfico específico para que la fuente siga siendo local

  • agregue su IP pública (a lo que está sNATed a la lista de redes locales)

información relacionada