а как этот функцианал приминить? куда и что нужн опрописать для реализации?eddy_mut писал(а):С радостью сообщаю: в новой версии MPD 4.1 наконец-то оффициально добавлен нормальный "прямой" механизм мониторинга и закрытия активных сессий через telnet.
Принцип убивания сессии таков:
1. Входим через телнет в консоль mpd. (как настраивается телнет консоль описано в документации, возможно запароливание консоли)
2. Выполняем команду bundle <имя порта> (имя порта можно получать анализируя старт, алив или стоп радиус-пакеты, или зайдя в консоль mpd и выполнив команду show summary - выдается красивый список активных сессий с кучей полезной информации).
3. Выполняем команду close. Порт закрывается, а радиус серверу отсылается корректный стоп-пакет с причиной закрытия Admin-Close (или что-то подобное).
Подведем итоги: закрытие порта происходит двумя командами, выбор порта и закрытие. При этом биллинг получит корректную информацию о закрытии сессии.
Механизм прерывания активных vpn сессий
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
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;
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;
это еще для чего???dalex писал(а):кроме этого еще срипт нао поправить чтобы он переменную UIP забирал из ком строкиесли я правильно понял то, для использования данного скрипта
в настройки правила файрвола UTM
должна быть прописа следующая строка:
/путь_к_файлу_скрипта/название_скрипта.sh UIP
бедь IP адрес выбает сам билинг из пула, или тот что ты руками прописываешь
РАБОТАЕТ! спасибо!!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"
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
рано обрадовался!!!
сам скрипт проверил, работает!
но вот засада, когда прописал в настройки/правило файрвол
/usr/local/netup/mpd-stop.sh UIP
он пытается выпольнить IPFW
о чем блогополучно чилаю в логах rfw5.log
а как его прописать в билинге???
что бы билинг вызывал этот скрипт, а не IPFW
rfw5.cfg
сам скрипт проверил, работает!
но вот засада, когда прописал в настройки/правило файрвол
/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
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23