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?

  • CC-5576-03@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

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

  • InasFreeman@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months 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)

  • lvlint67@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months 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.

  • cltrmx@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months 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.

  • _duncan_@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months 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.

    • noseshimself@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months 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.

  • Qxt78@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    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.

    • joost00719@alien.topB
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

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

      • Maryannus@alien.topOPB
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months 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.

  • someoneatsomeplace@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    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.