好吧,我遇到了一个问题,我的 bind9 dns 反向查找失败
#nslookup 172.16.0.179
Server: 127.0.1.1
Address: 127.0.1.1#53
** server can't find 179.0.16.172.in-addr.arpa: NXDOMAIN
这是我的反向区域:
# nano /var/lib/bind/mosek.intranet.rev.zone
$ORIGIN .
$TTL 604800 ; 1 week
172.16.0.in-addr.arpa IN SOA braintree.mosek.intranet. admin.mosek.com. (
79 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS braintree.mosek.intranet.
$ORIGIN 0.16.172.172.16.0.in-addr.arpa.
$TTL 3600 ; 1 hour
179 PTR harbinger.mosek.intranet.
PTR 条目是 bind9 自动生成的
这是我的 /etc/bind/named.conf.local
//
// Do any local configuration here
//
include "/etc/bind/rndc.key";
zone "mosek.intranet" {
type master;
file "/var/lib/bind/mosek.intranet.zone";
allow-update {key rndc-key; };
};
zone "172.16.0.in-addr.arpa"{
type master;
file "/var/lib/bind/mosek.intranet.rev.zone";
allow-update {key rndc-key; };
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
在我看来,一切都很好。什么可能导致了这个问题?
编辑
我让它工作了,所以这里是工作配置:
# cat /etc/bind/named.conf.local
//
// Do any local configuration here
//
include "/etc/bind/rndc.key";
zone "mosek.intranet" {
type master;
file "/var/lib/bind/mosek.intranet.zone";
allow-update {key rndc-key; };
};
zone "0.16.172.in-addr.arpa"{
type master;
file "/var/lib/bind/mosek.intranet.rev.zone";
allow-update {key rndc-key; };
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
。
# cat /var/lib/bind/mosek.intranet.rev.zone
$ORIGIN .
$TTL 604800 ; 1 week
0.16.172.in-addr.arpa IN SOA braintree.mosek.intranet. admin.mosek.com. (
79 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS braintree.mosek.intranet. $
$ORIGIN 0.16.172.in-addr.arpa.
$TTL 604800 ; 1 week
179 PTR harbinger.mosek.intranet.
答案1
使用域指定 PTR 记录时in-addr.arpa
,网络 IP 地址的最低有效部分应位于其余部分之前,即与通常以点分十进制表示法指定 IP 地址的方式相反。
IPv4 地址的反向 DNS 查找使用特殊域 in-addr.arpa 中的反向 IN-ADDR 条目。在此域中,IPv4 地址表示为四个十进制数字的连接序列,以点分隔,并附加第二级域后缀 .in-addr.arpa。通过将 32 位 IPv4 地址拆分为四个 8 位部分并将每个 8 位部分转换为十进制数,可获得四个十进制数字。然后按以下顺序连接这些十进制数字:最低有效 8 位部分在前(最左边),最高有效 8 位部分在后(最右边)。需要注意的是,这是以文本形式编写 IPv4 地址的通常点分十进制约定的反向顺序。
在你的情况下,172.16.0.in-addr.arpa
应该重写为全部您的 BIND 配置文件0.16.172.in-addr.arpa
。例如,区域文件应如下所示:
$ORIGIN .
$TTL 604800 ; 1 week
0.16.172.in-addr.arpa IN SOA braintree.mosek.intranet. admin.mosek.com. (
79 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS braintree.mosek.intranet.
$ORIGIN 0.16.172.in-addr.arpa
$TTL 3600 ; 1 hour
179 PTR harbinger.mosek.intranet