Wondering how to troubleshoot DNS issues? We can help you.
DNS or Domain Name System refers to the mapping of a domain name to an IP address or vice versa. And BIND (Berkeley Internet Name Domain), is the widely used DNS server on UNIX and Linux.
If the DNS server fails, we will not be able to browse the website and it will show a server not found error. It is important that we troubleshoot and fix DNS issues as fast as possible to avoid downtime of websites.
Here at Bobcares, we handle similar issues as a part of our Server Management Services. Today let’s see how our Support Engineers troubleshoot DNS issues for our customers.
How to Troubleshoot DNS issues
The following are some of the methods that our Support techs follow for troubleshooting this issue:
1. Checking DNS with utilities
We can use the host and dig utilities to check the proper resolution of the domain.
This tool allows us to check whether the domain is pointing correctly.
We can check this with the following command:
$ host ourdomain.com
The “dig” tool performs DNS lookups and displays the answers that are returned from the nameserver(s) that were queried.
We can dig our domain with the following command:
$ dig ourdomain.com
2. Port 53 open and listing requests
By default, BIND listens to DNS queries on port 53.
We can check whether port 53 is open and listening to the requests.
This can be done using the following tools:
a. Using telnet
We can check whether we are able to connect to port 53 via telnet from a remote computer or not by using the following command:
$ telnet remote_server-ip 53
b. Using netstat
We can use the netstat command to list port 53 on the server itself with the following command:
$ netstat -plan | grep :53
c. Ensure that iptables firewall is not blocking the requests on the server.
We can do this using the following command:
$ iptables -L -n
d. Checking whether the DNS service is running or not.
This can be done using the following commands:
$ /etc/init.d/named status
If named is not running, we can start it using the following command:
$ /etc/init.d/named start
3. Checking the log files
The error messages will be available on the named log file. We can check the log file to know the exact reason for the DNS issue.
The following command can be used to check the logs:
$ tail -f /var/log/messages
4. Check configuration file for errors
Errors in /etc/named.conf can also be a reason for inadequate DNS resolution. We can check those errors using the named-checkconf command, which is named (BIND) configuration file syntax checking tool.
$ named-checkconf /etc/named.conf
If named-checkconf did not find any errors it will not display in output on the screen.
5. Check zone file for errors
Zone file syntax errors can be one important reason for DNS failure. The zone file validity checking tool in a bind is “named-checkzone”. It checks the syntax and integrity of a zone file.
We can use the following command to check this.
$ named-checkzone ourdomain.com /var/named/ourdomain.com.db
[Still facing issue? We are available 24*7]
in short, we saw various methods that our Support Engineers follow to troubleshoot DNS issues.