這幾天很火的BBR,我研究了一下,寫了一個一鍵腳本,適合新手使用。
注意:TCP-BBR和銳速一樣,不支持Openvz,查看本教程之前,請先確定你的VPS的虛擬化技術!
OpenVZ 的請看:搬瓦工 OpenVZ 版 VPS 安裝並開啟 Google BBR(LKL)教程
注意:本教程涉及到VPS更換內核,所以如果步驟錯誤,或者VPS不兼容最新的內核,會導致無法開機等錯誤,請勿用於生產環境!!!!
BBR 簡單介紹
BBR 是一個由谷歌社區開發的 TCP擁塞控制技術,目前處於開發初期,但是前景很棒,大家可以持續關注,同時BBR是集成與Linux最新版本的內核中的。
具體什么是TCP擁塞控制技術,詳細的我也不懂,我就用通俗一點的話解釋一下,不一定准確,看一看理解一下就好了。
原始的TCP流量傳輸,已經不能適應現在的互聯網了,我們把 TCP流量比喻成 公路上的汽車流量,而TCP傳輸隧道就是 公路,那么:
在原始的TCP流量傳輸中,一條十字路口公路,很多車流量,但是卻沒有紅綠燈和交警,導致大家左擠右擠的堵車了,這就是沒有合理的管理導致的。
而BBR和銳速等TCP流量控制技術,就是紅綠燈+交警,他們就是在無人管理的十字路口,去合理指揮分配車流量,然后最大化的利用車流量,保證路面暢通。
大概就是這樣解釋了,有什么錯誤請指出。
BBR官方項目地址:https://github.com/google/bbr
系統要求
Debian / Ubuntu 14.04 +
本腳本只在 Debian 7 / Debian 8 / Ubuntu 14.04 / Ubuntu 16.04 (均 x64位) 這幾個系統中測試過腳本可以正常運行!目前已在 搬瓦工 的 VPS 上測試通過。
強烈推薦 Debian 7 x64,這個是我一直使用的系統,我的腳本在這個系統上面出錯率最低。
至於為什么不支持 CentOS 等系統,主要是我不怎么用其他的系統,就不做支持了。
腳本版本
Ver: 1.0.21
安裝步驟
更換內核需要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/ToyoDAdoubi/doubi/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/ ]
- (默認回車,自動獲取最新版本):
注意:在Debian系統中,刪除舊內核時,會提示你是否終止刪除內核的行為(如下圖),這個需要你選擇 <No>
(鍵盤方向鍵 選擇,回車鍵 確認)。
如果沒有出錯,內核更換完畢后,會提示是否立即重啟VPS,直接回車或者輸入 Y
。
- 需要重啟VPS后,才能開啟BBR,是否現在重啟 ? [Y/n] : y
- [注意] 重啟VPS后,請重新運行腳本查看BBR是否加載成功 bash /xxx/bbr.sh status
- [信息] VPS 重啟中...
等待十幾秒,VPS啟動后,重新通過SSH連接VPS,運行重啟時提示的命令查看BBR是否加載成功。
- bash /xxx/bbr.sh status
- # /xxx/ 是BBR腳本所在目錄,腳本會自動識別並顯示給你,免得一些人找不到自己把 bbr.sh 腳本下載到哪里去了。
然后就會自動開啟BBR。
如果重啟VPS后,無法連接(或者鏈接后查看狀態提示:BBR已開啟但未啟動),說明內核安裝或與系統存在兼容性問題,無法正常啟動,代表你的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源碼最后更新時間,如果比你的內核新,那么你可以更新內核,反之無需更新。
卸載BBR
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。
- echo "nameserver 8.8.8.8" > /etc/resolv.conf
- echo "nameserver 8.8.4.4" >> /etc/resolv.conf
提示 wget: command not found 的錯誤
這是你的系統精簡的太干凈了,wget都沒有安裝,所以需要安裝wget。
- # Debian/Ubuntu 系統:
- apt-get install -y wget
原文地址:https://doub.io/wlzy-16/