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 - Imagen ISO: selecciona la descargada
- Tipo: Linux · Versión: Ubuntu (64-bit)
- Marca "Omitir instalación desatendida".
- Nombre:
- RAM: 2048 MB o más.
- Disco duro: 20 GB, tipo VDI, asignación dinámica.
1.2 Instalar Linux Mint
- Arranca la máquina servidor-dns.
- Instala Linux Mint: Idioma Español, teclado Español, marca "Instalar códecs multimedia".
- Tipo de instalación: "Borrar disco e instalar Linux Mint" → Continuar.
- Zona horaria: Madrid. Crea tu usuario.
- Reinicia al finalizar.
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 servidor-dns.
- Clic derecho → Clonar.
- Asigna el nombre cliente-dns y finaliza.
- Comprueba que tienes ambas máquinas.
1.4 Asignar IP estática
- En ambas máquinas: Configuración → Red → cambia "NAT" por "Adaptador puente".
- 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:
https://localhost:10000 - Acepta el aviso de conexión no segura.
- Inicia sesión con tu usuario y contraseña.
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
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)
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)
sudo nano /etc/bind/zones/db.daw2.com
$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.122
cliente IN A 192.68.60.222
; Servicios preparados (futuros)
www IN A 192.68.60.122
ftp IN A 192.68.60.122
mail IN A 192.68.60.122
; Registro MX (correo)
@ IN MX 10 mail.daw2.com.
4.4 Crear zona inversa (db.192.68.60)
sudo nano /etc/bind/zones/db.192.68.60
$TTL 86400
@ IN SOA servidor.daw2.com. admin.daw2.com. (
2025101801
3600
1800
604800
86400 )
IN NS servidor.daw2.com.
122 IN PTR servidor.daw2.com.
222 IN PTR cliente.daw2.com.
; PTR preparados para futuros servicios
122 IN PTR www.daw2.com.
122 IN PTR ftp.daw2.com.
122 IN PTR mail.daw2.com.
4.5 Validar y reiniciar BIND9
sudo named-checkconf
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
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 la 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
6.2 Consultas inversas (PTR)
dig @192.68.60.122 -x 192.68.60.122
dig @192.68.60.122 -x 192.68.60.222
El parámetro -x indica a dig que haga una consulta inversa para la IP dada.
6.3 Otras herramientas
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
Si nmap no está instalado:
sudo apt update && sudo apt install -y nmap
nmap -Pn -p 53 192.68.60.122
El resultado mostrará el puerto 53/tcp en estado open.
7 Cierre y conclusiones
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, aunque la mayor parte del proceso se realizó desde la terminal.
7.1 Configuración de las VMs
Dos máquinas virtuales en VirtualBox con Linux Mint, red en Adaptador puente:
- Servidor DNS: IP
192.68.60.122 - Cliente DNS: IP
192.68.60.222
7.2 Zonas configuradas
- Zona directa:
daw2.com— registros A para servidor, cliente, www, ftp, mail. - Zona inversa:
60.68.192.in-addr.arpa— registros PTR para los equipos.
7.3 Pruebas realizadas
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.4 Incidencias detectadas
Durante la práctica se utilizó 192.68.60.X en lugar de 192.168.60.X
(el rango correcto del aula). El error se documenta aquí aunque no afectó al funcionamiento
de la práctica en el entorno virtualizado.