networking - 如何将 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 和接口不太了解,所以有人可以指导我寻找什么吗?
解决方案
默认情况下,Google Cloud Virtual Private Cloud (VPC) 网络是隔离的私有网络域。网络具有全球范围并包含区域子网。只要防火墙规则允许,VPC 网络中的虚拟机实例就可以使用内部 IP 地址相互通信。但是,网络之间不允许进行内部 IP 地址通信,除非您设置了VPC Network Peering或Cloud VPN等机制。
推荐阅读
- python - 无法使用 Selenium 登录网站
- python - Tkinter scale/slider .get() 值在函数中不更新
- scala - 如何正确链接路由
- c++ - 矩阵在某些位置没有得到值
- r - R读取带有自由文本列的URL表
- python-3.x - MemoryError:无法为形状(287318、3704243)和数据类型 float64 的数组分配 7.74 TiB
- android - Android Kotlin Firestore 时间戳范围查询
- html - 使用行跨度引导表悬停以突出显示单元格所属的所有行
- slack - 在没有第三方服务的网站上嵌入 Slack 频道
- reactjs - 如何在反应中将道具发送到已经可见的组件