测试 Debian 上的 DHCP 服务 可以从 服务端 和 客户端 两个角度进行。下面按常见场景一步步说明。
Debian 常用 DHCP 服务为 ISC DHCP Server(isc-dhcp-server)。
dpkg -l | grep isc-dhcp-server
未安装则安装:
sudo apt update
sudo apt install isc-dhcp-server
sudo systemctl status isc-dhcp-server
正常应看到 active (running)。
启动 / 重启 / 开机自启:
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
主配置文件:
sudo nano /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 8.8.8.8;
}
检查监听网卡:
sudo nano /etc/default/isc-dhcp-server
例如:
INTERFACESv4="eth0"
sudo dhcpd -t
无输出通常表示配置正确。
dhclient在客户端机器执行:
sudo dhclient -v eth0
参数说明:
-v:显示详细过程eth0:网卡名(用 ip a 查看)如果成功,你会看到类似:
DHCPDISCOVER on eth0
DHCPOFFER from 192.168.1.1
DHCPREQUEST on eth0
DHCPACK from 192.168.1.1
bound to 192.168.1.101
sudo ifdown eth0 && sudo ifup eth0
在 DHCP 服务器上查看:
sudo cat /var/lib/dhcp/dhcpd.leases
你应能看到类似:
lease 192.168.1.101 {
starts 1 2026/01/01 10:00:00;
ends 1 2026/01/01 11:00:00;
hardware ethernet 52:54:00:xx:xx:xx;
}
在 DHCP 服务器上:
sudo tcpdump -i eth0 port 67 or port 68
客户端执行:
sudo dhclient eth0
应能看到:
检查:
sudo ufw status
允许 DHCP:
sudo ufw allow from any to any port 67 proto udp
sudo ufw allow from any to any port 68 proto udp
确认监听接口:
INTERFACESv4="eth0"
sudo journalctl -u isc-dhcp-server
或:
sudo tail -f /var/log/syslog | grep dhcp
安装 isc-dhcp-server
↓
配置 /etc/dhcp/dhcpd.conf
↓
指定监听网卡
↓
启动 isc-dhcp-server
↓
客户端执行 dhclient
↓
查看租约 / 抓包确认
如果你愿意,可以告诉我:
我可以给你更精确的测试方案。