DHCP 响应已发送到除防火墙之外的所有设备

DHCP 响应已发送到除防火墙之外的所有设备

总结:我的防火墙已停止通过 DHCP 获取 IP 地址,原因似乎与 MAC 地址有关。

网络拓扑结构

[Fibre]
 |
[Router] - Melbye Raycore RC-CP9
 |
[Router/Firewall] - HP T620+, opnSense
 |    |
 |   [WiFi router] - Netgear R7800
 |     . )
 |     . ) )
 |     . ) ) ) {various devices - Linux, Android and iOS}
 |
 |
[Switch] - 16-port Cisco
 | | |
 | | |
{various devices - Windows, Linux}

防火墙在 LAN 端口上充当本地 DHCP 服务器。WiFi“路由器”配置为 AP 模式。防火墙的第三个端口上还有一个 DMZ,但目前已将其从等式中移除。

直到几天前,一切都运行良好。

初始故障排除

  1. 我断开了防火墙的连接,将其安装在离光纤路由器更近的墙上,以便更整齐地布线。我直接插入了 WiFi 路由器,这样笔记本电脑和移动设备仍然可以连接互联网

  2. 我再次设置了防火墙,但现在没有 WAN 连接。WAN IP 地址报告为0.0.0.0。我尝试将其移回旧位置以排除以太网插座或修补程序的任何奇怪问题,但没有任何改善。

  3. 我备份了我的配置,然后对 opnSense 配置进行了一些尝试,包括网关和 DHCP 客户端设置,最后决定重新安装它。默认配置没有变化。我尝试启动 IPFire,以防它是 BSD 特有的怪癖,但我得到了相同的行为。

  4. 我仔细检查了所有电缆,一切正常。尝试再次将 WiFi 路由器直接连接到光纤路由器 - 它仍然有效,但由于 WiFi 路由器已禁用自己的 DHCP 服务器,因此我为每个连接到它的设备获取公共 IP 地址 ( 37.?.?.?)。

  5. 我恢复了之前工作的 opnSense 配置,重置了光纤路由器并再次尝试。WAN 端仍然没有连接。我尝试根据 WiFi 路由器收到的 IP 和网关设置静态 IP 和网关,但仍然没有连接。由于 LAN 端可以工作,我尝试重新分配 WAN/LAN 端口,以防 NIC 出现某种硬件问题,但行为是一样的。

  6. 我尝试将台式机直接连接到光纤路由器,以前可以正常工作,但现在也无法获取 IP 地址。当它通过 WiFi 路由器连接时,它可以正常工作,但使用的是如上所述的公共 IP 地址。尝试使用带有以太网适配器的笔记本电脑,它也无法获取 IP(尽管我以前只通过 WiFi 连接它)。我尝试将以前位于 DMZ 中的小型服务器直接连接到路由器,它可以正常获取 IP 地址,尽管 IP 和网关与路由器获取的完全不同。

  7. 我仔细检查了所有电缆,并更换了几根可能有问题的电缆(但之前可以正常工作,所以我只能抱有侥幸心理)。CAT6 和 CAT7 S-FTP 从光纤路由器到每个节点,全部工作正常。

微小突破

在听取了@user1686 的建议后,我查看了 opnSense 中的 DHCP 日志并注意到这个循环正在发生(按最新日志排序):

Nov 20 22:42:26 dhclient        FAIL
Nov 20 22:42:26 dhclient    47074   No working leases in persistent database - sleeping.
Nov 20 22:42:26 dhclient    47074   No DHCPOFFERS received.
Nov 20 22:42:24 dhclient    47074   DHCPDISCOVER on igb0 to 255.255.255.255 port 67 interval 2
Nov 20 22:42:17 dhclient    47074   DHCPDISCOVER on igb0 to 255.255.255.255 port 67 interval 7
Nov 20 22:42:10 dhclient    47074   DHCPDISCOVER on igb0 to 255.255.255.255 port 67 interval 7
Nov 20 22:41:58 dhclient    47074   DHCPDISCOVER on igb0 to 255.255.255.255 port 67 interval 12
Nov 20 22:41:50 dhclient    47074   DHCPDISCOVER on igb0 to 255.255.255.255 port 67 interval 8
Nov 20 22:41:37 dhclient    47074   DHCPDISCOVER on igb0 to 255.255.255.255 port 67 interval 13

这种事情一再发生。

我一时兴起,尝试从另一台设备再次设置静态 IP 地址,但这次也欺骗了它的 IP 地址。现在它几乎立即起作用了:

Nov 20 22:43:30 dhclient    20508   DHCPACK from 5.###.###.###
Nov 20 22:43:29 dhclient    20508   DHCPREQUEST on igb0 to 255.255.255.255 port 67
Nov 20 22:43:29 dhclient    20508   DHCPREQUEST on igb0 to 255.255.255.255 port 67

这让我想到,也许特定的 NIC MAC 因某种原因被阻止或忽略,但当我将被欺​​骗的 MAC 地址更改为随机数(例如将最后一个更改AABB)时,它又恢复为无DHCPOFFERS。此外,如果是这样的话,我原本以为上面第 [5] 点中交换 WAN/LAN 端口分配会起作用。

我现在可以删除静态 IP 地址,只要 MAC 被欺骗,它就可以正常获取 IP 地址,但我不知道这是否真正获得了正确分配的 IP 地址,或者它仅在仍然有效时获得现有租约。

我再次重置了光纤路由器,并执行了上述相同的步骤,以防我跳过了某些步骤。除了防火墙之外,我将其他设备与光纤路由器断开连接,但这没有帮助。现在已经过去了将近 24 小时,所以我希望与 DHCP 租约到期有关的任何事情现在都不再是问题。

从上文第 [1] 点来看,我听说有些 ISP 只允许单个设备在给定网络上获取 IP。这毫无道理,因为在我目前的设置之前,我已经将多个设备直接连接到光纤路由器,没有任何问题。

我不知道如何才能最有效地进一步排除故障。

相关内容