it-swarm.cn

如何续订DHCP租约?

如果没有重新启动,我如何发布和续订我的DHCP租约?了解GUI和终端方法会很有用。

我特别想知道是否有办法在不需要管理员权限的情况下执行此操作。

54
ændrük

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

alt text

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

18
LassePoulsen

要在终端续订dhcp租约:

Sudo dhclient -r; Sudo dhclient
45
Sebastian Thürrschmidt

在我的情况下,我必须指定续订哪张卡:

首先发布当前的IP地址:

Sudo dhclient -r eth0

然后续订IP地址

Sudo dhclient eth0
31
Daniel Mora

这适用于Ubuntu 12.04 LTS:

Sudo service network-manager restart

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

我更喜欢这个手动(重新)启动dhclient,因为我遇到了过时的dhclient进程(不受网络管理器管理的进程)的问题,这是自发的,并且在最不方便的时候错误地在随机点重新配置我的网络设置。

8
Marius Gedminas

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

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

nmcli con

获取连接列表,并运行:

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

断开连接并备份。也许可以用设备做类似的事情。

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

8
Matt

如果您使用的是基于systemd的Ubuntu版本而没有GUI(即服务器版本),那么这是续订DHCP租约的方法:

Sudo systemctl restart systemd-networkd

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

2
Pierz

通过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文件
1
Niklas Holm

刚刚升级到Maverick Meerkat Beta 1,我的标准Vanilla 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
msw

@MariusGedminas
不是最好的解决方案,因为没有DHCP版本,只有续订。这意味着你有可能仍然拥有旧的IP(如果有的话)以及新的IP。
恕我直言, dhclient -r && dhclient 命令是最简单的,并且在大多数基于Debian的操作系统上都是最好的。
将'-v'添加到命令中以使其更详细...

1
Tijl Deneut