Archivo de Hosts para novatos

06/05/2011 por Redacción

hosts_for_dummies.jpg

El archivo hosts de un ordenador es usado por el sistema operativo para guardar la correspondencia entre dominios de Internet y direcciones IP. Este es uno de los diferentes métodos que usa el sistema operativo para resolver nombres de dominios. Antiguamente cuando no había servidores DNS que resolvieran los dominios, el archivo hosts era el único encargado de hacerlo, pero dejó de utilizarse cuando Internet empezó a crecer en nombres de dominio, pasando a usar servidores de resolución de DNS. En muchos sistemas operativos este método es usado preferentemente respecto a otros como el DNS. El archivo hosts es un archivo de texto plano que puede ser editado por el administrador del equipo.

Este archivo es tradicionalmente llamado "hosts" y su ubicación depende del sistema operativo.

En Mac OS X

En Mac OS X el archivo de Hosts está en /private/etc y es un archivo de texto plano que se puede modificar accediendo a los permisos del mismo. Es mas sencillo editar estos documentos con Textwrangler porque incluye soporte para realizar los cambios de permisos de forma automática desdela aplicación conforme se va editando un archivo del sistema.

Un archivo de Hosts tiene este aspecto:

##

# 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

Jugando con el archivo de hosts

Lo primero que tienes que saber es que el párrafo que tienes descrito arriba (tendrás uno muy parecido) es intocable y todas las modificaciones que hagas han de ser a partir de la línea que termina con localhost.

El carácter # sirve para comentar una línea y todo lo que esté detrás de el no será interpretado ni usado. Permite añadir comentarios o bloquear temporalmente una regla dentro del archivo de host.

Bloqueando una web

Si no quieres que tus niños (o empleados) puedan entrar a una web (o webs) determinadas, hay una sencilla línea de Terminal para impedirlo.

Abre una sesión de Terminal y escribe:

sudo echo 127.0.0.1 lawebaeliminar.dominio >> /etc/hosts

Un ejemplo práctico sería

sudo echo 127.0.0.1 sextracker.com >> /etc/hosts

Todas las peticiones a ese sitio automáticamente serán redirigidas al propio servidor web de la máquina, o si variamos la IP, al servidor web de la IP que indiquemos, y evidentemente, ese sitio quedará absolutamente cerrado en esa máquina hasta que se edite el archivo de hosts.

Esta misma maniobra la podemos realizar también editando el archivo de hosts con un editor de textos: Textwrangler funciona muy bien para estos casos porque es capaz de manejar el cambio de permisos necesario para que un administrador pueda retocar el archivo (añadir de forma manual, borrar) y guardarlo sin andar tocando los permisos del archivo (sigue siendo un archivo del sistema) de forma manual. Solo tienes que escribir la IP seguida de un tabulador y el dominio, una IP por línea. Recuerda que si hay varios subdominios asociados a una IP, o incluso varios dominios, puedes añadirlos con un espacio de separación en la misma línea.

Acelerando la navegación

Todos tenemos webs preferidas o servicios que visitamos con frecuencia: cada vez que accedemos a ellos, hacemos una petición a las correspondientes DNS para poder acceder a estos sitios, lo que supone un tiempo adicional entre que la petición llega a la DNS y esta devuelve la IP asociada al dominio: ¿solución? pasemos de las DNS y asignemos en el archivo de hosts la IP del servidor con el dominio.

Es tan sencillo como abrir el terminal y hacer un ping www.dominio.com

Captura-de-pantalla-2011-05-05-a-las-15.55.07.jpg

para averiguar la IP del servidor y luego añadir esta línea al archivo de hosts:

XXX.XXX.XXX.XXX www.dominio.com

Puedes añadir tantas IPs como quieras, y es muy útil, por ejemplo, para las webs que visitas cada día, para los servicios habituales. Como esta asociación está en el archivo de hosts afectará a todos los programas que se conecten a ese servicio, incluidos todos los navegadores, clientes de correo y más.

Magia: Haz que Bonjour parezca funcionar sobre VPN

Si eres un usuario de Mac que frecuentemente usa conexiones VPN notarás algo muy decepcionante acerca de conectarte a tu red corporativa o personal a través de tales conexiones en túnel: típicamente, direcciones estilo Bonjour, como computer-name.local no funcionan. Esto es porque DNS multicast o mDNS, no funciona sobre un túnel. Aunque hay varias maneras de hacer que funcione, son bastante complicadas y requieren que sepas muchos conocimientos esotéricos sobre redes.

Sin embargo, si los servicios que accedes típicamente a través de Bonjour usan direcciones IP estáticas, hay una técnica que puedes usar para simular los nombres de Bonjour sin realmente usar Bonjour. Esto es, desde luego, el archivo /etc/hosts.

Asumamos que estoy administrando una servidor web personal en la red de mi casa y asumamos que quiero acceder a la red de mi casa a través de VPN. En la red de mi casa, la dirección IP del servidor web es, digamos, 192.168.0.100, y generalmente lo accedo a través de http://server.local/. Todo lo que necesito es usar una Terminal y correr las siguientes instrucciones como un usuario adminsitrativo:

sudo echo "192.168.2.100 server.local" >> /etc/hosts

Eso es todo. Lo que hace es atar el nombre server.local de manera que siempre apunte a 192.168.2.100 directamente. Ahora siempre que la computadora trate de acceder a server.local accederá a 192.168.2.100 directamente en lugar de preguntar a mDNS sobre la red. El efecto neto es que podemos hacer creer al ordenador que Bonjour está funcionando, incluso cuando no lo está haciendo – como en una conexión VPN.

Hay que hacer notar que en casos como este, esto previene que la ordenador pregunte a otros ordenadores cual es la dirección actual para este nombre. Eso significa que si el servidor remoto cambia, no te lo notificará y las cosas no funcionarán. En estos casos hay que recordar que esto fue lo que se hizo y eliminarlo como primer paso para resolver los problemas.

0
Comentarios