Linux DHCP服务器日志检查指南
一 确认DHCP服务类型
sudo systemctl status dhcpd 或 sudo systemctl status kea 或 sudo systemctl status dnsmasqps -ef | egrep 'dhcpd|kea|dnsmasq'二 查看日志的常用方法
sudo journalctl -u dhcpd.service -fsudo journalctl -u kea.service -fsudo journalctl -u dnsmasq.service -fsudo journalctl -u dhcpd.service --since "2025-04-01" --until "2025-04-30"sudo tail -f /var/log/syslog | grep dhcp 或 sudo grep dhcp /var/log/messagessudo tail -f /var/log/dhcpd.logsudo tail -f /var/log/dnsmasq.log/var/lib/dhcp/dhcpd.leases(查看已分配/历史租约)三 按服务器软件快速定位
| 软件 | 常用服务名 | 常见日志路径 | 常用查看命令 |
|---|---|---|---|
| ISC DHCP | dhcpd(Debian/Ubuntu 可能为 isc-dhcp-server) | /var/log/syslog、/var/log/dhcpd.log | sudo journalctl -u dhcpd -f;`sudo tail -f /var/log/syslog |
| Kea | kea | /var/log/kea/kea.log | sudo journalctl -u kea -f;sudo tail -f /var/log/kea/kea.log |
| dnsmasq | dnsmasq | /var/log/dnsmasq.log、/var/log/syslog | sudo journalctl -u dnsmasq -f;`sudo tail -f /var/log/syslog |
| 说明:日志路径与输出方式会因发行版与配置而异,上表列出常见默认位置与命令。 |
四 日志排查实用命令
sudo tail -f /var/log/syslog | egrep --color=auto 'dhcpd|DHCPDISCOVER|DHCPOFFER|DHCPREQUEST|DHCPACK'sudo journalctl -u dhcpd --since "2025-11-14 09:00:00" --until "2025-11-14 18:00:00"sudo less /var/log/syslog(进入后可用 /dhcp 搜索)sudo grep -i "aa:bb:cc:dd:ee:ff" /var/log/syslog | grep dhcp | wc -lcat /var/lib/dhcp/dhcpd.leases | grep -i "aa:bb:cc:dd:ee:ff"(将 MAC 替换为实际值)五 日志未输出或位置不正确的排查
sudo systemctl status dhcpd(或 kea、dnsmasq);若未运行,先启动并设为开机自启。log-facility 指定日志设施,或配置 logging { file "/var/log/dhcpd.log"; level info; }; 并确保日志目录可写。log-dhcp 与 log-facility=/var/log/dnsmasq.log,并确保目录与文件权限正确。local7 或 daemon 正确映射)。sudo systemctl restart dhcpd && sudo journalctl -u dhcpd -f。