我有一个 Windows DHCP 服务器,它有许多作用域,每个作用域都与一个 VLAN 相关,并且我有一台连接到交换机端口的 PC。然后,我正在更改此交换机端口上的访问 VLAN,以查看 PC 是否收到属于此类 VLAN 的 IP 地址,但无论交换机端口上配置了什么 VLAN,客户端始终收到相同的 IP 地址。我已经在防火墙上配置了 DHCP 中继,这部分工作正常。现在,当我将交换机端口更改为新 VLAN 时,当我执行 tcpdump 并查看跟踪时,我可以看到客户端正在请求旧 IP 地址 172.22.2.4(旧 VLAN),DHCP 服务器提供这个旧 IP 地址,忽略防火墙在 DHCP 请求数据包中插入的“中继代理 IP 地址”字段(172.22.9.1)。不确定为什么 PC 在执行 ipconfig /release 和 ipconfig /renew 后会请求旧 IP。但据我理解,我认为 DHCP 服务器应该提供一个 172.22.9.0/24 范围内的 IP 地址,因为中继代理 IP 地址是 172.22.9.1,无论 PC 请求哪个 IP。
通过逻辑 AND 比较中继 IP 地址和服务器配置范围的子网掩码,找到网络 ID 与中继 IP 地址的网络 ID 相匹配的范围。找到匹配项后,DHCP 服务器将从该范围分配 IP 地址。
https://www.itgeared.com/dhcp-relay-agent/
我唯一能看到的奇怪之处是防火墙没有在 GIADDR 字段或 DHCP 选项 82 中插入“中继代理 IP 地址”,而是在主 DHCP 字段中插入,尽管这可能是正确的。有什么想法吗?
附加 DHCP 请求和 DHCP 答复跟踪。
问候,朱利安