Cache DNS

Me recomendaron instalar algún programa para hacer dns caching en mi lapita. En los comentarios de mi articulo anterior sugirieron dnsmasq, pero buscando las instrucciones en google me topé con pdnsd.

pdnsd

Esta diseñado especialmente para funcionar como caché de DNS. Al estar optimizado para esta tarea tiene un tamaño pequeño y un bajo consumo de memoria.

La información del caché se guarda permanentemente en el disco duro, muy útil en equipos que se reinician frecuentemente como lo hago con mi lapita.

Instalar pdnsd en Ubuntu.

Instalar pdnsd en Ubuntu es de lo más sencillo. Iniciamos el centro de software y buscamos el paquete. Presionamos el botón de instalar y cuando aparezca un cuadro de debconf preguntando el tipo de configuración le decimos use root servers.

pdnsd 01 Instalacion

Y comprobamos que este activo y funcionando.

pdnsd 02 status ok

Al hacer: nmap localhost vemos que esta listo el puerto 53 para escuchar peticiones de dominio.

Y al teclear : nslookup www.google.com 127.0.0.1 que es una consulta al dns local nos responde favorablemente.

Configurar a Ubuntu para que use el DNS local.

Una vez que esta listo nuestro caché de dns, ahora hay que indicarle a ubuntu que lo utilice.

Vamos al menú Sistema – Preferencias – Conexiones de red.

pdnsd Editando los DNS

Ajustamos los valores IPv4 de nuestra conexión. Modificamos el método Sólo direcciones automáticas (DHCP).

Agregamos la dirección 127.0.0.1 al principio de la lista de nuestros servidores DNS.

Si todo salio bien veremos que el tiempo en las consultas al DNS han disminuido notablemente.

pdnsd 03 Rendimiento

Configurando pdnsd para que use los dns de Google

Por último vamos a editar el archivo /etc/pdnsd.conf, en la sección de server comentamos las líneas sobre resolvconf y agreguegamos las siguientes líneas

Haré una anotación en mi articulo anterior Instalar Squid localmente en Ubuntu sobre como configurar squid3 para que utilice los servicios de pdnsd como el dns local.

Actualización 2010-11-23

Al parecer el servicio pdnsd tiene un ligero problemita con ubuntu. Bueno en realidad no es problema de pdnsd, lo que ocurre es que la red no esta disponible cuando inicia el servicio y eso hace que no este aceptando consultas a dominios nuevos.

La solución es simple, hay que decirle a pdnsd que reinicie cuando ya este lista la conexión.

Para esto creamos un archivo nuevo:

sudo gedit /etc/NetworkManager/dispatcher.d/99pdnsd

Reiniciando pdnsd

Y agregamos el siguiente código.

eth1 es mi tarjeta de red inalámbrica, supongo que tengo que agregar unas líneas similares si lo quiero hacer para mi tarjeta de red ethernet eth0.

Guardamos el archivo y le damos permisos de ejecución con

sudo chmod 755 99pdnsd

Cuando se vuelva a establecer la conexión reinicia pdnsd y listo !!!

Webgrafía | pdnsd requires manual restart after new WiFi connection gets established

3 thoughts on “Cache DNS

  1. Excelente este post lo voy a probar aunque tengo una duda de si funcionaria en mi trabajo porque como hago tunel por ssh mediante el localhost y un puerto especifico no se si este cacheo de DNS “chocaria” con el tunel!!

    Haré las pruebas.
    Gracias por el aporte!

    Saludos.

¡Me encantaría saber que opinas!

%d bloggers like this: