插件窝 干货文章 Linux DHCP租约时间怎么设置

Linux DHCP租约时间怎么设置

租约 DHCP 时间 621    来源:    2025-05-08

在 Linux 系统中设置 DHCP 租约时间主要取决于你使用的 DHCP 服务器软件(如 isc-dhcp-serverdnsmasq)。以下是两种常见 DHCP 服务的配置方法:


1. 使用 ISC DHCP Server (dhcpd)

适用场景:企业网络或需要复杂配置的环境。
配置文件路径/etc/dhcp/dhcpd.conf

设置租约时间参数

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option domain-name-servers 8.8.8.8;

    # 设置默认租约时间(秒)
    default-lease-time 3600;    # 1小时(默认值)

    # 设置最大租约时间(秒)
    max-lease-time 86400;       # 24小时
}

关键参数: - default-lease-time:客户端未请求特定租期时的默认时长。 - max-lease-time:客户端可请求的最大租期时长。

重启服务生效

sudo systemctl restart isc-dhcp-server

2. 使用 dnsmasq(轻量级方案)

适用场景:家庭或小型网络,集成 DNS 和 DHCP 功能。
配置文件路径/etc/dnsmasq.conf

设置租约时间

# 指定IP范围和租约时间(格式:小时数)
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,24h  # 租约24小时

# 或精确到分钟/秒
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,1h30m

重启服务生效

sudo systemctl restart dnsmasq

3. 客户端租约文件位置

  • DHCP 客户端租约信息通常保存在:
    bash /var/lib/dhcp/dhclient.leases # 大多数Linux发行版
    bash /var/lib/NetworkManager/dhclient-*.lease # 使用NetworkManager时

注意事项

  1. 时间单位
    • ISC DHCP 使用,dnsmasq 支持 h(小时)、m(分钟)、s(秒)。
  2. 租约更新:客户端会在租期过半时尝试续约(如 12 小时租约会在 6 小时后续订)。
  3. 永久租约

    • ISC DHCP:max-lease-time infinite;
    • dnsmasq:dhcp-range=...,infinite
  4. 调试命令

    sudo journalctl -u isc-dhcp-server -f  # 查看DHCP服务器日志
    sudo dhcp-lease-list                 # 查看已分配的租约(需安装)
    

根据你的网络规模和需求选择合适的 DHCP 服务,并调整租约时间以平衡 IP 地址复用和网络流量开销(短租约适合动态环境,长租约减少续约流量)。