温馨提示×

怎样设置Ubuntu的DHCP租约时间

小樊
42
2025-10-09 20:22:32
栏目: 智能运维

Ubuntu中设置DHCP租约时间的方法

Ubuntu系统中,DHCP租约时间的设置需根据角色不同(客户端/服务器)区分操作:客户端用于调整从服务器获取IP的租约参数,服务器用于定义分配给客户端的租约规则。

一、Ubuntu作为DHCP客户端:设置租约时间

客户端需通过修改网络配置文件或使用命令行工具,调整从DHCP服务器获取IP的租约时间(需服务器支持)。

1. 传统网络配置(/etc/network/interfaces)

适用于使用传统ifupdown工具的Ubuntu版本(如18.04及更早),步骤如下:

  • 打开网络接口配置文件:
    sudo nano /etc/network/interfaces
    
  • 找到目标网络接口(如eth0)的DHCP配置行,在下方添加dhcp-lease-time参数(单位:秒),例如设置租约时间为1小时(3600秒):
    auto eth0
    iface eth0 inet dhcp
        dhcp-lease-time 3600
    
  • 保存文件并重启网络服务:
    sudo systemctl restart networking
    
2. Netplan配置(推荐,适用于18.04及以上)

现代Ubuntu版本(如20.04、22.04、24.04)默认使用Netplan管理网络,步骤如下:

  • 打开Netplan配置文件(位于/etc/netplan/目录,文件名如01-netcfg.yaml):
    sudo nano /etc/netplan/01-netcfg.yaml
    
  • 在对应网络接口(如eth0)的dhcp4配置下,添加dhcp4-overrides部分,设置lease-time参数(单位:秒),例如设置租约时间为24小时(86400秒):
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: yes
          dhcp4-overrides:
            lease-time: 86400
    
  • 保存文件并应用配置:
    sudo netplan apply
    
3. 临时设置(仅当前会话有效)

若需临时修改租约时间(重启后失效),可使用dhclient命令:

  • 释放当前IP租约:
    sudo dhclient -r eth0
    
  • 请求新的租约并指定时间(如3600秒):
    sudo dhclient -t 3600 eth0
    

二、Ubuntu作为DHCP服务器:设置租约时间

若Ubuntu系统充当DHCP服务器(需安装isc-dhcp-server包),需通过修改服务器配置文件定义租约规则。

1. 安装ISC DHCP服务器

若未安装,执行以下命令安装:

sudo apt update
sudo apt install isc-dhcp-server
2. 配置租约时间
  • 打开DHCP配置文件:
    sudo nano /etc/dhcp/dhcpd.conf
    
  • subnet块内添加default-lease-time(默认租约时间)和max-lease-time(最大租约时间)参数(单位:秒),例如设置默认租约10分钟(600秒)、最大租约2小时(7200秒):
    subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.100;          # 可分配IP范围
        option routers 192.168.1.1;                # 默认网关
        option subnet-mask 255.255.255.0;          # 子网掩码
        option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器
        default-lease-time 600;                    # 默认租约时间(10分钟)
        max-lease-time 7200;                       # 最大租约时间(2小时)
    }
    

    注:default-lease-time为服务器分配给客户端的初始租约时间,max-lease-time为客户端可申请的最长租约时间(若客户端请求更长,服务器将拒绝)。

3. 指定监听接口

编辑/etc/default/isc-dhcp-server文件,设置DHCP服务器监听的网络接口(如eth0):

INTERFACESv4="eth0"
4. 重启DHCP服务器

保存配置后,重启服务使更改生效:

sudo systemctl restart isc-dhcp-server

注意事项

  • 客户端设置需确保网络接口使用DHCP(dhcp4: yesiface eth0 inet dhcp),静态IP无法应用租约时间。
  • 服务器设置需根据网络环境调整range(IP池范围),避免IP冲突。
  • 修改配置文件前建议备份(如cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak),防止语法错误导致网络中断。
  • 使用sudo systemctl status isc-dhcp-server(服务器)或ip addr show eth0(客户端)验证配置是否生效。

0