Tuesday, May 3, 2016

防火墙

如何翻墙?——写在 BlogSpot 被封之后 {2015-08-28}
  公元2009年5月的某天,BlogSpot 又一次撞墙,被 GFW 封了。俺在 BlogSpot 上的博客也遭受池鱼之殃,杯具啊杯具!当时为了让俺博客的读者能够继续访问,咱特地写了这个扫盲帖,全面普及一下翻墙的各种基本“姿势”。
  由于翻墙技术日新月异,本文也会不断更新。会翻墙的同学,请通过“这里”看本文的最新版本。

★党国为啥要封网?咱们为啥要翻墙?

  为啥我党宁可得罪广大网民(早已超三亿)也要搞 GFW 来进行网络封锁捏?简单地说,互联网上有很多信息,是党国不希望你看到的。通过GFW,党国可以控制你能看到啥,不能看到啥。控制了信息渠道之后,党国可以很容易地忽悠你,对你进行洗脑,让你变成脑残。
  现在你明白了吧?只要你受制于 GFW,你就没有“访问互联网的自由”,因而也没有“获取信息的自由”。但是俺始终认为:“访问互联网的自由是网民的基本权利”。所以,俺这些年来,一直在想办法普及翻墙姿势。如果你也认同上述观点,请你帮助传播本教程给周围的人,与 GFW 斗争需要大伙儿的参与。
  由于本文主要讲翻墙技术,这个话题就不深入展开了。有兴趣的同学可以看看俺之前的几个帖子(在墙外):
《党和互联网的较量》
《面对墙,我们所能做的就是——让 GFW 陷入到人民战争的汪洋大海之中》

★扫盲——GFW 是嘛玩意儿?

  考虑到某些网友从来不知“GFW”为何物,俺通俗地扫盲一下。
  GFW 就是我党为了加强对互联网的控制和封锁,下大力气、花大价钱搞出来的一个东东。这个东东部署在天朝互联网的国际出口。既然是花大价钱搞出来的,自然是很牛很强大。这个玩意儿具有如下主要功能:

◇DNS 欺骗(DNS 污染)

  “DNS 欺骗”洋文叫“DNS Spoofing”;“DNS 污染”又称为“域名缓存投毒”,洋文叫“DNS Cache Poisoning”。这两者是一个意思,只是叫法不同。
  如果你使用的是墙外的 DNS 服务器,那么,你每次进行 DNS 查询,都会要经过国际出口。这时候,GFW 会通过该技术手段伪造 DNS 的查询结果——使得你查询到的网站 IP 是错误的。如此一来,你自然就无法该网站。
  顺便说一下,“DNS 欺骗”与“DNS 劫持”是两码事。“DNS 劫持”是指 DNS 服务器上的记录被人为修改成错误的。在天朝,很多国内的 ISP 会故意修改自己 DNS 服务器上的记录,把某些敏感网站的记录修改成错误的。
  关于“DNS 污染”,俺后来还专门写过一篇《扫盲 DNS 原理,兼谈“域名劫持”和“域名欺骗/域名污染”》。

◇IP 封锁(IP 黑名单)

  顾名思义,就是屏蔽某些 IP 地址。
  如果你要访问的网站,其网站的 IP 被 GFW 列入 IP 黑名单中。那么该网站就无法正常访问。

◇敏感词过滤(关键字过滤)

  GFW 会维护一个很长很长的敏感词列表,并且该列表是经常更新的。一些政治方面比较敏感的词汇,都位于该列表上。
  如果你访问的网页中包含任何一个敏感词,那么 GFW 会通过技术手段屏蔽该页面,让你看不到。

  通过以上几项功能,它可以有效阻止网民看到党不想让你看到的信息。如果你比较好奇,想了解更详细的关于 GFW 的介绍,请翻墙看“这里”。

★先从简单的“修改 DNS 服务器”说起

  这招是翻墙入门者首先要知道的技能。
  为啥要“修改 DNS”捏?主要是用来防止“域名劫持”(但是【不能】防“域名污染”)。“域名劫持”的勾当,貌似国内很多运营商(比如上海电信)都干过。所以捏,尽量不要用你所在运营商提供的 DNS 服务器,不保险。毕竟国内的运营商都受到党国的控制,估计他们也身不由己。
  俺推荐几个国外的、知名的、人品好的 DNS 给大伙儿参考。
  Google 不愧是牛X的公司,而且很人性化——它提供了如下两个很好记的 DNS 服务器。
8.8.8.8
8.8.4.4

  为了防止 GFW 把 Google 的 DNS 服务器封杀掉,大伙儿还得多再备份几个。下面这些 DNS 的 IP 可就没 Google 的 DNS 那么好记了。
OpenDNS:
208.67.222.222
208.67.220.220

台湾中华电讯的DNS:
168.95.192.1
168.95.192.2

香港宽频的DNS:
203.80.96.9
203.80.96.10

  至于如何修改你电脑的 DNS 服务器,应该不用俺教了吧?不会的同学,自己上 Google 去查。

★再来说说“修改 hosts 文件”

  刚才介绍了“修改 DNS 服务器”。但是刚才俺也说了,“修改 DNS 【无法】对付域名污染”。咋办捏?要对付域名污染,有一个比较简单的方法——修改 hosts 文件。下面来介绍一下。
  大部分操作系统都支持 hosts 文件,它提供了 IP 的“别名机制”。这种基于 IP 的别名机制,既可以用来对抗前面提到的“域名污染”,也可以对付“域名劫持”。

◇如何设置

  如果你使用 Windows 系统,可以使用如下命令打开 hosts 文件。
notepad %SystemRoot%\system32\drivers\etc\hosts

  如果你使用 Linux 系统或苹果的 Mac 系统,可以用如下命令打开。
vi /etc/hosts

  打开之后,把那些被封锁的网站的 IP 及域名加入 hosts 文件(每行一个)即可。比方说,上述提到的 Google Drive,它的 IP 是 74.125.227.198,那我们只要在 hosts 加入如下一行:
74.125.227.198 drive.google.com
  然后就可以像往常一样使用基于 HTTPS 协议的 Google Drive 了。

◇优缺点分析

  使用此招数的好处在于:
(1) 非常傻瓜化——不需要安装软件;
(2) 性能很好——当中无需经过代理的中转。
  但是有好必有坏,此招数的坏处也很明显:
(1) 如果你访问的是 HTTP 协议的网页,且内容包含敏感词,那么此招数照样没戏;
(2) 如果 GFW 不光封域名,还封 IP,那么此招数也还是没戏;
(3) 如果某个网站的 IP 已经变化了,那你就要与时俱进地修改你的 hosts 文件,煞是麻烦。

  综上所述,修改hosts文件的法子,只能用于诸如 Google Drive 之类影响力巨大的网站。因为 Google Drive 用的人已经比较多,GFW 不好意思把整个域名及 IP 段都封杀。因此,只好选择性地封锁 HTTPS 协议,而对 HTTP 协议网开一面(HTTP 协议是明文的,便于 GFW 进行关键词过滤)。这种情况下,“修改 hosts 文件”的招数就可以派上用场了。

★加密 Web 代理

  刚才提到了“修改 Hosts 的局限性”——无法对抗 IP 黑名单。如果某个网站的 IP 地址被列入 GFW 的黑名单,修改 Hosts 文件是没戏的。咋办捏?
  不要怕,还有另外一个东东可以穿墙,那就是“加密 Web 代理”。
  基于 HTTPS 方式的加密 Web 代理,主要好处是:无需安装其它软件,光靠浏览器就可以搞定。不过捏,HTTPS 代理一旦用的人多了,容易引起 GFW 的注意,死期也就不远了(正所谓人怕出名猪怕壮)。如果你想用这招,就得经常去逛一些代理网站。
  本来俺在这个翻墙教程中,会附带放几个 HTTPS 的 web 代理,便于大伙儿直接使用。可惜自从2010年3季度,GFW 开始盯上俺了(貌似 GFW 的走狗,也在看俺的博客)。所以捏,俺就不把具体的加密 Web 代理放出来了,以免便宜了那些走狗。想要的同学,自己去 Google 一下。

★代理软件

  代理软件可是本教程的重点章节,要仔细看哦!

◇代理的工作原理

  代理工具的翻墙原理是这样滴:
  假设你想通过翻墙代理访问某个被墙的网站(比如反动网站、黄色网站:),这时候会经历如下几个步骤:
(1) 你的上网软件(通常是浏览器)会把数据发送给你电脑中的代理工具;
(2) 该工具把数据进行加密,然后发送给国外的某个代理服务器;
(3) 该代理服务器把数据解密,然后发送给你要访问的网站。
(4) 从该网站回传的数据,也是经过上述途径,最终回到你的浏览器。

◇代理的分类

  按照是否加密,代理软件可分为加密代理和不加密代理2种(这不是废话嘛:)。为了避开 GFW 敏感词过滤,咱必须得使用加密代理软件。
  按照协议类型,常见的有 HTTP 代理和 SOCKS 代理。如果你纯粹用浏览器翻墙,HTTP 代理就够用了;如果你还需要让其它软件(比如MSN)翻墙,那就得用SOCKS代理。

◇代理工具的获取

  俺下面提到的很多软件,官方站点都已经被墙。为了便于大伙儿下载,俺提供了“基于 BT Sync 的【免翻墙】自动同步”,以方便那些暂时还无法翻墙的网友。
  首先,你需要安装 BT Sync,然后使用如下密钥,就可以【自动】同步俺分享的【多款翻墙软件】。
各种翻墙软件的同步密钥 BTLZ4A4UD3PEWKPLLWEOKH3W7OQJKFPLG
  BT Sync 客户端的官方下载页面:1.4 版本、2.0 版本(这两个链接是【页面】链接,【不要】直接“另存为”)
  从来没用过 BT Sync 的同学,请先看《扫盲 BT Sync——不仅是同步利器,而且是【分布式】网盘》。

◇代理工具的注意事项

  由于使用加密的方式穿透 GFW,所以性能上肯定会打折扣滴。建议大伙儿同时用两个浏览器:一个浏览普通的网站,另一个配置好代理浏览被墙的网站。对于使用 Firefox 或 Chrome 的同学,也可以安装一些第三方的代理插件(比如:AutoProxy、FoxyProxy),用来自动切换代理模式和非代理模式。
  如今很多翻墙工具的 exe 可执行文件都自带了“数字签名”。如果你不是从官方网站下载该文件,最好查看一下数字签名,以确保该文件没有被篡改(比如感染病毒)。至于如何验证数字签名,请翻墙看“这里”。

◇赛风

  赛风也是老牌的翻墙软件。早期的“赛风2”仅提供网页代理。从“赛风3”开始,推出了客户端软件。这个客户端很牛B,同时支持基于 SSH 的代理模式和VPN模式(关于VPN模式,本文后续会介绍)。而且,它也是单个绿色软件,也很小巧(几兆),且带有数字签名。(如何验证数字签名,请翻墙看“这里”)
  如果赛风使用 VPN 模式翻墙,你所有的网络软件无需任何设置,就能跟着翻墙;如果赛风使用代理模式翻墙,则开启两个端口:“8080”端口用于HTTP代理,“1080”端口用于 SOCKS 代理。
  更多关于赛风的详细介绍,请看俺博客的帖子《双管齐下的赛风3》
  官方站点在“这里”(已经被墙)。
  【免翻墙】获取的方法:
  你只需往赛风官网提供的邮箱 get@psiphon3.com 发送任意邮件,立马就能收到自动回复。在回信中,直接就附上了赛风的可执行程序(如果邮件里的附件名叫“psiphon3.asc”,改为“psiphon3.exe”即可直接运行)。

