У меня следующая конфигурация isc-dhcpd-4.3.1:
ignore client-updates;
ddns-update-style interim;
subnet 192.168.128.0 netmask 255.255.255.0 {
use-host-decl-names on;
update-static-leases on;
key "rndc-key" {
algorithm hmac-md5;
secret "redacted";
};
zone example.com. {
primary 127.0.0.1;
key rndc-key;
}
zone 128.168.192.in-addr.arpa. {
primary 127.0.0.1;
key rndc-key;
}
authoritative;
range 192.168.128.32 192.168.128.63;
next-server 192.168.128.1;
option domain-name "example.com";
option domain-name-servers 192.168.128.1;
group {
host test {
hardware ethernet 00:00:00:00:00:00;
}
}}
Что происходит, несмотря на ignore client-updates
, созданные записи ddns по умолчанию соответствуют имени хоста сервера во время запроса DHCP, то есть: localhost.example.com
. Сервер после первоначального запроса DHCP правильно устанавливает для своего имени хоста значение test.example.com
и service networking restart
тогда будут созданы правильные записи DDNS.
Я совершенно не понимаю, почему dhcpd слушает клиента, отправляющего имя хоста localhost
несмотря на то, что настройки говорят ему не делать этого.
Некоторая помощь в этом была бы большой.
У меня была такая же проблема, и я решил добавить ddns-hostname
в конфигурацию хоста. use-host-decl-names
ни один ignore client-updates
изменить любое поведение dhcpd.
Следующая функция наконец сработала, даже несмотря на то, что клиенты все еще пытались обновить DNS со своим именем хоста:
host client.foo.bar {
hardware ethernet 00:00:00:00:00:AA;
fixed-address 192.168.42.2;
ddns-hostname "foo";
}
Если вы найдете лучшее решение, дайте мне знать!