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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Резервный канал - quagga, gated, скрипт или куда копать?!  (Прочитано 2999 раз)

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

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Назрела проблемка - на шлюзе имеются два инет-канала. Один планируется использовать постоянно, второй - только в случае невозможности работы через первый. Как это великолепие реализовать автоматически-динамически?

Первое что пришло в голову - некий скрипт типа if [!ping osnovnoy.prov.router] то ахтунг, ремув дефолт шлюз, срочно устанавливаем шлюз второго по умолчанию. Смущает, что решение смахивает на костыль :)


Потом нагуглил намеки на то, что вроде подобное можно реализовать средствами Quagga или даже gated.

Если кто сталкивался с подобной задачей - тыкните носом, куда копать . За человеческое объяснение буду нечеловечески признателен  :coolsmiley:

ЗЫ -  решение из Advanced Linux Routing  не принимается, так как использование двух каналов одновременно исключено по причинам очень разной тарификации
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Проблема все еще актуальна, к сожалению...
Неужели никто не сталкивался?
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн mkya

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Я тоже хотел бы знать побольше Один из лучших маршрутизаторов.Но почему то мало кого он интересует.Разберусь отпишусь а вот пока малая толика http://nsk.lug.ru/network-group/install-gated35112bc-blackcat-62-rip1/

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Да без проблем, ваще. :)

Моё творение (GPL):
(Нажмите, чтобы показать/скрыть)

Вверху задается массив имеющихся шлюзов (можно как с IP, так и без него).
Далее скрипт пингует некий IP, который тоже задается сверху.
Если пинга нет, то он выбирает и устанавливает другой шлюз из списка.

У меня этот скрипт запускается раз в минуту из cron'а. Работает под ASPLinux 9.2. Возможно для Ubuntu придется немного адаптировать.

Еще момент. Если мы сидим на "резервном" канале, и тут вдруг заработал "основной" канал, то скрипт НЕ переключит шлюз на него. Это нужно дописать. :)
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн Denzzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
 8)
Отлично)

Я тоже к подобному решению пришел
Враг думал, что это пень, а снайпер снес ему башку набекрень...

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Если под "невозможностью работы" подразумевается падение интерфейса, то просто прописываешь 2 шлюза по умолчанию с разными метриками и всё.

Гарри Кашпировский

  • Гость
Да без проблем, ваще. :)

Моё творение (GPL):

Вверху задается массив имеющихся шлюзов (можно как с IP, так и без него).
Далее скрипт пингует некий IP, который тоже задается сверху.
Если пинга нет, то он выбирает и устанавливает другой шлюз из списка.

У меня этот скрипт запускается раз в минуту из cron'а. Работает под ASPLinux 9.2. Возможно для Ubuntu придется немного адаптировать.

Еще момент. Если мы сидим на "резервном" канале, и тут вдруг заработал "основной" канал, то скрипт НЕ переключит шлюз на него. Это нужно дописать. :)

Если и использовать планировщик, то несколько с более простым решением :)
Что оно делает. Проверяет наличие соедининя, и при отсутствии оного передергивает его, а если уж совсем беда, врубает резервный канал. Если соединение вновь доступно, переключает обратно. Приоритет отдается туннельному подключению. В моём случае это pptp. Все дело пишется в лог.
(Нажмите, чтобы показать/скрыть)
А ещё лучше скрипты ifup и ifdown использовать :)

Причина редактирования : правка скрипта.
« Последнее редактирование: 30 Августа 2009, 13:21:06 от Гарри Кашпировский »

 

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