Этот мануал поможет вам легко ограничить пропускную способность сети и сформировать сетевой трафик в Unix-подобных операционных системах.
Ограничивая использование полосы пропускания сети, вы можете сэкономить ненужное потребление трафика приложениями, такими как менеджеры пакетов (pacman, yum, apt), веб-браузеры, торрент-клиенты, диспетчеры загрузки и т. д.
И предотвратить злоупотребление полосой пропускания одним или несколькими пользователями в сети.
Для решения этого вопроса мы будем использовать утилиту командной строки Wondershaper.
Поверьте мне, это не так сложно, как вы думаете.
Это один из самых простых и быстрых способов, с которыми я столкнулся, чтобы ограничить использование полосы пропускания Интернета или локальной сети в вашей собственной системе Linux.
Запомните, что вышеупомянутая утилита может ограничивать входящий и исходящий трафик ваших локальных сетевых интерфейсов, а не интерфейсы вашего маршрутизатора или модема.
Другими словами, Wondershaper ограничит пропускную способность сети только в вашей локальной системе, а не в других системах в сети.
Эта утилита в основном предназначена для ограничения пропускной способности одного или нескольких сетевых адаптеров в локальной системе.
Надеюсь, ты понял.
Wondershaper – простой скрипт, используемый для ограничения пропускной способности сетевых адаптеров вашей системы.
Он ограничивает команду tc iproute на пропускную способность, но значительно упрощает ее работу.
Установка 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-based системах, используя вспомогательные программы AUR, такие как Yay.
$ yay -S wondershaper-git
На Debian, Ubuntu, Linux Mint:
$ sudo apt-get install wondershaper
На Fedora:
$ sudo dnf install wondershaper
В RHEL, CentOS, включите репозиторий EPEL и установите wondershaper, как показано ниже:
$ sudo yum install epel-release
$ sudo yum install wondershaper
Наконец, включите автоматический запуск службы wondershaper при каждой перезагрузке.
$ sudo systemctl enable wondershaper.service
$ sudo systemctl start wondershaper.service
Использование
Сначала найдите имя сетевого интерфейса.
Вот несколько распространенных способов найти информацию о сетевой карте.
$ ip addr
$ route
$ ifconfig
Когда вы найдете имя сетевой карты, вы можете ограничить скорость полосы пропускания, как показано ниже:
$ sudo wondershaper -a <adapter> -d <rate> -u <rate>
Например, если имя вашей сетевой карты enp0s8 и вы хотите ограничить пропускную способность до 1024 Кбит / с для скачивания и 512 кбит / с для загрузки, команда будет следующая:
$ sudo wondershaper -a enp0s8 -d 1024 -u 512
Чтобы снять ограничения с сетевого адаптера, просто выполните:
$ sudo wondershaper -c -a enp0s8
или
$ sudo wondershaper -c enp0s8
Если в вашей системе более одной сетевой карты, вам необходимо вручную установить скорость загрузки / выгрузки для каждого сетевого интерфейса, как описано выше.
Если вы установили Wondershaper путем клонирования репозитория GitHub, в каталоге /etc/conf.d/ существует конфиг с именем wondershaper.conf.
Убедитесь, что вы установили скорость загрузки или скачивания, изменив соответствующие значения (имя сетевой карты, скорость загрузки / выгрузки) в этом файле.
$ sudo nano /etc/conf.d/wondershaper.conf
[wondershaper] # Adapter # IFACE="eth0" # Download rate in Kbps # DSPEED="2048" # Upload rate in Kbps # USPEED="512"