我在配置 BIND DNS 时遇到一个问题,显示服务器在反向 DNS 检查时找不到 XXX.in-addr.arpa:NXDOMAIN!
正向 DNS 查找一切正常,但反向 DNS 查找失败。以下是我的配置文件:
命名配置文件
options {
listen-on port 53 { 192.168.10.1; }; // 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 { any; };
recursion no;
allow-recursion {
localhost;
};
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; anaged-keys-directory "/var/named/dynamic"; };
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
}; };
zone "." IN {
type hint;
file "named.ca"; };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
命名.rfc1912.区域:
acl trusted-servers {
192.168.10.1; //ns2 };
zone "johndeo.com" IN {
type master;
file "forward.zone";
allow-update { none; };
allow-transfer { trusted-servers; }; };
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; }; }; zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"$
type master;
file "named.loopback";
allow-update { none; }; };
zone "10.168.192.in-addr.arpa" IN {
type master;
file "reverse.zone";
allow-update { none; }; };
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; }; };
前锋区
$TTL 86400 @ IN SOA ns1.johndeo.com. root.ns1.johndeo.com. (
8 ; serial
86400 ; refresh,seconds
7200 ; retry
3600000 ; expire
86400 ) ; minimum johndeo.com. IN A 192.168.10.1
johndeo.com. IN NS ns1.johndeo.com.
johndeo.com. IN NS ns2.johndeo.com.
johndeo.com. IN MX 1 mail.johndeo.com.
ns1.johndeo.com. IN A 192.168.10.1
ns2.johndeo.com. IN A 192.168.10.1
www IN CNAME johndeo.com. ftp IN CNAME johndeo.com.
mail IN A 192.168.10.1
反向区域
$ORIGIN 10.168.192.in-addr.arpa.
$TTL 14400
@ IN SOA www.johndeo.com. admin.johndeo.com. (
30 ; serial
86400 ; refresh
7200 ; retry
3600000 ; expire
86400 ) ; minimum
IN NS ns1.johndeo.com.
IN NS ns2.johndeo.com.
1 IN PTR ns1.johndeo.com.
在服务器中 nslookup FQDN
nslookup ns1.johndeo.com
Server: 192.168.10.1
Address: 192.168.10.1#53
Name: ns1.johndeo.com
Address: 192.168.10.1
Windows 7 cmd 中的 nslookup
C:\Windows\system32>nslookup 192.168.10.1
Server:
Address: 192.168.2.1
*** can't find 192.168.10.1
我甚至使用“ ipconfig /flushdns ”来清除 DNS 缓存。
在服务器上 nslookup IP
nslookup 192.168.10.1
Server: 192.168.10.1
Address: 192.168.10.1#53
1.10.168.192.in-addr.arpa name = ns1.johndeo.com.
服务器上的主机 IP:
host 192.168.10.1
1.10.168.192.in-addr.arpa domain name pointer ns1.johndeo.com.
我无法找出导致此现象的原因。
答案1
你的另一台机器并不会神奇地知道它应该向你的名称服务器询问1.10.168.192.in-addr.arpa.
它将要求递归解析器(或可能自行递归)从根开始解析它的名称,并且递归将告诉它所有的168.192.in-addr.arpa.
名称服务器blackhole-1.iana.org
和处理blackhole-2.iana.org
。您可以从它们的名称中猜出这些服务器实际上在做什么。
如果您希望反向查找能够正常工作,仅仅为您想要提供的反向数据设置一个区域是不够的。您还需要让应该看到该信息的机器询问您的服务器,而不是全局 DNS 树。