绑定不在CentOS 6上转发

我将CentOS 6上的configuration(有点)绑定为只能转发的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文件被configuration为使用127.0.0.1进行DNS查找。 如果我在dig @8.8.8.8 www.google.com那么我会得到一个正确的答案。

如果我删除转发语句并为根服务器添加hint区域,那么它会正确parsing名称,但是当然,我不希望每次查找都打到根服务器。 有什么build议么?

我build议在localhost旁边添加机器本身的IP地址:

 allow-recursion {127.0.0.1; 192.168.1.1;} 

当然,你需要用你正在使用的真实IP地址replace192.168.1.1。