Montaje básico de DNS (BIND9) con Webmin

Guía práctica de laboratorio con dos VMs Linux Mint: montaje de servidor DNS (BIND9), configuración de cliente y validación con dig, nslookup, host, nmap y ping. Webmin como apoyo visual.

⬇️ Descargar PDF
1. Preparación de las máquinas virtuales


1.1 CREAR LAS MÁQUINAS

  1. Crea dos máquinas virtuales Linux Mint actualizadas:
    • Servidor DNS: servidor.daw2.com
    • Cliente DNS: cliente.daw2.com
  2. Descarga la ISO de Linux Mint (versión Xfce Edition):
    https://linuxmint.com/download.php Captura1 Captura2
  3. Crea la primera máquina virtual (Servidor DNS):
    • Abre VirtualBox → haz clic en Nueva.
    Captura3
    • Rellena los campos:
      • Nombre: servidor-dns
      • Carpeta de la máquina: (por defecto o tu carpeta de prácticas)
      • Imagen ISO: selecciona la descargada en el paso anterior
      • Tipo: Linux
      • Versión: Ubuntu (64-bit)
      • Marca “Omitir instalación desatendida”.
    Captura4
    • Configura el hardware:
      • Memoria RAM: 2048 MB o más.
    Captura5
    • Disco duro: 20 GB, tipo VDI, asignación dinámica.
    Captura6
    • Finaliza el asistente.
    Captura7


1.2 INSTALAR LINUX MINT

  1. Arranca la máquina servidor-dns haciendo doble clic sobre ella.
  2. Instala Linux Mint:
    • Idioma: Español
    • Teclado: Español - Español
    • Marca la opción “Instalar códecs multimedia”.
    Captura8 Captura9
    • Tipo de instalación: “Borrar disco e instalar Linux Mint” → Instalar ahora → Continuar
    Captura10
    • Zona horaria: Madrid
    • Crea tu usuario
    Captura11
  3. Reinicia el equipo al finalizar la instalación.
Captura12

Actualiza el sistema desde terminal:

sudo apt update && sudo apt -y upgrade
Captura13

Comprueba la conexión a Internet:

ping -c 3 8.8.8.8
Captura14


1.3 CLONAR LA MÁQUINA SERVIDOR

  1. Apaga la máquina servidor-dns.
  2. Haz clic derecho sobre ella → Clonar.
Captura15
  1. Asigna el nombre cliente-dns y finaliza el proceso.
Captura16
  1. Comprueba que tienes ambas máquinas creadas.
Captura17


1.4 ASIGNAR IP ESTÁTICA

  1. Configura el modo de red:
    • En ambas máquinas, abre Configuración → Red → cambia “NAT” por “Adaptador puente” → Aceptar.
Captura18
  1. En servidor-dns, identifica la conexión:
nmcli con
Captura19
  1. Configura la IP estática (servidor):
sudo nmcli con mod "Conexión cableada 1" ipv4.method manual ipv4.addresses 192.68.60.122/24 ipv4.gateway "" ipv4.dns "8.8.8.8" ipv6.method ignore
sudo nmcli con down "Conexión cableada 1" && sudo nmcli con up "Conexión cableada 1"
Captura20
  1. En cliente-dns, configura:
sudo nmcli con mod "Conexión cableada 1" ipv4.method manual ipv4.addresses 192.68.60.222/24 ipv4.gateway "" ipv4.dns "192.68.60.122" ipv4.dns-search "daw2.com" ipv6.method ignore
sudo nmcli con down "Conexión cableada 1" && sudo nmcli con up "Conexión cableada 1"
Captura21
  1. Comprueba conectividad:
ping -c 3 192.68.60.122   # Desde cliente al servidor
ping -c 3 192.68.60.222   # Desde servidor al cliente
Captura22

Si ambos pings tienen 0% de pérdida, la red está correctamente configurada.


1.5 CONFIGURAR NOMBRES DE HOST

  1. En servidor-dns:
echo "servidor" | sudo tee /etc/hostname
echo "192.68.60.122 servidor" | sudo tee -a /etc/hosts
sudo reboot
Captura23
  1. En cliente-dns:
echo "cliente" | sudo tee /etc/hostname
echo "192.68.60.222 cliente" | sudo tee -a /etc/hosts
sudo reboot
Captura24
  1. Verifica en ambas máquinas:
hostname
Captura25
2. Instalar Webmin (en el servidor)


2.1 CONFIGURAR RED PARA INSTALACIÓN

  1. Cambia la red de Adaptador puente a NAT para permitir la descarga.
  2. Comprueba conexión:
ping -c 3 8.8.8.8
Captura26


2.2 INSTALAR WEBMIN

  1. Descarga el paquete:
wget http://www.webmin.com/download/deb/webmin-current.deb
  1. Instálalo:
