vps免費加速神器:bbr+kcptun

vps免費加速神器:bbr+kcptun

4 人贊了文章

1.背景:手擼cac低配伺服器一個,搭建ss發現十分雞肋,後查閱資料,發現兩枚加速神器(bbr+kcptun)與諸位共享。

VPS: ubuntu14 1cpu 512MB 10G 1Gbps。

未開啟bbr+kcptun,搭建的ss速度在100k~300k。

僅開啟 bbr:網速在1M-3M,但偶爾不穩定。

開啟 bbr 和 kcptun:網速在1M-1.5M,十分穩定。

2.首先更新系統

#:sudo apt-get update //更新源

#:sudo apt-get upgrade //升級系統

3.開啟bbr

因為bbr僅在內核版本≥4.9 才可支持,所以先升級內核。(內核 ≥ 4.9 可跳過升級內核步驟)

此處環境為ubuntu 14(其他linux版本請見鏈接:開啟TCP BBR擁塞控制演算法);

//下載內核

#:wget kernel.ubuntu.com/~kern

//安裝內核

#:dpkg -i linux-image-4.*.deb

//刪除舊內核(可選)

#:dpkg -l | grep linux-image

#:apt-get purge 舊內核

//更新grub系統引導文件並重啟

#:update-grub

#:reboot

開機後開啟bbr

//輸入uname -r 查看內核 ≥ 4.9

#:uname -r

// 執行 lsmod | grep bbr, 如果結果中沒有 tcp_bbr 的話就先執行

#:modprobe tcp_bbr

#: echo "tcp_bbr" >> /etc/modules-load.d/modules.conf

//執行

#:echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

#:echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

//保存生效

#:sysctl -p

//執行

#:sysctl net.ipv4.tcp_available_congestion_control

#:sysctl net.ipv4.tcp_congestion_control

如果結果都有bbr,證明內核已開啟bbr

執行 lsmod | grep bbr,看到 tcp_bbr 模塊即說明 bbr 已啟動。

此時搭建ss,單人用已足矣,不想折騰的就可以不用安裝kcptun了,畢竟kcptun要麻煩一些。

僅開啟bbr,油管網速

補充:如果升級內核重啟進入不了系統,卡在了

the disk drive for /boot is not ready yet……

那麼不要緊張,輸入exit 並回車;

等待出現:

Keys: Continue to wait, or press S to skip mounting of M for manual recovery

鍵入 S,繼續進入;

(如果想避免下次重啟仍出現以上錯誤,按照鏈接解決:解決)

4. 搭建ss

//安裝

#:apt-get install python-pip

#:pip install shadowsocks

//添加ss配置文件

// add configuration

#:vi /etc/shadowsocks.json

// configuration

{

"server":"your public ip",

"server_port":8389,

"password":"password",

"timeout":600,

"method":"aes-256-cfb"

}

//開啟ss服務

#:ssserver -c /etc/shadowsocks.json -d start

//停止ss服務

#:ssserver -c /etc/shadowsocks.json -d stop

ss客戶端使用請移步 ss-client

5.kcptun配置

第一步:安裝kcptun

//create dir

#:mkdir kcptun

#:cd kcptun

// download kcptun and extract

#:wget github.com/xtaci/kcptun

#:tar zxvf kcptun-linux-amd64-20170904.tar.gz

#:rm -f kcptun-linux-amd64-20170904.tar.gz

第二步:開啟 kcptun 服務

// sart kcptun

#:./server_linux_amd64 -t "you public ip:8389" -l ":4001" --key password --log 4001.log &

伺服器為避免麻煩直接設為伺服器的公網地址 ,

埠號設置為ss埠號, 若是多個用戶就要開啟多個kcptun服務,對應ss不同用戶的埠號。

-l 設置kcptun的埠號這裡設置為4001

–key是kcptun的密碼,默認加密方式為aes

–log 代表生成日誌

第三步:本地配置

下載相對應的客戶端文件。(如上面server安裝的是v20170904的kcptun,client就下載對應版本的)

下載地址:Releases · xtaci/kcptun · GitHub

新建文件 client.json

{

"localaddr": ":1082", //避免與本機佔用的埠衝突即可

"remoteaddr": "your server ip : kcptun 埠號", //對於上述配置是 x.x.x.x:4001

"key": "kcptun密碼", //server上kcptun設置的密碼

"crypt": "aes",

"mode": "fast2",

"conn": 1,

"mtu": 1350,

"sndwnd": 512,

"rcvwnd": 512,

"nocomp": false

}

新建文件 start.bat,內容如下:

client_windows_amd64.exe -c client.json

將kcptun的文件client_windows_amd64.exe和新建的文件放到同一目錄之下

第四步:配置ss

ss客戶端配置

ss客戶端密碼設置為 ss server上的用戶密碼。

6.後記

加速原理:

BBR 目的是要盡量跑滿帶寬, 並且盡量不要有排隊的情況, 效果並不比速銳差

Linux Kernel 4.9 中的 BBR 演算法與之前的 TCP 擁塞控制相比有什麼優勢? - 知乎

優勢:通過改進tcp擁塞控制策略來增強流量,提升效果高效。

劣勢:偶爾不穩定,搭配kcptun,降低一定網速可以提升穩定性。

kcptun加速原理:

1.本地ss發送數據到達kcptun監聽埠

2.kcptun發送數據給kcptun伺服器(處於加速傳輸階段)

3.kcptun伺服器驗證數據之後發送給ss

4.ss獲取數據將數據發送出去

5.kcptun監聽ss發送出去的數據將其發送給客戶端的kcptun伺服器

6.客戶端kcptun伺服器將數據發送給ss

kcptun加速原理圖

優勢:穩定。

劣勢:客戶端配置較麻煩,多用戶處理不友好。


推薦閱讀:

搬瓦工VPS搭建WordPress詳細教程
國內用戶請大家不要再購買Banwagon VPS
How to Setup a Fast Shadowsocks Server on Vultr VPS
關於VPS性能測試的幾種方法

TAG:VPS | 伺服器 | Ubuntu |