📘 Tutorial: Cómo Crear un Servidor DNS en Linux
✅ Requisitos Previos
- Una máquina con Linux (preferentemente Ubuntu Server)
- Acceso como root o
sudo
- IP estática configurada
1️⃣ Instalar BIND9
sudo apt update
sudo apt install bind9 bind9utils bind9-doc dnsutils -y
2️⃣ Configurar zona directa
Edita el archivo de zonas:
sudo nano /etc/bind/named.conf.local
Agrega:
zone "midominio.com" {
type master;
file "/etc/bind/db.midominio.com";
};
Copia un archivo base:
sudo cp /etc/bind/db.local /etc/bind/db.midominio.com
Edita el nuevo archivo:
sudo nano /etc/bind/db.midominio.com
Ejemplo:
;
; Zona directa para midominio.com
;
$TTL 604800
@ IN SOA ns1.midominio.com. admin.midominio.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.midominio.com.
ns1 IN A 192.168.1.10
www IN A 192.168.1.20
3️⃣ Configurar zona inversa
Edita:
sudo nano /etc/bind/named.conf.local
Agrega:
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};
Crea el archivo:
sudo cp /etc/bind/db.127 /etc/bind/db.192
sudo nano /etc/bind/db.192
Ejemplo:
;
; Zona inversa
;
$TTL 604800
@ IN SOA ns1.midominio.com. admin.midominio.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.midominio.com.
10 IN PTR ns1.midominio.com.
20 IN PTR www.midominio.com.
4️⃣ Verifica la configuración
sudo named-checkconf
sudo named-checkzone midominio.com /etc/bind/db.midominio.com
sudo named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
5️⃣ Reinicia el servicio
sudo systemctl restart bind9
6️⃣ Prueba el servidor DNS
Edita /etc/resolv.conf
para usar tu nuevo DNS:
nameserver 192.168.1.10
Prueba con dig
o nslookup
:
dig www.midominio.com
🧩 Conclusión
Con estos pasos, ya tienes un servidor DNS funcionando en tu red local. Puedes agregar más zonas, registros y ampliar tu infraestructura DNS según lo necesites.