google-cloud-platform - 即使设置了 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?任何帮助,将不胜感激。
解决方案
我遵循 GCP 文档 [1],尝试通过在我的 Linux 机器上的 102 端口上运行 iperf3 来复制这种情况,并注意到连接成功。似乎因为在端口 102 上的 linux 机器内部没有应用程序/服务侦听似乎会导致问题。尝试使用 iperf3 并测试端口 102 上的连接,看看问题是否仍然存在。
[1] https://cloud.google.com/community/tutorials/network-throughput
推荐阅读
- grafana - 将整个指标缩小到 grafana 中的一个实例
- python - Python 3.6 使用 defaultdict 和 Counter
- parallel-processing - FMPy 和 Dymola 并行化
- php - PHP - 运行函数返回空页面
- xml - 在 groovy XMLslurper 中过滤特定标签
- oracle - Oracle 将 hhmmss 转换为 hh:mm:ss
- c# - 如何处理 luis.ai 中预定义实体和自定义实体之间的冲突
- firebase - 用于实时搜索/提前输入的 Firebase 数据建模
- javascript - 如何区分用于 DOM 函数的相同 div?
- spring - 从 Spring-dependency-management 插件中提取依赖版本