运行 DHCP 服务器的计算机可以分配自己的 IP 地址吗?

运行 DHCP 服务器的计算机可以分配自己的 IP 地址吗?

运行 DHCP 服务器的计算机可以分配自己的 IP 地址吗,还是必须静态设置?如果这个问题取决于 DHCP 软件,那么我的配置是运行 PiHole 的 Debian 服务器。

答案1

DHCP 服务器必须有一个静态 IP——这是因为存在一个先有鸡还是先有蛋的问题:

  • 在 DHCP 过程中,服务器将其 IP 地址传达给客户端
  • 如果服务器也是客户端,则此步骤无法成功(因为还没有可以通信的地址)。

答案2

从技术上来说,按照标准这种情况可能会发生,但没有一个头脑正常的网络管理员会指望它能起作用。

大多数操作系统在启动时都会附带一个 APIPA IP(169.254.1.0 至 169.254.254.255)。因此,DHCP 服务器可能能够运行,甚至可能响应请求。

理论上,如果服务器上的 DHCP 客户端守护程序保持运行并不断尝试,则在同一服务器上运行的 DHCP 服务器守护程序应该会及时响应。然后它应该能够设置自己的正确 IP 地址,同时继续响应来自其他计算机的 DHCP 请求。

这实际上在很大程度上取决于服务器计算机操作系统的 DHCP 客户端和服务器软件的实现。

答案3

我觉得其他答案忽略了一些事情。

运行 DHCP 服务器的计算机可以分配自己的 IP 地址吗

DHCP 服务器将会提供 IP。

继续之前,DHCP 服务器是运行在系统上的程序,该系统可能还运行其他程序(它不等同于设备)。DHCP 服务器遵循流程,并在特定时间以特定格式接收信息,这些在 DHCP 协议中有所描述。

DHCP 服务器不负责获取提供的 IP 并更改系统上的网络配置 - 这是 DHCP 客户端的责任。

因此,从技术角度来看,答案是否定的,因为 DHCP 服务器也不是 DHCP 客户端。

另外:请理解系统或者服务器实际上没有 IP 地址 - 那些系统(或运行系统的服务器)上的网络接口才有 IP 地址,而且许多系统都有多个接口。例如,您的笔记本电脑很可能有有线以太网和无线 LAN 接口,每个接口都有自己独特的 IP - 因此说“我的笔记本电脑的 IP 是什么”其实是一个错误的说法 - 您应该说“我的无线网络适配器的 IP 是什么”才 100% 正确。

现在 ...

  • 您可以在与 DHCP 服务器相同的系统上运行 DHCP 客户端吗?

绝对地。

对于大多数家用路由器来说,这种情况已经发生了。

但是,路由器的 DHCP 服务器正在监听 LAN+WLAN 接口,并且路由器的 DHCP客户正在监听 WAN 或 Internet 接口。

这样,您的路由器将从 ISP 获取 IP,而路由器将私有 IP 分配给 LAN 上的主机。由于客户端和服务器在不同的接口上监听,因此它们不会互相干扰。

  • 可以让 DHCP 服务器监听没有 IP 的接口吗?这应该可行,因为它监听广播地址,对吗?

不。当 DHCP 响应客户端时,它必须在发送的数据包中设置源 IP。IK 会从某人那里获取请求,但由于请求者没有 IP,因此无需设置源 IP。

将源 IP 设置为广播将允许任何计算机响应 DHCP 提议并破坏 DHCP。

因此,我认为大多数 DHCP 服务器软件都不会监听没有 IP 的接口。

因此您不能让 DHCP 服务器为自己分配 IP。

答案4

可能不会。虽然从技术上讲,可以配置 DHCP 服务器来监听自动配置的地址 (169.254.xxx.xxx),但大多数 DHCP 服务器软件都会出现该消息no subnet declaration for eth0或类似信息,并且永远不会开始分配 IP 地址。因此,DHCP 服务器几乎需要静态 IP。

相关内容