Cómo editar el archivo Hosts en macOS (Mac OS X)

El archivo de hosts de su Mac es un documento de texto pequeño pero importante que tiene la capacidad de asignar nombres de host a direcciones IP específicas.

Si bien la Internet moderna usa 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, lo que le permite apuntar manualmente la dirección de un 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 Text Edit

Hay dos formas principales de editar el archivo de hosts en Mac OS X.

La primera es usando TextEdit ya que el archivo de hosts es un documento de texto sin formato. Sin embargo, no puede abrir el archivo directamente ya que reside en un área protegida del sistema de archivos. En su lugar, debemos copiar el archivo en una ubicación desprotegida, como el escritorio, editarlo y luego volver a copiarlo.

  • Para encontrar el archivo de hosts, abra el Finder, al que puede acceder haciendo clic en el escritorio, el buscador de caritas sonrientes en la parte inferior izquierda de su pantalla, o presionando cmd + barra espaciadora + Finder.
  • Ahora, seleccione el menú desplegable Ir.

3. Luego, seleccione Ir a la carpeta en el menú.

4. En el cuadro, ingrese «/private/etc/hosts» en el cuadro y presione Return.

5. Se abrirá una nueva ventana del Finder y se seleccionará el archivo de hosts de su Mac. Haga clic y arrástrelo fuera de la ventana del Finder y suéltelo en su escritorio.

Para abrirlo, simplemente haga doble clic y mostrará el contenido del archivo en TextEdit (o el editor de texto de su elección).

Bloquear direcciones IP

