ограничение входящей скорости через iproute2
lisz 20 декабря, 2013 - 13:35
Приветсвую всех.
Возникла задача ограничить входящий и исходящий трафик на одном интерфейсе.
Решил воспользоваться iproute2
tc qdisc add dev eth1 root handle 1: htb default 11 tc qdisc add dev eth1 handle ffff: ingress tc class add dev eth1 parent 1: classid 1:1 htb rate 500kbps ceil 500kbps tc class add dev eth1 parent 1:1 classid 1:10 htb rate 400kbps ceil 400kbps tc class add dev eth1 parent 1:1 classid 1:11 htb rate 100kbps ceil 100kbps
но эти правила работают только для исходящего трафика (root).
Вопрос: как тоже самое распространить на входящий (ingress)? Или я где-то ошибся в командах?
»
- Для комментирования войдите или зарегистрируйтесь
входящий трафф не режется в
входящий трафф не режется в общем случае ;)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
и где же тут ingress
и где же тут ingress ограничение? :)
вот первый попавшийся кусок из когда-то работавшего кода, поди разберетесь?
Есть контакт! Спасибо :)
Есть контакт! Спасибо :)
Только вот срабатывает данное правило если использовать маску /0
Т.е. если мы хотим выделить конкретный IP без маски или с маской /32 правило не работает.
тогда таки непонятно, чего
тогда таки непонятно, чего именно Вы хотите? хотели резать на интерфейсе или как-то более детально?
Сорри, что не описал что мне
Сорри, что не описал что мне нужно.
дано:
eth0 - локальная сеть
eth1 - интернет
iproute2
нужно:
ограничить пользователям входящую и исходящую скорость интернета (у каждого разная скорость)
к локальной сети скорость ограничивать не нужно.
Сейчас скрипт выглядит так:
но поскольку используется маска /0 - данное правило срабатывает для всех
если маску убрать или использовать /32 - правило не работает ни для кого.
.
Вообще-то ограничивать входящий траффик на интерфейсе практически бесполезно.
Нормально ограничить можно только исходящий траффик. Если речь идет о маршрутизаторе
на базе gentoo или другого Linux, то входящий траффик ограничивается на интерфейсах,
к которым подключены клиенты сети, а исходящий на интерфейсах, которые подключены к
провайдерам (внешним сетям). Причем, в обоих случаях фактически для конкретного
интерфейса это будет исходящий траффик.
Т.е. - нужно описать классы и фильтры на eth0 (это будет ограничение входящего траффика), и то же самое на eth1 (это будет ограничение исходящего траффика). Так будет правильно.
Возиться с ingress неблагодарное занятие.
alexpro написал(а): Т.е. -
Ну тогда ведь ограничивается и скорсть по локалке, или нет?
Если правильно описать
Если правильно описать фильтры, то ограничиваться будет только то, что нужно ограничивать. Т.е. - если локалку ограничивать не нужно - описываем соответствующие класс/фильтр.