Crea una lista de los servidores web que más visites. Acto seguido, utilizando el comando ping, averigua las direcciones ip que tienen asignadas:
sebas@WarMachine:~$ ping facebook.com
PING facebook.com (69.63.189.16) 56(84) bytes of data.
64 bytes from facebook.com (69.63.189.16): icmp_req=1 ttl=234 time=234 ms
En los entornos Unix el fichero de configuración /etc/hosts sirve para definir apodos a determinadas direcciones ip. En este caso, puedes predefinir todas esas direcciones ip con sus respectivos dominios. Así, cada vez que escribas en el navegador "facebook.com", el sistema operativo consultará este fichero de texto antes de mandar la petición a los servidores DNS.
El formato del /etc/hosts es bastante sencillo (dirección ip, tabulación, apodo):
root@WarMachine:/etc# head -4 hosts
199.59.148.82 twitter.com
209.85.143.99 google.com
69.63.189.16 facebook.com
209.85.146.18 gmail.com
Intenta tener una lista de dominios compacta, puesto que no todas las páginas webs tienen por que tener contratada una ip fija. Eso sí, si ahora vuelves a hacer ping verás que el tiempo de respuesta se ha dividido a casi a la mitad.
sebas@WarMachine:~$ ping facebook.com
PING facebook.com (69.63.189.16) 56(84) bytes of data.
64 bytes from facebook.com (69.63.189.16): icmp_req=1 ttl=238 time=133 ms
- Crea un servidor DNS local
Está claro que tu sabes cuales son las páginas webs que más visitas, ¿pero sabes cuales son las páginas que más visitan tu hermano o tu madre? No vas a entrar en sus perfiles para verificar su historial de navegación, a lo mejor descubres algún oscuro secreto que no deberías de saber... Bromas aparte, lo ideal sería que hicieras un servidor DNS local, de forma que tu sistema operativo memorice las direcciones ip más utilizadas. En Ubuntu es tan sencillo como instalar los siguientes paquetes:
sudo apt-get install dnsmasq dnsutils
Acto seguido, vamos al Network Manager y configuramos las direcciones DNS. Vamos a poner como primaria el localhost (127.0.0.1) y las de tu operadora como secundaria y terciaria. Si tienes configuración DHCP como método deberás de cambiarlo por "sólo direcciones automáticas (DHCP)". Si desconoces las direcciones DNS de tu operadora, te recomiendo utilizar las de Google (8.8.8.8 y 8.8.4.4).
Ahora vamos a testear nuestro nuevo sistema de resolución de dominios. Vamos a realizar dos consultas sobre un mismo dominio. La primera tardará un poco por que se mandará la consulta al DNS secundario, pero el resto de peticiones serán instantáneas al memorizarse los resultados en el caché del sistema:
root@WarMachine:/etc# dig google.com | grep Query
;; Query time: 139 msec
root@WarMachine:/etc# dig google.com | grep Query
;; Query time: 0 msec
*Si no haces uso del Network Manager, deberás de insertar manualmente las direciones DNS en el fichero de configuraicón /etc/resolv.conf. Es un cambio dinámico que no requiere que reinicies el servicio de red.
- Selecciona bien tu navegador web
Ciertos navegadores web como Chromium (Google Chrome), tienen implementado su propio sistema de resolución de dominios conocido como DNS Prefetch. Por lo general este sistema de resolución suele ser bastante básico y su funcionalidad no es la de reemplazar las DNS de tu operadora, si no la de ganar un par de segundos a la hora de cargar las webs más populares de internet.
Pero no es la única tecnología a tener en cuenta. Por ejemplo Chromium tiene la ventaja de dibujar, por defecto, las webs al vuelo. Es decir, las dibuja mientras la web está cargándose. Por otro lado, Opera Browser tiene la opción de Turbo que permite, mediante la utilización de un sistema proxy propio que reconvierte el formato de los ficheros de imagen, adelgazar a la mitad el peso de las páginas webs.