1. 程式人生 > >如何清空linux的DNS快取

如何清空linux的DNS快取

一、Linux下清空DNS快取

Linux下DNS快取實現通常有兩種方式:
一種是用DNS快取程式NSCD(name service cache daemon)負責管理DNS快取。
一種實現DNS快取則是用Bind來架設Caching Name Server來實現。

如果是清除NSCD上的Cache,可重新啟動NSCD服務來達成清除DNS Cache的效果。用這個命令:
# service nscd restart
或是
#/etc/init.d/nscd restart

如果是清除BIND伺服器上的CACHE,用這個命令:
# rndc flush

如果你的DNS伺服器是用dnsmasq實現的,用下面這個命令:
$ sudo /etc/init.d/dnsmasq restart

注:DNSmasq是一個輕巧的,容易使用的DNS服務工具,它可以應用在內部網和Internet連線的時候的IP地址NAT轉換,也可以用做小型網路的DNS服務。

二、其它作業系統下清空DNS快取的方法
1、微軟windows下如何清空dns:
你可以用以下命令來清空dns 快取內容。
ipconfig /flushdns

你也可以用以下命令來檢視dns快取內容。
ipconfig/displaydns
windows下的DNS Cache 是由DNS Client後臺程序控制的,你可以在控制面板 ->服務中將其關閉,
這樣windows就不會進行DNS快取,每次都將直接查詢DNS Server。

2、Mac OSX下如何清空DNS快取:
在Mac OSX中,你可以用以下命令來清空DNS快取內容:
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