Ubuntu系统中,DHCP租约时间的设置需根据角色不同(客户端/服务器)区分操作:客户端用于调整从服务器获取IP的租约参数,服务器用于定义分配给客户端的租约规则。
客户端需通过修改网络配置文件或使用命令行工具,调整从DHCP服务器获取IP的租约时间(需服务器支持)。
适用于使用传统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
现代Ubuntu版本(如20.04、22.04、24.04)默认使用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
若需临时修改租约时间(重启后失效),可使用dhclient命令:
sudo dhclient -r eth0
sudo dhclient -t 3600 eth0
若Ubuntu系统充当DHCP服务器(需安装isc-dhcp-server包),需通过修改服务器配置文件定义租约规则。
若未安装,执行以下命令安装:
sudo apt update
sudo apt install isc-dhcp-server
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为客户端可申请的最长租约时间(若客户端请求更长,服务器将拒绝)。
编辑/etc/default/isc-dhcp-server文件,设置DHCP服务器监听的网络接口(如eth0):
INTERFACESv4="eth0"
保存配置后,重启服务使更改生效:
sudo systemctl restart isc-dhcp-server
dhcp4: yes或iface 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(客户端)验证配置是否生效。