静看光阴荏苒
不管不顾不问不说也不念

WireGuard+UDPspeeder+Udp2raw-tunnel

WireGuard是UDP数据包,ISP有QoS,所以用Udp2raw-tunnel把UDP伪装成TCP,绕过ISP的限制,接着因为线路质量的问题,再套上UDPspeeder实现多倍发包加速。大致上就是这样。。。

安装wireguard:

yum -y install wget curl nano net-tools supervisor
curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
yum -y install epel-release
yum -y install kernel-headers-$(uname -r) kernel-devel-$(uname -r)
yum -y install wireguard-dkms wireguard-tools

下载UDPspeeder和Udp2raw-tunnel:

mkdir -p /opt/udp2raw && mkdir -p /opt/udpspeeder
cd /opt/udp2raw && wget https://github.com/wangyu-/udp2raw-tunnel/releases/download/20181113.0/udp2raw_binaries.tar.gz
cd /opt/udpspeeder && wget https://github.com/wangyu-/UDPspeeder/releases/download/20190121.0/speederv2_binaries.tar.gz
tar -xzvf /opt/udp2raw/udp2raw_binaries.tar.gz
tar -xzvf /opt/udpspeeder/speederv2_binaries.tar.gz
rm -rf /opt/udp2raw/udp2raw_binaries.tar.gz && rm -rf /opt/udpspeeder/speederv2_binaries.tar.gz

我是在一条极其辣鸡的线路上部署的这个,有明显的加速效果,但因为每个软件的配置参数很灵活,我的这套配置不一定能在你那边达到最佳的效果,所以实际还是要根据自身的网络情况去调整一些参数。

一些参数配置参考这里:

https://github.com/wangyu-/UDPspeeder/wiki/%E4%BD%BF%E7%94%A8%E7%BB%8F%E9%AA%8C

https://github.com/wangyu-/UDPspeeder/wiki/mode%E5%92%8Cmtu%E9%80%89%E9%A1%B9

我这边直接用supervisor把服务端都丢到后台去运行:

nano /etc/supervisord.d/udp.ini

写入:

[supervisord]
nodaemon=false

[program:udp2raw]
user=root
directory=/opt/udp2raw
command=/opt/udp2raw/udp2raw_amd64 -s -l 0.0.0.0:50001 -r 127.0.0.1:50000 --raw-mode faketcp -a -k moon5
autorestart=true

[program:udpspeeder]
user=root
directory=/opt/udpspeeder
command=/opt/udpspeeder/speederv2_amd64 -s -l 0.0.0.0:50000 -r 127.0.0.1:50002 -f 2:10 --mode 1 --mtu 1400
autorestart=true

设置一下开机自启:

systemctl start supervisord
systemctl enable supervisord

配置wireguard:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
mkdir -p /etc/wireguard
wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey
wg genkey | tee /etc/wireguard/clientprivatekey | wg pubkey > /etc/wireguard/clientpublickey

新建服务端配置文件:

nano /etc/wireguard/wg0.conf

写入如下配置(注意MTU):

[Interface]
PrivateKey = 服务端私钥
Address = 192.168.0.1/24
ListenPort = 50002
DNS = 8.8.8.8
MTU = 1200

[Peer]
PublicKey = 客户端公钥
AllowedIPs = 192.168.0.0/24

启动WireGuard:

wg-quick up wg0
systemctl enable wg-quick@wg0

防火墙设置:

systemctl restart firewalld
systemctl enable firewalld
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 masquerade'
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -o eth0 -j ACCEPT
firewall-cmd --permanent --add-port=50000/udp
firewall-cmd --permanent --add-port=50001/tcp
firewall-cmd --permanent --add-port=50002/udp
firewall-cmd --reload

UDPspeeder客户端

Udp2raw-tunnel客户端

假设你把客户端都下载到如下目录,使用PowerShell进入到下面的目录:

cd C:\Users\LALA\Desktop\udp

使用下面的参数启动UDPspeeder:

./speederv2 -c -l 0.0.0.0:12315 -r 127.0.0.1:12316 -f 2:10 --mode 1 --mtu 1400 --report 10

Udp2raw-tunnel:

./udp2raw_mp_nolibnet -c -l 127.0.0.1:12316 -r vpsip:50001 --raw-mode easyfaketcp -k moon5

注:按作者说的话,这里这个easyfaketcp的性能没有faketcp的性能好,如果需要用faketcp的话,可以看这个说明修改

WireGuard的客户端配置文件:

[Interface]
PrivateKey = 客户端私钥
Address = 192.168.0.2/24
DNS = 8.8.8.8
MTU = 1200

[Peer]
PublicKey = 服务端公钥
Endpoint = 127.0.0.1:12315
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25

记一下需要注意的地方:

1.UDPspeeder的参数需要调整,尤其是-f发包的倍率,这个要根据实际的网络环境去调整,我这个线路特别烂,所以我这篇文章里面这个参数设置的比较暴力。。。

2.WireGuard内的MTU改为1200,不然Udp2raw-tunnel一直报huge packet mtu什么的。。。

搞不动了,差不多就这样吧。。。

参考文献:

https://github.com/wangyu-/UDPspeeder/wiki/UDPspeeder%E5%92%8Cudp2raw%E4%B8%B2%E8%81%94%E5%8A%A0%E9%80%9FOpenVPN

有JB

赞(2)
未经允许不得转载:荒岛 » WireGuard+UDPspeeder+Udp2raw-tunnel
分享到: 更多 (0)

评论 10

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    服务端来个一键脚本吧?或者docker?

    6664周前 (03-22) Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    大佬图好看,嘿嘿

    谁知道呢4周前 (03-22) Google Chrome 73.0.3683.75 Google Chrome 73.0.3683.75 Windows 10 x64 Edition Windows 10 x64 Edition回复
  3. #3

    想伪装成websocket :?: ttps://github.com/mhzed/wstunnel

    Kaku4周前 (03-23) Firefox 65.0 Firefox 65.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 可以实现,但不是用这个项目,这个项目是一个纯TCP隧道,WireGuard是UDP的。。要用的话可以试这个:https://github.com/erebe/wstunnel

      LALA4周前 (03-23) Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 Windows 10 x64 Edition Windows 10 x64 Edition回复
  4. #4

    博主球无水印配图,嘤嘤嘤 :razz:

    Lvv4周前 (03-23) Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • 成功炸出一只嘤嘤怪:https://233.fi/image/dgI9

      LALA4周前 (03-23) Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 Windows 10 x64 Edition Windows 10 x64 Edition回复
  5. #5

    教程不错,请问博主的vps是什么系统?

    david4周前 (03-23) Firefox 60.0 Firefox 60.0 Windows 7 Windows 7回复
    • CentOS7

      LALA4周前 (03-24) Google Chrome 72.0.3626.121 Google Chrome 72.0.3626.121 Windows 10 x64 Edition Windows 10 x64 Edition回复
  6. #6

    是不是要升级内核啊

    Liuker4周前 (03-24) Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • sry 眼瞎,看到升级了,,,

      Liuker4周前 (03-24) Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