IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

强制刷新本地 DNS 缓存记录

DBA Blog 2011-02-07 00:11:18 累计浏览 10,916 次
本机暂存
   为了提高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. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 如何拿下简短的域名 (累计阅读 16,933)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,932)
  3. 调试工具之GDB (累计阅读 14,828)
  4. 自建DNS以防止GFW干扰 (累计阅读 13,125)
  5. Linux date 命令获取某日期的前一天 (累计阅读 9,879)
  6. ps 命令常见用法 (累计阅读 9,500)
  7. linux下搜索find命令详解 (累计阅读 9,456)
  8. 从谷歌宕机事件认识互联网工作原理 (累计阅读 8,746)
  9. 2014年1月21日中国互联网DNS瘫痪事件原因分析 (累计阅读 8,445)
  10. Bash 小技巧:给目录加上书签,快速切换目录 (累计阅读 8,080)