首页 > 解决方案 > 如何将 Compute Engine 实例连接到私有 VPN

问题描述

我正在尝试使用 nmcli 在远程计算机中配置 VPN。

问题是网络接口是谷歌管理的。

我已经创建了一个 VPN 连接 sudo nmcli connection add type vpn vpn-type openvpn ifname test-vpn vpn.data "ca = /home/myuser/ca.vpn.cer, connection-type = password, password-flags = 2, port = 443, proto-tcp = yes, remote = vpn.mycompany.com, username = myuser@company.com"

但是当我尝试echo "vpn.secrets.password:mypass" > pass.txt; sudo nmcli connection up vpn-mangel-vpnt passwd-file pass.txt提高Error: Connection activation failed: Could not find source connection.

我尝试更改/etc/NetworkManager/NetworkManager.conf以将 ifupdown manage 设置为 true: 在此处输入图像描述

并将这些行添加到/etc/network/interfaces 在此处输入图像描述

这样,VPN 连接(错误通过失败)但 VPN 未连接到机器网络

经过多次尝试和错误,删除动态创建的新接口后,我终于连接了 vpn,并从run/interfaces我成功连接到 vpn 的文件夹中删除了文件夹,并可以通过 ping 进行检查。几分钟后 o 失去了 ssh 连接。我已经重新启动了机器,但是如果我连接到 VPN 会丢失 ssh 连接。而且我无法在新实例中复制。

我对 VPN 和接口不太了解,所以有人可以指导我寻找什么吗?

在此处输入图像描述

标签: networkinggoogle-compute-enginevpnnmcli

解决方案


默认情况下,Google Cloud Virtual Private Cloud (VPC) 网络是隔离的私有网络域。网络具有全球范围并包含区域子网。只要防火墙规则允许,VPC 网络中的虚拟机实例就可以使用内部 IP 地址相互通信。但是,网络之间不允许进行内部 IP 地址通信,除非您设置了VPC Network PeeringCloud VPN等机制。


推荐阅读