我已经让 dhcpd 推送更新以进行绑定,并且它似乎运行良好:
named[24161]: client 192.168.10.1#59141: signer "dhcp_updater" approved
named[24161]: client 192.168.10.1#59141: updating zone 'office.lan/IN': adding an RR at 'Examples-MBP.office.lan' A
named[24161]: client 192.168.10.1#59141: updating zone 'office.lan/IN': adding an RR at 'Examples-MBP.office.lan' TXT
named[24161]: client 192.168.10.1#47923: signer "dhcp_updater" approved
named[24161]: client 192.168.10.1#47923: updating zone '10.168.192.in-addr.arpa/IN': deleting rrset at '7.10.168.192.in-addr.arpa' PTR
named[24161]: client 192.168.10.1#47923: updating zone '10.168.192.in-addr.arpa/IN': adding an RR at '7.10.168.192.in-addr.arpa' PTR
但是,我们的 MacBook 经常同时使用 WiFi 和以太网。这意味着 bind 会拒绝更新,因为主机名重复:
named[24161]: client 192.168.10.1#34165: updating zone 'office.lan/IN': update unsuccessful: Examples-MBP.office.lan: 'name not in use' prerequisite not satisfied (YXDOMAIN)
named[24161]: client 192.168.10.1#35832: updating zone 'office.lan/IN': update unsuccessful: Examples-MBP.office.lan/TXT: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
我实际上并不太关心正向查找,我只希望对两个 IP 进行反向查找,以便两个 IP 地址都指向同一个主机名。
以下是相关部分dhcpd.conf
:
ddns-update-style interim;
ddns-domainname "office.lan.";
ddns-rev-domainname "in-addr.arpa";
key DHCP_UPDATER { algorithm hmac-md5; secret "{{secret key}}"; };
zone 10.168.192.in-addr.arpa. { primary 192.168.10.2; key DHCP_UPDATER; }
zone office.lan. { primary 192.168.10.2; key DHCP_UPDATER; }
以及相关部分named.conf.local
:
zone "office.lan" IN {
type master;
file "/var/lib/bind/office.lan.db";
allow-update { key DHCP_UPDATER; };
};
zone "10.168.192.in-addr.arpa" {
type master;
file "/var/lib/bind/10.168.192.in-addr.arpa";
allow-update { key DHCP_UPDATER; };
};
我尝试注释掉zone office.lan.
和ddns-domainname
行dhcpd.conf
,但随后我只收到以下错误消息:
dhcpd: Unable to add forward map from Examples-MBP.office.lan. to 192.168.10.7: timed out
因此问题是:如何让 dhcpd 只更新 中的记录10.168.192.in-addr.arpa
,而不必担心 中的重复主机名office.lan.db
?或者,是否有某种方法可以忽略重复的主机名,或更改主机名以使其唯一?
如果您需要任何进一步的信息,请告诉我。
答案1
我找到了一个很好的解决方案。我只是将我们的 Wifi 设备放在不同的 VLAN 上,这样我就可以为该子网配置不同的动态 DNS 域。
因此现在对 wifi 客户端 IP 的反向查找返回<hostname>.wifi.lan
,并且有线客户端也返回<hostname>.office.lan
。