Вопрос

Где я могу узнать об управлении сетевым интерфейсом под Linux?Я хотел бы получить определенную скорость загрузки приложения и ввести ограничение скорости для конкретного приложения.

Мне бы особенно хотелось получить информацию, которая может помочь мне написать приложение для формирования трафика с использованием Python.

Это было полезно?

Решение

Вам нужен пакет iproute2, в котором вы используете тс команда.команды tc выглядят следующим образом

tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit ceil 100Mbit quantum 1600

Вот существующее приложение для формирования трафика на Python который использует iproute2.

Другие советы

На самом деле это довольно сложно для каждого приложения с использованием инструментов ядра Linux, если только приложение не использует определенные IP-адреса и / или порты, которые вы можете сопоставить.

Предполагая, что это так, тогда вам нужно будет ознакомиться с iptables и, в частности, fwmarks.Вам также нужно будет ознакомиться с tc.В сочетании эти два инструмента могут делать то, что вы хотите.В Расширенная маршрутизация Linux и управление трафиком это хорошее место для начала.

Предполагая, что ваше приложение не использует предсказуемый набор портов / IP-адресов, тогда вам нужно будет использовать формирователь пользовательского пространства, например Струйка.Это вставляется между приложением и ядром и формирует трафик для этого приложения в пользовательском пространстве.

Я не думаю, что существуют какие-либо прямые привязки к python для любого из этих инструментов, но было бы просто написать их с помощью python и просто вызвать исполняемые файлы напрямую.

Есть ли какая-то причина, по которой вы хотите использовать python?Как уже упоминалось, скорее всего, он будет передан только уже разработанным инструментам для этой цели.Однако, если вы посмотрите вокруг, вы можете найти такие вещи, как Click! modular router, XORP, и другие , которые предоставляют информацию о том , что вы хотите сделать , не говоря уже обо всех уже представленных предложениях (таких как iptables и tc)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top