我正在使用bind9和isc-dhcp-server运行rasperry pi . dhcp的工作原理是它向客户端发出ip地址,dns正在运行 - 客户端可以查询外部dns名称 .

我遇到的问题是dhcp没有告诉dns注册新的IP地址 .

我一直试图让这个持续几个小时并阅读很多帖子,但无济于事 .

如果我运行nsupdate并指定rndc-key并发送更新,则成功注册该名称 . 所以看起来绑定工作正常 .

Oct 08 11:11:42 pi-dhcp named[3076]: client 192.168.1.204#36383/key rndc-key: signer "rndc-key" approved
Oct 08 11:11:42 pi-dhcp named[3076]: client 192.168.1.204#36383/key rndc-key: updating zone 'home/IN': adding an RR at 'test.home' A 3.3.3.3

我检查了日志,dhcp没有显示任何错误,甚至没有显示区域更新 . 几乎像dhcp忽略了ddns .

dhcpd.conf文件:

option domain-name "home";
option domain-name-servers 192.168.1.204;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
use-host-decl-names on;
ddns-update-style standard;
ddns-updates on;
allow unknown-clients;
update-static-leases on;

include "/etc/bind/rndc.key";
subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.40 192.168.1.55;
   option routers 192.168.1.1;
   ddns-domainname "home.";
   ddns-rev-domainname "in-adr.arpa.";
}

named.conf.local

include "/etc/bind/rndc.key";

zone "home" IN {
    type master;
    file "/etc/bind/db.home";
    allow-update { key rndc-key; };
};

我错过了什么?

我已经阅读了一些帖子,客户端可能没有发送主机名,但我在dhclient.conf中有这个帖子

send host-name = gethostname();

有各种风格的linux,r-pi,IoT设备 . 他们都没有在dns上注册 .