Как перезапустить PPPoE на FreeBSD?

После того, как Укртелеком ввел новые тарифы на ADSL и до 24 Мбіт/с дома – это уже реальность, начал я думать какой-то скрипт для перезапуска PPPoE соединения. Моя линия смогла выдержать соединение на 17 Мбіт/с, но соединение на FreeBSD стало регулярно 1 раз в сутки зависать.

И так, на Perl написал скрипт, который пингует Яндекс (у Вас должен быть установлен perl модуль p5-Net-Ping) и если пинг не проходит, перезапускаем соединение. События логируем в /var/log/ppp.log для анализа. А вот и сам скрипт, который нужно прописать в crontab:

#!/usr/bin/perl

use Net::Ping;

$yandex="ya.ru";

sub ping_server
{
$host_alive=1;
$ping=Net::Ping->new('icmp');
if( $ping->ping($_[0]) ) { $host_alive=1;}
 else  {$host_alive=0;}
return $host_alive;
}

if(!ping_server($yandex))
    {
    # Kill ppp
    system("killall -9 ppp");
    system("sleep 2");
    # Start PPPoE ADSL connection
    system("/usr/sbin/ppp -quiet -ddial -nat ukrtelecom");
    # Log messages
    system("echo `date` PPP restarted by timeout... >> /var/log/ppp.log");
    }
else {
    # Log messages
    system("echo `date` PPP works ok! >> /var/log/ppp.log");
}

exit;

8 Comments on "Как перезапустить PPPoE на FreeBSD?"


  1. Взяв ОГО Ультра (реальна швидкість 19 Мб\с). Знайомий з укртелекома каже, що у них це не глюк а “фіча” )) 1 раз на добу автоматично кладуть зєднання (переважно з 00.00 до 2.00) це повязано з білінгом і статистикою. Не знаю яким таким чином воно повязано, але у мене буває теж автоматично не піднімається зєднання після цього, хоча зєднуєтьтся не Фря а АДСЛ модем в режимі роутера. Також буває таке, що просто пропадає інтернет, а зєднання працює. Служба підтримки розвиодить руками.
    Виявилося, що дуже сильно грівся модем Зіксель, після мого невеликого модінгу (зняття кришки, установки мідного радіатора і куллера) став працювати стабільніше.
    Це все я веду до того, що скріпт – це чудово, але проблему треба вирішувати в сторону стабільності зєднання, я працюю в великій організації і ці постійні проблеми з падінням інтернету, мене дуже діставали.


  2. 1 раз на добу автоматично кладуть зєднання

    це робить кожен провайдер. така вже технологія ADSL, простіше просто перегружати порт регулярно, щоб не отримати зависання

    хоча зєднуєтьтся не Фря а АДСЛ модем в режимі роутера

    раніше теж так було, тому й вирішив перевести у брідж та завершити усе на сервері. А тут я вже можу контролювати лінк і перевантажувати його.

    Це все я веду до того, що скріпт – це чудово, але проблему треба вирішувати в сторону стабільності зєднання, я працюю в великій організації і ці постійні проблеми з падінням інтернету, мене дуже діставали.

    1. поставити сервер і перевіряти лінк на його стороні
    2. взяти нормальний інтернет, а не ADSL
    У мене цей сервак з ADSL дома стоїть – це нормально! А на роботі використовуємо або SHDSL, або оптику – ДУЖЕ стабільно працює! 😉


  3. Здравствуйте, Vitaly Kovalyshyn! Скажите, а можно посмотреть на Ваш ppp.conf? Заранее благодарен!


  4. Добрый день! Еще у меня есть одна просьба: Посмотреть хочется Ваш rc.conf


  5. Дело в том, что я не пойму в разное время, 1-н раз в сутки происходит обрыв связи и соединение не поднимается! Если я правильно понял, этот скрипт, что Вы написали, нужно поместить в /etc/crontab – правильно? , и в логах (system(“echo `date` PPP works ok! >> /var/log/ppp.log”; ), должна быть запись – PPP works ok! , но у меня ничего похожего нет! Подскажие, может я че не так делаю? Заранее благодарен!


  6. # PPPoE
    ppp_enable=”YES”
    ppp_mode=”ddial”
    ppp_nat=”YES” # if you want to enable nat for your local network, otherwise NO
    ppp_profile=”ukrtelecom”

Leave a Reply

Your email address will not be published. Required fields are marked *