The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"скрипт для поднятие подключения (интерфейса)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Dialup, PPP / Linux)
Изначальное сообщение [ Отслеживать ]

"скрипт для поднятие подключения (интерфейса)"  +/
Сообщение от dELiTe (ok) on 26-Фев-13, 14:14 
добрый день.
хочу совет получить, т.к. сам знаю мало
Нужен скрипт, общее описание:
1) проверяет наличие присутствия интрефейса ppp каждую минуту (на данный момент реализовано)
---------------------------------------------------------------
exec >> /var/log/adsl_debug 2>> /var/log/adsl_debug

if (!  /sbin/ifconfig ppp999); then
    /usr/bin/poff dsl-provider    
    sleep 5
    /usr/bin/pon dsl-provider

    echo `date` -- ADSL is down >> /var/log/adsl_down
fi
---------------------------------------------------------------
Скрипт работает.

2) Есть косяк с разрывом подключения , косяк скорее всего на стороне прова.

На дебиане следующий лог наблюдаю:
1) сначало рвется (незнаю почему)
Feb 26 06:16:13 gw-server pppd[21776]: LCP terminated by peer
Feb 26 06:16:13 gw-server pppd[21776]: Connect time 1440.1 minutes.
Feb 26 06:16:13 gw-server pppd[21776]: Sent 792166927 bytes, received 1160567468 bytes.
Feb 26 06:16:16 gw-server pppd[21776]: Connection terminated.
Feb 26 06:16:16 gw-server pppd[21776]: Modem hangup
Feb 26 06:17:01 gw-server pppd[21776]: Terminating on signal 15
Feb 26 06:17:01 gw-server pppd[21776]: Exit.
2) затем попытка подключения
Feb 26 06:17:12 gw-server pppd[14134]: Plugin rp-pppoe.so loaded.
Feb 26 06:17:12 gw-server pppd[14135]: pppd 2.4.4 started by root, uid 0
Feb 26 06:17:12 gw-server pppd[14135]: PADS: System-Error: AC: Cannot open PPPoE session.
Feb 26 06:17:12 gw-server pppd[14135]: Exit.
Feb 26 08:21:11 gw-server pppd[3981]: Plugin rp-pppoe.so loaded.
Feb 26 08:21:11 gw-server pppd[3982]: pppd 2.4.4 started by root, uid 0
Feb 26 08:21:46 gw-server pppd[3982]: Timeout waiting for PADO packets
Feb 26 08:21:46 gw-server pppd[3982]: Unable to complete PPPoE Discovery


При подключении через ноут с виндой (от оборудования оператора) - ошибка 772 выскакивает (Аппаратура удаленного компьютера несовместима с типом запрашиваемого вызова).
Причем заметил, что если тыкать на переподключение (кнопку) - то на 15 раз (не обязательно, смысл в том что если тыкать много) подключится.
Оператор не видит мои 14 попыток, видит только 15 успешную. Пришли к выводу что пакеты где то не проходят (возможно на коммутаторе оператора).
На дебиане тоже, если жать постоянно pon dsl-provider - подключится.
Так вот это дело (пока проблема не решится хочу автоматизировать в виде скрипта)

Поэтому, рискну предположить такой вид скрипта:
---------------------------------------------------------------
exec >> /var/log/adsl_debug 2>> /var/log/adsl_debug

if (!  /sbin/ifconfig ppp999); then
    /usr/bin/poff dsl-provider    
    sleep 5
    /usr/bin/pon dsl-provider
    sleep 5
      if (!  /sbin/ifconfig ppp999); then
        while ( /sbin/ifconfig ppp999 ) - здесь неверно (т.к. я ниразу не писал скрипт, взял по аналогии с IF) , нужно что б была проверка интерфейса - пока его нет выполнять действия
          do
           pon dsl-provider
           sleep 1    
          done
      fi
    echo `date` -- ADSL is down >> /var/log/adsl_down
fi
---------------------------------------------------------------

Смысл в том, 1 раз в минуту по крону идет проверка, если интерфейса нет, то происходит подключение, если после этого нет интерфейса - то подключение каждую секунда пока не появится интерфейс... Вот такой геморой.
Может кто подсказать по сему?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "скрипт для поднятие подключения (интерфейса)"  +/
Сообщение от dELiTe (ok) on 26-Фев-13, 16:38 
>[оверквотинг удален]
>      sleep 1
>     done
>       fi
>     echo `date` -- ADSL is down >> /var/log/adsl_down
> fi
> ---------------------------------------------------------------
> Смысл в том, 1 раз в минуту по крону идет проверка, если
> интерфейса нет, то происходит подключение, если после этого нет интерфейса -
> то подключение каждую секунда пока не появится интерфейс... Вот такой геморой.
> Может кто подсказать по сему?

вот вариант такой:
if (!  /sbin/ifconfig ppp999); then
    /usr/bin/poff dsl-provider    
    sleep 5
    i=0
    while [ $i -lt 40 ]
     do
        pon dsl-provider
        if ( /sbin/ifconfig ppp999 ); then (вот тут не совсем уверен, т.к. ! знак вроде как означает инвентирования условия, - поэтому если интерфейс есть - то выход из цикла
           break        
        fi
        sleep 1
        i=$[$i+1]
     done
    echo `date` -- ADSL is down >> /var/log/adsl_down
fi


Правильно ли?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "скрипт для поднятие подключения (интерфейса)"  +/
Сообщение от aaa (??) on 26-Фев-13, 18:50 
>[оверквотинг удален]
>      sleep 1
>     done
>       fi
>     echo `date` -- ADSL is down >> /var/log/adsl_down
> fi
> ---------------------------------------------------------------
> Смысл в том, 1 раз в минуту по крону идет проверка, если
> интерфейса нет, то происходит подключение, если после этого нет интерфейса -
> то подключение каждую секунда пока не появится интерфейс... Вот такой геморой.
> Может кто подсказать по сему?

Зачем изобретать велосипед?
Читать http://wiki.debian.org/ru/pptp-linux

параметр persist - для переподключения после обрыва подключения
обратить внимание на папки /etc/ppp/ip-up.d/ /etc/ppp/ip-down.d/
и файлы /etc/ppp/ip-up /etc/ppp/ip-down

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "скрипт для поднятие подключения (интерфейса)"  +/
Сообщение от LSTemp (ok) on 28-Фев-13, 14:15 
> параметр persist - для переподключения после обрыва подключения
> обратить внимание на папки /etc/ppp/ip-up.d/ /etc/ppp/ip-down.d/
> и файлы /etc/ppp/ip-up /etc/ppp/ip-down

угу, кроме этого еще для проверки живого соединения существуют еще опции
lcp-echo-interval и lcp-echo-failure.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру