#!/bin/bash green='\e[92m' none='\e[0m' _green() { echo -e ${green}$@${none}; } _open_bbr() { echo ' net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr net.ipv4.conf.all.rp_filter = 0 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_ecn = 0 net.ipv4.tcp_frto = 0 net.ipv4.tcp_mtu_probing = 0 net.ipv4.tcp_rfc1337 = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_fack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_adv_win_scale = 2 net.ipv4.tcp_moderate_rcvbuf = 1 net.ipv4.tcp_rmem = 4096 65536 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.udp_rmem_min = 8192 net.ipv4.udp_wmem_min = 8192 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.core.somaxconn = 4096 net.ipv4.tcp_abort_on_overflow = 1 vm.swappiness = 10 fs.file-max = 6553560 ' >/etc/sysctl.conf sysctl -p echo _green "已经启用 BBR 优化" echo echo _green "当前 TCP 阻控算法: " "$(cat /proc/sys/net/ipv4/tcp_congestion_control)" echo } _try_enable_bbr() { local _test1=$(uname -r | cut -d\. -f1) local _test2=$(uname -r | cut -d\. -f2) if [[ $_test1 -eq 4 && $_test2 -ge 9 ]] || [[ $_test1 -ge 5 ]]; then _open_bbr else err "不支持启用 BBR 优化." fi } _try_enable_bbr