建立 VPN 隧道后,GCloud 无法通过 ssh 连接

建立 VPN 隧道后,GCloud 无法通过 ssh 连接

我在 Google Cloud 上有一个虚拟机用作 VPN 网关。我已按照此文档中的步骤操作https://cloud.google.com/vpc/docs/special-configurations#settingupvpn

我使用的 ipsec.conf 是:

conn cnt
  authby=psk
  auto=start
  dpdaction=hold
  esp=3des-sha1
  forceencaps=yes
  ike=3des-sha1-modp1024
  ikelifetime=1440m
  keyexchange=ikev1
  mobike=no
  type=tunnel
  left=%any
  leftid=x.x.x.x
  leftsubnet=10.0.1.0/24
  leftauth=psk
  leftikeport=4500
  right=x.x.x.x
  rightsubnet=0.0.0.0/0
  rightauth=psk
  rightikeport=4500

在我启动 strongswan 服务器之前,一切都运行正常。vpn 连接成功,但一旦成功,ssh 会话就会失败,我无法再次启动它。我使用过浏览器控制台,尝试过从 gc shell 尝试过,尝试过从我的电脑尝试过,但它一直不让我进入。

我收到的错误信息如下:

OpenSSH_7.4p1 Debian-10+deb9u6, OpenSSL 1.0.2r  26 Feb 2019
debug1: Reading configuration data /home/myusername/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "x.x.x.x" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.

它在那里停留了几分钟,然后我收到这个错误:

ssh: connect to host x.x.x.x port 22: Connection timed out
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

我尝试使用另一个 ssh 密钥,删除已经生成的密钥并创建了新的密钥,但没有效果。

我也检查了防火墙,我相信它配置得很好,但我还认为问题就出在那里。

我使用以下命令配置了防火墙:

gcloud compute firewall-rules create ssh --source-ranges 0.0.0.0/0 \
    --allow tcp:22 \
    --network vpn-network

我也改变了该防火墙规则的优先级,但仍然不起作用。

我也用另一个实例、ips 和区域从头重复了该过程,并且一旦 vpn 建立,ssh 连接就会失败。

我也尝试过增加磁盘大小,但没有成功。

我已经连接到串行控制台,看起来虚拟机中的一切运行正常,并且 VPN 正在按预期运行。

任何帮助都将不胜感激:)

答案1

您可以进行跟踪路由并确认通过端口 22 的网络流量在何处被阻止:

$ traceroute -T -p 22 <IP address>

还请检查您是否在本地站点配置了正确的防火墙规则,以允许网络流量通过端口 22。

如果内部防火墙规则正确,您可以在此处分享跟踪路由结果。

相关内容