В этой статье покажу как установить wondershaper для ограничения скорости сети на Ubuntu 24.04.


Установка и использование Wondershaper на Ubuntu 24.04

Классический wondershaper из репозиториев Ubuntu сломался после удаления qdisc CBQ из ядра Linux (начиная с ~6.3).
Поэтому используем обновлённую версию от magnific0, которая работает на HTB и поддерживает ядра 6.8+.

Установка

# 1. Качаем и устанавливаем свежую версию
cd /tmp
wget https://github.com/magnific0/wondershaper/archive/refs/heads/master.zip -O wondershaper.zip
unzip wondershaper.zip
cd wondershaper-master

# 2. Копируем в системный путь
sudo cp wondershaper /usr/local/bin/
sudo chmod +x /usr/local/bin/wondershaper

# 3. (опционально) Удаляем временные файлы
cd /tmp && rm -rf wondershaper*

Проверьте, что всё установилось:

wondershaper --version
# или просто
wondershaper -h

Быстрый запуск

Узнайте имя интерфейса:

ip -br link show
# чаще всего: ens3, enp1s0, eth0 и т.п.

Применяем ограничение (в кбит/с):

# 10 Мбит ↓ и 10 Мбит ↑
sudo wondershaper -a ens3 -d 10000 -u 10000

# или короткая запись (часто работает)
sudo wondershaper ens3 10000 10000

Проверить статус:

sudo wondershaper -s -a ens3
# или
sudo wondershaper status ens3

Отключить:

sudo wondershaper -c -a ens3
# или
sudo wondershaper clear

Полезные примеры

Ограничить до 5 Мбит/с в обе стороны:

sudo wondershaper ens3 5000 5000

Только upload (download не трогаем):

sudo wondershaper ens3 0 2000   # 0 = без ограничения download

Если возникают ошибки

Чаще всего виноваты уже существующие qdisc:

# Быстрая очистка
sudo tc qdisc del dev ens3 root    2>/dev/null
sudo tc qdisc del dev ens3 ingress 2>/dev/null
sudo wondershaper clear

После этого повторно применяйте wondershaper — должно встать без проблем.

Автозапуск после перезагрузки (опционально)

Создайте файл /etc/network/if-pre-up.d/shaper:

sudo nano /etc/network/if-pre-up.d/shaper

Вставьте:

#!/bin/sh
[ "$IFACE" = "ens3" ] || exit 0
/usr/local/bin/wondershaper -a ens3 -d 10000 -u 10000

Сделайте исполняемым:

sudo chmod +x /etc/network/if-pre-up.d/shaper

Готово! Теперь канал сервера будет ограничен автоматически.