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

Hea*_*ser 35 dhcp ubuntu

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

Luk*_*keR 38

释放当前 IP 地址:

$ sudo dhclient -r
Run Code Online (Sandbox Code Playgroud)

要获得新的租约:

$ sudo dhclient 
Run Code Online (Sandbox Code Playgroud)

  • 如果服务器不反对,只需重新启动 dhclient 通常会重新分配相同的 IP 地址。如果您先释放地址,服务器和客户端就会知道重新协商一个新地址(尽管它可能与您拥有的地址相同)。 (4认同)
  • OP 可能希望在屏幕内运行它并实际执行“sudo dhclient -r <interface> && sudo dhclient <interface>”,否则连接可能会丢失,他需要到现场恢复网络链接。也就是说,如果没有安装带外管理。 (3认同)

小智 15

我遇到的另一个问题是 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,一切都很好。 (2认同)