Построение Full-Mesh VPN-сети с использованием fastd, tinc, VpnCloud и тестирование производительности

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!


Привет, Хабр! Меня зовут Олег, я архитектор клиентских решений в Selectel. Недавно мы столкнулись с интересным клиентским кейсом при создании Full-Mesh сети. Расскажу, как пришлось тестировать VPN-сервисы, чтобы найти оптимальное решение.

Все результаты собрал в сводной таблице, чтобы наглядно показать разницу и аргументировать выбор.

К нам обратился клиент с задачей по переносу данных с арендованных выделенных серверов одного популярного в России поставщика услуг из Германии. На то было две причины:

  • Невозможность простой и быстрой оплаты услуг, поскольку привязанная карта российского банка перестала работать.
  • Защита от возможной эскалации санкционного давления (то есть полный запрет работы).

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

C чем мы столкнулись


Компания арендовала в Германии такую инфраструктуру:

  • два сервера-гипервизора на базе Qemu/KVM с управлением через libvirtd,
  • два сервера c Docker-контейнерами для разработчиков и их заказной CRM/ERP-системой,
  • несколько виртуальных машин на Linux и Windows Server 2019.

Со схемой можно ознакомиться ниже:

Сначала мы изучили текущее клиентское решение и предложили на его основе свою схему миграции, которая бережно относилась к текущей IT-инфраструктуре и при этом не теряла в отказоустойчивости.

Далее мы занялись обеспечением сетевой связности на втором уровне стека протоколов TCP/IP. Так мы смогли обеспечить клиенту «бесшовный» перенос виртуальных машин и сохранить IP-адреса. Чтобы оптимизировать бюджет, клиент выбрал серверы линейки Chipcore, в которых отсутствует «приватная сеть».

На этапе миграции остановились на следующей организации сетевой топологии. Так мы обеспечили единую L2-связность между дата-центром Selectel и зарубежным ЦОД:


Потенциальные кандидаты


Дело осталось за малым — подобрать VPN, который прост в настройке, поддерживает L2, полносвязную топологию и использует быстрые, криптостойкие алгоритмы шифрования.

Вариант с Wireguard был отброшен сразу: он не работает по L2, только по L3, хотя продукт достойный.

OpenVPN — в данном случае не лучший выбор, так как имеет клиент-серверную архитектуру. В случае возникновения проблем или при регламентном обслуживании сервера связность на L2 потеряется. Нам не хотелось создавать точку отказа.

Во время миграции можно было бы использовать OpenVPN, но хотелось сразу подготовить решение, которое не нужно дорабатывать.

Рассматривались следующие варианты:

  • fastd,
  • VpnCloud,
  • Tinc.

Стоит отметить, что у разработчика VpnCloud удобный сайт. Есть подробные описания, проведены синтетические тесты и сравнены результаты, много «теории» и т.д. Есть даже таблица сравнения возможностей ПО:


К сожалению, там нет даже упоминания fastd, который использовался в проекте.

Выбирать, основываясь на субъективном мнении пользователей и разработчиков, не хотелось, поэтому решили провести лабораторное тестирование VPN-систем и составить свое предвзятое мнение
Источник: https://habr.com/ru/company/selectel/blog/697128/


Интересные статьи

Интересные статьи

Относительная доступность методов секвенирования ДНК и большое количество доступной в открытых источниках генетической информации сделала актуальной разработку нейронных сетей, предназначенных для ана...
...Что, если бы мы могли сделать наш код полностью пригодным для тестирования таким образом, чтобы от нас не требовалось вводить какие-либо новые протоколы, всевозможные моки или сложные абстракции? Д...
Осень, ковид, «нерабочие дни». Это у разработчиков рабочее место там, где есть компьютер. А вот тестировщикам мобильных приложений на удалёнке гораздо сложнее: им, помимо прочего, нужно много девайсов...
Нередко при работе с Bitrix24 REST API возникает необходимость быстро получить содержимое определенных полей всех элементов какого-то списка (например, лидов). Традиционн...
На практике в подавляющем большинстве вы не будете иметь дело с созданием новых моделей и обучением их с нуля на клиентской стороне. Чаще всего придется создавать мо...