dynDNS with deSEC A-Record entry not working correctly

Hey guys,
i was setting up my domain, adding an A-Record. When trying to check if it’s working using Google DNS with “dig A mydomain.dedyn.io @8.8.8.8” it doesn’t give me something back (and I should get back my IPv4 adress in the terminal, right?).

Thanks in advance:)

PS: I’m pretty new to that whole topic so I’m pretty much still on bot-level

Does dig A mydomain.dedyn.io @ns1.desec.io return the correct IP?

1 Like

No, thats giving me the following output on console:

;; BADCOOKIE, retrying.

; <<>> DiG 9.20.8 <<>> A mydomain.dedyn.io @ns1.desec.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51132
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1400
; COOKIE: 9ea26b7d0941d3cf01000000681a02833e6d56e956cc3ab2 (good)
;; QUESTION SECTION:
;mydomain.dedyn.io. IN A

;; AUTHORITY SECTION:
mydomain.dedyn.io. 300 IN SOA get.desec.io. get.desec.io. 2025053493 86400 3600 2419200 3600

;; Query time: 18 msec
;; SERVER: 2607:f740:e633:deec::2#53(ns1.desec.io) (UDP)
;; WHEN: Tue May 06 14:37:23 CEST 2025
;; MSG SIZE rcvd: 126

Then either your A record was not set at deSEC or something went wrong while replicating your record to the secondary NS at deSEC.

Or maybe you have set the A record on a subdomain of mydomain.dedyn.io?

How did you set your A record? Web UI or IP Update API? If the latter, did you check that the return value was good?

1 Like

i used the IP Update API with the curl command. I believe the return was something along:

[{“created”:
“2025-05-06T08:21:42.055705Z”,
“domain”:“mydomain.dedyn.io”,
“subname”:“mydomain.dedyn.io”,
“name”:“mydomain.dedyn.io.mydomain.dedyn.io.”,
“records”:[“myIPv4Adress”],
“ttl”:3600,
“type”:“A”,
“touched”:“2025-05-06T08:21:42.060289Z”},

so i should’ve worked

Ah, then you have set your A record on mydomain.dedyn.io.mydomain.dedyn.io, not on mydomain.dedyn.io as probably intended.

Try dig a mydomain.dedyn.io.mydomain.dedyn.io. to verify.

2 Likes

Oh and the IP Update API does not return any JSON and it sets the TTL to 60. So you must have used the normal API.

1 Like

Yeah, used the normal API and then scaled the TTL to 3600 having seen it pop up on the entry list. Because I haven’t seen the “Add Entry” Button on the deDES page…

And the dig a mydomain.dedyn.io.mydomain.dedyn.io. worked out pretty well, so thanks for that.
To fix that “doubled domain” I can write another curl command, that will overwrite the current entry or is the Web-UI the better option?

No. You need to delete the RRset you don’t want. And in a separate operation set the one you do want.

Your curl command for setting the correct RRset should look something like this:
curl -X POST --url 'https://desec.io/api/v1/domains/mydomain.dedyn.io/rrsets/' --header 'Authorization: Token {secret}' --header 'Content-Type: application/json' --data '{"subname": "", "type": "A", "ttl": 3600, "records": ["<your-ip-address>"]}' (untested of course)

See: Creating an RRset

Deleting the wrong one via API would be described in Deleting an RRset

curl -X DELETE --url 'https://desec.io/api/v1/domains/mydomain.dedyn.io/rrsets/' --header 'Authorization: Token {secret}' --header 'Content-Type: application/json' --data '{"subname": "mydomain.dedyn.io", "type": "A"}' (untested of course)

In the web UI look for the big + Button at the top right of the page to add an RRset. And the trash can button to the left of the RRset to delete one.

2 Likes

I deleted the RRsets that I don’t need. While using the template from the documenation with “–header…” it doesnt work properly. It’s giving me an “{“detail”:“Authentication credentials were not provided.”}” back, so i assume the Token has expired? I thought that would never happen

Did you replace {secret} with your token value?

yeah, just deleting the subname:“” line kinda worked well. So with “dig a mydomain.dedyn.io @ns1.desec.io” works correctly, giving back the IPv4 adress.
Thanks four ur help. I will mark your anser was solution and close the thread, if thats possible