Ubuntu 上部署 DHCP 服务器(isc-dhcp-server)
给出 Ubuntu 上装 isc-dhcp-server、写租约池、指定监听网卡的最小部署流程,以及常见坑:多网卡漏写接口、防火墙挡 67/68 端口。
结论先行
Ubuntu 部署 DHCP 服务器用 isc-dhcp-server 包,核心三件事:写租约池到 /etc/dhcp/dhcpd.conf、在 /etc/default/isc-dhcp-dhcpd 里指定监听网卡、放行防火墙 67/68 端口。漏掉网卡指定是最常见的「服务在跑但发不出地址」原因。
部署步骤
sudo apt update && sudo apt install -y isc-dhcp-server
/etc/dhcp/dhcpd.conf 关键段:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
default-lease-time 3600;
}
指定网卡(多网卡机器必做):
# /etc/default/isc-dhcp-dhcpd
INTERFACES="enp3s0"
启动与验证
sudo systemctl restart isc-dhcp-server
journalctl -u isc-dhcp-server -n 30
sudo tcpdump -i enp3s0 port 67 or port 68 # 看有没有机器来申请
常见坑
| 现象 | 原因 |
|---|---|
| 服务正常但客户端拿不到地址 | 没在 INTERFACES 写对网卡名 |
| 拿得到租约但 ping 不通网关 | 租约池网段与路由/网关不一致 |
| 外网设备抢租约 | 池子范围覆盖了不该发的段,或与其他 DHCP 重叠 |
Ubuntu 服务器最小安装通常没预装它,用 服务器版条目 装机时勾选额外软件或装完再
apt install;Debian 侧部署方法相同(对照 Debian 索引页)。索引信息见 Ubuntu 索引页。