翻墙简史
这部分跟轮子有很大的关系,2000年前后,轮子开了个网站,为了伟光正的打击轮子,开始屏蔽轮子的网站。
自由门
背靠轮子的支持,发明了自由门软件。绿色免安装,就可以访问大部分被屏蔽的网站。
随着时间的发展,GFW封锁手段开始升级,针对TCP连接重置、DNS劫持、IP封锁和URL关键字过滤等等层出不穷,翻墙软件这边也开始百花齐放,你方唱罢我登场,反正能翻就是王道。
DNS劫持,IP封锁。
大的境外网络机构,比如google之类都不止一台服务器,通过修改host文件,绕开DNS污染,将google定向到指定IP(或者直接在浏览器中输入IP),这种不需要翻墙软件介入的原始方案也凑效过一段时间。但后来GFW检查力度升级,每一个网络连接出境前都会被扫描过一遍,只要你http header里含有"google"这个字符串,就把你封了,此方法失效。
tor
此时暗网也开始诞生,主要是tor洋葱
本质上它不是用来翻墙的,它的主要原理是将数据包通过多次加密代理传输的方式而达到匿名的目的,它最主要的用途是用来访问一些 隐蔽在正常网络世界之下的 “暗网”(例如著名的丝绸之路) 。尽管主要用途是匿名而不是翻墙,但如果最终的出口节点位于境外,也是能起到翻墙的作用的。但是,大约在2010年的两会期间,GFW 开始全面屏蔽 TOR 在全球的节点,从那之后,天朝之内的 TOR 就很难独立联网了。
SSH
ssh tunnel技术,这个方案的初衷也不是用来翻墙的,SSH是一种远程协议,它主要是用来连接Linux主机,因为其流量是加密的,于是人们就想办法用它来做翻墙工具,比如你在浏览器发出一个google.com的http请求,这个http数据首先被伪装成SSH协议并加密,这样对GFW来说,这并非一个http数据,而是一个SSH数据,并且数据还进行了加密,GFW无法识别这个数据包里面是否包含google.com这个字符串。但是,因为这种方案本身就不是用来翻墙的,它的特征太明显(SSH协议),所以当你的SSH流量过多的时候,GFW就能反向推算出你在翻墙,于是节点IP一封,万事休矣。这也是当前GFW的一种普遍封锁策略:尽管我无法确切地知道你的数据到底是什么,但是你一天到晚向一个IP走一些不是常规类型的网络协议,那你就是在翻墙。
VPN
即 Virtual Private Network(虚拟私有网络),它的初衷也不是用来翻墙,而是一种面向企业的应用,相当于企业内部局域网的一种延申,有了VPN,企业员工可以在广域网上通过加密隧道访问企业内部局域网资源,运行原本只能在局域网中运行的软件等等,除了速度稍微慢一点之外,其他体验都跟直接在局域网中使用一样。于是聪明的中国人很快发现,这简直就是天然的翻墙利器啊!没错,只要能连上境外服务器的VPN,就相当于跟境外服务器在同一个局域网了,访问境外网站什么的自然不成问题。此后,原本该用于企业内部通信的VPN成了中国人翻墙的工具,并且一炮而红,几乎成了翻墙的代名词。VPN有很多种,L2TP、PPTP、IPsec、AnyConnect等等。但从本质上而言,因为VPN的设计初衷并不是翻墙,因此他的特征也是很明显,目前GFW已经能够精准识别VPN流量并施行封锁了,这意味着只要你的VPN节点被封,就无法再通过它翻墙了。不过,时至今日,VPN仍然是主流的翻墙方案之一,主要原因是:
设置简单,不需要专用客户端,直接在系统内进行一些设置即可翻墙
VPN运行在OSI七层模型的第二层:数据链路层,这就是VPN能够轻易实现 “全局代理” 的原因,简单地说,VPN在不需要任何特殊设置的情况下,不仅仅可以用来浏览网页,还可以用它来玩外服游戏等等非WEB应用。
一些老牌的VPN提供商比如NordVPN、Express VPN等等,这些大公司拥有庞大的VPN节点,其IP规模甚至大到可以跟GFW正面硬刚的程度!以至于尽管GFW能够识别并封锁这些节点,但是野火烧不尽,春风吹又生,你封一个我再建一个,子子孙孙无穷匮也。
加密版SOCKS5(2012)
相对于VPN,这是目前翻墙软件的另一个大类,大名鼎鼎的Shadowsocks (简称SS)就是利用这个机制的翻墙软件,这是一个划时代的工具,但其作者clowwindy在2015年被请喝茶后,SS项目停止更新,另一个技术大牛 breakwa11接手了这个项目,并为其增加了更多功能,名字后面也加了个R,变成了ShadowsocksR(简称SSR),得益于clowwindy一开始就开源了Shadowsocks,因此目前这个项目呈现出各种版本:
SS和SSR技术一个大特点就是它运行在OSI模型的第5层:会话层,与VPN不同,它不能直接实现像VPN那样的 “全局代理”。但这既是缺点也是优点,它的好处是让网络分流变得更加容易,通过配置文件中的定义,境外网站走代理通道,其他的全部走直连通道,相较于以前VPN所有的流量只能走代理通道,不需要代理的网站上网速度也会受到影响,极大地提升了上网体验。
另一个优势是,相对于传统翻墙方案,SS采用了较为完善和成熟的工业级的加密算法,这让GFW的嗅探变得困难起来,虽然GFW有能力对翻墙的数据进行解密,但这需要动用庞大到不切实际的算力资源(当然,如果被GFW列为重点监测对象另当别论)。那么,我们可以说用SS翻墙就是安全的吗?大家还是不要高兴得太早,跟之前说过的SSH隧道方案一样的遭遇,你一天到晚大量的用Socks5访问同一个IP地址的同一个奇怪端口,你这是在干嘛?这本身就是一个明显特征啊,虽然GFW不能轻易地破译出你的数据到底是什么,但仅就这一个特征就能判定你大概率是在翻墙。
v2ray(2015)
源自一个名为Project V的项目,它的核心工具称为V2Ray,其主要负责网络协议和功能的实现,这是一个集大成的翻墙方案。
据说是clowwindy被请喝茶以后的报复行为开发的。主要使用VMess协议。
现在还在使用更新的v2rayN,支持了更多的协议。
trojan(2017)
于是乎,后来又有了 Torjan 翻墙方案,这个方案在SS的基础上进行了改良,它的特点是将数据包正大光明地通过https(443端口)传输到一个公开能访问的境外网站。当然,这个网站是你为了忽悠GFW自建的,https协议所需要的TLS证书之类的一应俱全,看上去内容也是一些正儿八经的商业网站常见栏目。这让GFW的检测难度更大了,首先,协议走的是https,这种协议在正常网络世界每秒钟都是以千万计地产生着的,不具备特殊性。其次,目标网站确实是一个 “正常” 的,可以访问的商业网站,你怎么判定数据是有问题的呢? Torjan在一定程度上增强了安全性,但话又说回来,如果你的数据量太大,比如每天都有几个G的流量从这个所谓的 “正常网站” 流进流出, 这也是一个特征,你有什么业务需要对同一个网站有这么大的需求?GFW仍然可以以此断定你在翻墙。因此,目前而言,姑且不论GFW有没有能力在技术上对你实施精准打击,比如基于大数据技术的深度数据包检测、机器学习、随机预测算法等等。咱们就仅从逻辑层面而言(反向推理)都只能遗憾地接受一个事实:没有任何一个翻墙方案是可以真正做到绝对隐秘和绝对可靠的。
大概2020年停止更新。
WARP
互联网老好人cloudflare发布的隐私上网工具。
当然它还提供了pages,workers这样的服务,可以用来搭建各种免费节点。
clash(已删库)
这是目前最重要的翻墙工具,已经有了各种衍生版
openclash
shellcrash(原shellclash)
sing-box
这个目前应该是最新的工具了。
近乎变态的支持各种协议。但是也导致配置复杂。