It's pretty safe to say that a majority of problems in any virtual hosting system will be DNS related, because DNS requires cooperation of numerous systems, rather than just one, and DNS problems can cause trouble with nearly every service on a hosting system.
For DNS to work, it 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.
Checking your glue records can be done using the
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.
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
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:
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.1.1
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
The Webmin documentation provides additional information on the topic of troubleshooting name service, as well as the BIND DNS Server module documentation.