最近找的一些Linux操作系统的VPS选择的时候一般都只支持到16.04的Ubuntu版本,内核一般都是4.4,不支持BBR。所以如何安装这玩意儿也是很麻烦的一件事情。这里做下笔记。
首先需要更新内核到 >= 4.9,到官网看了下,一列的内核版本,有点搞不清楚装哪个,于是就找了最新的4.13.11。
下载内核包并安装:
mkdir kernel && cd kernel
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13.11/linux-headers-4.13.11-041311_4.13.11-041311.201711020532_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13.11/linux-headers-4.13.11-041311-generic_4.13.11-041311.201711020532_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13.11/linux-image-4.13.11-041311-generic_4.13.11-041311.201711020532_amd64.deb
sudo dpkg -i *.deb
reboot
重启后查看下:
uname -r
4.13.11-041311-generic
先检查下BBR是否开启
$ lsmod | grep bbr
如果输出有tcp_bbr
,那就是已经安装了,否则则需要做后续的操作手动安装。
编辑文件/etc/sysctl.conf
:
$ cat >> /etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
使用sysctl -p
命令让刚才的改动生效:
$ sysctl -p
net.ipv6.conf.all.accept_ra = 2 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
再检查下:
$ lsmod | grep bbr
tcp_bbr 20480 0
安装成功。
后续可以使用命令modprobe -r tcp_bbr
删除BBR。
可以使用命令查看tcp_bbr
模块信息:
$ modinfo tcp_bbr
filename: /lib/modules/4.13.0-25-generic/kernel/net/ipv4/tcp_bbr.ko
description: TCP BBR (Bottleneck Bandwidth and RTT)
license: Dual BSD/GPL
author: Soheil Hassas Yeganeh [email protected]
author: Yuchung Cheng [email protected]
author: Neal Cardwell [email protected]
author: Van Jacobson [email protected]
srcversion: 9F5EC90C4B0C83923BB4B38
depends:
intree: Y
name: tcp_bbr
vermagic: 4.13.0-25-generic SMP mod_unload
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
EOF