温馨提示×

ubuntu dhcp怎么释放租约

小樊
37
2026-09-28 07:04:45
栏目: 智能运维

在 Ubuntu 上“释放 DHCP 租约”通常分 客户端(你的 Ubuntu 作 DHCP 客户端) 和 服务器(Ubuntu 作 DHCP 服务器) 两种情况。下面分别说明。


一、Ubuntu 作为 DHCP 客户端(最常见)

1️⃣ 使用 dhclient(传统方式)

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

释放后通常会发送 DHCPRELEASE 给服务器。


2️⃣ 使用 Netplan + systemd-networkd

如果是 server 版 Ubuntu(18.04+):

sudo networkctl down eth0
sudo networkctl up eth0

或:

sudo netplan apply

这会重新触发 DHCP 请求,但不是严格“release”


3️⃣ 使用 NetworkManager(桌面版常见)

nmcli con down <连接名>
nmcli con up <连接名>

查看连接名:

nmcli con show

4️⃣ 手动删除租约文件(最后手段)

sudo rm /var/lib/dhcp/dhclient*.leases

然后重启网络或重获 IP。


二、Ubuntu 作为 DHCP 服务器(isc-dhcp-server)

1️⃣ 查看当前租约

cat /var/lib/dhcp/dhcpd.leases

2️⃣ 释放某个租约(手动)

DHCP 服务器 不能主动“释放”客户端租约,只能:

  • 等租约到期
  • 或手动编辑租约文件(不推荐)

强制清除所有租约(测试环境)

sudo systemctl stop isc-dhcp-server
sudo rm /var/lib/dhcp/dhcpd.leases
sudo touch /var/lib/dhcp/dhcpd.leases
sudo systemctl start isc-dhcp-server

三、常见场景建议

场景 推荐做法
换 IP dhclient -r && dhclient
网络异常 nmcli con down/up
服务器清租约 删 leases 文件
生产环境 不要手动删租约

如果你能告诉我:

  • Ubuntu 版本
  • 桌面版 / 服务器版
  • 是客户端还是服务器

我可以给你更精确的一条命令 ✅

0 踩