如何续订DHCP租约?


56

没有重新启动,如何释放和续订DHCP租约?了解GUI和终端方法将很有用。

我特别想知道是否有一种无需管理员特权即可执行此操作的方法。

Answers:


18

在系统任务栏中的网络下拉选择器中,您可以按已连接的网络,这将使网络管理员要求从DHCP服务器获得新的租约。

替代文字

(这也适用于有线网络,但我认为它不适用于PPP连接(移动宽带))


47

要在终端续订dhcp租约:

sudo dhclient -r; sudo dhclient

10
我认为这sudo service networking restart是一个更好的方法。在dhclient3的11.10机器上,您的建议对我不起作用。相反,我最终运行了两个 DHCP客户端:一个dhclient3和一个dhclient。参见ubuntuforums.org/showthread.php?t=1868368
Adam Monsen,

@AdamMonsen重新启动网络服务是否真的可以与NetworkManager一起使用?
rakslice 2012年

1
@AdamMonsen重新启动网络似乎无法为我续订dhcp租约
dogmatic69

sudo service network-manager restart在Ubuntu 13.10 64位桌面中,似乎可以正确地重新启动网络内容并续订我的DCHP租约。(摘自askubuntu.com/a/230751/2273)–
亚当·蒙森

4
对于调试有用的知识:在Ubuntu 14.04上,它sudo service network-manager restart并未完全从DHCP续订IP租约。它只是发送DHCP Request数据包而不是Discover。如果只想续订租约就足够了,但是如果要调试DHCP,则要使用原始解决方案。
盖洛斯2014年

31

就我而言,我必须指定要续订的卡:

首先发布当前的IP地址:

sudo dhclient -r eth0

然后更新IP地址

sudo dhclient eth0

3
如果您有多个接口,这是正确的答案。
Tek

更好:用sudo dhclient -r enp7s0 && sudo dhclient enp7s0
AND-

请编辑此答案以将它们组合在一起,我刚刚被拉开了遥控器的大门,尝试分别进行操作。
格雷厄姆·罗素

8

Maverick带有nmcli,它是网络管理器的命令行界面。

我看不到告诉它续约的简单方法,但是运行:

nmcli con

获取连接列表,并运行:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'

断开并恢复连接。可能可以对设备执行类似的操作。

连接列表似乎包括所有连接,因此这也可能适用于PPTP和VPN连接。


1
我的DHCP服务器仍在此处显示租约...(我正试图强制发布以使静态分配生效)
Gert van den Berg

8

这适用于Ubuntu 12.04 LTS:

sudo service network-manager restart

当我这样做时,网络管理器会要求新的DHCP租约。

我宁愿手动启动(重新启动),dhclient因为过时的dhclient进程(不是由Network Manager管理的)会过时地遇到问题,并且在最不方便的时候随机地错误地重新配置了网络设置。


1
在Ubuntu 16.04上仍然相关。dhclient -r否则,如果没有成功退出代码,则无提示地执行任何操作。:-(
studog

在18.04上运行良好!
Roel Van de Paar

3

如果您使用的是systemd不带GUI的Ubuntu版本(即服务器版本),则这是续订DHCP租约的方法:

sudo systemctl restart systemd-networkd

注意:如果通过要续租DHCP的接口连接,除非通过静态配置的接口或控制台进行连接,否则可能会断开连接。


我正在通过dhcpdump在其他终端上收听进行测试。似乎并没有奏效,只有dhclient方法。
Pablo

1

刚升级到Maverick Meerkat Beta 1之后,我尚未调试的标准eth0配置出现了问题。快速而肮脏的解决方法是

sudo dhclient

它注意到已经有一个(可能已经死了)客户,并获得了新的租约:

There is already a pid file /var/run/dhclient.pid with pid 2436
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Listening on LPF/eth0/00:1a:92:24:9c:85
Sending on   LPF/eth0/00:1a:92:24:9c:85
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.2 from 192.168.2.1
bound to 192.168.2.2 -- renewal in 118389830 seconds.

这不是解决办法,只是破解。当我发现发生了什么问题时,我会进行跟进。


1

nmcli我相信,缺少通过的特定功能,最好的CLI解决方案是释放并杀死由NetworkManager管理的dhclient实例,而不是启动一个新实例。然后,NM将自动将其重新备份,而不必重新启动整个NM基础架构。

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v -使冗长
  • -r -释放并关闭
  • -pf -NM实例的pid文件
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.