我已经在其他VPS提供商上安装了OpenVPN,并且想要试用Google的。 我喜欢谷歌的价格/性能,特别是因为我可以从我的手机上旋转机器而无需每次login。
我已经达到了客户端连接的地步,但不能上网。
我打开了防火墙的OpenVPN端口。
我在虚拟机上启用了IP转发。
客户端连接时获得IP,网关,DNS – 所有正确的东西。
我怀疑我必须build立一个路由器和/或一个路由,以便数据包从OpenVPN实例到世界。 我已经阅读了很好的文档,但是我被卡住了 – 我还不是networking专家,还在学习。 通过阅读,看起来我可以将networking转化为他们所说的“传统”结构,但是我希望能够克服这个挑战并理解发生了什么。 我认为这是因为networking被分成许多不同的子网。 相比之下防火墙只有1个networking(即Legacy)。
在我看来,我的OpenVPN将数据发送到它的子网的网关,但是从那里我认为数据包会被丢弃。 我需要从子网网关到互联网的路由吗? 甚至是子网和互联网之间的全路由器?
就像我说过的,我之前使用过OpenVPN虚拟机,没问题。 所以我非常有信心,这个问题在于configurationGoogle Cloudnetworking。
感谢您的任何提示。
这固定了它:
iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
仍然不知道为什么我必须这样做,也许Google的Debian图像比标准的Diebian实例更locking。
没有其他Google云networking需要更改。
你需要检查几件事情。
检查/etc/sysctl.conf中是否有以下指令
net.ipv4.ip_forward = 1
确保防火墙正在转发从VPN接口上的客户端收到的stream量
#OpenVPN interface=tun0 iptables -A FORWARD -i tun0 -j ACCEPT
确保你伪装出去的stream量
#WAN Interface on OpenVPN server is eth1 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE