前前言

这是一篇杂谈,意味着不会像其他技术博文一样要求思路很严谨,也或者里面会有些错误或者不可靠的地方,欢迎探讨。

前言

再又一次看到谷歌搜索的人机认证后,我叹了口气。

自从高二有了自己第一台电脑后,怀着对 Linux 极大的兴趣,通过折腾 VPS 逐渐初次接触到了 “翻墙” 这个概念,才恍然意识,原来英文互联网能获取那么多一针见血的教程/知识,原来 Youtube (那时候对哔哩哔哩还没感兴趣)的视频那么好看,加上 Google 针对百度压倒性的搜索质量等等,让我从 “简中局域网居民”(不含贬义) 逐渐变成了一位 “国际互联网公民”。 那时候 Shadowsocks 横空出世,机场的概念还没兴起,自建梯子是当时的主流,支持 AliPay 的 Vultr 凭借着最低 35 元/月的最低套餐,变成了不知道多少 “年轻人的第一台 VPS”,我犹记得刚刚开始的时候,Vultr 东京 NTT 线路节点到深圳也才 45ms,学着教程部署一套 SS 后畅游外网似乎是一套那么理所当然的操作。

然而 Vultr 被人挤满后,当时夸张到需要连开五台机器,才能找出可以正常没有被墙的 IP,只要识别到了该 IDC 东京网段,网站会屏蔽你的服务,这就是因为低门槛导致不可控的因素极具增多,不是每个人都是一名合格的邻居,爬虫/垃圾邮件/DDOS/反动内容充斥着这里时候,我们意识到是时候找条新路子了。

一年亦或者是两年后,一方面是对持续维护翻墙服务器感到了厌烦,SS/SSR 在当时属于不断升级对抗阶段,如果更新不及时被 GFW 发现协议特征(最为经典就是 TCP 重放探测了),你会发现服务器 IP 被墙并不是件很意外的事情。另一方面,机场的概念被提出,只需要一台最低价格套餐就能享受到数以十计的节点,速度拉满,这简直不要太舒服。

机场时期

机场模式将会是目前以及未来的主流。

机场模式伴随度过大学时光,Stackoverflow / Github / Google 学术等等也是借着机场的便利才得以顺通,对于大部分人来说,机场完完全全可以当成最优解,只需要刷刷 Ins 或者谷歌搜索这种用途,又何必用其他的手段呢。

然而事情的便利都是有代价的,机场低廉的价格意味着需要进行超售才能维持成本,一条号称全 BGP 线路机场套餐 300G 才 10 元,一个出口 IP 被几百人使用,注意一个合格的机场是不会直连国外落地节点的,客户线路太不可控,万一效果不理想炸起来口碑就没了。一般都是在国内放置一个 BGP 入口,可以是阿里云/腾讯云等等,三网客户汇聚后转发到对于 BGP 节点优秀的出口线路。例如 PCCW / CN2 这些。

这种 BGP 节点被探测后封锁的几率相当高 — 流量太大了,严管时期一天三次更新节点列表不算夸张,加上黑心商家用月抛的 Azure,在 Google 看起来,这个人的 IP 一直在漂移,而且时不时会用到黑名单网段,于是每用例如 2 小时,就强制进行一次人机验证。facebook 会严格一点,直接封锁账号让你去人工申诉。虾皮这种电商网站就更不用说了,直接判定为诈骗账户。

总结一下,机场适合大部分对于翻墙要求不高,有一定频次且预算有限,但是比较追求访问速度的人,因为更低频次的人使用的是商店下载的 “加速器” 或者 “公益免费节点”,这种不在我们的讨论范围之内。包括我现在的 Clash 规则内也会包含一些机场的线路备用。

专线

目前专线的信息和架构:

  • 线路区域:广港专线 - 独享 10M
  • 国内 Pop: 深圳 IDC 数据中心,BGP 入口,通过电信提供的 SDWAN 接入广州机房
  • 国内 Pop 配置情况:定制物理刀片服务器,32 核 32G,10M 独享数据中心宽带
  • 线路提供商:China Telecom,采用协议为 MSTP VPN
  • 香港 Pop:将军澳 IDC 数据中心机房
  • 香港 Pop 配置情况:DELL R620,24核 16G,100M 共享数据中心带宽
  • 香港落地出口:CNSERVERS LLC – BGP 原生 IP

报价:不开票扣除 6 个点后,17xxx元/年

专线情况

