DHCP服务器可以通过DHCP为自己分配一个IP地址吗?

这似乎是一个愚蠢的问题(我担心它可能会),但是作为networking的唯一DHCP服务器的服务器可能向networking发出一个IP地址的请求,然后捕获它自己的请求并回答它?

我所有的直觉都指向一个没有答案,理想情况下我会testing一下,但是我现在没有时间/闲置的资源,所以我希望别人可能有同样的想法,并尝试过。

这是一个普通的问题,但如果有人感兴趣,我在ubuntu 11.04上运行isc-dhcp

从技术上来说,规格会允许发生这种情况,但试图这样做是无可厚非的。

从两个方面来看这是一个坏主意,但是可以的。

  1. 当同一台机器上的DHCP服务器尚未启动时,服务器在启动过程中无法分配IP。 因此,在尝试分配IP之前,必须确保DHCP服务器已启动。
  2. 如果DHCP也为dynamic分配的主机更新DNS,那么在DNS失败时很难知道你的DHCP服务器在哪里(无论什么原因)

理论上我认为它应该是可能的,因为如果没有configuration或提供,大多数linux发行版都会提供apipa(169.254.0.1到169.254.255.254)地址。 因此,DHCP服务器应该能够运行并可能回答请求。 现在,如果为服务器自己的mac地址configuration一个保留的(固定的)IP地址,并且如果dhcp客户端守护进程继续运行并继续尝试,理论上应该能够由dhcp服务器守护进程来应答。 然后它应该能够设置自己的正确的IP地址,并继续应答来自其他机器的DHCP请求。

我不知道,如果DHCP服务器可以有一个API的地址,我认为服务器守护进程需要重新启动后更改IP,但除此之外…我仍然想不出任何明智的用例。

据我所知这是不可能的。 DHCP不仅仅是基于广播。 DHCP协议的最初部分是基于广播的,但在某些时候,服务器和客户端使用其IP地址进行通话。

如果我记得正确(没有RFC),服务器是第一个需要发送真正的IP地址信息的会话。

这自动使服务器不能自行服务。

当然,服务器本身可能是一个DHCP客户端,它从另一个DHCP服务器(通常是一个保留的固定IP)接收它的DHCPconfiguration。 这有点奇怪,但我可以想象一些用于这种设置的用例。