Jam Blog

¡Respaldo de cosas que podria necesitar luego!

Vuela en internet usando una cache DNS - Dnsmasq en Ubuntu

20 August 2010

Desde hace unos meses para aca mi internet HSDPA ha estado presentando molestos inconveniente los cuales me obligan a recargar o solicitar las paginas mas de una vez para que estas puedan presentarse completamente y sin errores por lo que decidi usar una cache DNS con Dnsmasq para probar como puede esto ayudar a mi conexion y que las paginas cargen a la primera solicitud y sin problemas.

Dnsmasq es un servidor DHCP y  DNS ligero y de bajo impacto para el sistema que nos permite usarlo cachear las peticiones DNS  hacia internet que realiza nuestro computador pra resolver la IP de un dominio, de manera que cuando se desee accesar de nuevo a un dominio ya resuelto, no se tenga que volver a solicitar a los servidores DNS en internet sino que se resuelven en la misma PC ya que esta conoce de antemano la ip correspondiente.

Antes de instalar Dnsmasq vemos los tiempos aproximados que se tarda mi conexion en resolver la ip de un dominio:

Para instalar Dnsmasq tan solo debemos ejecutar en la terminal la siguiente orden, pero antes asegurese de tener activado los repositorios “universe”

sudo apt-get install dnsmasq

Luego de esto pasamos a configurar dnsmasq editando el archivo dnsmasq.conf tecleando en la terminal:

sudo gedit /etc/dnsmasq.conf

descomentamos y modificamos la linea que contiene:

#listen-address=

para que quede de esta manera:

listen-address=127.0.0.1

Luego de esto nos toca editar el cliente DHCP tecleando en la terminal:

sudo gedit /etc/dhcp3/dhclient.conf

y nos aseguramos que las siguientes lineas:

prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;

esten descomentada y tenga la IP  127.0.0.1

Por ultimo nos toca editar el archivo resolv.conf  y agregar la ip de nuestro servidor cache dns local tecleando en la terminal:

sudo vim /etc/resolv.conf

y colocamos nuestra IP local de primero en la lista de modo que quede similar a esto:

nameserver 127.0.0.1
nameserver 208.67.222.222
nameserver 208.67.220.220

por ultimo reiniciamos dnsmasq para que aplique la configuracion:

sudo /etc/init.d/dnsmasq restart

Por ultimo consultamos 2 veces el mismo dominio para ver el tiempo que se toma ahora ¿porque dos veces? la primera para que haga la consulta a internet y permitir que dnsmasq la almacene en cache y la segunda para que se realice la consulta de manera local ya que dnsmasq conoce ya la ip resultante y no se necesita hacer consultas al exterior.

como ven ahora es mucho mas rapido si se realizan consultas locales a dominios ya resueltos con anterioridad.

Saludos y espero le sirva.





  • submit to reddit
comments powered by Disqus

¿Social?