【问题标题】:Site-to-site VPN on GCP using Strongswan使用 Strongswan 在 GCP 上的站点到站点 VPN
【发布时间】:2020-11-16 03:22:04
【问题描述】:

我通过引用https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ikev2-vpn-server-with-strongswan-on-ubuntu-20-04在 GCP Compute engine(Ubuntu 20.04) 上安装了 strongswan VPN

有 3 个不同的项目,我从 Strongswan VPN 计算引擎为所有人设置了一条隧道。

下面是ipsec.conf文件

conn strongswan-to-ops
    ikelifetime=600m # 36,000 s
    keylife=180m # 10,800 s
    rekeymargin=3m
    keyingtries=3
    keyexchange=ikev2
    mobike=no
    ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384,aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024!
    esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1!
    authby=psk
    left=172.x.x.x # In case of NAT set to internal IP, e.x. 10.164.0.6
    leftid=172.x.x.x
    leftsubnet=192.x.x.x/24
    leftauth=psk
    right=[gateway IP]
    rightid=[gateway IP]
    rightsubnet=172.x.x.x/16
    rightauth=psk
    type=tunnel
    auto=start
    dpdaction=restart

IPsec 状态显示

Security Associations (2 up, 0 connecting):
strongswan-to-ops[4]: ESTABLISHED 46 minutes ago, 
strongswan-to-ops{3}:  INSTALLED, TUNNEL, reqid 2, ESP in UDP SPIs: c233fb9c_i 17261c13_o
strongswan-to-ops{3}:   192.x.x.x/24 === 172.x.x.x/16

但仍然无法访问其他项目上的 HTTP 服务器/其他虚拟机

【问题讨论】:

  • 您是否设置了 Google Cloud Firewall 规则以允许在 VPC 内进行访问?您的问题需要更多详细信息。
  • 是的,我允许 strongswan 计算引擎的所有协议和端口
  • Strongswan 计算引擎是否需要启用 IP 转发?
  • 是的,您需要在创建VM实例时启用IP Forwarding,否则Google Cloud会对数据包进行严格的源和目标检查:cloud.google.com/vpc/docs/using-routes#canipforward
  • 不是直接的。我还没有这样做,但我认为您可以拍摄快照或图像。然后从快照/图像创建一个新实例,并在创建过程中设置 IP 转发标志。如果您使用的是静态 IP 地址,请将它们从旧实例中释放并分配给新实例。

标签: google-cloud-platform vpn tunneling ipsec strongswan


【解决方案1】:

在 GCP 计算引擎上,IP 转发已关闭,所以这就是问题所在。

我拍摄了 Compute Engine 的快照并使用它创建新的,并将 IP 转发标记为 ON。

【讨论】:

    最近更新 更多