在前面提到过通过搭建WireGuard服务端来进行科学上网,同时WireGuard还有一项功能、那就是组建内网隧道,通过在软件层面把两个不同的vps服务器连接在一个内网中,从而实现低延时高稳定性的传输模式,这里的内网当然不能跟真IPLC专线相比较,只是类似的软件层面的MPLS专线。

关于隧道中转这个词在目前的网络环境中经常会听到,在前面也提过VNET、GOST和Echo这三种隧道中转方案,相比较这三种方式通过ws/tls加密方式都是基于TCP协议,而WireGuard则是通过UDP协议传输、受国内运营商Qos影响较为严重,适用于较为依赖UDP协议的应用、或是只允许内网访问。

升级内核和安装WireGuard

1、关于WireGuard的安装,在本站或者网上都有一键安装脚本,搜索关键词就能找到,这篇文章主要讲下如何手动在Centos 7系统安装部署WireGuard隧道,执行下列命令更新软件源和升级内核(国内机请使用其它脚本或手动升级内核).

  1. yum update y
  2. wget nocheckcertificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

 

2、部分系统内核可能导致无法安装,可自定义安装其它内核,一般情况不会出问题,继续执行下列命令安装;

  1. curl Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
  2. yum install epelrelease y
  3. yum install wireguarddkms wireguardtools y

 

上述两步均需在所有服务器上执行!文章源自Get主机优惠信息-https://getzhuji.com/5604.html

生成公钥和密钥

进入到Wireguard默认配置目录,通常为/etc/wireguard目录,由于Wireguard通信需要依靠公钥和私钥进行相互鉴权,所以我们需要在服务器上生成公钥和私钥文件,执行下列命令:

  1. cd /etc/wireguard
  2. wg genkey | tee privatekey | wg pubkey > publickey
  3. chmod 777 -R /etc/wireguard

配置服务端/客户端

这里的服务端和客户端是对等的,服务器既可叫客户端也可叫服务端(意思就是可以相互连接),我们这里为了区分定义为:国内机为客户端,国外机为服务端;

1、在服务端和客户端的/etc/wireguard目录下分别创建一个名称为wg0.conf的文件,直接命令行输入下列命令:

  1. vi wg0.conf

2、在服务端也就是国外机的wg0.conf文件输入以下内容,在命令行输入cat privatekeycat publickey命令可分别查看内容,##号及后面为注释内容,不用复制粘贴这个内容;

  1. [Interface]
  2. Address = 192.168.1.1/24 ##这里是自定义的服务端内网IP
  3. SaveConfig = true
  4. ListenPort = 36666 ##这里是自定义的wireguard通讯端口,需在防火墙放行该UDP端口
  5. PrivateKey = fuwuduansiyao ##这里填写 服务端 上 privatekey 的内容
  6.  
  7. # Client
  8. [Peer]
  9. PublicKey = kehuduangongyao ##这里填写 客户端 上 publickey 的内容
  10. AllowedIPs = 192.168.1.1/24

3、在客户端的也就是国内机的wg0.conf文件内容如下:

  1. [Interface]
  2. PrivateKey = kehuduansiyao ##这里填写 客户端 上 privatekey 的内容
  3. Address = 192.168.1.2/24 ##这里是自定义的客户端内网IP
  4.  
  5. # Server
  6. [Peer]
  7. PublicKey = fuwuduangongyao ##这里填写 Server 上 publickey 的内容
  8. Endpoint = 13.24.45.67:36666 ##这里是服务端也就是国外机的公网IP和前面的端口
  9. AllowedIPs = 192.168.1.1/24 ##这里填写自定义的服务端内网IP

4、最后在两台服务器上分别输入下方启动命令启动服务:文章源自Get主机优惠信息-https://getzhuji.com/5604.html

  1. wgquick up wg0 ##启动wg0虚拟网卡
  2. wgquick down wg0 ##关闭wg0网络
  3. wg ##查看当前的运行情况

5、输入wg命令可以查看到隧道已建立,可以互相在服务器上ping对方的内网IP查看是否有延时数据,比如在192.168.1.1服务器上输入:ping 192.168.1.2

隧道中转:此时在国内服务器使用本站提供的各类中转工具,转发到远程服务器也就是国外服务器的 内网IP 就是走的WG内网隧道了

最后修改日期: 2020年2月23日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。