Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: возобновление PPPoE связи  (Прочитано 911 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн volkovmikhail

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
возобновление PPPoE связи
« : 17 Сентября 2008, 13:49:09 »
Здравствуйте! Дома стоит "недосервер" на Ubuntu 8.04, связь с миром через pppoe (модем бриджом). Если ухожу в минус, пров меня отрубает, и чтоб заново подключиться надо рестартить интерфейсы, Вопрос - как сделать так чтобы интерфейс ppp0 поднимался автоматически, поскольку дома нет никого ктоб сделал эту операцию. Вариант "платить во время" не предлагать)))

Оффлайн mr.huNTer

  • Участник
  • *
  • Сообщений: 141
  • linux rocks
    • Просмотр профиля
Re: возобновление PPPoE связи
« Ответ #1 : 17 Сентября 2008, 14:01:20 »
Навскидку:
#!/bin/bash
ping ya.ru > /tmp/init &
sleep 5
killall ping >/dev/null
REZ=`/bin/grep -i ttl /tmp/init -c`
if [ $REZ -eq 0 ]; then
    /sbin/ifdown ppp0 &>/dev/null
    sleep 3
    /sbin/ifup ppp0 &>/dev/null
    sleep 3
    /etc/rc.d/rc.firewall &>/dev/null
    echo Network restarted `date +%D` at `date +%r` >> /var/log/net_restart.log
fi

Вешаешь сей скрипт в крон на root, скажем каждые 5 минут

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Re: возобновление PPPoE связи
« Ответ #2 : 17 Сентября 2008, 14:03:39 »
Попробуй добавить параметр maxfail 0 в конфиге соединения. Он точно работает с VPNом так как они оба используют ppp демон думаю действует и на pppoe

Оффлайн yuristep

  • Участник
  • *
  • Сообщений: 248
    • Просмотр профиля
Re: возобновление PPPoE связи
« Ответ #3 : 17 Сентября 2008, 15:23:36 »
На самом деле, как показывает практика, лучше предыдущие два совета совместить :)
Т.е. с одной стороны заставить pppd при дисконнекте до бесконечности повторять попытки подключения, а с другой - периодически, может раз в 30 мин. скриптом через крон проверять наличие канала. Дело в том, что за pppd в некоторых ситуациях (именно при дисконнектах/реконнектах, особенно pppoe) замечена странность - _иногда_ он "устает" от попыток переустановить соединение, и pppoe закрывается с кодом нормального завершения работы - т.е. как будто пользователь сам разорвал соединение - чего мы естественно не просили...  Эту беду периодически фиксят, а она периодически возникает вновь ...

Еще парочка примеров как можно делать:

для проверки наличия канала методом пинга:
if ping -I интерфейс -c3 -l3 -W3 пингуемый_хост>&1 | grep "100% packet loss" > /dev/null ;                                                                                       
then                                                                                                                                                                           
желаемые телодвижения, т.к. канала нет - потери пакетов 100%                                                                                                               
fi

для проверки "жив ли" ppp:

#!/bin/bash                                                                                                                                                                     
check=`cat /proc/net/dev | grep ppp | wc -l | awk '{ print $1 }'`                                                                                                               
if [ "$check" == "0" ]                                                                                                                                                         
then                                                                                                                                                                           
#ppp-соединения отсутствуют, делаем что-то
/usr/sbin/pppoe-stop;
sleep 3;                                                                                                                                                           
/usr/sbin/pppoe-stop;                                                                                                                                                           
sleep 3;
/usr/sbin/pppoe-start;                                                                                                                                                         
fi 
Осторожно! - Злой админ!

 

Страница сгенерирована за 0.036 секунд. Запросов: 23.