Перейти к содержимому
Калькуляторы

MPD: ручное гашение сессии

Гость

Если надо отключить юзера убираем строчку из mpd.secret, но при это м он остается висеть до следующего выхода/входа. А как его сразу выкинуть??? Кроме фаирвольного способа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если надо отключить юзера убираем строчку из mpd.secret, но при это м он остается висеть до следующего выхода/входа. А как его сразу выкинуть??? Кроме фаирвольного способа.

 

эм... рецептов не знаю, но может покопать в сторону ngctl?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А еще у mpd можно за консоль телнетом зацепиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость

ifconfig down ведёт себя странно - клиент вроде отваливается, но сессия mpd остаётся живой (наверное потому, что это не он делал ifx down)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Остается не сессия, а созданный интерфейс. Их будет создано столько, сколько было максимальное количество подключений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меня этот вопрос очень интересует!!!

Дело в том, что ifconfig ХХХ down не помогает...вернее помогает но не так...

Пользователь остается висеть...

И Ему не понятно - куда же все делось, подключение есть а Инета - тю-тю...

А Мне нужно, что бы Он соскакивал...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот что Я откопал, но нифига не понятно :( :

FreeBSD mpd

Здесь для управления NAS'ом используется консоль mpd, поэтому запускать mpd следует с дополнительными ключами: -a MHOST -c MPORT, где MHOST и MPORT нужно заменить на прослушиваемые ip и порт соответсвенно.

Скрипт прерывания сессии:

#!/usr/local/bin/bash

MHOST=127.0.0.1  # mpd host

MPORT=5555       # mpd telnet port

IP="$3";

 

test -z "$IP" && exit 1

for bundle in `echo "bundle" | /usr/bin/nc $MHOST $MPORT | grep Opened | awk '{print $1}'`;

do

if echo -e "bundle $bundlenshow iface" | /usr/bin/nc $MHOST $MPORT | grep "${IP}$" >/dev/null 2>&1

then

echo -e "bundle $bundlenclose phys" | /usr/bin/nc $MHOST $MPORT >/dev/null 2>&1

fi

done;

exit 0;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая именно сторка вызывает непонимание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая именно сторка вызывает непонимание?

Дык Я не вижу как сесия закрывается и какая?

Каките параметры надо передовать...

 

Можно ли обьяснить как работает скрипт - ну чисто теоретически - там происходит то, потом то и то...

 

ЗЫ: Не судите строго - Я с bash,php,Pascal только знаком ;)[/b]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая именно сторка вызывает непонимание?

Дык Я не вижу как сесия закрывается и какая?

Каките параметры надо передовать...

 

Можно ли обьяснить как работает скрипт - ну чисто теоретически - там происходит то, потом то и то...

 

ЗЫ: Не судите строго - Я с bash,php,Pascal только знаком ;)[/b]

http://www.opennet.ru/openforum/vsluhforum...1/66043.html#11

я дал подсказку.

Если будет оригинальный подход, отличный от моего, маякни ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эм...

Никак не могу сделать отключение...

Помогите !!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если надо отключить юзера убираем строчку из mpd.secret, но при это м он остается висеть до следующего выхода/входа. А как его сразу выкинуть??? Кроме фаирвольного способа.

Есть довольно интересное решение, но оно достаточно трудоемкое.(предупреждаю сразу)

1. Тебе надо поднять связку MPD+RADIUS(например FreeRadius)

2. Пропатчить MPD как написано здесь

ftp://ftp.ufanet.ru/pub/boco/mpd/README.drop-user.rus

3, После этого у тебя MPD станет понимать 154(DROP USER) аттрибут, останеться реализовать отсылку этого аттрибута MPD по твоему желанию.:)

Механизм проверен - сессия завершается нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ХМ...

1 и 2 выполнено!!!

 

3, После этого у тебя MPD станет понимать 154(DROP USER) аттрибут, останеться реализовать отсылку этого аттрибута MPD по твоему желанию.:)

Механизм проверен - сессия завершается нормально.

И как это происходит???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вернее как ты отсылаешь это сообщение? и так, что бы определёного пользователя топить(отключать)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://www.lanbilling.ru/doc/1.8/drop_sessions.html - вот здесь толковая статья про эту проблему - только что проверил на тестовом сервере - рабочая вполне идея, и я бы все-таки рекомедовал настроить связку Radius + mpd + Ваш биллинг - это будет наиболее правильно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вернее как ты отсылаешь это сообщение? и так, что бы определёного пользователя топить(отключать)?

За меня уже ответили постом выше.:) Как говориться - No comments.

Конечно с биллинга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.