Перейти до

Freebsd, Adsl и автопереподключение


Рекомендованные сообщения

Для начала - спраздником! :)

Теперь о деле.

Есть ADSL-модем D-Link DSL-2500U. Настроен бриджем.

Уже переделал на нём охлаждение (вскрыл, поставил радиатор на чип, сделал охрененную дыру в корпусе для вентиляции), сменил блок питания на стабилизированный.

Модем подцеплен к шлюзу на FreeBSD. Подключение к Инету сервером настроено через PPPoE. Шлюз раздаёт Инет в локалку. Всё работает замечательно кроме одной вещи:

если я просто вкл/выкл модем или переподсоединяю кабель на модеме (телефонный или RG45), имитируя разрыв связи, то соединение сервером не восстанавливается. Убить и создать PPPoE тоже не выход. Знаю, что в опциях ppp.conf можно указать автопереподключение, но почему-то не работает это или я неправильно делаю что-то.

Пробовал вручную делать "killall ppp" и потом "ppp -ddial myprov", но в таком случае создается ИФ tun1, а у меня всё к tun0 привязано и ничерта не работает. После ребута сервера - всё ок.

Пока интересует лишь почему не происходит автореконнекта, скрипт отдельный писать не хочется, тем более ребутить для этого сервер, подозреваю что должно и так работать. Помогите пожалуйста, надо уехать на неделю, не могу ж я так всё оставить.

 

Мой ppp.cong:

default:

    set log Phase tun command

    enable dns

    set mru 1492

    set mtu 1492

    set timeout 0

    set redial 0 0

    accept dns

myisp:

    set device PPPoE:rl1

    set authname Логин

    set authkey Пароль

    set dial

    set login

    add default HISADDR

 

Мой /etc/rc.conf:

      ppp_enable="YES"

      ppp_profile="myisp"

      ppp_mode="ddial"

      ppp_nat="NO"

      ppp_user="root"

Ссылка на сообщение
Поделиться на других сайтах

Подозреваю, что есть опция для задания интерфейса tun0 в принудиловку.

А потом пишешь скрипт:

ping шлюз || ( killall ppp ; ppp -ddial myprov )

и в крон :)

Ссылка на сообщение
Поделиться на других сайтах
Подозреваю, что есть опция для задания интерфейса tun0 в принудиловку.

Не знаю такой опции. Я вообще описание ppp на русском не нашёл. :)

И не хотелось бы скриптом, всё должно так работать. Не может быть чтобы PPP не мог сам поднимать упавшее соединение.

А если настроитьв режиме роутера?

зачем бридж?

Потому что такой роутер имеет ограниченное число одновременно обслуживаемых запросов. У меня в сетке через "Ослика" качают и вообще, не доверяю я китайским мыльницам. Вон, пришлось переделать, чтоб не зависал хоть: питание ни к чёрту, охлаждение тоже. ППЦ. Подсунули. :)

Ссылка на сообщение
Поделиться на других сайтах

У мя был 1-й модем,D-link 200u/BRU/D Виснул постоянно,и не от перегрева,а вот просто так.Ну я пошел купил такой же :) И работает уже как пол года,без зависаний и.т.д,на нем постоянно около 40 человек онлайна :) и все довльны.

Причем этот модем.ниразу неперегревался и.т.п.

Ссылка на сообщение
Поделиться на других сайтах

Этот мой модем подключается по RG-45. Модель верная, я прошивку на него менял.

Не отвлекаемся, смотрим первый пост. :)

Ссылка на сообщение
Поделиться на других сайтах

Если виснет д-линк проверь питание. Был случай когда DSL-500T постояно несколько раз в день терял DSL, помогла замена стандартного блока питания на 12 вольтовый.

Ссылка на сообщение
Поделиться на других сайтах
Добавь в ппп.конф строчкиCODE

 

# Включаем Link Quality Request.

enable lqr

set lqrperiod 5

 

Должно помочь

 

Спасибо, попробую. :)

 

 

Если виснет д-линк проверь питание.  Был случай когда DSL-500T постояно несколько раз в день терял DSL, помогла замена стандартного блока питания на 12 вольтовый.

Но ведь у него напряжение питания не 12В, а 9В.

