Не очень мне понравилось, что ppp0 при включении сервера поднимается не всегда. Последствия разрывов тоже представляются не очень то хорошими. На сколько я понял, для решения проблемы нужен скрипт, который будет пинать xl2tpd в случае, когда тот повиснет мертвым грузом. На просторах интернета был найден следующий вариант:
#!/usr/bin/perl -w
use File::Copy;
use Net::Ping;
use POSIX ();
my $date = POSIX::strftime('%y.%m.%d %H.%M.%S', localtime);
my $pidfile = «/var/run/xl2tpd.pid»;
my $log = «/var/log/ping.log»;
my $size = (-s $log);
my $max = «1024»;
open (FH1, «>> $log»);
my $ip = '8.8.8.8';
my $p = Net::Ping->new( «icmp», 5, 64 );
if ( $p->ping($ip) ) {
} else {
if( -e($pidfile) && -T _)
{
system (`/etc/init.d/xl2tpd restart`);
print FH1 «$date ping NO L2TP restart», «\n»;
}
else
{
system (`/etc/init.d/xl2tpd start`);
print FH1 «$date ping NO L2TP start», «\n»;
}
}
close (FH1);
Может быть есть и лучше - не знаю, предложите другие. А пока этот отправился в nano /etc/init.d/check-inet Получил права на выполнение chmod +x /etc/init.d/check-inet И его адрес был записан мною в nano /etc/rc.local /etc/init.d/check-inet перед строчкой exit 0
Но на сколько я понял, /etc/rc.local одноразово выполнит скрипт при загрузке системы. Хотел бы непрерывный ход проверки, пускай интернет поднимается сам, что бы ни случилось. Cron раз в минуту выполнит - не чаще? Ожидать после разрыва столько - не то хотелось бы.