Нужно написать скрипт, который следил бы за состоянием коннекта VPN (ppp0) и в случае его падения автоматически поднимал его ...
Причем наличие по ifconfig тунеля ppp0 не означает, что работает VPN, т.е бывают случаи когда он у прова падает, но ppp0 остается висеть ...
VPN запускается одним файлом, в котором все прописанно, понятно что нужно зделать killall pptp и start vpn, но как проследить есть ли коннект и все это оформить в скрипт.
Если кто делал такое, подскажите или ткните где почитать.
Slackware 10.0
pptp_client
ppp
>Нужно написать скрипт, который следил бы за состоянием коннекта VPN (ppp0) и
>в случае его падения автоматически поднимал его ...
>Причем наличие по ifconfig тунеля ppp0 не означает, что работает VPN, т.е
>бывают случаи когда он у прова падает, но ppp0 остается висеть
>...
>VPN запускается одним файлом, в котором все прописанно, понятно что нужно зделать
>killall pptp и start vpn, но как проследить есть ли коннект
>и все это оформить в скрипт.
>Если кто делал такое, подскажите или ткните где почитать.
>Slackware 10.0
>pptp_client
>pppзависшая сессия провавайдера, насколько я понимаю...
мне кажется, что если тунель есть, то проверить иначе, чем установлением соединения по этому тунелю низя. Я бы периодически, для проверки, пинговал что нить, например DNS-сервер провайдера.
Да правильно понимаете...
Ваша мысль понятна, но только при зависании сессии - DNS может спокойно пинговаться...(проверенно)Пров у нас такой ..%)))
Тогда уж тупо ping www.ru.ru делать, т.е. проверять ходят ли пакеты в мир - если не ходят то killall pptp и start vpn, а если ходят, то все ОК.
Но тут вопрос, постоянный пинг сети, не вызовет ли лишней нагрузки на тунель ?
И как всетаки это в скрипт оформить ?
>Да правильно понимаете...
>Ваша мысль понятна, но только при зависании сессии - DNS может спокойно
>пинговаться...(проверенно)Пров у нас такой ..%)))
>Тогда уж тупо ping www.ru.ru делать, т.е. проверять ходят ли пакеты в
>мир - если не ходят то killall pptp и start vpn,
>а если ходят, то все ОК.
>Но тут вопрос, постоянный пинг сети, не вызовет ли лишней нагрузки на
>тунель ?
>И как всетаки это в скрипт оформить ?
Например так:===============================================================================
#! /bin/bash
ping www.t-online.de | ping www.t-online.de | ping www.t-online.de |res=`ping www.t-online.de -c 1 -q -W 2 -w 2 | grep '1 packets transmitted, 1 received, 0% packet loss' | wc -l`
#echo ">>> $res"
if [ "$res" -eq "1" ]
then echo OK
else /etc/init.d/ipsec restart
fi
===============================================================================В crontab запиши это :
-*/2 * * * * root /usr/sbin/testconnect.sh >/dev/null 2>&1
У меня VPN работает на FreeS/WAN
или /etc/init.d/network restart
Подкорректируй как тебе надо....
А как насчет скриптов ip-up, ip-down?
# man pppd
>>И как всетаки это в скрипт оформить ?
>
>
>Например так:
>
Еще проще - утилита fping возвращает 0 при удачном пинге и не 0 в других случаях... там можно неплохой разбор сделать
>Тогда уж тупо ping www.ru.ru делать, т.е. проверять ходят ли пакеты в
>мир - если не ходят то killall pptp и start vpn,
>а если ходят, то все ОК.
я думаю, роутер надо пинговать, другой конец pptp-линии...