Teniendo estos conceptos en cuenta, vamos a implementar un Servidor DNS de tipo
master con zonas directa e inversa para la resolución de nombres en nuestra red local, de la
cual será autoritativo, y haremos uso de forwarders para las consultas externas.
1.- Actualizamos los repositorios de nuestro sistema, Ubuntu Server 16.04.
sudo apt update
2.- Procedemos a instalar, con permisos de superusuario, el paquete necesario mediante apt.
Dicho paquete es bind9.
sudo apt install bind9
3.- El primer fichero que vamos a editar será /etc/bind/[Link]. En él definiremos las
zonas, directa e inversa, para el dominio ficticio [Link] haciendo uso de la clausula zone.
Cada bloque de zona incluirá de que tipo será la zona y el fichero en el que estarán definidas, para
cada zona, las características, propiedades y entidades del dominio.
sudo nano /etc/bind/[Link]
4.- Una vez definidas las zonas, vamos a comprobar que la configuración sea correcta y no
hayamos cometido errores en la sintaxis del fichero. Usaremos el comando named-checkconf. Si
tras lanzar el comando no nos devuelve nada, significará que no se han encontrado errores.
sudo named-checkconf /etc/bind/[Link]
5.- Ahora vamos a crear los ficheros de zona que hemos indicado anteriormente en la
configuración. Para su creación vamos a tomar como plantillas ficheros de zonas que se crean al
instalar el paquete bind9 y los editaremos. Para la zona directa crearemos el fichero
/etc/bind/[Link].
sudo cp /etc/bind/[Link] /etc/bind/[Link]
6.- Una vez creado el fichero lo editaremos y cambiaremos/añadiremos el nombre del dominio y
las entidades por las nuestras.
sudo nano /etc/bind/[Link]
Como hemos hecho anteriormente para el fichero de zona directa, haremos lo mismo para crear el
fichero de zona inversa.
sudo cp /etc/bind/db.127 /etc/bind/db.192
8.- Una vez creado el fichero lo editaremos y cambiaremos/añadiremos el nombre del dominio y
las entidades por las nuestras.
sudo nano /etc/bind/db.192
9.- Lo siguiente que haremos será comprobar que la configuración de los ficheros de zonas la
hemos realizado correctamente y no hayamos cometido errores en la sintaxis del fichero. El
comando que vamos a usar para comprobar los ficheros de zonas es named-checkzone seguido
del nombre del dominio y del fichero en cuestión. Sabremos que todo está correctamento
configurado si obtenemos un OK como respuesta.
sudo named-checkzone [Link] /etc/bind/[Link]
sudo named-checkzone [Link] /etc/bind/db.192
10.- El siguiente paso será editar el fichero /etc/bind/[Link] donde crearemos una
lista de acceso para restringir quien puede realizar las consultas a nuestro servidor DNS e
indicaremos un par de servidores forwarders donde delegará nuestro servidor DNS local cuando
no pueda resolver alguna consulta.
sudo nano /etc/bind/[Link]
11.- Después de esto ya tendremos configurado nuestro servidor DNS como queremos. Solo queda
reiniciar el servicio bind9 y comprobar que esté corriendo correctamente.
sudo service bind9 restart
sudo service bind9 status
12.- Por último, editaremos la configuración de red de nuestro Ubuntu Server para indicar que él
mismo es el servidor DNS que tendrá que consultar para la resolución de nombres.
sudo nano /etc/network/interfaces
13.- Una vez editada la configuración de red, tumbamos y levantamos el adaptador de red para
que los cambios surtan efecto.
sudo ifdown enp0s3
sudo ifup enp0s3
14.- Podemos comprobar que los cambios en la configuración de red han surtido efecto
visualizando el fichero /etc/[Link], donde deberá aparecer la IP de localhost como servidor
DNS y el nombre del dominio ficticio que hemos creado, en nuestro caso [Link].
cat /etc/[Link]
Una vez llegados a este punto, ya tendremos nuestro servidor DNS local instalado, configurado y
funcionando correctamente. Vamos a realizar un par de pruebas con nslookup para comprobar si
el servidor DNS está resuelve correctamente los nombres y las IPs.
Como podemos ver en la imagen, cuando preguntamos por el nombre de dominio de un equipo
perteneciente a la red local, donde nuestro servidor DNS es de tipo master y por lo tanto
autoritativo, nos da una respuesta autoritativa con la IP que le corresponde a cada equipo y
cuando preguntamos por [Link], el servidor DNS nos da una respuesta no autoritativa ya que
nuestro servidor DNS usa los forwarders para realizar la resolución de nombres y por lo tanto no
es autoritativo para esa zona.
[Link]