# Шейпинг

> Ограничение скорости, tc, честная раздача.

- Лимит скорости через tc (полный рецепт) [id=200780|30.01.2026](https://t.me/c/2941121338/200780):
```bash
tc qdisc del dev eth0 root 2>/dev/null
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:10 htb rate 20mbit ceil 20mbit
tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dport 443 0xffff flowid 1:10
tc -s qdisc show dev eth0
```
- Скрипт `vps-limit.sh` (Zavulon): apply/clear/status через tc qdisc, автоопределение интерфейса, fq без дропа пакетов; `sudo ./script.sh apply 20mbit` [id=111693|16.12.2025](https://t.me/c/2941121338/111693). Мотивация: 10–20 Мбит на ноду белых списков, чтобы юзеры с ПК не съедали трафик.
- Альтернатива в nginx [id=111693](https://t.me/c/2941121338/111693):
```nginx
location / {
    limit_rate_after 10m;
    limit_rate 500k;
}
```
- РЕШАЛА (DonMatteoVPN) — шейпер трафика:
  - v2.58: персональные лимиты на юзера, метки подключений, DL/UL [id=138463|28.12.2026](https://t.me/c/2941121338/138463); man: github.com/DonMatteoVPN/Reshala-Remnawave-Bedolaga/blob/dev/docs/Sheiper_trafik.md
  - v2.90+: eBPF + EDT в ядре, без юзерспейса; лимит на каждый IP, до 32 правил; режимы Статика / Динамика (Burst+Штраф) [id=321673](https://t.me/c/2941121338/321673); 3-й режим «общий пул» (суммарно N на порт) [id=332271](https://t.me/c/2941121338/332271); новая архитектура без ifb0: Download — EDT, Upload — Token Bucket/Ingress Drop [id=336281](https://t.me/c/2941121338/336281). L3-уровень, Reality/XHTTP/gRPC/WS не мешает [id=321673](https://t.me/c/2941121338/321673).
- Опыт с BPF-шейпером: port-правило проверяет и sport, и dport — whitelisting «адрес сайта, а не клиента» даёт 231 Мбит вместо 19.7; `bpf_skb_pull_data` перед разбором (49.3→5.0 при лимите 5); подсети — LPM-trie; шейпер точен только под qdisc fq; `fq flow_limit 100` душит UDP (Hysteria 0.5 Мбит при лимите 5), `flow_limit 2000` → 4.5 Мбит [id=1058113|странник|06.08.2026](https://t.me/c/2941121338/1058113).
- Коэффициент трафика ноды (Remna): множитель списания; на платные ноды 1 (или 3), на бесплатные 0; сценарий «БС-лимит» — зарубежка 0, БС 1, юзеру лимит 50 ГБ [id=512379, 463042, 310474](https://t.me/c/2941121338/512379). При исчерпании лимита режется вся подписка юзера, не нода [id=879283](https://t.me/c/2941121338/879283); workaround — два сквада (MOBILE/STANDARD) и удаление юзера из MOBILE [id=886565, zavul0nn/remnawave-grace-access](https://t.me/c/2941121338/886565).
- xray rate limit в ядре нестабилен, кушает RAM; классический tc: по 512 Кбит/с на юзера, общий канал ноды через tc не задушить [id=1123194](https://t.me/c/2941121338/1123194).

---
Источник: https://host.pink/baza/set/sheyping/
Оригинал: https://github.com/Rxflex/BedolagaBD/blob/main/docs/04-сеть-серверы/шейпинг.md
Лицензия: CC BY-SA 4.0
