/etc/hosts proporciona entradas estáticas de direcciones y nombres a la pila local de servicios de nombres del sistema. Resulta útil para nombres loopback, dependencias de arranque y pruebas con un ámbito limitado, pero no publica registros para otros hosts ni actualiza DNS.
DNS · Lección 4
/etc/hosts
Aprende cómo las correspondencias locales del archivo hosts participan en la resolución de nombres de Linux y cómo probarlas de forma segura.
Interpretar el archivo
Una línea comienza con una dirección IPv4 o IPv6 seguida de uno o varios nombres:
127.0.0.1 localhost
192.0.2.25 app-test.example.net app-test
2001:db8::25 app-test-v6.example.net app-test-v6
Los comentarios comienzan con #. Por convención, algunas herramientas tratan el primer nombre como canónico y los posteriores como alias, pero el comportamiento de las aplicaciones y las API de resolución varía. Evita entradas duplicadas o contradictorias para el mismo nombre.
¿Qué aparece primero en una línea normal de correspondencia de /etc/hosts?
Orden de resolución
La configuración de Name Service Switch, normalmente /etc/nsswitch.conf, determina cómo combinan las funciones del resolver del sistema files, DNS, sistemas multicast y otras fuentes. Una línea habitual es:
hosts: files dns
No supongas que los archivos siempre se consultan primero sin inspeccionar la política. Las aplicaciones también pueden utilizar sus propias bibliotecas DNS, cachés, proxies o resolvers cifrados, y es posible que no sigan la ruta del sistema.
¿Qué determina si el resolver del sistema consulta /etc/hosts antes que DNS?
Probar mediante el resolver del sistema
Usa getent para ejercitar la ruta configurada de servicios de nombres del sistema:
$ getent ahosts app-test.example.net
dig consulta DNS directamente y normalmente no informa de las correspondencias de /etc/hosts. Esta diferencia resulta útil: que getent tenga éxito y dig no puede indicar una fuente local o una diferencia en la política del resolver.
¿Qué herramienta es mejor para comprobar si la resolución normal del sistema ve una entrada del archivo hosts?
Editar de forma segura
Conserva las entradas necesarias de localhost y de identidad del host, valida la dirección prevista y realiza un cambio recuperable mediante herramientas de edición con privilegios. Evita sobrescribir un dominio público real como prueba casual; puede redirigir inesperadamente credenciales o tráfico de aplicaciones. Utiliza un nombre de prueba dedicado y elimina la entrada después del experimento.
Después de editar, prueba la aplicación exacta porque puede conservar una caché o utilizar otro resolver. Documenta las anulaciones persistentes para que no sobrevivan silenciosamente a su propósito.
¿Por qué debes utilizar un nombre de prueba dedicado en lugar de sobrescribir el nombre de un servicio público?
Configuración de servidores resolver
/etc/resolv.conf contiene tradicionalmente los ajustes de los resolvers DNS, pero a menudo lo generan NetworkManager, systemd-resolved, DHCP u otro gestor. Inspecciona los enlaces simbólicos y los comentarios del archivo, y cambia la fuente de configuración propietaria en lugar de editar una salida generada que se sobrescribirá.
¿Qué debes hacer antes de editar /etc/resolv.conf?
Lección completada
Has completado /etc/hosts
Ahora puedes utilizar /etc/hosts como una entrada local y controlada del resolver.
Escribe correspondencias que comiencen por la dirección y utilicen nombres y alias deliberados.
Inspecciona el orden de Name Service Switch en lugar de suponerlo.
Prueba la resolución del sistema con
getenty DNS por separado condig.Usa nombres temporales dedicados y comprueba la aplicación real.
Cambia los servidores resolver mediante el propietario de la configuración.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita