如何告诉 ISC DHCP 反向区域 DDNS 更新的正确区域?

如何告诉 ISC DHCP 反向区域 DDNS 更新的正确区域?

我正在运行一个 ISC DHCP 服务器(版本 4.2.5),该服务器配置为使用通过 dhcp DISCOVER 包接收的主机名动态更新 DNS 服务上的反向区域。

一切在类似区域上运行良好,2.1.10.in-addr-arpa但这个区域似乎不起作用:

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

dhcp 配置为分发该范围内的地址:

range 192.168.32.17 192.168.32.30;

反向区域工作正常。但是,该区域的动态更新失败,并显示:

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

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

答案1

为了便于记录,我将尝试在这里回答我自己的问题:这是不可能的。引用自https://lists.isc.org/mailman/htdig/dhcp-users/2006-August/001422.html

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

不过,这个问题有一个巧妙的解决方案。可以在 dhcpd 配置中为 DDNS 更新配置任意域名:

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 区域会使用 dhcp 服务器的信息进行动态更新。但这对反向查找有什么帮助呢?毕竟,客户端会查找 x.32.168.192.in-addr.arpa,对吧?好吧,如果我们为可能位于 32.168.192.dhcp 区域中的每个主机(即 DHCP 服务器可能分发的所有 IP,即子网范围)向 32.168.192.in-addr.arpa 区域添加 CNAME 资源记录,那么我们就应该万事俱备了。

因此,这是 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.
...

相关内容