Статьи и заметкиПерезапуск зависшего ppp соединения.Данная проблема встала передо мной после того, как у меня дома появился DSL интернет с подключением по протоколу PPPoE. Причём проявлялась она независимо от того, где поднимался PPPoE интерфейс - на модеме или на компьютере. Закономерности зависания я так и не выяснил, единственное, что удалось установить - соединение зависало после перезапуска оборудования на стороне провайдера. Все могло работать неделями, а могло зависать по несколько раз в сутки. Так как автоматизировать перезапуск PPPoE соединения на DSL модеме не получилось, я остановился на варианте, когда модем работал в режиме моста (bridge), а PPPoE соединение я настроил на компьютере с операционной системой FreeBSD.
Настройка PPPoE соединения. В файл /etc/rc.conf добавлены следующие строки: ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, other ppp_profile="provname" /etc/ppp/ppp.conf default: set log Phase Chat tun command provname: set device PPPoE:xl0 set authname login set authkey password set dial set login add default HISADDR Для перезапуска зависшего соединения я написал следующий скрипт: /usr/local/etc/scripts/restart_ppp.sh #!/bin/sh host='www.ru' # Имя хоста, который будет пинговаться для проверки соединения if /sbin/ping -c 5 -o $host # Пингуем хост пятью пакетами then echo 'ok' # Если получен ответ, говорим ОК else # иначе /usr/bin/logger Host $host not accessible, ppp will be restarted # Делаем запись в системный журнал /usr/bin/killall -KILL ppp # убиваем ppp соединение /bin/sleep 5 # выдерживаем паузу 5 секунд /usr/sbin/ppp -ddial -nat provname # Запускаем ppp соединение fi Этот скрипт я запускаю с помощью крона каждые две минуты. Сначала в этом же скрипте я отсылал SMS на свой мобильный телефон после перезагрузки соединения, но после нескольких сообщений среди ночи я эту функцию убрал. http://www.volna-soft.ru 13.04.2007 г. © 2007-2019 ООО "Волна-софт". |
||