Google 计算引擎 UDP 服务仅可从外部 IP 访问

Google 计算引擎 UDP 服务仅可从外部 IP 访问

我有一个小型的、简单的 UDP 服务器,已经在多个托管地点运行多年。

我刚刚在 Google Cloud 上创建了一个新的虚拟机,即 Compute Engine,它运行的是 Linux。

小型机器(f1-micro (1 vCPU, 0.6 GB 内存) CPU 平台 Intel Sandy Bridge)的默认设置,仅进行以下更改:

  • 静态公共 IP
  • 入站防火墙规则允许服务器端口 (22000) 上的 UDP 流量

一切都运行良好,可以从世界任何地方连接,除了从机器本身(有一个统计模块,它向服务器询问信息 - 这也适用于远程,但不适用于机器本身)。这在我尝试过服务器的所有其他 Linux 机器上都有效。

我被指出改变服务器绑定的地址是一个可能的解决方案,而且由于我可以访问源代码,我尝试了所有我能想到的方法但都没有效果(绑定到 127.0.0.1、0.0.0.0、“localhost”、特定 IP...)。

我也尝试添加特定的入站出站防火墙规则。

关于如何修复无法从外部连接的情况,有很多信息 - 我的问题正好相反,而且我有很多想法。

Ping 等工作正常。

提前致谢

答案1

解决了!

显然在这些机器/内核中 UDP 套接字需要有一个名称(绑定)发送-在我安装服务器的其他机器上从来不需要。

这不是服务器管理的问题——只是看上去像是这样。

相关内容