手动更换 Ubuntu 16.04 内核并开启 BBR

2018 年 8 月 18 日 · 共 996 字

新手才用一键脚本,硬核就该手动操作。

本文简单介绍了在 Ubuntu 16.04 上手动更换内核为最新 LTS 版本,且开启 BBR 的过程。

本教程不适用于 OpenVZ 架构的 VPS,如果您无法判断 VPS 的架构,请关闭页面并寻求一键脚本的帮助。

准备工作

先执行uname -r查看系统当前的内核版本,如果高于 4.9 可以跳过更换内核直接开启 BBR

首先去 Linux 内核官网查看内核版本。

Linux 内核官网

推荐使用最新的longterm版本,在图中对应的是 4.14.65 版本。

然后去 Ubuntu 的内核网站上找到对应的目录。

目录

本文以amd64进行举例,对应 64 位系统。

amd64

可以看到,里面一共包含 7 个deb文件,但我们只需要其中的 4 个。先下载第一个文件,后面 6 个文件分别是genericlowlatency版本的headersimagemodules,只需要选取generic版本下载即可。

其中linux-headers-4.14.65-041465-generic_4.14.65-041465.201808181033_amd64.deb依赖libssl1.1,这个包在 Ubuntu 18.04 的源里才有,Ubuntu 16.04 里是没有的。

但我们可以直接去官网下载这个包的安装包文件,当前版本是1.1.0g-2ubuntu4.1,文件名是libssl1.1_1.1.0g-2ubuntu4.1_amd64.deb

更换内核

现在我们一共有 5 个deb文件,它们的安装顺序为:

  1. linux-headers-4.14.65-041465_4.14.65-041465.201808181033_all.deb
  2. libssl1.1_1.1.0g-2ubuntu4.1_amd64.deb
  3. linux-headers-4.14.65-041465-generic_4.14.65-041465.201808181033_amd64.deb
  4. linux-image-unsigned-4.14.65-041465-generic_4.14.65-041465.201808181033_amd64.deb
  5. linux-modules-4.14.65-041465-generic_4.14.65-041465.201808181033_amd64.deb

安装方式是sudo dpkg -i 文件名

安装完内核后,sudo update-grab更新一下GRUB就可以重启了。

重启之后再次uname -r查看内核版本号,应该可以看到已经变成了4.14.65-041465-generic

为了防止出现/boot目录因为内核过多爆满导致以后内核安装失败,执行sudo purge-old-kernels清理旧内核,然后再次重启。

开启 BBR

使用vi或者nano/etc/sysctl.conf写入以下两行。

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

执行sudo sysctl -p之后生效。

现在验证 BBR 是否已成功开启。

  • 执行lsmod | grep bbr,结果中会出现tcp_bbr
  • 执行sysctl net.ipv4.tcp_available_congestion_controlsysctl net.ipv4.tcp_congestion_control,结果中都会出现bbr

证明BBR已经成功开启。

本教程在我所有服务器均可成功更换内核并开启 BBR,如果您在执行过程中出现任何问题请自行谷歌报错信息。