首页 > 解决方案 > 停止/启动后无法通过 SSH 连接到谷歌计算虚拟机实例

问题描述

我在 Google Cloud 实例上安装了一个 Bitnami Wordpress(单站点)虚拟机,它运行良好,直到我停止/启动该实例。这样做之后,我的网站出现故障,我无法再使用浏览器或 OSX 终端通过 SSH 访问它。我收到以下消息:“我们无法连接到端口 22 上的 VM”

我仔细检查了谷歌云上的防火墙—​​—我没有改变默认设置——一切似乎都很好。

它不是 Pingable,我什至尝试跟踪到服务器的路由,但它到达 216.239.42.191 然后在到达我的 VM 之前停止。

所以我尝试使用串行控制台进行连接,它充满了:

Sep 30 07:44:17 localhost kernel: [43306.942210] IPv4: martian source  10.128.0.2 from 74.125.73.34, on dev eth0
Sep 30 07:44:17 localhost kernel: [43306.949531] ll header: 00000000: 42 01 0a 80 00 02 42 01 0a 80 00 01 08 00    
    B.....B.......
[43317.271565] IPv4: martian source 10.128.0.2 from 10.128.0.1, on dev eth0
[43317.278571] ll header: 00000000: 42 01 0a 80 00 02 42 01 0a 80 00 01 08 06        B.....B.......
Sep 30 07:44:28 localhost kernel: [43317.271565] IPv4: martian source 10.128.0.2 from 10.128.0.1, on dev eth0
Sep 30 07:44:28 localhost kernel: [43317.278571] ll header: 00000000: 42 01 0a 80 00 02 42 01 0a 80 00 01 08 06    
    B.....B.......
[43377.265708] IPv4: martian source 10.128.0.2 from 10.128.0.1, on dev eth0
[43377.272733] ll header: 00000000: 42 01 0a 80 00 02 42 01 0a 80 00 01 08 06        B.....B.......
Sep 30 07:45:28 localhost kernel: [43377.265708] IPv4: martian source 10.128.0.2 from 10.128.0.1, on dev eth0
Sep 30 07:45:28 localhost kernel: [43377.272733] ll header: 00000000: 42 01 0a 80 00 02 42 01 0a 80 00 01 08 06

任何想法?

标签: sshgoogle-cloud-platformgoogle-compute-engine

解决方案


1 - 我建议您阅读有关如何处理“无法在端口 22 上连接”错误消息的GCP 文档。

有关如何解决 SSH 问题和解决方法的更多详细信息,请参见以下链接

2 - 既然你说这发生在你停止/启动实例之后,我高度怀疑你已经为 VM 实例分配了一个临时的外部 IP 地址。

如果是这种情况,我建议您考虑将 VM 实例 IP 地址从临时 IP 地址更改为静态 IP 地址。有关如何为 VM 实例保留静态外部 IP 地址的更多详细信息,请参阅此链接

3 - 通过查看串行控制台日志,我可以看到这里的问题与来自火星的数据包有关。因此,在 VM 上接收到的每个数据包,无论是源还是目标,都被内核丢弃,因为这些数据包被标记为具有火星源。

您可以在本文中阅读更多相关信息。提供了一些解决方案。或者,本文中还有其他解决步骤


推荐阅读