首页 > 解决方案 > 即使设置了 VPC 防火墙规则,也无法通过特定端口连接到 Compute Engine 实例

问题描述

我有一个在 Google Cloud Platform 上运行 Ubuntu 20.04 的 Compute Engine 实例。

我希望能够通过端口 102 连接到它。为此,我通过在“VPC 网络”下的“防火墙”部分添加规则来打开此端口。规则如下所示:

在此处输入图像描述

此 VM 实例正在运行具有 IP 地址的 OpenVPN 服务器10.8.0.1。我希望能够从充当 VPN 客户端 (IP: 10.8.0.3) 的 Windows PC 连接到它。

我在 Windows PowerShell 中使用了以下命令来检查端口是否可访问:Test-NetConnection 10.8.0.1 -Port 102. 输出如下图所示:

在此处输入图像描述

如您所见,它可以 ping 通,但不能通过端口 102 连接。

我已经检查并确认 VPC 上设置的网络规则适用于有问题的 VM 实例,所以这不应该是问题。此外,客户端 PC 上的端口 102 也已打开。这可以nmap -p 102 10.8.0.3从虚拟机终端的输出中确认:

在此处输入图像描述

那么,为什么无法通过端口 102 访问 VM?任何帮助,将不胜感激。

标签: google-cloud-platformportgoogle-compute-engineopenvpngoogle-vpc

解决方案


我遵循 GCP 文档 [1],尝试通过在我的 Linux 机器上的 102 端口上运行 iperf3 来复制这种情况,并注意到连接成功。似乎因为在端口 102 上的 linux 机器内部没有应用程序/服务侦听似乎会导致问题。尝试使用 iperf3 并测试端口 102 上的连接,看看问题是否仍然存在。

[1] https://cloud.google.com/community/tutorials/network-throughput


推荐阅读