strongSwan VPN Client Приложение
Официальный Android-порт популярного решения VPN strongSwan.
ОСОБЕННОСТИ И ОГРАНИЧЕНИЯ
- Использует API VpnService, доступный в Android 4+. Устройства некоторых производителей, похоже, не поддерживают это - клиент strongSwan VPN не будет работать на этих устройствах!
- Использует протокол обмена ключами IKEv2 (IKEv1 не поддерживается)
- Использует IPsec для передачи данных (L2TP не поддерживается)
- Полная поддержка измененной связи и мобильности через MOBIKE (или повторную аутентификацию)
- Поддерживает аутентификацию EAP с использованием имени пользователя и пароля (в частности, EAP-MSCHAPv2, EAP-MD5 и EAP-GTC), а также аутентификацию пользователей с помощью закрытого ключа/сертификата RSA/ECDSA, также поддерживается EAP-TLS с клиентскими сертификатами
- Поддерживается комбинированная аутентификация RSA/ECDSA и EAP с использованием двух раундов аутентификации, как определено в RFC 4739
- Сертификаты VPN-сервера проверяются по сертификатам CA, предустановленным или установленным пользователем в системе. Сертификаты CA или сервера, используемые для аутентификации сервера, также могут быть импортированы непосредственно в приложение.
- Фрагментация IKEv2 поддерживается, если VPN-сервер поддерживает это (strongSwan поддерживает с версии 5.2.1)
- Разделение туннелей позволяет отправлять только определенный трафик через VPN и/или исключать конкретный трафик из него
- VPN на уровне приложений позволяет ограничить VPN-соединение для определенных приложений или исключить их из его использования
- Текущая реализация IPsec поддерживает алгоритмы AES-CBC, AES-GCM, ChaCha20/Poly1305 и SHA1/SHA2
- Пароли в настоящее время хранятся в открытом виде в базе данных (только если сохранены с профилем)
- VPN-профили могут быть импортированы из файлов
Подробности и журнал изменений можно найти в нашей документации: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html
РАЗРЕШЕНИЯ
- READ_EXTERNAL_STORAGE: Позволяет импортировать VPN-профили и сертификаты CA из внешнего хранилища на некоторых версиях Android
- QUERY_ALL_PACKAGES: Требуется на Android 11+ для выбора приложений для исключения/включения в VPN-профили и в случае использования EAP-TNC
ПРИМЕР КОНФИГУРАЦИИ СЕРВЕРА
Примеры конфигураций серверов можно найти в нашей документации: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
Обратите внимание, что имя хоста (или IP-адрес), настроенное с помощью VPN-профиля в приложении, должно быть содержится в сертификате сервера в качестве расширения subjectAltName.
ОТЗЫВЫ
Пожалуйста, отправляйте сообщения об ошибках и запросы на новые функции через GitHub: https://github.com/strongswan/strongswan/issues/new/choose
Если вы это сделаете, пожалуйста, укажите информацию о вашем устройстве (производитель, модель, версия ОС и т.д.).
Файл журнала, создаваемый службой обмена ключами, может быть отправлен непосредственно из приложения.










