Configuración y resolución de problemas de DNS
Comprenda cómo los servidores Linux resuelven nombres de host en direcciones IP: configure resolutores, edite /etc/hosts y utilice dig, nslookup y host para diagnosticar problemas de DNS que interrumpen la conectividad incluso cuando la red funciona correctamente.
Configuración y resolución de problemas de DNS es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
Por qué es importante el DNS en un servidor
Su servidor puede tener una configuración de red y firewall perfecta y, aun así, no poder acceder al exterior si no puede resolver nombres. DNS traduce nombres de host fáciles de recordar, como example.com, en direcciones IP.
Comprender cómo funciona la resolución — y cómo depurarla — es fundamental para administrar redes.
La ruta de resolución
Cuando un programa necesita obtener la IP de un nombre, Linux comprueba las fuentes en orden, normalmente:
- El archivo local
/etc/hosts - Los servidores DNS configurados (resolvers)
El orden está determinado por /etc/nsswitch.conf, en la línea hosts:.
grep hosts /etc/nsswitch.conf
# hosts: files dnsEl archivo /etc/hosts
/etc/hosts asocia nombres con IP de forma local, sin consultar DNS. Es ideal para realizar pruebas, usar nombres de host internos o fijar un dominio a una IP específica.
Cada línea contiene una IP seguida de uno o más nombres.
127.0.0.1 localhost
192.168.1.50 db.internal dbDónde se configuran los resolvers
El archivo clásico es /etc/resolv.conf, que contiene la lista de servidores de nombres. En los sistemas modernos, a menudo lo administran systemd-resolved o NetworkManager, por lo que editarlo directamente puede no ser permanente.
Compruebe qué configuración se está utilizando realmente antes de cambiar nada.
cat /etc/resolv.conf
resolvectl statusConfiguración de un servidor DNS
En un sistema con systemd-resolved, configure el DNS por interfaz en lugar de editar resolv.conf. En servidores basados en Netplan, debe definirlo en la configuración YAML.
Este ejemplo configura resolvers públicos para una interfaz.
sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0Consulta de registros con dig
dig es la herramienta de consulta DNS más potente. Muestra la respuesta y los metadatos de la consulta.
La opción +short la reduce para mostrar solo la respuesta — ideal para scripts.
dig example.com
dig +short example.comConsulta de tipos de registro específicos
DNS almacena muchos tipos de registros. Especifique uno para inspeccionar servidores de correo, servidores de nombres o alias.
A— dirección IPv4AAAA— dirección IPv6MX— servidores de correoNS— servidores de nombresCNAME— alias
dig example.com MX +short
dig example.com NS +shortnslookup y host
nslookup y host son alternativas más sencillas a dig. Resultan útiles para comprobaciones rápidas y para búsquedas inversas (de IP a nombre).
Las búsquedas inversas consultan el registro PTR de una dirección.
host example.com
nslookup example.com
dig -x 8.8.8.8 +shortConsulta a un servidor específico
Para comprobar si un resolver concreto es el problema, dirija una consulta a un servidor específico mediante la sintaxis @. Si un resolver público funciona pero el suyo no, el problema está en su configuración de DNS.
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +shortFlujo de trabajo para solucionar problemas
Cuando un nombre no se resuelva, revise las distintas capas:
- ¿Puede hacer ping directamente a una IP? (descarta la red)
- ¿Funciona
dig @1.1.1.1 name? (descarta que el problema sea el nombre) - ¿Funciona
dig namecon su resolver predeterminado? (aísla la configuración del resolver) - ¿Hay una entrada obsoleta en
/etc/hostsque la esté sobrescribiendo?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +shortBuenas prácticas
Mantenga fiable la resolución de nombres:
- Use al menos dos resolvers para disponer de redundancia
- No edite manualmente
resolv.confsi se administra automáticamente - Use
/etc/hostspara realizar pruebas, pero elimine las entradas obsoletas - Prefiera
dig +shorten los scripts para obtener una salida limpia
Comprobación rápida
Compruebe sus conocimientos sobre la solución de problemas de DNS.
Repaso
Ahora puede configurar y depurar DNS en un servidor:
- Orden de resolución mediante
/etc/nsswitch.confy/etc/hosts - Resolvers en
resolv.conf/systemd-resolved - Consultas con
dig,hostynslookup, incluidos tipos de registro y servidores específicos - Un flujo de trabajo de solución de problemas por capas
Esto complementa sus conocimientos de redes y firewalls con la capa de resolución de nombres.
Aprende Linux Server Deployment & SSH Mastery con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 12
- Lecciones
- 48
Preguntas frecuentes
¿La lección «Configuración y resolución de problemas de DNS» es gratis?
Sí — el texto completo de «Configuración y resolución de problemas de DNS» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Configuración y resolución de problemas de DNS»?
Comprenda cómo los servidores Linux resuelven nombres de host en direcciones IP: configure resolutores, edite /etc/hosts y utilice dig, nslookup y host para diagnosticar problemas de DNS que interrum… Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?
No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Configuración y resolución de problemas de DNS»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?
Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Configuración básica de red
- Comprensión de los firewalls (UFW/firewalld)
- Gestión y seguridad de puertos
- Configuración y resolución de problemas de DNS