假如我们没有公网 IP,或者公网 IP 出现故障暂时无法访问,那么我们可以借助云服务器+WireGuard的形式实现内网穿透。

本文为《群晖NAS公网访问配置》系列文章的第四篇。全部文章请参考:

群晖NAS公网访问配置(一):配置DDNS
群晖NAS公网访问配置(二):配置WireGurad
群晖NAS公网访问配置(三):配置Nginx访问Docker服务
群晖NAS公网访问配置(四):配置云服务器


我在腾讯云上有一台 Ubuntu 轻量级服务器,本文将以其为基础进行各种配置。

云服务器配置


增加记录

首先我们需要增加一条新的记录值,作为创建 WireGuard 隧道的入口。这里可以参考之前的流程:添加域名记录

注意这里的记录值需要填写你服务器的公网 IP。

开放端口

接着去到服务器管理后台,需要在防火墙中开放 NAS 中 WireGuard 的端口。在前文示例中,该值为 51820。

在云服务器上配置 WireGuard


安装 WireGuard 服务

首先我们 ssh 到远端云服务器,然后安装 WireGuard 服务:

apt update && apt install wireguard -y # 先更新再安装

该过程可能会超时,可以试着修改 sources.list 源解决。

创建配置

然后我们创建并进入 wireguard 文件夹。

mkdir /etc/wireguard
cd /etc/wireguard

接着按照 配置 WireGuard 服务端 的方式,创建公私钥。

注意这里我们需要创建两套客户端配置。因为现在我们是要将该云服务器作为 WireGuard 的服务端,NAS 和我们的操作终端(比如 Mac)都是客户端。

接着我们创建 wg0.conf 配置文件。

客户端配置


NAS 配置

通过 SSH 连接 NAS,进入 /etc/wireguard 文件夹,创建一个新的 wg1.conf 配置文件。

保存文件后,通过 wg-quick up wg1 命令启动配置。或者参考前文设置开机自启动。

客户端配置

客户端配置就简单很多了,和前文中的操作是一模一样的。

注意端口、IP 即可。