本文首发于只抄博客,欢迎点击原文链接了解更多内容。
前言
之前有介绍过 Tailscale 与 ZeroTier 组网的方案,但这两者都属于第三方提供的服务,在部分地区的网络环境下,容易打洞失败,无法直连。
当你有公网 IPv6 时,可以直接使用 WireGuard 连接到局域网,而无需通过第三方的服务器进行打洞,延迟低,并且可以跑满本地的带宽。在使用 WireGuard 前,需要确保 IPv6 可以正常的访问,并且已经配置好 DDNS。
WireGuard 配置完成后,设备连接到 WireGuard,就相当于连接到家庭局域网中,可以直接使用内网 IP 访问内网部署的服务。
局域网部署
安装 WireGuard
在局域网的任意一台设备上部署 WireGuard,由于直接部署 WireGuard 较为复杂,本文使用 wg-easy 这个 Docker 镜像进行部署,以下是 README 中的 Docker 启动命令,我们需要对其中的几项进行修改:
- LANG: 语言,默认为英语
- WG_HOST: IP 地址,填写 DDNS 的域名
- PASSWORD: Web UI 界面的密码
- WG_PORT: WireGuard 端口,默认为 51820
- PORT: Web UI 端口,默认为 51821
- sysctl: 由于我们使用的是 IPv6,还需要添加
net.ipv6.conf.all.forwarding=1
docker run -d \
--name=wg-easy \
-e