注意:TCP-BBR和銳速一樣,不支持Openvz,查看本教程之前,請先確定你的VPS的虛擬化技術!
注意:本教程涉及到VPS更換內核,所以如果步驟錯誤,或者VPS不兼容最新的內核,會導致無法開機等錯誤,請勿用於生產環境!!!!
系統要求
Debian / Ubuntu 14.04 +
注意:選CentOS的用戶請使用這個腳本:http://www.bbaaz.com/thread-6-1-1.html
本腳本只在 Debian 7 / Debian 8 / Ubuntu 14.04 / Ubuntu 16.04 (均 x64位) 這幾個系統中測試過腳本可以正常運行(vultr)!
強烈推薦 Debian 7 x64,這個是我一直使用的系統,我的腳本在這個系統上面出錯率最低。
安裝步驟
更換內核需要ROOT權限,所以如果你是普通用戶 的話,需要ROOT賬號權限,如果你是ROOT賬號,那就忽略這個步驟:
sudo su
複製代碼
輸入並回車後,會提示讓你輸入當前賬號的密碼,輸入並回車後就可以繼續下面的步驟了。
wget -N --no-check-certificate https://softs.fun/Bash/bbr.sh && chmod +x bbr.sh && bash bbr.sh
複製代碼
備用下載地址(上面的鏈接無法下載,就用這個):
wget -N --no-check-certificate https://raw.githubusercontent.com/makedary/bbaaz/master/bbr.sh && chmod +x bbr.sh && bash bbr.sh
複製代碼
下載並運行腳本後,會自動檢測並開始安裝,首先會提示你輸入要下載的內核版本,可以安裝自定義版本的內核,也可以直接回車安裝最新版本的內核(內核版本獲取)!
請輸入 要下載安裝的Linux內核版本(BBR) [ 格式: x.xx.xx ,例如: 4.10.12 ]
[注意]內核版本列表請去這裏獲取:[ http://kernel.ubuntu.com/~kernel-ppa/mainline/ ]
(默認回車,自動獲取最新版本):4.10.10
複製代碼
注意:在Debian系統中,刪除舊內核時,會提示你是否終止刪除內核的行爲(如下圖),這個需要你選擇 <No> (鍵盤方向鍵 選擇,回車鍵 確認)。
如果沒有出錯,內核更換完畢後,會提示是否立即重啓VPS,直接回車或者輸入 Y 。
需要重啓VPS後,才能開啓BBR,是否現在重啓 ? [Y/n] : y
[注意] 重啓VPS後,請重新運行腳本查看BBR是否加載成功 bash bbr.sh status
[信息] VPS 重啓中...
複製代碼
等待十幾秒,VPS啓動後,重新通過SSH連接VPS,進入 bbr.sh 腳本的目錄,然後執行下面這個命令查看BBR是否加載成功。
bash bbr.sh status
複製代碼
然後就會自動開啓BBR。
如果重啓VPS後,無法連接,說明內核安裝或與系統存在兼容性問題,無法正常啓動,代表你的VPS當前系統無法使用BBR,請更換其他系統!
使用方法
# 啓動BBR
bash bbr.sh start
# 關閉BBR
bash bbr.sh stop
# 查看BBR狀態
bash bbr.sh status
複製代碼
注意:關閉BBR,需要重啓VPS,所以腳本會提醒是否立即重啓VPS。
升級BBR
bash bbr.sh
# 重新執行腳本會檢測最新內核和當前內核,對比版本
複製代碼
因爲BBR只是內核中的一段功能代碼,所以內核更新不一定是BBR更新,就像Win10中IE的位置一樣,Win10更新不代表是爲了更新IE,所以是否要更新內核要看BBR官方源碼有沒有更新了。
BBR官方項目地址:https://github.com/google/bbr
注意BBR源碼最後更新時間,如果比你的內核新,那麼你可以更新內核,反之無需更新。
其他說明
注意:TCP-BBR必須是 2016-12-05 21:00 更新的 4.9.0-rc8 內核及以後的版本 才能開啓,而銳速並不支持這個最新的內核版本,所以TCP-BBR和銳速是不可能共存的。
更換內核後重啓服務器無法啓動 的問題
如果重啓VPS後,無法連接,說明內核安裝有問題 或 內核與系統存在兼容性問題,無法正常啓動。
這代表你的VPS當前系統不支持最新的內核版本,無法開啓BBR,請更換其他系統嘗試!
提示 wget: unknown host “softs.fun” 之類的錯誤
這是無法解析我的域名,多半是DNS的問題,請更換DNS爲谷歌DNS。
<blockquote>echo "nameserver 8.8.8.8
複製代碼
提示 wget: command not found 的錯誤
這是你的系統精簡的太乾淨了,wget都沒有安裝,所以需要安裝wget。
# Debian/Ubuntu 系統:
apt-get install -y wget