Vamos a instalar un servidor DNS para utilizarlo dentro de nuestra organización.
Lo primero que haremos será actualizar la lista de paquetes de software disponible.
Ahora instalamos el paquete del servidor DNS que vamos a instalar, en nuestro caso instalaremos bind9.
Script de control del servicio
Vamos a comprobar si el servicio está instalado y en ejecución utilizando su script de control con el comando service.
Como en otros servicios en red instalados en el sistema, tenemos varias operaciones disponibles con el script de control.
Ficheros de configuración
Para configurar el servidor bind9 vamos a trabajar con varios ficheros de configuración que se encuentran en /etc/bind.
La configuración del servidor DNS bind9 se distribuye en varios ficheros de configuración. Estos ficheros, aunque pueden ser leidos en su mayor parte por cualquier usuario del sistema, tan solo serán editables por el usuario root.
El fichero de configuración principal, el que cargará el servidor cuando arranque o cuando recargue la configuración, es /etc/bind/named.conf. Vamos a echarle un vistazo.
Este fichero contiene solo tres líneas de configuración. Las primeras siete líneas son comentarios. Los comentarios en los ficheros de configuración de este servidor se inician con doble barra // al estilo de ciertos lenguajes de programación.
Las líneas 9, 10 y 11 son líneas de configuración que utilizan la palabra reservada o parámetro de configuración include. Este parámetro indica al servidor que se debe incluir, tal cual, el fichero cuya ruta se incluye a continuación entre comillas.
Así pues, este fichero lo único que hace es incluir la configuración almacenada en tres ficheros de configuración:
- /etc/bind/named.conf.options
- /etc/bind/named.conf.local
- /etc/bind/named.conf.default-zones
named.conf.options
Este fichero básicamente contiene opciones de configuración que tienen que ver con el servidor en sí, más que con los dominios que gestiona.
named.conf.local
En este fichero es donde insertaremos la configuración de las zonas o dominios que este servidor gestione. Es decir, si queremos que este servidor gestione un dominio propio de nuestra LAN privada o, incluso, un dominio público, deberíamos realizar la definición del dominio o zona en este fichero. Ya veremos más adelante cómo se hace.
Ahora mismo este fichero está vacío, por que no estamos gestionando ninguna zona o dominio.
named.conf.default-zones
Se trata del fichero que almacena configuración de zonas por defecto. Contiene preconfiguradas algunas zonas.
Creando nuestro dominio
Vamos a crear una zona para dar soporte a un dominio principal en nuestro sistema. Primero editamos el fichero de zonas locales
Con la palabra reservada zone creamos una zona. Le damos como nombre el nombres del dominio que vamos a gestionar. Toda la configuración de la zona irá entre llaves, que tiene que ir terminada por ;.
Ojo! todas las líneas de configuración tienen que ir terminadas siempre con «;»
Definimos este servidor como primario o maestro con la opción type. Con la opción file indicamos la ruta del fichero donde está la especificación de la zona o dominio.
En este fichero estará la base de datos del dominio castelar, es decir la información del dominio y la información que enlaza nombres de dominio con direcciones IP.
Se utiliza una nomenclatura para establecer el nombre de los ficheros que contienen la base de datos de una zona: «db.nombrezona.TLD». Estos ficheros se suelen almacenar dentro del directorio de configuración de bind.
Especificando el dominio: base de datos del dominio
Ahora tenemos que crear el fichero de base de datos de la zona. Para ello, para no empezar de cero, vamos a tomar un esqueleto de base. Este esqueleto lo tenemos en el fichero /etc/bind/empty o /etc/bind/local.
Vamos a copiar el fichero y después lo editamos para adaptarlo a nuestras necesidades.
Este es el contenido del fichero:
Algunos detalles:
- El ; se utiliza al inicio de la línea como comentario.
- localhost. es el nombre de la zona y root.localhost. es la dirección de correo electrónico del administrador de la zona, pero sin usar @ como separador, se utiliza el .
- Por último la @ hace referencia a esta zona.
Nuestro fichero quedaría como sigue:
Vamos a analizar la configuración:
- En la parte superior se especifica la zona con la @ IN A SOA.
- A continuación aparece el nombre del dominio, en nuestro caso castelar.ex y termina el dominio con un punto «.» Es importante terminar con un . el nombre del dominio.
- Después aparece la dirección de correo electrónico del administrador de la zona sin utilizar la @ como separador. La dirección de correo sería alumno@castelar.ex, sin embargo se especifica como alumno.castelar.ex. De nuevo el punto del final es importante.
- Se definen datos del dominio, cuál es el servidor o servidores DNS del dominio y se asigna una dirección IP que identifica a todo el dominio. Para ello se utiliza la @ que representa al dominio o zona actual.
- @ IN NS dns. Determina que en este dominio hay un servidor de nombres cuyo nombre es dns. (de nuevo el punto!) Realmente la dirección o nombre FQDN de este equipo será dns.castelar.ex
- @ IN A 192.168.21.100. Determina que la dirección IP asociada al dominio o zona (castelar.ex) será 192.168.21.100, que es la dirección IP estática de mi equipo.
- Asignamos direcciones IP a hosts del dominio. Tan solo ponemos el nombre del host dentro del dominio y le asignamos una dirección IP (Address).
- dns IN A 192.168.21.100 – Asigna al host dns dentro de la zona actual (castelar.ex) la dirección IP 192.168.21.100. El FQDN será dns.castelar.ex. Ojo! no se pone el punto detrás de dns.
- www IN A 192.168.21.100 – Asigna al host www dentro de la zona actual (castelar.ex) la dirección IP 192.168.21.100. El FQDN será www.castelar.ex
- ftp IN A 192.168.21.100 – Asigna al host ftp dentro de la zona actual (castelar.ex) la dirección IP 192.168.21.100. El FQDN será ftp.castelar.ex
Guardamos y reiniciamos el servicio.
Vamos a asegurarnos de que nuestro equipo utiliza como servidor DNS el servidor DNS que acabamos de configurar.
Parece ser que con este cambio solo no ha funcionado. Puede que requiera un reinicio del servicio que se encarga de gestionar la red en esta distribución. Podemos asegurarnos de que se utilzirá este servidor bind a través de nuestra dirección IP en la red.
Para ello podemos editar directamente el fichero que contiene la configuración de servidores DNS a utilizar en nuestro sistema y, como primer servidor DNS, configuramos nuestro sistema con la dirección IP en la red LAN privada.
Ahora vamos a probar si se resuelven los nombres de dominio especificados.
Configurando otros equipos para que usen nuestro servidor DNS
Una vez configurado y probado, vamos a configurar nuestros equipos de la red LAN privada para que utilicen nuestro servidor DNS para resolver nombres de nuestro dominio.
La configuración es bastante simple, lo único que tenemos que hacer es que editar en la configuración de red de la interfaz de red en cada sistema operativo que utilice como servidor DNS el servidor DNS instalado en nuestor servidor GNU/Linux, en este caso AntiX con IP 192.168.21.100.
Primero lo haremos con Windows.
Una vez configurado vamos a comprobar si funciona la resolución. Quizá el primer paso sería comprobar si tenemos conexión con el servidor DNS a través de ping.
Ahora que estamos seguros de que hay conexión, vamos a tratar de resolver nombres.
Vamos a acceder a algunos de los servicios instalados en nuestro servidor utilizando nombres de dominio, que para eso lo tenemos.
Ahora vamos a configurar un sistema GNU/Linux lubuntu 20.04.01.
Ventajas..
Una de las grandes ventajas del uso de servidores DNS es que los usuarios no tienen porque conocer direcciones IP de los servicios o de los equipos disponibles en red.
Otra gran ventaja es que podemos cambiar la dirección IP de algún servicio de forma transparente. Por ejemplo, si adquirimos otro equipo en el que instalaremos el servidor FTP de la empresa, una vez configurado podemos cambiar los datos en la base de datos de la zona castelar.ex, reiniciamos el servidor DNS y el cambio será transparente para todos los equipos de la red.
Reiniciamos el servidor
Comprobamos
Dejar una respuesta