VPS 仅允许人们通过 ssh 连接或以某种方式访问​​服务器上的服务后才能访问 Garrys Mod 游戏服务器

VPS 仅允许人们通过 ssh 连接或以某种方式访问​​服务器上的服务后才能访问 Garrys Mod 游戏服务器

我遇到了一个相当奇怪的问题,在重新安装 VPS 多次后甚至在切换发行版时仍然存在(我从 Ubuntu 18 切换到 16,然后切换到 CentOs 7。所有发行版都有相同或类似的问题,但是我只确认了我将在 CentOS 上讨论的所有细节,这也是服务器现在正在运行的)。

我的服务器当前运行 CentOS 7,上面有一个标准的网络服务器和一个 garrys mod 游戏服务器。

每次有人尝试连接游戏控制台时都会使用适当的 IP 和命令。

这些端口确实打开并且正常工作。我已经使用外部工具进行了验证,服务器识别出它们是打开的。

问题:

为了确认问题的具体情况,我让几个朋友做了一个实验。结果如下。

注意:反复尝试加入无法解决问题。我已多次验证了这一点,人们能够连接的唯一方法是完成我下面提到的操作。

甲: A 就是我。我使用 ssh 设置服务器后就能立即连接。

乙: B 是我的朋友。他无法连接,由于他的时间限制,我也没有进行进一步的实验。

丙: 我让 C 尝试连接,但没有成功。但是他请求访问 ssh,在提供后,他在服务器上乱搞了一通,但最终他什么都没做,只是重启了服务器,然后再次尝试,并能够加入。此后,他始终能够加入,而无需再次访问 ssh。

人物D: 现在 C 已经解锁了,我想看看发生了什么。我和 C 之间唯一的共同点似乎是我们都使用 ssh 访问了服务器。我让 D 再次尝试连接 gmod,但没有成功。之后,我教他如何将 putty 和 ssh 下载到我的服务器。我让他立即退出 SSH,然后让他尝试连接服务器。成功了。

E先生: 这是我仍感到困惑的地方。我认为连接到 ssh 可能会将 ip 列入白名单,禁止连接。但是,如果这是真的,下面的方法将无法奏效。为了进一步测试这个问题,我想到了一些可以让人们连接的其他服务。我认为最简单的方法就是使用网络服务器,但我从未想到它会起作用。在 CentOS 7 中安装普通的网络服务后,我请 E 帮忙。再次验证他之前无法连接,我让他访问我服务器上托管的网站。由于某种原因,他无法加载网站,但在尝试加入 gmod 后,它立即让他通过了。

F先生: 我尝试了与 E 相同的操作,但 F 能够加载网站并随后加入服务器。在加载网站之前,他再次无法加入,即使我尝试了 2-3 次,并重新启动了游戏和服务器,他仍然无法加入。

在尝试通过 ssh 或 webserver 连接并重试之前,服务器控制台也没有对任何连接尝试做出反应。其他游戏服务器似乎运行良好,但需要进一步测试。

这让我得出以下结论:人们只有访问位于同一台机器上的其他服务时才能够连接到游戏服务器。

我认为可能是也许服务器提供商有某种安全功能,只允许某些应用程序运行。如果这是真的,它似乎还会将通过“受信任服务”连接的任何 IP 列入白名单。这纯粹是猜测,我的提供商没有回复我的任何询问。

这似乎不是一个游戏服务器特有的问题,因为游戏支持也完全受阻,而且我无法完全确认任何其他游戏服务器是否正常工作,因为我没有时间和人力在其他游戏上进行测试。

即使这个问题无法解决,但这毕竟是一个有趣的谜团。

答案1

解决方案如下:

在等待/与支持人员争执了很长时间并做了更多测试后,我们发现我收到的服务器是第一批拥有新 DDOS 保护系统的服务器之一。我的服务器使用的端口不在“受信任”端口列表中,因此每个试图通过该端口连接的 IP 都被阻止了。除此之外,我没有从他们那里得到更多信息。我假设连接到“受信任”端口上的服务会暂时将 IP 列入白名单。不过这只是猜测。

抱歉,这个问题的结局不太令人满意。感谢所有试图提供帮助的人

相关内容