如何模拟到 Google 云的 VPN 连接?

How do I simulate a VPN connection to Google Cloud?

所以我设置了 GCP 和 Kubernetes,我在 GKE 集群的 pods 上有一个 Web 应用程序 (Apache OFBiz) 运行。我们有一个指向网络应用程序的域,因此基本上可以从互联网上的任何地方访问它。我们的问题是因为这是一个学校项目,我们希望将对 Web 应用程序的访问限制为 GCP 上的内部网络,我们希望模拟 VPN 连接。我设置了一个 VPN 网关,但我不知道如何在任何随机计算机上模拟到 GCP 上内部网络的连接。我还需要其他东西来完成这项工作吗?主机上连接GCP的步骤是什么?最后,我该如何限制对 webapp 的访问,以便只有内部网络中的人才能访问 webapp?

既然你说这是一个学校项目,我建议你向你的老师寻求更直接的建议。也就是说,您不能“模拟”VPN,但您可以在笔记本电脑或其他任何设备上设置 IPSec 客户端并实际连接到它。不幸的是 Google 似乎没有任何关于此的文档,所以我猜他们假设您已经足够了解 IPSec 来自己编写连接配置。

使用 kubectl port-forward 可能是更简单的解决方案。

当我想测试 VPN 时,我只需在我的项目中创建一个新的 VPC,然后将两者都连接到 Cloud VPN。然后,在新的VPC中,您可以创建虚拟机来模拟VPN另一端的计算机,从而模拟您想要的。

要在 GCP 上设置 VPN,您可以使用 Cloud VPN using static or dynamic routing,您需要从要访问 GCP 资源的位置配置远程对等点,以建立与 GCP 端的 Cloud VPN 网关的连接. 这意味着您可能需要支持在本地创建 VPN 隧道的路由器,或者使用充当路由器的主机来使用 VPN software towards Cloud VPN (like Strongswan 建立此连接。

您可以使用 GCP firewall rules 阻止外部访问您的 VPC 网络上的资源,并根据需要允许特定端口或源 IP 范围。

另一个选项,即使它不是 VPN 或加密流量,也只允许来自 public IP 的入口流量从您想要连接到您的内部 VPC 的地方,但这不太安全并且仅当您的内部部署有静态 public IP 时才有效。