Servidor DNS Linux

Instalar y configurar un servidor DNS Linux

Tabla de contenido

Hola a todos. Hoy voy a explicar como instalar y configurar un servidor DNS. Lo instalaremos en un servidor Linux. Concretamente con la distribución Ubuntu 14.04. Antes de empezar, para los que aún no sabéis que es y para que se utiliza un servidor DNS, os voy a hacer una pequeña introducción. DNS proviene de las siglas en inglés (Domain Name System). Lo que hace principalmente es relacionar una @ip con un dominio y viceversa.

Si el vídeo te ha parece interesante, dale 👍 «Me Gusta» , compártelo en tus redes sociales con tus amigos y sobretodo, SUSCRIBETE a mi Canal de YouTube. Haz clic en el botón de abajo para Suscribirte al Canal 👇👇👇

En un principio, para hacer cualquier consulta a una máquina externa a la nuestra mediante la red, ya sea un recurso compartido, una página web etc, deberíamos conocer la @ip de la máquina que queremos consultar. Yo siempre lo comparo como una llamada telefónica. Para realizar la llamada, tenemos que conocer el número de la persona a la que vamos a llamar. Por que los teléfonos no entienden de nombres, solo de números. Hoy en día, en nuestros teléfonos móviles, tenemos nuestra agenda de contactos.  Donde asignamos un número de teléfono a cada contacto. Esto se hace porque para el ser humano es más fácil recordar el nombre de una persona que su número de teléfono. Imaginaros que tuvierais que recordar todos los números de teléfono de vuestros amigos, familiares, compañeros de trabajo etc. Seria un follón ¿verdad? Pues bueno. Un servidor DNS realiza una función muy similar a la de la agenda de nuestro teléfono móvil.

Lo único que entienden las máquinas, son @ip. Seríais capaces de recordar todas la @ip’s de las páginas web que os gustan o os interesa. Seria complicado ¡¿a que si? Pues justamente lo que hace el servidor DNS es «treducir» esa @ip que nombre de dominio le corresponde o un determinado dominio, a que @ip apunta. De esta forma podemos hacer consultas en la red sin necesidad de conocer la @ip. Simplemente sabiendo el dominio el DNS es capaz de «traducir» ese dominio a una @ip. Esto se hace, porque es mucho más fácil, para un ser humano, recordar nombre de dominio que una @ip. Ya hecha la aclaración, voy a pasar a la acción y voy ha empezar a instalar el servidor DNS en nuestra máquina Linux.

Tabla de contenido

Configuración de la red de nuestro servidor DNS

Lo primero que haré es mirar como tengo configurada o configuradas la o las tarjetas de red en mi servidor con el comando ifconfig.

configuracion de la red dns

Asignar una IP estática a la tarjeta de red

Una vez ya se de que tarjetas de red dispongo, ya podemos pasar a configurar la red a nuestras necesidades. Lo primero que haremos es asignar una @IP estática a la tarjeta de red que dará servicio a nuestra red. Lo haremos editando el fichero /etc/network/inerfaces.

dns-2

Reiniciar la red de nuestro servidor DNS

A continuación reiniciamos la red con el comando /etc/init.d/networking restart y comprobaremos que la configuración de red es correcta con el comando ifconfig que ya utilizamos antes.

configuracion de la red dns

Instalar servidor DNS instalando bind9

Ahora ya podemos instalar nuestro servidor DNS instalando el paquete bind9. Antes de instalarlo, comprobaremos que no este ya instalado con el comando dpkg -L  bind9. Si esta orden nos muestra todos los ficheros del paquete, es que ya esta instalado. De lo contrario, nos arrojará un mensaje diciendo que el paquete no está instalado. En ese caso, lo instalaremos con el comando apt-get install bind9.

Configurar servidor DNS Linux

Una vez instalado, ya podemos pasar a la configuración del servidor DNS. Todos los ficheros que necesitamos editar se encuentran en el directorio  /etc/bind/. Allí encontraremos entre otros los ficheros named.conf.options y /etc/bind/named.conf.local que serán los primero que editaremos.

Editar el fichero /etc/bind/named.conf.options

