Построил я на днях ещё один шлюз на баз 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/?p=1447


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

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

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

Add your comment now

You must be logged in to post a comment.