强制 isc-dhcpd 在 ddns 更新中忽略客户端主机名

强制 isc-dhcpd 在 ddns 更新中忽略客户端主机名

我有以下 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尽管设置告诉它不要这样做。

如果能得到一些帮助那就太好了。

答案1

我遇到了同样的问题并想出了解决方案来添加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";
        }

如果您找到更好的解决方案,请告诉我!

相关内容