From 713f72224305138f18aeab844c7c08db4c2e4165 Mon Sep 17 00:00:00 2001 From: Soff Date: Sat, 4 Jan 2020 22:30:01 +0800 Subject: [PATCH 1/7] trim parameters in sysctl.conf to support parameters like `net.ipv4.tcp_congestion_control = bbr ` --- tcp.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcp.sh b/tcp.sh index e67380e3..8bd5ce3e 100755 --- a/tcp.sh +++ b/tcp.sh @@ -629,7 +629,7 @@ check_status(){ run_status="未安装加速模块" fi elif [[ ${kernel_status} == "BBR" ]]; then - run_status=`grep "net.ipv4.tcp_congestion_control" /etc/sysctl.conf | awk -F "=" '{print $2}'` + run_status=`grep "net.ipv4.tcp_congestion_control" /etc/sysctl.conf | awk -F "=" '{gsub("^[ \t]+|[ \t]+$", "", $2);print $2}'` if [[ ${run_status} == "bbr" ]]; then run_status=`lsmod | grep "bbr" | awk '{print $1}'` if [[ ${run_status} == "tcp_bbr" ]]; then @@ -655,7 +655,7 @@ check_status(){ run_status="未安装加速模块" fi elif [[ ${kernel_status} == "BBRplus" ]]; then - run_status=`grep "net.ipv4.tcp_congestion_control" /etc/sysctl.conf | awk -F "=" '{print $2}'` + run_status=`grep "net.ipv4.tcp_congestion_control" /etc/sysctl.conf | awk -F "=" '{gsub("^[ \t]+|[ \t]+$", "", $2);print $2}'` if [[ ${run_status} == "bbrplus" ]]; then run_status=`lsmod | grep "bbrplus" | awk '{print $1}'` if [[ ${run_status} == "tcp_bbrplus" ]]; then From a705b55942a28ddfbaa1115ed9326bca3f625472 Mon Sep 17 00:00:00 2001 From: kennyoysj <291061251@qq.com> Date: Mon, 20 Jan 2020 20:30:03 +0800 Subject: [PATCH 2/7] Update tcp.sh --- tcp.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcp.sh b/tcp.sh index e67380e3..43d3c907 100755 --- a/tcp.sh +++ b/tcp.sh @@ -29,12 +29,12 @@ installbbr(){ yum install -y http://${github}/bbr/${release}/${version}/${bit}/kernel-ml-devel-${kernel_version}.rpm elif [[ "${release}" == "debian" || "${release}" == "ubuntu" ]]; then mkdir bbr && cd bbr - wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u10_amd64.deb + wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1d-0+deb10u2_amd64.deb wget -N --no-check-certificate http://${github}/bbr/debian-ubuntu/linux-headers-${kernel_version}-all.deb wget -N --no-check-certificate http://${github}/bbr/debian-ubuntu/${bit}/linux-headers-${kernel_version}.deb wget -N --no-check-certificate http://${github}/bbr/debian-ubuntu/${bit}/linux-image-${kernel_version}.deb - dpkg -i libssl1.0.0_1.0.1t-1+deb8u10_amd64.deb + dpkg -i libssl1.1_1.1.1d-0+deb10u2_amd64.deb dpkg -i linux-headers-${kernel_version}-all.deb dpkg -i linux-headers-${kernel_version}.deb dpkg -i linux-image-${kernel_version}.deb From 742962bd331db7b1cb809dde7cf95cc1ae092984 Mon Sep 17 00:00:00 2001 From: Nutr1t07 Date: Wed, 11 Mar 2020 11:00:40 +0800 Subject: [PATCH 3/7] =?UTF-8?q?Ubuntu=20=E4=B8=AD=20Lotserver=20=E5=86=85?= =?UTF-8?q?=E6=A0=B8=E5=AE=89=E8=A3=85=E4=B8=8E=E6=A3=80=E6=B5=8B=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tcp.sh中调用的Ubuntu内核安装脚本Debian_Kernel.sh中为Ubuntu安装的内核版本为`4.8.0-36-generic`: https://github.com/chiakge/Linux-NetSpeed/blob/64df10495e7865dd819d7901fd26cfec2b163b46/Debian_Kernel.sh#L13 tcp.sh中的kernel_version检测的则是4.4.0-47,这将导致在移除冗余内核时将`4.8.0-36-generic`版本内核一并移除,导致无法正常引导。 --- tcp.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcp.sh b/tcp.sh index e67380e3..1cf7409c 100755 --- a/tcp.sh +++ b/tcp.sh @@ -590,7 +590,7 @@ check_sys_Lotsever(){ elif [[ "${release}" == "ubuntu" ]]; then if [[ ${version} -ge "12" ]]; then if [[ ${bit} == "x64" ]]; then - kernel_version="4.4.0-47" + kernel_version="4.8.0-36" installlot elif [[ ${bit} == "x32" ]]; then kernel_version="3.13.0-29" @@ -609,7 +609,7 @@ check_status(){ kernel_version_full=`uname -r` if [[ ${kernel_version_full} = "4.14.129-bbrplus" ]]; then kernel_status="BBRplus" - elif [[ ${kernel_version} = "3.10.0" || ${kernel_version} = "3.16.0" || ${kernel_version} = "3.2.0" || ${kernel_version} = "4.4.0" || ${kernel_version} = "3.13.0" || ${kernel_version} = "2.6.32" || ${kernel_version} = "4.9.0" ]]; then + elif [[ ${kernel_version} = "3.10.0" || ${kernel_version} = "3.16.0" || ${kernel_version} = "3.2.0" || ${kernel_version} = "4.8.0" || ${kernel_version} = "3.13.0" || ${kernel_version} = "2.6.32" || ${kernel_version} = "4.9.0" ]]; then kernel_status="Lotserver" elif [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` == "4" ]] && [[ `echo ${kernel_version} | awk -F'.' '{print $2}'` -ge 9 ]] || [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` == "5" ]]; then kernel_status="BBR" From 080045ae0463135019841e3896848bb59c9cb162 Mon Sep 17 00:00:00 2001 From: chikage Date: Fri, 4 Feb 2022 04:17:34 +0800 Subject: [PATCH 4/7] update --- README.md | 2 ++ tcp.sh | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b3ace69d..8ce5cb83 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # Linux-NetSpeed +本脚本已不更新,推荐使用5.5以上内核自带的bbr速度最佳 +- https://roov.org/2020/03/bbr-bbrplus-bbr2/ ``` wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" chmod +x tcp.sh diff --git a/tcp.sh b/tcp.sh index 43d3c907..49678615 100755 --- a/tcp.sh +++ b/tcp.sh @@ -7,7 +7,8 @@ export PATH # Description: BBR+BBR魔改版+BBRplus+Lotserver # Version: 1.3.2 # Author: 千影,cx9208 -# Blog: https://www.94ish.me/ +# Blog: https://www.939.me/ +# 本脚本已不更新,推荐使用5.5以上内核自带的bbr速度最佳 #================================================= sh_ver="1.3.2" From 1abae42470ea857456b255a85bffc35340474833 Mon Sep 17 00:00:00 2001 From: chikage Date: Fri, 4 Feb 2022 04:38:14 +0800 Subject: [PATCH 5/7] update --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ce5cb83..c2cb84b4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Linux-NetSpeed 本脚本已不更新,推荐使用5.5以上内核自带的bbr速度最佳 - https://roov.org/2020/03/bbr-bbrplus-bbr2/ +- 推荐使用该脚本:bash <(curl -Lso- https://git.io/kernel.sh) ``` wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" chmod +x tcp.sh From 186793f4bdd36e84a9b9bb08645b887f7b6de51d Mon Sep 17 00:00:00 2001 From: Chikage0o0 <89348590+Chikage0o0@users.noreply.github.com> Date: Mon, 14 Feb 2022 08:35:13 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8F=82=E6=95=B0=EF=BC=8C5.x=E5=86=85=E6=A0=B8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8cake=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tcp.sh | 53 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/tcp.sh b/tcp.sh index 49678615..14e56612 100755 --- a/tcp.sh +++ b/tcp.sh @@ -108,8 +108,13 @@ installlot(){ #启用BBR startbbr(){ remove_all - echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf - echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf + if [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` >= "5" ]]; then + echo "net.core.default_qdisc=cake" >> /etc/sysctl.conf + echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf + else + echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf + echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf + fi sysctl -p echo -e "${Info}BBR启动成功!" } @@ -269,35 +274,37 @@ remove_all(){ optimizing_system(){ sed -i '/fs.file-max/d' /etc/sysctl.conf sed -i '/fs.inotify.max_user_instances/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_fin_timeout/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_tw_reuse/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_max_syn_backlog/d' /etc/sysctl.conf sed -i '/net.ipv4.ip_local_port_range/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_max_tw_buckets/d' /etc/sysctl.conf - sed -i '/net.ipv4.route.gc_timeout/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_synack_retries/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_syn_retries/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_rmem/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_wmem/d' /etc/sysctl.conf sed -i '/net.core.somaxconn/d' /etc/sysctl.conf + sed -i '/net.core.rmem_max/d' /etc/sysctl.conf + sed -i '/net.core.wmem_max/d' /etc/sysctl.conf + sed -i '/net.core.wmem_default/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_max_tw_buckets/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_max_syn_backlog/d' /etc/sysctl.conf sed -i '/net.core.netdev_max_backlog/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_timestamps/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_max_orphans/d' /etc/sysctl.conf + sed -i '/net.netfilter.nf_conntrack_max/d' /etc/sysctl.conf + sed -i '/net.ipv4.netfilter.ip_conntrack_tcp_timeout_established/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_slow_start_after_idle/d' /etc/sysctl.conf sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf echo "fs.file-max = 1000000 fs.inotify.max_user_instances = 8192 -net.ipv4.tcp_syncookies = 1 -net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_tw_reuse = 1 -net.ipv4.ip_local_port_range = 1024 65000 -net.ipv4.tcp_max_syn_backlog = 16384 -net.ipv4.tcp_max_tw_buckets = 6000 -net.ipv4.route.gc_timeout = 100 -net.ipv4.tcp_syn_retries = 1 -net.ipv4.tcp_synack_retries = 1 -net.core.somaxconn = 32768 -net.core.netdev_max_backlog = 32768 -net.ipv4.tcp_timestamps = 0 -net.ipv4.tcp_max_orphans = 32768 +net.ipv4.ip_local_port_range = 1024 65535 +net.ipv4.tcp_rmem = 16384 262144 8388608 +net.ipv4.tcp_wmem = 32768 524288 16777216 +net.core.somaxconn = 8192 +net.core.rmem_max = 16777216 +net.core.wmem_max = 16777216 +net.core.wmem_default = 2097152 +net.ipv4.tcp_max_tw_buckets = 5000 +net.ipv4.tcp_max_syn_backlog = 10240 +net.core.netdev_max_backlog = 10240 +net.netfilter.nf_conntrack_max = 1000000 +net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 7200 +net.ipv4.tcp_slow_start_after_idle = 0 # forward ipv4 net.ipv4.ip_forward = 1">>/etc/sysctl.conf sysctl -p From b585cadc5488d297e6e45ac0b77786dfbdbe368d Mon Sep 17 00:00:00 2001 From: Chikage0o0 <89348590+Chikage0o0@users.noreply.github.com> Date: Mon, 14 Feb 2022 08:58:00 +0800 Subject: [PATCH 7/7] fix bug --- tcp.sh | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/tcp.sh b/tcp.sh index 14e56612..69343931 100755 --- a/tcp.sh +++ b/tcp.sh @@ -5,13 +5,13 @@ export PATH #================================================= # System Required: CentOS 6/7,Debian 8/9,Ubuntu 16+ # Description: BBR+BBR魔改版+BBRplus+Lotserver -# Version: 1.3.2 +# Version: 1.4.0 # Author: 千影,cx9208 # Blog: https://www.939.me/ -# 本脚本已不更新,推荐使用5.5以上内核自带的bbr速度最佳 +# 推荐使用5.5以上内核直接开启的bbr速度最佳 #================================================= -sh_ver="1.3.2" +sh_ver="1.4.0" github="raw.githubusercontent.com/chiakge/Linux-NetSpeed/master" Green_font_prefix="\033[32m" && Red_font_prefix="\033[31m" && Green_background_prefix="\033[42;37m" && Red_background_prefix="\033[41;37m" && Font_color_suffix="\033[0m" @@ -108,7 +108,7 @@ installlot(){ #启用BBR startbbr(){ remove_all - if [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` >= "5" ]]; then + if [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` -ge "5" ]]; then echo "net.core.default_qdisc=cake" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf else @@ -228,13 +228,10 @@ maxmode=\"1\"">>/appex/etc/config remove_all(){ rm -rf bbrmod sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf - sed -i '/fs.file-max/d' /etc/sysctl.conf - sed -i '/net.core.rmem_max/d' /etc/sysctl.conf - sed -i '/net.core.wmem_max/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf + sed -i '/fs.file-max/d' /etc/sysctl.conf sed -i '/net.core.rmem_default/d' /etc/sysctl.conf sed -i '/net.core.wmem_default/d' /etc/sysctl.conf - sed -i '/net.core.netdev_max_backlog/d' /etc/sysctl.conf sed -i '/net.core.somaxconn/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_tw_reuse/d' /etc/sysctl.conf @@ -242,7 +239,6 @@ remove_all(){ sed -i '/net.ipv4.tcp_fin_timeout/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_keepalive_time/d' /etc/sysctl.conf sed -i '/net.ipv4.ip_local_port_range/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_max_syn_backlog/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_max_tw_buckets/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_rmem/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_wmem/d' /etc/sysctl.conf @@ -251,17 +247,17 @@ remove_all(){ sed -i '/fs.inotify.max_user_instances/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_fin_timeout/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_tw_reuse/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_max_syn_backlog/d' /etc/sysctl.conf - sed -i '/net.ipv4.ip_local_port_range/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_max_tw_buckets/d' /etc/sysctl.conf sed -i '/net.ipv4.route.gc_timeout/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_synack_retries/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_syn_retries/d' /etc/sysctl.conf - sed -i '/net.core.somaxconn/d' /etc/sysctl.conf - sed -i '/net.core.netdev_max_backlog/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_timestamps/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_max_orphans/d' /etc/sysctl.conf + sed -i '/net.core.rmem_max/d' /etc/sysctl.conf + sed -i '/net.core.wmem_max/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_max_syn_backlog/d' /etc/sysctl.conf + sed -i '/net.core.netdev_max_backlog/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_slow_start_after_idle/d' /etc/sysctl.conf + sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf if [[ -e /appex/bin/lotServer.sh ]]; then bash <(wget --no-check-certificate -qO- https://github.com/MoeClub/lotServer/raw/master/Install.sh) uninstall fi @@ -285,9 +281,7 @@ optimizing_system(){ sed -i '/net.ipv4.tcp_max_tw_buckets/d' /etc/sysctl.conf sed -i '/net.ipv4.tcp_max_syn_backlog/d' /etc/sysctl.conf sed -i '/net.core.netdev_max_backlog/d' /etc/sysctl.conf - sed -i '/net.netfilter.nf_conntrack_max/d' /etc/sysctl.conf - sed -i '/net.ipv4.netfilter.ip_conntrack_tcp_timeout_established/d' /etc/sysctl.conf - sed -i '/net.ipv4.tcp_slow_start_after_idle/d' /etc/sysctl.conf + sed -i '/net.ipv4.tcp_slow_start_after_idle/d' /etc/sysctl.conf sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf echo "fs.file-max = 1000000 fs.inotify.max_user_instances = 8192 @@ -302,8 +296,6 @@ net.core.wmem_default = 2097152 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_max_syn_backlog = 10240 net.core.netdev_max_backlog = 10240 -net.netfilter.nf_conntrack_max = 1000000 -net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 7200 net.ipv4.tcp_slow_start_after_idle = 0 # forward ipv4 net.ipv4.ip_forward = 1">>/etc/sysctl.conf @@ -619,7 +611,7 @@ check_status(){ kernel_status="BBRplus" elif [[ ${kernel_version} = "3.10.0" || ${kernel_version} = "3.16.0" || ${kernel_version} = "3.2.0" || ${kernel_version} = "4.4.0" || ${kernel_version} = "3.13.0" || ${kernel_version} = "2.6.32" || ${kernel_version} = "4.9.0" ]]; then kernel_status="Lotserver" - elif [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` == "4" ]] && [[ `echo ${kernel_version} | awk -F'.' '{print $2}'` -ge 9 ]] || [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` == "5" ]]; then + elif [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` == "4" ]] && [[ `echo ${kernel_version} | awk -F'.' '{print $2}'` -ge 9 ]] || [[ `echo ${kernel_version} | awk -F'.' '{print $1}'` -ge "5" ]]; then kernel_status="BBR" else kernel_status="noinstall"