这波来看看专线的配置情况,单论线路中间,目前是两端 Pop 网口 eno2 各接入了一条线,配置在统一网段中(192.168.30.0/26)

$ ping 192.168.30.1 # 通道稳定 3ms 无丢包
PING 192.168.30.1 (192.168.30.1) 56(84) bytes of data.
64 bytes from 192.168.30.1: icmp_seq=1 ttl=64 time=3.10 ms
64 bytes from 192.168.30.1: icmp_seq=2 ttl=64 time=3.09 ms
64 bytes from 192.168.30.1: icmp_seq=3 ttl=64 time=3.02 ms
64 bytes from 192.168.30.1: icmp_seq=4 ttl=64 time=3.08 ms
64 bytes from 192.168.30.1: icmp_seq=5 ttl=64 time=3.09 ms
64 bytes from 192.168.30.1: icmp_seq=6 ttl=64 time=3.07 ms
64 bytes from 192.168.30.1: icmp_seq=7 ttl=64 time=3.05 ms
64 bytes from 192.168.30.1: icmp_seq=8 ttl=64 time=3.03 ms
64 bytes from 192.168.30.1: icmp_seq=9 ttl=64 time=3.05 ms
^C
--- 192.168.30.1 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8009ms
rtt min/avg/max/mdev = 3.022/3.063/3.103/0.025 ms

$ iperf3 -c 192.168.30.2
Connecting to host 192.168.30.2, port 5201
[  5] local 192.168.30.1 port 36586 connected to 192.168.30.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.00 MBytes  16.7 Mbits/sec   45   25.5 KBytes       
[  5]   1.00-2.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   2.00-3.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   3.00-4.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   4.00-5.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   5.00-6.00   sec  1.86 MBytes  15.6 Mbits/sec    0   25.5 KBytes       
[  5]   6.00-7.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   7.00-8.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   8.00-9.00   sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
[  5]   9.00-10.00  sec  1.74 MBytes  14.6 Mbits/sec    0   25.5 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  17.8 MBytes  14.9 Mbits/sec   45             sender
[  5]   0.00-10.01  sec  17.5 MBytes  14.6 Mbits/sec                  receiver

iperf Done.

小知识

流量转发

一般来说,我们没有条件也没有必要上非常大(>50Mbps)的专线来存粹为了翻墙,经过我的实测,8Mbps 的带宽即便是三到四人使用,只要正确配置规则(仅仅命中 Google 等间歇性且小流量站点),也能使用得非常流畅,而面对需要较大宽带的场景,譬如视频/音乐站点这种对于可靠性要求较低,可以接受适当丢包情况,我们可以使用 流量转发 服务。

流量转发 通常指的是提供 5 - 10 个端口,通过这些指定的端口将流量转发到你国外的机器,相当于帮你优化了中间的线路,在这里我们只讲 通过 IPLC 进行 流量转发 的行为,很典型的就是该类服务大部分按照流量进行收费(~1.2元/G),虽然也是共享线路,但是瘦死的骆驼比马大,凭借着价格打造的门槛和需要配置落地机两样,较于机场的节点也有着秒杀般的优势。而且因为是多人共享,意味着带宽通常非常大(200Mps都有可能),商家也可以凭借着量级去压低成本,从而做到双赢。我帮公司寻找过 IPLC 的商务报价,花卷 10MBps 大约是 300元/M,Ucloud 则一开始报价 400元/M,花卷如果超过 50Mbps,则可以谈到 240元/M,而如果达到 GBps 这个量级,能压到相当可观的一个报价,只要你能找到口碑良好的商家,这是我最为推荐的翻墙方式了。

为什么上面说需要甄别商家呢,因为如果使用机场的话,你的邻居将会是和你一样的个人用户,而如果选择 流量转发 的话,你的邻居则变成了机场主,我在商家的 TG 售后群潜水了好几周,看着大佬们的招商备注感觉颇为惊奇。

其实机场主的话也没啥,毕竟大家自备落地,IP 出了问题也牵扯不到你头上,但是大佬们打架伤及鱼池,商业竞争导致如果机场把国内 Pop 的地址暴露出去了,马上会迎来 DDOS 攻击或者举报,所以说如果没有选一个合适的(技术过硬,入口有高防,知名度较小)商家,那这条线路还是退款为妙。

备忘

  • Snap 安装 ShadowSocks-libev 遇到权限错误解决方案 => apparmor_parser -r /var/lib/snapd/apparmor/profiles/*