关于 VPS 的总结
近年来也用了不少 VPS 产品,是时候梳理一下了。
最早接触 vps 时网速是很慢的,用的是校园网大概只有 2Mbps,加上翻墙用 VPN 就更慢了。当时对 VPS 也没有什么了解,为了做一个 blog 购买了 godaddy 的主机————功能上有很多限制,不是一个独立的操作系统,只适合放一些页面,由于网络的问题,shell 卡的几乎动不了,godaddy 的主页也是半天刷不出来。总之,当时体验奇差无比,域名和 blog 不久也都荒废了。 隔了挺长时间,终于有了自己的住处,带宽也有 10Mbps 了,又想把 blog 拾起来,于是重新购买了一个 godaddy 的高配空间,这次感觉还行,打开网页还算流畅,shell 也勉强可用了。于是我下载了 python 的源码,编译了一套 python 环境,想做一个简易的远程开发平台。虽然环境都配置好了,但使用体验和公司提供的开发机相比实在是差太多了,所以这个主机也搁置了。为了不浪费主机资源,我在上面跑了一些定时任务代码,一开始还行,后来发现那些任务都失败了。 后来入手了 ipad,想试试能不能弄一个 shell 流畅一些的云主机,这样出门带着 ipad 就能做开发了。于是购买了阿里云最低配置款,初次使用体验非常流畅,感觉和本地操作差不多。于是我用心折腾了一下这个系统,把各种配置都做好,环境都搭好,并且跑了很多服务在上面。当时正好在学习 R 语言与机器学习,我把 kaggle 上的一些数据导到了阿里云上,用 R 语言加载,结果瞬间内存爆掉了。一方面 R 的内存管理确实不够完善,另一方面云主机真的不太适合处理大量的数据,也不适合作为长期工作环境,毕竟 CPU,内存硬盘等资源都非常有限。从那以后,这台阿里云用得就少了,为了不浪费机器,我找了一位朋友来共同使用这台主机。阿里云的另一个问题是,如果没有备案,那么是无法做站的。 同时期我还折腾过一个 AWS,当时看了一篇帖子说注册可以免费试用,但注册过程还是要绑定信用卡。AWS 的控制中心设计得不那么直观,我选择了一个美国节点,连接速度非常感人,shell 操作平均延迟半秒。除此之外,我了解到 AWS 的网络流量有限制,1G 以内是免费的,超过了要加钱。于是我果断放弃了 AWS。结果这些年来,每个月 AWS 都会从我卡上扣费,大概是因为那个实例没有彻底注销吧。扣得不多,所以我一直也没有管过。 后来我的网络环境升级到了 100Mbps。因为 VPN 总是断线,我了解到 SS 这款翻墙工具。想使用它必须购买国外的 VPS,调研了一下感觉 vultr 还不错,主页的风格很简明我很喜欢,所以就入手了。购买了一个日本节点试水,刚配置好 SS 时的感觉真的很惊艳,可以看 youtube 8K 视频,明显比 VPN 流畅多了,而且也很稳定。于是我索性购买了一批 vultr 主机,有的用来建站,有的用来存储。渐渐的,由于 vultr 用得人越来越多,SS 感觉没有以前那么给力了。直到有一天,我在 win10 上安装了 SS 客户端,我的 SS 服务就开始频繁出问题。错误由之前的 broken pipe 变成了 reset by peer。ping 我的 vultr 主机会发现丢包率惊人的高,但从阿里云连接 vultr 主机就完全没有问题。我有一个很不好的猜想,win10 上的 SS 客户端是被人做过手脚的,专门用于屏蔽 SS 代理服务。换言之,我的 SS 服务器可能已经被记录并针对了。 鉴于这种情况,我决定把 SS 迁移到 linode 上。linode 麻烦的地方是需要上传证件,其他的都还好,内核也预置了 bbr 拥塞算法,免去了编译内核的麻烦。实际连接速度,linode 比较中庸,没有 vultr 那么快,但胜在稳定。这次我不再使用 win10 SS 客户端,而是在 Linux 工作站上建立了一个代理中转服务,win10 PC 只要访问同一局域网中的 Linux 工作站上的代理中转服务即可。这样使用到现在,没有再出现过不稳定的问题。 在可预见的未来,与墙的战争仍会继续并激化。有机会我会研究一下 win 10 的 SS 二进制客户端,看看是否存在不该有的内容。另外我近期会读 SS 的 C 版本代码,用于重新实现一个自定义版本的 SS。
更新
近期 SS 很不好用,看来墙也在发力。先是日本的两台服务器频频被断,把端口改为 443 之后恢复正常。接着第二天,443 等常用端口也开始被断,于是把 SS 部署在一台美国 VPS 上,又恢复正常。原本还以为墙的技术升级了,看来也只是按 ip 段做了限制而已,弱爆了。本来还想借这个机会自己实现一个 proxy,既然 SS 又能用了,这个计划就先停一停吧。前文提到的 windows 下 SS 客户端的疑问,可能是我多虑了,近期确实是墙在搞事情。