搭建属于你自己的vpn

Glider 十月 06, 2021

前言

随着互联网的发展,网络环境逐渐变得嘈杂和拥堵,里面充斥着各种不正当竞争和灰色利益链。

因此有必要搭建一个属于自己的网络环境,这个网络环境有几点要求:

这篇文章主要记录满足以上几种要求的工具,并写一点自己的思考

正文

zerotier

这个软件其实在国内的各种论坛已经普及了,能够满足上述大多数的要求,但经过长时间的使用,缺点如下:

  1. 运营商qos限速

    由于zerotier使用udp进行打洞和传输,因此在拷贝大容量文件时,容易触发运营商的限速

  2. 打洞效率一般

    ab如果均处于最深的nat类型,打洞的时间可能会持续很久,并且一旦ab的ip发生变化,就需要重新打洞,延迟不稳定

优点:

  1. 能够自建moon,planet等握手节点,不过需要公网ip

tailscale

这个软件的客户端是开源的,但服务端(中心节点)闭源,有人基于客户端的api写了一个中心节点,叫做headscale

headscale类似于zerotier的自建moon,planet,博主还没搭建过,不清楚和原版的有什么差别

tailscale基于wireguard,因此理论上速度非常快,而且打洞的成功率也非常高(网上说的)

若不使用headscale,用官方网站进行部署非常简单,不过这就需要你信任第三方了(目前支持谷歌、微软、github)

这是hackernews上的讨论:Headscale: Open-source implementation of the Tailscale control server

目前这个软件比较新,国内也没什么讨论(布道者)。也许等大伙儿都知道了老大哥们就会开始封锁中心节点吧……

nebula

借鉴tinc,用golang实现的vpn软件

这篇文章讨论了nebula和tailscale的优缺点 点我直达

结论如下:(工地英语,将就着看)

如果你是想搞事情的运维或者极客,想要一个免费、开源、p2p、全连接,并且自己能进行中心控制的vpn软件,就用nebula吧!

如果你想要一个优雅、简单、第三方网站托管的vpn软件,试试Tailscale

nebula还没试过,不清楚打洞效率如何。

缺点就是:你必须要有一个有公网ip的服务器,作为中心控制节点

其它软件

这个github项目里,老哥收集了很多类似的软件:https://github.com/cedrickchee/awesome-wireguard

不知道以后会不会更新,反正现在看来还挺新