在租用国外VPS的时候,由于地理位置距离中国较远,访问和下载速度受限,安装BBR加速功能就是比较好的方法之一。有人会问BBR是什么?BBR是Google提出的一种新型拥塞控制算法,可使得Linux系统服务器显著地提高吞吐量和减少TCP连接的延迟,能够显著国外VPS访问和下载速度。什么叫拥塞?就是数据包丢包,传统拥塞控制算法,当出现拥塞时,会使发送数据窗口大幅减少,导致数据传送效率急剧降低,国内云网络一般丢包率很低,开不开bbr,理论上影响不大,bbr对国际线路提升比较明显,国际线路丢包特别严重,因此需要安装BBR开启加速功能。
虽然现在很多美国主机商也都支持一键安装BBR加速功能,但总体来看还是占少数。常用的加速策略包括Google BBR TCP加速,以及在其基础上发展而来的BBR魔改版、暴力BBR、BBRplus,以及锐速加速等。本文老刘博客就给大家分享一个VPS加速脚本,可以一键安装并开启这些加速策略,这里会以一台UCloud的华盛顿通用型云主机来演示。
安装环境:
1、系统支持:CentOS 6+、Debian 7+,Ubuntu 12+。
2、虚拟构架: KVM、Xen、VMware ,OpenVZ 不支持。
3、BBR和锐速不能同时安装,一个是升级内核,一个是降级内核。
4、系统内核最低要求是4.9。
脚本命令:
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" chmod +x tcp.sh ./tcp.sh
这是脚本的面板,最下面一行是VPS当前的加速内核和加速策略,所以如果我们需要开启某种加速,需要先安装对应的内核,再开启对应的管理,最后看看加速是否开启成功。
这里以BBR加速为例,先输入1安装BBR/BBR魔改版内核,之后再次使用脚本输入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.sh Resolving 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 OK Length: 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.sh Reusing existing connection to raw.githubusercontent.com:443. HTTP request sent, awaiting response... 200 OK Length: 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. 升级脚本 ————————————内核管理———————————— 1. 安装 BBR/BBR魔改版内核 2. 安装 BBRplus版内核 3. 安装 Lotserver(锐速)内核 ————————————加速管理———————————— 4. 使用BBR加速 5. 使用BBR魔改版加速 6. 使用暴力BBR魔改版加速(不支持部分系统) 7. 使用BBRplus版加速 8. 使用Lotserver(锐速)加速 ————————————杂项管理———————————— 9. 卸载全部加速 10. 系统配置优化 11. 退出脚本 ———————————————————————————————— 当前状态: 已安装 Lotserver(锐速) 内核 , 未安装 BBR 加速内核 请输入数字 [0-11]:1 Loaded plugins: fastestmirror kernel-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 do Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package kernel-ml-headers.x86_64 0:4.11.8-1.el7.elrepo will be erased --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Removing: kernel-ml-headers x86_64 4.11.8-1.el7.elrepo installed 4.0 M Transaction Summary =============================================================================================================================================================================================== Remove 1 Package Installed size: 4.0 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: 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: fastestmirror kernel-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_64 Marking /var/tmp/yum-root-9rQTjZ/kernel-ml-headers-4.11.8.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package kernel-ml-headers.x86_64 0:4.11.8-1.el7.elrepo will be installed --> Finished Dependency Resolution Dependencies 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 M Transaction Summary =============================================================================================================================================================================================== Install 1 Package Total size: 4.0 M Installed size: 4.0 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running 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: fastestmirror kernel-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 检测到 0 个其余内核,开始卸载... --nodeps -e 内核卸载完毕,继续... [注意] 重启VPS后,请重新运行脚本开启BBR/BBR魔改版 需要重启VPS后,才能开启BBR/BBR魔改版,是否现在重启 ? [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:\~]$ #再次登录一次VPS Connecting 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:notty There 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. 升级脚本 ————————————内核管理———————————— 1. 安装 BBR/BBR魔改版内核 2. 安装 BBRplus版内核 3. 安装 Lotserver(锐速)内核 ————————————加速管理———————————— 4. 使用BBR加速 5. 使用BBR魔改版加速 6. 使用暴力BBR魔改版加速(不支持部分系统) 7. 使用BBRplus版加速 8. 使用Lotserver(锐速)加速 ————————————杂项管理———————————— 9. 卸载全部加速 10. 系统配置优化 11. 退出脚本 ———————————————————————————————— 当前状态: 已安装 BBR 加速内核 , 未安装加速模块 请输入数字 [0-11]:4 [信息]:清除加速完成。 kernel.msgmnb = 65536 kernel.msgmax = 65536 net.ipv6.conf.all.disable_ipv6 = 1 kernel.unknown_nmi_panic = 0 kernel.sysrq = 1 vm.swappiness = 10 fs.inotify.max_user_watches = 10000000 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 fs.inotify.max_queued_events = 327679 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.ipv4.neigh.default.gc_thresh1 = 2048 net.ipv4.neigh.default.gc_thresh2 = 4096 net.ipv4.neigh.default.gc_thresh3 = 8192 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr [信息]BBR启动成功! [root@10-27-186-90 ~]# ./tcp.sh TCP加速 一键安装管理脚本 [v1.3.2] -- 就是爱生活 | 94ish.me -- 0. 升级脚本 ————————————内核管理———————————— 1. 安装 BBR/BBR魔改版内核 2. 安装 BBRplus版内核 3. 安装 Lotserver(锐速)内核 ————————————加速管理———————————— 4. 使用BBR加速 5. 使用BBR魔改版加速 6. 使用暴力BBR魔改版加速(不支持部分系统) 7. 使用BBRplus版加速 8. 使用Lotserver(锐速)加速 ————————————杂项管理———————————— 9. 卸载全部加速 10. 系统配置优化 11. 退出脚本 ———————————————————————————————— 当前状态: 已安装 BBR 加速内核 , BBR启动成功 请输入数字 [0-11]:9 [信息]:清除加速完成。 [root@10-27-186-90 ~]#
这个脚本也支持卸载加速策略,如果你想用其他加速方法,只需要输入./tcp.sh重新使用脚本,输入9卸载全部加速之后重新安装内核、开启其他加速即可。
这里注意,如果你的系统是centos 8,不要安装以上脚本了,因为CentOS 8 默认内核版本为 4.18.x,内核版本高于 4.9 就可以直接开启 BBR:
#开启BBR echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf #保存退出后,执行下边的命令使配置生效 sysctl -p #检查 BBR 是否开启成功 sysctl -n net.ipv4.tcp_congestion_control lsmod | grep bbr
选择多了,有些人可能就有选择困难症,是BBR加速好还是锐速好?是原版BBR加速好还是BBR魔改版好?这个问题的答案确实因人而异,VPS不同的使用用途可能适合不同的加速策略,一般我都是直接用原版BBR,UCloud华盛顿VPS自带使用了锐速加速。
最后,如果大家嫌以上安装过程复杂的话,可以考虑选择Vultr云服务器VPS:《Vultr新用户注册获赠$50或$100账户余额方法附Vultr便宜vps方案整理》,支持一键安装BBR加速功能,非常方便,而且现在购买新用户还赠送100美元。