Страница 1 из 2
PPP не переподключается при разрыве связи
Добавлено: 2009-09-22 19:58:07
Sergey002
У меня вопрос к уважаемым гуру. При разрыве связи, например когда я вытаскиваю провод питания на пару минут из ADSL модема. Или когда провайде со свое стороны сам обрыват связь по каким то неизвестным для меня причинам. FreeBSD не востанавливает подключения. Вернее она даже не то что бы не востанавливает его, она даже не прерывает старого. Например при отсутствии соединения ifconfig показывает активный tun0 с присвоеным IP
Вот моя конфигурация:
/etc/rc.conf
gateway_enable="YES"
hosname="cybr.my.domain"
network_interfaces="msk0 lo0"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_msk0="inet 192.168.0.1"
ppp_nat="YES"
router_enable="NO"
и т.д.
/etc/ppp/ppp.conf
Код: Выделить всё
default:
set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0
enable dns
nat enable yes
provider:
set device PPPoE:msk0
set authname YOURLOGINNAME
set authkey YOURPASSWORD
enable lqr
set dial
set login
add default HISADDR
set timeout 0
set reconnect 3 0
В чем может быть проблема???

Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-22 20:12:33
paradox
1) а пинг теряеться?
2) lcp включите
3) mpd попробуйте
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-22 20:19:23
Gamerman
вот мой, работает нормально.
Код: Выделить всё
ukrtel:
set device PPPoE:vr0 # replace xl1 with your Ethernet device
set authname *******
set authkey *******
set dial
set login
add default HISADDR
enable lqr
enable echo
set redial 0 0
set reconnect 10 100
disable dns
resolv readonly
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-22 20:37:41
Sergey002
Gamerman огромное тебе человеческое спасибо!!! Как я заеб*лся с этим автовостоновлением подключения кто бы знал. Кстати говоря ты можешь объяснит механику такого конфига? За чем например отключается dns??? И что такое echo? Если можешь объясни пожалуйста

Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-22 20:44:23
paradox
enable echo
это и есть LCP
учите основы протокола ppp если хотите знать
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-22 21:05:00
Gamerman
Sergey002 писал(а): За чем например отключается dns???
Этот конфиг я собирал по частям и уже давно, не все помню.
Днс отключал наверное потому, что на сервере поднят bind.
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 7:08:12
Sergey002
Вчера включил dns и лег спать. Проснулся инета нет а BSD выдает надписи msk0(моя сетевуха): watchdog timeout (missed Tx interrupts) -- recovering Что бы это значило?
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 8:03:40
Sergey002
Блин опять такая же фигня. Если я вытаскиваю питание из модема на пару минут или витую пару, а потом вставляю. ТО соединение восстанавливается. А если обрывается у провайдера что то, то FreeBSD пишет
msk0: watchdog timeout (missed Tx interrupts) -- recovering и соединение не восстанавливается

В чем может быть проблема?
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 8:42:00
Gamerman
Sergey002 писал(а): В чем может быть проблема?
В провайдере. А как себя ведет модем в режиме роутера в таких ситуациях, под Виндой?
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 8:55:22
Sergey002
Модем у меня настроен бриджем. Винда запросто переподключается я и не замечаю когда инет отрубается а когда нет. Роутером не могу настроить модем потому что мне нужно что бы он был прозрачен. Неужели ppp не может справится с такой пустячной задачей??

