/etc/hosts
100%

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.

/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.

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 getent y DNS por separado con dig.

  • 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
Siguiente Lección
Volver a DNS