Saya telah mengonfigurasi dnsmasq
sebagai server DNS caching-only di server Debian, dan berfungsi dengan baik (saya melihat peningkatan waktu respons DNS melalui dig).
Namun, saya ingin memahami apa dnsmasq
di-cache setiap saat, sehingga saya dapat mulai memikirkan efisiensi (yaitu hit rate) yang saya capai.
Saya telah melihat-lihat halaman manual, dan web, dan tidak dapat menemukan bagaimana saya melihat apa dnsmasq
di-cache kapan saja (tidak seperti yang dapat Anda lakukan untuk sewa misalnya, yang disimpan dalam file dnsmasq.lease).
Apakah dnsmasq
Cache DNS disimpan di memori saja? Atau apakah saya harus melakukan munging file log?
Jawaban yang Diterima:
Saya tidak memiliki akses ke dnsmasq
tetapi menurut utas ini berjudul:dnsmasq apakah itu caching? Anda dapat mengirim sinyal USR1 ke dnsmasq
proses, menyebabkannya membuang statistik ke log sistem.
$ sudo pkill -USR1 dnsmasq
Kemudian lihat log sistem:
$ 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
CATATAN: Saya percaya bahwa dnsmasq
menyimpan cache-nya di RAM.
Jadi jika Anda ingin membuang cache, Anda harus mengaktifkan -q
beralih ketika dnsmasq
dipanggil. Ini disebutkan dalam dnsmasq
halaman manual:
-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.