下面是一套比较完整、偏实战的 Linux 网络优化方案,重点偏高吞吐 + 低延迟 + 稳定性。
按层级分为:内核 → TCP → 队列 → 网卡 → DNS → 应用。
一、内核网络基础优化(sysctl 核心)
编辑:
nano /etc/sysctl.conf
或者新建:
/etc/sysctl.d/99-net-opt.conf
1. 基础性能参数(强烈推荐)
# 连接队列
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_syn_backlog = 8192
# 文件句柄
fs.file-max = 1000000
2. TCP 优化(核心)
# 复用连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
# keepalive
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5
# 连接优化
net.ipv4.ip_local_port_range = 1024 65535
# 拥塞控制(关键)
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
# TIME_WAIT优化
net.ipv4.tcp_max_tw_buckets = 200000
3. MTU & 分片优化(避免丢包/卡顿)
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_mtu_probing = 1
4. 缓冲区优化(高带宽 VPS 很关键)
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
应用配置:
sysctl -p
或:
sysctl --system
二、启用 BBR(必须确认)
检查内核:
uname -r
4.9+ 基本都支持。
启用:
modprobe tcp_bbr
确认:
sysctl net.ipv4.tcp_available_congestion_control
应看到:
bbr cubic reno
三、队列调度优化(fq + qdisc)
查看:
tc qdisc show
设置:
tc qdisc replace dev eth0 root fq
如果是高延迟 VPS(美国/欧洲),fq + bbr 非常关键。
四、网卡层优化(ethtool)
查看网卡:
ethtool -i eth0
开启 GRO / GSO / TSO
ethtool -K eth0 gro on
ethtool -K eth0 gso on
ethtool -K eth0 tso on
查看当前状态
ethtool -k eth0
五、中断绑定(高性能服务器)
如果 CPU 多核:
apt install irqbalance -y
systemctl enable irqbalance
systemctl start irqbalance
六、DNS 优化(非常重要)
编辑:
nano /etc/resolv.conf
推荐:
nameserver 1.1.1.1
nameserver 8.8.8.8
更稳定方案(推荐):
-
本地跑 Unbound
-
或 systemd-resolved + cache
七、IPv4/IPv6 混合优化
关闭不必要 IPv6(如果不用):
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
如果你用 IPv6(代理/VPS 常见):
net.ipv6.conf.all.forwarding = 1
八、连接复用优化(代理/服务端关键)
如果你跑:
-
Xray
-
Hysteria2
-
V2Ray
-
Nginx reverse proxy
建议:
net.core.somaxconn = 65535
net.ipv4.tcp_fastopen = 3
九、系统限制优化(ulimit)
编辑:
nano /etc/security/limits.conf
添加:
* soft nofile 1048576
* hard nofile 1048576
root soft nofile 1048576
root hard nofile 1048576
十、systemd 服务限制(重要)
编辑服务:
systemctl edit your.service
加入:
[Service]
LimitNOFILE=1048576
十一、网络参数检测脚本(推荐你用)
sysctl -a | grep tcp
tc qdisc show
ulimit -n
十二、一键优化脚本(可以直接用)
cat <<'EOF' > /root/net-opt.sh
#!/bin/bash
sysctl -w net.core.somaxconn=65535
sysctl -w net.core.netdev_max_backlog=16384
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
sysctl -w net.core.default_qdisc=fq
sysctl -w net.ipv4.tcp_congestion_control=bbr
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.ip_local_port_range="1024 65535"
sysctl -w fs.file-max=1000000
echo "done"
EOF
chmod +x /root/net-opt.sh
十三、真实优化建议(重点)
✔ 最重要的 5 个:
-
BBR + fq
-
rmem/wmem buffer
-
somaxconn backlog
-
fq qdisc
-
ulimit
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
