如何判断反向区域DDNS更新的ISC DHCP正确区域?

我有一个运行的ISC DHCP服务器(版本4.2.5),它被configuration为dynamic更新DNS服务的反向区域,使用通过dhcp DISCOVER软件包收到的主机名。

它在2.1.10.in-addr-arpa这样的区域中都可以正常工作,但是这个区域2.1.10.in-addr-arpa不起作用:

 zone 16-30.32.168.192.in-addr.arpa. { primary 127.0.0.1; key rndc-key; } 

dhcp被configuration为分发该范围内的地址:

 range 192.168.32.17 192.168.32.30; 

而反转区工作正常。 但是,该区域上的dynamic更新失败:

 Unable to add reverse map from 17.32.168.192.in-addr.arpa. to debiantest.dhcp.company.com: not found 

我如何指定这个特定的区域? 这似乎是一个语法问题,因为它与其他区域一起工作,但在isc dhcp文档中找不到正确的信息。

为了文件的缘故,我会试着回答我自己的问题:这是不可能的。 引用https://lists.isc.org/mailman/htdig/dhcp-users/2006-August/001422.html

DHCP不支持更新任意区域,它采用IP地址,反转八位字节,并附加反向域名(deafult in-addr.arpa)。

但是,这个问题有一个很好的解决scheme。 可以在dhcpdconfiguration中为DDNS更新configuration任意域名:

 ddns-rev-domainname "dhcp"; zone 32.168.192.dhcp. { primary 127.0.0.1; key rndc-key; } 

所以DNS服务器需要提供那个特定的区域。 由于这是我的情况下的bind9,下面是/etc/named.conf中的相关代码片断

 zone "32.168.192.dhcp" IN { type master; file "/var/named/dynamic/32.168.192.dhcp"; allow-update { key "rndc-key"; }; }; 

当然,相应的区域文件:

 $ORIGIN . $TTL 600 ; 10 minutes 32.168.192.dhcp IN SOA dns-dhcp.company.com. hostmaster.company.com. ( 2016100328 ; serial 3600 ; refresh (1 hour) 600 ; retry (10 minutes) 86400 ; expire (1 day) 600 ; minimum (10 minutes) ) NS dns-dhcp.company.com. 

所以现在32.168.192.dhcp区域是dynamic更新的DHCP服务器的信息。 但是,这是如何帮助反向查找? 毕竟,客户端会寻找x.32.168.192.in-addr.arpa,对吧? 那么,如果我们向32.168.192.in-addr.arpa区域添加CNAME资源logging,那么每个可能位于32.168.192.dhcp区域的主机(这是DHCP服务器可能分发的所有IP)子网范围),我们应该是金色的。

所以这里是32.168.192.in-addr.arpa区域文件的相关部分(在我的例子中是/var/named/32.168.192.in-addr.arpa):

 $GENERATE 17-30 $ CNAME $.32.168.192.dhcp. 

这将导致:

 $ dig -x 192.168.32.17 ... ;; ANSWER SECTION: 17.32.168.192.in-addr.arpa. 600 IN CNAME 17.32.168.192.dhcp. 17.32.168.192.dhcp. 300 IN PTR debian.company.com. ...