连上国外VPN/SSH后还是打不开twitter等网页怎么办,从DNS污染说起

域名服务器缓存污染(DNS cache poisoning),又名域名服务器快取侵害(DNS cache pollution),是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址(参考维基百科)。我博客里经常提到的GFW DNS污染,就是GFW通过一定手段将你的域名解析到错误的IP的情况,一般我们使用VPN/SSH过程中就可以防止DNS污染,不过如果VPN/SSH配置不当连接VPN/SSH后依然会有DNS污染发生,这样就导致了像twitter这样被DNS污染的网站无法访问,而像我博客igfw.tk这样域名只是被关键词过滤的网站却可以打开的情况发生。

一、Windows XP系统PPTP/L2TP VPN问题

Windows XP系统连接PPTP VPN或L2TP IPSec VPN后,会发现VPN接口配置的DNS的优先级不够而无法对内部主机进行解析(Windows 7系统不存在此问题)。如果你系统设置的默认DNS服务器是国内DNS服务器,就会导致虽然已经连上了VPN但是无法打开youtube、twitter等网站的现象,这是因为系统默认的DNS还是原来的本地连接的国内DNS,依旧被劫持中。

要解决此问题,请编辑注册表以便将“远程访问服务”连接移至绑定顺序中的最优先位置(参考):

  1. 单击“开始”,单击“运行”,在“打开”框中键入 regedit32,然后单击“确定”。
  2. 单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage
  3. 在右窗格中,双击“Bind”。
  4. 在“数值数据”框中,选择“\Device\NdisWanIp”项,按 Ctrl+X,单击设备列表的顶部,然后按 Ctrl+V。
  5. 单击“确定”,然后退出注册表编辑器。

通过该操作,调整了TCP/IP的绑定序列,将VPN拨号等初级接口的优先级调整为第一。这样,通过该端口得到的TCP/IP属性会被优先使用。重启系统后再连接VPN你就可以打开youtube、twitter等网站了。

二、Windows系统OpenVPN问题
有些openvpn服务商的配置没有充分考虑我国特殊国情,导致openvpn连接上服务器之后DNS解析依然使用本机默认DNS服务器,如果你系统设置的默认DNS服务器是国内DNS服务器,就会导致虽然已经连上了openvpn但是无法打开youtube、twitter等网站的现象。这个问题openvpn服务商是完全可以避免的,即使你已经发生了这种情况也可以很容易地自行解决。解决方法很简单,在你openvpn配置文件(写字板打开.ovpn文件修改)最顶端添加如下两行保存后重连vpn即可

route-method exe
route-delay 2

三、使用chnroutes后的问题

以前有网友反应使用chnroutes自动区分国内国外线路,实现VPN智能翻墙后无法打开youtube、twitter等网站,我当时只是说更换本机DNS服务器为国外DNS服务器即可解决,后来我发现是上面说的两种情况在作怪,按照上面的两种做法修改后,一般就不会出现此问题了。不过有时候VPN速度过慢,导致DNS在VPN通道DNS服务器上查询超时,就依然会在本机DNS服务器进行DNS查询,如果你系统设置的默认DNS服务器是国内DNS服务器,就依然会导致虽然已经连上了vpn但是无法打开youtube、twitter等网站的现象。所以如果可能尽量是设置本机DNS服务器为国外DNS服务器,这样不需上述(一、二)两个问题中的设置,就可以打开youtube、twitter等网站了。

以上问题解决的前提是你VPN连接后的确设置了VPN的DNS服务器(至于VPN不能设置其DNS服务器的情况,可以自行设置,PPTP/L2TP VPN直接在VPN拨号连接的Internet协议里设置,OpenVPN可以在配置文件中加入dhcp-option DNS 8.8.4.4 类似设置来设置),且连接VPN后查看IP为国外地址。

四、SSH代理问题

我们一般使用的ssh代理都是Socks5代理,直接设置浏览器代理都存在DNS污染问题,因为此时Socks5代理默认不加密地在本地进行DNS查询,不过Firefox浏览器可以很容易地设置Sock5远程DNS解析,可以防DNS污染,不过其他浏览用户就没有这么简单了。Firefox远程DNS解析设置方法是:

在火狐地址栏输入

about:config

点“我保证会小心”。
在过滤器中输入

network.proxy.socks_remote_dns

双击,修改值为ture,关闭页面。

不过还是有其他解决办法的,比如Firefox+AutoProxyFireFox+FoxyProxy(可设置)、Chrome+SwitchySharp的组合都可以解决此问题,其他浏览器结合.pac脚本也能解决。

当然你可以参考http://igfw.tk/archives/947使用Privoxy、Polipo、3proxy转化Sock5代理为Http代理使用就不存在此问题了,也可以配合FreeCapProxifier PE设置远程DNS解析来解决。

本文原始地址http://igfw.tk/archives/6458



来源:http://igfw.tk/archives/6458

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。

发表评论