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 http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.12/linux-image-4.14.12-041412-generic_4.14.12-041412.201801051649_amd64.deb
//安裝內核
#: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要麻煩一些。
補充:如果升級內核重啟進入不了系統,卡在了
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 https://github.com/xtaci/kcptun/releases/download/v20170904/kcptun-linux-amd64-20170904.tar.gz
#: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加速原理:
kcptun加速原理圖1.本地ss發送數據到達kcptun監聽埠
2.kcptun發送數據給kcptun伺服器(處於加速傳輸階段)3.kcptun伺服器驗證數據之後發送給ss4.ss獲取數據將數據發送出去5.kcptun監聽ss發送出去的數據將其發送給客戶端的kcptun伺服器6.客戶端kcptun伺服器將數據發送給ss
優勢:穩定。
劣勢:客戶端配置較麻煩,多用戶處理不友好。
推薦閱讀:
※搬瓦工VPS搭建WordPress詳細教程
※國內用戶請大家不要再購買Banwagon VPS
※How to Setup a Fast Shadowsocks Server on Vultr VPS
※關於VPS性能測試的幾種方法