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.
1. Preparación de las máquinas virtuales
1.1 CREAR LAS MÁQUINAS
- Crea dos máquinas virtuales Linux Mint actualizadas:
- Servidor DNS: servidor.daw2.com
- Cliente DNS: cliente.daw2.com
- Descarga la ISO de Linux Mint (versión Xfce Edition):
https://linuxmint.com/download.php
- Crea la primera máquina virtual (Servidor DNS):
- Abre VirtualBox → haz clic en Nueva.
- 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”.
- Nombre:
- Configura el hardware:
- Memoria RAM: 2048 MB o más.
- Disco duro: 20 GB, tipo VDI, asignación dinámica.
- Finaliza el asistente.
1.2 INSTALAR LINUX MINT
- Arranca la máquina servidor-dns haciendo doble clic sobre ella.
- Instala Linux Mint:
- Idioma: Español
- Teclado: Español - Español
- Marca la opción “Instalar códecs multimedia”.
- Tipo de instalación: “Borrar disco e instalar Linux Mint” → Instalar ahora → Continuar
- Zona horaria: Madrid
- Crea tu usuario
- Reinicia el equipo al finalizar la instalación.
Actualiza el sistema desde terminal:
sudo apt update && sudo apt -y upgrade
Comprueba la conexión a Internet:
ping -c 3 8.8.8.8
1.3 CLONAR LA MÁQUINA SERVIDOR
- Apaga la máquina servidor-dns.
- Haz clic derecho sobre ella → Clonar.
- Asigna el nombre cliente-dns y finaliza el proceso.
- Comprueba que tienes ambas máquinas creadas.
1.4 ASIGNAR IP ESTÁTICA
- Configura el modo de red:
- En ambas máquinas, abre Configuración → Red → cambia “NAT” por “Adaptador puente” → Aceptar.
- En servidor-dns, identifica la conexión:
nmcli con
- 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"
- 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"
- Comprueba conectividad:
ping -c 3 192.68.60.122 # Desde cliente al servidor
ping -c 3 192.68.60.222 # Desde servidor al cliente
Si ambos pings tienen 0% de pérdida, la red está correctamente configurada.
1.5 CONFIGURAR NOMBRES DE HOST
- En servidor-dns:
echo "servidor" | sudo tee /etc/hostname
echo "192.68.60.122 servidor" | sudo tee -a /etc/hosts
sudo reboot
- En cliente-dns:
echo "cliente" | sudo tee /etc/hostname
echo "192.68.60.222 cliente" | sudo tee -a /etc/hosts
sudo reboot
- Verifica en ambas máquinas:
hostname
2. Instalar Webmin (en el servidor)
2.1 CONFIGURAR RED PARA INSTALACIÓN
- Cambia la red de Adaptador puente a NAT para permitir la descarga.
- Comprueba conexión:
ping -c 3 8.8.8.8
2.2 INSTALAR WEBMIN
- Descarga el paquete:
wget http://www.webmin.com/download/deb/webmin-current.deb
- Instálalo:
sudo dpkg -i webmin-current.deb
sudo apt -f install -y
- Verifica el estado:
sudo systemctl status webmin --no-pager
Debe aparecer Active: active (running).
2.3 ACCEDER A WEBMIN
- Abre el navegador y accede a:
https://localhost:10000 - Acepta el aviso de conexión no segura (“Avanzado → Aceptar el riesgo → Continuar”).
- Inicia sesión con tu usuario y contraseña.
- Comprueba el panel principal de Webmin.
Verifica que Webmin está escuchando:
sudo netstat -tulpn | grep 10000
3. Instalar y activar BIND9
- Actualiza repositorios:
sudo apt update
- Instala BIND9 y utilidades:
sudo apt -y install bind9 bind9utils bind9-dnsutils
- Habilita y arranca el servicio:
sudo systemctl enable --now bind9
- Comprueba estado:
sudo systemctl status bind9 --no-pager
- Verifica el puerto:
sudo netstat -tulpn | grep named
4. Configuración de BIND9 (servidor)
4.1 EDITAR (named.conf.options)
- Abre el archivo:
sudo nano /etc/bind/named.conf.options
- 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)
4.2 DEFINIR ZONAS (named.conf.local)
- Abre el archivo:
sudo nano /etc/bind/named.conf.local
- 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";
};
- Crea el directorio de zonas:
sudo mkdir -p /etc/bind/zones
- Verifica la configuración:
sudo named-checkconf
4.3 CREAR ZONA DIRECTA (db.daw2.com)
- Abre el archivo:
sudo nano /etc/bind/zones/db.daw2.com
- 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)
- Abre el archivo:
sudo nano /etc/bind/zones/db.192.68.60
- 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.
4.5 VALIDAR Y REINICIAR BIND9
- Revisa configuración general:
sudo named-checkconf
- 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
- Reinicia y verifica el servicio:
sudo systemctl restart named
sudo systemctl status named --no-pager
5. Configuración del cliente
- Devuelve ambas máquinas a modo Adaptador puente.
- Configura el DNS del cliente:
echo -e "nameserver 192.68.60.122\nsearch daw2.com" | sudo tee /etc/resolv.conf
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"
Comprobar el archivo de configuración
cat /etc/resolv.conf
resolvectl status
6. Pruebas
6.1 CONSULTAS DIRECTAS AL SERVIDOR
Ejecuta las siguientes consultas desde el cliente:
dig @192.68.60.122 servidor.daw2.com
dig @192.68.60.122 cliente.daw2.com
dig @192.68.60.122 www.daw2.com
dig @192.68.60.122 daw2.com MX
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
dig @192.68.60.122 -x 192.68.60.222
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
host cliente.daw2.com 192.68.60.122
ping -c 2 servidor.daw2.com
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:
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.
Vuelve a ejecutar el comando:
nmap -Pn -p 53 192.68.60.122
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 ser192.168.60.122en el rango correcto). - Cliente DNS: IP
192.68.60.222(debería ser192.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 paraservidor.daw2.com,cliente.daw2.comy futuros servicios (www,ftp,mail). - Zona inversa:
60.68.192.in-addr.arpa(debería ser60.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.nslookupyhost→ 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.