基于Wireguard组网技术的内网穿透教程

1、购买服务器

这里使用的是雨云的江苏宿迁nat服务器,系统选择的是带有docker环境的ubuntu20.04

雨云:雨云注册地址

注册优惠码建议填写xly,填写这个优惠码注册后有个5折卷,可以7块就可以买到本次教程所需的服务器

image-20240402210925281

image-20240402211145753

image-20240402134311979

2、运行Wireguard

使用雨云自带的服务器远程连接,输入用户名和密码进入服务器

image-20240402141617012

image-20240402134715950

使用一下命令,创建docker容器

docker run -d \
  --name=wg-easy \
  -e WG_HOST=(这里输入服务器的公网IP) \
  -e PASSWORD=(管理页面的密码) \
  -e WG_DEFAULT_ADDRESS=10.10.10.x (默认IP地址)\
  -e WG_DEFAULT_DNS=114.114.114.114 \
  -e WG_ALLOWED_IPS=10.10.10.0/24 (允许连接的IP段)\
  -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" \
  --restart unless-stopped \
  weejewel/wg-easy
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

以下是我使用的命令

docker run -d \
  --name=wg-easy \
  -e WG_HOST=103.40.13.68 \
  -e PASSWORD=pass-1234 \
  -e WG_DEFAULT_ADDRESS=10.10.10.x \
  -e WG_DEFAULT_DNS=114.114.114.114 \
  -e WG_ALLOWED_IPS=10.10.10.0/24 \
  -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" \
  --restart unless-stopped \
  weejewel/wg-easy

image-20240402135508254

使用docker -ps查看容器是否在运行

image-20240402135644181

可以看到容器已经在运行了,接下来进行下一步骤

3、配置客户端

3.1、下载 wireguard客户端

https://www.wireguard.com/install/

 

这个官网链接大概是无法在国内访问的,这里我提供了网盘下载

windows系统:https://url48.ctfile.com/f/42203748-1045819760-c5c0d1?p=2515

安卓系统:https://url48.ctfile.com/f/42203748-1045820141-a399de?p=2515

提取码2515

3.2、端口映射

因为使用的是nat服务器,所以要进行端口映射,进入服务器管理,NAT端口映射,分别将51820和51821映射到不同的公网端口

 

3.3、配置wireguard

复制内网地址51821映射的公网地址,粘贴到浏览器中,密码为创建容器时设置的密码,如我的是pass-1234

image-20240402140851936

image-20240402141123431

image-20240402142806625

点击右上角间的 +New 创建客户端,名称随便,这里我创建了三个客户端,分别是家里的unraid,电脑,手机

3.4、客户端配置

在管理面板下载客户端配置文件

image-20240402142727621

3.4.1、windows 配置

打开wireguard客户端,点击从文件导入隧道,将下载下来的配置文件导入

image-20240402143227784

点击右下角的编辑,将Endpoint 的参数改成 自己的公网地址

image-20240402143741577

最后点击连接,显示已连接就说明成功了

image-20240402143852896

3.4.2、unraid 配置

在unraid6.3以后会有一个自带的vpn管理器,点击 IMPORT TUNNEL导入配置文件

image-20240402152837443

image-20240402153811135
image-20240402154110841

点击”基本”显示详细信息,更改配置

image-20240402154735410

最后点击应用,再点击有效

image-20240402154845190

现在测试能否用windows访问10.10.10.2,可以看到现在是可以通过10.10.10.2访问家中的unraid了

image-20240402155342727

3.4.3、安卓客户端配置(ios一样)

打开WireGuard,进入后点击右下角的“+”,选择扫描二维码,二维码在WireGuard管理面板中,点击二维码图标就可以打开二维码

image-20240402155658499

image-20240402155814895

图片[23]-基于Wireguard组网技术的内网穿透教程-www.88531.cn资享网

修改配置,再点击保存就可以启用了

image-20240402160123013

4、结尾

image-20240402160520471

现在回到WireCuard中,能看到三个客户端的状态,每个客户端名字下方有一个ip这就是WireCuard给我们分配的虚拟ip,这样我们就将这三个设备组成了一个局域网,使用WireCuard其实是没有客户端和服务端的概念的,在这一个虚拟局域网中各个设备都可以互相访问

如果是用frp,你想访问设备的一个端口就需要创建一个隧道

但是使用WireCuard就可以访问在这个局域网下设备的每个启用的端口

4.1、最后我们来测试设备间能否ping通

image-20240402161524138
image-20240402161547440
image-20240402161632456

可以看到设备间是可以相互ping的

文章知识点与官方知识档案匹配,可进一步学习相关知识

来源地址:基于Wireguard组网技术的内网穿透教程

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^

© 版权声明
THE END
喜欢就支持一下吧
点赞23 分享