Tools to troubleshoot DNS issues
Here are a list of essential tools to troubleshoot DNS issues associated with your domain.
WHOIS tools to troubleshoot DNS
Domaintools WHOIS lookup service
Domaintools WHOIS lookup service is a great tool for troubleshooting domain issues. Upon entering a domain name the service will return many useful bits of information including the domain registrar, registrant information, name servers associated with the domain and some other useful information.
If the information supplied by “whois.domaintools.com” is not sufficient you can obtain a more thorough analysis of your domain at “IntoDNS.com”. IntoDNS will provide much more detail, running various tests on all aspects of your domain’s DNS. This service returns a detailed list of all tests performed, presented in a way that is easy to read and skim for errors, often providing possible ways of addressing any issues found.
Global DNS Propagation Tests
DNS changes can take up to 24-48hrs to propagate around the world. Global DNS propagation tests such as “http://www.whatsmydns.net/” can be a great tool for checking that your DNS changes have propagated world-wide. Say you have changed the A records on your domain, the quickest way to check if those changes have been completed is to preform a Global Propagation test.
Password recovery tools to troubleshoot DNS
EPP Code Retrieval Tool for .au Domains
If you have an Australian domain, i.e. one ending with .au, and have access to the authorized email address on that domain, you can retrieve your EPP code with a service provided by auDA. With this tool you simply enter your domain name and fill out a CAPTCHA, then your EPP codes will be sent to the email address shown.
Using DIG to troubleshoot DNS
Dig, short for Domain Information Groper, is a command in Linux that is used to interrogate name servers for DNS information relating to your domain. The flexibility, ease of use and clarity of output makes dig very popular tool for troubleshooting DNS issues.
The dig command is not included in most Linux distributions by default, although it is a relatively straight forward process to install. If you are running a Debian based Linux distribution such as Ubuntu, simply run the following command in terminal:
sudo apt-get install dnsutils
To install Dig on RPM-compatible Linux operating systems such as CentOS, Fedora or RHEL, run the following command in terminal:
yum install bind-utils
In Arch Linux, use the following command:
pacman -S dnsutils
Examples of using the Dig command
When you pass a domain name to the Dig command, by default it displays the A record (the ip-address of the site that is queried) as shown below.
[[email protected] ~]# dig exampledomain.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> exampledomain.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<
There is a lot of information here, but Dig makes it easy for us by putting the relevant information into an “ANSWER SECTION”. Here we find the A record associated with the domain, and the IP address that it links to.
Using dig for specific DNS queries
Queries for specific DNS records can also be performed. In the following example we are searching for the MX records associated with exampledomain.com. This can be done in two ways, with both yielding equivalent results:
# dig mx exampledomain.com
# dig exampledomain.com mx
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> exampledomain.com mx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<
Here we can see the MX record associated with the ‘exampledomain.com’ domain. In this example there are no MX records set up.
Using dig to query a specific DNS server
By default dig uses the DNS servers defined in your /etc/resolv.conf file. If you would like to use a different DNS server to perform the query, specify it in the command line by using @dnsserver .
The following example uses Google Public DNS servers at the address 220.127.116.11 to look up mydomain.com
# dig @18.104.22.168 exampledomain.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> @22.214.171.124 exampledomain.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<