JuangaCovas.info

La página personal de Juan Gabriel Covas

Herramientas de usuario

Herramientas del sitio


Action disabled: index
windows:howtos:dns-cache

Proxy DNS con Acrylic DNS

– Juan Gabriel Covas. 2016

Oigo hablar sobre Acrylic DNS -un proxy DNS local para Windows- en un thread de reddit sobre PHP, acerca de como la gente desarrolla en local, bajo la discusión de poder utilizar wildcards para acceder a URLs del tipo XXX.dominio.dev (no se pueden establecer wildcards en el archivo hosts de windows).

https://www.reddit.com/r/PHP/comments/54487o/how_is_everyone_doing_development_locally_today/

Se menciona Acrylic DNS: http://mayakron.altervista.org/wikibase/show.php?id=AcrylicHome

Archivos en sourceforge: https://sourceforge.net/projects/acrylic/files/Acrylic/ como alternativa a Dnsmasq: http://www.thekelleys.org.uk/dnsmasq/doc.html

En dicho thread de reddit además se menciona que es mejor usar .local como tld para testing local, ya que .dev ahora es un tld que existe realmente.

Instalamos el software de Acrylic y se instalará como servicio por defecto, usando las DNS de Google también por defecto, que son las más rápidas si no tenemos preferencias por otras que no estén “controladas”.

Podemos activar log de debug, que está desactivado por defecto. Básicamente instalarlo tal y como viene nos da un rendimiento óptimo.

La caché de DNS se almacena en memoria y solo se flushea a disco cuando se para el servicio (o sea, al apagar el equipo o realizar un restart del servicio que también nos vale).

Deberemos configurar nuestros DNS para usar 127.0.0.1 como primario, en mi caso añado como DNS secundario mi IP local estática para que Windows no se queje de conectividad limitada.

La instalación nos proporciona enlaces a stop, start, etc. pero existe un GUI para manejarlo más cómodamente: http://dev.arqendra.net/index1.php#adpm http://dev.arqendra.net/download.php?filename=Files2%2FADPMonitor2.zip

Me pregunto si realmente mejora el rendimiento de caché en, digamos, un navegador. Una prueba en bruto en el navegador muestra que efectivamente, incluso con peticiones cacheadas por el propio navegador es más rápido usar un “DNS resolver” local, mostrándose los “dns lookups” por debajo de 1ms, que es la idea del menda que hizo el programa.

Haciendo más pruebas descubro un benchmarker de DNS: “DNSBench”, al que le agrego obviamente “127.0.0.1” para probar: https://www.grc.com/dns/benchmark.htm (obviamente gana el resolver local, en segundo puesto las DNS de google)

Nota de 2024-01-13 Al Windows Subsystem for Linux (WSL2) no le gusta nada que haya un servidor DNS en el puerto 53… esto me mordió en el culo en su día.

windows/howtos/dns-cache.txt · Última modificación: 14/01/2024 00:08 por Juanga Covas