文学城论坛
+A-

回国翻墙(科学上网)101

枫散仙 2024-06-16 16:40:15 ( reads)

回国翻墙(科学上网)101

父亲节,祝坛子里的父亲们快乐!

今天聊一聊二十一世纪中国最伟大的发明 – 防火长城。

从业网络工作多年,没想到连自己翻墙也是困难重重,费了不少劲才跟上墙梯更新的步伐。回顾在网上查找到资料,感觉都缺少对翻墙的基础知识的介绍,使得局外人(即便是网络专业人员)很难找对入口。特别是在网上 Google 时,结果会出现许多 VPN 商业软硬广告,产生误导。在此我记录一下我的学习心得,以餐有需要的朋友。

本文不是教人如何翻墙的,因为这些翻墙教程网上到处都是,甚至让人无所适从。这里旨在介绍翻墙相关的基础知识和社会环境,让读者在制定自己的翻墙计划时有的放矢。

(一)历史回顾

就像长城(Great Wall)一样,防火长城(Great Firewall,GFW)也是中国独一无二的。不同的是,长城是固定不变的,而 GFW 则时时在加高,而且在某些敏感时期会额外增加防护网。用普通的梯子是很难跨越的,即便侥幸过去了几次,也无法稳定地长期使用。

防火长城被戏称墙,来源于防火墙技术。现在,“墙”不仅是名词,也是动词:“被墙了”就是被断了翻墙的通道,被“屏蔽”了。

同样,“翻墙”这个土词也出现了“科学上网”这个阳春白雪的同义词,我想这里主要是有两层含义:一是在国内的科研院所需要到外网查找资料,二是在国内的“局域网”不够科学。

近十几年来,墙越建越高,用来翻墙的手段也不断更新。围绕着这种魔道争霸,其相关的技术已经自成体系,不断进化,充分体现了魔高一尺,道高一丈的关系。

基于 VPN 的手段,不管底层是 IPSec,IKE 还是什么 SSH tunnel 之类的,基本上都是基于信息安全的设计,也就是监听者无法看到加密的传输内容。这是传统信息安全的首要目标,但不是翻墙的主要目的。用这些 VPN 来翻墙有诸多问题:

小的 VPN 开发商跑路就更是常见了。随着近几年 GFW 的不断加高,VPN 翻墙基本已经成为鸡肋,只有那些大品牌的广告宣传还是轰轰烈烈,但实用时稳定性极差。

那么自建 VPN 怎么样呢?我前两日安装了一个 Amazon AWS EC2 的虚拟服务器,在上面搭了 一个 VPN 服务,在我的手机上运行很好,可惜,在国内就被墙了。我了解一下,好像就是 Amazon 的 IP 地址都已经上了黑名单。

总之,耗费时间精力有点得不偿失。就算现在通了,不知什么时候又会被墙,需要不断维护,不如用别人专业的服务更划算。

早年的网络安全技术 VPN 为代表的翻墙手段已经很难适应这种魔道之争了,近五年出现的“机场”方式更能体现“道高一丈”。现在的翻墙技术都转向了“机场”了。

(二)与墙相关的网络技术101

熟悉网络技术的朋友可以跳过这一段。

现在互联网的网络基础可以说是三十年未变,还是基于 IP 地址上的一系列协议。我们在网上通讯,最底层都会被打包成为一个 IP 包,包头上有两个重要的信息:源 IP 地址和目的地 IP 地址。以 IPv4 为例(现在互联网上的流量还是以 IPv4 为主),就是如同 52.132.254.12 样子的四个小于 255 的数字标识。

每个 IP 地址都代表网络上的一个节点。比如我们拿手机用流量看油管时,发出的信息包都有一个类似的 IP 地址作为源地址 A,而油管的服务器的 IP 地址就是目的地地址 B。反过来,油管发回给我们的视频数据包里正好把这两个地址换了一下,B 为源地址,A 为目标地址。当然这是一个简化的示范,加入路由后事情就会很复杂了。

用 IP 地址作为通讯的标识对计算机很方便,但对人们则不是很友好。所以人们对网络节点还赋予了名字,叫 hostname 或 nodename。比如 www.youtube.com:这个 www 就是服务器的主机名,youtube 是域名,com 是顶级域名。网络上的每个节点都可以赋予一个名字,并绑定到一个(或多个) IP 地址上。

但网络通信还是用 IP 包的,发包的计算机知道自己的 IP 地址,可是它如何知道目的地的 IP 地址呢,比如上面的 www.youtube.com。互联网的设计者在网上安排了若干的域名服务器,负责解析这些域名/主机名到 IP 地址。全球有 13 根域名服务器来解析顶级域名下的地址,有一两千个镜像服务器来分流。这种域名服务叫 DNS – Domain Name Service,它们不仅需要物理的计算机服务器,也代表着一个协议,支持各个网络节点的域名服务请求。所以,每个网络节点计算机都需要设置 DNS 服务器的 IP 地址才能上网(在局域网内,网关 Gateway 可以自动提供 DNS 服务器)。

