top of page

Instalación y configuración de un servidor DNS

En esta entrada, aprenderemos a instalar un servidor DNS, en este caso utilizaremos bind9, y lo configuraremos de forma que contenga una zona de resolución directa, y otra zona de resolución inversa, siendo funcional en ambos clientes (Debian 10 y Windows 7).


- Resolución directa: El cliente busca en el navegador escribiendo la dirección web de un sitio con su dominio correspondiente, y el servidor DNS le resuelve la IP de dicho sitio.

- Resolución inversa: Es el proceso contrario a la resolución directa, el cliente busca en el navegador escribiendo la dirección IP de un sitio, y el servidor DNS le resuelve el dominio de dicha dirección.


Si instalamos un DNS en nuestro servidor, conseguiremos aumentar la velocidad de navegación de nuestros clientes, ya que el servidor DNS, realiza la búsqueda de la IP solicitada por primera vez a través de internet, y cuando encuentra se la guarda, por si algún otro cliente vuelve a pedir esa dirección IP, no necesita volver a buscarla, puesto que ya la tiene.


Puede parecer parecido a la función de un servidor proxy, la diferencia es que el servidor proxy, hace una copia de la página web completa, por lo que se la muestra al cliente con una mayor velocidad. Además se encarga de ir actualizando la página cada cierto periodo de tiempo.


Configuración del servidor local


En nuestro servidor, debemos de definir lo siguiente editando sus ficheros correspondientes:


-El nombre del servidor: Editando el fichero /etc/hostname



- El fichero /etc/hosts: Aqui definiremos nuestro hostname con su respectivo dominio.



- La configuración DNS en el fichero de configuración DHCP: Lo podemos ver editando el fichero /etc/dhcp/dhcpd.conf


En option domain-name-servers: Definimos la IP del servidor DNS que vayamos a asignar a los clientes.


En option domain-name: Establecemos el nombre del dominio entre comillas "".



- Las direcciones IP de los servidores de resolución de nombres: Editando el fichero /etc/resolv.conf (En mi caso elegiré las de Google)


Para que no se nos modifique el fichero resolv.conf al reinciar la máquina, le quitamos los permisos de escritura con el comando: chattr +i /etc/resolv.conf


Comprobamos el cambio del nombre de la máquina con su respectivo dominio con el comando hostname -f



Una vez hecho todo esto procedemos con la instalación del servidor DNS.


Instalación del servidor DNS


Para instalar el servidor DNS, en este caso usaremos bind9, usaremos el siguiente comando:

aptitude install bind9


Con esto ya tenemos instalado nuestro servidor DNS, ahora tan solo queda editar los dis ficheros de configuración, para establecer las funciones que queremos.


Configuración del servidor DNS


Fichero /etc/bind/named.conf.local


Este es el fichero de configuración principal de bind9, su función es establecer las zonas y opciones del servidor.

Añadiremos la zona de resolución directa (nuestro nombre de dominio), en mi caso "noavi.org", y la zona de resolución inversa, la cual definiremos añadiendo los 3 primeros octetos de nuestra IP de red (DEL REVÉS), seguido de .in-addr.arpa . Para añadir una zona agregamos una línea en la que ponga zone "nombredelazona"

Añadiremos en caza zona la opción "type master", la cual indicará que el servidor para esa zona es maestro.

Además en cada zona, definiremos el fichero correspondiente que contenga los registros de recursos con la información de dicha zona (Estos ficheros los crearemos mas adelante), para ello agregaremos una línea en la que ponga file "nombredelfichero" , en caso de que no nos funcione, también podemos escribir la ruta absoluta de los ficheros.


Una vez he configurado mi fichero named.conf.local , este ha sido el resultado:



Recordemos añadir los cierres con {} y definir correctamente las líneas con ; al final de cada una de ellas.

Una vez guardemos el fichero podemos ejecutar la orden named-checkconf , y si no aparece nada, la sintaxis de los ficheros está correcta.


