openvpn vs балансировка

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-13 9:12:42

Доброго времени суток, уважаемые!

На данный момент, в виду глобального кризиса, дирекция отказывается покупать цисковкий роутер, посему надо доделывать существующее решение :)

У меня есть несколько филиалов, разбросанных по разным городам, которые соединяются с головным офисом в Петербурге посредством vpn, организованным на openvpn. Все работает, полет нормальный :)

На днях тут случилась небольшая авария - провайдер что-то замутил со своими маршрутизаторами - пропал роут до одного филиала - соответственного vpn также отвалился. Хочется обходить такие ситуации :)

В головном офисе в gw воткнуты два внешних линка от двух разных провайдеров, один используется как основной - другой как резервный. Никакого автоматизма нет, поэтому при падении приходицца ручками на всех gw править конфиг openvpn в плане на какой ip долбиться. Хочется эту задачу автоматизировать... То есть какой алгоритм вижу на филиальных gw я:

(внешний основной и резервный ip относятся к gw, что стоит в головном офисе в СПб. Алгоритм работает на филиальных gw)
  1. 1. Если основной внешний ip пингуется - живем и радуемся
  • 2. Если недоступен основной внешний ip (не пингуется) - подождать минут 5-10
  • 3. Если после 5-10 минут основной внешний ip все равно не доступен - поднять vpn на резервный канал и перейти к п.5.
  • 4. Если после 5-10 минут основной внешний ip поднялся - поднять vpn на основной канал и перейти к п.1 .
  • 5. Пока работает резервный канал - проверять первичный
  • 6. Если после 15 мин. работы на резервном канале начал пинговацца основной внешинй ip - поднять vpn на основном. Иначе выполнить снова пункт 6
  • 7. Перейти к пункту 1.
Подскажите, плз, существует ли решение, реализовывающее данный алгоритм, или придется писать свой велосипед? Поиск по нету и форуму пока результатов не дал, есть различные failover для openvpn, но они не очень мне подходят под задуманный алгоритм...

А да, все gw работают на фре, от 6.1-RELEASE-p16 до 7.0-RELEASE-p4. На всех gw OpenVPN 1.6.0. Думаю поставить вторую версию, там судя по всему много вкусного...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение zingel » 2008-10-13 9:49:33

топологию рисуйте.
Z301171463546 - можно пожертвовать мне денег

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-13 10:31:30

Эм, ну вышло нечто вроде этого (не ругайтесь, аналог visio - dia первый раз использую :oops: )

Хочется чтобы gw в филиалах сами рулили куда им тыкаться vpn'ом. То есть если не пингуется у gw-spb 82.23.124.ххх - попробовать поднять vpn на 81.3.179.xxx
Вложения
vpn.png

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: openvpn vs балансировка

Непрочитанное сообщение savio » 2008-10-13 13:42:01

да все просто
1)
припустим у вас gw по умолчанию идет к первому прову(айпишка на вашем серваке с рисунка 82.23.124.xxx)
тоесть

Код: Выделить всё

route add default route {IP_шлюза 1-го провайдера}
далее все что пришло на интервейс 2 возвращаем на него же(что бы не ушло по дефаулту на первого прова)

Код: Выделить всё

ipfw add fwd {IP_шлюза 2-го провайдера } all from 81.3.179.xxx
теперь если с мира пинговать вторую айпишку при падении основного канала - должно работать
2) по поводу openvpn
openvpn.conf

Код: Выделить всё

...
remote 82.23.124.xxx
remote 82.23.124.xxx
remote-random
...
Помни о смерти, все суета сует....

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-13 14:19:05

savio писал(а):2) по поводу openvpn
openvpn.conf

Код: Выделить всё
...
remote 82.23.124.xxx
remote 82.23.124.xxx
remote-random
...
Хм
remote-random (клиент) - использовать в случайном порядке одну из нескольких строк remote

Таким образом при старте gw (при перегрузке и т.д.) openvpn случайно выберет remote - это мне не подходит. Резервный ip должен использоваться только (и только при упавшем) основном ip. А так он будет случайно прыгать меджу двумя...

Или я что-то не понимаю?

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-13 14:22:17

