Marcio Cunha

Cómo configurar el archivo hosts en Linux para redirigir IPs

Aprende paso a paso cómo funciona el archivo de resolución de nombres local (/etc/hosts) en Linux, mapeando dominios a IPs específicas.

Marcio Cunha•5 min
También disponible en:PortuguêsEnglish
Resumen
  • El archivo /etc/hosts actúa como la primera línea de resolución de direcciones antes de cualquier consulta DNS en la red externa.
  • La edición manual requiere privilegios de superusuario y sintaxis estricta combinando la dirección IP y el nombre de dominio.
  • Probar la resolución local con el comando ping valida de inmediato si el sistema operativo priorizó el mapeo estático.
  • El uso del archivo hosts es ideal para pruebas locales de desarrollo web y simulación de entornos antes de la propagación real.
  • Comprender el orden de prioridad del sistema evita conflictos persistentes entre entradas locales y servidores DNS remotos.

Qué es el archivo hosts y cómo funciona en la práctica

Cuando escribimos una dirección web en el navegador, la computadora necesita descubrir la dirección IP real detrás de ese nombre. Este proceso de traducción se conoce como resolución de nombres. En Linux, antes de consultar cualquier servidor en internet, el sistema verifica primero el archivo local /etc/hosts. En la práctica, esto significa que puedes interceptar o redirigir cualquier dominio hacia donde desees simplemente escribiendo unas pocas líneas en un archivo de texto plano.

Este mecanismo funciona como una libreta de contactos privada de tu computadora. Si el nombre que buscas está anotado allí, el sistema usa esa información de inmediato y ni siquiera pregunta a la red. De lo contrario, recurre a servidores externos o herramientas como el comando dig para buscar el destino correcto. Esta prioridad convierte al archivo hosts en una herramienta poderosa para desarrolladores y administradores de sistemas.

La estructura del archivo es extremadamente sencilla y directa. Cada línea válida contiene una dirección IP, seguida de uno o más espacios o tabulaciones, y el nombre de dominio correspondiente. También puedes agregar comentarios usando el carácter almohadilla (#) al inicio de la línea, lo que ayuda a documentar tus cambios. Antes de comenzar, recuerda que editar archivos del sistema requiere precaución para no corromper configuraciones vitales.

Cómo editar el archivo hosts con privilegios administrativos

Dado que /etc/hosts es un archivo protegido del sistema operativo, no puedes guardarlo usando un editor de usuario común. Se necesitan privilegios de superusuario (root) para realizar cualquier modificación. El primer paso es abrir la terminal de tu Linux y elegir un editor de texto basado en línea de comandos, como nano o vim. En la práctica, nano suele ser la opción más amigable para quienes empiezan.

Para abrir el archivo con permisos de escritura, ejecuta el comando con la utilidad sudo. Ingresa tu contraseña de usuario cuando se solicite y el archivo se abrirá en la terminal. Si deseas verificar tus conexiones de red en paralelo, puedes consultar el comando para rastrear conexiones TCP. A continuación, observa el comando exacto para iniciar la edición del archivo hosts de forma segura.

sudo nano /etc/hosts

Con el archivo abierto en pantalla, verás algunas líneas predeterminadas configuradas por defecto. La más común es la que apunta la dirección 127.0.0.1 al nombre localhost. Justo debajo de estas líneas predeterminadas es donde debes agregar tus propias reglas de redireccionamiento, manteniendo el patrón estructural limpio y ordenado.

Guía paso a paso para mapear un dominio a una IP específica

Ahora que el archivo está abierto en el editor, añadiremos nuestro mapeo práctico. Imagina que estás desarrollando un sitio web y quieres probar el dominio misitio.local apuntando directamente al servidor local de tu máquina o a una IP de pruebas en tu red interna, como 192.168.1.50. Cada línea que agregas crea un acceso directo que el sistema operativo respeta ciegamente.

Sigue esta secuencia de acciones para realizar el mapeo de forma correcta y segura:

  1. Abre la terminal y accede al archivo con el editor de texto usando permisos elevados.
  2. Desplázate hasta el final del archivo y añade la IP deseada seguida del dominio, por ejemplo: 192.168.1.50 misitio.local.
  3. Guarda los cambios presionando las teclas de atajo correspondientes del editor (como Ctrl+O y Enter en nano) y sal (Ctrl+X).

Una vez guardado, los cambios surten efecto de inmediato para casi todas las aplicaciones del sistema. Sin embargo, algunos navegadores web modernos tienen cachés internas de DNS agresivas que pueden insistir en consultar la red real. Si eso ocurre, reiniciar el navegador o limpiar la caché suele resolver el problema de forma definitiva.

Cómo probar la redirección usando el comando ping

Después de configurar el archivo hosts, el siguiente paso fundamental es validar si la redirección funciona como se espera. La herramienta más rápida y accesible para esto es el comando ping, que envía pequeños paquetes de datos al destino y mide el tiempo de respuesta. En la práctica, nos dirá si el nombre de dominio se tradujo correctamente a la IP que acabamos de registrar.

Abre la terminal nuevamente y ejecuta el comando ping indicando el dominio que acabas de mapear. Presta atención a la dirección IP que aparece entre paréntesis en la salida de la pantalla. Si la IP mostrada es exactamente la que colocaste en el archivo hosts, significa que el sistema operativo interpretó el mapeo con éxito.

ping -c 4 misitio.local

Si la respuesta muestra la IP correcta, tu computadora ahora sabe exactamente a dónde enviar el tráfico cuando intentes acceder a ese nombre. Si el comando devuelve un error de resolución indicando que no se encontró el host desconocido, revisa la sintaxis del archivo /etc/hosts en busca de errores tipográficos, espacios extra o falta de permisos al guardar. Para profundizar en estos conceptos arquitectónicos en producción, consulte también nuestro análisis técnico sobre Cómo probar memorias EEPROM en el banco con grabador CH341A.

Consideraciones finales sobre el uso del archivo hosts

El archivo /etc/hosts sigue siendo una de las herramientas más sencillas y versátiles del ecosistema Linux para controlar rutas locales de nombres. Elimina la necesidad de configurar servidores DNS complejos cuando solo necesitas dirigir algunos dominios a IPs específicas en entornos de desarrollo, pruebas o homologación rápida en el banco de trabajo. Saber utilizarlo con seguridad ahorra un tiempo precioso en el día a día de la ingeniería.

A pesar de su enorme utilidad, recuerda que el mapeo manual es estático. Si la dirección IP del servidor cambia en el futuro, deberás actualizar el archivo en cada máquina cliente donde se aplicó la regla. Para estructuras más grandes o entornos en constante evolución, el enfoque ideal es migrar a soluciones centralizadas de DNS, manteniendo el archivo hosts restringido únicamente a escenarios de pruebas puntuales y depuración inmediata.