De forma predeterminada, el archivo /etc/hosts es relativamente simple. Contiene una serie de líneas de texto descriptivo que se «comentan» con el signo de libra o número (también llamado libra o hashtag) (#).

  Cómo comprobar si una aplicación está firmada en macOS

Cualquier línea que comience con un signo # es un comentario y no se lee en el archivo /etc/hosts. Para cada línea, la computadora ignora cualquier texto después del signo de libra, lo que lo convierte en una buena manera de agregar notas y descripciones a sus archivos. También contiene valores de IP predeterminados para localhost y broadcasthost. Para editar el archivo, agregará sus propias líneas después de broadcasthost.

Además de probar sitios web recientemente desarrollados y migraciones de alojamiento web, otra razón para editar el archivo de hosts es bloquear el acceso a sitios web específicos.

En nuestro ejemplo, pretenderemos que la computadora que estamos usando es un dispositivo que queremos usar exclusivamente para el trabajo, sin permitirnos distraernos con Facebook en nuestra máquina de trabajo.

Para hacer esto, escriba la dirección IP que desea asignar, seguida de dos pestañas y el nombre de host. En nuestro caso, queremos bloquear Facebook, por lo que asignaremos www.facebook.com a 0.0.0.0 que, como dirección IP no válida, generará un error.

Ahora, cada vez que intentemos ir a www.facebook.com desde nuestra Mac, el navegador web no podrá cargar la página, ¡esperamos que nos anime a volver al trabajo!

Redirigir direcciones web

Alternativamente, puede ingresar 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 su elección.

  • Para determinar la dirección IP de un sitio web, puede usar el comando dig, que viene de serie con macOS. Para excavar el sitio a través de la Terminal, simplemente abrimos la Terminal y luego ejecutamos el comando de excavación en la URL, que luego devolverá la dirección IP como salida.
  • Ahora, escriba «$ dig www.techjunkie.com + short 104.25.27.105»

Nota: La opción corta + mantiene la salida solo con la información que necesitamos, que es la dirección IP.

3. Tome nota de la dirección IP que se devuelve y utilícela en la asignación de archivos de hosts de su Mac. Por ejemplo, el sitio web de The New York Times devuelve una dirección IP de 170.149.172.130. Si asignamos eso a Facebook en nuestro archivo de hosts, cada vez que alguien que usa la Mac intente ir a Facebook, verá que se carga The New York Times en su lugar.

  Cómo ejecutar comandos de Terminal desde un script en macOS

Nota: muchos sitios web no le permitirán asignar un nombre de dominio a la dirección IP actualmente asignada al sitio, por lo que recibirá un error de seguridad cuando lo intente.

4. Puede agregar tantas entradas al archivo de hosts como desee ingresando nuevas asignaciones en cada línea. Una vez que haya realizado los cambios deseados en el archivo de hosts, guárdelo en su ubicación actual en el Escritorio.

5. Luego, arrastre y suelte el archivo de hosts desde su escritorio a su ubicación original en /private/etc. Si ha cerrado la ventana del Finder que apunta a este directorio, simplemente use el comando Finder > Ir > Ir a la carpeta, discutido anteriormente, para volver a abrirlo.

6. Cuando vuelva a colocar el archivo de hosts en su ubicación original, macOS le preguntará qué hacer con el archivo de hosts no modificado que ya está allí. Elija Reemplazar y luego ingrese su contraseña de usuario administrativo para autenticar la transferencia.

Con el archivo de hosts modificado ahora en su lugar, inicie su navegador web para probar los cambios.

Vacíe su caché de DNS

En la mayoría de los casos, la nueva asignación debería funcionar de inmediato, pero si no ve el comportamiento correcto, es posible que deba vaciar su caché de DNS, lo que obliga al navegador a leer su archivo de hosts para determinar la asignación.

  • Para vaciar la caché de DNS en su Mac, abra Terminal y use el siguiente comando (sudo le permite ejecutar este comando como administrador de su máquina):
  • Ahora, escriba «sudo killall -HUP mDNSResponder» y presione Retorno. Nota: Deberá ingresar su contraseña de administrador para ejecutar este comando.
  • Para que su Mac borre su caché de DNS, luego confirme que ha borrado su caché haciendo eco de una confirmación, ingrese estos dos comandos separados por un punto y coma como se muestra aquí: «sudo killall -HUP mDNSResponder;say DNS cache has was flushed»

Luego, su Mac aparecerá a través de los parlantes diciendo «Se ha vaciado el caché de DNS».

Cómo editar el archivo de hosts de su Mac en la terminal con Nano

Los pasos de la sección anterior son bastante sencillos, pero si desea evitar copiar el archivo de hosts, puede editarlo directamente en la Terminal utilizando UNIX Nano Text Editor, que está integrado en macOS.

  • Para comenzar, inicie Terminal, escriba el siguiente comando y presione Retorno. Al igual que con todos los comandos sudo, también deberá ingresar su contraseña de administrador para ejecutarlo: «sudo nano /private/etc/hosts»
  Cómo crear una lista de tareas pendientes que se activa al apagar en macOS

2. Ahora verá el archivo de hosts ábralo en el editor Nano o vim u otro editor de su elección. Para navegar y editar el archivo en Nano, use las teclas de flecha en su teclado.

3. Tal como lo hicimos con el método TextEdit anterior, podemos agregar, editar o eliminar asignaciones de nombres de host a voluntad. Debido a que lanzamos Nano usando sudo, cualquier cambio se autenticará y se guardará directamente en el archivo de hosts original, sin necesidad de copiarlo fuera de su directorio de inicio.

4. Cuando termine de hacer cambios, presione Control-X para salir del editor, Y para guardar y Regresar para sobrescribir el archivo de hosts existente.

Como mencionamos anteriormente, asegúrese de vaciar su caché de DNS si nota que sus nuevas asignaciones no funcionan correctamente.

Nuestros ejemplos mencionaron el bloqueo y la redirección de sitios que distraen en un entorno de trabajo, pero también puede usar estos pasos para bloquear manualmente el acceso a sitios web maliciosos y, por supuesto, también para otros usos.

Si alguna vez comete un error y no está seguro de cómo solucionarlo, siempre puede restaurar el contenido del archivo de host predeterminado utilizando uno de los métodos anteriores para ingresar la siguiente información predeterminada:

##
# Base de datos del anfitrión
#
# localhost se usa para configurar la interfaz loopback
# cuando el sistema se está iniciando. No cambie esta entrada.
##
127.0.0.1 servidor local
255.255.255.255 host de difusión :: 1 host local
fe80::1%lo0 servidor local

Pensamientos finales

Saber cómo editar el archivo de hosts en macOS ofrece una forma conveniente de anular los servidores DNS y apuntar manualmente la dirección de un sitio web a una nueva dirección IP o bloquear el acceso, y siguiendo los pasos descritos anteriormente, puede realizar esta tarea muy rápidamente.

¿Cuál es la razón por la que busca editar el archivo de hosts de su Mac? Como resulto? ¡Cuéntanoslo en los comentarios a continuación!