BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 05 июл 2025, 22:29

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Шейпер
СообщениеДобавлено: 23 янв 2007, 07:42 
Не в сети

Зарегистрирован: 17 дек 2006, 02:49
Сообщения: 121
Откуда: Из ЛИСа
Карма: 1
Цитата: "Начиная с 4.0 версии в тарифных планах возможна установка группы RADIUS атрибутов, передаваемых в AUTH ACCEPT пакете. Например, это можнет использоваться для заужения канала клиента в зависимости от потребленного им трафика в течении месяца. Пример подобного тарифа приведен ниже."

А можно подробнее эту актуальную тему развить:
1. Как собственно на разных тарифных планах разную скорость давать?
2. На каких НАСах это работает и насколько корректно - вх и исх скорость режет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 янв 2007, 11:42 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
1. Просто в каждый тариф устанавливается своя группа атрибутов.
2. Работает точно на CISCO, собственно работает на любом NAS е которому можно передать скорость через атрибут RADIUS.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 янв 2007, 00:03 
Интересует возможность ограничения скорости порта на NAS PPPD. Кто знает рабочие атрибуты для PPPD или как реализовать эту задачу. Сейчас ограничиваю через Ip-up, но хочется через атрибуты.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 янв 2007, 10:33 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
http://www.die.net/doc/linux/man/man8/p ... ttr.8.html
По-моему возможно в ip-up брать атрибуты переданные биллингом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 янв 2007, 12:15 
Я реализовал это так - может кому пригодится:

linux pppd + radattr.so

Здесь рассказывается как использовать атрибуты, передаваемые радиусом NAS’у на основе linux pppd. Это нужно для того, чтобы ограничивать пользователям скорость и выставлять фильтры. Последние версии pppd имеют в своем составе плагины для работы с radius-сервером. Чтобы воспользоваться этой возможностью нужно добавить две строчки в файл options.pptpd :

plugin radius.so
plugin radattr.so

radius.so предназначен для аутентификации и аккаунтинга через радиус, а radattr.so принимает от радиуса дополнительные атрибуты и помещает их в файл /var/run/radattr.pppX , где pppX - имя интерфейса. Выглядит он примерно так:

MS-CHAP2-Success \207S=F17E6A6B06CD4B0C38F6....F35CD130BD7EBE
MS-MPPE-Recv-Key \302\177\360\305\202I\362O....65\26\216#\336
MS-MPPE-Send-Key \317Ab4\353\275R\24\331O\3....\236gr*\274$\233
MS-MPPE-Encryption-Policy
MS-MPPE-Encryption-Types
Framed-IP-Address 192.168.144.226
Filter-Id test_filter
PPPD-Downstream-Speed-Limit 128
PPPD-Upstream-Speed-Limit 128
Octets-Direction Sum
Session-Octets-Limit 106954752
Framed-IP-Netmask 255.255.255.255
MS-CHAP-MPPE-Keys p3\314wm\333B7@S/\024\370E\....\241'e\371K\303
Acct-Interim-Interval 60
Session-Timeout 29293

Этот файл удобно обрабатывать в скрипте /etc/ppp/ip-up, для этого добавляем в него следующие строки :

if [ -f /var/run/radattr.$1 ]
then
DOWNSPEED=`/usr/bin/awk '/PPPD-Downstream-Speed-Limit/ {print $2}' /var/run/radattr.$1`
UPSPEED=`/usr/bin/awk '/PPPD-Upstream-Speed-Limit/ {print $2}' /var/run/radattr.$1`
FILTERS=`/usr/bin/awk '/Filter-Id/ {print $2}' /var/run/radattr.$1`
#echo $DOWNSPEED
#echo $UPSPEED
#echo $FILTERS
/sbin/tc qdisc del dev $1 root > /dev/null
/sbin/tc qdisc del dev $1 ingress > /dev/null

##### speed server->client
if [ "$UPSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 1
/sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 4k
/sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 4k prio 1
/sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 4k prio 2
/sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500
/sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
fi
##### speed client->server
if [ "$DOWNSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1
fi
fi

Для того, чтобы нужные атрибуты распознавались радиусом и радиусклиентом нужно добавить их в соответствующие словари (/etc/radiusclient/dictionary и /usr/local/BGRadiusDialup/dictionary.xml)

ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer

Скорость можно выставлять индивидуально для каждого пользователя. При этом можно установить разные upspeed и downspeed. Скорость выставляется в Kbit/s

Так же можно привязать определенные значения атрибутов PPPD-Upstream-Speed-Limit и PPPD-Downstream-Speed-Limit к определенному тарифу. Т.е. чтобы не прописывать у каждого юзера, а сразу задавать скорость для тарифов.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 янв 2007, 13:30 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Можно добавить в документацию?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 янв 2007, 20:02 
Администратор писал(а):
Можно добавить в документацию?

Да конечно. Стараемся для Вас:)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 янв 2007, 17:48 
Не в сети

Зарегистрирован: 17 дек 2006, 02:49
Сообщения: 121
Откуда: Из ЛИСа
Карма: 1
Спасибо mister999!!!
Вопрос на засыпку - а как сделать, что бы скорость в/из внешних сетей ограничивалась, а внутренних - нет???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 авг 2007, 03:15 
А вот у меня проблемка в том что в файлике radattr.ppp*

Всего две строчки

Service-Type Framed-User
Framed-Protocol PPP

Собственно где вся остальная информация? :(

хотя судя по логам радиуса её много :)


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 авг 2007, 11:05 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
Для того, чтобы нужные атрибуты распознавались радиусом и радиусклиентом нужно добавить их в соответствующие словари (/etc/radiusclient/dictionary и /usr/local/BGRadiusDialup/dictionary.xml)

Скорее всего их нет в словаре радиусклиента


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 авг 2007, 13:34 
Не в сети

Зарегистрирован: 17 дек 2006, 02:49
Сообщения: 121
Откуда: Из ЛИСа
Карма: 1
ЛИС писал(а):
Спасибо mister999!!!
Вопрос на засыпку - а как сделать, что бы скорость в/из внешних сетей ограничивалась, а внутренних - нет???



я это сделал, по инструкции выше!!!
На линухе точно работает)))
Причем одновременно на pptp и pppoe!!!!

Если не разберешся, напиши мне, я на выходных гляну - отпишусь))))

ЗЫ
я хитрее сделал - локалку ограничил в 95 мбит)))
Шо бы для инета дырочка всегда была))))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 мар 2009, 15:15 
Не в сети

Зарегистрирован: 05 мар 2009, 15:07
Сообщения: 1
Карма: 0
не получается настроить шейпер по данному методу.

плагин зацепляется,
а вот аттрибуты не передаются
в файлах radattr.pppX нету PPPD-Downstream-Speed-Limit или
PPPD-Upstream-Speed-Limit

словари проверил.
аттрибуты есть в обоих.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.066s | 32 Queries | GZIP : On ]