Не очень мне понравилось, что 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 раз в минуту выполнит - не чаще? Ожидать после разрыва столько - не то хотелось бы.