我遇到一个问题,无线客户端有时无法从 DHCP 服务器接收 IP。网络图如下所示:
所有 IP 都是在 hEX 内置 DHCP 服务器中配置的静态租约。我已关闭“始终广播”选项,但似乎它会自行打开。所有 LAN 客户端都可以正常接收 IP。
UniFi AP AC Lite 已刷入 LEDE Reboot。但是,原始 UniFi 固件也会出现同样的问题。有时甚至 UniFi 本身也不响应 DHCP,但如果我在自己的计算机上运行 DHCP 服务器,它就可以正常工作。我怀疑 Mikrotik 的 DHCP 服务器在这里有问题。
另外,我尝试在 Unifi 上运行 dnsmasq DHCP 服务器,没有 DHCP 问题。
我在 hEX 上启用了端口镜像,并运行了 Wireshark。看来路由器确实提供了 DHCP,但没有响应。
(如果您需要有关数据包捕获的更多详细信息,请告诉我)
我是否应该在 Mikrotik 和 LEDE UniFi AP AC 上检查一些内容?
答案1
我已经解决了以下问题Mikrotik 论坛。
- 在网桥上禁用 STP
- 将网桥管理 MAC 设置为与网桥的 MAC 相同
- 确保 DHCP 服务器正在桥上监听
我很失望,即使在最新的 6.39 固件中,Mikrotik 似乎也不愿意正确地修复这个问题。
答案2
我遇到了这个问题,似乎是最新的 Mikrotik 更新中的一个错误,正如所描述的这里:
当前 RC 版本中存在一个错误,导致 DHCP 数据包以无效的源 MAC 地址发送...
您还可以强制桥接接口上的管理 MAC 与实际 MAC 相同 - 这似乎可以解决这个问题。Mikrotik 支持人员意识到了这个问题(并提出了解决方法)” - [tulluk]
。我回滚到错误修复版本,她一切正常 =D
答案3
如果问题仅出在 UniFi AP 上,并且无论 UniFi 设备上的固件是什么,都会发生这种情况,那么可能是您在 UniFi 上的配置存在问题。
如果 UniFi AP 设置了多个非桥接接口,请确保分配给未连接到 hEX 网络的端口的 IP 地址没有重叠的子网。如果是,可能是 UniFI 的 DHCP 客户端对 DHCP 服务器的响应正在使用无线接口。
您还可以检查 UniFI 的 DHCPDISCOVER 请求了哪些选项 - 如果 MikroTik DHCP 服务器未满足所需的选项,UniFi 可能会忽略 DHCPOFFER。这种情况不太可能发生,因为您在 UniFi 固件和 LEDE 固件中都看到了这种情况。
DHCP Protocol
如果检查后问题仍然存在, 您可以发布 DHCPDISCOVER 和 DHCPOFFER 的 wireshark 详细信息(完全展开解析器显示的部分)。
答案4
在 RouterOS 6.43 和 6.44 版本中,它们现在添加了正确的 SRC MAC 地址,但也更改了其广播 DHCP 提供的 DST MAC 地址。存在具有源和目标 MAC 地址的单播 DHCP 提供,但该提供不适用于无线通用中继器后面的客户端。(通用中继器用自己的 MAC 地址替换客户端的 MAC 地址。单播 DHCP 提供永远不会到达客户端。)DHCP 服务器在收到请求时使用广播 DHCP 提供或将其作为第二选项。但 Mikrotik 广播 DHCP 提供包含 DST IP 255.255.255.255(OK),但包含特定的 DST MAC(不 OK)。目标 MAC 应该是 ff:ff:ff:ff:ff:ff。