除非允许查询为“任何”,否则绑定将不起作用

除非允许查询为“任何”,否则绑定将不起作用

我在 /etc/named.conf 中有这个,我注释了默认值并在其下设置了自己的值。除非我将 allow-query 设置为“any”,否则我的域名不会在浏览器中加载,这样可以吗,我应该编辑什么?如果是localhost127.0.0.1; 10.0.1.0/24;域名不会加载。我尝试了 127.. 因为它在这里提到了它:http://wiki.mandriva.com/en/Testing:Bind

绑定版本是9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 操作系统是CentOS 6.0。

options {
        // listen-on port 53 { 127.0.0.1; };
        listen-on port 53 { any; };
        //listen-on-v6 port 53 { ::1; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        //allow-query     { localhost; };
        allow-query     { any; };

        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
};

答案1

当您监听 127.0.0.1 或 localhost 或 ::1,和/或仅允许从 localhost 进行查询时,bind 将仅响应来自运行 bind 的同一台计算机的查询。(它在“测试”中这样设置可能是因为他们可能只是想测试 bind 是否有效,出于安全原因不将其开放到外部。)

将它们设置为“任何”以便可以从外部访问是正常的。

答案2

如果您的 DNS 服务器是本地缓存服务器,请设置

allow-query { <your subnet>; }; 

在选项中。并且,在每个区域中:

allow-query { any; };

如果您不将其用作缓存服务器,请将其选项设置为无;

allow-query { none; };

基本上,您不希望您的服务器应答您不具有权威的域。

答案3

请小心 - 事实并非如此:

如果您不将其用作缓存服务器,请将其选项设置为无;

allow-query { none; };

此类服务器不会回复任何数据包,即使对于它具有权威性的域也是如此。

相关内容