另提供 BBR魔改 DIY 編譯 for Debian 8 & Ubuntu 16.04
有在玩盒子跟 PT 的老司機,大部份知道這是什麼東西
網路上大部分都是 Ubuntu 與 Debian 的教學
這裡放上 Centos 7 的教學方便以後留存使用
1.升級系統內核,請先切換具有 root 權限的 sudo 使用者
1 2 3 4 5 | rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum install -y http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.11.8-1.el7.elrepo.x86_64.rpm yum remove -y kernel-headers yum install -y http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.11.8-1.el7.elrepo.x86_64.rpm yum install -y http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.11.8-1.el7.elrepo.x86_64.rpm |
2.查看內核順序
1 | egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' |
3.切換新內核順序並重啟
1 2 | grub2-set-default 0 reboot |
4.移除舊內核
1 2 | rpm -qa | grep kernel yum remove *舊的內核名稱* |
5.安裝 devel 環境
1 2 | yum update yum -y groupinstall 'Development tools' |
6.下載源碼並編譯開啟 BBR魔改
網上大部份的教學都告知需要 gcc 4.9↑ 版本才能 make
不過這邊我用 gcc 4.8.5 就可以成功編譯了
gcc 就懶得編譯升級了 (編譯gcc需要非常多的時間…)
1 2 3 4 5 6 7 8 9 10 | yum install -y make gcc wget -O ./tcp_tsunami.c https://gist.github.com/anonymous/ba338038e799eafbba173215153a7f3a/raw/55ff1e45c97b46f12261e07ca07633a9922ad55d/tcp_tsunami.c echo "obj-m:=tcp_tsunami.o" > Makefile make -C /lib/modules/$(uname -r)/build M=`pwd` modules CC=/usr/bin/gcc chmod +x ./tcp_tsunami.ko cp -rf ./tcp_tsunami.ko /lib/modules/$(uname -r)/kernel/net/ipv4 insmod tcp_tsunami.ko depmod -a echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=tsunami" >> /etc/sysctl.conf |
7.查看BBR魔改有無啟動成功
1 | lsmod | grep tsunami |
成功加載的話會出現下圖的內容