WireGuard:一切组网方案的地基
Docker 自部署内核级组网引擎
编辑评价3.9编辑部综合整理,仅供参考
维护活跃
活跃
工具介绍
WireGuard:一切组网方案的地基
只做一件事的隧道协议:用现代密码学套件在两台机器之间拉一条加密隧道。代码量极小却合入了 Linux 主线内核(5.6 起),性能与安全性都经得起推敲。Tailscale、NetBird 这些「开箱即用」方案,数据面用的都是它。
核心优势
- 内核态性能:实现位于内核,转发路径短,吞吐与延迟开销小于用户态方案,跑满家庭宽带不成问题。
- 概念极少:本机密钥对、对端公钥、AllowedIPs 三件套就是全部核心;没有策略引擎、没有插件体系,配置文件一屏读完。
- 漫游无感:设备从 WiFi 切到流量、换了网络地址,隧道自动恢复,手机在外连家里的移动场景体验顺滑,笔记本在公司与家之间来回也不用手动重连。
- 精简也是安全牌:代码量小意味着暴露面小,密码学构件少而新,社区对协议本身的讨论与审计积累充分——对安全敏感的用户,这份「小」本身就是卖点。
- 学一次处处受益:它是众多组网产品的底座,理解密钥与 AllowedIPs 的语义之后,再看 Tailscale、NetBird 的配置全是熟人。
要清醒认识它的定位:只提供隧道,没有设备管理、没有控制台、没有打洞辅助,全部要自己搭;密钥分发、地址规划、跨网连通都靠手工。官方站点国内访问稳定性一般,文档与安装源获取可能要多试几条路,但不影响已装客户端的使用。
适合谁
想完全掌控每一条隧道、不依赖任何第三方协调服务的进阶用户;软路由与 VPS 之间的点对点互联;把协议本身当学习目标的人。典型场景还包括给外地办公室的几台机器配一条固定隧道,配好之后常年不用碰。怕折腾程度:高——手写密钥与路由,换来的是零外部依赖与内核级性能。怕麻烦请直接用 Tailscale、NetBird 这类上层封装。
惊蛰 整理 · 2026-09 收录
评测视频
点击跳转 B 站观看原视频已聚合 5 条评测视频 ·5 位博主独立评测
部署速查
维护活跃活跃
部署前提
- 用社区维护最久的 linuxserver/wireguard 镜像;需要 NET_ADMIN 权限与宿主内核模块。
- SERVERURL 填家里域名或公网 IP;手机/电脑客户端数量用 PEERS 控制,启动后自动生成配置与二维码。
docker-compose.yml
出处:github.com/linuxserver/docker-wireguard 官方 README。
services:
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- SERVERURL=wireguard.domain.com # 换成你的域名或公网IP
- SERVERPORT=51820
- PEERS=3
- PEERDNS=auto
- INTERNAL_SUBNET=10.13.13.0
volumes:
- ./config:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
启动与初始化
docker compose up -d后docker logs -f wireguard里能拿到各 peer 的客户端配置与二维码。- 手机/电脑客户端扫码或导入 conf 即连;两端连通后按 AllowedIPs 决定哪些网段走隧道。
- 加设备改 PEERS 数量后 up -d 重新生成;升级 pull + up。
同类对比
快速上手
1用社区维护最久的 linuxserver/wireguard 镜像(其官方 README 的运行块精简版):
```bash
docker run -d --name=wireguard --cap-add=NET_ADMIN --cap-add=SYS_MODULE -e TZ=Asia/Shanghai -e SERVERURL=wireguard.domain.com -e SERVERPORT=51820 -e PEERS=1 -p 51820:51820/udp -v /path/to/wireguard/config:/config -v /lib/modules:/lib/modules --sysctl="net.ipv4.conf.all.src_valid_mark=1" --restart unless-stopped lscr.io/linuxserver/wireguard
```
2容器启动后自动生成服务端与各 peer 配置:`docker logs -f wireguard` 里能拿到客户端配置与二维码。
3手机/电脑客户端扫码或导入 conf 即连;两端连通后按 AllowedIPs 决定哪些网段走隧道。
本页由编辑 惊蛰 整理与维护 · 了解幕后







