编辑

编辑

好吧,我遇到了一个问题,我的 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 地址的方式相反。

维基百科关于反向 DNS 查找的文章

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

相关内容