前言:我是一名软件工程师,但对 IP 网络的了解有限。
我的任务是接手现有的 StarLink 安装(圆形天线/第一代路由器),并为几栋不相连的建筑物提供互联网连接。
笔记:我们不需要有一个连续的网络(即连接到一个路由器的客户端是否可以“看到”连接到另一个路由器的客户端并不重要),仅有的所有客户端都可以访问互联网。
我完成了物理安装,但在网络配置方面遇到了困难。
(请原谅我的网络图不好)
- 据我所知,Starlink 路由器的固定 IP 为 192.168.1.1,DHCP 范围为 192.168.1.0/24。它广播无线网络。
- Starlink 路由器硬连线到 WiFi 接入点(路由器 1),静态配置为 192.168.1.100。它广播无线网络(路由器 1 WiFi)。
- 路由器 1 硬连线到 wifi p2p 天线 (WiFi P2P AP),静态配置为 192.168.1.101。它广播无线网络 (Bridge WiFi)。
- 第二个 wifi p2p 天线(wifi p2p 客户端)静态配置为 192.168.1.102 并加入桥接 WiFi 网络。
- 路由器 2 硬连线到 wifi p2p 客户端天线,静态配置为 192.168.1.103。它广播无线网络(路由器 2 WiFi)。
Starlink 下游的路由器配置为使用它作为默认网关。
我篡改了路由器 1 和路由器 2 上的 DHCP 设置。它们都运行 DHCP 服务器,并配置为提供 192.168.1.150-199 之间的地址。
从根本上来说,该设置是有效的:连接到 Starlink WiFi、路由器 1 WiFi 和路由器 2 WiFi 的客户端都可以快速访问互联网。
但是,有时它似乎不太可靠,用户报告“在一段时间内连接不稳定,可能无法发送电子邮件,或者我反复被踢出在线会议”。该具体报告来自路由器 1 的用户;因此,我认为它与 WiFi P2P 桥接无关。
我意识到我的设置存在缺陷,尤其是 DHCP。但如何做到这一点正确的?
- 无法更改 StarLink 路由器上的任何设置,我宁愿不绕过它
- 我可以将下行网络放在不同的子网(例如 192.168.2.0/24)吗?
- 我可以或应该将路由器 1 和路由器 2 放在不同的子网上吗?
- 应如何配置 DHCP、默认网关等?
重申之前的说法:我们不需要有一个连续的网络,仅有的所有 wifi 客户端都可以访问互联网。这不是网状网络;所有 WiFi 接口都是不同的 SSID。
我希望这是一个简单的问题,但我只是不知道什么会起作用。
答案1
您的 Starlink 路由器已充当网络的 NAT 网关和 DHCP 服务器。您不需要任何其他设备来执行这些角色,事实上您也不应该希望它们这样做,因为多层 NAT 很麻烦,而且很少有理由这样做。
确保您的任何路由器均未充当 NAT 网关或 DHCP 服务器。让 Starlink 路由器成为整个网络的唯一 NAT 网关和 DHCP 服务器。您希望所有下游“路由器”都透明地桥接 Wi-Fi 和所有以太网端口。某些设备可能将此称为“AP 模式”或某种“桥接模式”(尽管在某些情况下,“桥接模式”可以指建筑物之间的无线桥接,但这不是我所说的;令人沮丧的是,产品和供应商之间缺乏对这些功能的一致术语)。如果您的路由器有一种模式,可以充当没有 NAT 的普通 IP 转发路由器,那仍然不是您想要的。您希望 Wi-Fi 和任何及所有以太网端口之间的流量透明桥接。
如果您的任何路由器不允许您禁用 NAT 或 DHCP 服务,则有解决方法。如果您无法禁用 NAT,只需从该路由器的 WAN 端口移除上游电缆并将其移至该路由器的 LAN 端口之一。如果您无法禁用 DHCP 服务,请为 DHCP 服务器提供一个长度为零的 IP 地址池来提供服务。
将所有路由器都设置为这样的桥梁的好处之一是,如果您愿意,您可以轻松实现网络无缝漫游。只需让它们都发布相同的网络名称 (SSID) 以及相同的无线安全类型和密码,客户端就会自动加入或漫游到最近的 AP。
答案2
路由器分离IP 子网。路由器的两个接口绝不能配置为同一个 IP 网络——即使有时你可以侥幸逃脱,但这样做只会带来麻烦。
这在“整个网络”层面上起作用,而不是单个地址。因此,仅仅“伪造 DHCP”是不够的,因此双方仅使用相同 192.168.1.0/24 的不同部分(例如 100-149 与 150-199),因为路由器实际上并不跟踪单个 IP 地址 - 它们主要处理“整个子网”路由,因此您仍然有两个相同的 /24,这仍然很糟糕。
(请记住,典型的“无线路由器”是半个路由器和半个网桥,具体取决于它的连接方式。“路由器本身”位于 LAN/WiFi 和 WAN 之间,而所有 LAN 端口(包括 Wi-Fi)都桥接在一起并绕过路由器。)
因此,如果 Router1 通过 WAN 端口连接到其上级,并且 WAN 端口配置为 192.168.1.x/24,则您不能1在其 LAN 接口上使用相同的 192.168.1.x/24(即使 x 不同),因为这样您就有两个分离使用相同子网号的网络。
(如上所述,这是因为路由器在整个网络级别工作,因此通过两个接口对同一个 192.168.1.0/24 有两个重复路由,并且它不会跟踪哪个单独的 IP 位于哪个接口后面。)
因此,按照现在的方式连接路由器(通过您提到的 WAN 端口),这意味着您物理上有三个网络目前有:“Starlink LAN”;“Router1 LAN”;和“Router2 LAN”。这说明它们应该有单独的 IP 子网(.2.0/24、.3.0/24 等)。
分配单独的 IP 子网是解决问题最直接的方法,但实际上并非如此好的因为所有三个路由器都启用了 NAT,而网络中间的 NAT 很丑陋。(尽管根据你的要求,它不是真的这本身就是一个问题,但从概念上来说它仍然很丑陋。
还有另外两种连接网络的方式(可针对 R1 和 R2 分别做出决定):
您可以使用路由和 NAT 保持它们的连接原样。
您可以仅禁用 NAT,同时仍具有单独路由的子网。
您可以完全绕过路由,将路由器的两侧桥接至一个子网。
选项 1 的缺点是您需要在每个上游路由器中配置“下游”路由,而 Starlink 路由器可能根本不允许您这样做,因此虽然它是企业网络的常用选项,但它可能不适合您。
Spiff 建议在 R1 和 R2 上采用选项 2 – 将所有内容桥接到单个巨型子网中。有些无线路由器有专门的选项(例如“桥接模式”,但我认为我从未见过将其称为“NAT”的路由器),而其他路由器根本没有特定选项 – 但是,如前所述,几乎所有人已经桥接了所有 LAN 端口,因此有一个简单的解决方法。
进行桥接时,您将只有一个实际的“路由器”(R1 和 R2 将不再进行任何路由),因此只有一个子网(通过所有网桥到达的“Starlink LAN”子网)。整个子网中应该只有一个 DHCP 服务器。
桥接方法的一个优点是,你可以实现单 SSID Wi-Fi 漫游免费– 您实际上并不需要“网状”;您只需要将参与的 Wi-Fi 接入点相互桥接即可。
这可能会带来一点缺点,即您的 Starlink 路由器可能会用尽可用的 DHCP 租约,因为它需要将地址租给两个都建筑物。最好知道 Starlink 路由器是否至少允许您使用 /22 子网或类似子网(即大于 /24)。