众所周知,墙国有一个功能强大的 GFW 来保护国人访问境外的互联网内容。有了这道  GFW ,就成功将墙国的 Internet 转换成为 Intranet。国内也有众多互联网公司,在 Intranet 上提供了丰富的内容,如果您觉得在 Intranet 里面玩就足够了,那么可以忽略本文,不用浪费时间。Intranet 再繁荣,也只是一国的内联网,长期沉迷于国内应用,只会造成闭关锁国,坐井观天的迷醉于天朝上国幻象中。没有想到,在近两百年的今天,我们仍然要强调开眼看世界,要突破 GFW 的封锁来了解更为浩瀚的互联网。

1] GFW 介绍

想要突破 GFW,首先当然要了解它,否则突破就无从谈起。GFW 是 Great Firewall 的简写,是中国国家防火墙,主要指国家用于过滤互联网国际出口上内容的软硬件系统的集合,即互联网的审核系统。

事实上防火墙在互联网应用非常广泛,常常用来保护企业内部网络的安全,当然也可以进行网络内容的审核。这种审核操作通过各种规则来实现,防火墙对与审核规则匹配的数据包进行操作,包括干扰、阻断以及屏蔽等。

防火墙一般设置在企业的互联网出口处,用于审核外来流量是否包含危险数据,其规则多是对入流量审核多而对出流量审核少。GFW 也是一种防火墙,只不过它可以理解为国家级防火墙,用来保护我们国家这个 Intranet,被部署在我国与世界互联网连接的出口处,达到审核国内外互联网数据的目的。

世界很多国家都存在网络审查,而审查规则的不同造成结果各不相同。GFW 同样也是根据规则来审查网络,但是它的规则过于严苛,把国家意志强加给审核规则,造成 GFW 对出流量审查多而对入流量审核少,成为典型的封锁墙而不是保护墙。

GFW 的主要实现手段是 DNS 域名污染和 IP 地址或传输端口封锁。DNS 域名污染是针对国内用户,进行 DNS 域名解析时人为回传不实解析结果,从而影响互联网访问结果;IP 地址或传输端口封锁就更为直接,将境外的问题 IP 地址或传输端口直接封锁,用户和目的地址之间没有网络通路,自然就不能访问对方的内容。总体来说,GFW 的实现手段简单直接,做法流氓无耻,其内在的驱动力就是不断更新的规则库。

这个规则库包含众多内容,可以匹配 IP 地址、特定数据包、特定协议以包含关键字的敏感内容等,用户传输的数据只要不会被 GFW 规则匹配到,就可以顺利到达目的地址,实现科学上网。

2] 突破 GFW 的途径

当然,GFW 并没有完全将国内网络与世界互联网隔离(有必要的话它可这样做),我们还是有办法突破 GFW 的限制的。主要途径有两条,一个是不使用通过了 GFW 的网络,比如大型企业通过运营商专线电路直接将路由器连接到境外的网络设备上,这样的用户就相当于已经处于不受 GFW 影响的网络中,当然就不会受到 GFW 的限制。缺点就是y这条途径的门槛比较高,不适于普通个人用户实现;另一个途径就是通过境外代理服务器,将用户请求发送到代理服务器,由代理服务器访问目标服务器,再由代理服务器将响应内容回传给用户,从而实现代理科学上网。可以理解的到,代理方式并不是没有经过防火墙,而是通过各种方法迷惑 GFW,让它不能通过规则阻断我们的数据流量,从而达到突破限制的目的。这种途径的成本低容易实现,缺点也非常明显,就是一旦 GFW 发威,识别到代理流量,那么就又会被封锁。

第一种途径比较土豪,像在墙内为用户专门搭了个直达电梯,想出去玩,坐上电梯就得,根本感觉不到墙的存在;而第二种途径就比较常规,想出去的人只有搬来梯子,搭在墙上,翻过去才能出去玩。技术上不如 GFW 先进的代理工具就好像比墙还矮的梯子,想翻也翻不出去。随着搭梯子的人越来越多,墙也会不断加高,这也是一个不断进步提高的过程。

