dstapp/docker-ddns

Can't get it to work

Closed this issue · 2 comments

I hope someone has an Idea what is going wrong here:

I have the following dns setup at my hoster:

dyndns.domain.de | NS | ns.dyndns.domain.de
dyndns.domain.de | A | 175.241.32.73
ns.dyndns.domain.de | A | 175.241.32.73

this call works:

http://ns.domain.de:8080/update?secret=password&domain=home&addr=1.2.3.4

Docker logs this:
A record update request: home -> 1.2.3.4

But:
I can't ping dyndns.domain.de.
when I check dns with mxtoolbox i get this:

_NS | localhost | 127.0.0.1 | 24 hrs |   |   |   |   |  
NS | ns.dyndns.domain.de | 175.241.32.73

Local NS list does not match Parent NS list
175.241.32.73 was reported by the parent, but not locally
127.0.0.1 was reported locally, but not by the parent_

When I dig:
dig home.dyndns.domain.de @175.241.32.73:

; <<>> DiG 9.10.6 <<>> home.dyndns.domain.de @175.241.32.73
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5159
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;home.dyndns.domain.de. IN A

;; ANSWER SECTION:
home.dyndns.domain.de. 3600 IN A 1.2.3.4

;; AUTHORITY SECTION:
dyndns.domain.de. 86400 IN NS localhost.

;; ADDITIONAL SECTION:
localhost. 604800 IN A 127.0.0.1
localhost. 604800 IN AAAA ::1

;; Query time: 37 msec
;; SERVER: 175.241.32.73#53(175.241.32.73)
;; WHEN: Fri Jul 06 17:32:48 CEST 2018
;; MSG SIZE rcvd: 133

And I can't ping home.dyndns.domain.de.
What is missing here?

Hey, sorry for the late response... Just some thoughts:

  1. In general it's probably not the best idea to serve the docker-ddns dns server from ns.dyndns.domain.de, i'd rather go with ns.domain.de because docker-ddns itself is not dynamic and not part of the dyndns.domain.de zone though, but hosted on some dedicated server or VPS with the static IP 175.241.32.73, right?
    Try this:

dyndns.domain.de | NS | ns.domain.de
ns.domain.de | A | 175.241.32.73

That's it. dyndns.domain.de cannot have a own A record itself on your upstream DNS because it's been delegated before. So only two records on the upstream DNS.

  1. After setting this up and waiting for the old record to expire, try dig NS dyndns.domain.de to see if it returns 175.241.32.73.

  2. using dig home.dyndns.domain.de check if the response comes from 175.241.32.73

Then you're set from docker-ddns side.

  1. If you call the API like this, your host (so your home machine?) will have the domain: home.dyndns.domain.de

So when 3. worked, running dig home.dyndns.domain.de should even return your dynamic IP address from home.

Let me know if it worked :-)
Best regards

I'll close this issue since there's nothing left to do. If you have any further problems, please file a new bug.