在 Linux 中,dhclient 本身不会自动释放 IP,需要手动操作。常见做法如下:
sudo dhclient -r eth0
-r:release,向 DHCP 服务器发送释放请求eth0 换成你的网卡名(如 ens33、enp0s3)sudo dhclient -r
sudo dhclient eth0
或:
sudo dhclient -r eth0 && sudo dhclient eth0
如果 dhclient -r 不生效,可手动删除租约:
sudo rm -f /var/lib/dhcp/dhclient.leases
sudo rm -f /var/lib/dhcp/dhclient-eth0.leases
然后重启网络:
sudo systemctl restart networking
# 或
sudo ifdown eth0 && sudo ifup eth0
sudo ip addr flush dev eth0
⚠️ 这只是清空本地 IP,DHCP 服务器仍认为你持有租约。
如果系统用的是 NetworkManager:
sudo nmcli con down uuid <连接UUID>
sudo nmcli con up uuid <连接UUID>
或:
sudo nmcli device disconnect eth0
sudo nmcli device connect eth0
ip addr show eth0
无 IP 或只剩 169.254.x.x(APIPA)即表示已释放。
如果你能告诉我:
我可以给你更精确的方法。