[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [SOLVED] Ограничение максимальной скорости по IP



Покотиленко Костик wrote:
- Добавляем только ещё один HTB класс со скоростью, например 1kbit/s -
это для приземления превышения скорости.

Логичнее дать каждому пользователю соразмерную минимально гарантированную (rate) и максимальную (ceil) ширину канала.
(rate 64kbps ceil 128kbps, как вариант)

Вопрос: есть ли дисциплина позволяющая ограничивать максимальную
скорость до указанного значения для каждого IP отдельно,

Возможно стоить выдавать анлимитчикам ip из определенной подсети и заранее сделать правила для всех (каждого) ip этой подсети.
(клас, дисциплина и фильтры входящий/исходящий - по 4 правила)

Процесс можно автоматизировать, примерно, так:

echo "tc qdisc add dev eth0 root handle 1: htb default" > tc.conf

for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1: classid 1:$i htb rate 64kbps ceil 128kbps burst 150k" >> tc.conf; done;

for i in `seq 1 254`; do echo "tc qdisc add dev eth0 parent 1:$i handle $i: sfq perturb 10" >> tc.conf; done;

for i in `seq 1 254`; do echo "tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip src xx.xx.xx.$i flowid 1:$i" >> tc.conf; done;

for i in `seq 1 254`; do echo "tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip dst xx.xx.xx.$i flowid 1:$i" >> tc.conf; done;


Если вы будете использовать openvpn для авторизации, то eth0 можно заменить на tap0

Кроме того, если вы используете дисциплину htb, удобно с ее подружить с rrd и смотреть графики нагрузки по ip.

С уважением, Николай.


--
Sincerely,
	Nicholas


Reply to: