Ich habe dnsmasq
konfiguriert als Nur-Caching-DNS-Server auf einem Debian-Server, und es funktioniert gut (ich sehe verbesserte DNS-Antwortzeiten über dig).
Ich würde jedoch gerne verstehen, was dnsmasq
zwischenspeichert, sodass ich anfangen kann, über die Effizienz (d. h. Trefferquote) nachzudenken, die ich erreiche.
Ich habe mich auf den Manpages und im Web umgesehen und kann nicht finden, wie ich welchen dnsmasq
sehe zwischenspeichert (anders als Sie es zum Beispiel für die Leases tun können, die in einer dnsmasq.lease-Datei gespeichert sind).
Ist die dnsmasq
DNS-Cache nur im Arbeitsspeicher gespeichert? Oder muss ich etwas Protokolldatei-Munging durchführen?
Akzeptierte Antwort:
Ich habe keinen Zugriff auf dnsmasq
aber laut diesem Thread mit dem Titel:dnsmasq ist es caching? Sie können das Signal USR1 an dnsmasq
senden Prozess, was dazu führt, dass Statistiken in das Systemprotokoll geschrieben werden.
$ sudo pkill -USR1 dnsmasq
Konsultieren Sie dann die Systemprotokolle:
$ sudo tail /var/log/syslog
Jan 21 13:37:57 dnsmasq[29469]: time 1232566677
Jan 21 13:37:57 dnsmasq[29469]: cache size 150, 0/475 cache insertions re-used unexpired cache entries.
Jan 21 13:37:57 dnsmasq[29469]: queries forwarded 392, queries answered locally 16
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.222.222#53: queries sent 206, retried or failed 12
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.220.220#53: queries sent 210, retried or failed 6
HINWEIS: Ich glaube, dass dnsmasq
behält seinen Cache im RAM.
Wenn Sie also den Cache leeren möchten, müssen Sie den -q
aktivieren wechseln, wenn dnsmasq
wird aufgerufen. Dies wird im dnsmasq
erwähnt Manpage:
-d, --no-daemon
Debug mode: don't fork to the background, don't write a pid file,
don't change user id, generate a complete cache dump on
receipt on SIGUSR1, log to stderr as well as syslog, don't fork new
processes to handle TCP queries. Note that this option is for use in
debugging only, to stop dnsmasq daemonising in production, use -k.
-q, --log-queries
Log the results of DNS queries handled by dnsmasq. Enable a full
cache dump on receipt of SIGUSR1.