Tip para la mudanza de servidores

Siempre que uno cambia un sitio web de un servidor a otro hay problemas con el tiempo en que tardan los cambios en los DNS en propagarse. Y no es que el sistema de DNS como tal este mal hecho, sino el problema son esos ISPs que establecen Caches a sus Servidores DNS de hasta varios días (como el caso de Amnet y Telgua, acá en Guatemala) pasandose de largo el atributo TTL de los registros DNS.

Por eso desde hace algún tiempo vengo usando OpenDNS que tan solo quiere un cambio en la configuración para usarlo (también se vale instalar un DNS Local). Lo útil de OpenDNS es verificar que registros del DNS apunten a donde debe ser y si no son los correctos, puedes eliminar el cache que ellos tengan. También sirve para averiguar cuanto tardan esos hostings de menos de $10 al mes en hacer un cambio en sus DNS’s.

Pero aún OpenDNS puede quedarse corto cuando andas mudando un sitio, por ejemplo, cuando la aplicación revisa las peticiones hechas al servidor y si el HOST/Dominio no coincide con la configuración hace la redirección. Entonces si quieres verificar que el nuevo servidor al que te estas mudando funciona bien, pero sin modificar los DNS aún, es cuando el viejo archivo Hosts puede servir.

Todo es de modificar el archivo Hosts (su ubicación depende de que use uno) y agregar una nueva linea usando la nueva IP del servidor:

255.255.255.255       nombre.de.dominio

Con esto estarás viendo el nuevo servidor como si el cambio en los DNS ya estuviera hecho. También me ha pasado que tengo que hacer algún cambio en el viejo servidor y los DNSs ya fueron modificados, porque todavía hay gente a la que sus DNS no actualizan, entonces edito el Hosts usando la IP anterior y voy de regreso al servidor viejo. Lo que uno termina haciendo por culpa de los ISPs 😛

Por cierto, el archivo Hosts también sirve para bloquear la publicidad 😉

Bloqueando publicidad desde el archivo hosts

Cuando Internet era joven y el número de dominios muy reducido, la resolución de nombres se hacía por medio del archivo HOSTS en el cual se listan las direcciones IPs y sus correspondientes nombres de dominio.

Con el enorme crecimiento de Internet y la introducción de los servicios DNS, el propósito original del archivo HOSTS fue impractico quedando como una reliquia, que aún hoy los Sistemas Operativos soportan. Cuando se hace una petición por un nombre de dominio, la mayoría de SOs actuales revisan primero si existe una entrada en el archivo HOSTS, de no estar revisan en su caché de DNSs y si tampoco está allí, proceden a mandar una petición a su servidor DNS.

El que el archivo HOSTS tenga la más alta prioridad, nos permite definir nuestras propias entradas por sobre lo que nuestro DNS diga. Si queremos agregar nuestra propia entrada al archivo HOSTS, basta con agregar una linea como está al mismo:

255.255.255.255       nombre.de.dominio

¿Y en dónde se encuentra el tan famoso archivo HOSTS? Varía según el Sistema Operativo, en Windows XP y 2000 se encuenta en C:\WINDOWS\system32\drivers\etc mientras que en Mac y Linux lo encuentras en /etc/hosts.

Es precisamente esta técnica la que yo he usado desde hace algún tiempo para «bloquear» algunos sitios que no me son útiles y solo roban tiempo de carga a las páginas que visito. En mi caso estoy bloqueando algunos los servicios de publicidad y estadísticas más populares; mi archivo hosts termina luciendo así:

127.0.0.1	www.google-analytics.com
127.0.0.1	pagead2.googlesyndication.com #adsense
127.0.0.1	ad.doubleclick.net
127.0.0.1	rcm.amazon.com # publicidad de amazon
127.0.0.1	a.tribalfusion.com
127.0.0.1	botones.blogalaxia.com
127.0.0.1	s23.sitemeter.com
127.0.0.1	www.statcounter.com

Es recomendable usar 127.0.0.1 por motivos de velocidad. Usar este truco tiene sus ventajas frente a otras soluciones de bloqueo o filtro:

  • El archivo HOSTS tiene la más alta prioridad, las entradas allí definidas serán resueltas al «instante»
  • Es independiente del navegador, e incluso no tendrás que instalar ninguna extensión como AdBlock para Firefox
  • Rápido y sencillo, con una linea estarás bloqueando un dominio entero sin sacrificar ciclos de CPU

Y también sus desventajas:

  • Primitivo, no tendrás heurística para bloquear nuevos sistemas de publicidad ni posibilidad de aplicar excepciones bajo ciertas condiciones.
  • Para bloquear un nuevo sistema de publicidad deberás investigar que dominios usan e irlos agregando a tu archivo, algo que pude complicarse si usan muchos subdominios

Usar el archivo HOSTS para bloquear sitios indeseables no es nada nuevo, incluso el sitio Most Valuable Professional mantienen un archivo HOSTS de 604 kb con miles de entradas de sitios maliciosos; y mantienen un blog relacionado donde publican algunos datos interesantes. A mi me parece un poco pesado dicho archivo de MVP pero como es actualizado continuamente luce una buena solución para mantener libre de pestes.

Es curioso, cuando bloqueas tantos sitios de publicidad y empiezas a ver muchos espacios vacíos en los sitios, te das cuenta de que tan «contaminado» está Internet hoy en día.