Safe to say that a majority of problems in any virtual hosting system will be related to DNS, because DNS requires cooperation of numerous systems, rather than single one, and DNS problems can cause trouble to nearly every service on a hosting system.
For DNS to work, must have correct glue records at your registrar, as well as correct records on your Virtualmin system (or whatever system you choose to use for DNS, if not the Virtualmin server). Also, any slaves must also have correct records, or you will experience intermittent resolution failures.
Glue Records
Checking your glue records can be done using the whois command.
whois example.com
Look for the “domain servers” or “name servers” section of the output. The resulting names must resolve to your DNS servers.
Glue records must be configured at your name service registrar. Virtualmin and Webmin have no control over records at your registrar, so problems must be corrected using whatever interface your registrar provides.
NS Records
The NS records on your Virtualmin server should match those found in the glue records discussed previously, or intermittent problems may result.
You can find the NS records for a given zone using the host command on your server:
host -t NS example.com
A Records Address records, or A records, are the basic building block of DNS zones. They map names to IP addresses. To check an A record, use the host command:
host example.com
You can also specify the name server used to resolve queries by adding the name or IP of the server you wish to query to the end of the command:
host example.com ns1.example.com
Or, if you aren’t sure about the nameserver IP address resolving correctly, you can use an IP:
host example.com 192.168.10.10
MX Records
Mail exchanger records, or MX records, provide mail servers the information they need to know how to deliver mail for a particular domain.
You can check an MX record with the host command:
host -t MX example.com