Ubuntu 服务器 16.04.1。我使用 ufw 打开端口 27015(未指定协议,因此同时使用 TCP 和 UDP),这是源服务器上的 RCON 访问所必需的。根据 ufw 和 iptables,端口 27015 均已打开。
$ iptables -L -v -n
{snipping other unimportant rules}
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:27015
85 4505 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:27015
$ ufw status
Status: active
To Action From
-- ------ ----
{snipping other unimportant rules}
27015 ALLOW Anywhere
因此根据我的防火墙,tcp 和 udp 端口 27015 都是打开的。
然而,其他所有应用程序都不同意这一点。
$ nmap localhost -p 27015
Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-06 16:09 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00033s latency).
PORT STATE SERVICE
27015/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
为什么 TCP 上的端口 27015 已关闭?我该怎么做才能真正打开该端口?
如果有任何变化,服务器将托管在 DigitalOcean 上。
答案1
事实证明,如果在启动服务器时未指定 IP,源服务器默认使用本地地址。但是,这种行为会导致远程控制台中断,原因我不清楚。
如果您启动源服务器,请确保像这样启动它:
./srcds_run +ip <your IP here> +port 27015
通过指定您的 IP 地址,它实际上会起作用。如果不指定 IP 地址,我假设它会尝试将 27015/tcp 绑定到 localhost,而该主机无法从外部访问。因此,外部没有任何内容在监听端口 27015/tcp,这就是端口显示为关闭的原因。