Android翻墙总结

2012年4月8日 | 分类: 手机翻墙 | 标签: , , ,

这两天为了让手头的山寨Android tablet Ten3翻墙,折腾了半天。虽然最后还是没能成功,但对伟大的GFW和如何翻墙,有了更多的认识。

翻墙之前的首先要了解GFW是如何干扰网络连接的,具体可见 GFW封锁网络的几种常用方法。 干扰大体可以分为DNS干扰,IP封锁,TCP连接干扰,SSL干扰。翻墙的方法虽然千差万别,但基本思路都是一样:建立本地和国外服务器的加密通道,将 本地的DNS查询连接,HTTP/HTTPS中转至国外服务器。对于DNS服务,除了加密中转通道,还需要设置正确的DNS服务器(like Google or opendns)来解决DNS劫持问题。

从上面可以看到,利用国外服务器建立加密中转通道是翻墙的关键。TCP/IP连接是分层架构,因此较高层上的加密中转只能适应部分程序。 openvpn/l2tp/pptp都是较低层面的加密连接,可以让所有的本地连接加密中转。SSH的socket proxy可以加密中转http/https的接连。需要注意的是http proxy并不能处理ftp和https的中转。https的中转需要socket proxy来处理。

除了国外服务器,加密中转的另外一个问题就是如何将本地连接转发至加密通道上。openvpn/l2tp/pptp在内核空间增加了一个 network adapter,所以只需要通过路由表就可以进行转发。对于http/socket proxy通道,如果application支持proxy,则可以自动转发;反之则需要利用iptables将http/https连接通过 transparent SOCKS proxy转成socket proxy。

当加密中转连接到到服务器端时,还需要在服务器端做一些设置以便进行中转。openvpn/l2tp/pptp是通过iptables在内 核实现转发。ssh即可以利用-D选择转发socket,或者利用端口映射将socket转发至socket proxy或者http proxy。

l2tp和pptp是大多数android设备都默认支持的VPN。但很多router或者firewall不支持pptp,常常会遇见一些莫名其 妙的问题。openvpn需要android内核支持tun.ko模块。同时android还需要有binary openvpn application。整个安装过程较为复杂。

sshtunnel/gaeproxy是socket/http level的加密中转,因此需要利用到android中的iptable及相应的kernel module。

Ten3由于没有iptable相应模块。所以无法使用ssh。 pptp和/l2tp的binary application貌似有问题,无法连接pptpd服务端。但万幸的是tun.ko模块原生自带,只要在市场下载openvpn installer和openvpn setting就可以使用了。为避免dns污染,还需要装一个改变dns的软件。

来源http://hongy19.blogspot.com/2012/03/android.html

Android系统翻墙方法:http://igfw.net/archives/2392

iGFW博客获德国之声博客大赛“最佳中文博客公众奖”提名 欢迎网友为本博客投票!
http://igfw.net/archives/8681

  1. dfafjl
    2012年7月2日20:13

    我的安卓机,pptp和l2tp都连不上,总是提示“无法连接网络,是否要再试一次”,不知道什么原因?

    • iGFW
      2012年7月2日21:05

      首先看看是不是你VPN服务有问题,
      在看看你网络环境是不是封锁了vpn端口
      最后看看你手机系统有没有问题吧。

  2. 匿名
    2012年4月20日18:46

    博主啊,先前的opera mini java 版被封了啊?有能用的java版的吗?求给一个。O(∩_∩)O谢谢

  3. 我直接放弃了
    2012年4月8日22:34

    我的android手机也没有iptable vpn三种方式都试过了 ssh也不行
    gae代理配合opera mobile可以用
    但我现在一般都是电脑连接ssh 本地服务填0.0.0.0 这样同一局域网的网络设备 就都可以共享ssh了
    缺点就是不绿色