Saltar al contenido

Configuración y Gestión del Servicio DNS en Ubuntu Server

data codes through eyeglasses

Introducción

El Servicio de Nombres de Dominio (DNS) es una parte fundamental de la infraestructura de internet, ya que traduce nombres de dominio legibles para humanos en direcciones IP que las computadoras utilizan para identificar y comunicarse entre sí. En un entorno de servidor, la correcta configuración y gestión del servicio DNS es esencial para garantizar la resolución de nombres de manera eficiente y confiable. Este artículo cubre los pasos necesarios para configurar y gestionar un servidor DNS en Ubuntu Server.

Instalación del Servidor DNS (BIND9)

BIND9 es una de las implementaciones de servidor DNS más populares y robustas disponibles. Vamos a instalar y configurar BIND9 en Ubuntu Server.

Paso 1: Actualización del Sistema

Antes de instalar cualquier software, es una buena práctica actualizar el sistema para asegurarse de que todos los paquetes están al día.

sudo apt update
sudo apt upgrade

Paso 2: Instalación de BIND9

Para instalar BIND9, utilizamos el gestor de paquetes apt:

sudo apt install bind9 bind9utils bind9-doc

Paso 3: Configuración Básica de BIND9

Una vez instalado BIND9, es necesario configurarlo. Los archivos de configuración principales de BIND9 están ubicados en /etc/bind.

Configuración del archivo named.conf.options

Editamos el archivo /etc/bind/named.conf.options para configurar las opciones globales de BIND9.

sudo nano /etc/bind/named.conf.options

Asegúrate de que el archivo contenga las siguientes opciones básicas:

options {
    directory "/var/cache/bind";

    // Restrict queries to local network (change to match your network)
    allow-query { any; };

    // If you have a forwarder, uncomment and set it here
    // forwarders {
    //      8.8.8.8;
    //      8.8.4.4;
    // };

    // Uncomment to enable IPv6
    // listen-on-v6 { any; };

    // Disable DNSSEC validation for now
    dnssec-validation no;

    auth-nxdomain no;    # conform to RFC1035
    listen-on { any; };
};

Configuración de una Zona DNS

Editamos el archivo /etc/bind/named.conf.local para añadir las zonas DNS que deseamos gestionar. Por ejemplo, para una zona llamada example.com:

sudo nano /etc/bind/named.conf.local

Añadimos la configuración de la zona:

zone "example.com" {
    type master;
    file "/etc/bind/zones/db.example.com";
};

zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.192.168.0";
};

Paso 4: Creación de los Archivos de Zona

Creamos los archivos de zona necesarios en el directorio /etc/bind/zones/.

Archivo de Zona Directa

sudo mkdir -p /etc/bind/zones
sudo nano /etc/bind/zones/db.example.com

Contenido del archivo db.example.com:

$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                         3         ; Serial
                    604800         ; Refresh
                     86400         ; Retry
                   2419200         ; Expire
                    604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.example.com.
@       IN      A       192.168.0.2
ns1     IN      A       192.168.0.2
www     IN      A       192.168.0.3

Archivo de Zona Inversa

sudo nano /etc/bind/zones/db.192.168.0

Contenido del archivo db.192.168.0:

$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                         3         ; Serial
                    604800         ; Refresh
                     86400         ; Retry
                   2419200         ; Expire
                    604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.example.com.
2       IN      PTR     ns1.example.com.
3       IN      PTR     www.example.com.

Paso 5: Comprobación de la Configuración

Antes de iniciar BIND9, es crucial verificar que no haya errores en la configuración:

sudo named-checkconf
sudo named-checkzone example.com /etc/bind/zones/db.example.com
sudo named-checkzone 0.168.192.in-addr.arpa /etc/bind/zones/db.192.168.0

Paso 6: Iniciar y Habilitar BIND9

Una vez verificada la configuración, podemos iniciar BIND9 y habilitarlo para que se ejecute al inicio del sistema.

sudo systemctl start bind9
sudo systemctl enable bind9

Administración del Servidor DNS

Verificación del Servicio

Para asegurarnos de que BIND9 está funcionando correctamente, podemos utilizar la herramienta dig para realizar consultas DNS.

dig @localhost example.com

Reiniciar BIND9

Si realizas cambios en los archivos de configuración, es necesario reiniciar BIND9 para aplicar los cambios:

sudo systemctl restart bind9

Verificar el Estado del Servicio

Para comprobar el estado del servicio BIND9:

sudo systemctl status bind9

Seguridad y Buenas Prácticas

  1. Configurar un Firewall:
    Asegúrate de que solo las direcciones IP permitidas puedan acceder al servidor DNS.
   sudo ufw allow from 192.168.0.0/24 to any port 53
  1. Habilitar DNSSEC:
    Para mejorar la seguridad, considera habilitar DNSSEC en tu configuración de BIND9.
  2. Monitoreo y Logs:
    Mantén un monitoreo constante del rendimiento y los logs del servidor DNS para detectar posibles problemas o ataques.

Conclusión

Configurar y gestionar un servidor DNS en Ubuntu Server con BIND9 es un proceso que requiere atención a los detalles, pero que resulta en una infraestructura de red más robusta y eficiente. Siguiendo los pasos descritos en este artículo, deberías ser capaz de instalar, configurar y mantener un servidor DNS que responda de manera eficiente a las solicitudes de nombres de dominio en tu red.

data codes through eyeglasses
Photo by Kevin Ku on Pexels.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde Tomás González: Formador y Desarrollador Web

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad