您的位置: 首页 » 技术小记 » 锐速+BBR?

锐速+BBR?

作者:liyangyijie / 时间:March 3, 2017 /分类:技术小记 / 标签:none /阅览次数:9,644

在Debian 7的老机子上开着正版锐速(免费20M),所以不想换内核了,用UML开BBR。

这回换个花样,不用Tap设备,用SLiRP联通网络。不过,这样的效率不如利用Tap。

对于那些不支持TUN/TAP设备的OpenVZ,也可以用这个方法来体验下BBR。

在编译vmlinux时候,选“Universal TUN/TAP device driver support”,在UML中就有TUN/TAP设备可用了。

已经在前篇中制作好了镜像和vmlinux,这里不再重复制作,直接使用。

先安装SLiRP,然后下载制作好的东西

apt-get install slirp
mkdir slirp-alpine
cd slirp-alpine
wget https://github.com/fanyueciyuan/eazy-for-ss/raw/master/openvz-bbr/vmlinux_4.10.1.gz
wget https://github.com/fanyueciyuan/eazy-for-ss/raw/master/openvz-bbr/alpine_bbr_ss_swap.img.gz
gzip -d *
mv vmlinux_4.10.1 vmlinux
chmod +x vmlinux

在UML中,向SLiRP传入参数,需要写入~/.slirprc,这样才能开启转发

redir 9998 9998
redir 9999 9999
#redir 内部端口 外部端口

只转发几个需要的端口。
换句话说,ss开在哪个端口就转发哪个端口。这里不需要设置iptables。

Debian 7下,开启UML时候,可能有个错误

Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...failed: Operation not permitted
/dev/shm/ must be not mounted noexec
/dev/shm/ is tmpfs and is mounted noexec

谷歌一下,说是挂载权限问题,修改下母机,即Debian7的/etc/fstab文件,额外加一行

shm    /dev/shm        tmpfs    nodev,nosuid                0       0

重启下就行了。
主机上用的是zsh,这个和nohup命令有些不协调,在bash下开命令

bash
nohup ./vmlinux ubda=alpine_bbr_ss_swap.img rw eth0=slirp,,/usr/bin/slirp-fullbolt mem=64m &
exit

通过screen命令进入虚拟机,修改下/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 10.0.2.15
        netmask 255.255.255.255
        gateway 10.0.2.15

接着重启一下网络,Ping自己的主机IP,看看联通与否。

在这个模式下,ICMP有bug,只能Ping自己主机。

上一篇 : OpenVZ下开启BBR拥塞控制 下一篇 : 在MACOS(darwin)中使用minivtun

已有 2 条评论

  1. big big

    发现装了比不装还慢,slirp不给力啊

    1. slirp本身效率就不怎么样,可以用TAP呗

添加新评论