温馨提示×

ubuntu dhcp如何监控

小樊
44
2026-10-10 00:25:49
栏目: 智能运维

在 Ubuntu 上监控 DHCP(通常是 ISC DHCP Server 或 dnsmasq / systemd-networkd),可以从服务状态、日志、租约文件、实时抓包几个层面来做。下面按常见场景说明。


一、确认你用的是哪种 DHCP 服务

systemctl status isc-dhcp-server
systemctl status dnsmasq
systemctl status systemd-networkd

常见组合:

  • 服务器:ISC DHCP(isc-dhcp-server)
  • 路由器/轻量:dnsmasq
  • 桌面/容器:systemd-networkd

二、查看 DHCP 服务状态

systemctl status isc-dhcp-server
journalctl -u isc-dhcp-server -f

-f 表示实时跟踪日志。


三、查看 DHCP 日志(最重要)

1. ISC DHCP Server

默认日志在 syslog:

tail -f /var/log/syslog | grep dhcpd

或:

journalctl -u isc-dhcp-server -f

常见日志示例:

DHCPDISCOVER from 00:11:22:33:44:55
DHCPOFFER on 192.168.1.100
DHCPREQUEST for 192.168.1.100
DHCPACK on 192.168.1.100

2. dnsmasq

journalctl -u dnsmasq -f

或:

tail -f /var/log/syslog | grep dnsmasq

四、查看 DHCP 租约(Lease)情况

ISC DHCP

cat /var/lib/dhcp/dhcpd.leases

实时查看:

watch cat /var/lib/dhcp/dhcpd.leases

dnsmasq

cat /var/lib/misc/dnsmasq.leases

五、实时监控 DHCP 请求(抓包)

这是最直接、最可靠的监控方式。

sudo tcpdump -i eth0 port 67 or port 68 -e -n

或只看 DHCP 事件:

sudo tcpdump -i eth0 udp port 67 -v

常见字段:

  • DHCP Discover
  • DHCP Offer
  • DHCP Request
  • DHCP ACK

六、开启更详细 DHCP 日志(ISC)

编辑:

sudo nano /etc/dhcp/dhcpd.conf

增加:

log-facility local7;

然后:

sudo nano /etc/rsyslog.conf

添加:

local7.* /var/log/dhcpd.log

重启:

sudo systemctl restart rsyslog
sudo systemctl restart isc-dhcp-server

之后:

tail -f /var/log/dhcpd.log

七、简单监控脚本示例(告警)

#!/bin/bash
while true; do
  tail -n 10 /var/log/dhcpd.log
  sleep 5
done

或检测异常:

grep "DHCPNAK" /var/log/dhcpd.log

八、可视化 / 高级监控(可选)

  • Prometheus + node_exporter(仅系统级)
  • Graylog / ELK(集中 DHCP 日志)
  • Zabbix(监控 DHCP 服务存活)

如果你能告诉我:

  • Ubuntu 版本
  • 用的是 isc-dhcp-server / dnsmasq / systemd
  • 想监控 租约 / 异常 / 流量

我可以直接给你一套可复制的配置方案。

0 踩