Часто требуется проверять канал на работоспособность

скрипт работает через cron у меня проверяется каждые 20 минут
необходим bash

#!/usr/local/bin/bash
pings="0";
a=5;
pings=`/sbin/ping -c $a 8.8.8.8 | grep -c "ttl"`
if [ "$pings" = "$a" ]; then
echo "OK" >> /var/log/ppp_restart.log
else

/bin/kill -9 `cat /var/run/tun0.pid`
/sbin/ifconfig tun0 destroy

sleep 5

/usr/sbin/ppp -quiet -ddial -nat INSATCOM
# INSATCOM название провайдера в /etc/ppp/ppp.conf

date >> /var/log/ppp_restart.log
fi

############################################################
записи в rc.conf

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="INSATCOM"

##/etc/ppp/ppp.conf
Конфигурация ppp.conf
#######################
default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0

INSATCOM:
set device PPPoE:rl0
# rl0 имя сетевого интерфейса думаю понятно
set authname ***login_name***
set authkey ****pass****
set dial
set login
add default HISADDR
set redial 0 0
set timeout 0

nat enable yes
# nat port tcp 192.168.0.1:80 80
nat port tcp 172.22.7.1:22 24
# nat port tcp 192.168.1.132:443 443

# nat port tcp 192.168.1.12:1723 1723

nat log yes
nat same_ports yes
nat unregistered_only yes
enable dns

Итоги работы скрипта выводятся в /var/log/ppp_restart.log

Добавить комментарий

Защитный код
Обновить