我有一台 Win 2k3 服务器,该服务器运行 DHCP,子网中没有 VLAN,有 5 个作用域(每个作用域都有不同的子网)。我有 4 个 VLAN 和一个路由器,该路由器将 DHCP 从每个 VLAN 中继到该服务器。
我理解来自任何 VLAN 的 DHCP 请求都将转换为单播,DHCP 服务器将根据单播地址选择正确的服务范围。太棒了!
但是,如果 DHCP 请求来自不在 VLAN 上的 PC,该怎么办?服务器将使用哪个范围?
如果不可预测,有没有办法强制 DHCP 服务器默认使用一个范围?
答案1
DHCP 范围和交换机 VLAN 彼此之间没有直接关系,因此它们之间没有相互依赖或相互作用。DHCP 服务器将从与服务器所在子网相对应的范围中分配一个 IP 地址,除非使用 DHCP 中继代理来中继来自远程子网的 DHCPDiscover 数据包。对于使用 DHCP 中继代理的远程子网,DHCP 中继代理会将 DHCP 客户端广播数据包作为单播数据包转发到 DHCP 服务器,并附加其他信息(包含在 GIADDR 字段中),DHCP 服务器将使用这些信息从与 DHCP 中继代理数据包中的 GIADDR 字段值相对应的范围中分配一个 IP 地址。
答案2
DHCP 是一种广播协议,因此除非发生特殊情况,否则它只能服务于 DHCP 服务器所在的子网。幸运的是,几乎每个路由器都能够将来自一个子网 (VLAN) 上的客户端的 DHCP 请求(有时称为 DHCP 中继代理)转发到特定的 DHCP 服务器。
其次,VLAN 和子网在大多数网络上是同义词。不在 VLAN 上的 PC 将位于子网中。在该子网上提供网关服务的路由器仍然可以为 DHCP 提供转发/中继代理,不需要 VLAN。所以实际上,VLAN 并不是此事务的真正因素。无 VLAN 的 PC 连接将被视为与 VLAN 子网上的 PC 相同。