内网穿透 篇六:通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网

本文介绍了如何在拥有公网IPv6的环境中,通过WireGuard实现设备间的直连,避免第三方服务打洞问题。使用Docker部署WireGuard,配置WebUI并添加客户端,同时指导了如何在Android、iOS和Windows系统上进行连接设置和端口管理。
摘要由CSDN通过智能技术生成

本文首发于只抄博客,欢迎点击原文链接了解更多内容。

前言

之前有介绍过 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 LANG=de \
-e WG_HOST=<🚨YOUR_SERVER_IP> \
-e PASSWORD=<🚨YOUR_ADMIN_PASSWORD> \
-e PORT=51821 \
-e WG_PORT=51820 \
-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" \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy

修改后的配置如下 (更多配置项,可以参考 Github 中的 README):

docker run -d \
--name=wg-easy \
-e WG_HOST=<🚨YOUR_SERVER_IP> \
-e PASSWORD=<🚨YOUR_ADMIN_PASSWORD> \
-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" \
--sysctl="net.ipv6.conf.all.forwarding=1" \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy

添加 Client

  1. Docker 容器成功运行后,打开 http://ip:51821 端口,即可进入 Web UI
  2. 点击右上角的 New 按钮,任意输入一个名称,点击 Create

wireguard

  1. 在 Web UI 中显示即可,稍微可以在手机或者电脑上进行连接

wireguard2

开放端口

如果有开启 IPv6 防火墙的,还需要在防火墙中放行 51820 端口,协议选择 UDP,Web UI 的 51821 端口无需放行

wireguard3

Android / iOS

  1. 在 Web UI 中,点击二维码按钮,会展示一个二维码

wireguard4

  1. 在 Play Store 或 App Store 中下载 WireGuard,然后点击右下角的 + 号,选择扫描二维码,即可成功添加

wireguard5

Windows

  1. 在 Web UI 中,点击下载按钮,会下载一个 conf 格式的配置文件

wireguard6

  1. 官网下载 WireGuard 安装包,点击“从文件导入隧道”,将刚才的文件导入即可

wireguard7

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值