V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  linhua  ›  全部回复第 18 页 / 共 46 页
回复总数  902
1 ... 14  15  16  17  18  19  20  21  22  23 ... 46  
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
2017-04-11 15:25:22 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@xiubin @123s @SkyTodInfi
如果 ping 10.0.0.2 能 ping 通,那么可能是 iptables NAT 配置的问题

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

看一下是否生效
iptables -t nat -L -n
2017-04-11 13:38:41 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@lilifenghao44
是的,必须 64 位系统

@seramat
cannot bind socket
这个说明 LD_PRELOAD 没起作用,请确认 /root/haproxy/liblkl-hijack.so 这个文件存在
2017-04-11 12:49:13 +08:00
回复了 EterNalReality 创建的主题 问与答 怎么测试自己的网能玩游戏?
游戏 对于 网络的要求 主要是 延迟,不是带宽

因此 ping dota 的游戏服务器,看延迟
2017-04-11 11:01:09 +08:00
回复了 a302800411 创建的主题 问与答 mac 通过 Windows 跳板机访问 Ubuntu
ssh port forwarding
用 bitvise 自带的 命令行工具, 其中一个是专门用于 ssh 端口转发的
2017-04-11 10:41:18 +08:00
回复了 lifesimple 创建的主题 游戏 打竞技游戏特别容易心态蹦(上头)
在现实中不能获得成就感,通过在游戏中获取。
尽量发展一些工作外的业余小兴趣,不至于在闲暇时间无所事事。 如毛笔书法 读闲书 写博客
2017-04-11 00:14:53 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@pubby
如果只是用 haproxy 进行 内网转发的话, 不需要 MASQUERADE , 因为 haproxy 不会访问外部网络。
如果不用 haproxy 进行转发,直接用 SS/SSR ,就需要 MASQUERADE
2017-04-11 00:10:27 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@yanchao7511461
你的是 centos6 吧, centos6 的 glibc 版本较低 2.12 , 不支持。 尽量使用 centos7 版本, 或单独安装 glibc 2.14 版本(较麻烦)
glibc 2.14 版本后,才支持 sendmmsg 函数
2017-04-10 20:39:45 +08:00
回复了 JackyBao 创建的主题 VPS [分享] OpenVZ 开启 BBR 之最简方法 - Linux Kernel Library
@xdeng
不用装 openVPN , 查看只是 打开 tuntap 接口:
用 ls -al /dev/net/tun

@bushiba
/dev/net/tun: failed to attach to: Device or resource busy
这个说明 新建的 tap 网卡 被占用, 同时运行多次 那个 长命令 ,在第二次会报这个错误。

@zhangneww
低版本 ip 命令不能创建 tap 网卡,此时也可以用 tunctl 命令 创建 tap 网卡。
yum install tunctl

tunctl -u root
2017-04-10 00:29:30 +08:00
回复了 only0jac 创建的主题 问与答 哪位认识这三个文件?
右键单击 文件,查看属性,应该能看到有用的信息
1 ... 14  15  16  17  18  19  20  21  22  23 ... 46  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1094 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.