Fichero /var/cache/bind/db.noavi.org


Este fichero es el cual contiene los registros de recursos de nuestra zona de búsqueda directa.

Este fichero no existe, por lo que debemos de crearlo, aunque lo mejor a la hora de crearlo, es copiar el contenido del fichero /etc/bind/db.empty el cual si existe, una vez copiado, tan solo debemos de modificarlo.


Ahora procedemos a editar el nuevo fichero con:

nano /var/cache/bind/db.noavi.org

Salimos y guardamos el fichero.

En este caso he usado 2 registros distintos del servidor DNS.

El registro A : Contiene una dirección IPv4

El registro CNAME: contiene un alias, es decir un nombre alternativo para un dominio, y remite a un registro A o AAAA ya existente.


Fichero /var/cache/bind/db.192.168.10


Este fichero se llamará db.IPdelservidor y contendrá todos los registros de recursos de nuestra zona de búsqueda inversa.


Este fichero no existe, por lo que tenemos que crearlo, pero también podemos copiar el contenido del fichero /etc/bind/db.127 , para ello usamos el comando:

cp /etc/bind/db.127 /var/cache/bind/db.192.168.10



El contenido del fichero debe de quedar de la siguiente forma:


Salimos y guardamos el fichero.


El registro PTR: Nos permite realizar búsquedas inversas, es decir nos busca el nombre del dominio mediante una IP.

He añadido la dirección IP del servidor y la del cliente debian, con su respectivo dominio, y la identificamos mediante su IP.

En la línea $ORIGIN añadiremos los 3 primeros octetos de la IP del servidor (Del revés), seguido de .in-addr.arpa


Fichero /etc/bind/named.conf.options


En este fichero añadiremos la dirección IP de los reenviadores, con lo que conseguiremos que nuestro servidor DNS resuelva direcciones IPs de internet.

En la opción dnssec-validation auto , cambiamos la opción "auto" por "no". Esta opción proporciona un conjunto de extensiones para el DNS que proporcionan a los clientes DNS, la autenticación del origen de los datos DNS, la denegación de existencia de autenticación y la integridad de los datos, pero no la disponibilidad o confidencialidad.

El fichero named.conf.options nos debe de quedar de la siguiente forma:



Tenemos que asegurar que no falte ningún ";" o "{}".

Guardam

os con CTRL+O y salimos con CTRL+X.



Una vez editados todos los ficheros necesarios, reiniciamos el servicio con el comando: systemctl restart bind9

Y para comprobar que no haya ningún error y todo funciona correctamente, lo hacemos con el comando:

systemctl status bind9


Como podemos ver, todo funciona correctamente, ahora pasaremos a hacer las comprobaciones con las consultas de los clientes.


Consultas con los clientes


Debian 10


Para comprobar que todo funciona correctamente, en el cliente debian, comentaremos todas las líneas del fichero /etc/hosts


Y además añadimos la IP de nuestro servidor, y la orden search dominio en el fichero /etc/resolv.conf


Usaremos el comando dig para realizar las siguientes consultas:


- Consulta hacia el servidor DNS de dominio noavi.org




Si intentamos acceder directamente a la IP del servidor, nos devuelve el html que viene por defecto de apache



- Consulta hacia la dirección IP de www.josedomingo.com



Windows 7

Para Windows debemos de establecer la siguiente configuración de red (Todo de forma automática)



Para realizar las consultas en windows usaremos el comando nslookup


- Consulta hacia el servidor DNS de dominio noavi.org



- Consulta hacia la dirección IP de www.josedomingo.com



Y con esto podemos comprobar como Debian y Windows, pueden realizar peticiones DNS tanto fuera de la red (Saliendo a internet), como dentro de la red (intranet).

14 visualizaciones0 comentarios

Entradas recientes

Ver todo

Comments


bottom of page