#!/bin/bash # 把默认路由网卡的根 qdisc 设为 fq(BBR 的最佳搭档)。 # 背景:net.core.default_qdisc=fq 只对"新创建"的网卡生效,已存在的网卡 # 重启后仍可能是 pfifo_fast/fq_codel,故用本脚本显式设置。 # 仅在 KVM/裸机可用;LXC 容器内网卡为 noqueue,本脚本会自行跳过。 set -uo pipefail IFACE=$(ip -4 route show default | awk '{print $5; exit}') [ -n "${IFACE:-}" ] || { echo "未找到默认路由网卡,跳过"; exit 0; } if tc qdisc show dev "$IFACE" 2>/dev/null | grep -q " noqueue"; then echo "$IFACE 为 noqueue(容器环境),跳过 qdisc 设置" exit 0 fi tc qdisc replace dev "$IFACE" root fq 2>/dev/null && echo "已设置 $IFACE root qdisc = fq" || echo "设置 $IFACE qdisc 失败(可忽略)"