BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: MPD+Radius Attributes
СообщениеДобавлено: 06 апр 2007, 22:47 
Интересует такой вопрос, как проверить, передаются ли аттрибуты на MPD сервер с радиуса, что я сделал:
прочитал
http://www.rostovlinux.ru/content/view/1486/45/
http://www.mavhome.dp.ua/progs.htm
http://snezhnoe.dn.ua/docs/mpd/mpd21.html

внес в dictonary.xml изменения:
Код:
                <vendor code="12341" name="mpd">
                        <attribute name="mpd-rule" type="string" code="1"/>
                        <attribute name="mpd-pipe" type="string" code="2"/>
                        <attribute name="mpd-queue" type="string" code="3"/>
                </vendor>


добавил в передаваемые радиус аттрибуты
Код:
mpd-pipe   5=bw 20Kbyte/s
mpd-pipe   1=bw 10Kbyte/s
mpd-rule   1=pipe %p1 all from any to any in
mpd-rule   2=pipe %p5 all from any to any out


получил в radius.log следущую запись:
Код:
INFO   06.04.2007 19:17:57   RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

INFO   06.04.2007 19:17:57   AUTH:
Type=AUTHENTICATION_REQUEST
Attributes:
        User-Name=test
        NAS-Identifier=vpn-time.online.volhov.ru
        CHAP-Password=.Qm?z.??????..???
        NAS-IP-Address=192.168.0.248
        NAS-Port=8
        Service-Type=2
        Framed-Protocol=1
        Calling-Station-Id=10.1.254.1 / (unknown) / (unknown)
        NAS-Port-Type=5
        CHAP-Challenge=?.h??HD`???%0??8
??0pZ
?.

INFO   06.04.2007 19:17:57   RESPONSE:
Type=AUTHENTICATION_ACCEPT
Process time:51
Attributes:
        Acct-Interim-Interval=60
        Service-Type=2
        Framed-Protocol=1
        Framed-IP-Address=10.0.1.1
        mpd-rule=1=pipe %p1 all from any to any in
        mpd-rule=2=pipe %p5 all from any to any out
        mpd-pipe=5=bw 20Kbyte/s
        mpd-pipe=1=bw 10Kbyte/s

INFO   06.04.2007 19:17:57   ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
        User-Name=test
        NAS-Identifier=vpn-time.online.volhov.ru
        NAS-IP-Address=192.168.0.248
        NAS-Port=8
        Service-Type=2
        Framed-Protocol=1
        Framed-IP-Address=10.0.1.1
        Acct-Status-Type=1
        Acct-Session-Id=5873277-pptp008
        Acct-Authentic=1
        Acct-Link-Count=1
        Acct-Multi-Session-Id=5873277-pptp008
        NAS-Port-Type=5
        Calling-Station-Id=10.1.254.1 / (unknown) / (unknown)


исходя из лога радиус куда-то это все передал, но MPD не создал правила(хотя по идее должен если я правильно понял документацию)
подскажите, как проверить полученные аттрибуты.
Спасибо


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 апр 2007, 22:52 
по правде сказать мне без разницы какой параметр передавать, лишь бы он обработался MPD сервером, полученную цифру в любом числобуквенном формате я выдерну и вставлю в скрипт, главное понять какой параметр конкретно я смогу передать в iface up-script для дальнейшей обработки


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 апр 2007, 22:17 
проблему я свою решил, не так красиво как хотелось бы, но решил(время поджимает)

если вдруг кому пригодится, то так сказать для потомков:

адреса выдаются в сети класса А, поскольку в моей сети данный диапазон задействован слабо(10.1.х.х 10.2.х.х) то я решил на авторизаторе воспользоваться вторым байтом IP адреса для ограничения скорости, как это все выглядит

грубо говоря. у нас есть несколько тарифов, дадим им условные цифры 3 6 8 и 12
соответственно в радуисе параметр Framed-IP-Address задавать в соответствии с тарифом 10.12.1.2 или там 10.6.5.76

далее этот адрес передается нами на авторизатор и попадает в upiface.sh:
Код:
#!/bin/sh
echo `date` $5 connected to $1 with $4 >> /var/log/mpd.stat
echo $1 > /var/log/mpd.ifaces/$5.$1
echo $4 >> /var/log/mpd.ifaces/$5.$1
date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S" >> /var/log/mpd.ifaces/$5.$1

rulen=`echo $1| awk -Fng '{ print $2 }'`
# номер правила будет равняться номеру интерфейса + 1, то есть если у нас ng0 то номер правила будет 1 и так далее
rulen=$(($rulen+1))
# записываем номер правила в файлик
echo $rulen>>/var/log/mpd.ifaces/$5.$1

# вытаскиваем скорость из 2 байта полученного с Радиус-сервера IP адреса
speed=`echo $4| awk -F. '{ print $2 }'`
# расставляем условия, на какой тариф какую скорость выставить и какая скорость будет по умолчанию
if [ "$speed" = "12" ]; then
echo "512Kbit/sec"
/sbin/ipfw pipe $rulen config bw 512Kbits/sec
/sbin/ipfw add $rulen pipe $rulen ip from any to any via $1
elif [ "$speed" = "8" ]; then
/sbin/ipfw pipe $rulen config bw 256Kbits/sec
/sbin/ipfw add $rulen pipe $rulen ip from any to any via $1
elif [ "$speed" = "6" ]; then
/sbin/ipfw pipe $rulen config bw 128Kbits/sec
/sbin/ipfw add $rulen pipe $rulen ip from any to any via $1
elif [ "$speed" = "3" ]; then echo
/sbin/ipfw pipe $rulen config bw 56Kbits/sec queue 50 gred 0.002/10/30/0.1
/sbin/ipfw add $rulen pipe $rulen ip from any to any via $1
elif [ "$speed" = "20" ]; then echo "2048Kbit/sec"
/sbin/ipfw pipe $rulen config bw 2048Kbits/sec
/sbin/ipfw add $rulen pipe $rulen ip from any to any via $1
else echo "56Kbit/sec"
/sbin/ipfw pipe $rulen config bw 56Kbits/sec queue 50 gred 0.002/10/30/0.1
/sbin/ipfw add $rulen pipe $rulen ip from any to any via $1
fi


и downiface.sh
Код:
#!/bin/sh
echo `date` $3 close connection on $1 >> /var/log/mpd.stat
rulen=`tail -1 /var/log/mpd.ifaces/$3.$1`
/sbin/ipfw delete $rulen
/sbin/ipfw -q pipe del $rulen
rm -f /var/log/mpd.ifaces/$3.$1


если у кого-либо есть более элегантное решение, я буду очень рад


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

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


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

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


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

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