Wireguard Для Kubernetes И Удобный Графический Интерфейс



Wireguard для Kubernetes и удобный графический интерфейс

Могу ли я еще раз выразить свою любовь к [WireGuard] и надеяться, что он скоро будет объединен? Возможно, код не идеален, но я его просмотрел, и по сравнению с ужасами OpenVPN и IPSec, это произведение искусства.

Линус Торвальдс, в списке рассылки ядра Linux

Я уверен, что многие уже слышали о Wireguard. Некоторые даже ощупывали их вживую.

Мне он очень понравился в производстве, как с точки зрения производительности, так и с точки зрения простоты настройки.

Да, в IPSEC VPN нет миллиона загадочных конфигураций на все случаи жизни вроде OpenVPN и XFRM+StrongSwan. Он простой и лаконичный как по коду, так и по конфигам.

Пройдет совсем немного времени, и он станет толстым и неуклюжим.

Короче говоря, это позитивный вариант сценария «сжечь наследие и написать всё как надо».

Я решил не писать очередное руководство о том, «как я установил Wireguard», а поделиться некоторыми полезными утилитами.

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

Давайте рассмотрим использование этого VPN для связи между узлами в разных кластерах Kubernetes, несколько веб-интерфейсов для генерации и парочку полезных ресурсов.



Зачем это вообще нужно?

Ключевой вопрос.

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

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

Если вы платите за используемые ресурсы или планируете арендовать виртуальные машины с учетом пиковых нагрузок, то этот тип VPN также сэкономит вам деньги.

Не думаю, что нужно объяснять, почему плохо пересылать трафик по открытым сетям между отдельными узлами.



Wireguard для Kubernetes и удобный графический интерфейс

Источник: www.wireguard.com/ Performance Более того, стоит обратить внимание на то, что он включен в ядро начиная с Linux 5.6, а с весны этого года он также включен в основную ветку ядра Android, что дает нам отличную энергоэффективность на мобильные телефоны.

Хотя, надо сказать, что до этого особой нагрузки на батарею телефона не было.



Kilo — Wireguard для Kubernetes

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

Причины разные - отказоустойчивость, хорошее присутствие в регионе и низкие пинги.

Иногда цены указаны за конкретный товар.

Например, вы можете запускать интерфейсную и основную логику на своих собственных серверах и переносить задачи, требовательные к графическому процессору, на экземпляры AWS. Как это работает? Kilo требует наличия модуля ядра Wireguard на всех узлах.

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

Далее на каждом узле кластера запускается агент «kg», настраивающий приватный и публичный ключи для организации VPN. Правила маршрутизации трафика между отдельными регионами также настраиваются автоматически.

Kilo также может работать совместно с другими сетевыми решениями для кластеров, такими как Flannel. В этом случае kilo будет обеспечивать связь между регионами, а Flannel позаботится о трафике внутри одной локации.

При построении топологии сети он опирается на топология.

kubernetes.io/регион , но вы можете отмечать регионы вручную.

Требования:

  • Ядро новее 5.6 или отдельный модуль Wireguard
  • Белые IP для узлов для организации прямого соединения между ними.

Для получения дополнительной информации см.

прошлогоднее выступление разработчиков на форумах Kubernetes в Сеуле и документация .



wg-gen-web



Wireguard для Kubernetes и удобный графический интерфейс

Что называется «еще один генератор конфигов».

Но очень приятно работать.

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

Дальше вы сами реализуете обновление конфигов на свой вкус.

Ключевые возможности — генерирует удобные QR-коды для мобильных клиентов и отправляет все необходимые данные о подключении клиенту по электронной почте.

Ну, докеризованный, конечно.

Репозиторий здесь .

Развертывание довольно простое:

  
   

docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest



Подпространство



Wireguard для Kubernetes и удобный графический интерфейс

Еще один графический интерфейс для удобной работы со многими клиентскими устройствами.

Основные особенности:

  1. Единый вход с использованием SAML. Вы можете войти в систему с помощью учетной записи Google.
  2. Добавление и удаление устройств в несколько кликов
  3. Генерация индивидуальных конфигов для каждого устройства.

    Ну и QR-код, конечно.

  4. HTTPS от Let's Encrypt «из коробки» и автоматическое перенаправление на порт 443.
Легко развертывается на VPS. Кстати, они у нас есть.

Можем поспать) На сервере должен быть установлен Wireguard и открыты порты: 80/tcp, 443/tcp, 51820/udp (WireGuard).

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

Дальше все вполне типично, просто замените --env SUBSPACE_HTTP_HOST на свой домен:

# Your data directory should be bind-mounted as `/data` inside the container using the `--volume` flag. $ mkdir /data docker create \ --name subspace \ --restart always \ --network host \ --cap-add NET_ADMIN \ --volume /usr/bin/wg:/usr/bin/wg \ --volume /data:/data \ --env SUBSPACE_HTTP_HOST=subspace.example.com \ subspacecloud/subspace:latest $ sudo docker start subspace

Репозиторий здесь .



Вместо выводов

Если вы еще не пробовали этот VPN, я настоятельно рекомендую его.

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

Его также не очень сложно настроить.

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

Любые динамические конфигурации ему недоступны в обычном понимании.

Своеобразная плата за простоту и производительность.

Кстати, если вы еще не в курсе, Wireguard уже есть включен в бета-версию RouterOS 7.1 от МикроТик.

Можно попробовать и сейчас, но, на мой взгляд, он еще сыроват.

Wireguard для Kubernetes и удобный графический интерфейс

Ну и по традиции могу пригласить вас попробовать развернуть Wireguard на нашем VPS .

Например, направить часть трафика домашней сети в Швейцарию или Нидерланды.

У нас много разных локаций и ценовая политика очень приятная для таких задач.

Как я уже говорил, Wireguard очень ресурсоемок, поэтому минимальной конфигурации с 1 ядром и 1 ГБ ОЗУ будет более чем достаточно для поддержки большого количества клиентов.

Цены также вполне приемлемые:



Wireguard для Kubernetes и удобный графический интерфейс



Wireguard для Kubernetes и удобный графический интерфейс

Теги: #Сетевые технологии #Системное администрирование #Администрирование серверов #сети #Настройка Linux #ruvds_articles #ruvds_articles
Вместе с данным постом часто просматривают: