У нас есть несколько серверов баз данных, на которых работает MongoDB на Debian, а также несколько серверов приложений на Debian. Серверы db содержат реплицируемые кластеры db, поэтому им нужно общаться друг с другом. Серверы приложений должны взаимодействовать со всеми серверами БД (из соображений отказоустойчивости). Серверы потенциально распределены по нескольким хостинговым центрам, поэтому нам нужны безопасные каналы между всеми серверами. Количество серверов будет расти, поэтому нам нужно решение VPN, которое легко поддерживать и расширять. Вот почему я считаю, что SSH, который мы используем для тестирования, может не соответствовать этой задаче, и OpenVPN кажется подходящим вариантом.
Я исключил TAP, поскольку понимаю, что это будет означать, что весь трафик будет идти на все серверы - возможно, это недоразумение, и TAP действует больше как коммутатор?
С устройствами TUN я предполагаю, что все серверы БД будут жить в своей отдельной подсети, им также понадобится клиент, настроенный для подключения к каждому из своих партнеров. Серверы приложений могут находиться в общем диапазоне подсетей только с конфигурацией клиента.
Это звучит как разумная установка? Как ни странно, в сети я не нашел ничего про мультисервер с OpenVPN.
Спасибо за все идеи и идеи!
Похоже, у вас есть некоторые предположения, которые необязательно обоснованы, и вы слишком усложняете ситуацию.
Tap не будет маршрутизировать весь трафик через VPN, если вы не настроите его для этого с помощью операторов маршрутизации. Это описано в документации OpenVPN на их веб-сайте.
Если ваши центры обработки данных подключаются с помощью технологии VPN, единственная причина, по которой вам нужно несколько серверов VPN, - это подключение к подсети каждого центра обработки данных. OpenVPN очень эффективен при маршрутизации трафика между подсетями, и это почти повсеместный вариант использования.
Если вы пытаетесь настроить ячеистую сеть VPN с двухточечными соединениями между всеми серверами, вы настраиваете себя на множество проблем с точки зрения накладных расходов на управление.
Интерфейс касания находится на уровне 2 - это будет выглядеть так, как будто все машины находятся в одном сегменте. Tun - на уровне 3 (как вы сказали - они будут в разных подсетях).
Если вы используете TUN iface, вам не нужно устанавливать vpn-клиент на каждом узле. Достаточно иметь по одному vpn-клиенту на сайт и настраивать маршрутизацию между ними. Таким образом, клиент VPN будет действовать как маршрутизатор. Для меня это самый простой способ, потому что вам нужно только добавить маршрут для новой сети на каждой машине (или настроить gw по умолчанию).