Can anyone help me with this? Using my own nameserver works, but I only have a single IP address so that can be ruled out due to DNS errors in Google and MX Toolbox. But if I use Namecheap’s Basic DNS service, and assign it to both my VPS and registrar DNS records, www and subdomains work, but not the base domain, e.g. www.example.com, foo.example.com and bar.example.com work but not example.com itself.
What I did was I made A records for the base domain and all subdomains, pointing to my server’s IP address. If I CNAME www to the base domain it doesn’t work either, and now even www.example.com isn’t working.
It sounds like you’re not using NameCheap as a registrar right? If that is the case, I’m assuming you’ve followed all the steps outlined in this NameCheap page to get your domain property registered with NameCheap’s BasicDNS service?
If you have, then all you should have to do is make sure you’ve added freedns1.registrar-servers.com, freedns2.registrar-servers.com, etc. to your registrar, and then create the bare minimum records in NameCheap, an A record with @ host and a value of your VPS’s IP Address, and additionally an A record with value ‘www’, and the IP address.
If all of these are correct then you just may need to wait additional time as DNS propagation can take up to 24-48 hours. If it is still not working I’d try to get in contact with NameCheap to see if there is some issue on their end.