Essential UNIX Commands for BIND, ISC DHCP, and Kea DHCP Administrators
  • 25 Sep 2019
  • 3 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Essential UNIX Commands for BIND, ISC DHCP, and Kea DHCP Administrators

  • Dark
    Light
  • PDF

Article Summary

On September 25, 2019, Alan Clegg presented a webinar on basic UNIX commands useful for administrators of BIND 9, ISC DHCP, and Kea DHCP. This article recaps the highlights of the webinar for those who may be interested. You can also watch a recording of the webinar here.

Why are you offering this webinar?

Although many of our users may be quite experienced at system and network administration, some may find themselves responsible for administering systems for which they have not received much training. They may not be familiar with all the intricacies of UNIX commands for DNS and DHCP management. Customers who wish to open a support ticket with ISC's engineers, or any user who may need to report a bug in ISC's GitLab instance, may not know all the UNIX commands required to generate the information we need to assist them.

Of course, different versions of UNIX vary, so our instructions are generic; we advise users to read the man pages of their specific UNIX system.

Fortunately, the individual commands described in the webinar are equally useful for all three ISC software products running on a UNIX host, and can also be used in any UNIX setting.

Manual pages

Instructions for all UNIX commands can be found in their respective manual (or "man") pages. Enter the command man man to see the man page for the man command! Very meta.

To get more information about any of the commands listed below, just type man <command-name> at the UNIX command line.

Helpful commands

Some commands help you find where a file or expression can be found, while others tell you what processes are running on your server. Still others can indicate what a particular server is doing on the network.

locate

The locate command locates files quickly, using a database that is rebuilt overnight, when server use is lower. The results may be out-of-date, but the command is much faster and less resource-intensive than find.

image.png

locate may not be installed on your system by default; if you can't find it, look for the mlocate package.

grep

The grep (global regular expression print) command finds a pattern in files and displays the lines containing the pattern. It can also be used to print lines that do NOT contain the specified pattern.

more/less

The more and less commands separate the results of a given command into screen pages that are more easily readable by a human. It is often used at the end of a series of commands.

find

Like locate, find locates files in the filesystem. It starts searching from a given location and proceeds downwards through the file tree. Unlike locate, it does not rely on a database that may be out-of-date, but it is more resource-intensive.

image.png

which

which lets you know which command will run when executed.

image.png

ps

The ps command displays the process status, including the process-id, runtime, and more.

image.png

top

top shows which processes are using the most resources on the system, and also displays the system status: CPU percentage in use, memory in use, and swap in use.

image.png

glances

glances is like top "on steroids": in addition to the information provided by top, glances also provides network utilization, disk I/O, and disk capacity. Since it is written in Python, glances is much "heavier" than top.

image.png

netstat

The netstat command offers the ability to see network connections, network routing tables, and listening processes. netstat may not be installed by default.

image.png

image.png

ifconfig

ifconfig is the "old-school" way to look at network interface configuration. It displays IP addresses (both v4 and v6), the hardware (MAC) address, and RX and TX packet and error counts. Unfortunately, ifconfig may also not be installed by default.

image.png

ip

ip is the "new" way to look at network interface configuration. It includes IP addresses (both v4 and v6), hardware (MAC) address, routing tables, arp tables, and tunnels.

image.png

image.png

systemd

systemd is a different mechanism for starting, stopping, and monitoring processes that start at system boot time.

Potential issues with BIND or Kea packages
While not the fault of systemd, using a packaged version of BIND or Kea and then installing your own version from source may lead to issues.

Read the specifics of your ISC daemon

Kea: look for kea-<daemon>.conf

image.png

BIND: look for named.conf

image.png

image.png

image.png

Obviously, this is only a small subset of the UNIX commands that are useful to BIND, ISC DHCP, and Kea DHCP administrators. If you need to report a crash to us, please see What to do if your BIND, ISC DHCP, or Kea DHCP server has crashed for specific instructions on commands to run to generate the information we will need to investigate your report.

And stay tuned for more ISC webinars! If you have topics you would like us to address, please email us at marketing@isc.org.