如何在 CentOS 中刷新网站的缓存 IP

如何在 CentOS 中刷新网站的缓存 IP

当我从 CentOS 6.2 服务器控制台 ping 给定网站时,它会 ping 到该网站的旧 IP 地址。如何强制 CentOS 刷新该网站的缓存 IP?

我搜索后发现我可以使用:

nscd -i hosts

但是当我尝试这个时,我得到了未找到命令的信息。

根据要求的输出dig www.example.com

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.3 <<>> www.example.com  
;; global options: +cmd  
;; Got answer:  

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20322  
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0  

;; QUESTION SECTION:  
;www.example.com.         IN      A  

;; ANSWER SECTION:  

www.example.com.        8084    IN      CNAME   example.com.  
example.com.            8084    IN      A       xxx.xxx.xx.xxx  

;; Query time: 8 msec  
;; SERVER: 8.8.8.8#53(8.8.8.8)  
;; WHEN: Thu Jun 21 15:23:03 2012  
;; MSG SIZE  rcvd: 69  

答案1

如果 DNS 是最近更改的,您可能需要等待长达 48 小时才能让全球的 DNS 服务器跟上。因此,如果您的 CentOS 6.2 服务器位于其他位置,则可能尚未准备就绪。您可以通过提前几天减少 DNS 设置中的 TTL(生存时间)值来避免此类延迟。

答案2

如果 DNS 服务器上的主机名的 IP 已更改,并且您想要刷新本地 DNS,您可以运行(以 root 身份):

/etc/init.d/dnsmasq restart

这将刷新所有缓存的 DNS 条目。有时还有其他进程运行 dnsmasq。您可能必须手动终止 dnsmasq 并使用上述命令重新启动它。

(以 root 身份)

ps aux |grep dnsmasq
killall dnsmasq
/etc/init.d/dnsmasq start
ps aux |grep dnsmasq

祝你好运!

答案3

要确保您的 DNS 服务器正在读取当前文件(在 DNS SOA 服务器上执行此操作):rndc reload

确保刷新本地 DNS 缓存,使旧 IP 消失(在为您的客户端执行 DNS 递归的框上执行此操作):rndc flush

相关内容