Nowadays all major domain registrars offer managed DNS service along with the domain name(s) you register with them.
You can use them to create most of the commonly used DNS records like A, MX, CNAME and some even allow you to create AAAA(IPv6), SRV and TXT records.
But if you want full control over the DNS of your domain(s) its better to setup your own server for DNS hosting.
Login to your domain registrar’s control panel and create a child name server.
While creating records for the domain always remember to use only public IP addresses.
First we’ll be editing the NS and SOA records that were automatically created with this zone.
Open the properties of the NS record and edit the name server entry in it.
If your server has a directly assigned public IP then editing the FQDN alone if enough, set it to something like dns1.