DNS configuración

La siguiente configuración se aplica específicamente al sistema operativo Debian.
Berkeley Internet Name Domain (BIND) es una implementación del protocolo DNS. Si el computador está permanentemente conectado a Internet, puede resultar ventajoso instalar BIND para mantener una tabla local con todos los nombres que resuelve el DNS autoritativo de la red.
Para configurarlo, comenzamos ingresando al root, por ejemplo, corriendo un "Terminal de <Root>" en el menú "Aplicaciones/Accesorios" o en el mismo menú, un "Terminal" y luego el comando su, e instalamos el paquete bind9 utilizando el siguiente comando:

apt-get install bind9

Configuración del servidor primario

La configuración avanzada de BIND aquí presentada es apta para un servidor Debian con número IP estático y conectado permanentemente a Internet.
Para definir un nuevo dominio y hacer que el servidor actúe como su DNS autoritativo, necesitas primero haber comprado un dominio en un registro de nombres de dominio y definir el servidor de nombres primario del nuevo dominio con el número IP y FQDN del servidor BIND. En nuestro caso el dominio que utilizamos es: tadmin.cure.edu.uy.
BIND, a pesar de ser un servidor DNS, funciona en base a zonas y no dominios. Una zona es una parte del árbol de dominios sobre el cual el servidor tiene total
información y autoridad. Contiene todos los nombres de dominio a partir de cierto punto del árbol.
Por lo tanto, debemos agregar la zona que vamos a administrar en el archivo de configuración local de BIND (/etc/bind/named.conf.local) y su zona inversa, para que puede responder pedidos en ambos sentidos.

Podemos ver en la imagen que llamamos a la zona como el dominio y es de tipo “master”, ya que esta zona contiene los datos de todos los dominios que cuelgan a partir de la etiqueta “tadmin” e indicamos el archivo donde se encontraran (/etc/bind/db.tadmin.cure.edu.uy).
Se sigue el mismo procedimiento para crear la zona inversa.
Una vez definidas nuestras zonas primarias, pasamos a crear sus correspondientes archivos donde detallaremos la zona.

Creamos el archivo de la zona “tadmin.cure.edu.uy”, (/etc/bind /db.tadmin.cure.edu.uy):

Los archivos de zona contienen información sobre un espacio de nombres particular y es nombrado de acuerdo a la opción file en la declaración zone en el archivo de configuración local.
Cada archivo de zona contiene directivas y registro de recursos. Las directivas le dicen al servidor de nombre que realice tareas o aplique configuraciones especiales a la zona, las mismas son opcionales. Los registros de recursos son obligatorios para proporcionar los servicios, definen los parámetros de la zona y asignan identidades a hosts individuales.
Los comentarios se realizan después del símbolo ;.

Las directivas comienzan con el símbolo $, seguido de su respectivo nombre. En este caso agregamos la directiva “$TTL” la cual ajusta el valor Time to Live predeterminado para la zona. Es el tiempo, en segundos, que un registro de recurso de zona es válido.
Luego pasamos a definir el registro de recursos de la zona.

El registro SOA (Start of Authority) es el primero en el archivo de zona, el cual declara la información de autoridad. El símbolo @ equivale a la directiva “$ORIGIN” o al nombre de la zona como el espacio que está siendo definido por el registro SOA.
Seguido colocamos el nombre del host del servidor de nombres que tendrá autoridad para este dominio y su administrador.

Una directiva a tener en cuenta es la “serial” (<serial-number>). La misma es un valor numérico que se debe incrementar a medida que se realizan cambios en este archivo para así indicar al “named.conf.local” que debe recargar la zona. También es usado en el caso de tener esclavos para avisarles que deben refrescar su información.
Utilizamos otras directivas como:
  • Refresh: <time-to-refresh>, es el tiempo que los servidores esclavos deben esperar para preguntar al servidor maestro por cambios en la zona.
  • Retry: <time-to-retry>, es el tiempo que los servidores esclavos deben esperar antes de emitir una petición de actualización de datos en caso de que el servidor maestro no responda.
  • Expire: <time-to-expire>, en caso de que el servidor maestro no responda las peticiones al llegar a este intervalo de tiempo, los servidores esclavos dejan de responder a peticiones relacionadas con esta zona.
  • Negative cache TTL: <minimun-TTL>, es el tiempo que otros servidores de nombres guardaran en caché la información de la zona.
Una vez definido el registro SOA, agregamos los demás registros. Para ello colocamos el nombre del host, seguido del tipo de registro y su IP correspondiente.
Otros tipos de registros utilizados son:
  • NS: Name Server, define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio.
  • A: Address, se usa para traducir nombres de servidores de alojamiento a direcciones IPv4.
  • CNAME: Canonical Name, se usa para crear nombres de servidores de alojamiento adicionales o alias para un dominio.
  • MX: Mail Exchange, asocia un nombre de dominio a una lista de servidores de intercambio de correo.
  • PTR: Pointer, también conocido como “registro inverso”, funciona a la inversa del registro A.

De ese modo estaría terminado el archivo de la zona “tadmin.cure.edu.uy”.
Pasamos a crear el archivo de la zona inversa, el cual se utiliza para traducir una dirección IP en un nombre de dominio. Es muy similar a un archivo de zona estándar, excepto que se usan registros de recursos de tipo PTR para relacionar las direcciones IP a un nombre de dominio completamente cualificado (FQDN).

Archivo /etc/bind /db.226.73.164.in-addr.arpa:

Nótese que la zona de resolución de nombres inversa requiere que los primeros tres bloques de la dirección IP estén invertidos y seguidos por “.in-addr.arpa” (db.226.73.164.in-addr.arpa). Esto permite asociar la zona a un único bloque de números IP usados en el archivo.

Reiniciamos el servicio con el comando que se muestra a continuación y ya queda funcionando.

/etc/init.d/bind9 restart

DNS asignado por ISP

ISP son las siglas en inglés de Internet Service Provider; es decir, un proveedor de servicios en Internet el cual nos permite utilizar un DNS público para el exterior. Esta configuración es opcional, pero nos pareció interesante utilizarla ya que tiene ciertas ventajas como la velocidad de respuesta y su estabilidad.
Para utilizarlo, configuramos el archivo /etc/bind/named.conf.options.

Descomentamos la línea “forwarders” y agregamos los servidores de nombres, que en nuestro caso elegimos Google Public DNS.
Aparte de habilitar el ISP, agregamos una condición para permitir únicamente que las máquinas internas realicen consultas del DNS, y así estar más protegidos y no ser visibles en el exterior de nuestra red.

Se pueden mantener ambos servicios de DNS, el primario es necesario para que nuestra red funcione, el ISP es opcional.

Fuente: ftp://ftp.isc.org/isc/bind9/cur/9.10/doc/arm/Bv9ARM.pdf

1.png (14 KB) Sabrina Caraballo, 07/14/2016 09:19 PM

3.png (17.9 KB) Sabrina Caraballo, 07/14/2016 09:21 PM

4.png (23.5 KB) Sabrina Caraballo, 07/14/2016 09:21 PM

2.png (18 KB) Sabrina Caraballo, 07/14/2016 09:21 PM