Руководство пользователя VPNaaS
Для создания сервера VPN необходима лицензия VPNaaS. Как только данная лицензия будет получена, появится вкладка в левом боковом меню VPNaaS.
Что нужно для создания VPN сервера
В проекте должна быть хотя бы одна внешняя сеть с маршрутизацией в интернет (желательно с публичным адресом).
Если публичный адрес есть — именно он будет точкой входа для внешних подключений пользователей к сетям облака.
Если его нет, то создаваемый VPN сервер сам определяет публичный адрес маршрутизатора через Dynamic DNS. В этом случае нужно будет открыть выбранный порт на маршрутизаторе для перенаправления трафика на внутренний адрес.
При создании VPN сервер также получит и DNS-имя, по которому можно будет инициировать подключения.
Нужно убедиться, что в списке образов в проекте доступен образ с тэгом
vpn-image. ВМ на его основе и будет являться VPN-сервером.
Как создать сервер VPN
Перейти в раздел VPNaaS.
Нажать Создать VPN сервер.
Выбрать имя и внешнюю сеть (см. предыдущий пункт).
Подождать около 5 минут.
Настройка VPN сервера
Нажать в реестре VPN серверов на имя сервера.
Откроется страница деталей сервера (эта страница считается базовой точкой отсчёта).
Доступные действия:
Просмотр логов сервера (Лог сервера).
Изменение имени и описания (Редактировать).
В секции Подробности нажать Изменить настройки.
Доступные параметры:
- Site-to-site режим
По умолчанию сервер работает в клиентском режиме (динамические адреса для клиентов, доступ к подсетям облака, NAT для ВМ). В режиме site-to-site сервер становится прозрачным, клиенты и ВМ видят подсети друг друга, адреса статичны. Часто применяется для объединения географически разнесённых сегментов.
- TURN-proxy
Позволяет серверу принимать подключения даже без публичного адреса/открытого порта, используя доверенный сервер в Azure. Подключение по SSTP через DNS-имя TURN-прокси.
- Пользовательский TURN-proxy
Включается при активации TURN-proxy. Позволяет указать собственный сервер, порт и пароль для прокси в вашей инфраструктуре.
- Порты UDP
Определяет список портов UDP для VPN соединений. VPNaaS слушает все протоколы на одних и тех же портах. Например,
1194может использоваться и для OpenVPN, и для WireGuard.
- Порты TCP
Аналогично UDP. Важно: порт
443/TCPзакрывать нельзя, через него происходит настройка сервера.
- Общий секретный ключ (PSK)
Для IPSec-протоколов указывается Pre-shared key.
- Протоколы
Выбор доступных протоколов (список отличается для client и site-to-site режима).
Клиентский режим
Если выбран клиентский режим работы сервера, в деталях сервера доступна секция Hub. В ней доступны следующие настройки:
Авторизация — интеграция с внешними службами. Варианты:
Keystone — авторизация через облако moncloud (логины и пароли пользователей проекта).
Radius — требует настройки сервера, порта и общего ключа.
Windows AD/ND — авторизация через Active Directory/ND, требует указания сервера, порта и ключа.
LDAP — требует указания сервера, DN, фильтров. Пример сервера: ldap://ipa.demo1.freeipa.org. Пользователь указывается полностью, например: uid=admin,cn=users,cn=accounts,dc=demo1,dc=freeipa,dc=org. Base DN: dc=demo1,dc=freeipa,dc=org. Фильтр для проверки принадлежности к группе: «cn=vpn-office,cn=groups,dc=demo1,dc=freeipa,dc=org».
Включен шлюз — при активации весь трафик клиента выходит через VPN сервер. Для доступа только к сетям облака параметр рекомендуется выключить.
DNS и резервный DNS — указываются DNS-серверы для туннельного интерфейса VPN соединения.
CIDR подсети — диапазон адресов для клиентов в нотации CIDR.
Дополнительные маршруты — задаются дополнительные сети, доступные через VPN (например, MGMT-сеть VPN сервера или другие сети организации). Будьте внимательны и не допускайте пересечения адресов с подключенными подсетями облака и клиентской подсетью.
Лимит пользователей WireGuard — резервирование статических адресов под клиентов WG. Протокол WireGuard не поддерживает динамическое выделение адресов. Если WG не планируется использовать, рекомендуется выставить 0.
Режим site-to-site
Если выбран site-to-site режим работы сервера, в деталях сервера доступна секция Bridge. В ней доступны следующие настройки:
Дополнительные маршруты (right subnet) — добавление подсетей, доступных через VPN (например, MGMT-сеть VPN сервера или другие сети организации). Будьте внимательны и не допускайте пересечения адресов с подключенными подсетями облака и клиентской подсетью.
Подсети для пользователя (left subnet) — назначение клиентских подсетей, видимых в облаке через гейтвей в режиме прозрачности. Эти подсети принадлежат инфраструктуре клиента. Для каждого пользователя список подсетей задаётся отдельно. Для связи site-to-site между двумя клиентами подсети соседа нужно указать в «Дополнительных маршрутах».
Подключение подсетей
Нажать в реестре VPN серверов на имя сервера.
Открыть вкладку Подсети. Здесь отображаются все подсети проекта с external=False (исключая подсети VPN серверов).
Нажать на троеточие у выбранной подсети и выбрать Подключить/Отключить. После этого маршрут к выбранной подсети будет добавлен/удален у клиентов. Подсеть не обязана иметь роутер в качестве гейтвея (если его нет, то он будет подключен автоматически).
Пользователи
Создание пользователя:
Нажать Создать пользователя.
Задать имя (уникальное) и опционально описание.
Выбрать метод авторизации:
Без пароля — небезопасный вариант (только для WireGuard). OpenVPN авторизует с любым паролем, остальные - не авторизуют вовсе.
По паролю — стандартный вариант. Работает со всеми протоколами, кроме WireGuard.
LDAP/Keystone/Radius/Windows AD/ND — при включённых внешних сервисах.
Установить ограничения (максимальное число TCP-сессий, входящая/исходящая пропускная способность в Мбит/с). Ограничения применяются к одному пользователю.
Указать количество создаваемых пользователей. Если больше 1, имена будут: <имя>_<номер>. Политики из п.4 применяются к каждому пользователю отдельно. При создании нескольких пользователей с паролем, пароль у всех будет одинаковым.
Указать группу. У пользователя может быть только одна группа.
Редактирование пользователя: Через меню (троеточие). Можно изменить все поля, сбросить их или заполнить заново.
Удаление пользователя: Через меню (троеточие) -> Удалить пользователя.
Деактивация/Активация: Через меню (троеточие). Деактивация запрещает подключение, но не разрывает активные соединения. Чтобы разорвать соединения, нужно перейти во вкладку Подключения и отключить пользователя там.
Скачивание конфигурации:
Через детали сервера:
Нажать на троеточие в правом верхнем углу деталей сервера.
Выбрать Скачать конфигурацию.
Выбрать протокол (WireGuard или OpenVPN).
Выбрать пользователя/пользователей (для OpenVPN в режиме site-to-site или WireGuard). Конфиги нескольких пользователей скачиваются архивом.
Альтернативно для WireGuard:
Перейти в детали пользователя, нажав на его имя.
Нажать Загрузить конфиг Wireguard в панели справа.
Сброс конфигурации (WireGuard): Через меню (троеточие) -> Сбросить конфигурацию. Позволяет выдать новый конфиг, не меняя политик.
Добавление пользователя в группу: Через меню (троеточие) -> Добавить пользователей в группу -> выбрать группу.
Удаление пользователя из группы: Через меню (троеточие) -> Исключить из группы.
Массовые операции над пользователями: Операции «Исключить из группы», «Добавить пользователей в группу», «Удалить», «Активировать», «Деактивировать», «Сбросить конфигурацию» доступны в верхней панели вкладки Пользователи. Для использования нужно выбрать несколько пользователей (кружок рядом с именем) и нажать соответствующую кнопку.
Группы пользователей
Создание группы:
Нажать Создать группу.
Задать уникальное имя и опционально описание.
Установить ограничения (максимальное число TCP-сессий, входящая/исходящая пропускная способность в Мбит/с). Ограничения применяются ко всем пользователям в группе СУММАРНО.
Редактирование группы: Через меню (троеточие). Можно изменить все поля.
Деактивация/активация группы: Через меню (троеточие). Деактивация запрещает подключение всем пользователям группы (независимо от их личного статуса), но не разрывает активные соединения.
Удаление группы: Через меню (троеточие) -> Удалить группу.
Массовые операции над группами: Операции «Удалить», «Активировать», «Деактивировать» доступны в верхней панели вкладки Группы. Нужно выбрать несколько групп (кружок рядом с именем) и нажать кнопку.
Создание пользователя сразу в группе: 1. Перейти в детали группы, нажав на её имя. 2. Нажать Создать пользователя. Группа будет уже выбрана.
Добавление пользователей в группу: 1. Перейти в детали группы, нажав на её имя. 2. Нажать Добавить пользователей в группу. 3. Выбрать пользователей (видны только те, кто не в этой группе) и нажать ОК.
Управление подключениями
Во вкладке Подключения отображаются все пользователи, которые когда-либо подключались.
Статус «Активен» — пользователь подключен. Подробности в Открытые сессии, статистика в Статистика подключения.
Принудительное отключение — через меню (троеточие) на карточке активного пользователя -> Отключить.
Массовое отключение — поддерживается через выбор нескольких пользователей в верхней панели.
ACL
По умолчанию в VPNaaS любой трафик разрешен.
Создание ACL:
Нажать Создать ACL.
Указать параметры:
Описание — произвольное описание.
Приоритет — меньшее число = выше приоритет.
Заблокировать — флаг для запрещающего правила.
Протокол — TCP, UDP или IP (для всех протоколов).
Диапазон портов отправителя/назначения — например,
80или80:100.Адрес подсети отправителя/назначения (CIDR) — например,
10.100.2.0/24или10.100.2.12/32для хоста.Пользователь/группа отправителя или получателя — можно указать вместо адреса, если отправитель/получатель — клиент VPN.
Примеры правил:
Пример 1. Ограничение доступа к серверу бухгалтерии (192.168.10.5/32). Запрет всем, кроме группы Accountants. Правило-запрет (приоритет 10, протокол IP, адрес назначения 192.168.10.5/32). Правило-исключение (приоритет 5, протокол TCP, порт назначения 445, адрес назначения 192.168.10.5/32, отправитель: группа Accountants).
Пример 2. Запрет доступа клиентов VPN (10.100.2.0/24) к офисной сети (10.50.0.0/16) в режиме site-to-site. Приоритет 50, протокол IP, адрес отправителя 10.100.2.0/24, адрес назначения 10.50.0.0/16, флаг «Заблокировать» включен.
Пример 3. Блокировка torrent-трафика (порты 6881–6889 TCP) для всех. Приоритет 100, протокол TCP, порт назначения 6881:6889, флаг «Заблокировать» включен.
Пример 4. Изоляция клиентов (запрет общения внутри подсети 10.100.2.0/24). Приоритет 10, протокол IP, адрес отправителя 10.100.2.0/24, адрес назначения 10.100.2.0/24, флаг «Заблокировать» включен. После него должно быть разрешающее правило с низким приоритетом.
Пример 5. RDP-доступ (3389/TCP) только для admin_john к серверу 172.16.10.10. Правило-запрет для всех (приоритет 20, протокол TCP, порт назначения 3389, адрес назначения 172.16.10.10/32). Правило-исключение (приоритет 10, протокол TCP, порт назначения 3389, адрес назначения 172.16.10.10/32, отправитель: пользователь admin_john).