好了,主要的“墙”技术和“翻墙”手段都围绕着上面的最基础信息展开。

“墙”只是网络世界对现实世界的一个形象描述,而实际上网络世界里的墙和现实世界里的情况是不一样的。网络世界里的墙可以理解为篱笆,中间总是有许多漏洞,理论上就不可能完全堵死。除非真的换成土墙,但那样就彻底隔绝了,成了地地道道的局域网,连官方通过也只能走专线(门),这明显不靠谱。

所以,严格地说,墙不仅是不断加高,而且是不断加密,堵塞漏洞。而墙的严密的程度和墙内有需要的人“合法”出墙的难度成正比,所以理论上墙总是有漏洞的,而且需要有漏洞。我理解官方的要求是“漏洞可控”,而不是完全堵塞漏洞,否则成本太高,承受不起。

举个例子。美加边界有近九千公里(包括加拿大和阿拉斯加的边界),要想建墙堵住是不可能的。所以只在有公路通过的地方设卡,估计所有公路上的美加边境障碍也不过几公里长。如果有人经常走某个小路非法越境,时间长了管理层可能就会建一段墙堵住那个小路。但总体上说,能通过的地方是远远多于不能通过的地方,只是人们都习惯了走大路,这才觉得到处是墙。

为此,GFW 开发了一系列的相关技术用于检测和干扰“非法”翻墙:

DPI (Deep Packet Inspection)技术 – 分析 IP 数据包内内容。对于 IPSec 的数据包,只有两个 IP 地址可见,但现在有大数据,可以据此判断目标地址是否该堵。这也是 VPN 翻墙经常出问题的一大原因。

DNS 污染 – 当 DPI 发现数据包内有问题,GFW 就可以马上给发包节点发回假的 DNS 信息,让该节点的通信异常。

IP 封锁 – 当认定某个 IP 地址是禁止访问的,就对之进行墙内全网封锁,当然也就无法建立通讯了。这里面具体的还有各种手段,就不一一列举了。

VPN 屏蔽 – 为了翻墙,VPN 开发商往往把数据包伪装成各种“合法”数据,但由于 VPN 技术的特点,这些包总会有某些特征,称为指纹。就像当年查病毒软件一样,GFW 可以根据这种特定的指纹信息对数据包进行欺骗处理。

如此种种,不胜枚举。但万变不离其宗,就是对数据包的检查和封锁。

(三)机场介绍

先从 VPN 技术说起。VPN 商家制作一个软件 (或手机上的 app),用户就在自己的计算机/手机上安装后直接可以访问外网了。

VPN 如果没有 GFW 是很方便的,不需要用户有多少网络知识就可以使用。但这也产生一个致命缺陷,就是这个软件是一个“稳定”的产品,这也意味着从这个软件发出的数据包都会有某些遗传特征,数据包的目的地也都是比较固定,时间长了 GFW 就会发现。这就是为什么传统的 VPN 很难胜任翻墙工作的根本原因。不管它做得多隐秘,只要用户多了、流量大了,就会被针对,然后被屏蔽。这种 VPN 和 GFW 的斗法让用户很无奈,经常会出现 VPN 很长时间不能用,甚至以月来计。相信多数人没有毅力在一两个月 VPN 不好用的情况下还继续期待着吧。

机场采用的是积木式方法来搭建。从底层技术上来说,它并不比 VPN 先进。虽然采用了许多新的协议,但那些东西都是大同小异,如果 GFW 给力的话,都可以咬上一口的。但机场把客户端的应用和翻墙用的服务器分离开来,这样只要那些各种翻墙的服务器足够多, GFW 是忙不过来的,即便屏蔽了几个,客户很快可以导入其他的机场,继续翻墙。这样就大大地提升了翻墙的客户体验。

机场是翻墙机场的简称,这个名字来源于其起初的 Shadowsocks 协议,其客户端是一个小纸飞机 – 是不是和 Telegram 的图标也有点像?这个词没有英文对应,是完完全全国产名牌 。

必须说明,机场的信息安全性(不被监视)是不如 VPN 的。当然,想要偷窥机场传输的内容也不是那么简单。所以 GFW 也没有能力去全部过滤如同雨后春笋般的机场。

其实,就我的理解,这些机场也都是在某种监控之下的。作为监管方,他们比我的手段、经验、技术高多了,如果真的想要对付某个具体的机场或 VPN 是轻而易举的事儿。但凡事都有副作用,平衡利弊是关键,当副作用过大时,杀敌八百自损一千的事儿就没人干了。这些副作用都有什么呢?

也许还有其他的原因。所以我认为彻底严封“非不能也,实不为也”。但为什么当局对 VPN 斩尽杀绝呢?当然一方面是它可以做到,另一方面是 VPN 让反贼们交流太容易了。其实,他们只知其一,不知其二:如果用机场搭了梯子,然后再用 WhatsApp 一类的端到端加密通讯,其安全性不比 VPN 差。

机场也分专线(如租赁 IPLC/IEPL)、直连和中转。专线是最好的,就像上山坐缆车一样, 没有 GFW 干扰,但价格昂贵,往往是企业内部专用,这是“合法”翻墙的;直连就是直接连到国外的服务器,不经国内的服务器中转,其缺点主要是因服务提供商不同其网速迥异,现在已经不多了;中转式是性能价格比最高的方式,也是有当局某种默许的成分在里面。

说起来好像挺复杂,实际上只要了解了原理,安装机场并不是太难的事儿。

现在流行的操作系统都可以安装机场客户端,比如 Windows,Linux,MacOS,Android,iOS 等。但不同的操作系统有不同的客户端,而且这些客户端在中国的 app store 里往往不支持 – 需要登录到外国的 app store 里下载。非苹果产品有直接安装的优势,不必受此累,但也会产生安全顾虑(有一得就有一失)。

以 iOS 为例,有付费的 Shadowrocket (USD $2.99),有免费的 FoXray,V2Box,Sing-Box 等。这些客户端大多都支持各种翻墙协议。大陆客户必须在境外注册 Apple ID 才能下载。

有了客户端,就可以订购机场服务了。网络上搜索翻墙机场 2024 就会给出大量的机场,本文不做广告推荐。

在搜索机场时,用“翻墙机场2024”作为关键字即可。放上年份是因为这些信息的时效性很强。另外,也要注意区分 VPN 和机场。机场在实际使用时会像 VPN 一样,而 VPN 在做广告时又和机场一样,很是混乱。

在找机场时还需要注意以下原则:

订阅后,按机场的要求说明,导入 profile 到客户端,就可以像 VPN 一样使用了。要注意那些 profile 需要经常更新,以免被墙。

(四)总结

幻想买一个 VPN 软件就可以在国内翻墙的朋友,可以洗洗睡了。

翻墙是一个持续的魔道争霸赛,不仅仅 VPN 不能一劳永逸,用机场也不行。最好的办法是加入翻墙群,比如 Telegram 有不少这样的群,有许多就是机场开发商建的,可以跟踪目前的实用翻墙技术。另外和几个搞机场的朋友的连上微信,以后就方便多了。

不要完全相信哪个机场。他们可能会跑路,可能会被拔线,也可能本身就是当局设的。

作为用户,机场有三类:

大家可以看到,机场其实比 VPN 要便宜一些。上面的价格都是按月付款,按季按年都另有优惠。

作为机场用户,应该有狡兔三窟,就是同时准备几个机场。比如,有一个大容量的作为主机场,另安排一两个不限时按流量付费的备份机场,当主机场出问题时,备份机场就可以生效了。它们之间是不冲突的。

至于付费方式,这些机场基本都是支持支付宝、微信付款的,因为主要客户群毕竟是在中国国内。

对于短期回国旅行的朋友,在国内翻墙时还有另外两种方法:

这两种方式都可以访问外网。

----

本文是基于身在国外,需要临时回国的角度来考虑回国后如何翻墙出来的。从国内同胞的角度可能会另有考虑。

本人也是脱离网络技术多年,错误和谬误难免,望读者海涵。

 

 

 


更多我的博客文章>>>

 

 

跟帖(14)

Oneshotkill

2024-06-16 23:06:06

这次回国主要用蓝猫客户端订阅免费节点溜达某城某园某管等消遣网站,全时段速度很快,

slow_quick

2024-06-17 09:36:43

跟不上趟了

slow_quick

2024-06-17 10:30:12

估计名词概念有些不同。。。

枫散仙

2024-06-17 11:53:44

我和你的理解差不多。只是obfuscation,我倒是觉得不是重点,因为这是比较简单的部分。

slow_quick

2024-06-18 10:52:24

可以在自己家里设机场吗?

枫散仙

2024-06-18 13:31:57

理论上可以,但有两条:一是你的ISP需要支持静态IP;二是你的router是开放式的linux可以安装软件,或本就支持。

slow_quick

2024-06-18 18:45:36

我有ASUS router,支持ASUS Merlin,可以进去

slow_quick

2024-06-18 18:46:27

还有DDNS,IP 即使变动从外面也能找到

枫散仙

2024-06-18 22:10:18

那就可以一试了。IP 地址变了可以更新配置,设置成机场也没问题。

slow_quick

2024-06-19 11:16:01

看到一个视频,怎么在ASUS RT-AC86U上安装V2Ray srever...

枫散仙

2024-06-19 11:50:33

最闹心的是长时间的维护。不知道何时ISP或GFW变化,导致你的东西需要更新,就又得捡起记忆...

枫散仙

2024-06-17 11:26:34

机场维护是有成本的,如果一个免费机场可以长期使用,往往是另有原因的。

hot_powerz

2024-06-17 08:26:28

谢谢介绍,明白了机场的来历,也介绍了各种机场客户端与使用方法推荐

枫散仙

2024-06-17 11:27:22

我也是摸索着学习,不一定都是对的。