Скрипт восстановления связи при разрыве соединения PPPoE
Модемы на моих серверах соединены по типу bridge. К сожалению это повлекло за собой определенные проблемы, касающиеся разрыва связи. По идее соединение должно восстанавливаться само, но при длительных разрывах это не происходит. Поэтому пришлось создать скрипт и поставить его в крон.
Судя по логам скрипт отрабатывает свою задачу как надо. Но есть и непонятные пока вещи, к примеру, иногда связь пропадает полностью. Причем перезагрузка модема и новый запуск данного скрипта связь не восстанавливает, помогает только перезагрузка ПК целиком.
Скрипт расположен по адресу: /usr/home/user/scripts/ppp-restart
ppp-restart
#!/bin/sh -xv
pings=`/sbin/ping -c 3 213.135.97.131 | grep -c «64 bytes»`
if [ $pings -gt 0 ]
then
:
else
/usr/bin/killall ppp
kill -9 `cat /var/run/tun0.pid`
sleep 5
/usr/sbin/ppp -ddial vtc
DATE=`date ‘+%Y-%m-%d %H:%M:%S’`
PPP_RESTART_LOG=/var/log/ppp_restart.log
echo ${DATE} «[ERROR] Not request from 213.135.97.131» >> $PPP_RESTART_LOG
fi
Задание для крона:
*/1 * * * * /bin/sh /usr/home/user/scripts/ppp-restart
ppp.conf
default:
set device PPPoE:re0:vtc
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
set timeout 0 # 3 minute idle timer (the default)
set redial 0 0
enable lqr
set lqrperiod 5
vtc:
set authname мой_логин
set authkey мой_пароль
add default HISADDR