Проблема со скриптом для прерывания vpn сессии

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
deepfritz
проходил мимо
Сообщения: 6
Зарегистрирован: 2009-10-26 18:43:05

Проблема со скриптом для прерывания vpn сессии

Непрочитанное сообщение deepfritz » 2010-01-07 11:01:31

Рябята помогите, хотел у себя организовать автоматическое прерывание vpn сессий по выше указаному скрипту, но вот незадача когда я его запускаю в логах пишется вот такая хрень:
mpd.log:
Jan 7 12:56:27 server mpd: CONSOLE: Connect
Jan 7 12:56:27 server mpd: CONSOLE: Allocated new console session 0x2862c008 from 192.168.110.245
Jan 7 12:56:27 server mpd: CONSOLE: Failed login attempt from 192.168.110.245
Jan 7 12:56:27 server mpd: CONSOLE: Connection closed by peer
с vpn сессией ничего неслучилось
настраиваю на freebsd7.2 utm5 сборка 006 mpd 5.3
mpd.conf:
<------>#configure mpd users
<------>set user
<------># configure the console
<------>set console self 192.168.110.245 5005
<------>set console open
<------>#configure the web server
<------>set web self 0.0.0.0 5006
<------>set web open
<------>set netflow peer 127.0.0.1 9996
#<----->set netflow self 127.0.0.1 9990
<------>set netflow timeouts 15 15
#<----->set netflow hook 9000
default:
<------>load pptp_server

pptp_server:

# Define dynamic IP address pool.
#<----->set ippool add pool1 192.168.110.1 192.168.110.255

# Create clonable bundle template named B
<------>create bundle template B
<------>set iface enable proxy-arp
<------>set iface enable netflow-in
<------>set iface enable netflow-out
<------>set iface idle 1800
<------>set iface enable tcpmssfix
<------>set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
<------>set ipcp ranges 192.168.110.245/32 0.0.0.0/0
<------>set ipcp dns 81.222.112.24
#<----->set ipcp nbns 192.168.1.4
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc( 8 ) netgraph node type.
<------>set bundle enable compression
<------>set ccp yes mppc
<------>set mppc yes e40
<------>set mppc yes e128
<------>set mppc yes stateless
# Set bundle template to use
<------>create link template L pptp
<------>set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
<------>set link enable multilink
<------>set link yes acfcomp protocomp
<------>set link no pap chap
<------>set link enable chap
# We can use use RADIUS authentication/accounting by including
# another config section with label 'radius'.
<------>load radius
<------>set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation.
<------>set link mtu 1460
<------>set pptp self 192.168.110.245
<------>set pptp disable windowing
<------>set pptp enable always-ack
Allow to accept calls
set link enable incoming

radius:
# You can use radius.conf(5), its useful, because you can share the
# same config with userland-ppp and other apps.
<------>set radius config /usr/local/etc/mpd5/radius.conf
# or specify the server directly here
<------>set radius server 127.0.0.1 1812 1813
<------>set radius retries 3
<------>set radius timeout 3
# send the given IP in the RAD_NAS_IP_ADDRESS attribute to the server.
<------>set radius me 127.0.0.1
# send accounting updates every 5 minutes
<------>set auth acct-update 300
# enable RADIUS, and fallback to mpd.secret, if RADIUS auth failed
<------>set auth enable radius-auth
# enable RADIUS accounting
<------>set auth enable radius-acct
# protect our requests with the message-authenticator
#<----->set radius enable message-authent
Подскажите что я неправильно делаю?
мой скрипт
mpd.vpn_drop.sh:
#!/usr/local/bin/bash
MHOST="192.168.110.245" #host
MPORT=5005 # mpd telnet port
IP="$1";

test -z "$IP" && exit 1
bundle=`printf "admin[/b]\radmin\rshow session\r" | /usr/bin/nc $MHOST $MPORT | grep $IP | awk '{print $3}'`;
if [ "$bundle" != '' ] ; then
printf "admin\radmin\rbundle $bundle\rclose\r" | /usr/bin/nc $MHOST $MPORT 1> /dev/null
fi
exit 0

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: Проблема со скриптом для прерывания vpn сессии

Непрочитанное сообщение Soldier » 2010-01-23 22:44:06

сессия одна или несколько?
если одна - сделайте на pptp_client и потом

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

ifconfig tun0
и из всей писанины отсеить pid, поместить его в меременную и убить процесс.

с мпд - работаю, но такого не делал.
можно pf правильно настроить и потом удалять ip из таблицы в кроне.
Tux: "Kill Bill !!!"