Debian/Ubuntu TCP擁塞控制技術 ——TCP-BBR 一鍵安裝腳本


這幾天很火的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賬號,那就忽略這個步驟

  1. sudo su

輸入並回車后,會提示讓你輸入當前賬號的密碼,輸入並回車后就可以繼續下面的步驟了。

  1. wget -N --no-check-certificate https://softs.fun/Bash/bbr.sh && chmod +x bbr.sh && bash bbr.sh

備用下載地址(上面的鏈接無法下載,就用這個):

  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/bbr.sh && chmod +x bbr.sh && bash bbr.sh

下載並運行腳本后,會自動檢測並開始安裝,首先會提示你輸入要下載的內核版本,可以安裝自定義版本的內核,也可以直接回車安裝最新版本的內核內核版本獲取)!

  1. 請輸入 要下載安裝的Linux內核版本(BBR) [ 格式: x.xx.xx ,例如: 4.10.12 ]
  2. [注意]內核版本列表請去這里獲取:[ http://kernel.ubuntu.com/~kernel-ppa/mainline/ ]
  3. (默認回車,自動獲取最新版本):

注意:在Debian系統中,刪除舊內核時,會提示你是否終止刪除內核的行為(如下圖),這個需要你選擇 <No> (鍵盤方向鍵 選擇,回車鍵 確認)。

如果沒有出錯,內核更換完畢后,會提示是否立即重啟VPS,直接回車或者輸入 Y 

  1. 需要重啟VPS后,才能開啟BBR,是否現在重啟 ? [Y/n] : y
  2. [注意] 重啟VPS后,請重新運行腳本查看BBR是否加載成功 bash /xxx/bbr.sh status
  3.  
  4. [信息] VPS 重啟中...

等待十幾秒,VPS啟動后,重新通過SSH連接VPS,運行重啟時提示的命令查看BBR是否加載成功。

  1. bash /xxx/bbr.sh status
  2. # /xxx/ 是BBR腳本所在目錄,腳本會自動識別並顯示給你,免得一些人找不到自己把 bbr.sh 腳本下載到哪里去了。

然后就會自動開啟BBR。

如果重啟VPS后,無法連接(或者鏈接后查看狀態提示:BBR已開啟但未啟動),說明內核安裝或與系統存在兼容性問題,無法正常啟動,代表你的VPS當前系統無法使用BBR,請更換其他系統!

使用方法

  1. # 啟動BBR
  2. bash bbr.sh start
  3.  
  4. # 關閉BBR
  5. bash bbr.sh stop
  6.  
  7. # 查看BBR狀態
  8. bash bbr.sh status
注意:關閉BBR,需要重啟VPS,所以腳本會提醒是否立即重啟VPS。

升級BBR

  1. bash bbr.sh
  2. # 重新執行腳本會檢測最新內核和當前內核,對比版本

因為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。

  1. echo "nameserver 8.8.8.8" > /etc/resolv.conf
  2. echo "nameserver 8.8.4.4" >> /etc/resolv.conf

提示 wget: command not found 的錯誤

這是你的系統精簡的太干凈了,wget都沒有安裝,所以需要安裝wget。

  1. # Debian/Ubuntu 系統:
  2. apt-get install -y wget

原文地址:https://doub.io/wlzy-16/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM