Ограничьте пропускную способность сети в Linux с помощью Wondershaper
В этом руководстве объясняется, что такое Wondershaper и как легко ограничить пропускную способность сети и настроить сетевой трафик в операционных системах Linux и Unix.
Что такое Wondershaper?
Wondershaper – это простой сценарий для ограничения пропускной способности сетевых адаптеров вашей системы. Он ограничивает пропускную способность с помощью команды iproute's tc, но значительно упрощает ее работу. Wondershaper — одно из самых простых и быстрых решений, с которыми я когда-либо сталкивался, для ограничения использования полосы пропускания Интернета или локальной сети.
Ограничивая использование полосы пропускания сети, вы можете сэкономить ненужное потребление полосы пропускания такими приложениями, как менеджеры пакетов (pacman, yum, apt), веб-браузеры, торрент-клиенты, менеджеры загрузок. Ограничение пропускной способности также предотвращает злоупотребление пропускной способностью одним или несколькими пользователями сети.
Помните, что Wondershaper может ограничивать только входящий и исходящий трафик ваших локальных сетевых интерфейсов, но не интерфейсов вашего маршрутизатора или модема. Другими словами, Wondershaper будет ограничивать пропускную способность сети только в вашей локальной системе, а не в других системах в сети.
Утилита Wondershaper в основном предназначена для ограничения пропускной способности одного или нескольких сетевых адаптеров в вашей локальной системе. Давайте теперь посмотрим, как установить и использовать Wondershaper для формирования сетевого трафика.
Установите Wondershaper в Linux
Чтобы установить последнюю версию, используйте репозиторий git clone Wondershaper:
git clone https://github.com/magnific0/wondershaper.git
Перейдите в каталог Wondershaper и установите его, как показано ниже.
cd wondershaper
sudo make install
И выполните следующую команду, чтобы автоматически запускать службу Wondershaper при каждой перезагрузке.
sudo systemctl enable wondershaper.service
sudo systemctl start wondershaper.service
Вы также можете установить его с помощью менеджера пакетов вашего дистрибутива (официального или неофициального).
Wondershaper доступен в AUR, поэтому вы можете установить его в системах на базе Arch с помощью вспомогательных программ AUR, таких как Paru или Yay.
paru -S wondershaper-git
Или,
yay -S wondershaper-git
В Debian, Ubuntu, Linux Mint:
sudo apt install wondershaper
В Федоре:
sudo dnf install wondershaper
В RHEL, CentOS, AlmaLinux, Rocky Linux включите репозиторий EPEL и установите Wondershaper, как показано ниже.
sudo dnf install epel-release
sudo dnf install wondershaper
Наконец, запускайте службу WonderShaper автоматически при каждой перезагрузке.
sudo systemctl enable wondershaper.service
sudo systemctl start wondershaper.service
Ограничьте пропускную способность сети в Linux с помощью Wondershaper
Сначала найдите имя вашего сетевого интерфейса. Вот несколько распространенных способов узнать информацию о сетевой карте.
ip addr
route
ifconfig
Найдя имя сетевой карты, вы можете ограничить скорость полосы пропускания, как показано ниже.
sudo wondershaper -a <adapter> -d <rate> -u <rate>
Например, если имя вашей сетевой карты — enp0s8 и вы хотите ограничить пропускную способность до 1024 Кбит/с для загрузок и 512 Кбит/с <для загрузок команда будет такой:
sudo wondershaper -a enp0s8 -d 1024 -u 512
Где,
- -a: имя сетевой карты.
- -d : скорость загрузки.
- -u : скорость загрузки.
Чтобы снять ограничения сетевого адаптера, просто запустите:
sudo wondershaper -c -a enp0s8
Или
sudo wondershaper -c enp0s8
На тот случай, если в вашей системе доступно более одной сетевой карты, вам необходимо вручную установить скорость загрузки/отдачи для каждой сетевой карты, как описано выше.
Если вы установили Wondershaper, клонировав его репозиторий GitHub, файл конфигурации с именем wondershaper.conf существует в папке /etc/conf.d/. Убедитесь, что вы установили скорость загрузки или выгрузки, изменив соответствующие значения (имя сетевой карты, скорость загрузки/отдачи) в этом файле.
$ sudo nano /etc/conf.d/wondershaper.conf
[wondershaper]
Adapter
#
IFACE="eth0"
Download rate in Kbps
#
DSPEED="2048"
Upload rate in Kbps
#
USPEED="512"
Вот образец до Wondershaper:
После включения Wondershaper:
Как видите, скорость загрузки значительно снизилась после ограничения пропускной способности с помощью Wondershaper на моем сервере Ubuntu 18.04 LTS.
Рекомендуем прочитать:
- Установить инструмент мониторинга производительности NetData в Linux
- vnStat — мониторинг пропускной способности сети в Linux и BSD
Для получения более подробной информации просмотрите раздел справки, выполнив следующую команду:
wondershaper -h
Или обратитесь к справочным страницам.
man wondershaper
Как показало тестирование, Wondershaper работал нормально, как описано выше. Попробуйте и дайте нам знать, что вы думаете об этой утилите.
Ресурс:
- Репозиторий Wondershaper на GitHub