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