I have an Ubuntu 14.04 server, running an isc_dhcp_server
and the bind9
DNS server.
Bind acts as a cache, and it maintains the .m
domain (and zone) on my local network.
The server's address is 10.0.0.1
, and its FQDN is server.m
.
The problem is that the DHCP server is not sending any DDNS updates to the DNS server. I have tried changing the DHCP server's configuration (using LDAP)in numerous ways, but to no avail. E.g.: I moved all the config statements that are now part of the subnet
to it's parent group
. Both configurations seem to work equally (un)well.
What am I doing wrong?
I did however manage to send a manually constructed DDNS update to the DNS server, like this answer shows how to do. This worked perfectly, and the updates showed up in my system logs. Even if I'm using the wrong key with nsupdate
, that's being logged. Thus, my bind configuration should be fine.
My DHCP server is configured using LDAP, as per this tutorial. The resulting config file (which is generated from the LDAP tree during the DHCP server's startup sequence) looks like the code posted below. (result of ldap-debug-file "/var/log/dhcp-ldap.conf";
)
You might wonder "Where are the host
entries?". In my LDAP directory, those are located inside the group
, as objectClass: dhcpGroup
, but they don't appear in the derived dhcp-ldap.conf
file. Those hosts that I configured with a dhcpHWAddress: ethernet 01:23:45:67:89:ab
property are considered to be known-clients
, since these end up receiving addressed from the range 10.0.0.64 10.0.0.127
. All the hosts that I configured that way also have a dhcpOption: host-name "some-host-name"
and dhcpStatements: ddns-hostname "some-host-name"
.
Despite the known-clients
being recognized, I don't see any attempts of the DHCP server trying to update any DNS records in my logs.
log-facility local7;
default-lease-time 43200;
max-lease-time 86400;
key DHCP_UPDATER { algorithm hmac-md5; secret somesecretkey; }
group {
option domain-name "m";
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option time-servers server.m;
option routers server.m;
option domain-name-servers server.m;
subnet 10.0.0.0 netmask 255.255.255.0 {
authoritative;
update-static-leases on;
deny client-updates;
ddns-update-style interim;
ddns-updates on;
zone 0.0.10.in-addr.arpa. { primary server.m; key DHCP_UPDATER; }
zone m. { primary server.m; key DHCP_UPDATER; }
ddns-rev-domainname "0.0.10.in-addr.arpa.";
ddns-domainname "m.";
pool {
range 10.0.0.128 10.0.0.192;
allow unknown-clients;
}
pool {
range 10.0.0.64 10.0.0.127;
allow known-clients;
}
}
}