![DHCP 范围之外的 IP 地址和保留显示在 WireShark 输出中](https://linux22.com/image/1549753/DHCP%20%E8%8C%83%E5%9B%B4%E4%B9%8B%E5%A4%96%E7%9A%84%20IP%20%E5%9C%B0%E5%9D%80%E5%92%8C%E4%BF%9D%E7%95%99%E6%98%BE%E7%A4%BA%E5%9C%A8%20WireShark%20%E8%BE%93%E5%87%BA%E4%B8%AD.png)
Wireshark 显示所有常见的源/目标数据包信息。大部分情况下没有出现任何异常。但是,我看到发送到路由器 MAC 地址的数据包,但有几个数据包被发送到路由器的 MAC 地址,但关联的 IP 地址不是网关地址。事实上,这个异常的 IP 地址远远超出了我分配的 DHCP 范围和保留范围。我正在运行 CIDR 28 方案,所以我锁定了可以分配的地址。例如:192.168.10.0 到 192.168.10.15 是允许的范围。所有具有 MAC 地址的设备都已分配了该范围内的地址。我还允许在此方案中使用网关、网络 ID、广播地址。然后 Wireshark 显示 192.168.10.235 作为目标 IP,其中包含我的路由器 MAC 地址。路由器 MAC 地址已经获取网关 IP 地址流量。额外的地址在做什么?
答案1
您所描述的情况完全正常。这只是路由行为的正常表现。
对于直接连接的段上的任何目标地址,主机都会执行 ARP/邻居发现以查找目标主机的 MAC 地址,并将数据包发送到该 MAC 地址。
任何需要将数据包发送到非直接连接网段上的目标地址的主机都会在路由表中找到网关地址。在大多数最终用户配置中,默认前缀(即 /0 前缀)只有一个这样的路由条目。更高级的设置可能有多个,但在这种情况下,以下步骤也基本相同。
主机将发送 ARP/邻居发现请求网关地址并了解网关的 MAC 地址。然后主机将数据包发送到网关的 MAC 地址,网关可以将数据包路由到其目的地。
答案2
我感觉您看到的行为是由于设置造成的。如果您尝试使用 CIDR /28 网络,则该网络提供 14 个可用 IP 地址,其中 xxx15 地址是广播地址,而 xxx1 地址通常是您的路由器/网关。因此,您的 DHCP 范围应为 xxx2 - xxx14。
您的 DHCP 服务器应该会抱怨尝试将整个 xxx0 - xxx15 放入 CIDR /28 子网的范围,我猜它接受它的原因是因为 DHCP 服务器设置了错误的子网 - 它应该是 255.255.255.240。这应该是路由器 LAN 接口 IP 设置的子网以及 DHCP 服务器交给客户端的子网。
如果您的设置就是这样的,那么唯一合理的解释就是您的网络上有一个设备被静态分配了 IP 地址 xxx235。或者,您的网络上可能有另一个 DHCP 服务器——这种情况发生的频率比您想象的要高。