Построил я на днях ещё один шлюз на баз Intel Atoma 230 и FreeBSD 8.0 и стала задача мне подключить пользователя к интернету по VPN и передергивать его в случае обрыва.

Что самое характерное для этого скрипта — это то что он передергивает соединение, если повис интернет и при этом записывает в лог время и дату, когда это происходило. То есть, таким образом мы сможем потом проследить частоту обрывов и стабильность соединения, а если есть необходимость, то и предоставить лог провайдеру ;).

А вот он и сам собственно говоря скрипт:

#!/bin/sh
###reconect_and_loging_script
 
if ping -c 2 ya.ru > /dev/null 
then
exit 0
else
echo 'killing pptp' >> /var/log/reconnect.log
/bin/date >> /var/log/reconnect.log
killall -9 ppp;
killall -9 pptp;
sleep 3
 
ps_pid=`ps ax | grep "ppp -ddial" | awk '{print $1}'`
cat_pid=`cat /var/run/ppp.pid`
 
    if [ "$ps_pid" = "$cat_pid" ]
     then
	killall -9 ppp
	killall -9 pptp
	sleep 3
	rm /var/run/ppp.pid
        echo 'stoped pptp' >> /var/log/reconnect.log
     else
	if [ "$ps_pid" = "" ]; then
	    ppp -ddial pptp_server
	    sleep 3
	    ps ax | grep "ppp -ddial" | awk '{print $1}' > /var/run/ppp.pid
            echo 'started pptp' >> /var/log/reconnect.log
	else
	    killall -9 ppp
	    killall -9 pptp
	fi
    fi
fi

Ставим его в cron на исполнение 1 раз в одну или две минуты, как вам нравится.

Вот и всё, делов то 🙂

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/1447


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

Please note: JavaScript is required to post comments.