如果我有两个路由器,计算机如何选择使用哪一个?

如果我有两个路由器,计算机如何选择使用哪一个?

我们家里有两个 ISP,我为它们分别连接了不同的路由器,并将两个路由器都连接到我们的 LAN,一个大型以太网交换机,所有东西都连接到它。一个路由器有 IP192.168.1.1并通过 Time Warner Cable 连接,另一个有 IP10.0.1.1并通过 Verizon 连接。它们都是 DHCP 服务器。

无论出于什么原因,任何启用了 DHCP 的设备似乎都会从 获得 DHCP 租约192.168.1.1,从而接受192.168.1.1路由器身份并通过 TWC 连接到互联网。我不知道这是因为路由器总是“赢得”竞争条件,还是存在某种实际优先级。计算机如何选择从哪个路由器获得 DHCP 租约?

我没有企业级硬件。TWC 上的路由器是 Apple AirPort Extreme,Verizon 上的路由器是他们给我们的 Actiontec。据我所知,我无法设置任何一个来为两个路由器托管一个 DHCP 服务器。我有一台可以提供 DHCP 的 Mac 服务器,但我不能依赖它。当我在 Google 上搜索涉及多个路由器的解决方案时,我发现有人认为路由器 = 无线接入点。

答案1

第一个到达的 DHCP 回复通常会获胜,除此之外就没有什么可说的了。(这意味着在同一个网段内运行两个 DHCP 服务器可能会变得相当混乱。)

对于你的情况,你需要一个单身的连接到两个 WAN 连接的路由器,而不是两个。(如果你找不到专用的路由器,有些人会使用装有 pfSense 的旧 PC 作为多WAN路由器。也就是说,你会得到如下内容:

                ┌───────────┐
TWC ──<cable>── │cable modem│ ──<ethernet>───┐
                └───────────┘              ┌──────┐                ┌─LAN──┐
                                           │router│ ──<ethernet>── │switch│
                  ┌─────────┐              └──────┘                └──────┘
Verizon ──<???>── │ ? modem │ ──<ethernet>───┘
                  └─────────┘

然后,路由器将拥有直接从两个 ISP 分配的 WAN IP 地址。(虽然这不是严格要求 - 即使 WAN 接口上的地址为 192.168,只要每个接口位于不同的子网,它也能生存。但是,这很麻烦。)

根据路由器,它可以根据设备、ping 延迟、一天中的时间等选择 ISP。

答案2

DHCP 协议规范允许在同一 LAN 上存在多个 DHCP 服务器,甚至为不同的 DHCP 地址池(范围)提供服务。但是,如果由于存在多个服务器而收到多个租约要约,则该规范将决定接受哪个租约要约留给客户端实现。

一些 DHCP 客户端实现很可能只接受收到的第一个报价,从而形成一场竞争。

但是,我知道 Apple 的 DHCP 客户端(用于 macOS(以前称为 OS X、Mac OS X)、iOS、tvOS 和 watchOS)会等待一段短暂的时间来收集要约,然后选择包含最多 DHCP 消息选项的要约。这里的诀窍是,企业 DHCP 服务器通常具有更多他们试图推送给客户端的配置信息,例如 WINS 服务器、LDAP 服务器等(与消费者家庭网关路由器的 DHCP 服务器相比,后者添加的消息选项相对较少)。因此,通过采用具有最多 DHCP 消息选项的要约,它更有可能从官方企业服务器获得真正的要约,而不太可能因为某些傻瓜将配置错误的无线路由器插入办公室 LAN 而出轨。

我还没有查看其他常见 DHCP 客户端的文档或来源,所以我不知道其他 BSD、Android 或其他各种 Linux 或 Windows 做什么。

总结:每个 DHCP 客户端都可以自行选择接受哪个提议。有些客户端使用智能启发式方法,但其他客户端可能比较笨,只接受他们收到的第一个提议。

答案3

这是一种竞争条件,无论哪个路由器向设备响应 IP 地址,它都会赢得连接。如果将两个路由器都设置为使用同一个子网,那么就有可能实现所需的故障转移。但我对完整设置的解释可能错了。您可以做的是将网络上的两个路由器设置为相同的 IP 方案(即:192.168.0.1 和 192.168.0.2)。最好也禁用其中一个路由器的 DHCP。然后在您的计算机上添加路由表,以便两个路由器都在其中,但让您更想使用的互联网具有较低的度量值。较低的度量值比较高的值使用得更频繁。如果主路由器出现故障,它应该会自动切换。我已经有一段时间没有用智能开关或类似的东西做过这样的事情了,所以我可能是错的。

相关内容