在 Debian 系统中,DHCP 服务通常由 ISC DHCP Server (isc-dhcp-server) 提供。要开启或查看 DHCP 日志,可以通过以下步骤进行配置。
先确认你使用的是哪种 DHCP 服务:
ps aux | grep dhcp
常见的是:
isc-dhcp-server(最常见)dnsmasq(轻量级,常用于桌面或路由器)sudo nano /etc/dhcp/dhcpd.conf
在文件末尾或合适位置添加日志配置:
# 开启 DHCP 日志
logging {
# 日志级别(可选)
log-facility local7;
}
你也可以直接指定日志级别(可选):
log-facility local7;
编辑 rsyslog 配置:
sudo nano /etc/rsyslog.conf
取消注释或添加以下内容(UDP 514):
module(load="imudp")
input(type="imudp" port="514")
然后添加 DHCP 日志规则:
sudo nano /etc/rsyslog.d/dhcp.conf
内容如下:
local7.* /var/log/dhcp.log
sudo touch /var/log/dhcp.log
sudo chown root:adm /var/log/dhcp.log
sudo chmod 640 /var/log/dhcp.log
sudo systemctl restart rsyslog
sudo systemctl restart isc-dhcp-server
tail -f /var/log/dhcp.log
或:
journalctl -u isc-dhcp-server -f
journalctl -u isc-dhcp-server
实时查看:
journalctl -u isc-dhcp-server -f
grep dhcp /var/log/syslog
或实时查看:
tail -f /var/log/syslog | grep dhcp
如果你使用的是 dnsmasq,日志配置如下:
sudo nano /etc/dnsmasq.conf
添加:
log-queries
log-dhcp
log-facility=/var/log/dnsmasq.log
然后:
sudo systemctl restart dnsmasq
查看日志:
tail -f /var/log/dnsmasq.log
isc-dhcp-server 是否正在运行:systemctl status isc-dhcp-server
/etc/default/isc-dhcp-server)可以限制日志级别(ISC DHCP 支持有限,主要靠 rsyslog 过滤)
dhcpd.conf
log-facility local7;
rsyslog
local7.* /var/log/dhcp.log
如果你愿意,可以告诉我:
isc-dhcp-server 还是 dnsmasq我可以给你一份完全针对你环境的配置示例。