BIND no responde con autoridad

Oct 01 2020

Quiero utilizar BIND como servidor de nombres público para los dominios de las empresas. Estoy usando una instalación nueva del servidor ubuntu 20.04.1 y BIND 9.16.1. El problema es que BIND nunca responde con autoridad. Puedo ver esto usando dig. Para localizar el problema lo intenté con una única y mínima zona "example.com" pero sin éxito. El archivo de zona es db.example.com:

example.com.        86400    IN    SOA    ns1.example.com.    hostmaster.example.com. (
                                      1     ; Serial
                                      900   ; Refresh
                                      300   ; Retry
                                      86400 ; Expire
                                      600 )  ; Negative Cache TTL
example.com.        86400    IN    NS    ns1.example.com.
example.com.        86400    IN    MX    10 mail.example.com.
ns1.example.com.    86400    IN    A     123.123.123.123
mail.example.com.   86400    IN    A     125.125.125.125

Por supuesto, las direcciones IP anteriores no son las direcciones IP reales, pero la dirección IP de ns1.example.com es la dirección IP pública del sistema en el que se ejecuta BIND. named-checkzone está contento con él. En named.conf.local solo se agregan las siguientes líneas:

zone "example.com" {
    type master;
    file "/var/lib/bind/db.example.com";
};

named.conf.options:

options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    auth-nxdomain no;
    listen-on { any; };
    listen-on-v6 { any; };
    recursion no;
};

Usando dig con ANY puedo ver todos los registros en el archivo de zona pero BIND siempre responde AUTHORITY: 0 . Además, los registros A no aparecen en la sección de respuestas sino en la sección adicional. Desafortunadamente, no puedo publicar el resultado original de excavar porque parece spam. La zona está configurada como maestra y el registro NS apunta a la dirección IP del servidor en el que se está ejecutando BIND. Otro pensamiento fue que BIND puede intentar consultar "example.com" desde la raíz y sabe que no es realmente el servidor de nombres autorizado. Así que también intenté lo mismo con el dominio "example.invalid" que realmente no debería existir en ninguna parte. El resultado fue el mismo que para "example.com". Nunca tuve este problema antes. ¿Qué más puedo intentar para resolver este problema?

Respuestas

1 user1686 Oct 01 2020 at 23:00

BIND siempre responde AUTORIDAD: 0.

Eso es normal y no significa que la respuesta no sea autoritaria. Todo lo contrario, esta sección está destinada a contener registros que le dicen al cliente que la autoridad está en otro lugar ; por ejemplo, si consulta un servidor de nombres que aloja la comzona principal o incluso la zona raíz, obtendrá una respuesta de "referencia" que contiene NS registros en esta sección.

Hasta donde yo sé, una respuesta autorizada real nunca debe contener ningún registro en esta sección.

En otras palabras, está viendo la parte incorrecta de la salida de excavación. Para saber si una respuesta fue autoritaria o no, mire la sección "banderas" - la aabandera ( Respuesta autorizada ) es el indicador.

Además, los registros A no aparecen en la sección de respuestas sino en la sección adicional

Eso también es normal. No aparecerán en la sección de respuestas porque su example.comdominio no tiene ningún registro A.

Sin embargo, tiene algunos tipos de registros (NS y MX) que hacen referencia a otro nombre de dominio que tiene registros A. Normalmente, sería necesaria una segunda consulta para resolverlos en direcciones reales, pero el servidor DNS puede incluir opcionalmente esos registros A / AAAA en la sección Adicional.

Así que cuando se consulta dig example.com MX, la sección de respuesta tendrá los registros MX para example.com (es decir, exactamente lo consultada), y la sección adicional tendrá los registros AAAA / A para mail.example.com (que no lo hizo la consulta para , pero el servidor los incluyó para acelerar las cosas).