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

2024-04-24 13:58:12 23点赞 226收藏 19评论

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

前言

之前有介绍过 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 与 IPv6 异地组网 实现远程访问局域网
  1. 在 Web UI 中显示即可,稍微可以在手机或者电脑上进行连接

通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网

开放端口

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

通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网

Android / iOS

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

通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网
  1. 在 Play Store 或 App Store 中下载 WireGuard,然后点击右下角的 + 号,选择扫描二维码,即可成功添加

通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网

Windows

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

通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网
  1. 官网下载 WireGuard 安装包,点击“从文件导入隧道”,将刚才的文件导入即可

通过 WireGuard 与 IPv6 异地组网 实现远程访问局域网


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1899元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2499元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1749元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2699元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3299元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

sgwbox 拾光坞 N3 星光版V1(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V1(瑞芯微RK3566,2G,支持docker)

385.78元起
19评论

  • 精彩
  • 最新
  • docker 跑v6 还上wg,你得hostnetwork 模式吧,不太建议这么搞! 实在想轻量化,可以lxc跑, 主机上跑其实也很简单。

    校验提示文案

    提交
  • 群晖这样安装报错啊

    校验提示文案

    提交
    [皱眉] 命令后面的 “\” 被大妈编辑器吞了,可以去Github或者原文里复制

    校验提示文案

    提交
    收起所有回复
  • 请教一下,"开放端口"那儿本地ipv6地址怎么填,图中打码了?不胜感激

    校验提示文案

    提交
    如果是梅林系统的话 按 0::a:b:c:b/0::ffff:ffff:ffff:ffff 这种格式填
    不同的路由器系统写法可能会不太一样

    校验提示文案

    提交
    非常感谢,我用的也是华硕,非常感谢

    校验提示文案

    提交
    收起所有回复
  • 就想问,这样在局域网部署了之后,异地连接上能否访问局域网的其它机器。
    如A、B两地,A地局域网中有机器x、y,x安装上wg;B地的z机连接上wg后,能访问y吗?

    校验提示文案

    提交
    刚刚测试了一下 好像是不行的 [哭泣]

    校验提示文案

    提交
    好吧。下次研究下能不能转发实现这个功能,如果成功,用处好大呀

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 双边都有ipv6用这个干啥

    校验提示文案

    提交
    安全,内部一些服务设置只能内网访问,用这个连上去就不用外部暴露太多服务了

    校验提示文案

    提交
    [高兴] 都这么讲究安全了,难道连个企业专线都没?还在用家宽?

    校验提示文案

    提交
    收起所有回复
  • 套件中心有没有?

    校验提示文案

    提交
  • 不是,两边都ipv6了,还整啥?

    校验提示文案

    提交
  • openwrt路由里面装一个wireguard协议就可以了,对端配置设置下就可以访问本地局域网了

    校验提示文案

    提交
    能不能用对端做出口?

    校验提示文案

    提交
    这个我只有外面回家的需求,没试过。

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
226
扫一下,分享更方便,购买更轻松