Monthly Archives: June 2022

通过威联通NAS上的WireGuard VPN连接回家里的网络环境

  以前在外访问家里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服务。参考NordVPNQNAP自家页面,Wire Guard在安全性和传输速度方面表现都相对更好。

VPN protocolSpeedEncryptionStreamingStabilityP2P
OpenVPNFastVery goodGoodGoodGood
IPSec/IKEv2FastGoodGoodVery goodGood
WireguardVery fastVery goodGoodVery goodGood
SSTPMediumGoodMediumMediumGood
L2TP/IPSecMediumMediumPoorGoodPoor
PPTPFastPoorPoorGoodPoor
VPN协议比较

  于是这次就用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。