Я уже поставил стабилизированный, на КРЕН, после последнего зависания. Откровенно говоря - штатный БП - полное Г. D-Link называется...

Ссылка на сообщение
Поделиться на других сайтах

Нет, связка из

"enable lqr

set lqrperiod 5"

для PPPoE помогает мало.

Пробовал по всякому. Отсоединил кабель телефонной линии и подсоединил секунд через 10. Восстановилось за 5-10 сек. Затем выключил и включил модем. Не восстановилось.

Ещё пробовал отсоединить кабель телефонной линии и подождать больше минуты. Затем ждал примерно минуту, чтобы восстановилось (кабель вернул на место). Безрезультатно.

 

911, ты что-то там за mpd говорил? :)

Ссылка на сообщение
Поделиться на других сайтах

мой

ppp.conf

 

default:

Ukrtelecom:

set log Phase tun command

set device PPPoE:xl2 (у кого какой-интерфейс смотрит на модем)

set authname login@dsl.ukrtel.net

set authkey pass

set mru 1492

set mtu 1492

enable lqr

set lqrperiod 10

enable lqr echo

enable echo

set dial

set login

set timeout 0

set redial 0 0

set timeout 0

set reconnect 3 0

#add default HISADDR

 

ppp.linkup:

 

Ukrtelecom:

iface clear

!bg /usr/bin/logger -t PPP "Connection to Ukrtelecom established"

 

ppp.linkdown:

 

Ukrtelecom:

!bg /usr/bin/logger -t PPP "Connection to Ukrtelecom destroyed"

 

 

всё работает, всё реконнектит, всё красиво.

Фря 6.3

Ссылка на сообщение
Поделиться на других сайтах
Нет, связка из

"enable lqr

set lqrperiod 5"

для PPPoE помогает мало.

Пробовал по всякому. Отсоединил кабель телефонной линии и подсоединил секунд через 10. Восстановилось за 5-10 сек. Затем выключил и включил модем. Не восстановилось.

Ещё пробовал отсоединить кабель телефонной линии и подождать больше минуты. Затем ждал примерно минуту, чтобы восстановилось (кабель вернул на место). Безрезультатно.

 

911, ты что-то там за mpd говорил? :)

Хм странно я фря какая у меня работает как часики по пробуй set lqrperiod поставить в 10

Ссылка на сообщение
Поделиться на других сайтах

Ну еще у меня когда-то были вот такие скрипты, где я их взял не помню но работали

testinet.sh

#!/bin/sh

# Флаг пропадания инета
nr=""
# Флаг появления инета
ni=""

while !(test $ni)
do
  is=`/sbin/ping -c 3 IP-адрес (например DNS прова) | grep -c "64 bytes"`
  # Проверяем прошли ли пинги
  if !(test $is -gt "0")
   then
       # Прибиваем тунели
       /usr/bin/killall ppp
       
       if !(test $nr)
 then
            # Если инет пропал только что, то запоминаем время
     nr=1
     timeobr=`date`
fi     
       # Ждем пока помрут тунели (этот параметр индивидуален и
       # подбирается экспериментальным путем)
sleep 5
       
       # Поднимаем соединение
       # Например у меня так
/usr/sbin/ppp -ddial inet
       
       # На всякий случай еще немного подождем
       # (хотя в принципе этого можно и не делать)
       sleep 5
   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

Ну и запихнуть в крон запуск startinet.sh, например каждую минуту.

Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо, заработало с такой конфигурацией:

 

ppp.conf:

 

default:

    set log Phase tun command

    enable dns

    set mru 1492

    set mtu 1492

    set timeout 0

    set redial 0 0

    set reconnect 3 0

    accept dns   

myisp:

    set device PPPoE:rl1

    set authname Логин

    set authkey Пароль

    enable lqr

    set lqrperiod 10

    enable lqr echo

    enable echo

    set dial

    set login

    add default HISADDR

А то хотел уже делать на MPD. :)

Даже когда отсоединяю кабель, вырубаю модем - реконнектится и работает! :-(=)

Ссылка на сообщение
Поделиться на других сайтах
Всем спасибо, заработало с такой конфигурацией:

А то хотел уже делать на MPD. :)

Даже когда отсоединяю кабель, вырубаю модем - реконнектится и работает! :-(=)

ну так советуем-то реальные рабочие варианты :(

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...