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

這幾天很火的BBR,我研究了一下,寫了一個一鍵腳本,適合新手使用。html

注意:TCP-BBR和銳速同樣,不支持Openvz,查看本教程以前,請先肯定你的VPS的虛擬化技術!git

OpenVZ 的請看:搬瓦工 OpenVZ 版 VPS 安裝並開啓 Google BBR(LKL)教程github

注意:本教程涉及到VPS更換內核,因此若是步驟錯誤,或者VPS不兼容最新的內核,會致使沒法開機等錯誤,請勿用於生產環境!!!!ubuntu

BBR 簡單介紹

BBR 是一個由谷歌社區開發的 TCP擁塞控制技術,目前處於開發初期,可是前景很棒,你們能夠持續關注,同時BBR是集成與Linux最新版本的內核中的。bash

具體什麼是TCP擁塞控制技術,詳細的我也不懂,我就用通俗一點的話解釋一下,不必定準確,看一看理解一下就行了。服務器

原始的TCP流量傳輸,已經不能適應如今的互聯網了,咱們把 TCP流量比喻成 公路上的汽車流量,而TCP傳輸隧道就是 公路,那麼:測試

在原始的TCP流量傳輸中,一條十字路口公路,不少車流量,可是卻沒有紅綠燈和交警,致使你們左擠右擠的堵車了,這就是沒有合理的管理致使的。google

而BBR和銳速等TCP流量控制技術,就是紅綠燈+交警,他們就是在無人管理的十字路口,去合理指揮分配車流量,而後最大化的利用車流量,保證路面暢通。spa

大概就是這樣解釋了,有什麼錯誤請指出。.net

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/

相關文章
相關標籤/搜索