洋葱头翻墙指南

如何利用分布式代理服务器程序 Tor 穿越大陆互联网封锁


1. 文前闲话

话说由于链接了一些不和谐的人,以及转载了一些过分和谐的文章,敝人的MSN博客早在2005年就被第一批砌墙运动员圈到院外了。后来经过多次宽大,现在只能撞大运地访问到首页,不能留言,也不能编辑。

不过一直以来,由于伟大的分布式代理技术的代表——洋葱头(Tor)的存在,我还一直可以时不时偷偷到院外溜达溜达,看看别家怎么嘀咕本院,顺便浇浇我院外那二亩韭菜。可是,2009年老佛爷60大寿之前,砌墙运动大队突然发威,把所有的葱农(Tor列表服务器)都给扔到院外去了,于是我也郁闷了。加上年底这阵一直特别忙,也就没顾上琢磨翻墙去照看我家韭菜地的事。

前几天偶然隔着墙嘹望,竟然发现我家韭菜地里有虫子(被境外广告挂载),于是有点怒了,就翻箱倒柜把那枚名义上已经失效的葱头找出来,仔细研究了研究,竟然发现仍然有方法使用!原来,虽然砌墙运动大队把所有已知的葱农地道都堵了,但是院外不断会有人在新挖,只要获得这些新地道的入口位置,还是可以继续穿梭于院墙内外的。

那么,洋葱头的最新翻墙技术是怎样的呢?敝人就来班门弄斧一下吧。

 

2. 翻墙指导

2.1 Tor 简介

------------------------------------------------------------------------

以下是中文维基百科相关条目的链接:

http://zh.wikipedia.org/wiki/Tor

但是为了防止该条目也被圈到墙外,我转载并编辑如下。

------------------------------------------------------------------------

2.1.1概述

TorThe Onion Router)是第二代洋葱路由(Onion Routing)的一种实现,用户通过Tor可以在因特网上进行匿名交流。最初该项目由美国海军研究实验室(US Naval Research Laboratory)赞助。2004年的后期,Tor成为电子前哨基金会(Electronic Frontier FoundationEFF)的一个项目。2005年后期,EFF不再赞助Tor项目,但他们继续维持Tor的官方网站。

Tor专门防范流量过滤、嗅探分析,使用户免受其害。Tor是在由洋葱路由器(Onion Routers)组成的表层网(Overlay Network)上进行通讯,可以实现匿名对外连接、匿名隐藏服务。

2.1.2 匿名外连

Tor用户在本机运行一个洋葱代理服务器(Onion Proxy),这个代理周期性地与其他运行Tor服务的节点交流,从而在Tor网络中构成虚电路(Virtual Circuit)。 Tor是在网络协议栈中的应用层进行加密(也就是按照“Onion”的模式),而它之所以被称为Onion(洋葱)是因为它的结构就跟洋葱相同,你只能看出它的外表而想要看到核心就必须把它层层的剥开。即每个Router(路由器)间的传输都经过Symmetric Key(对称密钥)来加密,形成有层次的结构。它中间所经过的各节点,都好像洋葱的一层皮,把客户端包在里面,算是保护信息来源的一种方式,这样在洋葱路由器之间可以保持通信安全。同时对于客户端,洋葱代理服务器又作为SOCKS接口。一些应用程序就可以将Tor作为代理服务器,网络通信就可以通过Tor的虚拟环路来进行。

进入Tor网络后,加密信息在路由器间传递,最后到达“出口节点”(Exit Node),明文数据从这个节点直接发往原来的目的地。对于目的主机而言,是从“出口节点”发来信息。

由于在TCP数据流的级别通讯,Tor显得卓然独立于其他匿名网络。通过使用Tor,一般的应用程序都可以实现匿名,比如IRC、即时通讯,以及浏览网页。浏览网页时,Tor常常与PrivoxyPolipo等软件工具联合使用,PrivoxyPolipo是开源代理服务器,可以在应用层增加保护隐私。

2.1.3 规矩与滥用

由于Tor可以匿名进行TCP传输,这就导致了被滥用的可能。路由器存放有一个“出口政策”(exit policy),内有各种地址、端口的组合规定,通过这个来区别哪些传输可以通过这个节点而离开Tor网络,这样就可能防范许多滥用的可能。潜在的滥用包括:

* P2P:抛开合法性不谈,如果通过Tor网络来进行巨额数据的传输,这就有些不礼貌了,毕竟洋葱路由器是由志愿者,花费自己的带宽建立起来的。

* E-mail:匿名的SMTP很容易导致垃圾邮件的产生,一般Tor节点的“出口政策”,都拒绝对外连接到端口25smtp的端口)。

蓄意破坏:由于不会被识破,用户有时会利用Tor来对协作网站进行破坏,这导致许多的网站,包括�基百科,决定部分限制对Tor的通讯。

2.1.4 隐蔽的匿名服务和网站

Tor不仅可以提供客户端的匿名访问,Tor还可以提供服务器的匿名。通过使用Tor网络,用户可以维护位置不可知的服务器。当然如果要访问这个隐蔽的服务,客户端也得安装Tor

