Windows VPN 上的客户端到客户端路由

Windows VPN 上的客户端到客户端路由

我正在尝试配置一个 PPTP VPN 网络来玩局域网游戏。结构如下图所示:

网络结构

可以看到,客户端 1、客户端 2 和客户端 3 与 VPN 服务器(Windows Server 2012,使用默认的“传入连接”接口接受传入的 VPN 请求)建立 VPN 连接(使用 Windows 中集成的标准 VPN 接口),因此不需要第三方软件。

连接已成功建立(每个路由器上都已转发端口 1723),但是当一个客户端尝试托管游戏时,其他客户端看不到它(每个客户端的防火墙上都已设置了游戏使用的端口的例外),因此我假设每个客户端之间没有直接通信。

我尝试在每个客户端上取消选中“在远程网络上使用默认网关”,但这并不能解决问题。

我现在想做的是添加一些静态路由,但我不完全了解它们是如何工作的......

任何帮助将不胜感激。

答案1

对于静态路由,只需在通过 VPN 连接后在客户端上运行以下命令,并将<VPN>其替换为您的 VPN 连接的名称:

netsh interface ip show config name=<VPN>

记住“IP 地址”下列出的内容。(此外,还有“子网前缀”条目,它会根据您的计划告诉您您的网络地址。)

现在您只需通过运行以下命令并查看“接口列表”中 VPN 连接旁边的点之前的数字来获取这个奇数接口号:

route print -4

有了这些信息,您现在可以在提升的提示符下运行以下命令:

route add 192.168.1.0 mask 255.255.255.0 <IP> IF <IF>

<IP>之前获取的IP地址和<IF>接口号在哪里。

运行此命令即可。使用ping/确认tracert,或者可能再查看一下route print -4,它应该会告诉您发往特定位置的数据包将采用什么路由。

顺便说一句,看看你的计划,你可能要重新考虑使用具有相同网络地址和相同客户端 IP 的本地网络?!这行不通,在同一个网络上,IP 应该是唯一的,并且每个网络通常只有一个网络连接,在这种情况下,你有一个本地网络连接一个通过 VPN。

/编辑:另请参阅我发布的脚本如何使 Windows VPN 路由选择性流量(按目标网络)?(或在该线程中发布的另一个脚本)。

答案2

问:你想做什么?

  1. 点对点

    Windows 只允许一个 VPN 用户连接到另一个用户,因此这不起作用。

  2. 使用服务器在用户或客户端电脑上共享和分发游戏

    Windows Server 不喜欢与另一个用户或客户端共享一个用户或客户端,因此这也不起作用。

对于 Windows,服务器需要有您想要共享的游戏,此外,如果您想共享客户端,您需要服务器上的软件将其他“客户端”路由到“服务客户端”。(服务器只是一个美化的路由器!)

如果您想在 PC 上共享游戏,则需要在该 PC 上安装软件,以便让多个客户端连接到该 PC,因为 Windows 一次只允许一个 VPN 或远程。

相关内容