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

2011年11月22日 | 分类: 翻墙相关 | 标签: , , , ,

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

一、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.net/archives/947使用Privoxy、Polipo、3proxy转化Sock5代理为Http代理使用就不存在此问题了,也可以配合FreeCapProxifier PE设置远程DNS解析来解决。

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

  1. abc
    2012年12月12日21:06

    博主,XP下的VPN接口配置的DNS的优先级问题,我试过,修改注册表后,当重新执行cmd下的ipconfig/flushdns命令后就会恢复win原始的默认配置了啊,达不到VPN的DNS优先的目的

    • iGFW
      2012年12月23日17:35

      那直接设置dns为国外的

  2. abc
    2011年11月29日16:51

    灰常好的文章,喜欢ing

  3. 风语者
    2011年11月23日20:27

    博主好文章

  4. DALLS2010
    2011年11月23日18:48

    博主你好!请问有什么办法可以解决登陆不了推特啊?facebookyoutube都可以为什么推特就是无法登陆老是密码错误,从邮箱也不行!
    还有就是有什么办法可以改善udp方式连接vpn的稳定性,老是掉线闹心啊。。。real、raptor最近都连不上,是挂了吗??怎么俺就没有成功过?希望博主能够隔一段时间发布一下还有效的vpn的情况,这样就好有的放矢省得俺们这些菜鸟老是瞎折腾,如此真是功德无量!!拜谢

    • iGFW
      2011年11月23日21:32

      如果网页可以打开,而是密码错误,这是你密码问题,我也没法呀。
      据说udp方式连接在拨号上网下可能不稳定,在局域网下没问题,老是掉线很有可能是你本身网络不稳定造成的(比如无线上网、局域网下遭arp、网速太差等)。
      real、raptor服务器不稳定吧,等其官网修复。
      隔一段时间发布一下还有效的vpn的情况,目前不太现实,我个人精力有限,要发新博文还有顾及以前的没有那么多时间和精力,如果我隔一段时间发布一下还有效的vpn的情况还会引来GFW关注导致VPN再次被封。

      • DALLS2010
        2011年11月23日23:02

        谢谢博主及时回复,确实辛苦啦!!得到你的解答心中疑惑少多了哦。。。推特问题是这样的,我是名字密码正确却怎么也登陆不了啊!!!除了注册的那一天可以,在其他地方也曾经看到不少人有这样的现象和解决方法,没有及时看。现在找不到文章,不知该怎么解决哦,无奈。。。。。。

        • 张生
          2011年11月26日13:21

          清除cookie后再登陆,要不重新注册一个账号。

  5. 子洵
    2011年11月23日15:21

    请问大侠,什么Sock5代理是最安全的,非要讲它改为Http代理呢?Http代理理应安全系最差的,但为什么DNS污染却对Http代理不起作用??

    • iGFW
      2011年11月23日15:49

      加密了就安全了。
      Sock5可以在本机或远程解析域名
      Http在远程解析域名

  6. fish
    2011年11月23日12:43

    最近买了路由器,连接vpn成功,却打不开任何被封的网站,原来是dns污染造成的。打开路由器设置界面,找到“网络参数”中的“WAN口设置”-“高级设置”,然后勾选“手动设置DNS服务器”,把“DNS服务器”和“备用DNS服务器”分别改为8.8.8.8和8.8.4.4,然后点击”保存”按钮即可。

  7. 石头
    2011年11月22日21:20

    最近卡巴斯基更新无论用国内服务器还是国外服务器感觉超级慢,甚至有时速度只达到1Bk,不知道什么原因,而用vpn搭桥更新的话,稍微要快点

    • iGFW
      2011年11月23日08:56

      这个可以向卡巴斯基官方反馈

  8. 新人
    2011年11月22日19:15

    博主!乃神人也!看了這篇終於找到最近想要的《也可以配合FreeCap、Proxifier PE设置远程DNS解析来解决》
    不過照你的步驟重新啟動電腦.. vpn還是照舊達不到目標

    • iGFW
      2011年11月22日21:22

      本文的前提是你VPN可以正常连接,且连接后查看IP为国外。

      • 新人
        2011年11月23日09:59

        我知道!意思是我找到最近想找的軟件!回帖下感謝下