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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: OpenVPN  (Прочитано 959 раз)

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

Оффлайн Crowford

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
OpenVPN
« : 02 Февраля 2022, 12:48:05 »
Доброго времени суток всем читающим!
Столкнулся с задачей и не могу придумать ее решения, потому буду благодарен за любую помощь, совет, ссылку на источники.

Имеется: установлен openvpn-server; есть машина с ЦС(центр сертификации);
В данный момент используем впн в качестве закрытия внешних ресурсов, например прячем под него графану, прометеус и тд.
Соответственно, доступ до них исключительно для авторизованных через впн пользователей.

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

Есть ли какой-то способ, при запросе из приложения, автоматически выпускать клиентскую конфигурацию? Быть может есть более простое и красивое решение?

Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 707
    • Просмотр профиля
Re: OpenVPN
« Ответ #1 : 02 Февраля 2022, 15:23:36 »
Я наверное не совсем понял суть задачи, но у openVPN клиента есть виджет, который позволяе проводить подключение прям с рабочего стола сартфона одним нажатием. Причем виджет устанавливается на профиль, т.е. если у тебя 2 профиля или больше- то просто можно на рабочем столе разместить 2-3 и т.д. виджетов профилей.

Оффлайн Crowford

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: OpenVPN
« Ответ #2 : 03 Февраля 2022, 08:44:26 »
Суть понял, но это не совсем то что нужно.
Есть мобильное приложение с личным кабинетом, там есть кнопка "подключиться к VPN".
Необходимо чтобы при нажатии на эту кнопку, пользователь мог подключиться к нашему VPN.
Подход с профилями отпадает, т.к. если у нас поток будет 10-100к пользователей, то создавать на каждого профили - не целесообразно и невозможно физически.

Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 707
    • Просмотр профиля
Re: OpenVPN
« Ответ #3 : 03 Февраля 2022, 10:46:09 »
если у нас поток будет 10-100к пользователей
Ну, тогда очевидно, что стандартная конфигурация OpenVPN отпадает, т.к. сама его концепция предполагает наличие все-таки неких уникальных идентификаторов (ключи-сертификаты-пароли), которые однозначно идентифицируют именно этого пользователя на сервере и которые выдаются и генерируются админом на сервере и выдаются пользователям ... А стандартный клиент не предполагает какого то двухстороннего обмена с сервером по реализации этой задачи.
Тебе же надо какое то enterprise решение, вроде тех, на которых работает NordVPN или ExpressVPN, со своим модулем регистрации и администрирования пользователей на сервере и отдельным клиентом, который поддерживает запросы к серверу на регистрацию, биллинг, получение учетных данных и т.д. При этом все это хозяйство может работать и на OpenVPN, протокол то может быть любой. Но самое главное, это генерирование клиентских конфигов, которые в стандартном клиенте происходят только руками. Если не использовать стандартный клиент, а использовать возможности системы, то нужно писать отдельное приложение для этих целей, например для Android есть стандартные библиотеки со своими классами, можно написать сервис, который будет биндить запросы к конфигурации VPN настроек с интерфейсом системы.
https://developer.android.com/reference/android/net/VpnService

Что-то более-менее похожее, что приходит в голову - это OpenVPN Access Server, это их коммерческая разработка, стоит порядка $15тыс. в год для 1000 пользователей. https://openvpn.net/access-server/
Правда как у них реализовано подключение новых пользователей я не в курсе, посмотри по ссылке.

Другое решение: вопрос "при запросе из приложения, автоматически выпускать клиентскую конфигурацию" - вполне реализуем, и даже реализуем вопрос получения обратно клиентом ключей и регистрационных данных, надо только написать подобное приложение :) Готовых сторонних решений, тем более opensource я что-то не припомню.
« Последнее редактирование: 03 Февраля 2022, 11:08:11 от AlexDem »

 

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