6 Best Tools to Troubleshoot DNS Issues in Linux

DNS (Domain Name System) is the phonebook of the internet. A Domain name is a unique alphanumeric address that users type in the URL bar in the browser in order to access a website.

Domain names enable users to access a website instead of using an IP address that maps onto every domain name. Sometimes, you may encounter DNS issues such as a misconfigured DNS server which might lead to downtime.

In this guide, we look at 6 tools you can leverage to troubleshoot DNS Name resolution problems in Linux.

1. Nslookup Command

The good old nslookup command has been around for a while. It’s a command-line tool that queries and provides detailed information about the internet domain name servers.

You would typically use the nslookup tool to obtain DNS records of a domain name such as the mapping between a domain name and its associated IP address. The information obtained from querying a DNS record is valuable in troubleshooting DNS-related issues.

To retrieve information about a DNS record, use the following syntax:

$ nslookup domain_name

For example, to check the DNS record of a domain called linuxtechwhiz.info, run the command:

$ nslookup linuxtechwhiz.info

If everything is okay, you should get output that resembles what we have here.

Check Domain DNS in Linux
Check Domain DNS in Linux

The first section displays information about the server used to obtain the DNS records. In this case, it is the local DNS server on my local network. Sometimes, this might be your router or an internal corporate server.

The second section displays the Fully Qualified Domain name and its corresponding IP address (Both IPv4 and IPv6). In some cases, like ours, IPv4 is the only active protocol.

For some domain names, both protocols are enabled. For example, if you query google.com, you find that the domain name maps to multiple IP addresses, both IPv4 and IPv6.

$ nslookup google.com
Query Domain DNS in Linux
Query Domain DNS in Linux

2. dig Command

Short for Domain Information Groper, dig is yet another command-line tool for querying Domain Name System (DNS) name servers. It’s a better DNS query tool and replaced the nslookup command.

The dig command allows you to perform DNS lookups and provide intricate details about various DNS records including A, MX, and SOA records.

The most straightforward way of probing a DNS record is by typing the dig command followed by the domain name and pressing ENTER.

$ dig linuxtechwhiz.info
Query Domain DNS Info in Linux
Query Domain DNS Info in Linux

The output of the dig command is quite verbose. To display the IP address mapping include the +short suffix as shown.

$ dig linuxtechwhiz.info +short

3. host Command

The host command is another handy tool you can use to handle manual DNS resolution. For example, you can perform a DNS forward lookup as shown.

$ host linuxtechwhiz.info
Check DNS Forward Lookup
Check DNS Forward Lookup

You can also perform a reverse lookup as follows.

$ host
Check DNS Reverse Lookup
Check DNS Reverse Lookup

The -C option lets you query for the SOA records.

$ host -C linuxtechwhiz.info
Check DNS SOA Records
Check DNS SOA Records

In addition, you can query for the MX records using the -t mx flags as shown.

$ host -t mx google.com
Check DNS MX Records
Check DNS MX Records

To display all the information about a domain, pass the -a flag as shown.

$ host -a google.com
Check Domain DNS Info
Check Domain DNS Info

4. ping Command

The ping command is mostly used to check the availability or reachability of a system or node.

You can test the connectivity of a domain name by pinging the domain as shown.

$ ping linuxtechwhiz.info -c 4

A positive response implies that the name resolution is working as expected. An error points to a DNS resolution issue.

Moreover, you can ping the remote IP associated with the domain name to check if the system hosting your name is up and reachable.

$ ping -c 4
Ping Remote Linux Host
Ping Remote Linux Host

The command-line tools that we have just looked at only provide limited information about your DNS records and cannot adequately be used to troubleshoot complex DNS issues.

5. MXToolBox

MXToolBox is a free online tool (paid for extra features) that provides fast and accurate network diagnostic and DNS lookup tools.

It provides you with a comprehensive outlook of your domain health, which includes monitoring your domain, displaying information about any DNS or IP blacklists, probing the email server for any issues, checking the web server, and running over 15 tests on your DNS server.

It’s a highly recommended tool if your sole purpose is to get to the bottom of any DNS-related issue.

MxToolbox - MX Lookup Tool
MxToolbox – MX Lookup Tool

6. IntoDNS

IntoDNS is another valuable tool that you can use to check and troubleshoot any DNS-related issues. In just a few seconds, it generates a detailed report about NS records, nameservers, SOA and MX records, TTL, refresh interval, and much more.

In addition, it provides information about mail servers’ IP address and their validity and any possible problem with your domain name.

IntoDNS - Checks DNS Servers
IntoDNS – Checks DNS Servers
Closing Thoughts

These are just a few tools that provide insights into your DNS records which come in handy in troubleshooting any faults or errors associated with your domain. We hope you found this guide insightful. Feel free to reach out with any comments or feedback.

Similar Posts