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