在 Debian 系统中,DHCP 服务器通常通过 ISC DHCP Server(isc-dhcp-server) 来实现地址分配。下面从 安装 → 配置 → 分配流程 → 验证 几个方面说明 Debian 是如何分配 IP 地址的。
一、Debian 上安装 DHCP 服务器
sudo apt update
sudo apt install isc-dhcp-server
安装完成后,服务名称为:
isc-dhcp-server
二、基本网络配置
1️⃣ 指定 DHCP 监听的网卡
编辑:
sudo nano /etc/default/isc-dhcp-server
示例:
INTERFACESv4="eth0"
如果是 IPv6,则配置
INTERFACESv6
三、DHCP 配置文件(核心)
DHCP 的所有地址分配规则都在:
/etc/dhcp/dhcpd.conf
1️⃣ 最简单的 DHCP 配置示例
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 domain-name-servers 8.8.8.8, 114.114.114.114;
option domain-name "example.local";
}
含义说明
| 配置项 | 说明 |
|---|---|
subnet |
定义网络段 |
range |
可分配的 IP 地址池 |
routers |
默认网关 |
domain-name-servers |
DNS |
default-lease-time |
默认租期(秒) |
max-lease-time |
最大租期 |
四、DHCP 分配地址的工作流程(DORA)
Debian DHCP 服务器遵循标准 DHCP 协议:
客户端 DHCP 服务器
| DHCP DISCOVER --> |
| |
| <-- DHCP ACK |
- DISCOVER:客户端广播寻找 DHCP 服务器
- OFFER:服务器提供 IP
- REQUEST:客户端确认选择
- ACK:服务器确认分配
五、固定 IP(根据 MAC 分配固定地址)
host server1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.10.50;
}
✅ 该 MAC 地址将始终获得 192.168.10.50
六、启动和验证 DHCP 服务
启动 / 重启
sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server
查看状态
sudo systemctl status isc-dhcp-server
七、查看已分配的 IP 地址
cat /var/lib/dhcp/dhcpd.leases
示例:
lease 192.168.10.101 {
starts 3 2025/01/15 12:00:00;
ends 3 2025/01/15 12:10:00;
hardware ethernet 52:54:00:xx:xx:xx;
}
八、常见问题排查
1️⃣ DHCP 不工作
sudo journalctl -u isc-dhcp-server
2️⃣ 网卡未启动
ip a
确认 DHCP 网卡有 IP 且在同一网段。
九、总结一句话
Debian 使用
isc-dhcp-server,通过dhcpd.conf定义子网和地址池,基于 DHCP 协议为客户端动态或固定分配 IP 地址。
如果你需要:
- ✅ 多子网 DHCP
- ✅ DHCP 中继(relay)
- ✅ IPv6 DHCP(DHCPv6)
- ✅ 与 DNS / 防火墙联动
可以继续问我,我可以给你完整配置示例。
