Как настроить подключение к VPN в Android по протоколу IKEv2/IPsec?
Необходимо написать приложение для подключения к VPN серверам. Подключение должно осуществляться по протоколу IKEv2/IPsec. Есть какие-нибудь библиотеки или статьи как это можно реализовать? Стандартный VpnService под это дело не подходит, насколько я понимаю
korvin2, естественно, нативный софт лучшее решение всегда, в большей части случаев. Нативные впн клиенты в любой ОС есть и они работают, исключение - всякая гадость вроде openVPN или прочих проприетарных впн, куда надо свой клиент втыкать обязательно.
Keffer, сам клиент то да, но в вопросе я имел в виду решение через код. В целом знаю, что через саму ОС ручками можно подключиться к такому протоколу, но в гугле из программных решений почему-то все советуют писать приложение на основе strongswan (даже AlexVWill так же ответил здесь)
korvin2, во 1-х потому что далеко не все девайсы поддерживают IKE2, если я правильно путаю, поддержка появилась то ли с 11, то ли с 12 версии, а во
2-х задача была написать приложение, а стандартный Android клиент довольно убог, и не позволяет реализовать некоторые настройки, например переадресацию DNS, исключение подсетей, и пр. вещи. Но базовый функционал работать должен.
AlexVWill, Базовый функционал это: 1) Подключение к серверу IKEv2, по сертификатам или PSK, 2) создание в системе маршрута 0.0.0.0/0 для этого подключения. ВСЕ. Эти ваши переадресации днс, подсети и прочее - от лукавого. Все это разруливается на впн-сервере по правилам нужным. Поведение трафика, перенаправление запросов и прочее.
korvin2, Все еще открыт вопрос, ЗАЧЕМ писать приложение. Чтобы что делать? Просто подключение - нативный клиент прекрасно работающий. В чем сакральный смысл написания приложения для того что и так работает? Изобретение велосипеда по факту.
Эти ваши переадресации днс, подсети и прочее - от лукавого.
Ты случайно не пользователь Apple? )))
Это ты просто от непонимания вопроса утверждаешь. А это базовые вещи, которые нужны. Например исключение подсетей не дает для адресов твоей внутренней сети направлять пакеты через VPN, соответственно видны внутренние ресурсы домашней сети, прописывание DNS позволяет устанавливать блокировки рекламы через DNS запросы если нет своего DNS сервера и так далее... И это делается только на клиентской части. Да и не все хотят что-то делать на сервере, что затронет всех пользователей VPN, если часть функционала можно на клиенте реализовать.
Если какой то функционал был в клиенте прописан - то он был там не от балды прописан, а был затребован пользователями, и ими же реализовывался. Если это не надо тебе - это не значит что он не нужен другим