======================================= FreeBSD 14 bind9 ddns the wrong way ======================================= It works but it is basically useless for updating dns records by any user other than root. It means it will not work without perhaps adding sudo to make it work with a web interface. ======================================= TLDR --------------------------------------- user@bindserver:~ $ cat /tmp/foo | nsupdate -l 28-Jul-2024 01:45:23.791 open: /var/run/named/session.key: permission denied can't read key from /var/run/named/session.key: permission denied ======================================= /usr/local/etc/namedb/named.conf.zones --------------------------------------- zone "ddns.tld" IN { type primary; file "/usr/local/etc/namedb/dynamic/db.ddns.tld"; update-policy local; }; ======================================= /usr/local/etc/namedb/dynamic/db.ddns.tld --------------------------------------- $TTL 3m @ IN SOA ns1.ddns.tld. root.ddns.tld. ( 1 ; Serial Number 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hour 604800 ; Expire after 1 week 86400 ; Minimum TTL of 1 day ) @ NS ns1.ddns.tld. ======================================= /tmp/foo --------------------------------------- local 127.0.0.1 zone oetec.com update delete host.ddns.tld. A update add host.ddns.tld. 2 A 10.10.10.101 show send ======================================= TEST success as root --------------------------------------- named-checkconf rndc reload nslookup host.ddns.tld nsupdate -l /tmp/foo nslookup host.ddns.tld ======================================= TEST fail as user --------------------------------------- user@bindserver:~ $ cat /tmp/foo | nsupdate -l 15-Jul-2024 01:45:23.791 open: /var/run/named/session.key: permission denied can't read key from /var/run/named/session.key: permission denied ======================================= done =======================================