之前一直想用wireguard来中转ss协议,但是一直没有成功,主要原因在于ss本身缺乏路由机制。其实ss协议早已经被破解了,只不过是有没有到管的时候而已。而wireguard的作用是可以修补已经破解的协议,相当于套了一层壳,即使传输的是老旧的ss协议,也不会被侦测到,从而可以使用各种经典的ss客户端。看了一眼v2ray的内核支持路由,随尝试通过v2ray来测试wireguard中转的可行性。
任务
- 测试v2ray-docker镜像部署-Done
- 测试直接中转-Done
- 测试wireguard连通性-Done
- 测试通过wireguard中转-Done
- 性能测试
测试docker镜像部署
运行v2ray
- -d
- –network host
- -v /root/v2ray:/etc/v2ray
1 |
docker run -d --network host --restart always -v /root/v2ray:/etc/v2ray --name v2fly v2fly/v2fly-core |
测试直接中转
在outbounds中配置跳转服务器
config.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{ "protocol": "vmess", "settings": { "vnext": [ { "address": "54.119.106.213", "port": 10080, "users": [ { "id": "27848731-7e62-4138-9fd3-098a63964b6b", "alterId": 0, "security": "auto", "level": 0 } ] } ]}, "tag": "vnext" } |
测试wireguard连通性
在host-1和host-2上安装wireguard,互相添加peer,测试ping,done
测试通过wireguard中转
将config中的vnext服务器地址设置为wireguard的peer内网地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
"vnext": [ { "address": "192.168.2.15", "port": 10080, "users": [ { "id": "27848731-7e62-4138-9fd3-098a63964b6b", "alterId": 0, "security": "auto", "level": 0 } ] } ] |
性能测试
使用v2rayN的连接延迟测试(Ctrl+R)
- 直接中转:200ms
- wireguard中转:312ms
经过多次测试,相比直接连接,通过wireguard内网,延迟会慢50-100ms左右
分析原因可能是因为wireguard又经过了一次加密处理,导致包的解密和加密过程边长。
There are no comments yet