Как установить VPN-соединение (Cisco IPSec Xauth PSK) в моем приложении для Android вместо того, чтобы активировать его с помощью встроенного в Android инструмента VPN?

Я разрабатываю приложение, в котором мне нужно подключиться к удаленному серверу через VPN. В настоящее время я использую встроенный в Android инструмент для настройки и подключения VPN (Настройки>Дополнительно>VPN>...), который мне приходится активировать и деактивировать несколько раз во время использования приложения (сервер блокирует другое подключение к Интернету при подключении, хотя это VPN, поэтому я хочу установить его только время от времени).

Вот конфигурация, необходимая для этого VPN-подключения: Имя: произвольное Тип: IPSec Xauth PSK Адрес сервера: известный Идентификатор IPSec: известный Предварительно общий ключ IPSec: известный Имя пользователя: известный Пароль: известный

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

Я также знаю, что есть класс VpnService, но я думаю, что он намного сложнее, чем то, что мне нужно. Я видел предложения по использованию исходного кода OpenVPN, но не знаю, где его взять. Это в качестве примера: Android: пример кода для подключения к VPN в Android 4.0 с использованием VPNService API

Возможно ли иметь этот встроенный VPN? Может ли кто-нибудь дать мне подсказку о том, как его кодировать? заранее спасибо

РЕДАКТИРОВАТЬ: я также обнаружил здесь, что невозможно настроить L2TP/IPSec, будет ли это также применяться к IPSec Xauth PSK?? Программно создать базу L2TP/IPSec VPN на VpnService в Android< /а>


person Frederik    schedule 10.02.2020    source источник
comment
Мне нужно только понять, куда идти, любая помощь приветствуется!   -  person Frederik    schedule 10.02.2020
comment
В настоящее время я настраиваю сервис (новый для меня, новичок в Java), с помощью которого можно активировать/деактивировать VPN.   -  person Frederik    schedule 10.02.2020
comment
В следующем сообщении stackoverflow.com/questions/50021979/ Говорят, что IPSec и L2TP недоступны (встроенные в Android инструменты VPN) в последних версиях Android. Доступны ли они, например, в Android 7.0?   -  person Frederik    schedule 10.02.2020
comment
Я продолжаю находить людей, задающих одни и те же (или очень похожие) вопросы, на которые до сих пор нет полного ответа, в этом случае также с L2TP/IPSec: stackoverflow.com/questions/56966665/   -  person Frederik    schedule 10.02.2020