【问题标题】:Google Cloud Compute Engine refusing connections despite firewall rule尽管有防火墙规则,谷歌云计算引擎拒绝连接
【发布时间】:2019-05-10 08:54:36
【问题描述】:

我正在尝试在运行 debian 的 GCE 实例上设置 VNC 服务器。通常我通过 SSH 连接,但对于其他一些用例,我需要一个图形界面。我有一个非常基本的防火墙规则,看起来像这样

但是当我使用 netcat 检查端口 5901 上的外部 IP 时,我发现连接被拒绝。检查像 22 这样的端口可以工作,但其他端口都不能让我连接。我在这里错过了一步吗?

【问题讨论】:

标签: google-cloud-platform google-compute-engine


【解决方案1】:

与您的问题相关的最常见问题是应用程序/服务器配置为localhost127.0.0.1,这意味着仅接受本地计算机上的连接。您需要与0.0.0.0 绑定,这意味着侦听所有可用网络。

从公共网络(系统外部)连接时,Connection refused 表示没有人在监听。这不是防火墙规则问题,因为错误消息表明连接没有被阻止(无响应)而不是被拒绝(权限被拒绝)。

通过 SSH 连接到您的实例。然后运行这个命令:netstat -a。在您的端口号上查找写有LISTENING 的行。然后查看IP地址。如果它显示127.0.0.1,这就是你的问题。如果您在LISTENING 状态下没有看到您的端口号,那么您没有在该端口上侦听的进程。

【讨论】:

  • 这是我看到的imgur.com/a/KiMIN5B 运行 netcat localhost 5901 也显示了一个在那里监听的进程
  • 端口 5901 正在监听本地主机。这意味着您只能从机器内部连接到此端口。您需要更改软件以收听0.0.0.0localhost 转换为 127.0.0.1。这个地址是一个私有地址,意思是my-system。每台具有 TCP/IP 堆栈的计算机都有 127.0.0.1 作为其内部loopback 地址。
  • 对不起,如果这无关紧要,但是如果我正在尝试启动 VNC 服务器,您知道该怎么做吗?
  • 不同的主题。创建一个新问题。
  • @Magoo - 取决于代码/库。创建一个新问题。通常您指定0.0.0.0。请注意,您没有绑定到该地址,您正在侦听所有网络接口。 0.0.0.0 不是 IP 寻址范围内的真实/有效地址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
  • 2021-05-05
  • 2020-08-03
  • 2017-10-12
相关资源
最近更新 更多