strongSwan VPN Client 앱
인기 있는 strongSwan VPN 솔루션의 공식 Android 포트입니다.
기능 및 제한 사항
- Android 4+에서 제공하는 VpnService API를 사용합니다. 일부 제조사의 기기는 이 기능을 지원하지 않는 것 같습니다 - 이러한 기기에서는 strongSwan VPN 클라이언트가 작동하지 않습니다!
- IKEv2 키 교환 프로토콜을 사용합니다 (IKEv1은 지원되지 않음)
- 데이터 트래픽에 IPsec를 사용합니다 (L2TP는 지원되지 않음)
- MOBIKE(또는 재인증)를 통한 변경된 연결 및 이동성에 대한 완전한 지원
- 사용자 이름/비밀번호 EAP 인증(EAP-MSCHAPv2, EAP-MD5 및 EAP-GTC)과 RSA/ECDSA 개인 키/인증서 인증을 지원하며, 클라이언트 인증서가 있는 EAP-TLS도 지원합니다
- RFC 4739에서 정의된 두 개의 인증 라운드를 사용하여 RSA/ECDSA 및 EAP 인증의 조합을 지원합니다
- VPN 서버 인증서는 시스템에 미리 설치된 CA 인증서 또는 사용자가 설치한 인증서와 대조하여 검증됩니다. 서버 인증을 위해 사용되는 CA 또는 서버 인증서는 앱에 직접 가져올 수도 있습니다.
- VPN 서버가 지원하는 경우 IKEv2 단편화가 지원됩니다 (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: 일부 Android 버전에서 외부 저장소에서 VPN 프로필 및 CA 인증서를 가져올 수 있도록 허용합니다
- QUERY_ALL_PACKAGES: Android 11+에서 VPN 프로필에 포함할 앱을 선택하기 위해 필요하며 선택적 EAP-TNC 사용 사례에 필요합니다
예제 서버 구성
예제 서버 구성은 저희 문서에서 확인할 수 있습니다: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
앱에서 VPN 프로필로 구성된 호스트 이름(또는 IP 주소)은 서버 인증서의 subjectAltName 확장에 반드시 포함되어야 합니다.
피드백
버그 보고서 및 기능 요청은 GitHub를 통해 게시해 주세요: https://github.com/strongswan/strongswan/issues/new/choose
이 경우, 기기 정보(제조사, 모델, OS 버전 등)를 포함해 주세요.
키 교환 서비스에서 작성된 로그 파일은 애플리케이션 내에서 직접 전송할 수 있습니다.










