Servicio de resolución de nombres de dominio (DNS)

Nuestra configuración de DNS es vital para el funcionamiento de la autenticación en redes locales (implementada con Kerberos a partir de Zentyal 3.0), los clientes de la red consultan el dominio local, sus registros SRV y TXT para encontrar los servidores de tickets de autenticación. Como hemos comentado anteriormente, este dominio viene preconfigurado para resolver los servicios Kerberos a partir de la instalación. Para más información sobre los servicios de directorio de usuarios consultar Controlador de Dominio y Compartición de ficheros.

BIND [4] es el servidor DNS de facto en Internet, originalmente creado en la Universidad de California, Berkeley y en la actualidad mantenido por el Internet Systems Consortium. La versión BIND 9, reescrita desde cero para soportar las últimas funcionalidades del protocolo DNS, es la usada por el módulo de DNS de Zentyal.

[4]http://www.isc.org/software/bind

Configuración de un servidor DNS caché con Zentyal

El módulo de servidor de DNS de Zentyal siempre funciona como servidor DNS caché para las redes marcadas como internas en Zentyal, así que si solamente queremos que nuestro servidor realice caché de las consultas DNS, bastará con habilitar el módulo.

En ocasiones, puede que este servidor DNS caché tenga que ser consultado desde redes internas no configuradas directamente en Zentyal. Aunque este caso es bastante excepcional, puede darse en redes con rutas hacia segmentos internos o redes VPN.

Tras reiniciar el módulo DNS se aplicarán los cambios.

Cuando el servidor DNS de Zentyal esta instalado y habilitado, la primera opción de resolución de cliente DNS de Zentyal (Red ‣ DNS) apuntará al servidor local 127.0.0.1, en otras palabras, siempre consultará las zonas de DNS locales primero si están presentes.

En caso de que no hayamos configurado Redireccionadores DNS en el menú DNS, el servidor DNS caché de Zentyal consultará directamente a los servidores DNS raíz por el servidor autoritario al tiene que preguntar la resolución de cada petición DNS y las almacenará localmente durante el período de tiempo que marque el campo TTL. Mediante esta funcionalidad reduciremos el tiempo necesario para iniciar cada conexión de red, aumentando la sensación de velocidad de los usuarios y reduciendo el consumo real de tráfico hacia Internet.

_images/flow_dnsquery.png

Diagrama de una consulta DNS

El dominio de búsqueda es básicamente una cadena que se añadirá a la búsqueda en caso de que sea imposible resolver con la cadena de texto que el usuario ha pedido. El dominio de búsqueda se configura en los clientes, pero se puede servir automáticamente por DHCP, de tal manera que cuando nuestros clientes reciban la configuración inicial de red, podrán adquirir también este dato. Por ejemplo, nuestro dominio de búsqueda podría ser foocorp.com, el usuario intentaría acceder a la máquina example; al no estar presente en sus máquinas conocidas, la resolución de este nombre fallaría, por lo que su sistema operativo probaría automáticamente con example.foocorp.com.

En Red ‣ Herramientas disponemos de la herramienta de Resolución de Nombres de Dominio, que mediante dig nos muestra los detalles de una consulta DNS al servidor que tengamos configurado en Red ‣ DNS.

_images/dns-01-nslookup.png

Resolución de un nombre de dominio usando el DNS caché local

Proxy DNS transparente

El proxy DNS transparente nos permite forzar el uso de nuestro servidor DNS sin tener que cambiar la configuración de los clientes. Cuando esta opción está activada todas las peticiones DNS que pasen por Zentyal son redirigidas al servidor DNS de Zentyal que se encargará de responder. Los clientes deberán usar Zentyal como puerta de enlace para asegurarnos que sus peticiones DNS sean redirigidas. Para habilitar esta opción es necesario tener activado el módulo de cortafuegos.

_images/dns-transparent.png

Proxy DNS transparente

Redirectores DNS

Los redireccionadores o forwarders son servidores DNS a los que nuestro servidor reenviará las consultas. Nuestro servidor buscará en primer lugar en su cache local, compuesta de los dominios registrados en la máquina y anteriores consultas cachedas; en caso de no tener respuesta registrada, acudirá a los redireccionadores. Por ejemplo, la primera vez que consultemos www.google.com, suponiendo que no tenemos el dominio google.com registrado en nuestro servidor, el servidor de DNS de Zentyal consultará a los redireccionadores y almacenará la respuesta en el cache.

_images/dns-forwarder.png

Redirector DNS

En caso de no tener ningún redirector configurado, el servidor DNS de Zentyal usará los servidores raíz DNS [5] para resolver consultas no almacenadas.

[5]http://es.wikipedia.org/wiki/Servidor_Ra%C3%ADz#Direcciones_de_los_servidores_ra.C3.ADz

Configuración de un servidor DNS autoritario con Zentyal

Además de DNS caché, Zentyal puede funcionar como servidor DNS autoritario para un listado de dominios que configuremos. Como servidor autoritario responderá a consultas sobre estos dominios realizadas tanto desde redes internas como desde redes externas, para que no solamente los clientes locales, sino cualquiera pueda resolver estos dominios configurados. El servidor caché responderá a consultas sobre cualquier dominio si la consulta procede de una red interna.

La configuración de este módulo se realiza a través del menú DNS, dónde podremos añadir cuantos dominios y subdominios deseemos.

_images/dns-domain_list.png

Lista de dominios

Podemos observar el dominio “local”, que se configuró durante la instalación o en el wizard de DNS más adelante. Este dominio empareja tu dominio de directorio, en sus entradas DNS se puede encontrar información acerca de anfitriones y puertos requeridos para la autenticación. Zentyal no nos permite eliminar nuestro dominio “local” directamente, para modificar este dominio tendremos que hacerlo desde Sistema –> General, y reiniciar el servidor tras esta operación.

Podemos tener cualquier número de dominios DNS simultáneamente, estos dominios pueden ser eliminados o modificados sin las consideraciones aplicadas al dominio “local”.

Para configurar un nuevo dominio, desplegaremos el formulario pulsando Añadir nuevo. Desde éste se configurará el Nombre del dominio.

_images/dns-05-adding-domain.png

Añadiendo un dominio

Dentro del dominio nos encontramos con diferentes registros que podemos configurar, en primer lugar las Direcciones IP del dominio. Un caso típico es agregar todas las direcciones IP de Zentyal en las interfaces de red locales como direcciones IP del dominio.

Una vez creado un dominio, podemos definir cuantos nombres (registros A) queramos dentro de él mediante la tabla Nombres de máquinas. Zentyal configurará automáticamente la resolución inversa. Además para cada uno de los nombres podremos definir cuantos Alias queramos. De nuevo, podemos asociar más de una dirección IP a nuestro nombre de máquina, lo cual nos puede servir para que los clientes sepan balancear entre diferentes servidores, por ejemplo dos servidores de LDAP replicados con la misma información.

_images/dns-06-adding-host.png

Añadiendo un host

Normalmente, los nombres apuntan a la máquina dónde está funcionando el servicio y los alias a los servicios alojados en ella. Por ejemplo, la máquina amy.example.com tiene los alias smtp.example.com y mail.example.com para los servicios de mail y la máquina rick.example.com tiene los alias www.example.com o store.example.com entre otros, para los servicios web.

_images/dns-07-adding-alias.png

Añadiendo un alias

Adicionalmente, podemos definir los servidores de correo encargados de recibir los mensajes para cada dominio. Dentro de Intercambiadores de correo elegiremos un servidor del listado definido en Nombres o uno externo. Mediante la Preferencia, determinamos a cuál de estos servidores le intentarán entregar los mensajes otros servidores. Si el de más preferencia falla lo reintentarán con el siguiente.

_images/dns-08-mx.png

Añadiendo un intercambiador de correo

También podemos configurar los registros NS para cada dominio mediante la tabla Servidores de nombres.

_images/dns-09-nameservers.png

Añadiendo un nuevo servidor de nombres

Los registros de texto son registros DNS que suplementán un dominio o un nombre de maquina con información adicional en forma de texto. Esta información puede ser para consumo humano o, más frecuentemente, para uso de software. Se usa extensivamente para diferentes aplicaciones antispam (SPF o DKIM).

_images/dns-txt.png

Añadiendo un registro de texto

Para crear un registro de texto, acudiremos al campo Registros de texto del dominio. Podremos elegir si el campo esta asociado a un nombre de maquina especifico o al dominio y el contenido del mismo.

Es posible asociar más de un campo de texto, tanto al dominio como a un nombre de maquina.

También se pueden añadir Servicios al dominio que informan sobre los servicios disponibles en el dominio y en qué máquinas residen. Podremos acceder a la lista de Servicios a través del campo Servicios de la lista de dominios. En cada Servicio se indicará el Nombre del servicio y su Protocolo. Identificaremos la maquina que proveerá el servicio con los campos Destino y Puerto destino. Para aumentar la disponibilidad del servicio y/o repartir carga es posible definir más de un registro por servicio, en este caso los campos Prioridad y Peso ayudarán a elegir el servidor a emplear. A menor valor en la prioridad, mayor es la posibilidad de ser elegido. Cuando dos máquinas tienen el mismo nivel de prioridad se usará el peso para determinar cual de las máquinas recibirá mayor carga de trabajo. El protocolo XMPP que se usa para la mensajería instántanea hace uso extensivo de estos registros DNS. Kerberos también los necesita para la autenticación distribuida de usuarios en diferentes servicios.

_images/dns-srv.png

Añadiendo un registro de servicio