我正在尝试为只能侦听一个端口的应用程序转发现有端口。问题是该程序和防火墙位于同一台计算机上(Windows Server 2008 R2)。
例如,我的应用程序监听端口 65000。用户可以从 example.com:65000 访问它。但我想为用户添加从 example.com:64000 访问它的可能性。服务器将像 NAT 一样运行,但在同一台机器上,将请求数据包的目标端口从 64000 更改为 65000,将响应数据包的原始端口从 64000 更改为 65000。
就我所能做的而言,我只在第一阶段成功了,使用目标端口。但服务器响应错误地址(取决于我设置的参数,如果我保留源地址或重写为 127.0.0.1)或错误源端口。这是使用 NetworkActif Autapf,但我认为我可以使用 Windows 防火墙来做到这一点...
有什么办法吗?(在 Windows Server 2008 R2 上)
提前致谢。
答案1
我只会使用像rinetd。基本上,只需让应用程序监听端口 64,000,当它收到传入连接时,与端口 65,000 建立本地连接并代理所有数据。如果您的应用程序出于某种原因需要查看远程 IP 地址和端口,则此方法无效。