在 Windows Server 2019 中,端口转发到本地 IP 不起作用

在 Windows Server 2019 中,端口转发到本地 IP 不起作用

我想运行使命召唤 4 主机服务器。

首先,我在 Google 云平台上安装 Windows Server 2019。之后,我安装了使命召唤游戏服务器并运行它在本地 IP 上运行10.128.0.4:28960 您可以将游戏加入到服务器内的这个本地 IP 地址,一切正常,但我想将它暴露给其他世界。

我的服务器 IP 地址是34.67.221.157

我按照以下步骤将端口转发到本地 IPWindows 服务器中的端口转发

  1. 我把 IP 地址设为静态10.128.0.4
  2. 使用此命令进行端口转发
    netsh interface portproxy add v4tov4 listenaddress=10.128.0.4 listenport=28960 connectaddress=34.67.221.157 connectport=28960__> 命令运行成功
  3. 之后我将此端口添加到防火墙中
    netsh advfirewall firewall add rule name=”forwarded_CODport_28960” protocol=TCP dir=in localip=10.128.0.4 localport=28960 action=allow__> 命令成功运行

之后我尝试34.67.221.157:28960从我的游戏中连接,但无法连接

服务器连接超时

以下是所有这些命令成功执行后显示的内容截屏

我是 Windows Server 新手,我错过了哪些步骤,请告诉我

答案1

我认为你在第 2 步中把“倾听”和“联系”两个部分搞错了(见这个例子,其中规定“如果您想要路由到 IP 为 192.168.0.1 的设备上端口 8888,则应分别使用这些值作为“connectport”和“connectaddress””。

此外,我认为您在步骤 3 中使用了错误的 IP(“内部”IP,而不是“外部”/公共且向互联网开放的 IP)。

尝试以下步骤 2:

netsh interface portproxy add v4tov4 listenaddress=34.67.221.157 listenport=28960 connectaddress=10.128.0.4 connectport=28960

这将确保服务器监听来自34.67.221.157:28960互联网的流量并将该流量“转发”到您的内部服务器,我相信这是您的意图。注意:如果它与相同,10.128.0.4:28960您也可以省略,即这将得到相同的结果:connectportlistenport

netsh interface portproxy add v4tov4 listenaddress=34.67.221.157 listenport=28960 connectaddress=10.128.0.4

至于步骤 3,也使用其他 IP(注意我更改了参数的 IP localip):

netsh advfirewall firewall add rule name=”forwarded_CODport_28960” protocol=TCP dir=in localip=34.67.221.157 localport=28960 action=allow

请记住撤消之前运行的命令以删除不正确的规则,尤其是步骤 2 中的规则:

netsh interface portproxy delete v4tov4 listenaddress=34.67.221.157 listenport=28960

查看文档这里的命令netsh interface portproxy包括上述命令以及其他一些命令。

相关内容