◇蓝灯

  蓝灯是2013年才诞生的后起之秀。刚开始的 1.x 版本,依赖于“邀请机制”,不适合大规模推广。
  它在2015年8月发布 2.0 版本,开始提供傻瓜化的“一键式翻墙”。俺尝试了之后,感觉不错,就在博客上推荐了——参见《Lantern(蓝灯)——开源且跨平台的翻墙代理》。
  蓝灯需要安装才能使用,不过安装包很小巧(几兆),而且自带数字签名。与其它翻墙代理相比,蓝灯的特色是——开源且跨平台。这方面跟 TOR 有点像。
  它使用 HTTP 代理的方式,端口是“8787”。
  官方站点在“这里”(已经被墙)。
  【免翻墙】获取的方法:
  https://github.com/getlantern/lantern-binaries
  上述链接位于 Lantern 官方的 GitHub 帐号(到目前为止,GitHub 全站都可以【免翻墙】访问),该页面同时提供三大桌面操作系统(Windows、Linux、Mac)的安装包。

◇TOR

  TOR 也叫“洋葱网络”。网上常听人说的“带套(TOR 的谐音)穿墙”就是指它。这玩意儿是一个开源项目,用于保护个人上网的自由和隐私。它的工作原理可以参见“这里”。
  由于 TOR 的名气太大,GFW 特别关照它。很多 TOR 的网桥中继都被 GFW 列入 IP 黑名单,导致 TOR 无法单独使用。不过从2014年10月份,TOR 开始内置了 meek 插件,该插件重新让 TOR 复活(又可以独立联网了)。具体教程参见《TOR 已复活——meek 流量混淆插件的安装、优化、原理》。
  【免翻墙】获取的方法:
  大伙儿可以通过邮件方式获取 TOR。具体如下:
  先发送主题为“help”的纯文本邮件到 gettor@torproject.org,收到回信后根据邮件的提示再回复一次,即可在你的邮箱中收取 TOR 的软件包。强烈推荐使用 Gmail,以确保最佳效果。尽量别使用国内的邮箱,切记!

  另外,还可以用 TOR 跟其它翻墙工具搭配,构造双重代理。双重代理的隐匿性非常好,如果你经常在网上发表敏感言论,要记得使用双重代理。关于双重代理的扫盲教程,请看俺写的系列博文《如何隐藏你的踪迹,避免跨省追捕》。

◇自由门

  自由门(来自“动态网”),这是一家具有政治背景的公司专门开发来突破 GFW 的。它的版本升级比较频繁,最好经常更新到最新版本,以获取最佳的破网效果。
  自由门是绿色软件,不大(几兆),带有数字签名的。
  它使用 HTTP 代理的方式,端口是“8580”。
  官方站点在“这里”(很早就被墙)。
  【免翻墙】获取的方法:
  通过发邮件给“ freeget.one@gmail.com ”来获取它(这个邮箱地址是自由门官方提供的)。

◇无界

  “无界”的背景、使用方式都很类似于“自由门”。从2011年11月开始,无界采用了新的翻墙机制,翻墙能力有显著提升。相关的详细介绍,请看俺专门写的帖子《新版本无界——赛风3失效后的另一选择》。
  无界使用 HTTP 代理的方式,端口号是“9666”。
  官方站点在“这里”(很早就被墙)。

◇I2P

  I2P 是非常类似于 TOR 的翻墙工具(TOR 叫洋葱路由,而 I2P 是大蒜路由)。它俩的主要用途是“隐匿身份”,翻墙只是顺带的附加用途。
  I2P 的安全性和坚挺程度比 TOR 更强,换来的代价是速度很慢。所以 I2P 主要是用来作为备用翻墙工具。当你常用的工具失效时,就可以拿它来救急。
  I2P 提供的代理有两个端口,“4444”端口用来代理 HTTP 协议,“4445”端口用来代理 HTTPS 协议。在配置浏览器代理的时候要小心,别搞混了。具体配置方法请看俺写的《简单扫盲 I2P 的使用》。
  官方站点在“这里”。


★VPN 客户端

  说完了代理工具,再来介绍一下 VPN 客户端软件。

