V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  linhua  ›  全部回复第 16 页 / 共 44 页
回复总数  871
1 ... 12  13  14  15  16  17  18  19  20  21 ... 44  
2017-04-12 19:59:09 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@weyou
感谢,的确是
2017-04-12 14:08:06 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
2017-04-12 13:14:37 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@only0jac
你 搬瓦工 什么机房? 用 洛杉矶 机房

到服务器 延迟 多少。 用 ping 测
2017-04-12 01:04:44 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@vuser
是的
2017-04-12 00:40:40 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@only0jac #193
这个输出 可以忽略,没有关系
2017-04-12 00:37:49 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@only0jac
你先试用 169 楼 提供的命令,看看 lkl 有没有加载,就是运行一下这个命令,看看有没有输出:
~# lsof -p `pidof haproxy` |grep -i \.so |grep -i lkl


如果 网络没有丢包的话(即丢包率接近 0 ), 用不用 BBR ,效果是一样的。

你速度 多少,是不是你带宽限制

我用的鹏博士网络访问国内 ,可达到 10Mbps ,但访问国外 最高只有 5Mbps , 最高速度只有 450KB/s 左右
2017-04-12 00:27:25 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@vuser
嗯,会节省一点资源

但是 liblkl-hijack.so 不支持 静态链接 的软件(不依赖 glibc ),如 用 go 语言写的软件,像 v2ray , shadowsocks-go ,而用 haproxy , rinetd 等端口转发工具进行中转 是 有效且通用的方法。

@only0jac
你可以 使用 上边的 脚本,很方便
2017-04-12 00:14:32 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@only0jac
没有反应,说明成功了, 因为默认只能在前台执行
可以看看 71 楼的解释, 以下是引用

Lentin 22 小时 48 分钟前 ♥ 1
@yoyoyoyo 不是没反应,是已经执行了 后面可以加上 &>/dev/null & 给他丢到后台,直接在客户端测试 ss 能连上就没问题了


可以用这个脚本
2017-04-12 00:09:53 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
简便的 脚本包装器( wrapper ) 出来了

将以下的内容 保存到 bbr.sh 文件中(假设路径是 home 路径,即 /root), 请务必 根据 需求 进行修改

#!/bin/bash

fuser -k /dev/net/tun
# delete tap0
ip tuntap del dev tap0 mode tap

# add tap0
ip tuntap add dev tap0 mode tap
ip link set dev tap0 up
ip addr add dev tap0 10.0.0.1/24
sysctl -w net.ipv4.ip_forward=1
iptables -P FORWARD ACCEPT

# delete old iptables rules
iptables -t nat -D POSTROUTING -o venet0 -j MASQUERADE
iptables -t nat -D PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2

# add iptables rules
iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE
iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2

LD_PRELOAD=/root/haproxy/liblkl-hijack.so LKL_HIJACK_NET_QDISC="root|fq" LKL_HIJACK_SYSCTL='net.ipv4.tcp_congestion_control="bbr";net.ipv4.tcp_wmem="4096 65536 67108864"' LKL_HIJACK_NET_IFTYPE="tap" LKL_HIJACK_NET_IFPARAMS="tap0" LKL_HIJACK_NET_IP="10.0.0.2" LKL_HIJACK_NET_NETMASK_LEN="24" LKL_HIJACK_NET_GATEWAY="10.0.0.1" LKL_HIJACK_OFFLOAD="0x8883" $* &

exit

然后
~# chmod +x bbr.sh

然后使用
~# ~/bbr.sh haproxy -f /root/haproxy/haproxy.cfg
2017-04-11 17:26:23 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@x13945 @weyou
有的 ISP 会对非 HTTP/HTTPS 的 TCP 协议进行限速, 因此建议使用 带混淆的 SSR (听说 SS 也支持混淆了)

还有 如果丢包率 高于 15%的话, BBR 就基本没有效果了。
可以用 iperf3 测试一下 TCP 的丢包率
服务端
➜ ~ iperf3 -s -f M -V -p 3340

客户端
➜ iperf3 -c 服务器 IP -f M -V -R -k 1000 -b 3M -l 1400 -w 8192 -p 3340
发送 1000 个包,查看 重传的 包的个数

丢包率 = 重传的包个数 / 1000
2017-04-11 17:19:08 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@asdwddd
LKL 是 支持 raw socket 的,意思是 只要你 可以用 tcpdump 命令,就可以用 raw socket 不需要 tun/tap 。
但 openVZ 的 raw socket 是 Cooked mode 的,没有 网卡 MAC 头。 所以严格来说 LKL 是不支持 openVZ 的 raw socket 的。 改动一下 LKL 的代码,可能实现支持
2017-04-11 16:35:38 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@xiubin
暴露 ip 了, 联系管理员删除吧
@Livid

"server": 不能填自己的 IP 地址或 127.0.0.1 , 只能填 0.0.0.0 或 10.0.0.1
2017-04-11 16:28:17 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@SkyTodInfi
是 ss 的端口, 写在 ss 的配置文件中的。不过这个端口也是 vps 的端口。
ss 的监听 ip 地址 可以填 0.0.0.0 或 10.0.0.1 不能填 127.0.0.1
2017-04-11 16:24:44 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@SkyTodInfi
还有 客户端 连 12580 可以用 吗?
2017-04-11 16:22:58 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@SkyTodInfi
建议 先 “严格” 按照 教程 来操作,等有了第一次成功再进行改动。

你现在改动的 还是用的 自己设置的端口?
如果是:
检查 iptables

# 假设我们准备在 “自己的” 端口开启 BBR
iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 自己的 -j DNAT --to-destination 10.0.0.2

检查 haproxy 配置文件
检查客户端 配置 是否连接的是 自己设置的端口
2017-04-11 16:08:31 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@SkyTodInfi
可以,但端口要一致。 即把文中 出现的 443 字样 都替换成 你设计的端口。 比如 iptables 命令中的 443 字样换成你的端口 ,和客户端设置中也应该填 你的端口

@xiubin
需要先 杀掉 之前运行的 haproxy 命令,因为之前运行的 haproxy 命令会占用 tap0 设备
可以用这条命令:
~# killall haproxy
2017-04-11 16:02:40 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@xiubin
可以,不影响,只要 iptables filter 表里没有就行。
查看 iptables filter 表
~# iptables -nL
2017-04-11 15:57:04 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@SkyTodInfi
注意:没有冒号
telnet 10.0.0.2 443

你的是 “ telnet 进不去” , 说明 你 LKL 上 443 端口没打开, 应该是 haproxy 配置的问题。
检查一下 /root/haproxy/haproxy.cfg 里面 的 带有 “ bind ” 字眼的那一行
2017-04-11 15:50:24 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@xiubin @123s @SkyTodInfi @JackyBao
还需要打开 ip 转发
运行以下命令:
➜ ~ sysctl -w net.ipv4.ip_forward=1
1 ... 12  13  14  15  16  17  18  19  20  21 ... 44  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2288 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 02:06 · PVG 10:06 · LAX 19:06 · JFK 22:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.