Para configurar DNS en un servidor Linux, instale BIND (con nombre), defina su DNS Configure el rol (autoritativo, de caché o de reenvío), edite los archivos named.conf y zone, abra el puerto 53 (TCP/UDP), inicie y habilite el servicio y, finalmente, valide con dig/nslookup. Esta guía paso a paso de 2026 abarca los sistemas Ubuntu/Debian y RHEL/Rocky con las mejores prácticas y consejos de seguridad.
Si estás aprendiendo a configurar DNS En entornos de servidor Linux, esta guía le mostrará cómo realizar una configuración limpia y fiable con BIND9. Aprenderá la diferencia entre los resolvedores autoritativos y de caché, cómo crear archivos de zona, abrir los puertos de firewall adecuados y probar su configuración, siguiendo pasos claros que se ajustan a las distribuciones de Linux de 2026.
Que es DNS y por qué es importante
Sistema de nombres de dominio (DNS) traduce nombres de dominio legibles por humanos en direcciones IP para que los navegadores, el correo electrónico y las API puedan conectarse al servidor correcto. En Linux, DNS Normalmente lo proporciona BIND (Berkeley Internet Name Domain), el dominio de código abierto más utilizado. DNS servidor. Puede ejecutar BIND como un servidor autoritativo, un resolvedor de caché o un servidor de reenvío seguro.
Intención de búsqueda y lo que aprenderá
Este tutorial es práctico, paso a paso. Linux DNS servidor Tutorial para principiantes y administradores de sistemas que desean una configuración robusta y lista para producción. Aprenderás a:
- Instalar y configurar BIND9 en Ubuntu/Debian y RHEL/Rocky/CentOS
- Crear archivos de zona directa e inversa (A, AAAA, CNAME, MX, NS, PTR)
- Elija roles de autoridad o de almacenamiento en caché/reenvío
- Abra los puertos del firewall y refuerce la seguridad. DNS (control de recursión, registro, opcional) DNSSEGUNDO)
- Solucionar problemas con dig, nslookup y registros del sistema
Requisitos previos
- Servidor Linux (Ubuntu 22.04/24.04 o Debian 12; Rocky Linux/RHEL 8/9)
- Acceso root o sudo
- Una IP pública/estática si aloja un servidor autoritativo. DNS
- Nombre de dominio (si crea zonas públicas) y acceso a su registrador
Escoge tu DNS Rol
Antes de editar las configuraciones, decida qué desea DNS servidor Debería hacerlo. Esto afecta a named.conf y a la configuración de seguridad.
- Autoritario DNS: Respuestas solo para las zonas que usted aloja (por ejemplo, example.com). Desactive la recursión.
- Caché/Resolutor recursivo: Responde a las consultas resolviendo recursivamente y almacenando en caché los resultados para los clientes. Permite la recursión solo en subredes de confianza.
- Reenvío: reenvía consultas a resolutores ascendentes (ISP, resolutores públicos) y almacena en caché las respuestas.
Paso a paso: Configurar DNS en Linux Server (BIND9)
1) Instalar BIND en Ubuntu/Debian
sudo apt update
sudo apt install -y bind9 bind9-utils dnsutils
sudo systemctl enable --now bind9
sudo systemctl status bind9En Ubuntu/Debian, las configuraciones principales se encuentran en /etc/bind. Normalmente, se editan named.conf.options y named.conf.local.
2) Instalar BIND en RHEL/Rocky/CentOS
sudo dnf install -y bind bind-utils
sudo systemctl enable --now named
sudo systemctl status namedEn los sistemas de la familia RHEL, las configuraciones se encuentran en /etc/named.conf y las zonas generalmente se almacenan en /var/named.
3) Configuración base (autoritaria vs. almacenamiento en caché)
Decida su rol y actualice las opciones según corresponda. A continuación, se muestran los valores predeterminados seguros para los diseños basados en Debian y RHEL. Ajuste el CIDR y las IP para su red.
Ubuntu/Debian: editar /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// Listen on all interfaces (IPv4/IPv6)
listen-on { any; };
listen-on-v6 { any; };
// Example for authoritative-only:
recursion no;
allow-query { any; };
// For caching/recursive mode, use:
// recursion yes;
// allow-query { 10.0.0.0/8; 192.168.0.0/16; localhost; };
// allow-recursion { 10.0.0.0/8; 192.168.0.0/16; localhost; };
// forwarders { 1.1.1.1; 8.8.8.8; }; // optional forwarders
dnssec-validation auto;
auth-nxdomain no; // conform to RFC1035
minimal-responses yes;
};RHEL/Rocky/CentOS: editar /etc/named.conf
options {
directory "/var/named";
pid-file "/run/named/named.pid";
listen-on port 53 { any; };
listen-on-v6 { any; };
// Authoritative-only defaults:
recursion no;
allow-query { any; };
// For caching/recursive mode:
// recursion yes;
// allow-query { localhost; 10.0.0.0/8; 192.168.0.0/16; };
// allow-recursion { localhost; 10.0.0.0/8; 192.168.0.0/16; };
// forwarders { 9.9.9.9; 8.8.4.4; };
dnssec-validation auto;
minimal-responses yes;
};
include "/etc/named.rfc1912.zones";Para servidores autoritativos, asegúrese de que haya recursión. Para resolvers de caché, restrinja la recursión y las consultas solo a subredes de confianza.
4) Define tus zonas (Configuración autorizada)
Supongamos que su dominio es example.com y que la IP de su servidor es 203.0.113.10 (IPv4) y 2001:db8::10 (IPv6). Crearemos una zona directa (example.com) y una zona inversa para 203.0.113.0/24.
Ubuntu/Debian: editar /etc/bind/named.conf.local
zone "example.com" IN {
type master;
file "/etc/bind/db.example.com";
};
zone "113.0.203.in-addr.arpa" IN {
type master;
file "/etc/bind/db.203.0.113";
};RHEL/Rocky/CentOS: editar /etc/named.rfc1912.zones
zone "example.com" IN {
type master;
file "db.example.com";
};
zone "113.0.203.in-addr.arpa" IN {
type master;
file "db.203.0.113";
};Crea el archivo de zona delantera.
$TTL 300
@ IN SOA ns1.example.com. admin.example.com. (
2026010101 ; Serial (YYYYMMDDNN)
3600 ; Refresh
900 ; Retry
1209600 ; Expire
300 ) ; Negative Cache TTL
; Nameservers
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A/AAAA records
ns1 IN A 203.0.113.10
ns1 IN AAAA 2001:db8::10
ns2 IN A 203.0.113.11
www IN A 203.0.113.20
@ IN A 203.0.113.20
@ IN AAAA 2001:db8::20
; Mail (MX)
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.30
; CNAME example
blog IN CNAME www.example.com.Cree el archivo de zona inversa para IPv4.
$TTL 300
@ IN SOA ns1.example.com. admin.example.com. (
2026010101
3600
900
1209600
300 )
IN NS ns1.example.com.
IN NS ns2.example.com.
10 IN PTR ns1.example.com.
11 IN PTR ns2.example.com.
20 IN PTR www.example.com.
30 IN PTR mail.example.com.Nota: Actualice el número de serie en cada cambio. Para información pública autorizada DNS, registre los nombres de host de sus servidores de nombres (ns1/ns2) y los registros de enlace en su registrador de dominios.
5) Permisos y SELinux (RHEL)
Establecer la propiedad adecuada y SELinux contextos en los sistemas de la familia RHEL:
sudo chown root:named /var/named/db.example.com /var/named/db.203.0.113
sudo chmod 640 /var/named/db.*
sudo chcon -t named_zone_t /var/named/db.example.com /var/named/db.203.0.113
sudo setsebool -P named_write_master_zones on6) Validar la configuración e iniciar/recargar
# Ubuntu/Debian
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/db.example.com
sudo named-checkzone 113.0.203.in-addr.arpa /etc/bind/db.203.0.113
sudo systemctl reload bind9
# RHEL/Rocky/CentOS
sudo named-checkconf /etc/named.conf
sudo named-checkzone example.com /var/named/db.example.com
sudo named-checkzone 113.0.203.in-addr.arpa /var/named/db.203.0.113
sudo systemctl reload named7) Abrir puertos de firewall (TCP/UDP 53)
# Ubuntu/Debian with UFW
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
sudo ufw reload
# RHEL/Rocky/CentOS with firewalld
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload8) Prueba con dig y nslookup
# Query your authoritative server directly:
dig @203.0.113.10 example.com A +short
dig @203.0.113.10 www.example.com A +short
dig @203.0.113.10 -x 203.0.113.20 +short
# Check NS and SOA:
dig @203.0.113.10 example.com NS +noall +answer
dig @203.0.113.10 example.com SOA +noall +answer
# If caching resolver:
dig @YOUR_DNS_SERVER youstable.com A +stats +traceSi su servidor debe usar este resolver, configure el resolver del sistema como corresponda. En hosts con resolución systemd, configure /etc/systemd/resolved.conf y reinicie systemd-resolved. En otros sistemas, actualice /etc/resolv.conf con el servidor de nombres 127.0.0.1 o la IP de su LAN.
Sus preguntas DNS Explicación de los registros
- A: Asigna un nombre de host a un IPv4 dirección.
- AAAA: Asigna un nombre de host a un IPv6 dirección.
- CNAME: Alias de otro nombre de host (no puede coexistir con otros registros con el mismo nombre).
- MX: Intercambiador de correo para enrutamiento de correo electrónico; apunta a un nombre de host con un registro A/AAAA.
- NS: Servidores de nombres autorizados para la zona.
- TXT: Texto arbitrario (SPF, DKIM, verificación).
- PTR: Invertir DNS Mapeo de IP a nombre de host.
Mejores prácticas y refuerzo de la seguridad (2026)
- Deshabilitar la recursión en servidores autorizados: recursión no;
- Restrinja la recursión en los solucionadores de almacenamiento en caché únicamente a subredes confiables.
- Respuestas mínimas: respuestas mínimas sí; reduce la exposición de datos.
- DNSValidación SEC para resolutores: dnssec-validation auto;
- Horizonte dividido (vistas) si se atiende a clientes internos y externos de manera diferente.
- Limitación de velocidad: utilice la Limitación de velocidad de respuesta (RRL) si está disponible en su compilación BIND para mitigar la amplificación.
- Registro: habilite el registro de consultas durante la resolución de problemas y luego deshabilítelo para reducir el ruido y proteger la privacidad.
- Mantenga BIND y el sistema operativo parcheados. Las versiones LTS 2026 incluyen las ramas BIND 9.18/9.20 (realice un seguimiento de los avisos de seguridad).
- IPv6: Agregue registros AAAA y asegúrese de que listen-on-v6 esté habilitado.
- Copias de seguridad: controle las versiones de sus archivos de zona y documente los cambios en serie.
Lista de verificación de solución de problemas
- Errores de sintaxis: named-checkconf y named-checkzone deberían devolver OK.
- Cortafuegos/NAT: Asegúrese de que UDP/TCP 53 esté abierto y reenviado al DNS anfitrión.
- SELinux/AppArmor: Ajuste los contextos/permisos si las zonas no se cargan.
- Vincular permisos de usuario: los archivos de zona deben ser legibles por bind/named.
- Número de serie incorrecto: después de realizar las ediciones, aumente el número de serie o los secundarios no se actualizarán.
- Registros de pegamento: para servidores públicos autorizados, configure el pegamento en su registrador.
- Fugas de recursión: los servidores autorizados no deben proporcionar respuestas recursivas.
- Marcha atrás DNS: Los registros PTR a menudo deben configurarse con su proveedor de IP si usted no controla la zona inversa.
Casos de uso del mundo real
- Pequeña empresa: Una máquina virtual autorizada para example.com, segunda máquina virtual esclava en otra zona de disponibilidad; recursión deshabilitada, DNSSEC en el dominio.
- LAN empresarial: dos solucionadores de almacenamiento en caché con recursión permitida limitada a subredes RFC1918, que reenvían a solucionadores seguros ascendentes.
- Desarrolladores: Split-horizon DNS a través de vistas BIND para exponer *.dev.example.com interno solo en VPN.
Cuándo utilizar Managed DNS o un VPS
Correr DNS El sistema interno es potente, pero requiere supervisión, redundancia y experiencia. Si prefiere confiabilidad sin la sobrecarga, utilice managed DNS o bien, implementarlo en un VPS reforzado con instantáneas automatizadas. YouStable Ofrece alojamiento VPS de alta disponibilidad, ideal para resolutores autoritativos o de caché basados en BIND, además de soporte global. DNS Opciones para una resolución más rápida y redundante. Elija la ruta que mejor se adapte a su equipo y a su acuerdo de nivel de servicio (SLA).
Resolución rápida de solo almacenamiento en caché (opcional)
¿Necesita un solucionador interno rápido? Esta configuración mínima convierte a BIND en un servidor de caché para su LAN:
options {
directory "/var/cache/bind";
listen-on { 0.0.0.0; };
listen-on-v6 { any; };
recursion yes;
allow-query { 10.0.0.0/8; 192.168.0.0/16; localhost; };
allow-recursion { 10.0.0.0/8; 192.168.0.0/16; localhost; };
forwarders { 1.1.1.1; 8.8.8.8; }; // optional for speed/failover
dnssec-validation auto;
minimal-responses yes;
};Dirija las máquinas cliente a la IP de este servidor como su DNS y verifique con dig +stats para confirmar los aciertos de caché.
Preguntas frecuentes: Cómo configurar DNS en un servidor Linux
¿Cómo elijo entre autoritativo y caché? DNS?
Utilice autoritativo DNS para servir los registros oficiales de su dominio (de cara al público). Utilice almacenamiento en caché/recursivo. DNS para resolver y almacenar en caché las consultas de los clientes de su red. Muchas organizaciones utilizan ambos: servidores públicos autorizados y resolvedores de caché internos.
¿Qué puertos deben estar abiertos para Linux? DNS ¿servidor?
Abra el puerto UDP 53 para consultas estándar y el puerto TCP 53 para respuestas grandes, transferencias de zona y DNSSEC. Asegúrese de que los firewalls, los grupos de seguridad y las reglas NAT ascendentes permitan el tráfico bidireccional en ambos.
¿Cómo configuro la marcha atrás? DNS (Registros PTR)?
Cree una zona inversa (in-addr.arpa para IPv4 o ip6.arpa para IPv6) y agregue registros PTR que apunten las IP a los nombres de host. Si no controla el bloque de IP, comuníquese con su ISP o proveedor de nube para configurar los PTR en su DNS.
¿Cuál es la forma más sencilla de probar mi DNS ¿configuración?
Utilice dig: dig @SERVER_IP example.com A, dig @SERVER_IP -x IP y dig example.com NS + trace. También revise el estado de systemctl named/bind9 y el diario del sistema para detectar errores de carga.
Is DNSSEC necesario para mi Linux DNS ¿servidor?
DNSSe recomienda SEC para validar los resolvedores (dnssec-validation auto). Para zonas autoritativas, DNSLa firma de la SEC mejora la confianza, pero añade pasos operativos (clave) manage(Registro DS en el registrador). Implementarlo cuando su equipo pueda mantener el ciclo de vida de forma fiable.
Conclusión
Ahora sabes como configurar DNS en un servidor Linux Usando BIND9, desde la instalación y los archivos de zona hasta las reglas de firewall, la seguridad y las pruebas. Mantenga las configuraciones al mínimo, restrinja la recursión con prudencia y monitoree los registros. Cuando el tiempo de actividad sea crítico, considere servidores redundantes o... YouStable VPS y managed DNS para simplificar las operaciones manteniendo el rendimiento.