Перейти до

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


Рекомендованные сообщения

Добрый день знатоки! В этом деле я новичек, так что сильно не пинайте...

 

Нужно ограничить скорость пользователям на определенном тарифе. Как это можно реализовать? Читал посты где описывается ограничение... но там для фрибсд, а мне нужно для асп10. Может кто напишет код. Спасибо!

Ссылка на сообщение
Поделиться на других сайтах
Добрый день знатоки! В этом деле я новичек, так что сильно не пинайте...

 

Нужно ограничить скорость пользователям на определенном тарифе. Как это можно реализовать? Читал посты где описывается ограничение... но там для фрибсд, а мне нужно для асп10. Может кто напишет код. Спасибо!

Предыдущий вариант сложен для понимания.

Используй cbq.init. Работает вполне надежно (если без фанатизма).

Ссылка на сообщение
Поделиться на других сайтах

Я так понял мне вот это:

 

Как ограничить пропускную полосу для пакетов помеченных меткой через MARK

Сделать MARK, и загнать все такие трансферы в какой-либо класс шейпера. Т.е. если например помеченные пакеты - все их отнести к классу 1:51 где скорость ограничена от 32К до 64К:

tc filter add dev eth1 parent 1:0 protocol ip prio 100 handle 51 fw classid 1:51

tc class add dev eth1 parent 1:2 classid 1:51 htb rate 32Kbit ceil 64Kbit

tc qdisc add dev eth1 parent 1:51 handle 51 sfq perturb 10

 

или что-то похожее нужно добавить в Онкнект. Онконект залить определенному пользователю... И это же нужно сделать и с Ондисконект...

Ссылка на сообщение
Поделиться на других сайтах

Немного неправда я конечно сказал в предыдущем ответе, я делаю несколько иначе, я не использую метки (их достаточно мало, всего 256), я использую приоритеты. Причем приоритеты увеличиваю сразу, добавляю вконце 0. Таким образом выделяю необходимый запас приоритетов для каких то служебных правил, например для снятия ограничения с локального трафика.

 

rc.firewall:

 

$TC qdisc add dev $LAN_IFACE root handle 1: htb

$TC class add dev $LAN_IFACE parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k

 

$TC filter add dev $LAN_IFACE parent 1: prio 2 protocol ip u32 match ip src ${LAN_IP} flowid 1:1

 

 

OnConnect:

 

prioid="${ID}0"

 

if [ "$tarif" = "Unlim-128" ]; then

speed=128

elif [ "$tarif" = "Unlim-256" ]; then

speed=256

elif [ "$tarif" = "Unlim-512" ]; then

speed=512

else

speed=0

fi

 

if [ $speed -gt 0 ]; then

$TC class add dev $iface parent 1:1 classid 1:${prioid} htb rate $speed'kbit' burst 20k

$TC filter add dev $iface parent 1: protocol ip prio ${prioid} u32 match ip dst $IP flowid 1:${prioid}

fi

 

OnDisconnect:

 

prioid="${ID}0"

 

$TC filter del dev $iface pref ${prioid}

$TC class del dev $iface classid 1:${prioid}

Ссылка на сообщение
Поделиться на других сайтах

Допустим у меня есть канал 256Кб/с. Мне нужно для 1 или более пользователей ограничить скорость до 32кб/с(например) но чтобы другие использовали весь канал. Как это можно реализовать?

Ссылка на сообщение
Поделиться на других сайтах

LAN_IFACE="eth0" #локальный интерфейс

LAN_IP="192.168.1.1" #адрес сервера

tc qdisc add dev $LAN_IFACE root handle 1: htb

tc class add dev $LAN_IFACE parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k

 

tc filter add dev $LAN_IFACE parent 1: prio 2 protocol ip u32 match ip src $LAN_IP flowid 1:1

 

последний кусой для каждого юзера которого надо кастрировать

менять только айки и класайди и флов айди

tc class add dev $LAN_IFACE parent 1:1 classid 1:10 htb rate 32kbit burst 20k

tc filter add dev $LAN_IFACE parent 1: protocol ip prio 10 u32 match ip dst $IP_user flowid 1:10

вроде усе

Ссылка на сообщение
Поделиться на других сайтах
я не использую метки (их достаточно мало, всего 256)

Кто тебе такое сказал?

Сдесь говорят, что их можно поставить гораздо больше.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...