1 Why VPN
为什么要使用 VPN?尤其是,为什么个人用户需要使用 VPN 呢?其实如果你只有一台电脑,其实一般用不上 VPN(当然,用 VPN 来翻墙另说),如果你有多个电脑,甚至是服务器,这些服务器的网络情况还比较复杂,而你希望随时随地方便地访问这些机器,那么建立 VPN 虚拟网络将这些机器连接起来就能极大的方便访问过程。例如,如果一台服务器是在路由器后面,没有公网 IP,与其在路由器上配置复杂的端口映射表,不如通过 VPN 网络自由地访问各个端口。又例如在一些特定的场景下,一些服务器的低位(1024 以下)端口的访问会收到限制,这个也可以同 VPN 来解决。
当然,还有可能,你处于校园网中,而你通过种种途径有了一个无限流量服务器,通过 VPN,可以让你在校园网场景下能够随时通过这台服务器上网,从而免去流量费用。另外,将这一宝贵资源分享给同学使用,用 VPN 也非常方便。
2 Why Pritunl
我试过很多 VPN 方案,例如 PPTP,OpenVPN,IPSec 等等。其实使用 VPN 过程中的一个痛点在于用户管理要尽可能方便,虽然我也比较多的在用命令行工具,但是使用命令行工具去管理用户体验还是非常差。Pritunl 提供了 OpenVPN 的网页 GUI 管理界面。这也是我为什么推荐使用 Priunl 的原因。而且,Pritunl 中免费用户就可以使用无数量限制的账户和设备,这对于个人用户来说足够了。
另一方面,Pritunl 的客户端支持也非常全面
3 How to deploy
3.1 Installation
官方文档在这里: Installation。事实上按照官方文档的推荐,Pritunl 最好部署在企业级的 Linux OS 上,如 Red Hat, Oracle Linux, CentOS 等。不过对于个人用户,对于性能,稳定性和安全性要求没有那么严格的情况下,用 Debian 系的系统也未尝不可。我的 Pritunl 服务器就是部署在 Ubuntu 上的,几个月使用下来,性能和稳定性都非常好。
对于不同版本的系统,安装脚本不同。例如,Ubuntu 16.04,安装脚本如下:
1 | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list << EOF |
3.2 Configuration
在安装完 Pritunl 之后,访问服务器的 443 端口,即可以看到配置引导界面。
其中需要输入的主要是第一项 Setup Key。数据库部分,如果你是使用上面的脚本安装的话,那么 Pritunl 服务本机上就已经安装运行了 MongoDB,这里第二个配置 MongoDB URI 就不需要变动。要获取 Setup Key,ssh 进入部署服务器,运行pritunl setup-key
即可.
完成这一步设置以后就来到管理员登录界面:
初始时用户名和密码都是pritunl
,在完成第一次登录之后会被要求修改管理员的用户名和密码:
4 Further Reading
Pritunl 的使用方法非常直观,文档可以参见Connecting.