Source: https://enmarchaconlastic.educarex.es/admin-linex/2781-resolucion-de-nombres-de-dominio-dns
Timestamp: 2018-07-22 20:24:56+00:00

Document:
emtic - Resolución de Nombres de Dominio: DNS
Existen otros paquetes que combinan estas funcionalidades como bind9, pero en su día nos decantamos por Powerdns por la facilidad de su configuración y la integración con ldap. La función del servidor DNS "autoritativo" (pdns) es proporcionar información de resolución de nombres para un dominio en particular. Recordad que básicamente consiste en traducir nombres de dominio a IPs y viceversa. La función del recursor (pdns-recursor) es proporcionar un sistema de almacenamiento en caché para acelerar la resolución de nombres y un mecanismo para resolver las consultas recursivas que realizan nuestros clientes.
- Recursiva
Las consultas iterativas, o resolución iterativa, consisten en la mejor respuesta que el servidor de nombres pueda dar. El servidor de nombres consulta sus datos locales (en nuestro caso la base de datos LDAP) y también consulta la caché (pdns-recursor) buscando los datos solicitados.
En las consultas recursivas el servidor DNS (pdns) no tiene una respuesta y repite el mismo proceso básico (consultar a un servidor remoto y seguir cualquier referencia) hasta que obtiene la respuesta a la pregunta. De esto último, se encarga el pdns-recursor.
Explicado todo lo anterior propongo una manera de configurar el servicio PowerDNS (algunas líneas) para aprovechar al máximo la funcionalidad que aporta:
El fichero /etc/powerdns/pdns.d/pdns-debian-edu.conf debe contener la línea:
Con esto, le estamos diciendo a nuestro servidor DNS que utilice como recursor el servidor que escucha en la dirección IP 127.0.0.1 y en el puerto 1553, configuración por defecto de pdns-recursor.
Recordad que el recursor se encarga de mantener una cache para acelerar la resolución de nombres y un mecanismo para resolver las consultas recursivas. Si en lugar de eso, en el fichero /etc/powerdns/pdns.d/pdns-debian-edu.conf ponemos la siguiente línea:
Le estaríamos diciendo a nuestro servidor DNS que utilice como recursor el servidor de Google cuya IP es 8.8.8.8 y no estaríamos utilizando la ventaja que nos dá tener una caché local.
Para la configuración del recursor hay que tocar el fichero /etc/powerdns/recursor.conf y concretamente la línea:
forward-zones-recurse=.=172.21.8.8
En esta línea le estamos diciendo que para las consultas recursivas utilice el servidor 172.21.8.8.
Este servidor es el que nos ha recomendado utilizar el Servicio de Infraestructura.
Si tenemos en la anterior línea varios servidores separados por ; el recursor hace balanceo entre ellos.
Si en la configuración del recursor omitimos la línea “forward-zones-recurse=.=172.21.8.8”, (configuración por defecto) el recursor intenta resolver la consulta recursiva consultando a uno de los 13 servidores RAIZ (http://es.wikipedia.org/wiki/Servidor_ra%C3%ADz) que existen en internet. Esto desencadena un proceso de preguntas y respuestas que termina por obtener una respuesta por parte de un servidor DNS autorizado de la zona para el dominio buscado.
Documentacion PowerDNS: https://doc.powerdns.com/md/
Herramientas para chequear y monitorizar el sistema DNS:
Para testear el servicio PowerDNS, obtener estadísticas de uso e información almacenada en la caché, podemos utilizar dos herramientas incluidas en la instalación:
- pdns_control: lo utlizamos para obtener información sobre el servidor "autoritativo": pdns.
- rec_control: obtenemos estadísticas del recursor y estado de la caché (p.ej. rec_control get-all).
Algunas de las herramientas más utilizadas y que todos deben conocer para comprobar el funcionamiento del DNS son: dig, nslookup, host. Pero voy a comentar una herramienta que me parece muy interesante para utlizarla en nuestros servidores y comprobar cómo se está comportando nuestro centro a nivel de DNS.
Para monitorizar las consultas DNS en un servidor principal utilizo la herramienta Dnstop.
Es una herramienta de consola diseñada para analizar el trafico DNS saliente o entrante en un maquina. El comando genera unas tablas con información útil sobre las solicitudes de DNS realizadas. Soporta IPv4 y IPv6. Algunos de los datos que se muestran son:
Tipos de registros DNS solicitados.
Dominios de Primer, Segundo o tercer nivel.
Tenemos el paquete en los repositorios Debian y solamente basta con instalarlo en nuestro servidor con “apt-get install dnstop”.
dnstop [opciones] interfaz
Para realizar la prueba he utilizado un servidor principal de un centro con la configuración recomendaba para PowerDns:
#dnstop eth0
Queries: 20 new, 748 total Wed Jan 11 12:58:12 2017
Sources Count % cum%
------------- --------- ------ ------
172.23.36.2 190 25.4 25.4
172.23.36.87 130 17.4 42.8
Esta es la salida inicial de dnstop. Muestra estadística sobre los orígenes de las peticiones DNS, pero dnstop nos aporta mucha más información. Se puede lanzar con una opción particular o podemos ir cambiando las tablas durante la ejecución del programa utilizando la pulsación del teclado:
Presionando el 1, ordena según el dominio de primer nivel mas solicitado.
Queries: 13 new, 408 total Wed Jan 11 13:09:56 2017
com 213 52.2 52.2
santaeulalia 51 12.5 64.7
net 46 11.3 76.0
Presionando la tecla d, se ordena según la ip destino de la consulta:
Queries: 44 new, 14843 total Wed Jan 11 13:15:07 2017
Destinations Count % cum%
172.23.36.2 11453 77.2 77.2
172.21.8.8 3342 22.5 99.7
8.8.8.8 38 0.3 99.9
8.8.4.4 10 0.1 100.0
Cómo podéis ver en esta última captura, la caché está funcionando correctamente ya que un alto porcentaje de las consultas se quedan en el servidor principal.
En resumen, con estos dos paquetes, la sencilla configuracion que tienen y las herramientas que hemos presentado podemos y debemos tener bajo control la resolución de nombres de nuestros centros y los problemas que esta nos pueda generar (si no es así, siempre podemos decir que son las comunicaciones ;) ).

References: Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución