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

Introducción a DNS

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.

Zentyal permite configurar el servidor DNS para que acepte consultas de estas subredes a través de un fichero de configuración. Podremos añadir estas redes en el fichero /etc/zentyal/dns.conf mediante la opción intnets=:

# Internal networks allowed to do recursive queries
# to Zentyal DNS caching server. Localnetworks are already
# allowed and this settings is intended to allow networks
# reachable through static routes.
# Example: intnets = 192.168.99.0/24,192.168.98.0/24
intnets =

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

El servidor DNS caché de Zentyal consultará directamente a los servidores DNS raíz a qué servidor autoritario 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.

Para que el servidor Zentyal utilice su propio servidor DNS caché, que acabamos de configurar, tendremos que ir a Red ‣ DNS y configurar 127.0.0.1 como primer servidor DNS.

_images/zentyal-dnscache.png

DNS configurado como caché local

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, resultando en una resolución de nombre con éxito en este segundo caso.

En Red ‣ Herramientas de diagnóstico 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/zentyal-dig.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/transparent_dns.png

Proxy DNS transparente

Redirectores DNS

Los redirectores son servidores DNS a que nuestro servidor enviará las consultas; sólo en caso que los redirectores no tengan respuesta nuestro servidor tratará de resolver la consulta.

El uso de los redirectores es dar acceso a nuestro servidor a servidores de nombres de dominio privados; como los dominios privados no son accesibles a través de Internet la manera de acceder a su servicio de nombres es a través de servidores específicos.

Si no queremos resolver dominios privados, es mejor no definir ningún redirector.

_images/dns_redirector.png

Redirector DNS

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. Como servidor caché responderá a consultas sobre cualquier dominio solamente desde redes internas.

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/zentyal-dns_domains.png

Lista de dominios

Para configurar un nuevo dominio, desplegaremos el formulario pulsando Añadir nuevo. Desde éste se configurará el Nombre del dominio y opcionalmente la Dirección IP a la que hará referencia el dominio.

_images/zentyal-dns-add-domain.png

Añadiendo un dominio

Una vez creado un dominio, podemos definir cuantos nombres queramos dentro de él mediante la tabla Nombres de máquinas. Para cada uno de estos nombres Zentyal configurará automáticamente la resolución inversa. Además para cada uno de los nombres podremos definir cuantos Alias queramos.

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.zentyal.com tiene los alias smtp.zentyal.com y mail.zentyal.com para los servicios de mail y la máquina rick.zentyal.com tiene los alias www.zentyal.com o store.zentyal.com entre otros, para los servicios web.

Podemos definir varias veces el mismo nombre con distintas direcciones IP, el servidor DNS irá alternando entre las distintas direcciones al contestar a las consultas sobre ese nombre. Esta característica nos permite implementar balanceo de carga entre servidores.

_images/zentyal-dnsalias.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/zentyal_dns_addmx.png

Añadiendo un intercambiador de correo

Además también podemos configurar los registros NS para cada dominio o subdominio mediante la tabla Servidores de nombres.

_images/zentyal_adddns.png

Añadiendo un nuevo servidor de nombres

Hay que mencionar que cuando se añade un nuevo dominio, se puede apreciar la presencia de un campo con valor falso en la columna Dinámico. Un dominio se establece como dinámico cuando es actualizado automáticamente por un proceso externo sin reiniciar el servidor. En Zentyal, los dominios dinámicos son los actualizados automáticamente por DHCP con los nombres de las máquinas a las que ha asignado una dirección IP, véase Actualizaciones dinámicas. Se pueden mezclar configuraciones estáticas con un dominio dinámico pero hay que tener cuidado de no usar los mismos nombres que usa el servicio DHCP para evitar conflictos y configuraciones erróneas.

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/zentyal_addtxt.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.

Los registros de servicio informan sobre los servicios disponibles en el dominio y en qué máquinas residen. Podremos acceder a la lista de Registros de servicios a través del campo Registros de servicio de la lista de dominios. En cada registro de servicio se indicará el Nombre del servicio y su Protocolo. Identificaremos la maquina que proveerá el servicio con los campos Destino y Puerto de 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.

_images/zentyal_addsrv.png

Añadiendo un registro de servicio