如何使用Ubuntu Server从DHCP服务器请求新的IP地址?


26

我知道有一个简单的命令,但是如何告诉我的Ubuntu服务器实例从eth0上的DHCP服务器请求新的IP地址?


+1表示是热虐待(w / pic!),哈哈。
尼德姆

Answers:



34

释放当前IP地址:

$ sudo dhclient -r

要获得新的租赁:

$ sudo dhclient 

3
OP可能希望在屏幕上运行此命令,然后实际执行“ sudo dhclient -r <接口> && sudo dhclient <接口>”,否则可能会失去连接,因此他需要上门恢复网络链接。也就是说,如果没有安装带外管理。
serverhorror

有趣的是,为什么要进行发布,而不仅仅是获得sudo dhclient eth0?谢谢!
Heat Miser

4
如果服务器不反对,则仅重启dhclient通常会重新分配相同的IP地址。如果您先释放该地址,则服务器和客户端知道要重新协商一个新地址(尽管它可能与您拥有的地址相同)。
马丁·海默斯

13

我遇到的另一个问题是dhclient不断从DHCP服务器请求相同的IP。运行命令dhclient -r不能解决此问题。因此,在man pages更详尽地阅读之后,我发现如果编辑文件/var/lib/dhcp3/dhclient.leases以删除对特定适配器的所有租约引用,就我而言eth0。然后sudo dhclient eth0按预期方式运行,并为我分配了新的/不同的IP。

我的情况也许是独一无二的,但是它要求我的服务器从一个比以前发出的范围更大的地址中拉出一个地址。DHCP服务器已配置为执行此操作,除非请求特定的IP地址,而不管其范围如何。由于dhclient是专门请求旧的IP地址,因此基于dhclient.leases文件中的信息,DHCP服务器始终返回相同的地址。


同意:我曾经不得不再次提醒自己的情况是,您的系统正在获得随机IP地址,但是您要为其分配一个新的(不同的)静态租用IP地址(由MAC分配)。问题是,如果您的DHCP客户端在dhclient.leases中仍然具有有效的租约,它实际上并不会向服务器询问新的IP地址:它只是重用它认为仍然有效的租约。因此dhclient -r实际上什么也没做。首先删除租赁文件,然后删除dhclient -r,一切正常。
liamf 2011年

-2

当您运行“ sudo /etc/init.d/dhcp3-server restart”时,它会显示以下内容:

停止DHCP服务器:dhcpd3。启动DHCP服务器:dhcpd3。

如果没有,它就没有运行...

然后只需确定,请检查您的客户端是否发出了租赁请求,请查看您的/var/logs/deamon.log文件。那里应该有一堆DHCP请求。如果没有,那么问题出在您的客户身上(我们将在那里解决)。

如果您的客户还可以,请暂时忘记firestarter,让我们尝试在没有它的情况下正常工作。确保您的DHCP服务器已启动并正在运行。键入“ sudo /etc/init.d/dhcp3-server stop”,然后键入“ sudo /etc/init.d/dhcp3-server start”。假设它已正确安装在您的盒子中,然后它应该正在运行。

我包括了dhcpd.conf文件的副本。

最后,查看服务器的/ var / log / messages文件,如果该文件获得了请求并以有效的租约进行了回复。它还可能使您知道配置文件出了什么问题(当然,如果它有问题)。如果您对此无能为力,请发布您的邮件文件,稍后我会看一下。

祝好运

拉贾特


2
他说的是DHCP客户端,而不是服务器。
mikl
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.