在 pfSense 上,为什么静态 IP 地址不起作用?

在 pfSense 上,为什么静态 IP 地址不起作用?

我有一个 pfSense 路由器。我还有一个 iPhone。

在我的路由器上,我点击了“为此设备设置静态映射”,我将静态 IP 设置为 10.12.1.56 作为我的 iPhone MAC 地址。

DHCP 服务器不会将该 IP 地址租给我的手机。它继续使用随机 IP 地址。

如果直到我在手机上设置静态 IP 后它才起作用,那么在 pfSense 上设置静态 IP 有什么意义呢?

答案1

我已经使用 pfSense 多年了。就我而言,它对大多数人来说都很好用。我的第一反应(如果错了,请见谅!)是你做错了什么或误解了正在发生的事情。但你的问题没有足够的细节或设置屏幕的屏幕截图(敏感部分被涂黑)来查看它是什么或进一步了解它。

我认为你问题的最后一行不对。你写道“...如果它在我手机上设置静态 IP 之前不起作用”。但如果它“直到 [你] 设置静态 IP 才起作用”,那么根据定义它就是起作用的。所以我认为问题中的这句话一定是错的。听起来更像是设备没有使用静态映射,而你认为​​它已经设置并且应该被使用,而你不知道为什么。你能编辑一下问题让它更清楚吗?

需要检查更多的事情(大多数是显而易见的,而且 - 说实话 - 大多数都是多余的检查,但目前很难知道您的知识水平或您认为最好的) - 如果它没有获得您想要的 IP,它被分配了什么 IP,这是 IPv4 还是 IPv6?您的 LAN 配置为使用哪些 IP 范围/子网,您的 DHCP 服务器配置为分配哪些 IP 范围?IPv6 是否已启用/禁用/正在使用(如果没有完全禁用,是否启用了 IPv6-IPv4 桥接/隧道/封装)?如果它是通过 wi-fi 连接,您使用什么将 pfSense 桥接到 Wi-Fi(卡或 AP),如果它是一个单独的设备,你确定这个设备不是分配 IP 的设备,并且 pfSense 而不是 wifi 设备/AP 实际上正在获取和返回 DHCP 请求? iPhone 是否真的在请求 IP,而 10.12.1.56 IP 是否真的由路由器分配(它可能是设备中的旧固定设置,也可能是通过其他方式获取的)?您的 WLAN 上或 iPhone 无线邻居中的任何其他设备是否能够通过 DHCP 进行分配(可能是从其他设备获取)?IP 地址是否可能持续存在(即,您没有看到分配的新 IP,因为路由器或 iPhone 认为旧 IP 仍有许多小时才能更新)?如果您禁用 DHCP 服务器然后重新启动 iPhone,它是否无法获取 IP 地址(这表明它正在按要求询问服务器)?如果您将 DHCP 服务器的“池”更改为其他范围(例如 10.5.0.0-10.5.0.100)并重新启动 iPhone,会发生什么?如果您更改 DNS 服务器或其他 DHCP 数据,iPhone 下次连接时是否会获取该更改(证明 DHCP 正在正确发送和接收)?如果您使用 DHCP 日志或“数据包捕获”来观察 iPhone 连接和请求 IP,那么流量捕获会显示什么(问题是路由器未收到 DHCP 请求或未在响应中返回预期的 IP,还是 iPhone 未发送 DHCP 请求或未在回复中使用 IP)?静态租约列表是否列出了与 iPhone 设置页面显示的相同 MAC 地址?当您查看租约(全部,而不仅仅是最近/在线的租约)时,它是否显示 iPhone 处于在线状态,如果是,它旁边是否显示了正确的 MAC 地址?

也许其中一些会有所帮助。如果没有帮助,则需要更多细节来提供更多帮助。

答案2

以防万一您的设置是这样的;如果您使用旧路由器作为您的 WAP(例如,我使用我的旧 ISP 路由器进行 WiFi 连接,该路由器已接入我的 pfSense LAN),那么请确保您用于 WiFi 连接的路由器的 DHCP 已关闭。

如果您没有使用路由器作为 WAP,请忽略这一点。

答案3

它曾经工作正常(至少在 2.03 中),然后在 2.2.x 中停止工作(除非你手动修改一些东西),虽然我不记得它到底在什么时候开始出现问题 - 我还没有部署 2.3 来查看它会发生什么,因为新版本通常会出现一些初期问题。

在 2.2 上,我需要做的是(在 DHCP 中保留池外的固定地址后)找到相关设备的“随机 DHCP 池映射”(在状态:DHCP 租约) 并删除它。在旧版本中,创建静态时理所当然地完成了这项工作。它应该完成,但没有完成,因为我现在正在解决一个问题,以便在我写这个答案时检查我的进程,在 2.2.x 上 - 这意味着有两个租约与一个 MAC 地址相关联,这显然是错误的。您可能需要“显示已过期的租约”才能看到麻烦的那个,但尽管它(可能,取决于您查看的时间)已过期,而静态不是,如果您不删除已过期(或活动的)随机映射,它似乎会保留下来并在设备再次连接时再次变为活动状态。如果我没记错的话,当设备在线时,您也无法删除它;因此,您需要将其离线足够长的时间,以便 DHCP 服务器将其视为离线。

按 MAC 地址对 DHCP 租约列表进行排序通常是查找重复条目的最简单方法。

更新:这似乎又可以正常工作了(不需要像上面那样手动调整)2.3.2-发布

答案4

您需要清除 dhcp 缓存

转到诊断,然后编辑文件复制以下文件路径:/var/dhcpd/var/db/dhcpd.leases 单击加载,突出显示并删除要删除的租约块,完成后单击保存

相关内容