我想运行使命召唤 4 主机服务器。
首先,我在 Google 云平台上安装 Windows Server 2019。之后,我安装了使命召唤游戏服务器并运行它在本地 IP 上运行10.128.0.4:28960
您可以将游戏加入到服务器内的这个本地 IP 地址,一切正常,但我想将它暴露给其他世界。
我的服务器 IP 地址是34.67.221.157
我按照以下步骤将端口转发到本地 IPWindows 服务器中的端口转发
- 我把 IP 地址设为静态
10.128.0.4
- 使用此命令进行端口转发
netsh interface portproxy add v4tov4 listenaddress=10.128.0.4 listenport=28960 connectaddress=34.67.221.157 connectport=28960
__> 命令运行成功 - 之后我将此端口添加到防火墙中
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 新手,我错过了哪些步骤,请告诉我
更新:在 GCP 防火墙中打开端口
- 我删除了端口转发角色
- 在虚拟机中禁用防火墙
28960
在 GCP 防火墙中添加端口截屏- 之后我检查开放端口nmap.online 结果
启动 Nmap 7.80 (https://nmap.org) 于 2020-04-09 08:29 PDT
157.221.67.34.bc.googleusercontent.com (34.67.221.157) 的 Nmap 扫描报告
主机已启动(延迟 0.034 秒)。
港口国服务版本
21/tcp 过滤 ftp
22/tcp 关闭 ssh
25/tcp 过滤 smtp
80/tcp 关闭 http
110/tcp 过滤 pop3
143/tcp 过滤 imap
443/tcp 关闭 https
445/tcp 过滤 microsoft-ds
服务检测已执行。请将任何不正确的结果报告至 >https://nmap.org/submit/.
Nmap 完成:1.80 秒内扫描了 1 个 IP 地址(1 个主机启动)
答案1
您无需创建任何转发规则内部和外部 IP 之间。此外,您实际上不需要为外部连接保留内部 IP。
同时,你可以保留外部静态IP为外部连接使用相同的外部 IP。
解决此问题您应该遵循以下步骤:
- 删除在 Windows VM 中创建的端口转发规则
- 创建防火墙规则以允许连接到 Windows 防火墙上的端口 28960(或者只是暂时禁用它 - 您的虚拟机将受到 GCP 防火墙的保护)
- 创建防火墙规则允许从您的 IP 或任何 IP 连接到 GCP 防火墙上的端口 28960(
0.0.0.0/0
) - 检查当前打开的端口网络地图(如
nmap -p 28960 EXTERNAL_IP_OF_YOUR_VM
)或其他工具 EXTERNAL_IP_OF_YOUR_VM:28960
从你的游戏连接到(从场所)
更新:
我可以看到端口 28960 已关闭:
$ nmap -p 28960 34.67.221.157
Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-09 18:40 CEST
Nmap scan report for 157.221.67.34.bc.googleusercontent.com (34.67.221.157)
Host is up (0.20s latency).
PORT STATE SERVICE
28960/tcp closed unknown
这可能是因为 Windows 防火墙仍然处于启用状态,请按照以下步骤操作:
打开管理命令提示符并运行命令:
netsh advfirewall set allprofiles state off
或者打开 PowerShell 并运行命令:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
转到
Compute Engine
->VM instances
-> 点击NAME_OF_YOUR_VM_INSTANCE
-> 点击EDIT
-> 转到Network Tags
->添加网络标签喜欢game-server
-> 点击Save
创建临时防火墙规则:
gcloud compute firewall-rules create game-server --direction=INGRESS --priority=999 --network=default --action=ALLOW --rules=tcp,udp --source-ranges=0.0.0.0/0 --target-tags=game-server
nmap -Pn EXTERNAL_IP_OF_YOUR_VM
使用命令再次检查打开的端口nmap -p 28960 EXTERNAL_IP_OF_YOUR_VM
此外,看看这个文章检查是否需要打开更多端口然后您应该使用命令检查它们nmap -p PORT EXTERNAL_IP_OF_YOUR_VM
。