savio писал(а):далее все что пришло на интервейс 2 возвращаем на него же(что бы не ушло по дефаулту на первого прова)

Код: Выделить всё

    ipfw add fwd {IP_шлюза 2-го провайдера } all from 81.3.179.xxx
теперь если с мира пинговать вторую айпишку при падении основного канала - должно работать
Насчет этого тоже не понял - получается второй vpn должен быть всегда поднят?

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: openvpn vs балансировка

Непрочитанное сообщение savio » 2008-10-13 14:28:03

ну да. я не читал первй пост. очень много букв :)
а в чем проблема? поднемите два канала и радуйтесь жизни
Помни о смерти, все суета сует....

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-13 14:36:49

Не, два канала поднимать - один фиг надо как-то маршруты отслеживать. Оба канала в одну сеть - маршрут для клиентских компов один, при падении канала надо будет таблицу маршрутизации переписывать один фиг. Чувствую надо будет велосипед изобретать :unknown:

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: openvpn vs балансировка

Непрочитанное сообщение savio » 2008-10-13 14:44:52

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

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-13 15:26:27

Видать кто-то из нас что-то не понимает, либо я, либо вы :)

Приведу картинку.

Если упадет канал у gw-spb в Санкт-Петербурге - gw-rst должен поднять vpn на второй канал gw-spb. При этом у него должна поменяться таблица маршрутизации (или не должна, там все равно маршрут внутренней сетки на внутренний ip прописывается). И да, я ща говорю только про филиалы, как рулить vpn на центральной gw в СПб - второе дело :) Скорее всего никак, повесить openvpn на оба интерфейса...

Получается что маршрут вообще никакой меняцца не должен в филиалах, маршрут будет меняться только в головном шлюзе gw-spb при падении основного канала. VPN у меня site2site, то есть gw соединяют одну сетку 10.10.0.0/16. У клиентов тоже ничего менять в филиалах не надо - у них дефолт gateway - всегда их местный шлюз.

Эх...по-ходу проще будет что-нить придумать на perl, будет свой демон - с блэкджеком и шлюхами! :crazy:
Вложения
vpn_clients.png

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: openvpn vs балансировка

Непрочитанное сообщение paradox » 2008-10-13 16:33:26

pf + аля какой то атрибут из route-to
посмотрите что больше вам подойдет
из раздела Load balancing PF

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: openvpn vs балансировка

Непрочитанное сообщение savio » 2008-10-13 19:05:12

CrazyPilot писал(а): Если упадет канал у gw-spb в Санкт-Петербурге - должен поднять vpn на второй канал gw-spb.
ну так на серваку где два канала (gw-rst) поднять openvpn в режиме сервера
на стороне gw-spb запустить openvpn в режиме клиента и прописать как я писал выше

Код: Выделить всё

remote {IP-адрес первого канала}
remote {IP-адрес второго канала}
remote-random
и работать будет постоянно :)
Помни о смерти, все суета сует....

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-14 7:57:49

мля, если remote-random - не будет openvpn переходить на основной канал, если ему хорошо живется на резервном...

Аватара пользователя
savio
лейтенант
Сообщения: 813
Зарегистрирован: 2007-11-08 15:46:43
Откуда: UA

Re: openvpn vs балансировка

Непрочитанное сообщение savio » 2008-10-14 9:46:38

ну тогда на стороне клиента так сказать поднимаеш mpd и конектишся сразу по двум каналам к серверу. скриптами up-script/down-script переключаеш маршрут по умолчанию. у меня так работает. правда чуть по другому но суть такая
Помни о смерти, все суета сует....

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: openvpn vs балансировка

Непрочитанное сообщение CrazyPilot » 2008-10-14 10:16:23

Гм, ну это уже ваще ни в какие ворота не лезет :)

Ладно, спасибо за помощь всем, напишу я все-таки на перле небольшой watchdog...

MrCondor
проходил мимо
Сообщения: 5
Зарегистрирован: 2012-02-16 15:40:42

Re: openvpn vs балансировка

Непрочитанное сообщение MrCondor » 2013-04-25 14:59:13

OSPF - ключевое слово