前言
因为家里宽带没有公网IP也不支持ipv6,一直使用 frps 作为内网穿透的工具。后来发现了 wireguard,于是就将家里的服务器与具有公网IP的云服务器组网,实现内网穿透功能。这里主要介绍 wireguard 的安装以及组网方式,能够满足正常工作、学习所需了。
公网服务器
首先我们需要一台处于公网的服务器,这里我们使用雨云服务器,服务器配置不需要太高,2H2G即可
- 雨云优惠注册地址 :https://www.rainyun.com/mohuang_
- 雨云优惠码 :mohuang(使用优惠码注册可获得首月5折优惠券,还可在积分商城领取8折新购券,8折券可叠加官方的年付7折优惠,也就是5.6折)
注册完账号后进到 雨云控制台,点击云产品→云服务器→立即购买:

这里我们选择湖北的,各位可根据自己的延迟选择,2H2G足够
系统我们手动选择debian13

然后点击下方的立即购买即可,购买后可在云产品>云服务器> 我的云服务器 中看到

点击卡片中的管理可进入服务器详情页面:

开始连接服务器
下载安装并打开ssh客户端软件,ssh客户端软件推荐mobaxterm或xshell/xftp
我这里用mobaxterm,打开软件后点击会话→SSH,在远程主机处输入你的服务器的IP地址,然后点击好的。
mobaxterm下载地址 我这个mobaxterm是直接免安装的,解压到文件夹中直接运行MobaXterm_Personal_24.3.exe就可使用

然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。
温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。
开启服务器转发
在上一步我们购买了服务器,使用mobaxterm进入服务器之后首先开启IPV4流量转发功能(中转的公网IP服务器必须配置)
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p更新软件包
apt update安装Wireguard
这里咱们使用Debian系统,Debian支持从它的仓库直接下载安装
apt install -y wireguard
编写配置文件
这里各位可以自行查看官方文档来自定义编写,也可以使用我自己编写的配置文件生成工具。
这里使用配置文件生成工具。执行命令下载工具:
curl -L https://gitee.com/edrik_1/typecho/raw/master/VpnUtil -o /usr/local/bin/vpnutil && chmod +x /usr/local/bin/vpnutil && mkdir /etc/vpnutil生成服务端配置文件
我们已经安装好了wireguard以及配置文件生成工具,现在我们要初始化一下wireguard以及vpnutil的配置文件,执行命令:
# 创建并进入一个文件夹用来存放配置
mkdir vpnconf && cd vpnconf
# 执行初始化命令
vpnutil gen serve server 111.122.59.214 -a 172.32.100.1/24 -p 51820命令参数解析
- vpnutil gen serve 是基础命令
- server是生成配置文件的前缀名字,例如server.conf,server.key,这里最好不要变,就是server即可
- 118.193.35.26 是自己服务器的公网ip
- -a 172.32.100.1/24 是设置wireguard客户端的虚拟ip范围
- -p 51820 是设置wireguard服务端的监听端口
执行完毕后,当前文件夹会出现三个文件
- 前缀名字.conf wireguard服务端的配置文件
- 前缀名字_private.key wireguard服务端的私钥
- 前缀名字_public.key wireguard服务端的公钥
根据咱们当前执行的命令会出现,server.conf、server_private.key、server_public.key
应用配置文件
接下来咱们移动"前缀名字.conf"文件到wireguard的配置文件目录使其生效
cp server.conf /etc/wireguard/ && wg-quick up server查看wireguard状态
# 查看wg的状态
wg show
这代表已经正常运行
生成客户端配置
接下来使用自动工具生成客户端配置.
执行命令:
vpnutil gen client client01命令参数解析
- vpnutil gen client 是基础命令
- client01 是要生成客户端配置文件的前缀,可以自定义起名字,但最好不要包含特殊字符
执行完毕后,当前文件夹会出现三个文件
- 前缀名字.conf wireguard客户端的配置文件
- 前缀名字_private.key wireguard客户端的私钥
- 前缀名字_public.key wireguard客户端的公钥
这里要注意,服务端的配置文件名字一定要是server.conf,正常按照教程走的话是不会有问题的,如果想使用自动工具生成客户端配置,但服务端配置是自己手写的小伙伴,那就把配置文件改下名字,客户端配置文件名字随意命名即可
防火墙放行
我们已经运行了服务端,并设置了监听端口51820,我们开始继续部署客户端组网之前,需要在雨云后台开启服务器的防火墙放强行51820端口
进入服务器防火墙

新建防火墙规则
点击新建防火墙规则,输入端口,协议是UDP, 点击确定

新增成功
新增成功,我们可以开始进行下一步了。

客户端组网
这里咱们演示Debian和Window下如何组网
Debian组网
新开一个虚拟机或者测试服务器按照上面的教程先安装一遍wireguard。
然后我们在wireguard的服务端服务器上使用自动配置工具生成一个配置文件。
例如:
vpnutil gen client debian此时当前文件夹下会生成debian.conf,debian_private.key,debian_public.key。
然后我们将debian.conf复制到虚拟机或测试服务器的/etc/wireguard目录下。
执行命令:
# wg启动命令,其中debian就是配置文件名字,配置文件叫什么名字,这里就填什么名字,注意不能填后缀.conf
wg-quick up debian
# wg关闭命令
wg-quick down debian然后我们客户端执行命令查看状态:
wg show
已经成功。我们回服务端同样执行wg show查看

可以看到客户端连进来了
Window组网
同样我们去wireguard服务端执行命令生成配置文件
vpnutil gen client windowwindow上安装wireguard的window版本,下载地址
安装后打开如下:

我们将服务端生成的配置文件下载下来,然后点击客户端的新建隧道或从文件导入,选择window.conf。
然后点击确定,如下:
我们点击连接。
如图连接成功。
我们回到服务端,执行wg show,如图,window也已经加入到组网了

完结
至此,wireguard组网教程结束
坑点
- 如果window无法连接到,可以尝试关闭Window防火墙
- linux等系统无法连接的话,也检查一下Linux防火墙
评论 (0)