openvpn 客户端中的网页浏览问题

openvpn 客户端中的网页浏览问题

我已经在我的 vps 中设置了一个 openvpn 访问服务器。现在我住在中国,政府屏蔽了许多外国网站,例如 facebook 和 twitter。

我可以使用 vpn 服务器跨越中国的防火墙通过运行 Windows XP 的桌面访问 Twitter 等。

但是我的笔记本是xubuntu 12.04,无法突破国家防火墙,我只能通过ubuntu里的openvpn客户端,命令是“sudo openvpn --config client.ovpn”连接vpn服务器

由于桌面运行正常,我认为 vpn 访问服务器的设置没有问题。ubuntu 客户端中是否有任何特殊设置?我没有更改 openvpn 访问服务器提供的配置。

我反复在 Google 上搜索这个问题,iptables 的说明让我很困惑。而且我也在 ubuntu 中打开了 ip forward。仍然不起作用。

xubuntu中原有的路由表:

    0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
    173.224.215.16  192.168.0.1     255.255.255.255 UGH   0      0        0 wlan0
    192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0

连接vpn后的路由表:

    0.0.0.0         5.5.0.1         128.0.0.0       UG    0      0        0 tun0
    0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
    5.5.0.0         0.0.0.0         255.255.248.0   U     0      0        0 tun0
    46.x.x.x  192.168.0.1     255.255.255.255 UGH   0      0        0 wlan0
    128.0.0.0       5.5.0.1         128.0.0.0       UG    0      0        0 tun0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
    173.224.215.16  192.168.0.1     255.255.255.255 UGH   0      0        0 wlan0
    192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0

46.xxx是我的vps的公网ip。

客户端.ovpn:

    ...
    setenv FORWARD_COMPATIBLE 1
    client
    server-poll-timeout 4
    nobind
    remote 46.x.x.x 1194 udp
    remote 46.x.x.x 1194 udp
    remote 46.x.x.x 443 tcp
    remote 46.x.x.x 1194 udp
    remote 46.x.x.x 1194 udp
    remote 46.x.x.x 1194 udp
    remote 46.x.x.x 1194 udp
    remote 46.x.x.x 1194 udp
    dev tun
    dev-type tun
    ns-cert-type server
    reneg-sec 604800
    sndbuf 100000
    rcvbuf 100000
    auth-user-pass
    # NOTE: LZO commands are pushed by the Access Server at connect time.
    # NOTE: The below line doesn't disable LZO.
    comp-lzo no
    verb 3
    setenv PUSH_PEER_INFO
    ...

我省略了 ca、密钥等等。

提前致谢。

答案1

我已经找到问题所在了!这是由于中国国家防火墙

中国的DNS服务器全部被污染,导致“twitter”、“facebook”等网站被重定向到不存在的目标,这样就导致这些网站在中国无法访问。详情见链接DNS 缓存中毒

因此使用VPN服务器进行dns查找可以解决这个问题,只需在openvpn配置文件(client.ovpn)中添加两行:

up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

还要确保该resolvconf包已安装在客户端上,因为该脚本依赖于它。

现在OpenVPN访问服务器可以正常帮助我突破中国国家防火墙。

相关内容