Cómo editar el archivo de hosts en macOS (Mac OS X)
El archivo de hosts de tu Mac es un pequeño pero importante documento de texto que tiene la capacidad de mapear los nombres de hosts a direcciones IP específicas.
Mientras que la Internet moderna utiliza una variedad de servidores DNS públicos y privados para asignar direcciones IP, el archivo de hosts es una forma práctica de anular esos servidores DNS, permitiéndote apuntar manualmente una dirección de sitio web a la dirección IP deseada, o bloquear el acceso a un sitio por completo apuntando a una dirección IP interna o no utilizada.
Echemos un vistazo rápido a cómo editar el archivo de hosts de Mac en MacOS.
Cómo editar el archivo de hosts de su Mac con el editor de texto
Hay dos formas principales de editar el archivo de hosts en Mac OS X.
La primera es mediante el uso de TextEdit, ya que el archivo de hosts es un documento de texto plano. Sin embargo, no puedes abrir el archivo directamente ya que reside en un área protegida del sistema de archivos. En su lugar, necesitamos copiar el archivo a una ubicación desprotegida, como el Escritorio, editarlo y luego volver a copiarlo.
Para encontrar el archivo de hosts, abre el Finder, al que puedes acceder haciendo clic en el escritorio, el buscador de caritas sonrientes en la parte inferior izquierda de la pantalla, o pulsando comando + barra espaciadora + Finder. Luego sigue estos pasos:
- Selecciona el menú desplegable Ir
- Entonces selecciona Ir a la carpeta en el menú
- En la casilla, introduce «/privado/etc/hosts» en la casilla
- Presiona Return
- Se abrirá una nueva ventana del Finder y se seleccionará el archivo de hosts de tu Mac. Haz clic y arrástralo fuera de la ventana del Finder y suéltalo en tu escritorio.
Para abrirlo, simplemente haz doble clic y mostrará el contenido del archivo en TextEdit (o en el editor de texto de tu elección).
Bloquear las direcciones IP
Por defecto, el archivo /etc/hosts es relativamente simple. Contiene una serie de líneas de texto descriptivo que están «comentadas» con el signo (#) de la libra o del número (también llamado hashtag).
Cualquier línea que comience con el signo # es un comentario y no es leída por el archivo /etc/hosts. Para cada línea, cualquier texto después del símbolo de numeración es ignorado por el ordenador, lo que hace que sea una buena forma de añadir notas y descripciones a sus archivos. También contiene valores de IP por defecto para localhost y broadcasthost. Para editar el archivo, agregarás tus propias líneas después de la transmisión.
Además de probar los sitios web de reciente creación y las migraciones en alojamientos web, otra razón para editar el archivo host es bloquear el acceso a sitios web específicos.
En nuestro ejemplo, simularemos que el ordenador que estamos usando es un dispositivo que queremos usar exclusivamente para el trabajo, no permitiéndonos distraernos con Facebook en nuestra máquina de trabajo.
Para hacer esto, escribe la dirección IP que deseas asignar, seguida de dos pestañas y el nombre del host. En nuestro caso, queremos bloquear Facebook para que asignemos www.facebook.com a 0.0.0.0 que, como dirección IP inválida, resultará en un error.
Ahora, cada vez que intentemos ir a www.facebook.com desde nuestro Mac, el navegador web no cargará la página, ¡esperemos que nos anime a volver al trabajo!
Redireccionar las direcciones web
Alternativamente, puedes introducir la dirección IP de un sitio válido en lugar de 0.0.0.0, lo que hará que los usuarios que intenten acceder a Facebook sean dirigidos al sitio de tu elección.
Para determinar la dirección IP de un sitio web, puedes usar el comando dig, que viene de serie con macOS. Para «excavar» el sitio a través de Terminal, simplemente abrimos Terminal y luego ejecutamos el comando dig en la URL, que luego devolverá la dirección IP como salida.
$ dig www.enredandote.com +short
104.25.27.105
Nota: La opción +short mantiene la salida a sólo la información que necesitamos, que es la dirección IP.
Toma nota de la dirección IP que se devuelve y úsala en el mapeo de archivos de los hosts de tu Mac. Por ejemplo, el sitio web del New York Times devuelve una dirección IP de 170.149.172.130. Si la asignamos a Facebook en nuestro archivo de hosts, cada vez que alguien que usa la Mac intenta ir a Facebook, verás que el New York Times se carga en su lugar.
Nota: Muchos sitios web no te permitirán asignar un nombre de dominio a la dirección IP actualmente asignada al sitio, por lo que recibirás un error de seguridad cuando lo intentes.
Puedes agregar tantas entradas al archivo de hosts como desees introduciendo nuevas asignaciones en cada línea. Una vez que hayas realizado los cambios deseados en el archivo de hosts, guárdalo en yu ubicación actual en el Escritorio.
Luego, arrastra y suelta el archivo de hosts desde el Escritorio a su ubicación original en /private/etc. Si has cerrado la ventana del Finder que apunta a este directorio, simplemente usa el comando Finder > Go > Go to Folder, visto anteriormente, para reabrirlo.
Cuando sueltes el archivo de hosts en su ubicación original, macOS te preguntará qué hacer con el archivo de hosts no modificado que ya está allí. Elige «Reemplazar» y luego ingresa tu contraseña de usuario administrativo para autenticar la transferencia.
Con el archivo de hosts modificado ahora en su lugar, enciende tu navegador Web para probar los cambios.
Vacía la caché de DNS
En la mayoría de los casos, el nuevo mapeo debería funcionar inmediatamente, pero si no se ve el comportamiento correcto, es posible que tengas que vaciar la caché de DNS, obligando al navegador a leer desde su archivo de hosts para determinar el mapeo.
Para vaciar el caché de DNS de tu Mac, abre Terminal y utiliza el siguiente comando (sudo te permite ejecutar este comando como administrador de tu máquina):
$ sudo killall -HUP mDNSResponder
Nota: Necesitarás introducir su contraseña de administrador para ejecutar este comando.
Para que tu Mac borre tu caché de DNS y luego confirme que ha borrado tu caché haciendo eco de una confirmación, introduce estos dos comandos separados por un punto y coma como se muestra aquí:
$ sudo killall -HUP mDNSResponder;say DNS cache has been flushed
Cómo editar el archivo de tu Mac en la terminal con Nano
Los pasos de la sección anterior son bastante fáciles, pero si quieres evitar copiar el archivo de hosts puedes editarlo directamente en Terminal usando el Editor de Texto UNIX Nano, que está incorporado en macOS.
Para empezar, lanza Terminal, escribe el siguiente comando y pulsa Return. Como con todos los comandos de sudo, necesitarás también introducir tu contraseña de administrador para ejecutarlo:
$ sudo nano /private/etc/hosts
Ahora verás el archivo de hosts abierto en el editor de Nano o vim u otro editor de tu elección. Para navegar y editar el archivo en Nano, usa las teclas de flecha de tu teclado.
Al igual que hicimos con el método TextEdit anterior, podemos añadir, editar o eliminar mapeos de nombres de host a voluntad. Debido a que lanzamos Nano usando sudo, cualquier cambio será autenticado y guardado directamente en el archivo original de hosts, sin necesidad de copiarlo fuera de su directorio principal.
Cuando termines de hacer cambios, presiona Control-X para salir del editor, Y para guardar, y Return para sobreescribir el archivo de hosts existente.
Como mencionamos anteriormente, asegúrate de vaciar tu caché de DNS si notas que tus nuevos mapeos no funcionan correctamente.
Nuestros ejemplos mencionaron el bloqueo y la redirección de sitios de distracción en un entorno de trabajo, pero también puedes utilizar estos pasos para bloquear manualmente el acceso a sitios web maliciosos y, por supuesto, a otros usos también.
Si alguna vez cometes un error y no estás seguro de cómo solucionarlo, siempre puedes restaurar el contenido del archivo de hosts predeterminado utilizando uno de los métodos anteriores para introducir la siguiente información predeterminada:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost
Conclusión
Saber cómo editar el archivo de hosts en macOS ofrece una forma conveniente de anular los servidores DNS y apuntar manualmente una dirección de sitio web a una nueva dirección IP o bloquear el acceso, y siguiendo los pasos descritos anteriormente, se puede realizar esta tarea muy rápidamente.
Si eres usuario de Mac y este artículo te ha resultado útil, quizá quieras consultar otros tutoriales de Enredandote, como Cómo encontrar el modelo exacto de CPU de tu Mac y Cómo vaciar el DNS en Mac Mojave.