夏天来了,最近我会经常出门翘家,打算远程访问NAS上的文件,以及用RDP远程桌面连回台式机的运行环境,于是想着搭建一个VPN回家
域主用的是运行在PVE虚拟机上的OpenWRT路由系统,从H110的塔式换到H81的垃圾桶主机,灵活性很高,目前给OpenWRT分配了512MB的内存,绰绰有余。
主流的传统VPN协议是PPTP、L2TP、SSTP,操作系统原生支持连接,但在国内几乎很难连上,尽管国内并不限制境内的VPN组网,不过传统的VPN连接仍然出现不同程度的运营商阻断。其次是OpenVPN、SoftEther VPN,新兴的有WireGuard、Tailscale、Zerotier,还有思科的OpenConnect……
OpenVPN广泛采用,上手简单易用;SoftEther的配置直观——有Windows的管理工具,也可以设置上述的主流协议,但几乎没成功过;WireGuard基于UDP协议,理想简单美好,但实际很容易被阻断,测试RDP远程桌面的性能也不太好,而后两者是类似的技术,不过需要通过节点转发,性能就更不稳定了;而OpenConnect我用过相关的加速器,客户端导入证书的配置有点麻烦,就没再试了。
最后我选择了OpenVPN,经过我的测试对比,只有OpenVPN在连接远程桌面的性能最好。尽管体积稍大了些、客户端也得在后台常驻运行。在OpenWRT有luci的应用,只是需要在 /etc/config/openvpn
文件下加入 option duplicate_cn '1'
的证书复用配置,这样便可以同时使用多个客户端连接了。