Проблема загрузки Linux при формировании трафика

Проблема загрузки Linux при формировании трафика

В настоящее время я работаю над формированием трафика в Linux. У нас есть клиент, подключенный к серверу, на котором запущены nat и dhcp. Мы хотим ограничить как скорость загрузки, так и скорость скачивания клиента/клиентов.

Однако работает только ограничение на загрузку.

Ограничение на загрузку (часть скрипта) РАБОТАЕТ

tc class add dev eth1 parent 1:1 classid 1:4 htb rate 30000kbit
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.101/32 flowid 1:4

Лимит загрузки (часть скрипта)

tc class add dev eth1 parent 1:1 classid 1:4 htb rate 30000kbit
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.101/32 flowid 1:4

Единственное, что меняется в части загрузки, это «dst» на «src». Проблема в том, что когда мы заменяем часть загрузки скрипта на часть загрузки, никаких ограничений не устанавливается. Что не так?

решение1

Ваше приложение для формирования трафика работает на вашем сервере с IP-адресом 192.168.0.101. Таким образом, вы можете контролировать пропускную способность входящего трафика с помощью фильтра с src 192.168.0.101. При использовании фильтра с dst 192.168.0.101 пакеты сначала поступают на сервер, а затем на них выполняется формирование трафика, поэтому вы не можете контролировать пропускную способность исходящего трафика. Для этого вам следует использовать машину между вашим сервером и вашими пользователями для управления пропускной способностью входящего и исходящего трафика с помощью этих двух фильтров.

Связанный контент