Что посоветуете? Кстати говоря после обрыва связи tun0 так и не убивается. Если вручную переподключится (после ppp -off) то создастся tun1.
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 9:52:44
Gamerman
Имелось в виду: модем роутером на время экспериментов. Но если винда работает нормально, тогда смысла нет.
У меня когда похожие проблемы были, то предлагали написать скриптик, который время от времени пинговал бы сеть провайдера. Если пинг упал, то рестартонуть ррр.
Кстати, а как вручную переподключаетесь?
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 11:40:40
Sergey002
В ручную переподключаюсь через
reboot
А скриптик случаяно не этот ??:
Код: Выделить всё
соединение само не падает ....
его нуно ронять самому ...
вот скрипт ...
testinet.sh
#!/bin/sh
# Флаг пропадания инета
nr=""
# Флаг появления инета
ni=""
while !(test $ni)
do
is=`/sbin/ping -c 3 213.181.14.11 | grep -c "64 bytes"`
# Проверяем прошли ли пинги
if !(test $is -gt "0")
then
# Прибиваем тунели
/usr/bin/killall ppp
if !(test $nr)
then
# Если инет пропал только что, то запоминаем время
nr=1
timeobr=`date`
fi
# Ждем пока помрут тунели (этот параметр индивидуален и
# подбирается экспериментальным путем)
sleep 10
# Поднимаем соединение
# Например у меня так
/usr/sbin/ppp -quiet -ddial kzn16
else
if (test $nr)
then
echo Инета не было с $timeobr до `date` >> /var/log/internet.log
fi
ni=1
fi
done
startinet.sh
#!/bin/sh
# Проверяем наличие скрипта testinet.sh в памяти
testz=`ps ax | grep -c testinet.sh`
if (test $testz -gt "1")
then
# Если уже есть, то выходим
exit 1
fi
/usr/local/etc/myscript/testinet.sh
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 11:41:49
Sergey002
Неее это ппц. Надо поробовать mpd наверное. Может она будет сама переподключаться???
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 11:58:07
Gamerman
Я предполагал, что вручную - это:
/etc/rc.d/ppp restart
До скриптика дело не дошло, так что ничего о нем сказать не могу.
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 12:01:27
Sergey002
Gamerman а как вы решили свою проблему?
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 12:31:35
Gamerman
Sergey002 писал(а):Gamerman а как вы решили свою проблему?
Использую файл ppp.conf который вам дал, проблем нет.
Есть другая проблема с bind. Он там что-то теряет при работе по ррр. Но посколько раз в сутки я делаю рестарт bind, то с этим не заморачиваюсь.
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 17:01:01
Sergey002
А Bind перезагружаете в ручную или командой - скриптом?
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 19:07:49
paradox
если tun интерфейс падает при разрыве
то бинд теряет бинд на тот интерфейс
поскоку удаляеться интерфейс
решить проблему можно если в бинде есть опции динамик биндинга для интерфейсов (не помню)
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 19:19:55
Gamerman
paradox писал(а):если tun интерфейс падает при разрыве
то бинд теряет бинд на тот интерфейс
поскоку удаляеться интерфейс
решить проблему можно если в бинде есть опции динамик биндинга для интерфейсов (не помню)
Скорее всего так и есть, но поскольку окромя вывода на консоль больше ничего не ругается, то не морочу себе голову.
А бинд рестартую через крон.
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 19:25:00
paradox
что бы не мучать бинд
сделай его рестарт через up скрипт в ppp
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-23 19:40:29
Gamerman
paradox писал(а):что бы не мучать бинд
сделай его рестарт через up скрипт в ppp
Спасибо учту.
Или поищу решение через
решить проблему можно если в бинде есть опции динамик биндинга для интерфейсов (не помню)
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-24 14:42:28
Sergey002
У меня еще один аопрос к
Gamerman вы выложили свой конфиг как есть? Просто у вас отсутствует запись Default: ...
Код: Выделить всё
ukrtel:
set device PPPoE:vr0 # replace xl1 with your Ethernet device
set authname *******
set authkey *******
set dial
set login
add default HISADDR
enable lqr
enable echo
set redial 0 0
set reconnect 10 100
disable dns
resolv readonly
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-24 16:52:32
Gamerman
Вот весь, в которм убрал некоторые строчки с перенаправлением портов.
ppp.conf
Код: Выделить всё
default:
# set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0
set log Phase Chat LCP IPCP CCP tun command
nat enable yes
# nat port tcp 10.202.0.2:44000 44000
nat log yes
ukrtel:
set device PPPoE:vr0 # replace xl1 with your Ethernet device
set authname ********
set authkey ********
set dial
set login
add default HISADDR
# by GAMER
enable lqr
enable echo
set redial 0 0
set reconnect 10 100
disable dns
resolv readonly
# end by GAMER
У меня НАТ построен на уровне ррр.
Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-24 22:04:23
Sergey002
Всё разобрался наконец то

)) Ну мне и повезло конечно.
Gamerman Спасибо тебе огромное без твоего конфига не запустил бы. Но главная моя загвоздка, почему не запускался твой конфиг, была в слеедующем:
Это касается всех счастливых обладателей сетевых карт Marvell Yukon. Если вы видите или видели это сообщение
msk0: watchdog timeout (missed Tx interrupts) -- recovering, то этот инструкция явно для вас. Начну со ссылки которая помогла мне решить проблему
http://www.lissyara.su/?id=1193
Теперь опишу своими словами в кратце. В общем нужно установить драйвера под Yukon потому что те что встроены в FreeBSD работаю некоректно.
Драйвера выбираются здесь ---
http://www.marvell.com/drivers/search.do нас интересуют два верхних пункта: Step 1 - Network Controller, step 2 - FreeBSD 7 (или любую другую вашу версию) жмем submit. Выбираем FreeBSD Driver for 32-bit Kernel 7 Installations (у кого 64 битная система, выбирает FreeBSD 7 64-bit Driver), соглашаемся (I Accept) и жмем Download. После того как мы скачали архив, перемещаем его на комп с FreeBSD, я сделал это через фтп
Вообще в архиве есть инструкция, но для тех кто не дружит с английским напишу:
Для того что бы распаковать архив, зайдите под рутом и выполните
Код: Выделить всё
tar xfvz installbsd70x86-10.60.1.3.tar.gz
или
gunzip -c installbsd70x86-10.60.1.3.tar.gz | tar xfv -
далее устанавливаем драйвера
Код: Выделить всё
cd DriverInstall
pkg_add mykbsd70x86-10.60.1.3.tgz
бинарные файлы инсталируются в /boot/modules and the manpage into/usr/share/man/man4
Для того что бы приказать системе загружать драйвера при загрузке системы указываем в /boot/loader.conf
Теперь конфигурируем сетевой интерфейс, до установки патча интерфейс назывался msk0,после установки драйверов сетевой интерфейс будет называться myk0. Это нужно исправить в файле /etc/rc.conf
Айпишник вписываем свой, локальный. Перегружаем машину, используем конфиг для дальнейшей настройки сети Gamerman-а, всё готово теперь вы полноценный использователь ресурсов своей сетевухи под управлением FreeBSD.

Re: PPP не переподключается при разрыве связи
Добавлено: 2009-09-24 22:08:10
paradox
дауж
а можно было отписать ошибку в PR
ее бы быстро пофиксили
и все бы были счасливы
а так ждем очередных таких как вы которые наткунуться на грабли и тоже пойдут искать какойто мифический драйвер на сайте производителя