El archivo de hosts de mi 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 utiliza una variedad de servidores DNS públicos y privados para asignar direcciones IP, el archivo hosts es una forma conveniente de reemplazar estos servidores DNS, lo que me permite apuntar manualmente la dirección de un sitio web a la dirección IP deseada o bloquear el acceso a un sitio apuntando a una dirección IP interna o no utilizada.
A continuación, te mostraré cómo editar mi archivo de hosts Mac en macOS.
Cómo editar mi archivo de hosts Mac con edición de texto
Hay dos formas principales de editar mi archivo de hosts en Mac OS X.
La primera es usar TextEdit, ya que mi archivo de hosts es un documento de texto sin formato. Sin embargo, no puedo abrir el archivo directamente porque reside en un área protegida del sistema de archivos. En su lugar, debo copiar el archivo en una ubicación desprotegida, como el escritorio, editarlo y luego volver a copiarlo.
- Busco el archivo hosts en el Buscador al que puedo acceder haciendo clic en el escritorio, en la herramienta de búsqueda de caritas en la parte inferior izquierda de mi pantalla o presionando Orden + barra espaciadora + Buscador.
- Luego selecciono Ir del menú.
- Luego selecciono ir a la carpeta del menú.
- En el cuadro, ingreso “/privado/etc/hosts” en el cuadro y presiono Comentario.
- Se abrirá una nueva ventana del Finder y se seleccionará el archivo de hosts de mi Mac. Hago clic y lo arrastro fuera del Buscador y lo coloco en mi escritorio.
Bloquear direcciones IP
De forma predeterminada, el archivo /etc/hosts es relativamente simple. Contiene una serie de líneas de texto descriptivas que se “comentan” con el signo de libra o número (#).
Cualquier línea que comience con un signo # es un comentario y no se lee en el archivo /etc/hosts. Para cada línea, mi computadora ignora cualquier texto después del signo de libra, lo que lo convierte en una buena manera de agregar notas y descripciones a mis archivos. También contiene valores de IP predeterminados para localhost y broadcasthost. Para modificar el archivo, agregaré mis propias líneas después de broadcasthost.

Además de probar sitios web recién desarrollados y migraciones de alojamiento web, otra razón para modificar el archivo de hosts es bloquear el acceso a sitios web específicos.
En mi ejemplo, voy a fingir que la computadora que estoy usando es un dispositivo que quiero usar exclusivamente para el trabajo, sin que Facebook me distraiga en mi máquina de trabajo.
- Para hacer esto, escribo la dirección IP que quiero asignar, seguida de dos pestañas y el nombre de host.
- En mi caso, quiero bloquear Facebook, así que asignaré www.facebook.com a 0.0.0.0, que como dirección IP no válida, generará un error.
Redirigir direcciones web
Alternativamente, puedo ingresar la dirección IP de un sitio válido en lugar de 0.0.0.0, lo que dirigirá a los usuarios que intenten acceder a Facebook al sitio de mi elección. Para determinar la dirección IP de un sitio web, puedo usar el comando dig, que viene de serie con macOS. Para excavar el sitio a través de la Terminal, simplemente abro la Terminal y luego ejecuto el comando de excavación a la URL, que luego devuelve la dirección IP como salida.
- Abro la terminal y escribo “
$ dig www.techjunkie.com + short
104.25.27.105
“- Nota: La opción +breve mantiene la salida solo con la información que necesito, que es la dirección IP.
- Anoto la dirección IP devuelta y la utilizo en la asignación de mi archivo de hosts de Mac. Por ejemplo, el sitio web de The New York Times devuelve una dirección IP de 170.149.172.130. Si asigno esto a Facebook en mi archivo de hosts, cada vez que alguien que use mi Mac intente ir a Facebook, verá The New York Times cargar en su lugar.
- Puedo agregar tantas entradas como desee al archivo de hosts ingresando nuevas asignaciones en cada línea. Una vez que haya realizado los cambios deseados en el archivo de hosts, lo guardo en su ubicación actual en mi escritorio.
- A continuación, arrastro y suelto el archivo de hosts desde mi escritorio a su ubicación original en /privado/etc. Si cerré la ventana del Finder que apunta a ese directorio, simplemente uso la opción Finder > Ir > Ir a la carpeta, discutida anteriormente, para reabrirlo.
- Cuando vuelvo a colocar el archivo de hosts en su ubicación original, macOS me preguntará qué hacer con el archivo de hosts sin modificar que ya está allí. Elijo Reemplazar, luego ingreso mi contraseña de administrador para autenticar la transferencia.
Una vez que mi archivo de hosts modificado está en su lugar, inicio mi navegador web para probar los cambios.
Limpia tu caché de DNS
En la mayoría de los casos, la nueva asignación debería funcionar de inmediato, pero si no veo el comportamiento correcto, es posible que deba vaciar mi caché de DNS, lo que obliga al navegador a leer mi archivo de hosts para determinar la asignación.
Para vaciar la caché de DNS de mi Mac, abro Terminal y uso el siguiente comando (sudo me permite ejecutar este comando como administrador en mi máquina):
- Ahora escribo “
sudo killall -HUP mDNSResponder
” y presiono Comentario. Nota: Debo ingresar mi contraseña de administrador para ejecutar este comando. - Para que mi Mac vacíe su caché de DNS y luego confirme que vació su caché haciendo eco de una confirmación, ingreso estos dos comandos separados por un punto y coma como se muestra aquí: “
sudo killall -HUP mDNSResponder;say DNS cache has been flushed
.”
Luego, mi Mac pasa por los altavoces y dice “Se ha vaciado la memoria caché de DNS”.
Cómo editar el archivo de hosts de mi Mac en la terminal con Nano
Los pasos de la sección anterior son bastante simples, pero si quiero evitar copiar el archivo de hosts, puedo editarlo directamente en Terminal utilizando el editor de texto UNIX Nano, que está integrado en macOS.
- Para comenzar, inicio Terminal, escribo el siguiente comando y presiono Comentario. Al igual que con todos los comandos sudo, también debo ingresar mi contraseña de administrador para ejecutarlo:
"sudo nano /private/etc/hosts
“ - Ahora veré el archivo de hosts abierto en el editor Nano o vigor o otro editor de mi elección. Para examinar y editar el archivo en Nano, utilizo las teclas de flecha en mi teclado.
- Al igual que hice con el método TextEdit anterior, puedo agregar, modificar o eliminar asignaciones de nombres de host a voluntad. Dado que lancé Nano usando sudo, cualquier cambio se autenticará y se guardará directamente en el archivo de hosts original, sin necesidad de copiarlo fuera de mi directorio de inicio.
- Cuando haya terminado de hacer cambios, toco Control-X para salir del editor, Sí para ahorrar, y Comentario para sobrescribir el archivo de hosts existente.
Como mencioné anteriormente, asegúrate de vaciar tu caché de DNS si notas que tus nuevas asignaciones no funcionan correctamente.
Estos son solo ejemplos de bloqueo y redirección de sitios que distraen en un entorno de trabajo, pero también puedo usar estos pasos para bloquear manualmente el acceso a sitios web maliciosos y, por supuesto, también para otros usos.
Si cometes un error y no sabes cómo solucionarlo, siempre puedes restaurar el contenido del archivo de hosts predeterminado utilizando uno de los métodos anteriores para ingresar 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
Contenido