Восстановление VPN при падении

Автор: Mikki Дата: 21.12.2003 19:03 Подскажите, как сделать автоматическое переподключение pptp-клиента?
Ситуация такая: Имеется сервер на ASPLinux9, у него есть выход в интернет через VPN, бывает, связь рвётся и приходится лезть и вручную подключать.
Можно ли это как-нить автоматизировать: упал VPN - подключается заного сам?

СПАСИБО!
Re: Восстановление VPN при падении 22.12.2003 10:30Маховец мысль в голову приходит такая: ежеминутно из кронтаба запускается скриптик, проверяющий наличие сети (или читает вывод ifconfig, или какой-нибудь пинг), и если сети не видать, то включить. По крайней мере у меня это работает.
Re: Восстановление VPN при падении 22.12.2003 10:35Mikki Скинь плиз его на емайл!
Re: Восстановление VPN при падении 22.12.2003 11:54Маховец это очень простой скриптик

---
#!/bin/bash

var=0

for i in `ifconfig | grep ppp0`;do
let "var=var+1"
done

if [ var = 0 ]; then
ifup pptp0
fi

exit 0
---
Только надо ещё в crontab записать что-то вроде
---
* * * * * sh /path/to/script/ppp0check.sh
---
Я уже послала его тебе на емаил, но вот решила, что может тут найдутся более опытные товарищи, которые смогут надо мной жестоко посмеяться, упрекнуть в глупости и незнании, и предложить более удачный скрипт.
Re: Восстановление VPN при падении 22.12.2003 12:13ace Зачем так сложно?
# cat /usr/local/sbin/ppp-vpn
#!/bin/sh


while true; do
/usr/sbin/pppd call tunnel nodetach
sleep 10
done

#cat /etc/ppp/peers/tunnel
pty "/usr/sbin/pptp ${VPN_SERVER} --nolaunchpppd"
Re: Восстановление VPN при падении 22.12.2003 19:43Mikki Спасибо "Маховец" за скриптик, я его переработал - получилась очень удобно, даже с логами:-)

Кому нужен - пишите.
Re: Восстановление VPN при падении 22.12.2003 20:20Маховец Mikki писал(а):

> Спасибо "Маховец" за скриптик, я его переработал - получилась
> очень удобно, даже с логами:-)
>
> Кому нужен - пишите.
>

Мне нужен.
Re: Восстановление VPN при падении 23.12.2003 21:19Vlad А можно и мне скриптик на мыло скинуть,
если не трудно.
Re: Восстановление VPN при падении 23.12.2003 21:49Маховец Микки, а почему бы не выложить его здесь?
Пусть будет общедоступен.

Лицензируй его под GPL Улыбка))
Re: Восстановление VPN при падении 24.12.2003 10:28Mikki #!/bin/bash
while true ;do
echo '------------'`date "+%H:%M, %A, %d %B"`'-------------';
var=0
for i in `ifconfig | grep ppp0`;do
#echo $i;
let "var=var+1"
#echo $var;
done

for i in `ifconfig | grep ppp1`;do
#echo $i;
let "var=var+1"
#echo $var;
done
#echo $var;

if [ $var = 8 ]; then
echo 'All Internet [ WORKING ]';
fi
if [ $var = 4 ]; then
var2=0
for i in `ping 123.456.789.1 -w 2 | grep -e from`;do
#echo $i;
let "var2=var2+1"
#echo $var2;
done
echo 'External Internet not connected [ STARTING ]';
#pptp-command stop; pptp-command start Tunnel1;
if [ $var2 != 0 ]; then
pptp-command start Tunnel2;
echo 'External Internet [ STARTED ]';
else
echo 'External internet can not start, because no connection with Tunnel2';
fi
fi

if [ $var = 0 ]; then
echo 'Internet not connected [ STARTING ]';
pptp-command start Tunnel1;
var2=0
for i in `ping 123.456.789.1 -w 2 | grep -e from`;do
#echo $i;
let "var2=var2+1"
#echo $var2;
done
if [ $var2 != 0 ]; then
pptp-command start Tunnel2;
echo 'Internet [ STARTED ]';
else
echo 'External internet can not start, because no connection with Tunnel2';
echo 'Internet [ STARTED ]';
fi
fi

sleep 300; done
Re: Восстановление VPN при падении 24.12.2003 10:47Mikki 1) Скрипт расчитан на использование двух ВПН-тунелей. Tunnel2 подключается через Tunnel1, следовательно, через Tunnel1 разрешён доступ только к ВПН-серверу для Tunnnel2
2) Оба tunnelя настраиваются предварительно через pptp-command
3) 123.456.789.1 - необходимо заменить на ИП-адрес VPN-сервера для Tunnel2

Если что-пишите в ICQ или на E-Mail.....чем смогу - помогу..
Re: Восстановление VPN при падении 24.12.2003 11:07ace Да, нехилый скриптик получился....
А нельзя просто запускать pppd в цикле, как я предлагал?
Re: Восстановление VPN при падении 24.12.2003 18:34Mikki Заоодно поизучал скриптики
Re: Восстановление VPN при падении 25.12.2003 13:04Flexos Вопрос такого характера.
Есть радиоинтернет, карточка Cisco настроена как eth2. При поднятии создается соединение ppp0, но если допустим мы ppp0 опускаем? командой ifconfig ppp0 down, то при новом подключении создается ppp1, потом ppp2 ну и так далее. Вроде говорят что какой то демон мешается.
Может кто встречался с этим, подскажите.
Re: Восстановление VPN при падении 21.02.2004 01:23muchacho Чёто этот скриптик работает только когда ручками его выполняешь....а когда через cron не хочет....
Re: Восстановление VPN при падении 21.02.2004 21:48Zebar Я одного не понимаю
Идем в /etc/sysconfig/network-scripts
Открываем файл ifcfg-pptp0
Пишем там PERSIST="yes"
Это обозначает, что при разрыве связи переподключаться.
И никакие скрипты не нужны.
Или я не прав.
И такой вопрос: вот в крон запихнут ваш скриптик, а если интернет поднимать не надо всегда, как быть?
Re: Восстановление VPN при падении 22.02.2004 16:13Flexos я использую скриптик:
он действует так (проверяет есть ли интерфейс подключения ppp0, если его нет, то он убивает все зависящие от него процессы и запускает заново, т.к. если он не убьет те процессы то подключение создатся ppp1 то о чем я писал выше)
#/bin/bash
# Script for
PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin
iface=ppp0

if grep $iface /proc/net/dev >/dev/null 2>&1; then
exit 0;
else
echo `date` pptp was killed >>/var/log/killed_pptp.log
killall pptp
fi
____
ifup pptp0 - это надо если у тебя автоматом не поднимается
RSS-материал