温馨提示×

linux dhcp如何查租约

小樊
40
2026-09-06 20:44:10
栏目: 智能运维

在 Linux 下查看 DHCP 租约(lease) 取决于你用的是 DHCP 客户端 还是 DHCP 服务器,下面分别说明。


一、查看本机作为 DHCP 客户端获取的租约

1. 使用 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;
}

2. 使用 NetworkManager

nmcli con show <连接名> | grep -i dhcp

或查看租约文件(通常仍走 dhclient):

ls /var/lib/NetworkManager/
cat /var/lib/NetworkManager/dhclient-*.lease

3. 使用 systemd-networkd

cat /run/systemd/netif/leases/*

4. 查看当前 IP 和租约信息(辅助命令)

ip addr
journalctl -u NetworkManager

二、查看 DHCP 服务器上的租约(你搭了 DHCP Server)

1. ISC DHCP Server(最常见的 DHCP 服务)

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

2. dnsmasq(轻量级 DHCP)

dnsmasq 默认不写详细租约文件,但可以指定:

cat /var/lib/misc/dnsmasq.leases

或(取决于配置):

cat /var/run/dnsmasq.leases

配置文件示例:

dhcp-leasefile=/var/lib/misc/dnsmasq.leases

3. Kea DHCP(新版 ISC DHCP 替代)

cat /var/lib/kea/kea-leases4.csv

三、快速判断你用的是哪种 DHCP

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 服务器),我可以给你更精确的命令。

0