以前在外访问家里NAS内容时,都是通过路由器上的端口转发,登陆NAS管理页面。这样做一是有一定安全隐患,二是所有内容都在NAS管理网页这个”沙盒“里,无法通过本地应用直接访问。比如听歌,要么用NAS自带的网页播放器,要么需要先把歌曲文件下载到本地。最近趁618低价,新添了 QNAP 威联通 NAS TS-464C,今年的网红N5105 CPU配上32G内存(虽然官方硬件规格说最大支持16G内存),足足比14年使用至今的QNAP 212P的512M内存大了64倍……212P虽慢但稳定异常,目前依旧继续服役稳定输出。
解决上面提到的安全和内容访问问题,标准答案就是VPN,连通后无论身处何地,你的设备就像连到家中的WIFI一样。目前QANP的操作系统QTS 5.0自带了QVPN Service 3软件,内建提供QBelt(QNAP自家标准),PPTP,L2TP/IPSet(PSK),OpenVPN,WireGuard共5种VPN服务。参考NordVPN和QNAP自家页面,Wire Guard在安全性和传输速度方面表现都相对更好。
VPN protocol | Speed | Encryption | Streaming | Stability | P2P |
---|---|---|---|---|---|
OpenVPN | Fast | Very good | Good | Good | Good |
IPSec/IKEv2 | Fast | Good | Good | Very good | Good |
Wireguard | Very fast | Very good | Good | Very good | Good |
SSTP | Medium | Good | Medium | Medium | Good |
L2TP/IPSec | Medium | Medium | Poor | Good | Poor |
PPTP | Fast | Poor | Poor | Good | Poor |
于是这次就用QVPN Service搭建WireGuard VPN服务。具体步骤此处省略,可参考QNAP官方文档:How to Configure WireGuard VPN Server and Client Settings in QVPN Service 3。搭建好后,QVPN Service服务器端和Android客户端设置分别如下:
有几点注意事项分享如下:
- 服务器端
- 如果NAS里启用了QNAP的防火墙QuFirewall,请参照How to setup QuFirewall to allow VPN connections设置以允许WireGuard服务通过防火墙。
- 需要在路由器上做端口转发以允许外网访问WireGuard VPN服务。上图使用的是默认端口51280。
- 客户端
- 接口的地址需要填入服务器端对等表中分配好的“允许的IP”地址。服务器端的对等表,建议一个设备添加一条记录方便区分。
- 对等中的端点地址,填入通过路由器转发的WireGuard服务外网地址端口。
- 对等中的允许IP地址,填入0.0.0.0/0以允许所有IP地址的流量。
至此,你应该可以随时随地通过WireGuard服务接入家中的网络环境了。经过几天测试使用,速度和稳定性都很不错。在外面通过4G网络加WireGuard给小朋友看家中NAS里的《绿色星球》很流畅。另外因为等同接入家中WIFI,家里软路由上运行的所有服务也都是可以直接使用的,比如访问国际互联网。
这次虽然使用的是QNAP自带的QVPN Service软件,但理论上在NAS的docker中或软路由(docker)中运行WireGuard服务器端都是可以的。
总结一下使用WireGuard VPN服务接入家中网络的一些特点:
- 连接速度和安全性都有保证。
- 可通过客户端本地软件访问NAS内容,比如电影和音乐,不受网页端限制。
- 以下两点,对于家里其他成员非常方便。一人维护家里的设置,所有客户端一次性配置免去今后维护,对于外地家庭成员尤其友好:
- 可以替代NAS本身的网页“分享链接”功能。比如外地的家中成员看NAS里的电视剧时可以摆脱网页播放器,从而使用平板或手机的本地播放器进而投射到电视大屏上。
- 可以直接使用软路由上的服务访问国际互联网,比如备份照片到Google Photos里。
- 依然需要保留NAS网页端直接访问功能,以便在已经连入其它VPN的情况下访问NAS。