一、
Linux下清空DNS緩存
Linux下DNS緩存實現通常有兩種方式:一種是用DNS緩存程序NSCD(name service cache daemon)負責管理DNS緩存。另一種實現DNS緩存則是用Bind來架設Caching Name Server來實現。
如果是清除NSCD上的Cache,可重新啟動NSCD服務來達成清除DNS Cache的效果。用這個命令:
? [Copy to clipboard] View Code BASH
1
2
3
# service nscd restart
或是
# /etc/init.d/nscd restart
如果是清除BIND服務器上的CACHE,用這個命令:
? [Copy to clipboard] View Code BASH
1
# rndc flush
如果你的DNS服務器是用dnsmasq實現的,用下面這個命令
? [Copy to clipboard] View Code BASH
1
$ sudo
/
etc/
init.d/
dnsmasq restart
注:DNSmasq是一個輕巧的,容易使用的DNS服務工具,它可以應用在內部網和Internet連接的時候的IP地址NAT轉換,也可以用做小型網絡的DNS服務。
幾個用dnsmasq建立dns緩存服務器的文章,發給大家參考下。
用dnsmasq建立dns緩存服務器
用dnsmasq做dns代理緩存服務器
通過dnsmasq來提高ADSL上網速度
二、其它操作系統下清空DNS緩存的方法
1、微軟windows下如何清空dns:
你可以用以下命令來清空dns緩存內容。
? [Copy to clipboard] View Code BASH
1
ipconfig /
flushdns
你也可以用以下命令來查看dns緩存內容。
? [Copy to clipboard] View Code BASH
1
ipconfig/
displaydns
windows下的DNS Cache 是由DNS Client後台進程控制的,你可以在控制面板 ->服務中將其關閉,這樣windows就不會進行DNS緩存,每次都將直接查詢DNS Server 。
2、Mac OSX下如何清空DNS緩存:
在Mac OSX中,你可以用以下命令來清空DNS緩存內容:
? [Copy to clipboard] View Code BASH
1
bash-2.05a$lookupd
-flushcache
三、其它一些DNS Cache小技巧
Q: 如何查看BIND DNS Server的Cache :
A: 在 bind 9中,可以使用rndc -dumpdb命令來查看DNS Cache,當然你的rndc要先配置好。這個命令會在/var/named(這個目錄是在named.conf文件中指定的)目錄中生成named_dump.db文件。
在bind8下,可以試試用kill -INT named_pid。
Q: DNS Cache的時間如何設置:
A: 在bind9 中,使用TTL參數來設置DNS默認的緩存時間,但要記住這個是你解析的域名在別人的DNS中的緩存時間。
Q: 在客戶端如何清空DNS Cache:
A: 在Unix下,DNS客戶端只是幾個例程,負責轉發和接受查詢的功能,並不緩存。
Q: 在DNS服務器端如何清空DNS Cache:
A: 最簡單的方法就是重新啟動 named 進程;當然也有不用重啟的方法: rndc flush