El primer fichero que editaremos, será el archivo /etc/bind/named.conf.options. En este archivo sólo hemos de descomentar las líneas de forward only y forwarders como se puede ver en la imagen de abajo y añadir las @ip de servidores DNS externos donde consultará nuestro servicio en caso de que no encuentre la respuesta a nuestra petición.

named.conf.options

Editar el fichero /etc/bind/named.conf.local

Después pasaremos a editar el archivo /etc/bind/named.conf.local. En este archivo especificaremos las zonas de búsqueda directa e inversa del servicio DNS. El dominio de nuestra zona directa y la subred del la zona inversa. También tendremos que incluir qué tipo de servicio es (maestro o esclavo) y en que archivos hará la búsqueda de nombres.

named.conf.local

Podemos comprobar que no tenemos errores de sintaxis en al fichero, garcias al comando named-checkconf. No te asustes si no devuelve nada. Significa que no hay errores. De lo contrario nos especificará cual es el error de sintaxis y en que linea se encuentra el error. Ojo errores de sintaxis. Si nos equivocamos al poner, por ejemplo, al poner el nombre de un fichero de las tablas directa o inversa, no lo detectará.

Tabla de la búsqueda directa DNS

El siguiente archivo a editar es el que contendrá las tablas de la búsqueda directa /etc/bind/db.webebre.net.host. Este archivo contiene las tablas de búsqueda directa. Las primeras líneas son unos parámetros relacionados con la actualización del DNS (número de serie y periodos de actuación). La siguiente línea indica quién es el servidor primario (NS = Name Server). Las siguientes líneas especifican las @IP’s de los diferentes PC’s componentes del dominio (A = Address). En la siguiente imagen puedes ver como quedaría el fichero.

dns-5

Tablas de la búsqueda inversa DNS

Seguidamente editaremos el archivo /etc/bind/db.192.168.83.rev. Este archivo contiene las tablas de búsqueda inversa. Así quedaría el fichero.

dns-6

Comprobación de errores se sintaxis en DNS Ubuntu

Al igual como ya hice con el fichero /etc/bind/named.conf.local. También puedo comprobar que estos dos ficheros que contienen las tablas de búsqueda directa e inversa tengan la sintaxis correctos gracias al comando named-checkzone webebre.net /etc/bind/db.webebre.net.host para el fichero de la zona directa y named-checkzone webebre.net /etc/bind/db.192.168.83.rev para el fichero de la inversa. Si están correctos nos devolverá un OK.

dns-7

Especificar la IP y el dominio donde hacer las peticiones DNS el servidor

Ya casi hemos acabado. Una vez configurado nuestro servidor DNS, debemos indicar a nuestro PC que el servidor DNS es él mismo, se especifica editando el archivo /etc/resolv.conf. Indicando la @ip del servidor y el dominio de donde realizará las búsquedas.

dns-8

Reiniciar Bing 9

Ya hemos terminado de configurar nuestro servidor DNS. Para finalizar, reiniciaremos el bind para que los cambios realizados en los archivos anteriores tengan efecto. Lo haremos con el comando /etc/init.d/bind9 restart.

Comprobaciones del servidor DNS con el comando nslookup

Nuestro servidor DNS ya esta funcionando, para comprobar que lo hace correctamente, realizaremos alguna comprobaciones con el comando nslookup. Con este comando podremos comprobar que resuelve peticiones de la zona directa.

dns-9

Y también de la zona inversa.

dns-10

De esta forma ya podemos afirmar que nuestro servidor DNS esta instalado, configurado y funcionando correctamente. Espero que te haya gustado el tutorial y te haya sido de ayuda. Si es así, compártelo en las redes sociales con tus amigos. Es probable que a alguno de ellos también le sea útil. Por último, si has tenido paciencia de seguir el tutorial hasta el final, aquí tienen de regalo el vídeo practico donde podrás ver paso a paso como instale y configure este servidor DNS. Que lo disfrutes.

Si el vídeo te ha parece interesante, dale 👍 «Me Gusta» , compártelo en tus redes sociales con tus amigos y sobretodo, SUSCRIBETE a mi Canal de YouTube. Haz clic en el botón de abajo para Suscribirte al Canal 👇👇👇