Instiq
Chapter 1 · Network client management·v1.0.0·Updated 7/7/2026·~11 min

What's changed: Initial version (topic 2.07, subtopics 2.07.1–2.07.4)

1.1Configuring and Managing a DHCP Server

Key points

Learn to configure and operate a DHCP server that auto-assigns IP addresses to clients: dhcpd (the ISC DHCP server) and its config file dhcpd.conf, the lease-state file dhcpd.leases, using arp to verify results, checking logs via syslog/the systemd journal, and distributing IPv6 router advertisements with radvd and radvd.conf.

Manually configuring an IP address on every client PC does not scale. A DHCP (Dynamic Host Configuration Protocol) server automatically hands out an IP address, subnet mask, default gateway, and DNS servers when a client boots. As the entry point to network client management, Exam 202 tests configuring and operating dhcpd, the standard Linux DHCP server implementation.

1.1.1Configuring the DHCP server via dhcpd.conf

  • On startup, dhcpd (the ISC DHCP server) reads its config file, dhcpd.conf. It defines the subnet to serve, the address range, default gateway, DNS servers, and lease duration.
  • Each subnet gets its own block, e.g. subnet ... netmask ... { range ...; option routers ...; option domain-name-servers ...; }, so one dhcpd process can serve multiple segments.
  • To always hand a specific client the same address, add an individual fixed allocation (a host block) in dhcpd.conf keyed on the MAC address.

1.1.2Lease management, logging, and IPv6 radvd

  • Which client (by MAC address) holds which IP, and for how long, is recorded in dhcpd.leases. When troubleshooting, check this file to see who currently has which address.
  • Whether a client actually obtained an address can be confirmed with arp, checking the IP-to-MAC mapping on the server or client side.
  • dhcpd startup, lease grants, and errors are logged to syslog (e.g., /var/log/messages) or the systemd journal (journalctl -u dhcpd). Start troubleshooting misconfigurations there.
  • In IPv6, the daemon that advertises router information (prefixes, etc.) is radvd (Router Advertisement Daemon). Its config file, radvd.conf, lists the prefixes and interfaces to advertise.
Exam point

The most-tested split: configuration lives in dhcpd.conf; current lease state lives in dhcpd.leases. "Give a specific client a fixed IP" → a host block (keyed on MAC) in dhcpd.conf; "see who currently holds which IP" → dhcpd.leases; "advertise router info over IPv6" → radvd/radvd.conf.

Walk it as a troubleshooting flow. When a new client cannot get an address, first check syslog or journalctl -u dhcpd for whether dhcpd started cleanly and whether the config has syntax errors. Next check dhcpd.conf: has the relevant subnet's range been exhausted, or is the subnet block for that segment missing entirely? If dhcpd itself is healthy but one client fails, run arp on the client to see its assigned IP-to-MAC mapping, and cross-check that MAC's entry and expiry in dhcpd.leases on the server. For a device that should always keep the same address (e.g., a conference-room printer), add a fixed allocation keyed on its MAC address to dhcpd.conf and restart dhcpd. In IPv6 environments, address autoconfiguration additionally needs radvd to send router advertisements; radvd.conf defines which prefixes go out on which interfaces (note this is a separate mechanism from DHCPv6).

ItemRoleKey point
dhcpd.confDHCP server configurationDefines subnet/range/fixed allocations
dhcpd.leasesCurrent lease stateRecords MAC, IP, and expiry
arpVerify IP-to-MAC mappingUsed to confirm what was assigned
radvd / radvd.confIPv6 router advertisementA separate IPv6 addressing path from DHCPv6
Warning

Trap: "edit dhcpd.leases to give a client a fixed IP" is wrong—dhcpd.leases is an auto-recorded state file, not a place for permanent configuration. Fixed allocations belong in a host block in dhcpd.conf. Also, "radvd outputs dhcpd's logs" is wrong—radvd is a dedicated IPv6 router-advertisement daemon unrelated to dhcpd's logging.

Flow from dhcpd.conf (config) through dhcpd (distribution) to dhcpd.leases (lease record), alongside IPv6 radvd.
Configuration and current state are separate files

1.1.3Section summary

  • Config = dhcpd.conf (subnet/range/fixed allocation) / current leases = dhcpd.leases; verify with arp, log via syslog/journal
  • IPv6 router advertisement uses radvd/radvd.conf (a path separate from DHCPv6)

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. On the office LAN's DHCP server, a specific MFP (known MAC address) should always receive the same IP address. What configuration is appropriate?

Q2. A client reports it cannot obtain an IP address even though the DHCP server should be running. What is an appropriate first step to isolate the cause?

Q3. On an IPv6-only segment, you want to automatically advertise router address information (prefixes, etc.) to clients. Which daemon and config file combination is correct?

Check your understandingPractice questions for Chapter 1: Network client management