Docker 玩法

飞牛NAS部署 WireGuard Easy:VPN一键部署

2026-07-30 3 admin

前言

在远程访问NAS或家庭内网服务时,安全性始终是首要考虑。传统的端口映射虽然方便,但容易暴露在公网攻击之下。WireGuard作为一种高效、安全的现代VPN协议,凭借其极简的代码量和强悍的加密能力,已成为远程访问的首选方案。而WireGuard Easy则是一个基于Web的图形化管理工具,让原本需要手动配置WireGuard服务的繁琐过程变得像点外卖一样简单。

本教程将手把手指导你在飞牛NAS(fnOS)上通过Docker部署WireGuard Easy,实现一键式VPN搭建。无论你是刚接触NAS的新手,还是追求效率的老手,都能在10分钟内完成部署。

准备工作

在开始之前,请确保你的飞牛NAS满足以下条件:

  1. 飞牛NAS系统版本为最新(建议0.8.2x及以上)
  2. NAS已开启SSH功能(设置 -> 系统设置 -> SSH,开启即可)
  3. NAS已安装Docker(飞牛NAS自带Docker环境,无需额外安装)
  4. 拥有一个公网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

如果看到STATUSUp状态,说明容器启动成功。你也可以通过查看日志来确认:

docker logs wg-easy

正常的日志末尾会显示类似Listening on 0.0.0.0:51821WireGuard 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的管理面板。

第六步:创建客户端配置

管理界面非常简洁直观,主要操作就是添加和删除客户端。

  1. 在页面中央的输入框中,为你的设备起个名字,比如MyPhoneMyLaptop
  2. 点击Create按钮,系统会自动生成一个客户端配置。
  3. 点击该客户端旁边的二维码图标,会弹出二维码。
  4. 使用手机上的WireGuard客户端扫描二维码,即可自动导入配置。
  5. 对于电脑端,可以点击下载按钮下载配置文件,然后导入WireGuard客户端。

小技巧: 每个客户端可以设置不同的IP地址段,方便区分不同设备。如果需要某个客户端只访问内网而不走VPN流量,可以在创建时调整AllowedIPs参数。

第七步:连接测试

以手机为例:

  1. 在应用商店搜索并安装WireGuard官方App。
  2. 打开App,点击右下角的+号,选择扫描二维码
  3. 扫描Web管理界面中的二维码。
  4. 连接开关切换到ON状态。
  5. 尝试访问飞牛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入口,尽情享受安全远程访问的便利吧。