O'Reilly logo
live online training icon Live Online training

Building Linux Servers: DHCP, DNS, and Directory Services

David Prowse

Every aspiring systems administrator or DevOps engineer, and just about anyone already working in IT should have a solid foundation in Linux server technology. Much of today’s technology depends on Linux services -- such as DHCP, DNS, and directory services – and knowing the basics is the key to building an efficient computer network. Building Linux Servers: DHCP, DNS, and DS (directory services) is an introductory, hands-on course focusing on the installation, configuration, and analysis of open source Debian-based Linux servers that can act as the core servers in a network's infrastructure. The course is aimed at small and mid-sized business environments (SMBs), but can be beneficial in the enterprise as well. This 4-hour live training also briefly provides comparisons to other Linux distributions such as CentOS, and other technologies and methodologies related to DHCP, DNS, and directory services.

What you'll learn-and how you can apply it

  • Install a Linux-based Dynamic Host Configuration Protocol (DHCP) server, configure it to supply TCP/IP information to clients, and test its functionality with various client computers. For this course we will focus on the ISC Kea DHCP Server.
  • Build a Domain Name System (DNS) server, configure it to provide name resolution within our Linux domain, and test it with client computers. For this course we will use the BIND DNS system.
  • Install and configure directory services within Linux, create basic user accounts and test the functionality of the server from client computers. For this course we will focus on 389-DS.
  • Test and analyze the three servers to make sure they are working together appropriately and efficiently.
  • Make comparisons with different distributions of Linux and different methodologies of installation including the use of configuration management tools.

This training course is for you because...

  • You want to learn more about Linux, specifically Linux servers.
  • You aspire to work as a systems administrator or DevOps personnel.
  • You currently work as a junior-level sysadmin or junior DevOps engineer and wish to increase your knowledge.
  • You wish to bolster your resume with the addition of highly-sought after Linux knowledge.


Basic knowledge of:

  • Linux commands such as cd, ls, apt install, ip a
  • Linux editing with either vim or nano
  • Computer networking
  • Virtualization

Course Set-up

If you wish to follow along step-by-step with the instructor, then ready the following:

  • A virtualization environment. The exact environment does not matter, as long as you have the ability to install multiple virtual machines and have them communicate with each other. One example is VirtualBox (free): https://www.virtualbox.org/. Other examples include: Hyper-V, VMware Workstation, KVM (Linux systems only), and Xen. The instructor will be working with KVM exclusively for this course.

  • At least one installed Debian Linux virtual machine (preferably three). These virtual machines should be installed as servers with no GUI. At the beginning of the installation select “Install” and not “Graphical install” to ensure there is no GUI. Download Debian here: https://www.debian.org/distrib/. The virtual machine(s) will require Internet access.

  • At least one virtual machine acting as a client. During the course the instructor will use a Windows 10 Professional virtual machine and a Linux-based virtual machine.

  • Optionally, you can also ready a CentOS virtual machine for comparison.

Recommended Preparation

  • (Video) Beginning Linux System Administration: https://www.oreilly.com/library/view/beginning-linux-system/9780134589329/
  • (Video) IPv4 Basics: https://www.oreilly.com/library/view/comptia-a-220-901/9780134662947/APLS_M02_L18_01.html
  • (Video) Ports & Protocols: https://www.oreilly.com/library/view/comptia-a-220-901/9780134662947/APLS_M02_L19_00.html

About your instructor

  • David L. Prowse is an author, technologist, and technical trainer. He has penned a dozen books for Pearson Education, including the well-received CompTIA A+ Exam Cram and CompTIA Security+ Cert Guide. He also develops video content, including the CompTIA A+ LiveLessons video course. Over the past two decades he has taught CompTIA A+, Network+, and Security+ certification courses, both in the classroom and via the Internet. David has 20 years of experience in the IT field, and loves to share that experience with his readers, watchers, and students.

    He runs the website www.davidlprowse.com in support of his books and videos.


The timeframes are only estimates and may vary according to how the class is progressing

Segment 1: Introduction & Planning Length: 20 minutes

  • Course introduction
  • Overview of agenda
  • Network documentation, and server and virtual machine planning

Segment 2: Installation and Configuration of DHCP Length: 50 minutes

  • Theory: What is DHCP?
  • Downloading and installing DHCP
  • Modifying the DHCP configuration files
  • Testing client connectivity
  • Discussion of automation for DHCP servers

Segment 3: Installation and Configuration of DNS Length: 50 minutes

  • Theory: What is DNS?
  • Downloading and installing a DNS Server
  • Configuring DNS
  • Testing client connections and host resolution
  • Discussion of automation for DNS servers

Segment 4: Installation and Configuration of Directory Services Length: 50 minutes

  • Theory: What is directory services?
  • Downloading and installing directory services software
  • Configuring the DS server to work with DNS
  • Setting up a basic user account
  • Testing client user connections
  • Discussion of automation for DNS servers

Segment 5: Analysis and Comparisons Length: 40 minutes

  • Verifying full compatibility and functionality of all three servers
  • Testing the core infrastructure server(s)
  • Comparing other Linux distributions running similar software
  • Q&A

Course wrap-up