在租用國(guó)外vps的時(shí)候,由于地理位置距離中國(guó)較遠(yuǎn),訪問和下載速度受限,安裝bbr加速功能就是比較好的方法之一。有人會(huì)問bbr是什么?bbr是google提出的一種新型擁塞控制算法,可使得linux系統(tǒng)服務(wù)器顯著地提高吞吐量和減少tcp連接的延遲,能夠顯著國(guó)外vps訪問和下載速度。什么叫擁塞?就是數(shù)據(jù)包丟包,傳統(tǒng)擁塞控制算法,當(dāng)出現(xiàn)擁塞時(shí),會(huì)使發(fā)送數(shù)據(jù)窗口大幅減少,導(dǎo)致數(shù)據(jù)傳送效率急劇降低,國(guó)內(nèi)云網(wǎng)絡(luò)一般丟包率很低,開不開bbr,理論上影響不大,bbr對(duì)國(guó)際線路提升比較明顯,國(guó)際線路丟包特別嚴(yán)重,因此需要安裝bbr開啟加速功能。
雖然現(xiàn)在很多美國(guó)主機(jī)商也都支持一鍵安裝bbr加速功能,但總體來看還是占少數(shù)。常用的加速策略包括googlebbrtcp加速,以及在其基礎(chǔ)上發(fā)展而來的bbr魔改版、暴力bbr、bbrplus,以及銳速加速等。本文老劉博客就給大家分享一個(gè)vps加速腳本,可以一鍵安裝并開啟這些加速策略,這里會(huì)以一臺(tái)ucloud的華盛頓通用型云主機(jī)來演示。
安裝環(huán)境:
1、系統(tǒng)支持:centos 6 、debian 7 ,ubuntu 12 。
2、虛擬構(gòu)架: kvm、xen、vmware ,openvz 不支持。
3、bbr和銳速不能同時(shí)安裝,一個(gè)是升級(jí)內(nèi)核,一個(gè)是降級(jí)內(nèi)核。
4、系統(tǒng)內(nèi)核最低要求是4.9。
腳本命令:
wget -n --no-check-certificate \https://raw.githubusercontent.com/chiakge/linux-netspeed/master/tcp.sh\chmod x tcp.sh./tcp.sh這是腳本的面板,最下面一行是vps當(dāng)前的加速內(nèi)核和加速策略,所以如果我們需要開啟某種加速,需要先安裝對(duì)應(yīng)的內(nèi)核,再開啟對(duì)應(yīng)的管理,最后看看加速是否開啟成功。
這里以bbr加速為例,先輸入1安裝bbr/bbr魔改版內(nèi)核,之后再次使用腳本輸入4即可開啟bbr加速,以下是完整步驟:
[root@10-27-186-90 ~]# wget -n --no-check-certificate \https://raw.githubusercontent.com/chiakge/linux-netspeed/master/tcp.sh\--2021-02-07 23:46:55-- https://raw.githubusercontent.com/chiakge/linux-netspeed/master/tcp.shresolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.192.133, 151.101.0.133, 151.101.64.133, ...connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.192.133|:443... connected.http request sent, awaiting response... 200 oklength: 24274 (24k) [text/plain]last-modified header missing -- time-stamps turned off.--2021-02-07 23:46:55-- https://raw.githubusercontent.com/chiakge/linux-netspeed/master/tcp.shreusing existing connection to raw.githubusercontent.com:443.http request sent, awaiting response... 200 oklength: 24274 (24k) [text/plain]saving to: ‘tcp.sh’100%[=====================================================================================================================================================>] 24,274 --.-k/s in 0s 2021-02-07 23:46:55 (51.1 mb/s) - ‘tcp.sh’ saved [24274/24274][root@10-27-186-90 ~]# chmod x tcp.sh[root@10-27-186-90 ~]# ./tcp.sh tcp加速 一鍵安裝管理腳本 [v1.3.2] -- 就是愛生活 | 94ish.me -- 0. 升級(jí)腳本————————————內(nèi)核管理———————————— 1. 安裝 bbr/bbr魔改版內(nèi)核 2. 安裝 bbrplus版內(nèi)核 3. 安裝 lotserver(銳速)內(nèi)核————————————加速管理———————————— 4. 使用bbr加速 5. 使用bbr魔改版加速 6. 使用暴力bbr魔改版加速(不支持部分系統(tǒng)) 7. 使用bbrplus版加速 8. 使用lotserver(銳速)加速————————————雜項(xiàng)管理———————————— 9. 卸載全部加速 10. 系統(tǒng)配置優(yōu)化 11. 退出腳本———————————————————————————————— 當(dāng)前狀態(tài): 已安裝 lotserver(銳速) 內(nèi)核 , 未安裝 bbr 加速內(nèi)核 請(qǐng)輸入數(shù)字 [0-11]:1loaded plugins: fastestmirrorkernel-ml-4.11.8.rpm | 41 mb 00:00:05 examining /var/tmp/yum-root-9rqtjz/kernel-ml-4.11.8.rpm: kernel-ml-4.11.8-1.el7.elrepo.x86_64/var/tmp/yum-root-9rqtjz/kernel-ml-4.11.8.rpm: does not update installed package.error: nothing to doloaded plugins: fastestmirrorresolving dependencies--> running transaction check---> package kernel-ml-headers.x86_64 0:4.11.8-1.el7.elrepo will be erased--> finished dependency resolutiondependencies resolved=============================================================================================================================================================================================== package arch version repository size===============================================================================================================================================================================================removing: kernel-ml-headers x86_64 4.11.8-1.el7.elrepo installed 4.0 mtransaction summary===============================================================================================================================================================================================remove 1 packageinstalled size: 4.0 mdownloading packages:running transaction checkrunning transaction testtransaction test succeededrunning transactionwarning: rpmdb altered outside of yum. erasing : kernel-ml-headers-4.11.8-1.el7.elrepo.x86_64 1/1 verifying : kernel-ml-headers-4.11.8-1.el7.elrepo.x86_64 1/1 removed: kernel-ml-headers.x86_64 0:4.11.8-1.el7.elrepo complete!loaded plugins: fastestmirrorkernel-ml-headers-4.11.8.rpm | 1.1 mb 00:00:00 examining /var/tmp/yum-root-9rqtjz/kernel-ml-headers-4.11.8.rpm: kernel-ml-headers-4.11.8-1.el7.elrepo.x86_64marking /var/tmp/yum-root-9rqtjz/kernel-ml-headers-4.11.8.rpm to be installedresolving dependencies--> running transaction check---> package kernel-ml-headers.x86_64 0:4.11.8-1.el7.elrepo will be installed--> finished dependency resolutiondependencies resolved=============================================================================================================================================================================================== package arch version repository size===============================================================================================================================================================================================installing: kernel-ml-headers x86_64 4.11.8-1.el7.elrepo /kernel-ml-headers-4.11.8 4.0 mtransaction summary===============================================================================================================================================================================================install 1 packagetotal size: 4.0 minstalled size: 4.0 mdownloading packages:running transaction checkrunning transaction testtransaction test succeededrunning transaction installing : kernel-ml-headers-4.11.8-1.el7.elrepo.x86_64 1/1 verifying : kernel-ml-headers-4.11.8-1.el7.elrepo.x86_64 1/1 installed: kernel-ml-headers.x86_64 0:4.11.8-1.el7.elrepo complete!loaded plugins: fastestmirrorkernel-ml-devel-4.11.8.rpm | 11 mb 00:00:00 examining /var/tmp/yum-root-9rqtjz/kernel-ml-devel-4.11.8.rpm: kernel-ml-devel-4.11.8-1.el7.elrepo.x86_64/var/tmp/yum-root-9rqtjz/kernel-ml-devel-4.11.8.rpm: does not update installed package.error: nothing to do檢測(cè)到 0 個(gè)其余內(nèi)核,開始卸載...--nodeps -e 內(nèi)核卸載完畢,繼續(xù)...[注意] 重啟vps后,請(qǐng)重新運(yùn)行腳本開啟bbr/bbr魔改版需要重啟vps后,才能開啟bbr/bbr魔改版,是否現(xiàn)在重啟 ? [y/n] :y[信息] vps 重啟中...connection closing...socket close.connection closed by foreign host.disconnected from remote host(152.32.182.36) at 12:48:38.type `help\' to learn how to use xshell prompt.[c:\\~]$ #再次登錄一次vpsconnecting to 152.32.182.36:22...connection established.to escape to local shell, press \'ctrl alt ]\'.warning! the remote ssh server rejected x11 forwarding request.last failed login: sun feb 7 23:49:09 est 2021 from 107.150.120.125 on ssh:nottythere was 1 failed login attempt since the last successful login.last login: sun feb 7 23:36:23 2021 from 107.150.120.125[root@10-27-186-90 ~]# ./tcp.sh tcp加速 一鍵安裝管理腳本 [v1.3.2] -- 就是愛生活 | 94ish.me -- 0. 升級(jí)腳本————————————內(nèi)核管理———————————— 1. 安裝 bbr/bbr魔改版內(nèi)核 2. 安裝 bbrplus版內(nèi)核 3. 安裝 lotserver(銳速)內(nèi)核————————————加速管理———————————— 4. 使用bbr加速 5. 使用bbr魔改版加速 6. 使用暴力bbr魔改版加速(不支持部分系統(tǒng)) 7. 使用bbrplus版加速 8. 使用lotserver(銳速)加速————————————雜項(xiàng)管理———————————— 9. 卸載全部加速 10. 系統(tǒng)配置優(yōu)化 11. 退出腳本———————————————————————————————— 當(dāng)前狀態(tài): 已安裝 bbr 加速內(nèi)核 , 未安裝加速模塊 請(qǐng)輸入數(shù)字 [0-11]:4[信息]:清除加速完成。kernel.msgmnb = 65536kernel.msgmax = 65536net.ipv6.conf.all.disable_ipv6 = 1kernel.unknown_nmi_panic = 0kernel.sysrq = 1vm.swappiness = 10fs.inotify.max_user_watches = 10000000net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.all.secure_redirects = 0net.ipv4.conf.default.secure_redirects = 0net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0fs.inotify.max_queued_events = 327679kernel.shmmax = 68719476736kernel.shmall = 4294967296net.ipv4.neigh.default.gc_thresh1 = 2048net.ipv4.neigh.default.gc_thresh2 = 4096net.ipv4.neigh.default.gc_thresh3 = 8192net.core.default_qdisc = fqnet.ipv4.tcp_congestion_control = bbr[信息]bbr啟動(dòng)成功![root@10-27-186-90 ~]# ./tcp.sh tcp加速 一鍵安裝管理腳本 [v1.3.2] -- 就是愛生活 | 94ish.me -- 0. 升級(jí)腳本————————————內(nèi)核管理———————————— 1. 安裝 bbr/bbr魔改版內(nèi)核 2. 安裝 bbrplus版內(nèi)核 3. 安裝 lotserver(銳速)內(nèi)核————————————加速管理———————————— 4. 使用bbr加速 5. 使用bbr魔改版加速 6. 使用暴力bbr魔改版加速(不支持部分系統(tǒng)) 7. 使用bbrplus版加速 8. 使用lotserver(銳速)加速————————————雜項(xiàng)管理———————————— 9. 卸載全部加速 10. 系統(tǒng)配置優(yōu)化 11. 退出腳本———————————————————————————————— 當(dāng)前狀態(tài): 已安裝 bbr 加速內(nèi)核 , bbr啟動(dòng)成功 請(qǐng)輸入數(shù)字 [0-11]:9[信息]:清除加速完成。[root@10-27-186-90 ~]# 這個(gè)腳本也支持卸載加速策略,如果你想用其他加速方法,只需要輸入./tcp.sh重新使用腳本,輸入9卸載全部加速之后重新安裝內(nèi)核、開啟其他加速即可。
這里注意,如果你的系統(tǒng)是centos 8,不要安裝以上腳本了,因?yàn)閏entos 8 默認(rèn)內(nèi)核版本為 4.18.x,內(nèi)核版本高于 4.9 就可以直接開啟 bbr:
#開啟bbrecho \net.core.default_qdisc=fq\ >> /etc/sysctl.confecho \net.ipv4.tcp_congestion_control=bbr\ >> /etc/sysctl.conf#保存退出后,執(zhí)行下邊的命令使配置生效sysctl -p#檢查 bbr 是否開啟成功sysctl -n net.ipv4.tcp_congestion_controllsmod | grep bbr選擇多了,有些人可能就有選擇困難癥,是bbr加速好還是銳速好?是原版bbr加速好還是bbr魔改版好?這個(gè)問題的答案確實(shí)因人而異,vps不同的使用用途可能適合不同的加速策略,一般我都是直接用原版bbr,ucloud華盛頓vps自帶使用了銳速加速。
最后,如果大家嫌以上安裝過程復(fù)雜的話,可以考慮選擇vultr云服務(wù)器vps:《vultr新用戶注冊(cè)獲贈(zèng)$50或$100賬戶余額方法附vultr便宜vps方案整理》,支持一鍵安裝bbr加速功能,非常方便,而且現(xiàn)在購買新用戶還贈(zèng)送100美元。