3] 代理翻墙工具

突破 GFW 的工具多种多样,无论是 VPN 还是代理软件,都需要一个境外的服务器协助完成科学上网。用户使用客户端连接服务器,向服务器发送数据,数据通过 GFW 的审核,就可以顺利连接服务器,然后客户端服务器间通信实现数据双向传输。

代理翻墙工具众多,使用的通信协议也各不相同,实现方式大致分为两种。一种是 VPN 方式,另一种是应用代理服务器方式。VPN 方式是纯网络方式,在服务器同客户间建立数据传输隧道,用户连接成功后,可以进行多种网络应用,基本没有功能限制。应用代理服务器为应用层代理,会进行数据的处理和转发,使用上有一定功能限制,但是基本满足日常使用要求。

VPN 方式可以自建也可以购买 VPN 厂商的服务,自建的话一般使用 OpenVPN 以及 FreeVPN 等软件,将服务器软件部署在境外的服务器上,然后通过 VPN 客户端连接服务器。由于这些 VPN 软件使用的协议都是标准协议,容易被 GFW 识别,所以如果想使用 VPN 的话,还是建议购买大型厂商的服务,付费后直接使用即可,由 VPN 厂商来考虑突破 GFW 的方法,省时省心。

随着云技术的迅猛发展,现在在境外部署服务器越来越容易,这也就催生了一大批应用层代理软件的出现。使用门槛比较低的包括赛风、蓝灯和无界等,都是免费的代理工具,用户不需要做过多配置,直接就可以使用。但是免费的东西使用效果也可想而知,很多时候是费了半天劲,还没翻出去几回,最后还落一身骚。有这工夫真不如买个 VPN 来用,效果好的多。

近期比较流行的代理工具就要数 Shadowsock、V2ray 和 Trojan 了,这些工具都是客户端将加密数据传输到境外 VPS 主机的服务端,服务端解决数据后将请求转发至正确的目标地址,然后将响应加密回传给客户端,再由客户端解密数据正确显示给用户。整个数据传输过程数据都是加密的,理论上可以躲避 GFW 的审查。因为这些工具实在好用,所以也涌现出众多机场的商家,帮助国内的小白们实现科学上网梦。

有点技术能力的朋友,还是建议自行搭建代理服务器,因为现在购买 VPS 比较容易,价格也不贵,搭建服务器教程众多,手把手的演示视频也到处都是,成功搭建代理服务器也不是什么难事。

Shadowsocks 据说最初是因为国内封了 GoAgent 代理,有个大神自己开发的一个代理工具,用 Pyhton 语言编写。作为资深的代理工具,作者给大家打开了一个思路,一下子让科学上网的技术难度大幅降低,很多小白用户也可以轻松翻墙。加之 Shadowsocks 出现最早,各种平台的客户端层出不穷,更加快了 SS 的产业化步伐,一时间 Shadowsocks 机场遍地开花,用户群比较稳定。Shadowsocks 的优势在于其简单易用,客户端全平台通吃,PC 终端和手机终端都有,GUI 客户端也很稳定,非常适合作为翻墙入门工具,既容易获得成就感,使用效果也不错。

V2ray 是比较强悍的翻墙代理工具,最初是因为 Shasowsocks 被停而由一众大神自发进行的项目,由 Go 语言编写。V2ray 最初实现机理同 Shadowsocks 比较类似,就是客户端与服务器端建立加连接,使用专有的 VMESS 协议加密,要求服务器与客户端间有严格的时间同步(可以有小时差而不允许有较大分钟差),后来 V2ray 进行了改进,推出了更加先进的 VLESS 协议,去掉了时间同步限制,并且协议更加轻量化。V2ray 强大但是使用起来比较麻烦,只有命令行的发行版,对于服务器部署和客户端使用都带来一定困难。好在网上一键脚本众多,GUI 的客户端也不断涌现,为V2ray 的流行奠定了良好基础。

