16 lines
441 B
Bash
16 lines
441 B
Bash
#!/usr/bin/env bash
|
|
# 在 Linux 容器内执行:对指定网卡注入丢包。用法:apply-loss.sh <iface> <loss_percent>
|
|
set -euo pipefail
|
|
|
|
IFACE="${1:-eth0}"
|
|
LOSS="${2:-20}"
|
|
|
|
if ! command -v tc >/dev/null 2>&1; then
|
|
echo "tc not found; use an image with iproute2 (e.g. nicolaka/netshoot)" >&2
|
|
exit 1
|
|
fi
|
|
|
|
tc qdisc replace dev "$IFACE" root netem loss "${LOSS}%"
|
|
echo "netem: iface=${IFACE} loss=${LOSS}%"
|
|
tc qdisc show dev "$IFACE"
|