How do you configure authoritative DNS

If you have a domain registered via Cloudflare, and you want to make a DigitalOcean droplet be the authoritative name server for it, how do you do that? I've done a little searching and I'm unsure whether or not I understand what I have found, so I appreciate the help!
18 Replies
Chaika
Chaika•5mo ago
If you're using the registrar, you don't. Can't use anything but CF Nameservers. You could delegate a subdomain to ext. dns
KmancXC
KmancXCOP•5mo ago
Oh that's interesting, but I guess maybe that would be fine for what I'm trying to do (time will tell). If you don't mind, how would I delegate subdomains to something else?
Chaika
Chaika•5mo ago
setup ns records within dns -> records under your website in Cloudflare
KmancXC
KmancXCOP•5mo ago
So that would be an NS record for * that points to whatever the thing I want to be authoritative?
Chaika
Chaika•5mo ago
If you wanted to do all subdomains? yea
KmancXC
KmancXCOP•5mo ago
Yeah, taking the lazy approach for now and will narrow down later 🤣 Thank you for the super quick responses, and for your help!
Chaika
Chaika•5mo ago
could do A ns1 ip unproxied NS mysubdomaindelegated ns1.mydomain.com If you just want to run your own dns for fun it's a good way to learn, worth noting though there's a reason why people use big DNS Providers like Cloudflare/AWS/Google, etc, super critical infra and low latency really helps
KmancXC
KmancXCOP•5mo ago
Mostly in it for the learning, definitely not planning on doing anything too wild
Chaika
Chaika•5mo ago
yea it's a lot of fun and good way to learn. There's a lot of cool auth. dns servers out there like powerdns and such, a semi-unpopular one wikipedia uses is called gdnsd which does great geodns and supports BIND format with really good performance. Worth looking into if you're still looking around, I use it on some of my stuff and it's been great
KmancXC
KmancXCOP•5mo ago
Ok so this is kinda weird. I tried what you suggested (* --> ns1, ns1 --> IP unproxied) and I wasn't seeing my queries on IP. If I change * to test but keep the rest of the flow the same, I can see queries for test. Any ideas?
No description
KmancXC
KmancXCOP•5mo ago
Upon further inspection, it seems like for some reason you can't have * go to ns1 but you can have *.sub go to ns1. So something doesn't let you do all subdomains, but you can do all subdomains of a subdomain
Chaika
Chaika•5mo ago
Any record type existing on a label prevents wildcards from acting on it and any deeper recursion so * would cover nothinghere but not ns1 or literally.anything.deeper.ns1
KmancXC
KmancXCOP•5mo ago
ohhhhh
Chaika
Chaika•5mo ago
same thing for *.sub ns1.sub existing would prevent ns from being there, as well as anything deeper
KmancXC
KmancXCOP•5mo ago
That makes sense, thanks! Being lazy strikes again
Chaika
Chaika•5mo ago
You can in some cases re-add the record, ex: specifically make ns record on ns1 but in here it makes no sense as if you had an NS record on ns1, to resolve the IP of your DNS Server ns1.example.com it'd need to resolve ns1.example.com which is delegated to ns1.example.com which would need to resolve ns1.example.com... I think you get the idea
KmancXC
KmancXCOP•5mo ago
Yeahhh, in hindsight that makes total sense
Chaika
Chaika•5mo ago
If you were setting up your own dns servers on the entire domain, and used nameservers on the same domain, you'd have to use something called glue records which you set at your registrar, and effectively the TLD serves those records to allow for dns resolution and prevent that infinite loop issue, ex:
dig tobrien.dev @ns-tld1.charlestonroadregistry.com (the registery's dns servers)
;; QUESTION SECTION:
;tobrien.dev. IN A

;; AUTHORITY SECTION:
tobrien.dev. 10800 IN NS pineapple.tobrien.dev.
tobrien.dev. 10800 IN NS pizza.tobrien.dev.

;; ADDITIONAL SECTION:
pizza.tobrien.dev. 3600 IN A 198.251.86.148
pizza.tobrien.dev. 3600 IN AAAA 2a0f:85c1:260::1
pineapple.tobrien.dev. 3600 IN A 198.251.86.148
pineapple.tobrien.dev. 3600 IN AAAA 2a0f:85c1:260::2
dig tobrien.dev @ns-tld1.charlestonroadregistry.com (the registery's dns servers)
;; QUESTION SECTION:
;tobrien.dev. IN A

;; AUTHORITY SECTION:
tobrien.dev. 10800 IN NS pineapple.tobrien.dev.
tobrien.dev. 10800 IN NS pizza.tobrien.dev.

;; ADDITIONAL SECTION:
pizza.tobrien.dev. 3600 IN A 198.251.86.148
pizza.tobrien.dev. 3600 IN AAAA 2a0f:85c1:260::1
pineapple.tobrien.dev. 3600 IN A 198.251.86.148
pineapple.tobrien.dev. 3600 IN AAAA 2a0f:85c1:260::2
Want results from more Discord servers?
Add your server