this post was submitted on 26 Oct 2023
3 points (100.0% liked)

Self-Hosted Main

511 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

So I have 100+ websites I manage for various clients, and it is a pain for me to login to their hosting or domain registrar accounts to manage their DNS.

Is there a simple solution, where I can turn on my own server that manages DNS? So for every domain I manage, I simply set a DNS once as ns1..com, and from thereon I can just manage their DNS configurations?

top 40 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 year ago

If you're getting paid to manage these sites you should not selfhost their dns. Use a real dns provider like cloudflare.

[–] [email protected] 1 points 1 year ago (1 children)

I use Technitium DNS for all my DHCP/DNS/Ad Blocking.

https://technitium.com/dns/

[–] [email protected] 1 points 1 year ago

I tired it with about 400 domains and so far it is looking good but it needs a lot more work; someone will have to write a serious command line tool as we all know that GUI tools are good for a few clicks here and there but serious work needs a terminal.

[–] [email protected] 1 points 1 year ago

Yes there are a number of solutions out there including running your own bind server. But that is probably a little more difficult than what you might actually want which is just to consolidate their name servers down to one centralized place. Another comment mentioned one, clouddns is another that does this, maybe slightly differently?

[–] [email protected] 1 points 1 year ago

Yes. Bind DNS is the perfect candidate for that because it supports DNSSEC and everything in between. For DNS NS you need at least two static IPv4 addresses if you want to host it yourself.

[–] [email protected] 1 points 1 year ago

Powerdns and powerdnsadmin works well. Do keep in mind you are assuming responsibility for keeping that server up, if it fails your domains could be impacted (depending on how secondary servers are set up)

[–] [email protected] 1 points 1 year ago (3 children)

Why not just use Cloudflare? Redirect client nameservers to them. Also you can pay them if you ever need prioritized support. Free plan is solid usually.

DNS is scary to selfhost.

[–] [email protected] 1 points 1 year ago (1 children)

Can you make an example why selfhostig DNS is scary?

[–] [email protected] 1 points 1 year ago (1 children)

Externally. Why not take use of the good options out there and make it easier for yourself?

[–] [email protected] 1 points 1 year ago (1 children)

That’s not an example. Can you please make a technical example, thanks.

[–] [email protected] 1 points 1 year ago

Basically letting Cloudflare take ownership over DNS. So much better then logging into x amount of different domain registrars web management panels. Its not really directly comparing to your BIND solution. But a lot better then what he/she currently struggles with.

[–] [email protected] 1 points 1 year ago

CloudFlare is a quality DNS host with a solid control panel for managing your zones. However I will say that granting access to the domain owner or their other tech people is a giant hassle on CloudFlare.

[–] [email protected] 1 points 1 year ago (1 children)

DNS and e-mail are really, honestly, truly easy to self-host.

[–] [email protected] 1 points 1 year ago

I don't understand this sub sometimes. You are very right.

This sub's aversion to hosting email (and now DNS) is bizarre.

[–] [email protected] 1 points 1 year ago (2 children)

Cloudflare is a solid solution. Better than hosting yourself IMO

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

no it’s dnscontrol the dns way. sir

[–] [email protected] 1 points 1 year ago

This, and manage it with Terraform.

[–] [email protected] 1 points 1 year ago (2 children)

If you do self host dns make sure you have at least 2 vm's on different subnets (not the same ip ranges) and if you really go smart about it have them hosted in separate cloud providers to mitigate the risk a bit. Then make sure you are aware of how hackers use dns servers for example dns amplification attacks with dns to prevent yours from being used. There is documentation and CIS guides on this. But overall it is not scary. Just a bit of initial admin to get going. As other have mention there is bind, powerdns and that other one that was mentioned Technitium or something (never heard of it before). But as others have mentioned before, Cloudfare really is a good option to selfhost without the infrastructure requirements.

[–] [email protected] 1 points 1 year ago (2 children)

Cloud flare offers an api which allows you to manage it yourself without much hassle.

[–] [email protected] 1 points 1 year ago

this is a better solution

[–] [email protected] 1 points 1 year ago

Thanks, but I have had issues with clients with Cloudflare in the past. They tend to ban/block websites or traffic on subjective grounds. I am happy to spin off 5 VMs if needed.

The reason I like to self host is because I am kind of sick of these large companies acting like they own us.

[–] [email protected] 1 points 1 year ago

Thanks for the detailed post. I will keep these in mind.

[–] [email protected] 1 points 1 year ago (1 children)

I use PowerDNS and PowerAdmin. Supports pretty much everything (including BIND backend), has an API, and you can store the DNS records in a SQL database.

[–] [email protected] 1 points 1 year ago

dnscontrol it via git actions and u will never go to gui :)

[–] [email protected] 1 points 1 year ago

You can always use a Pi-Hole which offers DNS Hosting or if you have a Synology NAS

https://pi-hole.net/

https://dnssimple.com is also a great cheap solution that will host your own NS servers.

[–] [email protected] 1 points 1 year ago

I would use cloudflare and terraform to be honest, but bind would work just fine. You'd be able to keep all configs in git and have a pipeline deploy to the server and reload.

[–] [email protected] 1 points 1 year ago

Cloudflare + terraform is a good solution. It's not self hosted, but cloudflare managing the dns for you is much less headache. And you can manage all the records with IaC which makes it super simple to automate and take away the 'clickops'

[–] [email protected] 1 points 1 year ago

I use Cloudflare. I just have the users add the Cloudflare nameservers to their domain. Once all is done, I can make DNS changes while the customer continues to pay for the domain using their preferred registrar.

[–] [email protected] 1 points 1 year ago

I do both bind and route 53, but this is self-hosted so bind would be my choice.

[–] [email protected] 1 points 1 year ago

I'd advise to use DNSControl, combine that with Gitlab / GitHub and a ci/cd pipeline and you'll only have to commit you're changes and the ci/cd will do the rest.

I use it to manage DNS at Cloudflare, but anything else that DNSControl can communicate with will work.

[–] [email protected] 1 points 1 year ago

I like powerdns for an authoritative server.

[–] [email protected] 1 points 1 year ago

I run coredns.io these days. Simple, many plug-ins available, can handle split brain, etc.

(Personally I just make a change in git and it auto updates my dns boxes)

[–] [email protected] 1 points 1 year ago

Bind, powerdns, dnsmasq.... You COULD do it with windows DNS server or even something like a mikrotik router....

AWS has route53.. but depending on your clients someone would be paying money...

Id probably look for someone like digitalocean or cloudflare that has an API and use that.... DNS is pretty simple... Until it's not.

[–] [email protected] 1 points 1 year ago

Cloudflare is the best choice!

[–] [email protected] 1 points 1 year ago

I use three instances of CoreDNS (one main and two others) at three different providers. Setup is relatively easy and I manage all DNS zone files, keys for DNSsec with Git.

[–] [email protected] 1 points 1 year ago (1 children)

I'm using freeIPA and I'm happy

[–] [email protected] 1 points 1 year ago

Thanks for the recommendation.

[–] [email protected] 1 points 1 year ago

DNS is a must for self-hosting!

[–] [email protected] 1 points 1 year ago

Since you're managing clients' DNS, you don't really want to self host it.

Take a look at OctoDNS: https://github.com/octodns/octodns

Yaml config for DNS, and it just interacts with all the providers your clients want to work with while letting you have everything in one place managed via IaC.