I have always used external DNS services because it is easy and reliable. Would like to learn more about DNS by trying to use my own.
I have selfhosted some apps on linux VPS and some more people have accounts to use the apps so it’s not only internal. In domain registrar I have set name server to DNS service provided by VPS service. And in VPS console I have set the DNS records such as A record.
Not sure what I need to do and get started. Install authoritative name server (any recommendation?) on the VPS and set up same DNS records I set up with the VPS service? And change the name server with registrar to be my own VPS IP address? Seem too simple so could be I am missing some things.
Any problem with running name server on the same VPS as the apps?
Do not host a recursive DNS open on the web, if you don’t know what you are doing. You are putting yourself and other people at high risk. Search for dns amplification attacks for example.
For years, I used to run our own authoritative DNS servers using BIND. Switched to Cloudflare and never looked back.
I don’t see the point to use it’s own dns server for a single VPS. It is recommended to run at least two authoritative dns server for a a zone and it seems really strange to use a dns server which just references it’s own IP address.
If you just want to learn how to configure dns records I would recommend something like https://desec.io/ . They provide the dns server infrastructure and you can configure the zones as you desire.
+1 for deSEC, they are great. Not only do they offer free DNS management but also free “DDNS” subdomains like `example.dedyn.io". One account can manage up to 15 domains in total which should be plenty for most private users, but even if you reach that limit you can contact them and ask nicely for them to increase your allowance. (no promises)