openvpn - 连接到openVPN后无法浏览互联网

时间:2011-02-22 01:49:15

标签: windows-7 openvpn

我使用以下服务器端配置设置了一个openVPN隧道:

port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
client-to-client
log-append /var/log/openvpn
group daemon
daemon
verb 3

和客户端配置文件如下:

client
remote ******* 1194
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
verb 3

然而,在连接时,我可以毫无问题地ping 10.8.0.1,但我甚至无法访问Google。

我在Windows 7旗舰版中使用管理员权限运行Open VPN 2.1.4。服务器是Ubuntu 10.04安装,默认情况下启用了TUN。

我能在日志中找到的唯一可疑部分是这样的:

Mon Feb 21 20:44:33 2011 C:\WINDOWS\system32\route.exe ADD ********* MASK 255.255.255.255 192.168.1.1
OK!
Mon Feb 21 20:44:33 2011 C:\WINDOWS\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 10.8.0.5
OK!
Mon Feb 21 20:44:34 2011 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 10.8.0.5
OK!
Mon Feb 21 20:44:34 2011 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
OK!
Mon Feb 21 20:44:34 2011 C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
The route addition failed: The object already exists.
Mon Feb 21 20:44:34 2011 Initialization Sequence Completed

不确定这是否有帮助。

请帮忙!

谢谢!

1 个答案:

答案 0 :(得分:21)

您正在使用标记redirect-gateway def1,因为它会通过VPN重定向您的所有流量。

如果您在服务器上配置了NAT或任何其他地址翻译,我无法从您的帖子中看到,但我的猜测是,数据包只是通过您的VPN路由,然后无法返回到您的客户端。

如果您的VPN客户端是10.8.0.2且您的服务器是10.8.0.1且互联网IP为12.12.12.12: 您对谷歌的通话将从10.8.0.2通过VPN路由发送,然后从那里发送给Google。问题是,原始地址将保持为10.8.0.2,因此答案数据包永远不会找回给您。您必须添加一些转换方法,这些转换方式会将数据包转换为10.8.0.2并将其转换为12.12.12.12并返回:

  

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

OpenVPN Manual中也对此进行了解释。我希望这能解决你的问题,但从描述中我无法确定你是否启用了任何NAT转换,所以也许这根本没有帮助: - )