Chinaunix首页 | 论坛 | 博客
  • 博客访问: 471564
  • 博文数量: 145
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1139
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-14 16:47
个人简介

路漫漫其修远兮,吾将上下而求索

文章分类

全部博文(145)

文章存档

2016年(10)

2015年(15)

2014年(120)

我的朋友

分类: 系统运维

2014-12-23 13:33:36

为了提高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

阅读(2907) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~