добрый день.
хочу совет получить, т.к. сам знаю мало
Нужен скрипт, общее описание:
1) проверяет наличие присутствия интрефейса ppp каждую минуту (на данный момент реализовано)
---------------------------------------------------------------
exec >> /var/log/adsl_debug 2>> /var/log/adsl_debugif (! /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 раз в минуту по крону идет проверка, если интерфейса нет, то происходит подключение, если после этого нет интерфейса - то подключение каждую секунда пока не появится интерфейс... Вот такой геморой.
Может кто подсказать по сему?