通过同一子网中的其他 IP 路由互联网流量

通过同一子网中的其他 IP 路由互联网流量

我想在我的路由器中创建一个伪后备 WAN 连接,但它本身并不支持此功能。

我有一个 192.168.93.0/24 的网络,我的“主”路由器和默认网关在 192.168.93.1,这也是 DHCP 服务器,它将自己的 IP 作为默认网关分发给所有客户端。

然后我有第二个路由器,其 IP 地址为 192.168.93.2,具有 4G 连接,该路由器不执行 DHCP。

现在,我一直在研究我的第一个路由器,它连接到 WiFi 热点以进行 WAN 连接。每当此连接成功时,它都会将路由添加到其路由表(目标 0.0.0.0/0 - 即整个互联网),该路由指向 WiFi 热点网关的任何 IP,度量为 0。

所以我想我在其路由表中添加一个手动条目,其目标网络相同,为 0.0.0.0/0,但网关为 192.168.93.2(我的第二个 4G 路由器)。

这似乎在某种程度上是有效的,因为当我的第一个路由器没有连接 Wifi 热点时,我可以完美地 ping 到互联网上的任何地方。但是,当我尝试使用 chrome 等浏览器浏览某个地方时,所有请求都会超时。

当我在客户端启动 wireshark 跟踪时,我看到很多令人担忧的日志,例如:

  • TCP 重传
  • 虚假重传
  • TCP 重复确认

现在,当我在客户端上删除到 192.168.93.1(第一个路由器)的 0.0.0.0/0 路由时,将其重新配置为直接转到 192.168.93.2(第二个路由器),一切正常。

现在我在考虑这个问题,我想知道这是否真的可行,但为什么 ping 却能正常工作呢?无论如何,如果有人能确切解释为什么这不起作用,那就太好了。

答案1

嗯...取决于当默认路由(0.0.0.0/0)指向内部网络(您的 4G 路由器)时,您的第一个路由器实际上在做什么。

将 ping 的 wireshark 跟踪(icmp-echo-r​​equest/response)与另一个 TCP-connect 跟踪(浏览时建立)进行比较。

您是否看到任何 TCP(syn-ack)从服务器返回到您的客户端。

进一步查看 Wireshark 中的 MAC 地址,了解传入数据包是从第一个还是第二个路由器传到您的客户端。

相关内容