如何在Linux上查看和清除Bind DNS服务器的缓存
查看缓存
配置的域名服务 (DNS) 服务器(例如 Bind)可以将先前解析的域名存储到本地缓存。默认情况下,缓存记录将保存 7 天。缓存可以重复用于将来的域名解析。首先我们来看看如何查看所有缓存的域名解析:
# rndc dumpdb -cache
上面的命令将把bind的缓存转储到/var/cache/bind/named_dump.db
中。如果执行上述命令后找不到该文件,请检查服务器的配置文件以显示缓存转储文件的位置。要查看缓存的 dns 记录,只需 cat
或 grep
生成的转储文件。例如:
# grep gnu.org /var/named/data/cache_dump.db
gnu.org. 86358 NS ns1.gnu.org.
86358 NS ns2.gnu.org.
86358 NS ns3.gnu.org.
ns1.gnu.org. 86358 A 208.118.235.164
ns2.gnu.org. 86358 A 87.98.253.102
ns3.gnu.org. 86358 A 46.43.37.70
清除缓存
如果您希望清除 Bind 服务器的缓存,以下 Linux 命令将为您提供帮助。首先,刷新所有缓存条目:
# rndc flush
完成后,重新加载绑定:
# rndc reload
server reload successful
如果刷新绑定缓存并重新加载 DNS 后没有 DNS 查询,则新的缓存转储文件将为空:
# rndc dumpdb -cache
# cat /var/named/data/cache_dump.db
;
; Start view _default
;
;
; Cache dump of view '_default' (cache _default)
;
$DATE 20160824004622
;
; Address database dump
;
;
; Unassociated entries
;
;
; Bad cache
;
;
; Start view _bind
;
;
; Cache dump of view '_bind' (cache _bind)
;
$DATE 20160824004622
;
; Address database dump
;
;
; Unassociated entries
;
;
; Bad cache
;
; Dump complete