URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 78164
[ Назад ]

Исходное сообщение
"PPPoE + limit"

Отправлено Oyyo , 08-Янв-08 22:51 
Всех с наступившим и Рождеством!
Возникла необходимость отстройки лимитов для лана, как указано в заголовке, авторизация происходит по PPPoE и в лан. Не хочется вводить каждому юзеру шейпер, т.к. это приведет к огромному количеству правил как в iptables так и в iproute2. Хотелось бы видать литы на интерфейсы ppp+ было бы и проше, и красивее. Но уже и поисковики все замучались выдавать одни и теже ссылки на цЫцки. Биллин самописный rp-pppoe-server + freeradius. Гдето проскакивала информация, что можно выдавать атрибуты радиусом для ppp, но толком никуда и не указываться, только упоминания "возможно, ищите".
Очень нужена Ваша помошь и подсказки. Спасибо! Буду благодарен!

Содержание

Сообщения в этом обсуждении
"PPPoE + limit"
Отправлено Z0termaNN , 08-Янв-08 23:17 
>Всех с наступившим и Рождеством!
>Возникла необходимость отстройки лимитов для лана, как указано в заголовке, авторизация происходит
>по PPPoE и в лан. Не хочется вводить каждому юзеру шейпер,
>т.к. это приведет к огромному количеству правил как в iptables так
>и в iproute2. Хотелось бы видать литы на интерфейсы ppp+ было
>бы и проше, и красивее. Но уже и поисковики все замучались
>выдавать одни и теже ссылки на цЫцки. Биллин самописный rp-pppoe-server +
>freeradius. Гдето проскакивала информация, что можно выдавать атрибуты радиусом для ppp,
>но толком никуда и не указываться, только упоминания "возможно, ищите".
>Очень нужена Ваша помошь и подсказки. Спасибо! Буду благодарен!

я уже в деталях не помню, тебе нужно передавать атрибуты Session-Octets-Limit + Octets-Direction , правда ppp должен быть скомпилирован с соотв. опцией.


"PPPoE + limit"
Отправлено Oyyo , 09-Янв-08 00:16 
>я уже в деталях не помню, тебе нужно передавать атрибуты Session-Octets-Limit +
>Octets-Direction , правда ppp должен быть скомпилирован с соотв. опцией.

Session-Octets-Limit - устанавливает лимит на объём трафика или время
Octets-Direction - правило применения лимита

А мне нужно ограничения скорости, т.е. что бы интерфейс создовался с максимально оговореной скоростью.


"PPPoE + limit"
Отправлено Z0termaNN , 09-Янв-08 22:42 
>>я уже в деталях не помню, тебе нужно передавать атрибуты Session-Octets-Limit +
>>Octets-Direction , правда ppp должен быть скомпилирован с соотв. опцией.
>
>Session-Octets-Limit - устанавливает лимит на объём трафика или время
>Octets-Direction - правило применения лимита
>
>А мне нужно ограничения скорости, т.е. что бы интерфейс создовался с максимально
>оговореной скоростью.

засунуть атрибуты по ограничению скорости в радиус и сделать так, чтобы ppp plugin их
опознавал дело достаточно легкое. Вопрос заключается в том - умеет ли ppp ограничивать
скорость. Скорее всего нет, по крайней мере я навскидку ничего похожего в исходниках
ppp не нашел. Т.е. есть 2 пути
- реализовать самому или искать патч по ограничению скорости в pppd,
- использовать простенький скрипт.


"PPPoE + limit"
Отправлено Hawk , 09-Янв-08 07:29 
Я делал проще - через /etc/ppp/ip-up.local

#!/bin/bash

CLIENT_ADDR=$5
DEV=$1

. /etc/billing.conf
MYSQL="mysql -N -h${rdbhost} -u${rdbuser} -p${rdbpass} ${rdbname}";

#Далее выдергиваем скорость из бд биллинга - для lanbilling я делал так...
VG_ID=`echo "select vg_id from sessionsradius where asssigned_ip=inet_aton('"$5"');"|${MYSQL}`;
TAR_ID=`echo "select tar_id from vgroups where vg_id='"$VG_ID"';"|${MYSQL}`;
SHAPE=`echo "select shape from tarifs where tar_id='"$TAR_ID"';"|${MYSQL}`;

#садим шейпер на ppp
/sbin/tc qdisc add dev $DEV root tbf rate ${SHAPE}Kbit latency 50ms burst $[${SHAPE}*1024]


"PPPoE + limit"
Отправлено nesh , 09-Янв-08 14:05 
>[оверквотинг удален]
>
>#Далее выдергиваем скорость из бд биллинга - для lanbilling я делал так...
>
>VG_ID=`echo "select vg_id from sessionsradius where asssigned_ip=inet_aton('"$5"');"|${MYSQL}`;
>TAR_ID=`echo "select tar_id from vgroups where vg_id='"$VG_ID"';"|${MYSQL}`;
>SHAPE=`echo "select shape from tarifs where tar_id='"$TAR_ID"';"|${MYSQL}`;
>
>#садим шейпер на ppp
>/sbin/tc qdisc add dev $DEV root tbf rate ${SHAPE}Kbit latency 50ms burst
>$[${SHAPE}*1024]

Очень красивый скрипт, но говорю же, что не хочеться реализовывать это через iproute, на много красивее былобы сам интерфейс отлимитировать...
Включил логику, нашел нужную ветку на оф-форуме http://www.voy.com/41165/4145.html может быть комунибуть тоже понадобится.
Теперь на первод 2ух обзацов уйдёт времени больше, чем на модификацию, в несколько раз.


"PPPoE + limit"
Отправлено Ночной админ , 09-Янв-08 23:33 
"закрываем все вопросы по связке netup-radius + mpd + shape"
http://www.netup.ru/phpbb/viewtopic.php?p=30860&sid=d661f8dc...
Я думаю заменить netup-radius на другой сервер не очень сложно.