因为一些原因将 Elasticsearch 部署在了另外一台机器上,之前两台 vps 是直接通过公网通迅的,只不过用防火墙限制了一下IP,但这终究是不安全的,想要靠谱还是要上VPN。但找了一找网上的VPN教程大多是 OpenVPN ,虽然 OpenVPN 很安全,但部署操作实在太复杂了,于是就一直这样鸽了下来。
今天,看到了 在 Ubuntu 18.04 上建立 WireGuard 隧道组建 VPS 大内网 这篇文章时真是茅塞顿开,于是参考这篇文章外加 官方文档 、Debian Wiki Wireguard 条目 使用 WireGuard 将自己的两台 VPS 组了一个私有网。
以下步骤均建议,同时连接两台VPS同步操作。
第一步:生成密匙 在服务端、客户端同时使用如下命令生成公钥与私钥。
wg genkey | tee privatekey | wg pubkey > publickey Warning
请注意保护私钥。
第二步:手动配置 请参考以下配置文件模版,和 wg-quick 完成配置文件,并将配置文件写入 /etc/wireguard/wg0.conf。
Server:
[Interface] Address = 192.168.1.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = 服务端私钥
[Peer] PublicKey = 客户端公钥 AllowedIPs = 192.168.1.0/24 Client:
[Interface] Address = 192.168.1.2/24 PrivateKey = 客户端私钥
[peer] PublicKey = 服务端公钥 Endpoint = 服务器地址:51820 AllowedIPs = 192.168.1.1/24 第三步:防火墙 服务端打开相应的监听端口,放行udp。
firewall-cmd --zone=public --add-port=51820/udp --permanent 根据实际需要,在服务端、客户端做出相应的防火墙配置。
Server:
firewall-cmd --new-zone=wg --permanent firewall-cmd --zone=wg --add-interface=wg0 --permanent firewall-cmd --zone=wg --add-masquerade --permanent firewall-cmd --zone=wg --add-port=3000/tcp --permanent firewall-cmd --zone=wg --add-port=4000/tcp --permanent firewall-cmd --reload Client:
firewall-cmd --new-zone=wg --permanent firewall-cmd --zone=wg --add-interface=wg0 --permanent firewall-cmd --zone=wg --add-port=9200/tcp --permanent firewall-cmd --reload 第四步:确认通道已连接 服务端、客户端同时启动 wireguard。
wg-quick up wg0 查看 ip 地址,并互 ping 对方主机,如果能 ping 通,说明隧道已经建立。
$ ip addr
3: wg0:
link/none
inet 192.168.1.1/24 scope global wg0
valid_lft forever preferred_lft forever
$ ping 192.168.1.2 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=1.74 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=1.59 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=1.64 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=1.66 ms 64 bytes from 192.168.1.2: icmp_seq=5 ttl=64 time=1.100 ms ^C --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 11ms rtt min/avg/max/mdev = 1.587/1.725/1.998/0.149 ms 可使用 wg show 查看相应信息。
interface: wg0 public key: 服务端公钥 private key: (hidden) listening port: 51820
peer: 客户端公钥 endpoint: 客户端地址:客户端当前端口 allowed ips: 192.168.1.0/24 latest handshake: 59 seconds ago transfer: 135.63 KiB received, 209.95 KiB sent 如果测试没有问题,并需要长期保持隧道,使用 wg-quick@.service 实现自启。
wg-quick down wg0 && \ systemctl start wg-quick@wg0.service &&\ systemctl enable wg-quick@wg0.service
昨天给大家介绍了UDPspeeder网络加速工具,今天再给大家分享下同作者的另一款udp2raw隧道工具,该工具可以把UDP流量伪装成TCP流量传输,可以配合KCPTUN/WireGuard等UDP协议传输工具使用,能有效避免被运营商对UDP限速和屏蔽,适合UDP干扰比较严重的地区使用。
【udp2raw】UDP隧道搭建教程,配合WireGuard使用把UDP流量伪装成TCP流量传输!!! 教程开始 本文以搭配WireGuard为例,基于centos7系统,通过Xshell连接上服务器后,输入下列命令:
yum update -y && yum install wget curl screen -y 1、下载安装WireGuard服务端,选择 1. Install wireguard等待安装完成;
curl -O https://raw.githubusercontent.com/atrandys/wireguard/master/wg_mult.sh && chmod +x wg_mult.sh && ./wg_mult.sh 2、修改WireGuard的 MTU 为1200(超过1300软件会崩溃),使用vi命令编辑修改/etc/wireguard/wg0.conf文件;
vi /etc/wireguard/wg0.conf 3、重启 WireGuard,然后命令行输入 wg 查看WireGuard监听端口,后面要用;
wg-quick down wg0 wg-quick up wg0 4、获取udp2raw服务端程序;
curl -o udp2raw https://raw.githubusercontent.com/atrandys/onekeyopenvpn/master/udp2raw && chmod +x udp2raw 5、开启udp2raw服务,重启服务器会导致失效,需重新开启;
screen -S udp2raw ./udp2raw -s -l0.0.0.0:9898 -r127.0.0.1:你的wireguard端口 --raw-mode faketcp -a -k "passwd" 下载udp2raw客户端使用 1、Windows+MAC客户端下载:点击下载
2、下载后解压,我这里以Windows为例,修改下文件名为udp2raw方便后面使用,用记事本新建一个start.bat文件(txt扩展改为bat),把下面的代码复制进去保存,注意改下你的服务器IP,查看一下本地网络的默认网关,我这里是192.168.0.1,你需要按自己的修改一下。
@ECHO OFF %1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit route add 你的服务器IP mask 255.255.255.255 192.168.0.1 METRIC 20 start /b udp2raw.exe -c -r你的服务器IP:9898 -l 127.0.0.1:6666 --raw-mode faketcp -k "passwd" 3、再用记事本新建一个stop.bat(txt扩展改为bat)文件,把下面代码复制进去保存,修改下你的服务器IP;
@ECHO OFF taskkill /im udp2raw.exe /f route delete 你的服务器IP ping -n 2 127.1 >nul 4、把udp2raw.exe 、start.bat 、stop.bat三个文件放到同一个文件夹里面,双击start.bat运行。
【udp2raw】UDP隧道搭建教程,配合WireGuard使用把UDP流量伪装成TCP流量传输!!! 下载 WireGuard 客户端使用 官方客户端下载地址:https://www.wireguard.com/install/,Windows第三方客户端下载地址:TunSafe
官方客户端详细使用教程看:搭建WireGuard科学上网最新图文教程文章下方。
1、修改wireguard客户端配置文件,MTU改成1200,ip和端口改成127.0.0.1:6666; 然后点击 Activate 进行连接就可以了。
【udp2raw】UDP隧道搭建教程,配合WireGuard使用把UDP流量伪装成TCP流量传输!!! udp2raw项目中文地址:https://github.com/wangyu-/udp2raw-tunnel/blob/master/doc/README.zh-cn.md