Механизм прерывания активных vpn сессий

Технические вопросы по UTM 5.0
lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

eddy_mut писал(а):С радостью сообщаю: в новой версии MPD 4.1 наконец-то оффициально добавлен нормальный "прямой" механизм мониторинга и закрытия активных сессий через telnet.

Принцип убивания сессии таков:

1. Входим через телнет в консоль mpd. (как настраивается телнет консоль описано в документации, возможно запароливание консоли)
2. Выполняем команду bundle <имя порта> (имя порта можно получать анализируя старт, алив или стоп радиус-пакеты, или зайдя в консоль mpd и выполнив команду show summary - выдается красивый список активных сессий с кучей полезной информации).
3. Выполняем команду close. Порт закрывается, а радиус серверу отсылается корректный стоп-пакет с причиной закрытия Admin-Close (или что-то подобное).

Подведем итоги: закрытие порта происходит двумя командами, выбор порта и закрытие. При этом биллинг получит корректную информацию о закрытии сессии.
а как этот функцианал приминить? куда и что нужн опрописать для реализации?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

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

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

mikkey finn писал(а):как обычно, написать на любимом скриптовом языке скрипт, который будет получать адрес пользователя, цепляться на консоль MPD, искать бандл, в котором пользователь сидит с этим адресом, закрывать бандл, уходить с консоли MPD.
а готовый имеется?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

как обычно, не имеется. Позиция разработчиков - "мы за вас свою работу делать не будем ©"

weris
Сообщения: 240
Зарегистрирован: Пт окт 27, 2006 14:58
Откуда: Томск
Контактная информация:

Сообщение weris »

http://www.opennet.ru/base/cisco/nas_dr ... s.txt.html

2.3 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 $bundle\\nshow iface" | /usr/bin/nc $MHOST $MPORT | grep "${IP}$" >/dev/null 2>&1
then
echo -e "bundle $bundle\\nclose phys" | /usr/bin/nc $MHOST $MPORT >/dev/null 2>&1
fi
done;
exit 0;

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

если я правильно понял то, для использования данного скрипта
в настройки правила файрвола UTM
должна быть прописа следующая строка:

/путь_к_файлу_скрипта/название_скрипта.sh UIP

проверить пока самому неполучается, система живая, буду пробовать ночью

Аватара пользователя
dalex
Сообщения: 1306
Зарегистрирован: Пт янв 21, 2005 11:54

Сообщение dalex »

если я правильно понял то, для использования данного скрипта
в настройки правила файрвола UTM
должна быть прописа следующая строка:

/путь_к_файлу_скрипта/название_скрипта.sh UIP
кроме этого еще срипт нао поправить чтобы он переменную UIP забирал из ком строки

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

dalex писал(а):
если я правильно понял то, для использования данного скрипта
в настройки правила файрвола UTM
должна быть прописа следующая строка:

/путь_к_файлу_скрипта/название_скрипта.sh UIP
кроме этого еще срипт нао поправить чтобы он переменную UIP забирал из ком строки
это еще для чего???
бедь IP адрес выбает сам билинг из пула, или тот что ты руками прописываешь

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

weris писал(а):http://www.opennet.ru/base/cisco/nas_dr ... s.txt.html

2.3 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 $bundle\\nshow iface" | /usr/bin/nc $MHOST $MPORT | grep "${IP}$" >/dev/null 2>&1
then
echo -e "bundle $bundle\\nclose phys" | /usr/bin/nc $MHOST $MPORT >/dev/null 2>&1
fi
done;
exit 0;
РАБОТАЕТ! спасибо!!

поправил только IP="$3" на IP="$1"

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

зависит от того, как прописано правило в фаерволе.

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

mikkey finn писал(а):зависит от того, как прописано правило в фаерволе.
верно
т.е. эта цифра означает, в каком месте по счету стоит ссылка на IP адрес

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

рано обрадовался!!!
сам скрипт проверил, работает!

но вот засада, когда прописал в настройки/правило файрвол
/usr/local/netup/mpd-stop.sh UIP

он пытается выпольнить IPFW
о чем блогополучно чилаю в логах rfw5.log

а как его прописать в билинге???
что бы билинг вызывал этот скрипт, а не IPFW

rfw5.cfg

Код: Выделить всё

rfw_name=127.0.0.1

#firewall_path=/usr/sbin/iptables
#firewall_flush_cmd=/usr/sbin/iptables -F

firewall_type=local

#sudo_path=/usr/bin/sudo

log_level=10

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

firewall_path прописать путь к скрипту. В правилах UIP и все. Примерно так. А вообще на форуме уже были темы, где подробно объяснялось, как в качестве правила фаервола выполнять скрипты.

weris
Сообщения: 240
Зарегистрирован: Пт окт 27, 2006 14:58
Откуда: Томск
Контактная информация:

Сообщение weris »


winger
Сообщения: 10
Зарегистрирован: Вт апр 24, 2007 21:18

Сообщение winger »

А как передать username и password этим скриптом, ведь mpd их просит приконнекте? mpd 4.1 Вообще очень нужен данный скрипт для mpd4.1 ОЧЕНЬ!!!

Ответить