Name resolution is an essential part of modern networks. Name resolution services relate names, which are easy for people to remember, with IP addresses that are more difficult to remember.
Name resolution uses an address (A) record to resolve names with IPv4 addresses and a quad-A (AAAA) record to relate names with IPv6 addresses.
An A and AAAA record
End users rely on name resolution to browse websites. Computer technicians may use names to map network printers or drives, and system administrators can connect remotely to servers or VMs via names.
The first step in troubleshooting name resolution is to understand it. The first article of this series defines name resolution and provides examples of features, such as the hosts file and DNS. The second article covers troubleshooting name resolution issues from the client perspective using tools such as ping, nslookup, host and dig.
This article discusses troubleshooting DNS services at the server. Specifically, it covers checking the service status and primary configuration files on both Linux and Windows DNS servers.
Troubleshoot Linux-based DNS
Troubleshooting name resolution on a Linux server begins with the basics. First, is the service installed and running? Next, are the zone files accurate, and do they contain the needed resource records to resolve the network host?
The name resolution service for Linux is Berkeley Internet Name Domain (BIND), currently at version 9.
1. Check if BIND is installed
Ensure BIND is installed and running when troubleshooting a name resolution server. Use the following command to confirm BIND9 is installed:
$ named -v
The output should indicate BIND9 is installed and display the version number. If it’s not installed, that is why name resolution queries to this server are failing.
On Red Hat, Fedora and similar distributions, type the following to install BIND9:
$ sudo dnf install -y bind bind-utils
On Ubuntu, Debian and similar distributions, type the following:
$ sudo apt install bind9 bind9-utils bind9-dnsutils
Whether admins need to install the various extra utilities depends on how they intend to use the name resolution server.
2. Ensure BIND is running
Assuming BIND is installed, the next step is to ensure the service is running. Use the systemctl command with the following syntax:
$ sudo systemctl status bind9
Admins can use the systemctl start, stop, restart, enable and disable commands to manage the service.
Don’t forget to set the firewall to permit port 53/udp for queries and 53/tcp for zone transfers.
3. Check zone configuration
The primary directories that store BIND9 configuration files are usually /etc/bind and /var/cache/bind. The main service configuration files are named.conf, named.conf.default-zones, named.conf.local and named.conf.options. These files define how the name resolution service performs its tasks.
Note that exact directory and file names, as well as locations, may vary depending on the distribution. This isn’t an uncommon occurrence on Linux systems. It may be useful to grep the /etc and /var directories for strings …….