Dynamic DNS (DDNS)
Dynamic DNS and DHCP – Easy to do, and you’ll thank yourself later
BIND permission errors
setting up bind to work with nsupdate (SERVFAIL)
DNS – DDNS with DHCPv4 and DHCPv6
DDNS
$ nsupdate > server 127.0.0.1 > key DHCP_UPDATER uFj0b3YjnGGVOxpjvmpVqQ== > zone intra.fablabwinti.ch > update add test123.intra.fablabwinti.ch. 600 IN A 192.168.1.12 > send update failed: SERVFAIL
$ cat zone.update server 127.0.0.1 zone intra.fablabwinti.ch update add test123.intra.fablabwinti.ch. 600 IN A 192.168.1.12 send $ nsupdate -k ddns.key -v zone.update update failed: SERVFAIL
$ sudo /usr/sbin/named -u bind -fg [...] $ mv /etc/bind/db.192.168.1 /var/lib/bind 27-Dec-2014 17:30:43.649 client 127.0.0.1#44438/key dhcp_updater: signer "dhcp_updater" approved 27-Dec-2014 17:30:43.649 client 127.0.0.1#44438/key dhcp_updater: updating zone 'intra.fablabwinti.ch/IN': adding an RR at 'test123.intra.fablabwinti.ch' A 27-Dec-2014 17:30:43.650 /etc/bind/db.intra.fablabwinti.ch.jnl: create: permission denied 27-Dec-2014 17:30:43.650 client 127.0.0.1#44438/key dhcp_updater: updating zone 'intra.fablabwinti.ch/IN': error: journal open failed: unexpected error [...] 27-Dec-2014 17:35:34.307 client 127.0.0.1#44604/key dhcp_updater: signer "dhcp_updater" approved 27-Dec-2014 17:35:34.307 client 127.0.0.1#44604/key dhcp_updater: updating zone 'intra.fablabwinti.ch/IN': adding an RR at 'test123.intra.fablabwinti.ch' A 27-Dec-2014 17:35:34.307 /etc/bind/db.intra.fablabwinti.ch.jnl: open: permission denied 27-Dec-2014 17:35:34.307 client 127.0.0.1#44604/key dhcp_updater: updating zone 'intra.fablabwinti.ch/IN': error: journal open failed: unexpected error
$ cat /etc/apparmor.d/usr.sbin.named
/usr/sbin/named {
[...]
# /etc/bind should be read-only for bind
# /var/lib/bind is for dynamically updated zone (and journal) files.
# /var/cache/bind is for slave/stub data, since we're not the origin of it.
# See /usr/share/doc/bind9/README.Debian.gz
/etc/bind/** r,
/var/lib/bind/** rw,
/var/lib/bind/ rw,
/var/cache/bind/** lrw,
/var/cache/bind/ rw,
[...]
}
$ mv /etc/bind/db.intra.fablabwinti.ch /var/lib/bind $ mv /etc/bind/db.192.168.1 /var/lib/bind $ sudo /usr/sbin/named -u bind -fg [...] 27-Dec-2014 18:04:05.276 client 127.0.0.1#51007/key dhcp_updater: signer "dhcp_updater" approved 27-Dec-2014 18:04:05.276 client 127.0.0.1#51007/key dhcp_updater: updating zone 'intra.fablabwinti.ch/IN': adding an RR at 'test123.intra.fablabwinti.ch' A 27-Dec-2014 18:04:05.281 zone intra.fablabwinti.ch/IN: sending notifies (serial 2014060402)
FAQ
DHCP Server doesn’t start
$ service isc-dhcp-server start start: Job failed to start
$ dhcpd -t -cf /etc/dhcp/dhcpd.conf
Internet Systems Consortium DHCP Server 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
/etc/dhcp/dhcpd.conf line 8: semicolon expected.
default-lease-time
^
/etc/dhcp/dhcpd.conf line 8: expecting a parameter or declaration
default-lease-time 600;
^
Configuration file errors encountered -- exiting