◇VPN 翻墙的原理

  VPN 其实也是在本地与远程的 VPN 服务器之间建立一个加密通道,所有数据都经由国外的 VPN 服务器到达目的网站。但是,与代理软件不同,VPN 软件会在你的系统中虚拟出一个网卡来。然后,你上网的应用程序(不管是何种类型),都可以通过这个虚拟网卡和 VPN 服务端进行数据传输。
  有些提供 VPN 服务的公司,直接使用开源的、大名鼎鼎的 OpenVPN 作为客户端——你可以到“这里”下载;还有一些则使用自己公司开发的客户端——因此你需要到它的官方站点下载。下面,俺列举一些可以免费使用的VPN。

◇VPN Gate
  这是2013年3月发布的新型翻墙工具,由日本的筑波大学开发。这款 VPN 的亮点在于:它的服务器由世界各地的志愿者提供,是分布式的。这样一来,GFW 就难以彻底封杀。使用它翻墙,速度快而且稳定。这是目前最理想的免费 VPN 翻墙工具。
  它的中文版官网在“这里”(需要翻墙才能访问)。由于 VPN Gate 的安装包比较大(有三十多兆),而且更新非常频繁,所以俺没有提供墙内下载。要下载的同学,可以先用 Web 代理(前面介绍过)上它的官网,它的官网上有镜像站点的列表。这些镜像站点每个小时都会变化,以规避 GFW 的封杀。从镜像站点下载安装包,无需翻墙。
  关于 VPN Gate 的更多介绍,请看俺写的教程《扫盲 VPN Gate——分布式的 VPN 服务器》


★代理工具和 VPN 软件的总结

  由于代理工具和 VPN 软件比较类似,俺稍微对比总结一下。

◇代理工具的优点 & VPN 的缺点

  大部分代理工具都是免费的,而 VPN 软件很多是商用软件,要花钞票滴。少数不花钱的VPN,也有使用期限或者流量限制。
  另外,由于 VPN 需要在你的系统中安装虚拟网卡,因此VPN软件都不是绿色软件,且多半需要管理员权限才能安装。这对于俺这种偏好绿色软件的用户来说,也是一个明显的缺点。

◇VPN 的优点 & 代理工具的缺点

  由于 VPN 虚拟出一个网卡,你使用的各种软件(浏览器/聊天工具/邮件客户端)无需任何设置,就可以直接通过这个虚拟网卡传输数据。这是VPN的一大优点。

◇没有绝对坚挺的工具

  2010年之前,俺一直以为 TOR 是很坚挺滴。然而,残酷的事实让俺认识到——TOR 也有疲软的时候(从2010年3月初开始,TOR 就开始不稳定,几乎没法用了)。纵观这几年,几乎每一款翻墙工具都有过被封杀的纪录。因此,为了能够长期翻墙,大伙平时一定要多备几种不同的代理或 VPN 工具,千万别在一棵树上吊死。

◇一览表

  为了让大伙儿看得更直观,俺整理了如下表格。
名称 版本 官方网站 翻墙方式 类型 是否绿色
赛风 3.95 这里 HTTP代理,端口号自定义
SOCKS代理,端口号自定义
VPN 开源软件
免费软件
蓝灯 2.0.1 这里 HTTP代理,端口号8787 开源软件
免费软件
自由门 7.5.4 这里 HTTP代理,端口号8580 免费软件
无界 15.01 这里 HTTP代理,端口号9666 免费软件
I2P 0.9.21 这里 HTTP代理,端口号4444
HTTPS代理,端口号4445 开源软件
免费软件
  再次唠叨一下:表格中的软件,俺都提供了“基于 BT Sync 的【免翻墙】自动同步”,以方便那些暂时还无法翻墙的网友。
  首先,你需要安装 BT Sync,然后使用如下密钥,就可以【自动】同步俺分享的【多款翻墙软件】。
各种翻墙软件的同步密钥 BTLZ4A4UD3PEWKPLLWEOKH3W7OQJKFPLG

