kev*_*vin 8 windows static-ip dhcp-server
我正在使用虚拟机试验各种网络设置。当我在 Windows Server 上设置 DHCP 角色时,它需要一个静态 IP。从技术角度来看,我无法理解为什么这是必要的。
我对DHCP的理解是,一个客户端在网络上广播一个DHCP Discovery请求,网络上的任何设备都可以响应。一个 DHCP 服务器因此需要一个 IP 地址,但为什么这个 IP 需要是静态的?DHCP 服务器可以在别处获得它的地址,并且只要它有一个 IP ,它仍然可以响应广播。
例如
当然,一旦客户端 X从服务器 B获得 IP ,它将无法直接联系服务器 B,因为它们位于不同的子网上。但这不是问题 - DHCP 请求(最初)是广播,因此交换机上的每个人都会收到它。
无视一个管理观点,为什么我不能有
DHCP 服务器必须具有静态 IP是否存在技术原因?
DHCP 服务器必须有一个配置的 IP 地址,以便它可以知道哪些范围本地连接到物理接口,哪些范围只能通过 DHCP 中继服务。
忽略管理的观点,
我很抱歉,但我认为尝试挥手而忽略有关运行网络的实际问题是愚蠢的。获取有效的 IP 地址在大多数网络中至关重要。您永远不会希望您的 DHCP 服务器出现故障,因为它无法获得自己的有效地址。软件和协议旨在在常见的实际情况下工作。你所描述的似乎创造了很多地方让事情失败而几乎没有或没有真正的收益。
如果您真的想对 DHCP 服务器进行某种动态配置,您可能应该考虑使用配置管理系统来强制 DHCP 服务器上的设置,而不是尝试使用 DHCP 来配置您的 DHCP 服务器。
我对DHCP的理解是,一个客户端在网络上广播一个DHCP Discovery请求,网络上的任何设备都可以响应。
客户端也可以发起单播DHCP请求,更新请求是以单播方式发起的,所以客户端直接向DHCP Server发起请求。如果DHCP改变了他原来的IP地址怎么办?更新将失败,下一个请求将在广播中进行。这不是优化网络流量的行为。
微软:
续订租约 当原始租约时间(称为 T1)已过 50% 时,DHCP 客户端首先尝试续订其租约。此时,DHCP 客户端向最初授予其租用权的 DHCP 服务器发送单播 DHCPRequest 消息。如果服务器可用,并且租约仍然可用,则服务器以单播 DHCPAck 消息响应并续订租约。
国际标准委员会:
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:0c:29:ac:18:75
Sending on LPF/eth0/00:0c:29:ac:18:75
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7 << First request
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPOFFER from 10.0.0.253
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 133 seconds.
DHCPREQUEST on eth0 to 10.0.0.253 port 67 << Renewal
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 119 seconds.
DHCPREQUEST on eth0 to 10.0.0.253 port 67
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 118 seconds.
Run Code Online (Sandbox Code Playgroud)
然而,一旦租用被授予,未来的 DHCP DHCPREQUEST/RENEWAL 消息将直接单播到 DHCP 服务器