WireGuard 一键搭建教程:使用 wg-easy + Docker 部署 VPN 服务端
想快速搭建自己的 WireGuard VPN?这篇教程教你使用 Docker 一键部署 wg-easy,只需 30 分钟即可拥有带网页管理面板的 WireGuard 服务端。涵盖 Ubuntu、Debian 环境安装、Docker 部署、客户端配置、二维码扫码连接、防火墙设置以及常见问题排查,新手也能轻松完成搭建。

前言:为什么选 WireGuard + wg-easy?
WireGuard 是近几年最火的 VPN 方案,速度快、配置简单、安全性高,已经进了 Linux 内核。但原版 WireGuard 有个痛点——纯命令行管理客户端太麻烦,加一个设备要敲一堆命令,删一个设备还得编辑配置文件。
wg-easy 完美解决这个问题:一个 Docker 容器就给你搭好 WireGuard 服务端 + 网页管理面板,点两下就能添加/删除设备、扫码连接。30 分钟从零到能用。
你需要准备什么
- 一台有公网 IP 的 Linux VPS(1 核 512M 内存就够,推荐 Ubuntu 22.04 / Debian 12)
- 一个域名(可选,但强烈建议,不然客户端配置里填 IP 也行)
- 会粘贴命令到终端
第一步:环境准备
SSH 连上你的 VPS。先更新系统:
sudo apt update && sudo apt upgrade -y
安装 Docker(如果还没装):
curl -fsSL https://get.docker.com | bash
sudo usermod -aG docker $USER
退出 SSH 重连一次,让 docker 权限生效。
第二步:一键部署 wg-easy
创建目录存放配置:
mkdir -p ~/wg-easy
用一条命令启动:
docker run -d \
--name=wg-easy \
--restart=unless-stopped \
-e WG_HOST=你的域名或公网IP \
-e PASSWORD=你的管理面板密码 \
-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 \
-e WG_PERSISTENT_KEEPALIVE=25 \
-v ~/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" \
weejewel/wg-easy
关键参数说明:
| 参数 | 说明 |
|---|---|
WG_HOST |
改成你 VPS 的域名或公网 IP |
PASSWORD |
管理面板登录密码,自己设一个 |
WG_DEFAULT_DNS |
默认 DNS,推荐 1.1.1.1 或 223.5.5.5 |
WG_ALLOWED_IPS |
0.0.0.0/0 即全局代理;如果只要访问内网就改成 10.8.0.0/24 |
放行防火墙端口:
sudo ufw allow 51820/udp
sudo ufw allow 51821/tcp
如果你的 VPS 在云厂商那还有安全组(阿里云/腾讯云/AWS 等),去控制台也把 51820/UDP 和 51821/TCP 放开。
第三步:登录管理面板
浏览器打开 http://你的IP:51821,输入刚才设的密码。
你会看到一个干净的管理界面——可以创建客户端、查看已连接设备、一键下载配置文件。
第四步:客户端连接
Windows / macOS
在管理面板点击「新建客户端」,输入设备名称(比如「公司的笔记本」),然后下载 .conf 配置文件。
去 wireguard.com/install 下载对应系统的 WireGuard 客户端,安装后导入刚才的 .conf,点击连接即可。
iPhone / Android
手机端更方便——管理面板每个客户端旁边有个二维码按钮,点一下,打开手机 WireGuard App,扫码添加,一键连接。
分享给朋友
每人一个独立客户端,互不影响。朋友不用的时候你在面板上点一下「禁用」就行,不用删配置。
第五步:验证是否成功
连接后浏览器打开 ipleak.net,检查显示的 IP 是不是你的 VPS IP。如果是,搞定。
常见问题
连上了但上不了网?
- 确认 VPS 开启了 IP 转发:
sudo sysctl net.ipv4.ip_forward应该输出1 - 如果不是,执行
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - 检查云厂商安全组是否放行了 51820/UDP
速度慢?
- 试试把客户端配置里的
MTU改成1280 - 换一个离你近的 VPS 机房
- 把
WG_DEFAULT_DNS换成223.5.5.5
面板进不去?
docker logs wg-easy
看报错。最常见原因:51821 端口没放行,或者有别的程序占用了。
小结
三十分钟,你有了一个带网页管理面板的 WireGuard 服务端。


