CentOS的BIND DNS疑难解答?

我试图设置我的第一个BIND9 DNS服务器为一个小的本地networking,似乎无法得到它的工作。 我想创build一个max.app的“本地”域

据我可以告诉命名正在运行,但似乎没有服务我的域名logging?

service named start 

返回OK,恶魔在启动时运行。

如果我尝试并ping通mac1我得到:未知的主机mac1

如果我尝试ping mac1.max.app,我得到:unknown host mac1

当我尝试nslookup时,我得到:

 nslookup max.app Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: max.app Address: 67.192.47.244 

正如你所看到的,我没有从我的本地绑定服务(192.168.100.10)

我的/etc/resolv.conf文件如下所示:

 # Generated by NetworkManager search max.app nameserver 192.168.100.10 nameserver 8.8.8.8 nameserver 8.8.4.4 

我的/etc/named.conf文件如下所示:

 acl local-network { 192.168.100.0/24; }; options { listen-on port 53 { 127.0.0.1; 192.168.100.10; }; listen-on-v6 port 53 { ::1; }; 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 { local-network; }; recursion yes; query-source address * port 53; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "max.app" IN { type master; file "max.app.zone"; allow-update { none; }; }; zone "100.168.192.in-addr.arpa" IN { type master; file "max.app.rr.zone"; allow-update { none; }; }; 

我的/var/named/max.app.zone文件如下所示:

 $ORIGIN max.app. $TTL 86400 @ IN SOA dns1.max.app. email.gmail.com. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day IN NS dns1.max.app. dns1 IN A 192.168.100.10 CentOS1 IN A 192.168.100.15 CentOS2 IN A 192.168.100.25 mac1 IN A 192.168.100.50 mac2 IN A 192.168.100.55 mac3 IN A 192.168.100.60 www IN CNAME CentOS1 

我的/var/named/max.app.rr.zone文件如下所示:

 $ORIGIN 100.168.192.in-addr.arpa. $TTL 86400 @ IN SOA dns1.max.app. email.gmail.com. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day IN NS dns1.max.app. 10 IN PTR dns1.max.app. 15 IN PTR CentOS1.max.app. 20 IN PTR CentOS2.max.app. 50 IN PTR mac1.max.app. 55 IN PTR mac1.max.app. 60 IN PTR mac1.max.app. 

服务命名状态返回:

 version: 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 CPUs found: 2 worker threads: 2 number of zones: 15 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/0/1000 tcp clients: 0/100 server is up and running named (pid 1121) is running. 

这个“15个区域”似乎有点奇怪? 当我只在named.conf中定义了1个区域时

更新7/14 5:45 PM CST

好吧,我已经按照下面的build议,但事情似乎并不想工作。

添加到/ etc / sysconfig / iptables中

 -A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT 

dig @ 192.168.100.10 mac1.max.app a回报:

 ; <<>> DiG 9.6.0-APPLE-P2 <<>> @192.168.100.10 mac1.max.app a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48036 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;mac1.max.app. IN A ;; ANSWER SECTION: mac1.max.app. 86400 IN A 192.168.100.15 ;; AUTHORITY SECTION: max.app. 86400 IN NS dns1.max.app. ;; ADDITIONAL SECTION: dns1.max.app. 86400 IN A 192.168.100.10 ;; Query time: 8 msec ;; SERVER: 192.168.100.10#53(192.168.100.10) ;; WHEN: Thu Jul 14 17:30:53 2011 ;; MSG SIZE rcvd: 85 

dig @ 192.168.100.10 mac1.max.app ns返回

; << >> DiG 9.6.0-APPLE-P2 << >> @ 192.168.100.10 mac1.max.app ns; (find1个服务器);; 全局选项:+ cmd ;; 得到答案:;; – >> HEADER << – 操作码:QUERY,状态:NOERROR,ID:28099 ;; 旗帜:qr aa rd ra; QUERY:1,答案:0,AUTHORITY:1,ADDITIONAL:0

;; 问题部分:; mac1.max.app。 在NS

;; 授权部分:max.app。 86400在SOA dns1.max.app。 email.gmail.com。 2001062501 21600 3600 604800 86400

;; 查询时间:8毫秒;; SERVER:192.168.100.10#53(192.168.100.10);; 时间:Thu Jul 14 17:18:23 2011 ;; 味精大小rcvd:94

nslookup显示名字是在端口53上列出

 tcp 0 0 dns1:53 *:* LISTEN 2880/named tcp 0 0 localhost.localdomain:53 *:* LISTEN 2880/named 

一些build议:

resolv.conf删除两个google名称服务器。 你的域名服务器失败了,但是你没有得到太多有用的信息,因为nslookup正在进入下一个域名服务器。

如果使用nslookup请使用dig 。 dig的状态响应有助于排除故障。

 dig @192.168.100.10 mac1.max.app. a dig @192.168.100.10 max.app. ns 

确保你检查你的日志,看看你的区域是否真的加载。

检查netstat以确保named正在监听相应接口的端口53。

你的named被configuration为在127.0.0.1::1上侦听,但你的主机上的resolve.conf在192.168.100.10上询问尝试改变你的listen-on指令为

 listen-on { 127.0.0.1; 192.168.100.10; }; 

另外检查你的防火墙是否允许53端口连接。我在/etc/sysconfig/iptables有以下几行来做到这一点

 -A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT