Linux 带宽和延迟限制

依赖安装

ubuntu

apt install iproute2

openeuler

dnf install -y iproute

例子

参考:setup_wan.sh

#!/bin/bash
# tc_tune.sh
set -euo pipefail

IF=eth0
BW=${1:-100}      # 命令行可覆盖:./tc_tune.sh 50 20
DL=${2:-10}

log() { echo "[$(date '+%F %T')] $*" | tee -a /var/log/tc_tune.log; }

# 1. 接口是否存在
ip link show "$IF" >/dev/null 2>&1 || { log "ERROR: $IF not found"; exit 1; }

# 2. 先清掉旧规则(忽略错误)
log "Flushing old rules on $IF"
tc qdisc del dev "$IF" root 2>/dev/null || true

# 3. 写新规则
log "Setting TBF ${BW}Mbit / delay ${DL}ms on $IF"
tc qdisc add dev "$IF" root handle 1: tbf rate "${BW}mbit" burst 256kb latency 800ms
tc qdisc add dev "$IF" parent 1:1 handle 10: netem delay "${DL}msec" limit 8000

# 4. 确认
tc -s qdisc show dev "$IF" | tee -a /var/log/tc_tune.log
log "Done."
  • 热更新
tc qdisc replace dev eth0 root handle 1: tbf rate 100mbit burst 256kb latency 800ms
tc qdisc replace dev eth0 parent 1:1 handle 10: netem delay 10msec limit 8000
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