IT技术博客大学习 共学习 共进步

技术文章

精选技术长文、实践记录与系统化阅读

强制刷新本地 DNS 缓存记录

DBA Blog 2011-02-07 00:11:18 累计浏览 10,652 次
   为了提高DNS 解析的记录,很多操作系统都会提供缓存DNS 记录的功能,但是,这可能会为测试DNS 服务或域名设定带来麻烦。为了测试出准确的结果,我们需要强制刷新本地 DNS 缓存记录。这里提供Windows 与 Linux 客户端上的操作说明。

    一、Windows 客户端

    获得缓存中的DNS :

    ipconfig /displaydns

    强制清除DNS 缓存:

    ipconfig /flushdns

     如果您觉得DNS Client服务带来麻烦,可以用在控制面板----服务 中停止,或使用下面的命令停止该服务:

    net stop dnscache

    重启动DNS Client服务:

    net start dnscache

    二、Linux 客户端

    开启本地DNS 缓存的服务。

    # chkconfig --list|grep nscd

    nscd            0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

    该服务除了提供DNS 缓存外,可提供NIS 加速的作用。

    启动本地DNS 缓存服务即可:

    # service nscd start

    反之

    # service nscd stop

    需要注意的是,在linux下没有强制清除DNS缓存的命令。但是,我们可以通过删除其后台数据库记录信息,达到清除DNS缓存的目的:

    # rm /var/db/nscd/hosts

    # service nscd restart

    三、Linux Bind 服务

    有时候,我们的客户端是处于某台DNS 缓存服务器后面的。常见的情况是,作为NAT 网关的Linux 服务器,通过bind 服务,提供DNS 缓存和转发功能。这可通过配置/etc/named.conf,加入forward来实现:

options {

     directory "/var/named";

     dump-file "/var/named/data/cache_dump.db";

     statistics-file "/var/named/data/named_stats.txt";

     forward only;

     forwarders {

          202.106.0.20;

     };

    };

    这时,客户端对外的DNS 解析结果,除保留在客户端本地的DNS 缓存中,同样会保留在这台网关服务器上。还有一种情况就是,当我们修改named 提供的DNS服务时,也需要刷新缓存。

    bind 提供的rndc 命令可以清空缓存的功能:

    # rndc flush

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,210)
  2. 分布式缓存系统 Memcached 入门 (累计阅读 16,055)
  3. 自建DNS以防止GFW干扰 (累计阅读 12,952)
  4. 2014年1月21日中国互联网DNS瘫痪事件原因分析 (累计阅读 8,233)
  5. 关于 SOCKS 代理的远端 DNS 解析 (累计阅读 7,754)
  6. php缓存与加速分析与汇总 (累计阅读 7,731)
  7. Web应用的缓存设计模式 (累计阅读 7,313)
  8. 浏览器缓存机制 (累计阅读 7,111)
  9. DNS 隧道 (累计阅读 7,032)
  10. 使用memc-nginx和srcache-nginx构建高效透明的缓存机制 (累计阅读 6,949)