★手机翻墙

  眼下智能手机大为普及,因此手机翻墙也就提上议事日程。下面介绍几种常见的手机翻墙方法

◇代理软件

  手机系统也可以运行翻墙代理。比如无界、赛风、TOR 都有提供了手机版。

◇VPN

  智能手机上,也可以跑 VPN 客户端。这样,就可以让手机通过 VPN 翻墙。以广受欢迎的 Android 为例,它支持 OpenVPN、PPTP、L2TP 等多种类型的 VPN。由于 VPN 前面刚介绍过,此处不再啰嗦。
  说到手机上的 VPN 翻墙,建议大伙儿尝试一下 fqrouter。关于这款工具在天朝之内已经广为使用,很傻瓜而且稳定性也不错。它的扫盲教程请看《fqrouter——安卓系统翻墙利器(免 ROOT)》。

◇手机浏览器

  手机浏览器为啥能穿墙捏?大致原理是这样滴:由于手机对于网络流量比较敏感,为了尽量压缩网络流量,某些手机浏览器采用代理服务器的方式运作。比如当你企图访问某个网页时,浏览器并不是直接向该网站请求数据,而是通过手机浏览器对应的一个代理服务器去请求,然后由代理服务器拿到的数据进行压缩和优化,然后再回传给手机浏览器。
  采用上述方式的手机浏览器,如果代理服务器设置在国外,是有希望突破 GFW 滴。由于党国的封锁越发严厉,很多手机浏览器默认的代理服务器都被屏蔽了。因此,要通过手机浏览器翻墙,需要通过修改浏览器软件,让它不使用默认的代理服务器,改用你指定的服务器。
  不同的手机浏览器,改服的办法也不尽相同。限于篇幅,俺不再作详细介绍,仅给出几款手机浏览器改服的文章。
常用手机浏览器(Opera Mini、UCWeb)改服方法
手机翻墙方法——Java版Opera Mini和UCWeb改国外服务器

★其它的资源

  由于翻墙破网的技术层出不穷,为了与时俱进,咱还得不断学习。下面介绍几个相关的博客。

◇俺的博客

  首先,厚着脸皮给俺自个儿作个广告 :-)
  俺如果发现什么新的翻墙技巧,会在第一时间发到俺的 Blog 或 Twitter 上。欢迎大伙儿订阅俺的博客(订阅地址:http://feeds2.feedburner.com/programthink),也可以在推特上 Follow 俺(@ProgramThink)。
  如果你看完本帖后,对翻墙还是有疑问、或者对本教程有什么补充和建议,可以到俺博客站点留言,也可以给俺 Email(program.think@gmail.com)。俺会尽可能帮你搞定翻墙难关。如果你发现本文有哪个链接打不开,也请通知俺。

◇GFW blog

  接着,隆重推荐 GFW 的专题 blog,它的订阅地址比较敏感,俺不便直接写,基于 bit.ly 的跳转地址是:“http://chinagfw.org/feeds/posts/default”。
  另外,还可以访问它的 Google Group,地址是:“https://groups.google.com/group/gfw-blog”。这个Group已经被封,推荐请用靠谱的“博客阅读器”订阅。

◇维基百科的一些资料

  维基百科上的好东东,那是相当滴多啊!推荐几篇相关的文章给大伙儿瞅瞅:“中国网络審查”、“突破网络審查”。

★结尾

  啰嗦了这么长的篇幅,基本上把常用的招数都介绍过了。最后,借用一下狄更斯写于《双城记》的名言:
这是最好的时代,也是最坏的时代;
这是智慧的年代,也是愚蠢的年代;
这是信仰的时期,也是怀疑的时期;
这是光明的季节,也是黑暗的季节;
这是希望的春天,也是失望的冬天;
大伙儿面前应有尽有,大伙儿面前一无所有;
大伙儿正在直登天堂;大伙儿正在直落地狱。

  祝愿墙内的网友们都能顺利掌握翻墙姿势,早日呼吸到互联网上自由的空气!

No comments:

Post a Comment