飞牛NAS部署 WireGuard Easy:VPN一键部署
前言
在远程访问NAS或家庭内网服务时,安全性始终是首要考虑。传统的端口映射虽然方便,但容易暴露在公网攻击之下。WireGuard作为一种高效、安全的现代VPN协议,凭借其极简的代码量和强悍的加密能力,已成为远程访问的首选方案。而WireGuard Easy则是一个基于Web的图形化管理工具,让原本需要手动配置WireGuard服务的繁琐过程变得像点外卖一样简单。
本教程将手把手指导你在飞牛NAS(fnOS)上通过Docker部署WireGuard Easy,实现一键式VPN搭建。无论你是刚接触NAS的新手,还是追求效率的老手,都能在10分钟内完成部署。
准备工作
在开始之前,请确保你的飞牛NAS满足以下条件:
- 飞牛NAS系统版本为最新(建议0.8.2x及以上)
- NAS已开启SSH功能(设置 -> 系统设置 -> SSH,开启即可)
- NAS已安装Docker(飞牛NAS自带Docker环境,无需额外安装)
- 拥有一个公网IP或可进行端口映射的网络环境(用于外部连接)
第一步:通过SSH连接飞牛NAS
由于飞牛NAS的Docker管理器不支持直接部署需要复杂参数的命令行容器,我们需要通过SSH终端进行操作。
打开你电脑上的SSH客户端(Windows推荐使用PowerShell或Putty,Mac/Linux直接使用终端),输入以下命令:
ssh 你的飞牛NAS用户名@你的飞牛NASIP地址
例如:
ssh [email protected]
输入密码后(密码输入时不显示字符,正常现象),成功登录NAS终端。
第二步:创建WireGuard Easy容器
在终端中直接执行以下Docker命令创建一个名为wg-easy的容器:
docker run -d \
--name=wg-easy \
-e WG_HOST=你的公网IP或域名 \
-e PASSWORD=你的Web管理密码 \
-e WG_DEFAULT_ADDRESS=10.8.0.x \
-e WG_DEFAULT_DNS=1.1.1.1 \
-e WG_ALLOWED_IPS=0.0.0.0/0, ::/0 \
-e WG_PERSISTENT_KEEPALIVE=25 \
-v /docker/wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart=unless-stopped \
weejewel/wg-easy
参数说明:
| 参数 | 说明 |
|---|---|
| WG_HOST | 你的公网IP或DDNS域名,客户端连接时使用 |
| PASSWORD | 登录Web管理界面的密码 |
| WG_DEFAULT_ADDRESS | 客户端分配的虚拟IP段,默认10.8.0.x |
| WG_DEFAULT_DNS | 客户端使用的DNS服务器 |
| WG_ALLOWED_IPS | 允许路由的IP范围,0.0.0.0/0表示全流量走VPN |
| WG_PERSISTENT_KEEPALIVE | 保活间隔(秒),防止NAT超时断连 |
| -v /docker/wg-easy | 配置文件持久化存储路径 |
| -p 51820 | WireGuard协议端口(UDP) |
| -p 51821 | Web管理界面端口(TCP) |
如果你的公网IP是动态的,建议在WG_HOST处填写DDNS域名(如vpn.yourdomain.com),并在路由器上做好DDNS解析。
第三步:验证容器运行状态
执行以下命令检查容器是否正常运行:
docker ps -a | grep wg-easy
如果看到STATUS为Up状态,说明容器启动成功。你也可以通过查看日志来确认:
docker logs wg-easy
正常的日志末尾会显示类似Listening on 0.0.0.0:51821和WireGuard Easy started的信息。
第四步:配置防火墙与端口转发
为了让外部网络能够访问你的VPN服务,需要在飞牛NAS的防火墙和路由器上做相应设置。
飞牛NAS防火墙设置:
进入飞牛NAS的设置 -> 网络设置 -> 防火墙,添加两条规则:
- 端口51820,协议UDP,允许
- 端口51821,协议TCP,允许
路由器端口转发:
登录你的路由器管理界面,添加两条端口转发规则:
- 外部端口51820 -> NAS内网IP:51820 (UDP)
- 外部端口51821 -> NAS内网IP:51821 (TCP)
如果不确定如何设置,请查阅你的路由器说明书或联系宽带运营商获取公网IP。
第五步:访问Web管理界面
打开浏览器,输入以下地址:
http://你的NASIP:51821
例如:http://192.168.1.100:51821
如果从外网访问,则输入:
http://你的公网IP:51821
在弹出的登录框中输入你设置的PASSWORD密码,即可进入WireGuard Easy的管理面板。
第六步:创建客户端配置
管理界面非常简洁直观,主要操作就是添加和删除客户端。
- 在页面中央的输入框中,为你的设备起个名字,比如
MyPhone或MyLaptop。 - 点击
Create按钮,系统会自动生成一个客户端配置。 - 点击该客户端旁边的二维码图标,会弹出二维码。
- 使用手机上的WireGuard客户端扫描二维码,即可自动导入配置。
- 对于电脑端,可以点击下载按钮下载配置文件,然后导入WireGuard客户端。
小技巧: 每个客户端可以设置不同的IP地址段,方便区分不同设备。如果需要某个客户端只访问内网而不走VPN流量,可以在创建时调整AllowedIPs参数。
第七步:连接测试
以手机为例:
- 在应用商店搜索并安装WireGuard官方App。
- 打开App,点击右下角的
+号,选择扫描二维码。 - 扫描Web管理界面中的二维码。
- 连接开关切换到
ON状态。 - 尝试访问飞牛NAS的内网IP(如192.168.1.100),或者访问NAS上的服务。
如果一切顺利,你应该能够像在内网一样访问所有资源。
常见问题与优化
Q:连接后无法访问内网资源?
A:检查WG_ALLOWED_IPS是否包含了你的内网网段。例如内网是192.168.1.x,则需要添加192.168.1.0/24。更简单的做法是保持0.0.0.0/0, ::/0,让所有流量都走VPN。
Q:连接速度慢?
A:可以尝试调整WG_PERSISTENT_KEEPALIVE的值,从25秒改为15秒,减少NAT超时导致的断连。另外,检查路由器是否开启了UPnP或端口触发功能,这些可能会干扰UDP连接。
Q:如何更新WireGuard Easy?
A:先停止并删除旧容器:
docker stop wg-easy && docker rm wg-easy
然后重新执行第二步的创建命令即可。配置数据会保留在/docker/wg-easy目录中。
Q:如何添加更多客户端?
A:直接在Web管理界面添加即可,每个客户端都有独立的私钥和配置,互不影响。
总结
通过以上七个步骤,我们成功在飞牛NAS上部署了WireGuard Easy,实现了图形化管理的VPN服务。整个过程无需手动编辑配置文件,也不需要复杂的命令行操作,真正做到了“一键部署”。
WireGuard对比传统OpenVPN或IPsec,优势在于代码量少、性能高、连接速度快,特别适合NAS这种需要长时间稳定运行的场景。而WireGuard Easy则填补了WireGuard缺乏图形管理界面的短板,让普通用户也能轻松管理多个客户端。
部署完成后,你可以在任何地方通过手机或电脑安全地访问家里的NAS文件、监控摄像头、家庭媒体服务器等所有内网服务。再也不用担心公网暴露带来的安全风险,同时享受比DDNS直连更稳定的连接体验。
现在,你的飞牛NAS已经拥有了一个专业级的VPN入口,尽情享受安全远程访问的便利吧。