Linux配置DHCP服务即部署DHCP服务器作为局域网IP发放中心,关键步骤包括安装isc-dhcp-server或dhcp软件、指定监听网卡、配置/etc/dhcp/dhcpd.conf中的子网地址池与网络参数(如range、routers)、启动并验证服务状态、端口监听及租约记录。

Linux 配置 DHCP 服务,本质是部署一台 DHCP 服务器,让它主动为局域网内客户端自动分配 IP 地址及相关网络参数(如子网掩码、网关、DNS)。这不同于“本机用 DHCP 上网”,而是让这台 Linux 机器变成局域网的“IP 发放中心”。关键步骤包括安装服务、指定监听网卡、定义地址池、启动并验证。
确认并安装 DHCP 服务软件
主流发行版使用 isc-dhcp-server(Debian/Ubuntu)或 dhcp(RHEL/CentOS/Fedora)。安装命令如下:
- Ubuntu/Debian:
sudo apt update && sudo apt install isc-dhcp-server - RHEL/CentOS/Fedora:
sudo yum install -y dhcp或sudo dnf install -y dhcp
安装后服务默认不启动,也未配置,需手动设置。
指定 DHCP 服务监听的网卡
DHCP 服务必须知道在哪个物理或虚拟网卡上响应客户端请求。编辑主配置文件:
- Ubuntu/Debian:
sudo nano /etc/default/isc-dhcp-server,修改INTERFACESv4="eth0"(将eth0替换为实际局域网接口名,如enp0s3,可用ip a查看) - RHEL/CentOS:
sudo nano /etc/sysconfig/dhcpd,设置DHCPDARGS="eth0"
配置地址池与网络参数
核心配置在 /etc/dhcp/dhcpd.conf(Debian/Ubuntu)或 /etc/dhcp/dhcpd.conf(RHEL/CentOS)。可先复制示例模板:
-
sudo cp /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example /etc/dhcp/dhcpd.conf(Ubuntu) -
sudo cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf(RHEL)
然后编辑该文件,确保包含以下最小有效配置(以局域网 192.168.10.0/24 为例):
option domain-name "local";
option domain-name-servers 223.5.5.5, 114.114.114.114;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
}
注意:range 定义可自动分发的 IP 段;routers 是客户端默认网关;所有 IP 必须属于同一子网且不与服务器自身地址冲突。
启动服务并检查运行状态
保存配置后,执行:
- Ubuntu/Debian:
sudo systemctl restart isc-dhcp-server && sudo systemctl enable isc-dhcp-server - RHEL/CentOS:
sudo systemctl restart dhcpd && sudo systemctl enable dhcpd
验证是否成功:
- 查看服务状态:
sudo systemctl status dhcpd(或isc-dhcp-server),应显示 active (running) - 检查端口监听:
sudo ss -tuln | grep ':67',应看到 UDP 67 端口被占用 - 查看租约记录:
sudo cat /var/lib/dhcp/dhcpd.leases,新接入的客户端会在此生成条目
此时,同一局域网内设为“自动获取 IP”的设备(如另一台 Linux、Windows 或手机)即可获得该服务器分配的地址。


















