strongSwan VPN Client 应用
官方的 Android 移植版流行的 strongSwan VPN 解决方案。
功能与限制
- 使用 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
如果您这样做,请提供有关您的设备的信息(制造商、型号、操作系统版本等)。
密钥交换服务生成的日志文件可以直接从应用程序内发送。










