CentOS 6 上绑定不转发

CentOS 6 上绑定不转发

我已经在 CentOS 6 上将绑定配置为(某种程度上)仅转发 DNS 服务器,如下所示:

options {
    listen-on port 53 { 127.0.0.1; };
    directory "/var/named";
    recursion yes;
    allow-recursion { localhost; };
    forward only;
    forwarders { 8.8.8.8; 8.8.4.4; };
};

include "/etc/named.rfc1912.zones";

问题是,它似乎没有进行任何转发:

$ dig www.google.com

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 1037
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.                    IN      A

;; Query time: 555 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jan 27 13:30:52 2012
;; MSG SIZE  rcvd: 32

我没有bind-chroot在此服务器上安装。我可以确认我的resolv.conf文件已配置为使用 127.0.0.1 进行 DNS 查找。如果是这样,dig @8.8.8.8 www.google.com那么我会得到正确的响应。

如果我删除转发语句并添加hint根服务器的区域,那么它确实可以正确解析名称,但我当然不想每次查找都访问根服务器。有什么建议吗?

答案1

我建议另外添加localhost机器本身的 IP 地址:

allow-recursion {127.0.0.1; 192.168.1.1;}

当然,你需要将192.168.1.1替换为你使用的真实IP地址。

相关内容