插件窝 干货文章 Linux DHCP租约时间如何设置

Linux DHCP租约时间如何设置

租约 DHCP 时间 配置 624    来源:    2025-05-06

在Linux系统中设置DHCP租约时间主要涉及修改DHCP服务器配置文件(如ISC DHCP Server或dnsmasq)。以下是两种常见DHCP服务的配置方法:


一、ISC DHCP Server (dhcpd) 配置

适用场景:企业网络或需要完整DHCP功能的环境
配置文件路径/etc/dhcp/dhcpd.conf(路径可能因发行版不同)

  1. 修改租约时间参数

    sudo nano /etc/dhcp/dhcpd.conf
    

    在配置文件中找到或添加以下参数:

    default-lease-time 3600;     # 默认租约时间(秒),此处为1小时
    max-lease-time 7200;         # 最大允许租约时间(秒),此处为2小时
    
  2. 示例子网配置

    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;
     max-lease-time 7200;
    }
    
  3. 重启服务生效

    sudo systemctl restart isc-dhcp-server  # Debian/Ubuntu
    sudo systemctl restart dhcpd            # RHEL/CentOS
    

二、dnsmasq 配置

适用场景:小型网络或家用路由器
配置文件路径/etc/dnsmasq.conf

  1. 修改租约时间

    sudo nano /etc/dnsmasq.conf
    

    添加或修改以下参数:

    dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h  # 租约时间设为12小时
    
    • 格式说明:dhcp-range=<起始IP>,<结束IP>,<子网掩码>,<租约时间>
  2. 重启服务生效

    sudo systemctl restart dnsmasq
    

三、验证租约信息

  1. 查看当前租约

    • ISC DHCPbash cat /var/lib/dhcp/dhcpd.leases
    • dnsmasqbash cat /var/lib/misc/dnsmasq.leases
  2. 客户端强制更新租约

    sudo dhclient -r eth0  # 释放旧租约
    sudo dhclient eth0     # 获取新租约
    

四、注意事项

  1. 时间单位:租约时间以秒为单位(如3600=1小时),部分服务(如dnsmasq)支持h(小时)、m(分钟)后缀。
  2. 租约过期影响:客户端会在租约过半时尝试续订,若服务器不可达,客户端会继续使用IP直到租约到期。
  3. 永久生效:修改配置后必须重启服务,且需确保服务开机自启(sudo systemctl enable dhcpd)。

根据实际需求选择合适的DHCP服务,并调整租约时间平衡网络负载和IP分配灵活性。短租约适合动态环境(如公共Wi-Fi),长租约适合稳定网络(如企业内网)。