sudo dpkg -i webmin-current.deb
sudo apt -f install -y
  1. Verifica el estado:
sudo systemctl status webmin --no-pager
Captura27

Debe aparecer Active: active (running).


2.3 ACCEDER A WEBMIN

  1. Abre el navegador y accede a: https://localhost:10000
  2. Acepta el aviso de conexión no segura (“Avanzado → Aceptar el riesgo → Continuar”).
  3. Inicia sesión con tu usuario y contraseña.
  4. Comprueba el panel principal de Webmin.
Captura28 Captura29 Captura30

Verifica que Webmin está escuchando:

sudo netstat -tulpn | grep 10000
Captura31
3. Instalar y activar BIND9
  1. Actualiza repositorios:
sudo apt update
  1. Instala BIND9 y utilidades:
sudo apt -y install bind9 bind9utils bind9-dnsutils
  1. Habilita y arranca el servicio:
sudo systemctl enable --now bind9
  1. Comprueba estado:
sudo systemctl status bind9 --no-pager
Captura32
  1. Verifica el puerto:
sudo netstat -tulpn | grep named
Captura33
4. Configuración de BIND9 (servidor)


4.1 EDITAR (named.conf.options)

  1. Abre el archivo:
sudo nano /etc/bind/named.conf.options
  1. Sustituye el contenido:
options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    listen-on { 127.0.0.1; 192.68.60.122; };
    allow-query { any; };
    recursion yes;
};

(Ctrl+O para guardar, Ctrl+X para salir)

Captura34


4.2 DEFINIR ZONAS (named.conf.local)

  1. Abre el archivo:
sudo nano /etc/bind/named.conf.local
  1. Añade al final:
zone "daw2.com" {
    type master;
    file "/etc/bind/zones/db.daw2.com";
};
zone "60.68.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.192.68.60";
};
Captura35
  1. Crea el directorio de zonas:
sudo mkdir -p /etc/bind/zones
Captura36
  1. Verifica la configuración:
sudo named-checkconf
Captura37


4.3 CREAR ZONA DIRECTA (db.daw2.com)

  1. Abre el archivo:
sudo nano /etc/bind/zones/db.daw2.com
  1. Copia este contenido (reemplazando X1 y X2 por tus IPs):
$TTL 86400
@   IN  SOA servidor.daw2.com. admin.daw2.com. (
    2025102301 ;  Serial
    3600       ;  Refresh
    1800       ;  Retry
    604800     ;  Expire
    86400 )    ;  Negative Cache TTL

    IN  NS  servidor.daw2.com.

; Registros A (nombres → IPs)
Servidor  IN  A   192.68.60.X1
cliente   IN  A   192.68.60.X2

; Servicios preparados (futuros)
www   IN  A   192.68.60.X1
ftp   IN  A   192.68.60.X1
mail  IN  A   192.68.60.X1

; Registro MX (correo)
@     IN  MX  10 mail.daw2.com.


4.4 CREAR ZONA INVERSA (db.192.68.60)

  1. Abre el archivo:
sudo nano /etc/bind/zones/db.192.68.60
Captura38
  1. Copia este contenido:
$TTL 86400
@   IN  SOA servidor.daw2.com. admin.daw2.com. (
    2025101801
    3600
    1800
    604800
    86400 )

    IN  NS  servidor.daw2.com.
X1  IN PTR servidor.daw2.com. 
X2  IN PTR cliente.daw2.com.

; PTR preparados para futuros servicios (si usaran misma IP del servidor)
X1  IN PTR www.daw2.com. 
X1  IN PTR ftp.daw2.com. 
X1  IN PTR mail.daw2.com.
Captura39


4.5 VALIDAR Y REINICIAR BIND9

  1. Revisa configuración general:
sudo named-checkconf
Captura40
  1. Comprueba zonas:
sudo named-checkzone daw2.com /etc/bind/zones/db.daw2.com
sudo named-checkzone 60.68.192.in-addr.arpa /etc/bind/zones/db.192.68.60
Captura41 Captura42
  1. Reinicia y verifica el servicio:
sudo systemctl restart named
sudo systemctl status named --no-pager
Captura43
5. Configuración del cliente
  1. Devuelve ambas máquinas a modo Adaptador puente.
Captura44 Captura45
  1. Configura el DNS del cliente:
echo -e "nameserver 192.68.60.122\nsearch daw2.com" | sudo tee /etc/resolv.conf
Captura46

Configurar el DNS persistente

nmcli con
sudo nmcli con mod "Conexión cableada 1" ipv4.method manual ipv4.addresses 192.68.60.222/24 ipv4.gateway "" ipv4.dns "192.68.60.122" ipv4.dns-search "daw2.com" ipv6.method ignore
sudo nmcli con down "Conexión cableada 1" && sudo nmcli con up "Conexión cableada 1"
Captura47

