14

我已经使用以下服务器端配置设置了一个 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 Ultimate 中运行 Open VPN 2.1.4。服务器是默认启用 TUN 的 Ubuntu 10.04 安装。

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

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

不确定这是否会有所帮助。

请帮忙!

谢谢!

4

1 回答 1

23

您正在使用该标志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 路由发送,然后从那里发送到谷歌。问题是,原始地址将保持不变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 手册中也有解释。我希望这可以解决您的问题,但是从描述中我无法确定您是否启用了任何 NAT 转换,所以这可能根本没有帮助 :-)

于 2011-02-24T15:51:57.753 回答