我在同一个局域网中拥有 2 台服务器(连接到同一个交换机)。每台服务器都有自己的专用公共 IP 地址。假设为 1.1.1.1 和 1.1.1.2。我运行的是 Windows Server 2003。我有 2 台游戏服务器。每台服务器都在自己的端口上运行,但在同一台服务器上。例如
- 游戏服务器1:1.1.1.1:1234
- 游戏服务器2:1.1.1.1:1235
我想在与现在相同的服务器中运行游戏服务器 1。我想在其他服务器(公网 IP 为 1.1.1.2 的服务器),但我想继续使用相同的 IP 和端口(1.1.1.1:1235)。
如何在不购买路由器的情况下解决这个问题?我可以使用 VPN 吗?除了 VPN 之外,还有其他更简单的解决方案吗?VPN 会明显影响性能吗(考虑到它们都在 LAN 中)?
我实际上根本不需要使用 IP 1.1.1.2。
答案1
您可以在它们前面放置一个非常小的 *nix 盒子并配置 NAT/端口重定向(伪装)。这将有利于提高性能。或者,您可以研究反向代理解决方案,尽管并非所有解决方案都具有处理 UDP 流量的能力,如果您的游戏服务器使用的是 UDP 流量的话。
看看 Soekris 和 WRAP 是否有小型 *nix 硬件,它们可以作为高效的网络设备。在澳大利亚,Yawarra (yawarra.com.au) 零售这些硬件,他们的网站上也有关于这些设备的详细信息。
答案2
为什么不直接更新客户端以使用新 IP?更好的办法是,给他们一个 DNS 别名,这样他们就不必为下一次更改进行更新
无论如何,对于肮脏的工作人员:
在第一台服务器上安装 RAS 功能。选择执行 nat。然后在 nat 选项卡上,添加端口 1235 的条目(根据需要选择 tcp 或 udp),并转发到另一台服务器的 ip。
我不知道它是否可以足够快地处理 60Mb/s 的流量而不会出现延迟(对于游戏而言)。
在服务器 1 上,网络接口使用率将增加一倍:
- 发往服务器 2 的数据包进入(入站),
- 它将它们转发给另一个(出站),
- 服务器 2 将回复服务器 1(入站),
- 服务器 1 将回复给客户端(出站)
我从未尝试将流量转发到同一外部接口上的 IP,因此 GUI 可能会阻止你