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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: VPN туннель с резервированием каналов  (Прочитано 6432 раз)

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

Оффлайн RedBeard

  • Активист
  • *
  • Сообщений: 740
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #15 : 25 Июля 2013, 01:02:07 »
Если честно, то у меня там каскадное включение двух роутеров, если чего...
А, так все-таки 2 роутера потребуются в каждом офисе?

P.S. Схему сети в шапку добавил.
Не обязательно! Просто, локальный слишком дорог, а второй (Йота) менее надёжен. Вот и переподключаемся иногда... Переподключение идёт на уровне второго роутера, поэтому юзеры обычно этого вообще не замечают. А VPN у нас - через Тимвьюер, поэтому юзеры и там переподключения не замечают. Подумаешь, маршрутизация поменялась!
« Последнее редактирование: 25 Июля 2013, 01:07:13 от RedBeard »

Оффлайн Yozhik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #16 : 25 Июля 2013, 09:43:22 »
я как-то поднимал два тунеля сразу,
соответственно по 2 маршрута с разными метриками на каждом шлюзе.
.....
еще можно поднять 1 канал, но в настройках указать 2 IP сервера
и в дополнение прописать соответственно по 2 маршрута к нему с разной метрикой
в случае проблемы с каналом связи - произойдет разрыв ВПН, и он тут-же попробует переконектиться...
remote server1.mydomain
remote server2.mydomain

Я правильно понимаю, что в основном офисе надо на каждый канал по одному OpenVPN-серверу на разных машинках повесить?
А в дополнительном можно одним обойтись?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #17 : 25 Июля 2013, 09:46:03 »
Зачем на разных машинах?... /facepalm
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: VPN туннель с резервированием каналов
« Ответ #18 : 25 Июля 2013, 09:53:06 »
Yozhik, ещё раз, вот 2 варианта:
1) Round robin DNS — метод резервирования / балансировки нагрузки, когда на одно имя вешается 2 IP, реализуется средствами DNS-сервера или через /etc/hosts на стороне клиента
2) несколько параметров remote в конфиге openvpn

Я правильно понимаю, что в основном офисе надо на каждый канал по одному OpenVPN-серверу на разных машинках повесить?
Нет, вам достаточно одного серсиса с ролью сервера.
« Последнее редактирование: 25 Июля 2013, 10:01:44 от ArcFi »

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6844
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #19 : 25 Июля 2013, 10:22:33 »
2 канала на стороне сервера OpenVPN. По умолчанию работает основной. Если, упал - включается запасной. OpenVPN-клиенты знают оба адреса и подключаются по запасному, если основной не отвечает. Заработал основной, клиенты вернулись обратно.

Жизнеспособно?

Думаю, будет задержка около минуты пока vpn восстановится.
Кроме того, запуск скриптов, переключающих каналы, пока осуществляется руками (но это отдельный, решаемый вопрос).

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: VPN туннель с резервированием каналов
« Ответ #20 : 25 Июля 2013, 10:29:47 »
Думаю, будет задержка около минуты пока vpn восстановится.
Задержку, вроде как, можно потюнить через keepalive.

Оффлайн Yozhik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #21 : 26 Июля 2013, 08:15:35 »
2) несколько параметров remote в конфиге openvpn
2 канала на стороне сервера OpenVPN. По умолчанию работает основной. Если, упал - включается запасной. OpenVPN-клиенты знают оба адреса и подключаются по запасному, если основной не отвечает. Заработал основной, клиенты вернулись обратно.
Значит на сервере OpenVPN (он же шлюз) будет по 2 WAN интерфейса. И сразу добавляем маршрут по умолчанию через 2-го провайдера с большей метрикой, типа:
route add default gw 22.22.22.21 dev eth2 metric 200
(Дефолтный маршрут через eth1 со шлюзом 11.11.11.11 и метрикой 100 у нас уже есть)
Также в iptables разрешаем NAT для второго (резервного) провайдера:
iptables -t nat -A -o eth2 -j SNAT --to-source IP2

Тут все верно? Нужно ли скрипт какой писать или так можно оставить?

Далее, если первый провайдер отваливается, трафик наружу начинает идти через 2-го прова. OpenVPN сервер считает туннель развалившимся через минуту (keepalive 10 60) и готов принимать подключения по IP2 (IP второго провайдера)
Соответственно у клиента в конфиге написано:
remote IP1
remote IP2

При пропадании связи с сервером, клиент снова пытается подключиться по IP1, после неудачи подключается по IP2
(пока рассматриваем вариант с одним интернет-подключением со стороны клиента)

Если все вышеизложенное верно, то остается настроить переключение на резервного провайдера на стороне клиента.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: VPN туннель с резервированием каналов
« Ответ #22 : 26 Июля 2013, 08:37:59 »
Вроде, для 2-х шлюзов надо так:
http://anr-daemon.livejournal.com/1655.html

Оффлайн Yozhik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #23 : 26 Июля 2013, 09:54:31 »
Вроде, для 2-х шлюзов надо так:
http://anr-daemon.livejournal.com/1655.html
Чего-то не хочется мне заниматься маркировкой пакетов в iptables. Да и балансировку нагрузки делать не обязательно. Второй провайдер будет использоваться когда не работает первый.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: VPN туннель с резервированием каналов
« Ответ #24 : 26 Июля 2013, 10:26:29 »
Тогда просто используете watchdog-скрипт для переключения дефолтного шлюза.
Соответственно, одновременно будет работать только по одному IP.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #25 : 26 Июля 2013, 13:49:19 »
Вроде, для 2-х шлюзов надо так:
http://anr-daemon.livejournal.com/1655.html
Чего-то не хочется мне заниматься маркировкой пакетов в iptables.
А где вам хочется заниматься маркировкой?...

Цитировать
Да и балансировку нагрузки делать не обязательно. Второй провайдер будет использоваться когда не работает первый.
Кто-то что-то говорил о балансировке? O.o Где?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн nucleon

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #26 : 28 Июля 2013, 04:06:00 »
если задержка не важна, то 2-й вариант конечно предпочтительнее
т.е.
указываем в настройках всех клиентов
remote x.x.x.x
remote y.y.y.y
где x.x.x.x и y.y.y.y - адреса сервера


но в первом варианте, было решение для случаев, когда задержка критична.
в этом случае я предлагаю поднимать на сервере и клиенте по 2 канала, каждый на своем IP.
в этом случае переключение каналов будет за счет метрики и будет практически мгновенным.
соответствено конфигураций будет две и в каждой свой remote ip.

кстати есть еще и третий вариант
запихать OpenVPN в OVZ контейнер, и собрать сервисный кластер на основе Corosinc или Hearbert
а чтобы все синхронизировалось использовать что-то вроде rsync

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

Оффлайн Yozhik

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: VPN туннель с резервированием каналов
« Ответ #27 : 29 Июля 2013, 11:30:53 »
но в первом варианте, было решение для случаев, когда задержка критична.
в этом случае я предлагаю поднимать на сервере и клиенте по 2 канала, каждый на своем IP.
в этом случае переключение каналов будет за счет метрики и будет практически мгновенным.
соответствено конфигураций будет две и в каждой свой remote ip.

Т.е. в этом случае нужно два экземпляра openvpn на сервере (с разными: конфигами, подсетями и портом). И два процесса на клиенте? И в штатном режиме, когда доступен основной провайдер, трафик идет только по основному каналу (туннелю)?

 

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