I'm trying to do DDNS. I have two Apple products: an Airport Extreme and a Macbook Air, and I want to update my DDNS server via the "Dynamic Global Hostname" feature.
I setup DDNS in the cloud (BIND), and via my local Ubuntu machine (nsupdate version is, apparently, "nsupdate: illegal option -- V", I can simply say:
nsupdate -D -k [TSIG key path] > update add jeff-laptop-2013.ddns.mydomain.com 86400 A [my IP] > send Found zone name: ddns.mydomain.com The master is: ns1.ddns.mydomain.com send_update() Sending update to [IP address of cloud DNS server]#53
and it correctly sends an update to the authoritative nameserver
However, on my OS X laptop (the one I want to update via Dynamic Global Hostname, nsupdate version 9.10.1-P1), it insists on sending it to my "main" DNS server (unless I specify the NS), rather than the authoritative NS:
> send Found zone name: ddns.mydomain.com The master is: ns1.ddns.mydomain.com send_update() Sending update to 22.214.171.124#53
(ns1.ddns.mydomain.com does not resolve to 126.96.36.199.) This fails with:
; TSIG error with server: expected a TSIG or SIG(0) show_message() Reply from update query: ;; ->>HEADER<<- opcode: UPDATE, status: SERVFAIL, id: 3677 ;; flags: qr ra; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 ;; ZONE SECTION: ;ddns.mydomain.com. IN SOA
This might be why the Dynamic Global Hostname (occasionally, but not reproducibly) prints the following error:
2/7/15 10:55:43.623 AM discoveryd: Basic DNSResolver UDNS Send(): UDP Sendto() failed to DNSNameServer 188.8.131.52 Port 53 errno 49, fd 42, ErrLogCount 2 ResolverIntf:0
I'm not familiar with BIND or Dynamic Global Hostname. Is this a bug? How could I look into this problem? Any suggestions?