![如何在无法更改默认网关的情况下连接两个网络?](https://linux22.com/image/1457360/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%97%A0%E6%B3%95%E6%9B%B4%E6%94%B9%E9%BB%98%E8%AE%A4%E7%BD%91%E5%85%B3%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%9E%E6%8E%A5%E4%B8%A4%E4%B8%AA%E7%BD%91%E7%BB%9C%EF%BC%9F.png)
我有几个供应商提供的面向互联网的 Linux(Ubuntu)VPS,我使用 ZeroTier 的虚拟背板网络连接它们(https://www.zerotier.com/)。我使用它来执行诸如服务器之间的数据库复制之类的操作,而无需允许跨公共互联网的数据库连接。虚拟网络上还有我的家庭服务器 VM,运行 Windows 2008。它位于我家庭网络上的 NAT 后面,我将其包含在背板中,以允许我的基于 Web 的工具使用 LDAP 对 AD 进行身份验证。虚拟网络是使 NAT 变得无关紧要的简单解决方案。
我的家庭网络使用子网 192.168.1.x,而我的 ZeroTier 虚拟网络使用子网 192.168.2.x。我想要做的是将这两个网络连接在一起,这样 ZeroTier 虚拟网络上的任何虚拟节点都可以从我的家庭网络上的任何计算机直接访问,反之亦然。
我的家庭路由器由互联网提供商提供,不允许我配置静态路由,但我家庭网络上的所有机器都是 AD 域的一部分,我预计我可以使用组策略通过启动脚本在客户端上配置我需要的任何静态路由。我也无法更改家庭网络上的默认网关——路由器在通过 DHCP 提供 IP 地址时会自行设置为默认网关。
我不知道如何完成我想做的事情。我假设我需要在家庭网络上的所有 Windows 客户端上设置静态路由,以将发往 192.168.2.x 的流量发送到 Windows 2008 VM (192.168.1.52),在所有 VPS 上设置路由,以将发往 192.168.1.x 的流量发送到 Windows 2008 VM (192.168.2.100),然后在 Windows 2008 VM 上执行某些操作,使其根据需要在其物理和虚拟网络接口之间进行适当转发。这在理论上很棒,但到目前为止,我从未需要在 Windows 或 Linux 上设置静态路由,而且我不知道如何设置,也不知道如何让 Windows 2008 VM 设置履行其作为中间人/路由器的角色。
一些附加信息:除了 Windows 2008 VM,我的家庭网络上还有一个 Ubuntu Server VM。如果在这种情况下使用 Linux 机器作为中间人更容易,那么我可以这样做。我将 Windows 机器包含在虚拟网络中,因为我希望 VPS 能够轻松访问其服务,但如果我们可以将两个子网连接起来,那么它们显然无论如何都能做到这一点。
有人能帮我指导一下吗?如果我的方法从根本上存在缺陷,那么我愿意听取关于如何完成我想做的事情的其他建议。