DNS bind9:看不到缓存

时间:2015-04-02 14:30:00

标签: caching dns bind

我使用种子Ubuntu 12.04和两个不同的虚拟机:第一个是运行BIND9的DNS服务器,第二个是模拟用户/客户端。我的任务是毒化DNS服务器缓存。

在用户计算机中,我将主DNS地址配置为DNS服务器计算机的地址。

嗯,这是named.conf.options文件的上下文(位置为/etc/bind/):

options {
    directory "/var/cache/bind";
    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    //========================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys.  See https://www.isc.org/bind-keys
    //========================================================================
    //dnssec-validation auto;
    dnssec-enable no;

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
    dump-file   "/var/cache/bind/dump.db";
    query-source port 33333;
};

在用户中,我尝试使用不同的主机名(google.comcnn.com等)输入一些不同的地址,以查看缓存文件中的影响。

问题:无论我做什么,缓存文件都保持为空。当然我使用dump命令:

sudo rndc dumpdb -cache

但文件/var/cache/bind/dump.db仍为空。 谢谢!

1 个答案:

答案 0 :(得分:1)

我假设您的Ubuntu安装的bind默认使用chroot。该文件将相对于在其中运行/配置了绑定的chroot环境的根目录创建。

例如,在Redhat样式发行版中,/var/named/chroot/etc/named.conf仅引用dump-file "/var/named/data/cache_dump.db";;但是,其完整路径为/var/named/chroot/var/named/data/cache_dump.db

此外,无论chroot环境如何,您都可以使用诸如locate(1)或find(1)之类的工具来定位文件。