我有一个使用 8182 端口的服务器服务。有人想连接到这个端口,但是 8182 端口对他来说不可用,只有 5118 端口可以正常工作。
我认为没有问题,我只需安装端口转发软件(服务),我设置为:“如果有人连接到 5118,我会重定向到 8182”。
但我找不到任何值得信赖的(免费)好软件。我试过Rouvali Windows 端口转发服务,但它只在日志中显示错误。
我有无法控制路由器,因为这是一个虚拟的、租用的服务器。
因此,请向我推荐一些可以在持久模式下重定向此端口的免费 Windows 服务(应用程序)。
你好!
事实上netsh
并没有成功。
首先netstat
不显示绑定的端口。
但接下来我发现本文。这说明我需要安装 IPv6 支持。
我安装了它,然后重启了服务器。之后,netstat
显示所需的端口,但在连接(本地或远程)时,我得到:
Socket error: An existing connection was forcibly closed by the remote host. (10054), on API 'recv'
下一步该怎么做?
答案1
netsh interface portproxy add v4tov4 5118 127.0.0.1 8182
netsh interface portproxy add v6tov6 5118 ::1 8182
请注意,该服务将视用户为从“localhost”连接,这对于日志记录目的来说可能是不希望的。
答案2
必须启用并运行“IP Helper”服务!
答案3
您还可以尝试:
netsh routing ip nat add portmapping "LAN NAME" tcp 0.0.0.0 5118 192.168.0.3 8182
其中192.168.0.3是目标服务器ip。
如果端口 5118 来自互联网,则该端口必须在您的防火墙/路由器中打开。
答案4
在论坛上发现:
您需要安装 IPv6(运行->设置->控制面板->网络连接->本地连接->属性->安装->协议->Microsoft TCP/IP 版本 6),否则此功能将无法使用。这是 netsh 中的一个已知错误,微软似乎不会修复它。
以下是微软知识库文章: