опять деление канала :)

Linux, безопасность, сети и все что с этим связано
Аватара пользователя
Denis
Фанатеющий
Сообщения: 134
Зарегистрирован: 25 июн 2002, 10:54
Контактная информация:

опять деление канала :)

Сообщение Denis »

теперь уже между vpn клиентами
хочется делить динамически.
моя идея:
есть n клиентов, ссоздать n склассов (root c rate=канал/n и ceil=канал) и потом с помощью фильтра, через ip-up запихивать их в эти классы. или есть решение получше?
Denis

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Denis, если интересует равноаерное разделение траффика между клиентами - то можно просто делать траффик исходящий с внешнего интерфейса. Пример - на sky-zebra.net в QoS FAQ. Не тебе ли я его советовал на #unix ?
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
Denis
Фанатеющий
Сообщения: 134
Зарегистрирован: 25 июн 2002, 10:54
Контактная информация:

Сообщение Denis »

мне. но что то я видимо торможу...

Код: Выделить всё

$TC qdisc add dev $DEVB root handle 1: htb default 30
$TC class add dev $DEVB parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 15k
$TC class add dev $DEVB parent 1:1 classid 1:10 htb rate 1mbit ceil 100mbit  burst 15k
$TC class add dev $DEVB parent 1:1 classid 1:20 htb rate 1mbit ceil 100mbit burst 15k
$TC class add dev $DEVB parent 1:1 classid 1:30 htb rate 1mbit ceil 100mbit burst 15k
и таких классов например 15 штук
потом:

Код: Выделить всё

$TC qdisc add dev $DEVB parent 1:10 sfq perturb 10
$TC qdisc add dev $DEVB parent 1:20  sfq perturb 10
$TC qdisc add dev $DEVB parent 1:30  sfq perturb 10
и таких тоже 15
потом:

Код: Выделить всё

$TC filter add dev $DEVB protocol ip parent 1:0 prio 1 u32 match ip dst $VPNUSERIP flowid 1:$ipNumber0
или я что то не так понял?
или ты имел ввиду с помощью sfq делить?
хочется все же, что бы у них была хоть какая то гарантированная полоса. хоть 1 кб/с...
Последний раз редактировалось Denis 11 ноя 2004, 14:07, всего редактировалось 1 раз.
Denis

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

AFAIK squid delay pools может помочь

Аватара пользователя
invox
Неотъемлемая часть форума
Сообщения: 395
Зарегистрирован: 12 сен 2002, 17:53
Откуда: Минск
Контактная информация:

Сообщение invox »

Hermit Кхе-кхе... squid delay pools и каналы для VPN-клиентов - это очень уж разные оперы...

Аватара пользователя
Denis
Фанатеющий
Сообщения: 134
Зарегистрирован: 25 июн 2002, 10:54
Контактная информация:

Сообщение Denis »

Hermit, squid с ведрами уже делает свое дело. но только для портов 80, 8080, 8081... а надо же что то и с остальными портами делать... :)
Denis

Hermit
Неотъемлемая часть форума
Сообщения: 354
Зарегистрирован: 22 сен 2004, 13:47
Откуда: Minsk
Контактная информация:

Сообщение Hermit »

обычно основной траффик - это web, который сквид хорошо нарезает. У меня пользователи определяют скорость инета по скорости загрузки страниц. Все остальное, чем клиенты пользуются довольно редко (SMTP, POP, FTP) нарезано CBQ.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

пользователи редко пользуют FTP??? Оччень хорошие у тебя пользователи!
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
Denis
Фанатеющий
Сообщения: 134
Зарегистрирован: 25 июн 2002, 10:54
Контактная информация:

Сообщение Denis »

ага, особенно в домашней сети... :)
Denis

Аватара пользователя
Denis
Фанатеющий
Сообщения: 134
Зарегистрирован: 25 июн 2002, 10:54
Контактная информация:

Сообщение Denis »

блиииннн... вот незадача... придется тогда ж убрать прозрачное проксирование... иначе все ж пакеты будут от адреса сервера...

короче по моему вопросу выше моя идея такая:
ip-up.local:

Код: Выделить всё

tc class add dev $DEV parent 1:1 classid 1:2${1/ppp/} htb rate $[$RATEUP/$VPNS]kbit ceil ${RATEUP}kbps
tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip src $5 flowid 1:2${1/ppp/}
ip-down.local:

Код: Выделить всё

tc class del dev $DEV parent 1:1 classid 1:2${1/ppp/} htb rate $[$RATEUP/$VPNS]kbit ceil ${RATEUP}kbps
tc filter del dev $DEV protocol ip parent 1:0 prio 1 u32 match ip src $5 flowid 1:2${1/ppp/}
где $DEV интерфейс наружу, $RATEUP исходящий, $VPNS количество возможных одновременых подключений.

может можно сделать более грамотно?

и с входящим как быть? заворачивать его на imq0 и там делить, только по адресу назначения?
Denis

Ответить