带有 OpenVPN 的 Google Compute Engine 上的 VPN 服务器

OZ_*_*OZ_ 13 vpn openvpn google-compute-engine google-cloud-platform

我正在尝试使用 Google Compute Engine 服务器作为我所有流量的 VPN 服务器(我住在俄罗斯,我们在这里的审查有一些问题)。

GCE 上有关于VPN 的迷你教程,但它是关于 GCE 内部 2 个服务器之间的网络,而不是 OpenVPN。

我已经完成了另一个教程中的所有步骤,关于在 Debian 上使用 OpenVPN 设置 VPN,我可以从客户端连接到 VPN,但是我无法打开连接(甚至无法 ping google)。在服务器上,我可以像往常一样 ping 和下载所有内容。

我在 Linode 上安装了具有相同设置的 VPN,并且运行良好。所以问题在于 GCE 网络路由或防火墙规则。

我尝试了很多变体,但没有任何效果。请查看设置并告诉我应该更改什么。

// 删除了配置行,因为问题已解决 //

Shi*_*vox 7

您可以通过以下两种方式之一解决尽管可以 ping、traceroute...但无法通过 VPN 浏览网页的问题:

首先,您可以使用 TCP 协议而不是 UDP,通过在客户端和服务器 conf 文件中将 'proto udp' 更改为 'proto tcp'。

其次,您可以通过在客户端和服务器 conf 文件中将“dev tun”更改为“dev tap”来使用 tap 设备而不是 tun。

不确定是什么问题,但似乎是 Google 的问题。

  • 你是我的英雄!非常感谢!切换到 TCP 成功了。我将在单独的答案中扩展完整的“操作方法”。久违的梦想成真的感觉……谢谢! (2认同)

OZ_*_*OZ_ 7

首先,感谢@Shivox 的回答

这是快速操作方法:

  • 我建议您创建其他网络(请参阅“网络”选项卡”)。在网络首选项中,添加允许规则:tcp:22(如果不存在)、tcp:9700、tcp: 17619。这里的17619是可变的 - 将其更改为 any你喜欢的端口(范围是 9075-65534)你只需要 3 个规则和 2 个默认路由,没有别的。
  • 转到“创建计算引擎实例”,单击“显示高级选项”,允许端口转发,选择服务器的位置。
  • 现在(选择位置后),将静态 IP 添加到服务器。
  • 选择 Ubuntu 14.04 镜像(正是这个版本)。
  • 创建实例
  • 通过 SSH 连接(最简单的方法 - 使用 GCE 面板中的浏览器工具)
  • sudo su
  • apt-key update && apt-get update && apt-get -y upgrade && apt-get -y install python-software-properties && apt-get -y install software-properties-common && add-apt-repository -y ppa:pritunl && apt-get update && apt-get -y install pritunl
  • 在浏览器中打开 https://instance_ip:9700
  • 关于数据库的问题,点击“保存”
  • 在登录窗口中,用作用pritunl户名和密码
  • 现在更改管理员用户的用户名和密码
  • 添加组织,然后添加 2 个用户(适用于桌面和移动设备)
  • 单击“服务器”选项卡中的“添加服务器”
  • 使用第一步中的端口号(例如17619)和 tcp 协议。
  • 将组织附加到服务器
  • 启动服务器
  • 在“用户”选项卡中为两个用户下载密钥(里面有 ovpn 文件的 tar 档案)。

我使用 Viscosity for OS X 和 OpenVPN connect for iOS 作为客户端。在 Viscosity 中,打开“网络”选项卡中的“通过 VPN 连接发送所有流量”选项。