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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Автозапуск VPN при разрыве  (Прочитано 16555 раз)

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

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Автозапуск VPN при разрыве
« : 17 Декабря 2008, 10:55:24 »
Доброго времени суток.

Меня интересует такой вопрос, как автозапоск VPN при разрыве связи.

Подключение VPN из network manager меня не устраивает, так как при разрыве похоже не имеет автоподключения. Поэтому пользуюсь скриптом cable-start, который это делать умеет. Но интернет у меня такой поганый, что иногда может отключаться на 10 и более минут и даже пропадать пинг до VPN. Соответственно, скрипт cable по большому таймауту перестает подключаться. Приходится делать это вручную.

Может есть способ или скрипт, с помощью которого можно реализовать автоподключение к VPN.

А вообще меня интересует такой алгоритм. Как только происходит разрыв связи выполняются следующие действия:
1. Если пинг до VPN есть, то подключение устанавливается
2. Если пинга до VPN нет, то подключение устанавливается, когда ping появляется.
3. Если пинг есть, но связь не возможно установить (иногда бывает, что сессия не закрывается у провайдера), повтор подключения будет происходить через 2-5 минут.

Помогите пожалуйста.

Оффлайн Box

  • Любитель
  • *
  • Сообщений: 94
  • Отец мирового пролетариата
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #1 : 17 Декабря 2008, 11:25:04 »
Выложите полностью скрипт.
« Последнее редактирование: 17 Декабря 2008, 11:35:35 от Box »

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #2 : 17 Декабря 2008, 11:49:13 »
Пожалуйста.

Оффлайн Box

  • Любитель
  • *
  • Сообщений: 94
  • Отец мирового пролетариата
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #3 : 17 Декабря 2008, 15:07:20 »
Попробуйте воспользоваться вот таким вот скриптиком (за скрипт спасибо Pontostroy):

#!/bin/sh

# Ресурс, доступность которого нужно проверять.
PINGRESOURCE="ya.ru"

# Интервал (в секундах) между проверками
CHECKTIME=30

 #Организуем бесконечный цикл
while true; do

    # Если ресурс не доступен
    if (! ping -c 3 ${PINGRESOURCE} >/dev/null 2>&1) then
   
        #Команда для запуска интернет соединения,изменить на свою       
        pptp vpn.sub.net.ua user super password man defaultroute

    fi

   sleep ${CHECKTIME}
done

Можно так же сделать kill для данного pptp соединени перед реконектом, тобишь перед командой для возобновления соединения, в нашем случае это:

...
pptp vpn.sub.net.ua user super password man defaultroute
...

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #4 : 17 Декабря 2008, 15:31:03 »
Спасибо, дома опробую, отпишусь.

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #5 : 18 Декабря 2008, 10:46:37 »
Что-то у меня не получилось ничего. Может я делаю что не так?

Сначала я поместил скрипт в файл autovpn.sh и переместил в папку /usr/sbin. После чего разрываю связь с VPN и запускаю скрипт из под рута, но впн так и не подключается. Ждал  достаточно долго.

Оффлайн Box

  • Любитель
  • *
  • Сообщений: 94
  • Отец мирового пролетариата
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #6 : 18 Декабря 2008, 10:50:25 »
По какой команде у вас проходит подключение?

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #7 : 18 Декабря 2008, 10:52:50 »
подключаю через sudo cable-start. Соответственно пишу эту команду без sudo в скрипте вместо pptp vpn.sub.net.ua user super password man defaultroute

Оффлайн Box

  • Любитель
  • *
  • Сообщений: 94
  • Отец мирового пролетариата
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #8 : 18 Декабря 2008, 11:41:25 »
При простом запуске по данной команде :
cable-startвыводится ли какаято инфа на экран? Если да, попробуйте дописать к вашей команде >/dev/null что бы получилось:
cable-start >/dev/null

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #9 : 18 Декабря 2008, 11:50:36 »
Как мне память не изменяет, выводятся сообщения об успешной авторизации, ДНС и внешнем присвоеном айпи.
Более подробно смогу выложить вечером.

Оффлайн aaronfunk

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #10 : 18 Декабря 2008, 22:51:05 »
Сразу, хочу попросить прощения за дизинформацию. Скрипт отлично работает. Накосячил с ресурсом, который должен пинговаться. Большое Вам спасибо.

И еще возник маленький вопросик, как сделать, чтобы этот скрипт стартовал вместе с системой до ввода логина и пароля?

Оффлайн Box

  • Любитель
  • *
  • Сообщений: 94
  • Отец мирового пролетариата
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #11 : 19 Декабря 2008, 00:26:10 »
Внесите команду на запуск скрипта в файл /etc/rc.local

Оффлайн yaa13

  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #12 : 19 Декабря 2008, 01:02:49 »
В дополнение к имеющемуся в /etc/ppp/options.pptp попробуйте добавить
# Не отключаться когда соединение закрыто, пробовать открыть его снова
persist
# При отсутствии связи всегда пытаемся подключиться
maxfail 0
# Узнаем о «самочувствии» удаленной стороны каждые 30 сек
lcp-echo-interval 30
# Если удаленная сторона не ответила 4 раза – считаем что нас отключили
lcp-echo-failure 4

Оффлайн marischka

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
    • Блог Копаева Алексея
Re: Автозапуск VPN при разрыве
« Ответ #13 : 15 Января 2009, 23:41:36 »
у меня adsl модем рабтает через pppoe и периодически соединение зависает! каким образом благодаря скрипту выше реализовать "Остановка соединения(sudo poff dsl-provider)" и потом "Запуск соединения(sudo pon dsl-provider)"?

Оффлайн mayak

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
Re: Автозапуск VPN при разрыве
« Ответ #14 : 15 Января 2009, 23:47:44 »
aaronfunk, рекомендую загнать запуск вашего скрипта в if.down, чтобы он вызывался при падении соединения.
Не отвечаю на сообщения, написанные на нэрускам язьыке. Нет, я не националист.
Используйте спелл-чекер.

 

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