What do I need to do after adding an A record to make queries use it? Can verify that the proper DNS is being used (new server not old) because new server IP is only in new server’s DNS. I also updated nameservers as I was transferring things over.
Generally, “not propagating” means “incorrect glue records”.
Is Virtualmin managing your DNS or is your DNS hosted elsewhere? If Virtualmin is managing it, you would need your glue records to point to the Virtualmin server and your secondary DNS server (presumably also managed indirectly by Virtualmin via Webmin according to our docs: How to Configure Secondary DNS | Virtualmin — Open Source Web Hosting Control Panel).
If Virtualmin is not managing your DNS, and glue records point elsewhere, nothing you do in Virtualmin matters to the world. In which case, you should disable the DNS feature in Virtualmin, and make sure all records are added wherever your DNS is hosted.
Using a DNS checker tool, it says my glue records do exist for ns1.nullusanxietas.com and ns2.nullussanxietas.com. I had been using a different domain on the old server; also, the new server’s IP does not exist anywhere on the old server, so anything returning the IP of the new server must be obtained at some point from the new server.
Virtualmin is managing my DNS, and it is working for all the main domains on the server. Only this subdomain that I’ve added DNS records for to point it off the server is not working - and even there, it is pointing to the new IP on the new server - just pointing to the main server IP instead of the one I put in the A record.
So at my registrar, I did create ns1/ns2 and point them to the share IP of the server - and that all seems to me to be working.
Thank you for the reply, and let me know what other information I can supply. In looking at your link, I didn’t see anything popping out at me that I needed to do as DNS is definitely working on the server, and for all main sites, is working.
Virtualmin creates a new DNS zone for new Virtual Servers or Sub-Servers, by default (definitely true for Virtual Servers, and I’m pretty sure for Sub-Servers), regardless of whether the parent zone is also hosted locally.
I believe the behavior you describe tells me you’ve added the A record in the parent zone and an A record is not in the zone for the subdomain (though I’m surprised Virtualmin didn’t create it to start with).
Look at all the zones in the BIND DNS module. Do you see one for domain.tld and another for sub.domain.tld? If so, you should have an A record in the sub.domain.tld zone for the name sub.domaint.tld (might appear as @), and NS records for the sub.domain.tld zone.
Virtualmin can be configured to put subdomain records into the parent domain zone file. I don’t think it’s the default, as it has implications for backups and restores, and various other things. It’s generally transparent to users, but a migrated cPanel backup may have gotten weird…we probably don’t handle everything in migrated domains perfectly because their backups aren’t a documented standard (nobody’s are, that’s not an accusation of failure, just a fact we all have to live with) and they also change every now and then.
Basically, I think you just want to make sure the subdomain zone has all the names you expect. Or, you can remove the subdomain zone and add all the records in the parent zone. Either way works fine, as long as everything is configured right, and as long as you remember how it all fits together and you put your records in the right zone.
I guess also make sure there isn’t some old bogus delegation stuff in the parent zone (or the subdomain zone). Check that in the NS records in the parent and subdomain zones.
Of course, I may even be misremembering the default for this. Maybe we don’t create subdomain zones by default and it’s something completely different. I may be extrapolating from your symptom in a completely wrong direction.
With the greater power of Virtualmin comes greater responsibility. And the way I did things in cPanel may change now.
You guessed it perfectly - I’d had a site on the old server for that subdomain that I imported and didn’t think about it. And then added the record to the parent domain.
I haven’t checked propagation yet, but as the main server IP was clearly in the subdomain’s DNS… it’s got to be it.
And so later, once I make sure this works, I 'll likely remove the unneeded subdomain and just have the DNS entries.