Dnsmasq, la salvación

09 Abril 2007, Rubén C. Díaz Alonso en | Agregar comentarios

Hablando con Adrián sobre si los DNS de nuestros ISPs daban asco, de que si yo usaba OpenDNS, que si daban demasiada latencia… Surgió un enlace de guia-ubuntu que me pareció más que interesante.

Que nuestros ISPs sean malos, no quiere decir que podamos prescindir de sus DNS. Si no eres ducho en el tema, una referencia a la Wikipedia nos puede sacar de dudas:

El Domain Name System (DNS) es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar distintos tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.

Ejemplo práctico, también del mismo lugar:

La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de prox.ve es 200.64.128.4, la mayoría de la gente llega a este equipo especificando ftp.prox.ve y no la dirección IP. Además de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre.

Básicamente, nos permite resolver los nombres de dominios a números (IPs), aunque tiene otros usos pero que en este momento no nos interesan.

Los DNS que normalmente disponemos no suelen comportarse como debieran, y si bien se pueden reemplazar por OpenDNS - que no deja de ser buena alternativa -, ¿por qué no montar un servidor ligero DNS?

Eso es lo que hace Dnsmasq, y que, gracias a la entrada en guia-ubuntu sobre este «cacharro», podré resumir brevemente. Sirve para Ubuntu y Debian, pero por supuesto para cualquier otra distribución que la instale por sus propios métodos.

  1. Lo primero de todo, vamos a ver qué tiempo de respuesta tienen nuestros actuales DNS, para cuando tengamos los nuestros propios obtengamos satisfacción ($ significa, como siempre, escribir en consola):$ dig google.es

    Y se anota el QUERY TIME.

  2. Toca instalar Dnsmasq (# significa en consola, pero como root):# apt-get install dnsmasq
  3. Editamos la configuración:# nano /etc/dnsmasq.conf

    Localizamos esta línea:

    #listen-address=

    Para que quede así:

    listen-address=127.0.0.1

  4. Editamos otra configuración:# nano /etc/dhcp3/dhclient.conf

    Y ver si el contenido es igual al siguiente:

    #supersede domain-name “fugue.com home.vix.com”;
    prepend domain-name-servers 127.0.0.1;
    request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, host-name,
    netbios-name-servers, netbios-scope;

  5. Volvemos a editar, para variar:# nano /etc/resolv.conf

    Y debe quedar algo así:

    search tuisp (mundo-R.com, telefonica, yahoo, etc…) (Esta linea NO la debeis tocar)
    nameserver 127.0.0.1
    nameserver xxx.xxx.xxx.xxx
    nameserver xxx.xxx.xxx.xxx

  6. Reiniciamos el demonio:# /etc/init.d/dnsmasq restart
  7. Realizamos de nuevo el comando del punto uno, y verás como se reduce tremendamente el tiempo de respuesta.

¡Espero que sirva de utilidad!

8 comentarios para Dnsmasq, la salvación

Deja tu comentario

Linux es un sistema operativo ágil.