通过Tor指定的顶级域名(Top Level DomainTLD.onion,可以访问其隐藏的服务。Tor网络可以识别自己的TLD,并自动路由到隐藏的服务。然后,隐藏的服务将请求交由标准的服务器软件进行处理,这个服务器软件应该预先进行配置,从而只侦听非公开的接口。如果这个服务还可以通过公共的因特网来访问,那也会受到相关连的攻击,这样就没有真正的隐藏起来。

Tor隐藏服务有个另外的好处,由于不需要公开的IP地址,服务就可以躲在防火墙和NAT背后。

2.1.5 反制防火长城(GFW

Tor在中国被许多人用来突破防火长城,这主要是因为中国屏蔽了大量的海外网站。Tor会自动检测节点是否可达目标地址。如果返回错误,它会自动更换节点。相应地,这种技术也可以用在中国境外模拟中国境内节点,以访问一些境外无法访问的内容。

20099月以后,一段时间�,使用tor0.2.1.19版本,并不使用bridges的情�之下,无法建立tor连接;然而目前使用tor 的最新稳定版0.2.1.20,仍然能�建立tor�接,突破网络封锁,并且不需要勾选 isp��,即使用Bridges。从理论上说,在使用 bridges的情�下,tor总能建立链接,而不被封锁,因�bridges是可以动态更新的。

2.2 Vidalia 简介

VidaliaTor的一个跨平台的GUI控制工具,它是使用Qt框架(是一个跨平台的C++应用程序开发框架)构建的,可以在任何支持Qt4.1及更高版本的平台上运行,包括WindowsMac OS XLinux或者其它使用X11窗口系统(是一种以位图方式显示的软件窗口系统)的类Unix系统。

Vidalia允许你启动、停止Tor,查看Tor的状态信息,监视Tor的带宽使用情况,也可以使你更方便的构建自己的Tor服务器,为其他人提供方便。VidaliaMatt EdmanJustin Hipple编写。

2.3 如何下载最新版的Vidalia套件(包含Tor程序)

由于老佛爷的砌墙大队全面封杀Tor,现在想在大陆网站上获得Tor或者Vidalia套件已经很有些困难了。以往我们要找什么都是上搜索引擎找,如果是不和谐的东西我们一般都上谷歌找(嘿嘿),但是鉴于谷歌今日宣布有可能要退出大陆市场了,在这里推荐生活在简体中文世界的朋友可以访问谷歌新加坡站 http://www.google.com.sg/ 获取简体中文搜索服务。

你可以在谷歌上搜索“Vidalia 多国语言版”,找到最新版本(我下载的是0.2.1.19版)的条目,当然这个条目下的直接下载十之八九是被禁止的,这只是为了获知最新版本的下载链接,然后我们将发现的下载链接贴到迅雷这样的分布式下载软件里,迅雷会自动尽量替我们寻找其他可替代的资源,是我们能最终完成下载。

2.4 Vidalia套件的安装与使用

这一点我想就不用我废话了,大家如果想用的话,到网上一搜到处都是。本文的主旨是教大家如何在 Tor 相关网站已被封锁的情况下,如何获得和继续使用它。

2.5 通过设置bridges突破大陆对Tor的封锁

Tor中原本就设计有针对ISP阻止Tor这种情况的解决方案。方法意外的简单,只要发一封邮件就OK了。具体操作如下:

2.5.1 发送索取bridges的电子邮件

按照Tor帮助里 "How do I find a bridge?" 的说法,向 bridges@torproject.org 发送一封内容为“get bridges”的邮件(不要引号),邮件标题建议也填写“get bridges”(据说标题不填也行)。(注意:不要用国内的邮箱发送邮件,八成会给当垃圾邮件丢掉……强烈推荐使用Gmail邮箱,不出3秒就能看到回复。)

2.5.2 你会收到一封类似于这样的回应:

[This is an automated message; please do not reply.]

Here are your bridge relays:

 bridge ***.***.**.*:443

 bridge ***.**.***.**:7345

 bridge ***.***.***.***:9001

最后的3行就是给你的Tor bridge地址(这个地址每次几乎是不相同的,这样做也是为了防止被ISP加黑名单。为了保护这些服务器,请不要在网上公开传播这些bridge。需要时就重新给bridges@torproject.org发邮件吧)。

2.5.3 通过Vidalia界面配置Tor网桥

复制上述回信中得到的3bridge地址中的任意一行,就可以配置你的Tor代理。在Vidalia的控制板主界面上打开设置对话框,打开设置对话框上的左数第2个标签——网络标签,在其中勾上第3项“我的ISP阻挡了对Tor网络的连接”,在下面 "Bridge Setting" 中粘贴刚才得到的任意一行,例如“bridge **.***.***.***:443”,点击后面的加号新增一个网桥。建议把3个都加进去,因为可能有某些你得到的bridge已经失效了,如果设置有多个bridgeTor将自动依次尝试直到成功为止。

保存一下设置,现在重新启动Vidalia,是不是可以接通了呢?好了,现在可以使用了,去外面的世界冲浪吧!

(全文完)



1 条评论:

生无可恋 说...

貌似现在tor+bridges也穿不了墙了。。