Автоматическое переключение каналов

Linux, безопасность, сети и все что с этим связано
Юлиан

Автоматическое переключение каналов

Сообщение Юлиан »

Прошу помочь со следующей проблемой:
Существует внутренняя сеть и два канала Internet. Один широкий и он является основным. Второй - узкий и он является запасным. Первый канал иногда "падает", причем надолго (на час, предположим). Есть группа лиц, для которых не должно существовать ситуации "нет доступа в Internet". Предположим, что данная группа описывается в некотором файле (файл содержит IP-адреса машин, на которых данные люди сидят).
Задачи:
1. Организовать на ALT Linux Master 2.0 автоматическое распознование наличие Internet через канал №1.
2. Если канал "заглох" более чем на N минут, организовать для IP-адресов, описанных в файле, связь с Internet через канал №2.
3. Проверять с некоторой переодичностью появление связи с Internet по каналу №1. Если связь восстановилась и работает стабильно в течении M минут, организовать подключение всех по каналу №1
Список IP-адресов должен быть в файле для удобства администрирования.
Убедительная просьба: не нужно предлагать распределять нагрузку! Канал №2, кроме того что он резервный, несет свою нагрузку (через него запущена почта), так что затыкать его тоже не охота.
С уважением ко всем, особенно могущим помочь дельным советом! :)

Anonymous

Сообщение Anonymous »

с лету:
по крону ping + source routing (iproute 2)

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Re: Автоматическое переключение каналов

Сообщение Llama »

Юлиан писал(а):Прошу помочь со следующей проблемой:
Существует внутренняя сеть и два канала Internet. Один широкий и он является основным. Второй - узкий и он является запасным. Первый канал иногда "падает", причем надолго (на час, предположим). Есть группа лиц, для которых не должно существовать ситуации "нет доступа в Internet". Предположим, что данная группа описывается в некотором файле (файл содержит IP-адреса машин, на которых данные люди сидят).
Задачи:
1. Организовать на ALT Linux Master 2.0 автоматическое распознование наличие Internet через канал №1.
2. Если канал "заглох" более чем на N минут, организовать для IP-адресов, описанных в файле, связь с Internet через канал №2.
3. Проверять с некоторой переодичностью появление связи с Internet по каналу №1. Если связь восстановилась и работает стабильно в течении M минут, организовать подключение всех по каналу №1
Список IP-адресов должен быть в файле для удобства администрирования.
Убедительная просьба: не нужно предлагать распределять нагрузку! Канал №2, кроме того что он резервный, несет свою нагрузку (через него запущена почта), так что затыкать его тоже не охота.
С уважением ко всем, особенно могущим помочь дельным советом! :)
Есть, на мой взгляд, более красивый вариант:
скрипты - if-up и if-down для этого интерфейса.

Юлиан

Автоматическое переключение каналов

Сообщение Юлиан »

Спасибо за ответы, но пока нет решения.
Для tren: если кого-то пинговать, то:
1. Нужно доверять этому серверу (типа он не часто бывает offline), либо пинговать несколько серверов
2. Постоянно кого-то пингуя я могу задеть нежные чувства админов удаленной машины :) Я бы задумался если бы меня кто-то пинговал.
Возможный вариант: запустить синхронизацию времени в crone, но тут тоже нужно подумать
Для Llama: поднимать или опускать интерфейсы не приходится, так как на обоих каналах стоят не принадлежащие моей конторе роутеры и, как результат, на мой Linux заходят две витые пары. Возможно, удастся отказаться от роутера на канале №2, но ни как не на первом (через него запущены не одни мы и провайдеру убирать роутер неинтересно)
Все равно спасибо за ответы! :)

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Re: Автоматическое переключение каналов

Сообщение Llama »

Юлиан писал(а):Спасибо за ответы, но пока нет решения.
Для tren: если кого-то пинговать, то:
1. Нужно доверять этому серверу (типа он не часто бывает offline), либо пинговать несколько серверов
2. Постоянно кого-то пингуя я могу задеть нежные чувства админов удаленной машины :) Я бы задумался если бы меня кто-то пинговал.
Возможный вариант: запустить синхронизацию времени в crone, но тут тоже нужно подумать
Пингуй роутер провайдера. Кроме того, посмотри на такую штуку - eql - система балансировки нагрузки - если один из каналов отвалился трафик идет по другому. Иначе - по обоим.

Julian

Автоматическое переключение каналов

Сообщение Julian »

Пинговать роутер провайдера нет никакого смысла. Он очень редко падает. По сути это машина являющаяся преобразователем волокна в витую пару. Толку-то ее пинговать?
А вот с разделением нагрузки то-ли я не понял, то ли данный ответ не очень пришелся. Мне не нужно распределять нагрузку. По дефолту работает всегда (для путешествий по сети) только один канал. Не должно существовать ситуации когда через оба канала ходят в инет. Второй канал как затычка для боссов и особо приближенных на случай если первый отпал. Можно это реализовать вручную, но я не могу сидеть постоянно и отслеживать упал канал или нет.

Anonymous

Сообщение Anonymous »

Вам гарантированно поможет связка из table-routing, на основе ip (пакет iproute2) и динамической маршрутизации на IBGP или OSPF (пакет zebra или gated). Это будет не легко, но возможно сделать именно ТО, что вам нужно.

Anonymous

Сообщение Anonymous »

Есть еще вариант с http://www.linuxvirtualserver.org/~julian/nano.txt Но я его не тестировал. Говорят, полезная штука.

Ответить