Es posible ver el estado de la caché DNS de dnsmasq enviando una señal específica la demonio.

De acuerdo al manual de dnsmasq, cuando el demonio recibe la señal SIGUSR1 escribe estadísticas en el log del sistema. Entre estas se incluye: el tamaño de la caché; el número de entradas eliminadas de la caché antes de que expiren para hacer lugar a entradas nuevas; el número total de entradas insertadas en la caché; y el número de hit/miss.

Además, si se ha habilitado específicamente el logging de queries, empleando la opción log-queries, se vuelca el contenido completo de la caché de nombres.

Para enviar la señal SIGUSR1 al demonio, primero es necesario determinar el PID de proceso:

root@debian:~# ps axo pid,comm | grep '[d]nsmasq'
 4136 dnsmasq

Enviar la señal SIGUSR1 al demonio empleando kill:

root@debian:~# kill -s SIGUSR1 4136

Inmediatamente después, verificar la salida en el log de sistema:

root@debian:~# tail /var/log/syslog | grep dnsmasq
Dec  1 17:22:49 debian dnsmasq[4136]: reading /etc/resolv.conf
Dec  1 17:22:49 debian dnsmasq[4136]: using nameserver 192.168.56.2#53
Dec  1 17:23:53 debian dnsmasq[4136]: time 1606843433
Dec  1 17:23:53 debian dnsmasq[4136]: cache size 1000, 0/7188 cache insertions re-used unexpired cache entries.
Dec  1 17:23:53 debian dnsmasq[4136]: queries forwarded 2762, queries answered locally 1836
Dec  1 17:23:53 debian dnsmasq[4136]: queries for authoritative zones 0
Dec  1 17:23:53 debian dnsmasq[4136]: server 192.168.56.2#53: queries sent 6, retried or failed 0

Estas estadísticas están también disponibles como respuestas a consultas de la clase CHAOS y tipo TXT en el dominio "bind". Los nombres de dominio son: cachesize.bind, insertions.bind, evictions.bind, misses.bind, hits.bind, auth.bind y servers.bind. Por ejemplo:

emi@vaio:~$ dig +short chaos txt cachesize.bind misses.bind hits.bind
"150"
"41"
"55"

Referencias

  • man dnsmasq

Compartí este artículo