Resolución de Nombres en Linux
Resumen de una línea
Mecanismo para traducir nombres de dominio a direcciones IP mediante /etc/resolv.conf, /etc/nsswitch.conf, /etc/hosts y systemd-resolved.
Concepto
Resolución de nombres es el proceso por el cual un sistema Linux traduce nombres (ej: www.example.com) a direcciones IP. Involucra múltiples componentes:
- Configuración estática (/etc/hosts)
- Configuración dinámica (/etc/resolv.conf, systemd-resolved)
- Orden de búsqueda (/etc/nsswitch.conf)
Componentes Clave
/etc/resolv.conf
Especifica servidores DNS y comportamiento de búsqueda:
nameserver 8.8.8.8 # DNS primario
nameserver 8.8.4.4 # DNS secundario
search example.com # Dominio por defecto
/etc/nsswitch.conf
Define el orden de búsqueda (qué fuente consultar primero):
hosts: files dns # Primero /etc/hosts, luego DNS
/etc/hosts
Base de datos local de nombres:
127.0.0.1 localhost
192.168.1.10 servidor.local
systemd-resolved
Servicio DNS moderno en sistemas systemd:
- Caché DNS local (puerto 127.0.0.53)
- mDNS (.local domains)
- DNSSEC, DNS over TLS
- Manejo automático de
/run/systemd/resolve/stub-resolv.conf
Flujo de Resolución
Aplicación → nsswitch.conf → /etc/hosts (files) → systemd-resolved → servidores DNS
- Aplicación solicita resolver nombre
- Consulta /etc/nsswitch.conf para orden de búsqueda
- Si “files” primero: busca en /etc/hosts
- Si no encuentra: consulta systemd-resolved
- systemd-resolved consulta servidores en /etc/resolv.conf
- Retorna resultado (caché)
Relaciones
Conecta con
- Configuración de Red en Linux — Parte de configuración de red
- Fundamentos de DNS — Protocolo DNS
- Bind9 — Servidor DNS autoritativo
- dnsmasq — DNS + DHCP local
Fuentes
- Artículo: Resolución de Nombres en Linux