Informática‎ > ‎Configuración de redes‎ > ‎DNS‎ > ‎

Solución de problemas con DNS

Añade a /etc/resolv.conf
nameserver 192.168.1.10
nameserver 192.168.1.11

Usa la utilidad dig para asegurarte que está escuchando en el puerto 53.

dig -x 127.0.0.1

Si has configurado Bind como nameserver de Caching, utiliza dig para comprobar que mejoran los tiempos:

dig google.com

En el primer dig devuelve "Query time: 49msec"
En el segundo dig devuelve "Query time: 1msec"

Usa la utilidad ping para enviar una petición de eco ICMP.

ping example.com

Esto testeará si el nameserver puede resolver el nombre ns.example.com.
Debe devolver algo parecido a:

PING ns.example.com (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.800 ms

Un buen modo de comprobar tu archivo de zona es usando named-checkzone que viene en el paquete bind:

named-checkzone example.com /etc/bind/db.example.com

Si todo está bien debe devolver:

zone example.com/IN: loaded serial 6
OK

Para comprobar el archivo de zona inversa:

named-checkzone example.com /etc/bind/db.192

LOGGING

Hay variadas opciones de configuración de logging pero hay dos principales.
La opcion channel dice donde van los logs, y la category determina qué información va al log.

Edita /etc/bind/named.conf.local. [añadir aquí como]

Desde que el demonio named corre como usuario bind el archivo /var/log/query.log debe estar creado y la propiedad cambiada:

sudo touch /var/log/query.log
sudo chown bind /var/log/query.log

Antes de que el demonio named pueda escribir en el nuevo log, el AppArmor debe ser actualizado. Primero edita el /etc/apparmor.d/usr.sbin.named y añade:

/var/log/query.log w,

Luego recarga el archivo:

cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r

Ahora reinicia Bind9:

sudo /etc/init.d/bind9 restart

Comprueba el /var/log/query.log para ver que todo es OK.

TIPOS DE REGISTRO DNS COMUNES


Registro A: mapea una IP para un nombre de host
www    IN    A    192.168.1.12

Registro CNAME: se usa para crear un alias de un registro A existente. No se puede crear un CNAME que apunte a otro CNAME.
web    IN    CNAME    www

Registro MX: define donde se debe enviar el correo. Debe apuntar a un registro A y no a un CNAME.
    IN    MX    1    mail.example.com
mail    IN    A        192.168.1.13

Registro NS: define que servidores serviran copias de una zona. Debe apuntar a un registro A, y no a un CNAME. Aquí es donde se definen los servidores Primario y Secundario. Ojo con el punto al final.
    IN    NS    ns.example.com.
    IN    NS    ns2.example.com.
ns    IN    A    192.168.1.10
ns2    IN    A    192.168.1.11