我需要将通过特定端口(端口 7575)从公共 IP 进入服务器的流量转发到(最好)同一端口上的另一个公共 IP 地址。我在“旧”服务器上使用 Windows Server 2008 R2。
例子:
[rem device] 1.2.3.4:7575 => [Old Svr] 6.7.8.9:7575 => [New Svr] 10.11.12.13:7575
我有一个现场设备,配置为将数据传送到特定 IP,我们的服务器软件一直在该 IP 上接收和处理数据。不幸的是,我无法远程更改设备配置,而且需要一段时间才能直接进行更改。
问题是处理服务器软件正在移动到具有不同网络、不同地理位置和不同公共 IP 的新服务器。我需要“旧”服务器将端口 7575 上的传入数据包转发到新 IP:7575。
在研究如何解决此问题的过程中,我发现了许多在不同子网之间转发流量的示例,其中服务器在每个网络上都有一个 NIC。但在本场景中并非如此。
我已经在旧的 Win2K8 服务器上安装了路由和远程访问角色,希望能够获得执行所需操作的能力。我还通过了 Windows 防火墙和高级安全功能来寻找此选项。这些程序中的一个或另一个可能可以完成所需的操作,但我一直无法找出正确的规则/策略组合来实现我的目标。
答案1
Windows 确实有内置的 TCP 端口代理。只需像这样使用它:
netsh interface portproxy add v4tov4 listenport=80 connectaddress=10.11.12.13 connectport=23 listenaddress=1.2.3.4 protocol=tcp
- 需要管理员权限
- 需要你的网卡上有 IPv6
有关端口代理的更多信息:http://technet.microsoft.com/de-de/library/cc731068%28v=ws.10%29.aspx
答案2
实际上,您要求的是基本的 NAT/路由。使用端口进行路由和限制。我敢肯定,除非您在 Windows 上安装了类似 ISA/TMG 的东西,否则您无法做到这一点。
您可能更适合使用像 Juniper SSG5 这样的设备。将旧地址 NAT 为新地址,然后限制端口。
我希望这有帮助。
答案3
我深入谷歌搜索,找到了一个命令行名为 RineTD 的程序.使用以下配置:
0.0.0.0 7575 10.11.12.13 7575
我能够成功将数据包转发到新 IP,并且数据连接成功。我必须手动管理该程序,但由于这只是一个临时修复,并且设备会定期调用,因此它将一直工作,直到我可以手动重新配置设备的 IP。