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: