forum.bitel.ru
http://forum.bitel.ru/

Freebsd+MPD+SNMP отключение пользователя
http://forum.bitel.ru/viewtopic.php?f=5&t=333
Страница 1 из 1

Автор:  Mr.Chaos [ 10 авг 2007, 16:16 ]
Заголовок сообщения:  Freebsd+MPD+SNMP отключение пользователя

Настроил по инструкции.
Пользователя не отрубает.
snmp.log обращения фиксирует
passtest.sh запускается точно.
-----------------
кусок passtest.sh:
REQ="$2"
if [ "$1" = "-s" ]; then
echo $4 > /tmp/snmpkill
/usr/local/bin/nc -e /usr/local/utils/snmpkill.sh 127.0.0.1 510
# rm -f /tmp/snmpkill закомментировал что бы было видно его работу
exit 0
fi
-----------------
изменил /local/utils/snmpkill на /usr/local/utils/snmpkill.sh
не помогает
файл snmpkill переименовал в snmpkill.sh
атрибуты файлам установил на исполнение.

Кто осилит??? :)

Автор:  Mr.Chaos [ 10 авг 2007, 16:29 ]
Заголовок сообщения: 

radius.bat kill -login <login входа>
ответ OK Killed 1 connections.
а клиент не отрубается

Автор:  Mr.Chaos [ 10 авг 2007, 16:55 ]
Заголовок сообщения: 

Где то тут затык
/usr/local/bin/nc -e /usr/local/utils/snmpkill.sh 127.0.0.1 510
вставил в snmpkill.sh строку для отладки
echo "port \n" >> /tmp/ps1.log
результата нет

Автор:  Mr.Chaos [ 10 авг 2007, 23:12 ]
Заголовок сообщения: 

в ps.log
-g .1.3.6.1.4.1.2021.255.1 \n
-s .1.3.6.1.4.1.2021.255.1 integer 0\n
-g .1.3.6.1.4.1.2021.255.1 \n
-s .1.3.6.1.4.1.2021.255.1 integer 0\n
-g .1.3.6.1.4.1.2021.255.1 \n
-s .1.3.6.1.4.1.2021.255.1 integer 0\n
-g .1.3.6.1.4.1.2021.255.1 \n
-s .1.3.6.1.4.1.2021.255.1 integer 0\n
-g .1.3.6.1.4.1.2021.255.1 \n
-s .1.3.6.1.4.1.2021.255.1 integer 0\n
-g .1.3.6.1.4.1.2021.255.1 \n
-s .1.3.6.1.4.1.2021.255.1 integer 0\n

md.stat показывает
connected to ng0

snmpget -v2c -c public 127.0.0.1 1.3.6.1.4.1.2021.255.0
UCD-SNMP-MIB::ucdavis.255.0 = STRING: "23"
snmpget -v2c -c publiс 127.0.0.1 1.3.6.1.4.1.2021.255.1
UCD-SNMP-MIB::ucdavis.255.1 = STRING: "-"

получается надо 127.0.0.1 1.3.6.1.4.1.2021.255.0
а в ps.log фигурирует 127.0.0.1 1.3.6.1.4.1.2021.255.1

что где не так?

Автор:  Mr.Chaos [ 12 авг 2007, 20:58 ]
Заголовок сообщения: 

Заменил на строку
/usr/local/utils/snmpkill.sh | /usr/bin/nc 127.0.0.1 510

Теперь работает.

Автор:  Gilbert [ 10 янв 2008, 11:14 ]
Заголовок сообщения: 

Добрый день!
Freebsd 6.2 MPD-4.04b0 Billing 4.3, netcat1.10
Биллинг установлен на gentoo. x86_64
Настраиваю такую же связку. Не могу отключить клиентов из монитора. В нынешней документации скрипт passtest.sh лежит ftp://ftp.bitel.ru/pub/projects/bgbilling/mpd/mpd (Ссылка битая, реально скачал с ftp://ftp.bitel.ru/pub/projects/bgbilling/mpd). Попровил его для вывода в лог - лог такой же как в 4-от сообщении.

snmpget -v2c -c public 127.0.0.1 1.3.6.1.4.1.2021.255.0
UCD-SNMP-MIB::ucdavis.255.0 = STRING: "-"
snmpget -v2c -c publiс 127.0.0.1 1.3.6.1.4.1.2021.255.1
UCD-SNMP-MIB::ucdavis.255.1 = STRING: "-"
Хотя реально подключен клиент на 0 порт. Подскажите где копать, пожалуйста

Автор:  Администратор [ 10 янв 2008, 12:28 ]
Заголовок сообщения: 

Попробуйте взять mpd.conf и mpd.links с FTP. Там были неверные конфиги..

Автор:  Администратор [ 10 янв 2008, 12:35 ]
Заголовок сообщения: 

Вот по этой части чуть позже описаловку добавим... Пока либо закомментируйте либо сами разберитесь.
Код:
   # configure netflow
   set netflow node netflow
   set netflow hook 2

Автор:  Администратор [ 10 янв 2008, 13:06 ]
Заголовок сообщения: 

Выложил скрипт настройки запуска netflow и mpd для размещения в /usr/local/etc/rc.d/.

Автор:  Gilbert [ 11 янв 2008, 02:01 ]
Заголовок сообщения: 

Все расно не сбрасывает :-(
cat /usr/local/etc/snmp/snmpd.conf
com2sec billing 192.168.0.2 111111
com2sec local localhost public
group groupbill v2c billing
group groupbill v2c local
view all included 1.3.6.1.4.1.2021.255 ff.f0
# context sec.model sec.level prefix read write notify
access groupbill "" v2c noauth prefix all all none
pass 1.3.6.1.4.1.2021.255 /bin/sh /usr/local/libexec/mpd/passtest.sh

После посылки сигнала сбросить лог радиуса connection.log
INFO 11.01.2008 00:46:30 [ Lan008-2007; userT; 7167 ] sendKillRequest
INFO 11.01.2008 00:46:30 [ Lan008-2007; userT; 7167 ] SNMP reset request: set 1.3.6.1.4.1.2021.255.1 i 0
INFO 11.01.2008 00:46:32 [ Lan008-2007; userT; 7167 ] sendKillRequest
INFO 11.01.2008 00:46:32 [ Lan008-2007; userT; 7167 ] SNMP reset request: set 1.3.6.1.4.1.2021.255.1 i 0
INFO 11.01.2008 00:46:34 [ Lan008-2007; userT; 7167 ] sendKillRequest
INFO 11.01.2008 00:46:34 [ Lan008-2007; userT; 7167 ] SNMP reset request: set 1.3.6.1.4.1.2021.255.1 i 0
INFO 11.01.2008 00:46:36 [ Lan008-2007; userT; 7167 ] sendKillRequest
INFO 11.01.2008 00:46:36 [ Lan008-2007; userT; 7167 ] Set connection to KILL
INFO 11.01.2008 00:46:36 [ Lan008-2007; userT; 7167 ] DialUpNASConnection set STATUS=2
INFO 11.01.2008 00:47:07 [ Lan008-2007; userT; 7167 ] DialUpNASConnection update connection..
INFO 11.01.2008 00:47:07 [ Lan008-2007; userT; 7167 ] DialUpNASConnection set STATUS=1
INFO 11.01.2008 00:47:39 [ Lan008-2007; userT; 7167 ] DialUpNASConnection set STATUS=2

логи passtest.sh Приконнектился на 0 порт
kill $1=-s $2=.1.3.6.1.4.1.2021.255.1 $3=integer $4=0
kill $1=-s $2=.1.3.6.1.4.1.2021.255.1 $3=integer $4=0
kill $1=-s $2=.1.3.6.1.4.1.2021.255.1 $3=integer $4=0

ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400
inet 192.168.0.13 --> 10.10.10.74 netmask 0xffffffff
Вот что выдает tcpdump -nnvv udp port 161
00:54:50.214513 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 70) 192.168.0.2.35988 > 192.168.0.13.161: [udp sum ok] { SNMPv2c C=111111 { SetRequest(28) R=74 .1.3.6.1.4.1.2021.255.1=0 } }
00:54:50.258965 IP (tos 0x0, ttl 64, id 2616, offset 0, flags [none], proto: UDP (17), length: 70, bad cksum 0 (->ef0f)!) 192.168.0.13.161 > 192.168.0.2.35988: [bad udp cksum 6d22!] { SNMPv2c C=111111 { GetResponse(28) R=74 .1.3.6.1.4.1.2021.255.1=0 } }
00:54:52.226508 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 70) 192.168.0.2.35988 > 192.168.0.13.161: [udp sum ok] { SNMPv2c C=111111 { SetRequest(28) R=75 .1.3.6.1.4.1.2021.255.1=0 } }
00:54:52.270959 IP (tos 0x0, ttl 64, id 2620, offset 0, flags [none], proto: UDP (17), length: 70, bad cksum 0 (->ef0b)!) 192.168.0.13.161 > 192.168.0.2.35988: [bad udp cksum 6d21!] { SNMPv2c C=111111 { GetResponse(28) R=75 .1.3.6.1.4.1.2021.255.1=0 } }
00:54:54.234406 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 70) 192.168.0.2.35988 > 192.168.0.13.161: [udp sum ok] { SNMPv2c C=111111 { SetRequest(28) R=76 .1.3.6.1.4.1.2021.255.1=0 } }
00:54:54.278957 IP (tos 0x0, ttl 64, id 2626, offset 0, flags [none], proto: UDP (17), length: 70, bad cksum 0 (->ef05)!) 192.168.0.13.161 > 192.168.0.2.35988: [bad udp cksum 6d20!] { SNMPv2c C=111111 { GetResponse(28) R=76 .1.3.6.1.4.1.2021.255.1=0 } }
00:54:56.242452 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 69) 192.168.0.2.35988 > 192.168.0.13.161: [udp sum ok] { SNMPv2c C=111111 { GetRequest(27) R=77 .1.3.6.1.4.1.2021.255.0 } }
00:54:56.264953 IP (tos 0x0, ttl 64, id 2629, offset 0, flags [none], proto: UDP (17), length: 70, bad cksum 0 (->ef02)!) 192.168.0.13.161 > 192.168.0.2.35988: [bad udp cksum 3e20!] { SNMPv2c C=111111 { GetResponse(28) R=77 .1.3.6.1.4.1.2021.255.0="-" } }

Автор:  Gilbert [ 11 янв 2008, 02:12 ]
Заголовок сообщения: 

Часть вывода команды snmptranslate -Tp .1.3.6.1.4.1.2021

| +--openbsd(12)
| |
| +--win32(13)
| |
| +--hpux11(14)
| |
| +--unknown(255) - может в этом все дело?
|
+--ucdTraps(251)

Автор:  Администратор [ 11 янв 2008, 13:20 ]
Заголовок сообщения: 

1. У вас по-моему режим checker стоит, либо радиус не последний апдейт. Не должно быть get запросов совсем.
2. Поставьте отладку в closebound.sh, до туда доходит kill запрос?
В mpd.conf добавили открытие 8080 порта с HTTP управлением?

Автор:  Gilbert [ 11 янв 2008, 13:47 ]
Заголовок сообщения: 

В конфигурации NAS
#1- режим UPDATE - пересчет во время прохождения UPDATE пакетов
#2 - режим CHECKER - пересчет по таймеру, UPDATE пакеты используются для получения
dialup.workmode=1

В mpd.conf
# configure the console
set console port 510
set console ip 127.0.0.1
set console user mpd mpd
set console disable logging
set console open

# configure the web server
set web port 8080
set web ip 127.0.0.1
set web disable auth
set web open

# configure netflow
set netflow node netflow
set netflow hook 2

Автор:  Администратор [ 11 янв 2008, 14:15 ]
Заголовок сообщения: 

Билд BGRadiusDialup какой, последний?
Отладку сделали в closebound.sh?

Автор:  Gilbert [ 11 янв 2008, 14:41 ]
Заголовок сообщения: 

dialup v4.3 build 21
28.12.2007 (до этого стоял предыдуший) и обновил только dialup.jar
Обновление RADIUS сервера для модуля DialUP до текущей версии (положить в папку lib BGRadiusDialup)

Отладку сделали в closebound.sh?
Да, при каждом сбросе добавляет 0 в новую строчку в отладочный файл.

Автор:  Администратор [ 11 янв 2008, 15:50 ]
Заголовок сообщения: 

Ну попробуйте выполнить для сброса:

Код:
/usr/bin/printf "GET /cmd?p%04d&close HTTP/1.0\r\n\r\n" 0 | /usr/bin/nc 127.0.0.1 8080

nc стоит?

Автор:  Gelik [ 30 окт 2008, 22:47 ]
Заголовок сообщения: 

Цитата:
Ну попробуйте выполнить для сброса:

Код:
/usr/bin/printf "GET /cmd?p%04d&close HTTP/1.0\r\n\r\n" 0 | /usr/bin/nc 127.0.0.1 8080

nc стоит?

Для mpd5 этот запрос не подходит, так-как требуется авторизация, кто-то
решил данную проблему?

Автор:  Администратор [ 31 окт 2008, 13:22 ]
Заголовок сообщения: 

Там какая авторизация? Попробуйте через браузер послать запрос, снять снифером и повторить его тупо печатая в nc.

Автор:  dAverk [ 10 фев 2009, 02:18 ]
Заголовок сообщения: 

Цитата:
#!/usr/local/bin/bash
MHOST=www.xxx.yyy.zzz. # mpd host
MPORT=5005 # mpd telnet port
IP="$1";
test -z "$IP" && exit 1
for bundle in 'printf "имя\rпароль\rbundle\r" | /usr/bin/nc $MHOST $MPORT | grep Opened | awk '{print $1}'';
do
if printf "имя\rпароль\rbundle $bundle \rshow iface\r" |
/usr/bin/nc $MHOST $MPORT | grep $IP >/dev/null 2>&1
then
printf "имя\rпароль\rbundle $bundle\rclose\r\r" |
/usr/bin/nc $MHOST $MPORT >/dev/null 2>&1
fi
done;
exit 0

примерно такое решение проблемы =)

Автор:  snark [ 12 фев 2009, 17:36 ]
Заголовок сообщения: 

dAverk писал(а):
примерно такое решение проблемы =)

корявое малость решение ;) скрипт не отдает сбрасывальщику статусы ...

Автор:  Nik [ 27 фев 2009, 13:44 ]
Заголовок сообщения: 

Gelik писал(а):
Цитата:
Ну попробуйте выполнить для сброса:

Код:
/usr/bin/printf "GET /cmd?p%04d&close HTTP/1.0\r\n\r\n" 0 | /usr/bin/nc 127.0.0.1 8080

nc стоит?

Для mpd5 этот запрос не подходит, так-как требуется авторизация, кто-то
решил данную проблему?


В closebund.sh строка сброса вот такая

$printf “foo\nbar\nbundle B-%d\nclose\n” $bundle | $nc 127.0.0.1 510 >/dev/null

Сбрасываю телнетом, и с юзером-паролем «foo» «bar» если шаблон бандлов называется «B».

Автор:  Nik [ 27 фев 2009, 13:46 ]
Заголовок сообщения: 

А щас passtest.sh используется кроме как для сброса пользователей?

Где тогда взять up и down скрипты для mpd? Не нашёл что-то :( В документации с версии 4.3 появились упоминания MPD4 и пропали строки про up и down скрипты и в примере конфига они закомментировались.

Автор:  snark [ 27 фев 2009, 16:56 ]
Заголовок сообщения: 

Nik писал(а):
Где тогда взять up и down скрипты для mpd?

самому написать ... Вам они вообще для чего нужны?

Автор:  Nik [ 27 фев 2009, 18:43 ]
Заголовок сообщения: 

В passtest.sh, который сейчас лежит на ftp, присутствуют такие строки:

Код:
else
        echo "$2"
        echo "string"
        for i in $($ls -1 $rundir/); do
                if [ "x$i" = "xng${2##*.}" ] ; then
                        login=$($cut -f 1 -d ' ' < $rundir/$i)
                        break
                fi
        done
        if [ -z "$login" ]; then
                echo "-"
        else
                echo $login
        fi
fi


а они пользуются тем, что создавали up скрипты.

Да и что они должны создавать-то? В документации к 4.5 нету ничего про них.

Автор:  Администратор [ 03 мар 2009, 19:18 ]
Заголовок сообщения: 

Если у NAS а поставить вендора MPD, то на Update пакета радиуса может передавать атрибут mpd-drop-user, если нужно. И SNMP не нужен вообще.

Автор:  snark [ 03 мар 2009, 19:24 ]
Заголовок сообщения: 

Администратор писал(а):
Если у NAS а поставить вендора MPD, то на Update пакета радиуса может передавать атрибут mpd-drop-user, если нужно. И SNMP не нужен вообще.

с этого места, пожалуйста, поподробнее :) т.е. при получении update пакета БГБ сам пошлет mpd-drop-user, а SNMP в общем то юзается только для ручного сброса?

Автор:  Nik [ 04 мар 2009, 12:54 ]
Заголовок сообщения: 

Администратор писал(а):
Если у NAS а поставить вендора MPD, то на Update пакета радиуса может передавать атрибут mpd-drop-user, если нужно. И SNMP не нужен вообще.

Понятно, спасибо.

ps Для пятого MPD можно словать расширить чтобы в логе радиуса небыло строк UNDEF :)

Автор:  Администратор [ 05 мар 2009, 14:14 ]
Заголовок сообщения: 

Цитата:
с этого места, пожалуйста, поподробнее Smile т.е. при получении update пакета БГБ сам пошлет mpd-drop-user, а SNMP в общем то юзается только для ручного сброса?

Да. Для 5го МПД словарь наверное в 4.6 добавим. Там хотим еще сбор трафика сделать по типам (лок./внешний.) с нескольких атрибутов MPD.

Автор:  snark [ 05 мар 2009, 15:38 ]
Заголовок сообщения: 

Администратор писал(а):
Цитата:
с этого места, пожалуйста, поподробнее Smile т.е. при получении update пакета БГБ сам пошлет mpd-drop-user, а SNMP в общем то юзается только для ручного сброса?
Да.

супер! :)

Администратор писал(а):
Для 5го МПД словарь наверное в 4.6 добавим.

а что мешает в 4.5 поправить словарик на предмет:
Код:
<vendor name="MPD" code="12341">
    <attribute add="no" name="mpd-rule" code="1" type="string" />
    <attribute add="no" name="mpd-pipe" code="2" type="string" />
    <attribute add="no" name="mpd-queue" code="3" type="string" />
    <attribute add="no" name="mpd-table" code="4" type="string" />
    <attribute add="no" name="mpd-table-static" code="5" type="string" />
    <attribute add="no" name="mpd-filter" code="6" type="string" />
    <attribute add="no" name="mpd-limit" code="7" type="string" />
    <attribute add="no" name="mpd-input-octets" code="8" type="string" />
    <attribute add="no" name="mpd-input-packets" code="9" type="string" />
    <attribute add="no" name="mpd-output-octets" code="10" type="string" />
    <attribute add="no" name="mpd-output-packets" code="11" type="string" />
    <attribute add="no" name="mpd-link" code="12" type="string" />
    <attribute add="no" name="mpd-bundle" code="13" type="string" />
    <attribute add="no" name="mpd-iface" code="14" type="string" />
    <attribute add="no" name="mpd-iface-index" code="15" type="integer" />
    <attribute add="no" name="mpd-input-acct" code="16" type="string" />
    <attribute add="no" name="mpd-output-acct" code="17" type="string" />
    <attribute add="no" name="mpd-drop-user" code="154" type="integer" />
</vendor>

Вы еще поддержку мироштыка туда (в словарик) грозились вставить ;)

Администратор писал(а):
Там хотим еще сбор трафика сделать по типам (лок./внешний.) с нескольких атрибутов MPD.

а потом прибегут цисководы и попросят прикрутить это к ISG ;)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/