Trojan 的作者可以说是天才,想到 GFW 不可能阻止所有 HTTPS 流量,并且 HTTPS 也是加密数据,不如直接用 HTTPS 来传输代理数据,在服务端将数据解密,从而实现代理。这样做的好处就是加密协议更具隐蔽性,并且更加轻量化,消耗较少的系统资源。这对于电脑主机可能没有什么感觉,但是对于手机端的优势就非常明显, 就是耗电的下降。Trojan 发行版只有命令行工具,并且服务器需要使用域名证书,这就给搭建 Trojan 服务器带来一定麻烦,当然可以使用代理服务器的 IP  地址创建自签名证书,但是这样的 HTTPS 请求自然有些怪异,容易被 GFW 侦测到。

Xray 近期可以说是风头无两,可以理解为它结合了 V2ray 和 Trojan 的优势于一身,既支持 VLESS 的轻量化协议,又自创了 xtls 加密方式让代理数据可以伪装成 HTTPS 流量。通过回落的配置,可以让普通 HTTPS 请求被转发至 HTTP 服务器,而代理数据请求则由 X2ray 完成处理,这样就更加隐蔽,GFW 侦测到的数据都是普通的 HTTPS 流量。Xray 可以说是 V2ry 的项目延申,服务器端的配置可以共用,GUI 客户端以及手机端的客户端可以共用,大大方便用户使用。

4] 代理服务器的搭建

个人用户想要顺利突破 GFW,除了购买 VPN 服务外以及各种代理工具的服务外,还可以自行搭建代理服务器。事实上搭建代理服务器的技术门槛并不高,如果会使用 Linux 系统的命令行则更加容易。代理服务器对于硬件配置的要求并不高,单核 512M 内存的主机同样可以跑的飞快。自建代理服务器主要考虑以下问题:

  • 选择哪家 VPS 厂家
  • 选择哪种代理工具

目前 VPS 厂家众多,价格也有高有低,根据自己的预算选择机房离国内近的节点即可。主机类型要求是 KVM 主机,因为这样才能修改启动内核,给 VPS 加速。Vultr 比较适合入门练手,机器都不贵,安装配置也简单,最大的优势就是按小时收费,不想用了马上把实例删除,钱还退到账户里,另外就是如果主机被封了,马上删除换个主机再建一个代理,又能用几天,并不会增加其他收费。其他 VPS 厂家也差不多,以现在的网络条件,完全可以选择不限流量的主机(虽然个人来说 VPS 厂家给的流量一般都够用),起码听起来比较高级,也没有流量用超的担忧。BuyVM 和 Ablenet 的主机用起来相当不错,尤其是能网的主机,日本原生 IP,线路质量和时延都比较出众,就是购买比较麻烦,起码有个支持多币种的信用卡。

代理工具推荐使用 Xray,因为整体使用效果不错,并且隐蔽性最好,支持回落后 VPS 既是 Xray 代理,又是 HTTP 服务器,完全感觉不到代理服务器的存在。用户搭建代理的目的就是扛封耐用,三天两头的换 VPS 也影响心情不是。并且 Xray 客户端也比较成熟,Winows、MacOS 和 Android 平台都有非常好用的客户端。

选择好 VPS 后,最好申请一个域名,这样的话就可以使用免费证书机构颁发的证书,用这个证书来作为加密密钥,让代理流量更像普通 HTTPS 流量。Xray 服务器的搭建就没有什么过多内容好讲,参考本站的教程就好。

本文只是把突破 GFW 需要做什么讲给大家,具体要怎么做,就请参考相关教程。

4 thoughts on “科普文:如何顺利突破 GFW 科学上网”

    1. 我个人认为某种意义上来说是正常的https流量,只是收发双方交互的代理内容。

  1. xtls现在已经可以被精准识别了,建议大佬更新下博客~

    1. 的确,现在xtls 协议是可以被精准识别,但是不是根据协议特征,而是由于tls服务端特征指纹,xtls 的服务端依旧可以使用,但是需要使用最新版的vision选项,传输使用tls协议即可。我会在方便时候写个文章说明一下。博客内容的确有时过时,见谅。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注