7. Instalación y configuración DNS (Linux)

1 Introducción

En esta entrada vamos a instalar y configurar el servicio DNS, en una máquina servidora Linux, estos procedimientos lo llevaremos a cabo en máquinas virtuales, pero obviamente lo haremos después en el instituto donde trabajo donde tendré que instalar el DNS en real.

2 ¿Que es un servidor DNS?

Un servidor DNS es el que se encarga de resolver las ips de las máquinas que especifiquemos en nuestro fichero de configuración por nombres de dominios, con esto no ahorramos de aprendernos todas las ips y poder navegar a través de resolución de nombres (URL).

Los servidores DNS de internet se reparten las resoluciones de dominios de forma jerárquica como se muestra en la siguiente foto:

3 ¿Para que sirve tener un DNS local en nuestra red?

Montar un servidor DNS en local tiene ventajas considerables sobre todo en la velocidad que se le añade a la red local.

Solo con el simple hecho de que nuestro servidor DNS va a guardar en caché todas las resoluciones hechas recientes, nos da un incremento en velocidad. Además podemos registrar nuestra páginas web en local y no tenemos que salir al exterior para resolver esos dominios ni los que están en caché.

4. Instalación

Procederemos a instalar el servicio con el siguiente comando:

apt-get install bind9

Ahora tenemos que copiar el archivo /etc/bind/db.empty a /var/cache/bind/db.»Nombre» Habrá que hacer el procedimiento 2 veces, una para la zona normal y otra para la inversa:

cp /etc/bind/db.empty /var/cache/bind/db.oxford.local
cp /etc/bind/db.empty /var/cache/bind/db.192.168.1

5 Configuración DNS

Luego procederemos a configurar el fichero /etc/bind/named.conf.local

Fichero de zonas

En este fichero lo que hemos hecho es definir las dos zonas para resolver los nombres por ips y viceversa.

type master: Indicamos el tipo de servidor DNS que va a ser.

File db.»nombre»: Archivo de configuración de la zona.

Luego modificamos el archivo db.oxford.local (en mi caso).

Definimos la resolución de nombres

$ORIGIN oxford.local. : Creamos una variable que contiene oxford.local, para no tener que repetirlo en las siguientes líneas

Ymir IN A 192.168.1.1 : Creamos un registro A llamado Ymir.oxford.local en la ip 192.168.1.1. Al crear la variable anteriormente, solo tendremos que poner Ymir

www IN CNAME Ymir: Creamos un registro cname, con esto le diremos que hay un nombre de dominio que cuelga de Ymir llamado http://www.oxford.local el cual aloja una página web.

Ahora procederemos a configurar el fichero db.192.168.1

Zona inversa

1 IN PTR Ymir.oxford.local: Decimos que el dominio Ymir.oxford.local está registrado en la ip 192.168.1.1, solo tendremos que poner 1 ya que hemos creado una variable anteriormente.

Lo siguiente es configurar los reenviadores, para ello modificaremos el fichero /etc/bind/named.conf.options

Reenviadores

Descomentamos las líneas marcadas en la captura e introducimos la ip del servidor DNS al que queremos reenviar las peticiones que no pueda resolver nuestro DNS tal y como sale en la captura

Por último configuraremos el dhcp para que que le de como servidor DNS principal a los clientes la ip de nuestro servidor. Modificaremos /etc/dhcp/dhcpd.conf

Configuración dhcp

Reiniciamos los dos servicios :

systemctl restart bind9
systemctl restart isc-dhcp-server.service

6 Comprobaciones

Antes de comprobar si funciona, debemos de eliminar el contenido que introdujimos en las entradas anteriores de los ficheros hosts de nuestros clientes para comprobar la funcionalidad del DNS al 100%