How to limit network bandwidth?
We are hosting an application on remote server. We need to test it with a limited network bandwidth (for users with bad Internet access). Can I limit my internet bandwidth? For instance: 128 KB per second. This question focuses on system-wide or container-wide solutions on Linux. See Limiting a specific shell’s internet bandwidth usage for process- or session-specific solutions.
6 Answers 6
You can throttle the network bandwidth on the interface using the command called tc Man page available at http://man7.org/linux/man-pages/man8/tc.8.html
An example from using tc: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540
better late than never if your gonna use a busybox router a better method is the tc command, you can check out mark’s post here mark.koli.ch/… the openvz wiki has more examples openvz.org/Traffic_shaping_with_tc
looks like it is also possible to limit bandwidth with iptables (you can edit the answer if needed): serverfault.com/questions/52027/…
As noted in previous answer, wondershaper does the job easily. I include the information from above link by Jwalanta Shrestha
apt-get install wondershaper
wondershaper — An easy tool to limit bandwidth of a particular interface.
the and are bandwidth in kpbs
So for example if you want to limit the bandwidth of interface eth1 to 256kbps downlink and 128kbps uplink,
$ sudo wondershaper eth1 256 128
$ sudo wondershaper clear eth1
Ideally, you should have just edited the original answer instead of adding a new one. This is the standard policy. Anyways, +1 for your answer, for it does add information to the answers.
This is very useful if you are tethering mobile data and have a fair-use limit (and you have to buy new bundles after, the case for Lycamobile). On video streaming websites like YouTube, the whole video is directly loaded if you have enough bandwidth. If you limit the bandwidth, the video will automatically switch to a low resolution and download what you are watching only, which saves data if you don’t want to watch everything.
Usefull also for uploading big files, as it not only limit bandwidth, but also prioritize traffic. So that when uploading 10gb file you still can use SSH.
Как ограничить пропускную способность сети в Linux с помощью Wondershaper
Мануал
Этот мануал поможет вам легко ограничить пропускную способность сети и сформировать сетевой трафик в Unix-подобных операционных системах.
Ограничивая использование полосы пропускания сети, вы можете сэкономить ненужное потребление трафика приложениями, такими как менеджеры пакетов (pacman, yum, apt), веб-браузеры, торрент-клиенты, диспетчеры загрузки и т. д.
И предотвратить злоупотребление полосой пропускания одним или несколькими пользователями в сети.
Для решения этого вопроса мы будем использовать утилиту командной строки Wondershaper.
Поверьте мне, это не так сложно, как вы думаете.
Это один из самых простых и быстрых способов, с которыми я столкнулся, чтобы ограничить использование полосы пропускания Интернета или локальной сети в вашей собственной системе Linux.
Запомните, что вышеупомянутая утилита может ограничивать входящий и исходящий трафик ваших локальных сетевых интерфейсов, а не интерфейсы вашего маршрутизатора или модема.
Другими словами, Wondershaper ограничит пропускную способность сети только в вашей локальной системе, а не в других системах в сети.
Эта утилита в основном предназначена для ограничения пропускной способности одного или нескольких сетевых адаптеров в локальной системе.
Wondershaper – простой скрипт, используемый для ограничения пропускной способности сетевых адаптеров вашей системы.
Он ограничивает команду tc iproute на пропускную способность, но значительно упрощает ее работу.
Установка Wondershaper
$ git clone https://github.com/magnific0/wondershaper.git
Перейдите в каталог wondershaper и установите его как показано ниже:
И запустите следующую команду, чтобы автоматически запускать службу wondershaper при каждой перезагрузке
$ sudo systemctl enable wondershaper.service
$ sudo systemctl start wondershaper.service
Вы также можете установить его, используя менеджер пакетов вашего дистрибутива (официальный или неофициальный), если вы не против последней версии.
Wondershaper доступен в AUR, поэтому вы можете установить его в Arch-based системах, используя вспомогательные программы AUR, такие как Yay.
На Debian, Ubuntu, Linux Mint:
$ sudo apt-get install wondershaper
$ 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
Использование
Сначала найдите имя сетевого интерфейса.
Вот несколько распространенных способов найти информацию о сетевой карте.
Когда вы найдете имя сетевой карты, вы можете ограничить скорость полосы пропускания, как показано ниже:
Например, если имя вашей сетевой карты 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"
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (105)
- Книги (27)
- Мануал (2 306)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (820)
- Обход запретов (34)
- Опросы (3)
- Скрипты (114)
- Статьи (352)
- Философия (114)
- Юмор (18)
Anything in here will be replaced on browsers that support the canvas element
OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]
Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]
В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]
Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]
Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]