在 Linux 下查看 DHCP 租约(lease) 取决于你用的是 DHCP 客户端 还是 DHCP 服务器,下面分别说明。
dhclient(最常见)如果你使用的是 isc-dhcp-client:
cat /var/lib/dhcp/dhclient.leases
或(某些发行版):
cat /var/lib/dhcp/dhclient-*.leases
示例内容:
lease {
interface "eth0";
fixed-address 192.168.1.100;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option dhcp-lease-time 3600;
option dhcp-renewal-time 1800;
}
NetworkManagernmcli con show <连接名> | grep -i dhcp
或查看租约文件(通常仍走 dhclient):
ls /var/lib/NetworkManager/
cat /var/lib/NetworkManager/dhclient-*.lease
systemd-networkdcat /run/systemd/netif/leases/*
ip addr
journalctl -u NetworkManager
cat /var/lib/dhcp/dhcpd.leases
或:
less /var/lib/dhcp/dhcpd.leases
示例:
lease 192.168.1.100 {
starts 1 2026/01/20 10:00:00;
ends 1 2026/01/20 11:00:00;
binding state active;
hardware ethernet 00:11:22:33:44:55;
}
若服务名不是
dhcpd,可能是isc-dhcp-server
dnsmasq 默认不写详细租约文件,但可以指定:
cat /var/lib/misc/dnsmasq.leases
或(取决于配置):
cat /var/run/dnsmasq.leases
配置文件示例:
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
cat /var/lib/kea/kea-leases4.csv
ps aux | grep -E 'dhcpd|dnsmasq|dhclient|systemd-networkd'
| 场景 | 命令 |
|---|---|
| 本机 DHCP 租约 | cat /var/lib/dhcp/dhclient.leases |
| NetworkManager | /var/lib/NetworkManager/dhclient-*.lease |
| systemd-networkd | cat /run/systemd/netif/leases/* |
| DHCP 服务器 | cat /var/lib/dhcp/dhcpd.leases |
| dnsmasq | cat /var/lib/misc/dnsmasq.leases |
如果你能告诉我 发行版(Ubuntu/CentOS/Debian) 和 用途(客户端 or 服务器),我可以给你更精确的命令。