LINUX.ORG.RU
ФорумAdmin

Ограничение скорости upload

 , , ,


0

1

Нужно ограничить входящий на сервер трафик, на определенный порт. Вроде делается это с помощью TC, но вроде можно ограничить только исходяший. Так ли это и есть ли другие способы?

★★★

На счет tc не подскажу, но гугление подсказывает, что не все так просто с контролированием входящего трафика на стандартных ядрах, и вроде это решают всякие патчи типа IMQ.

Но, как вариант, можно использовать грязный хак через iptables:

iptables -A INPUT -p tcp --dport 5000 -m limit --limit 5/seconds -j ACCEPT
iptables -A INPUT -p tcp --dport 5000 -j DROP

Работает это через подсчет первых входящих пакетов каждую секунду (в данном случае 5). Вторая команда сбрасывает правило. Их количество можно поменять на другое нужное значение. Порт TCP 5000 для примера. Если нужно задать диапазон, то, например 5000:5005.

Если надо управлять трафиком на уровне приложения, то можно использовать trickle. Есть варианты посложнее, например shorewall.

Gonzo ★★★★★ ()

policer на входящий трафик в стандартном ядре есть
shaper на входящий трафик в стандартном ядре отсутствует

Разницу между shaper-ом и policer-ом знает как минимум гугл

Если тебе нужно просто ограничить интенсивность запросов на определенный порт и ОТБРАСЫВАТЬ всё что превышает эту интенсивность - тебе хватит policer-а

Pinkbyte ★★★★★ ()