Comprobar el archivo de configuración

cat /etc/resolv.conf
resolvectl status
Captura48 Captura49
6. Pruebas


6.1 CONSULTAS DIRECTAS AL SERVIDOR

Ejecuta las siguientes consultas desde el cliente:

dig @192.68.60.122 servidor.daw2.com
Captura50
dig @192.68.60.122 cliente.daw2.com
Captura51
dig @192.68.60.122 www.daw2.com
Captura52
dig @192.68.60.122 daw2.com MX
Captura53

Si las respuestas son correctas, el servidor DNS (BIND9) y el cliente están funcionando correctamente.


6.2 CONSULTAS INVERSAS (COMPROBACIÓN DE LOS PTR)

Ejecuta en el cliente:

dig @192.68.60.122 -x 192.68.60.122
Captura54
dig @192.68.60.122 -x 192.68.60.222
Captura55

El parámetro -x le indica a dig: “haz una consulta inversa para esta dirección IP”.
@192.68.60.122 → usa tu servidor DNS.
-x 192.68.60.122 → busca qué nombre tiene esa IP en la zona inversa.


6.3 OTRAS HERRAMIENTAS

Ejecuta en el cliente los siguientes comandos:

nslookup servidor.daw2.com 192.68.60.122
Captura56
host cliente.daw2.com 192.68.60.122
Captura57
ping -c 2 servidor.daw2.com
Captura58
nmap -Pn -p 53 192.68.60.122

nmap es una herramienta que permite comprobar si el puerto 53/tcp (el de DNS) está abierto en tu servidor. Es opcional, pero recomendable para la práctica.

Si al ejecutar el comando te aparece un error como el siguiente:

Captura59

Instala nmap en el cliente:

sudo apt update && sudo apt install -y nmap

Para poder instalarlo, apaga la máquina del cliente y cambia temporalmente la conexión de red a Adaptador NAT. Una vez instalado nmap, vuelve a dejar la configuración en Adaptador puente para que las VMs se comuniquen correctamente.

Captura60 Captura61 Captura62

Vuelve a ejecutar el comando:

nmap -Pn -p 53 192.68.60.122
Captura63

El resultado mostrará el puerto 53/tcp en estado open, lo que indica que el servicio BIND9 está activo y accesible en la red.
Se ejecutó un escaneo con nmap desde el cliente hacia el servidor (192.68.60.122) para comprobar el estado del puerto 53, utilizado por el servicio DNS.

7. Cierre

En esta práctica hemos instalado y configurado un servidor DNS primario utilizando BIND9 en un entorno de máquinas virtuales con Linux Mint. Además, hemos usado Webmin para la gestión visual del servicio, aunque la mayor parte del proceso se realizó desde la terminal con herramientas como dig, nslookup y nmap.


7.1 CONFIGURACIÓN DE LAS VMs

Se crearon dos máquinas virtuales en VirtualBox, ambas con Linux Mint, utilizando red Adaptador puente para permitir comunicación directa en la misma red local.

  • Servidor DNS: IP 192.68.60.122 (debería ser 192.168.60.122 en el rango correcto).
  • Cliente DNS: IP 192.68.60.222 (debería ser 192.168.60.222).


7.2 INSTALACIÓN DE WEBMIN

Se instaló Webmin en el servidor para facilitar la visualización y administración de los servicios, aunque la configuración principal de BIND9 se realizó manualmente por terminal.


7.3 INSTALACIÓN Y CONFIGURACIÓN DE BIND9

Se configuró BIND9 en el servidor con las siguientes zonas:

  • Zona directa: daw2.com, con registros A para servidor.daw2.com, cliente.daw2.com y futuros servicios (www, ftp, mail).
  • Zona inversa: 60.68.192.in-addr.arpa (debería ser 60.168.192.in-addr.arpa), con registros PTR para los equipos configurados.


7.4 CONFIGURACIÓN DEL CLIENTE

El cliente se configuró para utilizar el servidor DNS como resolutor, asignando su IP en /etc/resolv.conf y haciendo persistente la configuración con nmcli.


7.5 PRUEBAS DE FUNCIONAMIENTO

Se realizaron diversas pruebas para validar el servicio:

  • dig → consultas directas e inversas.
  • nslookup y host → comprobación de resolución.
  • ping → verificación de conectividad.
  • nmap → comprobación del puerto 53/tcp (DNS).


7.6 PROBLEMA DE RED Y SOLUCIÓN

Durante la práctica se detectó un error en el rango de red: se usó 192.68.60.X en lugar de 192.168.60.X, que es el correcto según el entorno del aula. Aunque no se corrigió durante el ejercicio, se documenta aquí la red válida.

← Volver al portfolio