LinuxCommandLibrary

dhcpd

Assign IP addresses to network devices

SYNOPSIS

dhcpd [-4 | -6] [-a interval] [-c directory] [-cf config-file] [-d] [-df pid-file] [-f] [-lf lease-file] [-lfdb lease-fdb-file] [-m no-failover] [-n] [-pf pid-file] [-q] [-t] [-T] [-user user -group group] [-om] [-port ports] [-rv] [interface] [config-file]

PARAMETERS

-4
    Operate in IPv4 mode only

-6
    Operate in IPv6 mode only

-a interval
    Alert interval time in seconds for hardware address changes

-c directory
    Directory for configuration files

-cf config-file
    Path to configuration file

-d
    Foreground mode with verbose logging

-df pid-file
    Path to pid file (foreground mode)

-f
    Foreground mode

-lf lease-file
    Path to DHCP lease database file

-lfdb lease-fdb-file
    Path to DHCPv6 fixed address lease database

-m no-failover
    Disable failover protocol

-n
    Do not daemonize; run in foreground

-pf pid-file
    Path to process ID file

-q
    Quiet mode; suppress startup messages

-t
    Test configuration file syntax

-T
    Test configuration with trace output

-user user -group group
    Change user/group after startup

-om
    One-shot mode; handle one request and exit

-port ports
    Specify server/client UDP ports

-rv
    Run with vendor option space

DESCRIPTION

The dhcpd command launches the Internet Systems Consortium (ISC) DHCP server daemon, which provides dynamic IP address assignment to clients on a network via the Dynamic Host Configuration Protocol (DHCP). It listens for DHCP requests on specified interfaces and responds with IP addresses, subnet masks, gateways, DNS servers, and other network parameters defined in its configuration file, typically /etc/dhcp/dhcpd.conf.

Upon startup, dhcpd reads the configuration file to define subnets, host reservations, and lease policies. It maintains a lease database, usually in /var/lib/dhcp/dhcpd.leases, to track assigned addresses and expiration times, preventing conflicts. The daemon supports both IPv4 and IPv6 (limited) and can operate in failover mode with another server for redundancy.

Common use cases include setting up DHCP services on LANs, enterprise networks, or routers. It runs as a background process (daemon) and logs activity via syslog. Proper firewall rules (UDP ports 67/68) and root privileges are required. Note that ISC DHCP is deprecated; modern distributions recommend migrating to Kea DHCP. Security features include DDNS updates and MAC-based reservations.

CAVEATS

Requires root privileges; deprecated in favor of Kea DHCP. Needs /etc/dhcp/dhcpd.conf and proper permissions on lease files. IPv6 support is experimental. Firewall must allow UDP 67/68. Not compatible with some systemd setups without tweaks.

CONFIGURATION FILE

Defines subnets, pools, hosts via /etc/dhcp/dhcpd.conf. Syntax checked with dhcpd -t.

LEASE MANAGEMENT

Leases stored in /var/lib/dhcp/dhcpd.leases. Use omshell for runtime updates.

FAILOVER SUPPORT

Primary/secondary mode for high availability; requires matching configs and network connectivity.

HISTORY

Developed by ISC starting in 1995 as reference DHCP implementation. Major versions up to 4.4.3 (2022). Widely used in Linux distros but deprecated since 2022; ISC recommends Kea for new deployments due to maintenance issues.

SEE ALSO

dhclient(8), dhcpd.conf(5), dhcpd.leases(5), omshell(8)

Copied to clipboard