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 Servicio de Dominio y Directorio.

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]Bind9: 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.

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 a través del servidor autoritario, el cual almacenará 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.

Diagrama de una consulta DNS

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.

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

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

Proxy DNS transparente

El proxy DNS transparente nos permite obligar a los clientes a usar nuestro servidor DNS sin tener que cambiar la configuración de los clientes. Cuando esta opción está activada las peticiones de resolución de nombres son redirigidas al servidor DNS de Zentyal. Para que esta configuración sea efectiva, los clientes deben usar Zentyal como puerta de enlace. Para habilitar esta opción es necesario tener activado el módulo de cortafuegos.

Proxy DNS transparente

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.

Redirector DNS

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]Servidores raíz: 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.

Lista de dominios

Lista de dominios

Podemos observar el dominio “local” que se configura automáticamente al instalar el módulo Zentyal DNS. Este dominio refleja el dominio de directorio, y en sus registros DNS se puede encontrar información acerca de los 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. Es imprescindible reiniciar el servidor tras esta operación.

Podemos registrar cualquier número de dominios en nuestro servidor DNS. Estos dominios pueden ser eliminados o modificados sin las consideraciones aplicadas al dominio “local”.

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

Añadiendo un dominio

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.

Añadiendo un host

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.

Añadiendo un alias

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.

Añadiendo un intercambiador de correo

Añadiendo un intercambiador de correo

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

Añadiendo un nuevo servidor de nombres

Añadiendo un nuevo servidor de nombres

Los registros de texto son registros DNS que ofrecen información adicional a un dominio o un nombre de maquina usando texto plano. Esta información puede ser util para uso de software. Un uso común es para mecanismos antispam como SPF o DKIM.

Añadiendo un registro de texto

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.

Añadiendo un registro de servicio

Añadiendo un registro de servicio