在前面提到过通过搭建WireGuard服务端来进行科学上网,同时WireGuard还有一项功能、那就是组建内网隧道,通过在软件层面把两个不同的vps服务器连接在一个内网中,从而实现低延时高稳定性的传输模式,这里的内网当然不能跟真IPLC专线相比较,只是类似的软件层面的MPLS专线。
关于隧道中转这个词在目前的网络环境中经常会听到,在前面也提过VNET、GOST和Echo这三种隧道中转方案,相比较这三种方式通过ws/tls加密方式都是基于TCP协议,而WireGuard则是通过UDP协议传输、受国内运营商Qos影响较为严重,适用于较为依赖UDP协议的应用、或是只允许内网访问。
升级内核和安装WireGuard
1、关于WireGuard的安装,在本站或者网上都有一键安装脚本,搜索关键词就能找到,这篇文章主要讲下如何手动在Centos 7系统安装部署WireGuard隧道,执行下列命令更新软件源和升级内核(国内机请使用其它脚本或手动升级内核).
- yum update –y
- wget —no–check–certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
2、部分系统内核可能导致无法安装,可自定义安装其它内核,一般情况不会出问题,继续执行下列命令安装;
- curl –Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
- yum install epel–release –y
- yum install wireguard–dkms wireguard–tools –y
上述两步均需在所有服务器上执行!文章源自Get主机优惠信息-https://getzhuji.com/5604.html
生成公钥和密钥
进入到Wireguard默认配置目录,通常为/etc/wireguard目录,由于Wireguard通信需要依靠公钥和私钥进行相互鉴权,所以我们需要在服务器上生成公钥和私钥文件,执行下列命令:
cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 777 -R /etc/wireguard
配置服务端/客户端
这里的服务端和客户端是对等的,服务器既可叫客户端也可叫服务端(意思就是可以相互连接),我们这里为了区分定义为:国内机为客户端,国外机为服务端;
1、在服务端和客户端的/etc/wireguard目录下分别创建一个名称为wg0.conf的文件,直接命令行输入下列命令:
vi wg0.conf
2、在服务端也就是国外机的wg0.conf文件输入以下内容,在命令行输入cat privatekey和cat publickey命令可分别查看内容,##号及后面为注释内容,不用复制粘贴这个内容;
[Interface]
Address = 192.168.1.1/24 ##这里是自定义的服务端内网IP
SaveConfig = true
ListenPort = 36666 ##这里是自定义的wireguard通讯端口,需在防火墙放行该UDP端口
PrivateKey = fuwuduansiyao ##这里填写 服务端 上 privatekey 的内容
# Client
[Peer]
PublicKey = kehuduangongyao ##这里填写 客户端 上 publickey 的内容
AllowedIPs = 192.168.1.1/24
3、在客户端的也就是国内机的wg0.conf文件内容如下:
[Interface]
PrivateKey = kehuduansiyao ##这里填写 客户端 上 privatekey 的内容
Address = 192.168.1.2/24 ##这里是自定义的客户端内网IP
- # Server
- [Peer]
- PublicKey = fuwuduangongyao ##这里填写 Server 上 publickey 的内容
- Endpoint = 13.24.45.67:36666 ##这里是服务端也就是国外机的公网IP和前面的端口
- AllowedIPs = 192.168.1.1/24 ##这里填写自定义的服务端内网IP
4、最后在两台服务器上分别输入下方启动命令启动服务:文章源自Get主机优惠信息-https://getzhuji.com/5604.html
- wg–quick up wg0 ##启动wg0虚拟网卡
- wg–quick down wg0 ##关闭wg0网络
- wg ##查看当前的运行情况
5、输入wg命令可以查看到隧道已建立,可以互相在服务器上ping对方的内网IP查看是否有延时数据,比如在192.168.1.1服务器上输入:ping 192.168.1.2
隧道中转:此时在国内服务器使用本站提供的各类中转工具,转发到远程服务器也就是国外服务器的 内网IP 就是走的WG内网隧道了
留言