diff --git a/README-zh.md b/README-zh.md
index f824a36..3d66ff3 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -129,7 +129,7 @@ VPN_PASSWORD='你的VPN密码' sh vpnsetup.sh
**配置 IPsec/XAuth ("Cisco IPsec") VPN 客户端**
-**如何配置 IKEv2 VPN: Windows 7 和更新版本**
+**如何配置 IKEv2 VPN: Windows 和 Android**
如果在连接过程中遇到错误,请参见 故障排除。
diff --git a/README.md b/README.md
index c8b14ac..b1f42d8 100644
--- a/README.md
+++ b/README.md
@@ -129,7 +129,7 @@ Get your computer or device to use the VPN. Please refer to:
**Configure IPsec/XAuth ("Cisco IPsec") VPN Clients**
-**How-To: IKEv2 VPN for Windows 7 and above**
+**How-To: IKEv2 VPN for Windows and Android**
If you get an error when trying to connect, see Troubleshooting.
diff --git a/docs/ikev2-howto-zh.md b/docs/ikev2-howto-zh.md
index 2635661..b591822 100644
--- a/docs/ikev2-howto-zh.md
+++ b/docs/ikev2-howto-zh.md
@@ -1,4 +1,4 @@
-# 如何配置 IKEv2 VPN: Windows 7 和更新版本
+# 如何配置 IKEv2 VPN: Windows 和 Android
*其他语言版本: [English](ikev2-howto.md), [简体中文](ikev2-howto-zh.md).*
@@ -10,9 +10,14 @@
Windows 7 和更新版本支持 IKEv2 协议标准,通过 Microsoft 的 Agile VPN 功能来实现。因特网密钥交换 (英语:Internet Key Exchange,简称 IKE 或 IKEv2)是一种网络协议,归属于 IPsec 协议族之下,用以创建安全关联 (Security Association, SA)。与 IKE 版本 1 相比较,IKEv2 的功能改进包括比如通过 MOBIKE 实现 Standard Mobility 支持,以及更高的可靠性。另外,IKEv2 支持同时连接在同一个 NAT(比如家用路由器)后面的多个设备到 VPN 服务器。
-Libreswan 支持通过使用 RSA 签名算法的 X.509 Machine Certificates 来对 IKEv2 客户端进行身份验证。该方法无需 IPsec PSK, 用户名或密码。下面举例说明如何在 Libreswan 上配置 IKEv2。以下命令必须用 `root` 账户运行。
+Libreswan 支持通过使用 RSA 签名算法的 X.509 Machine Certificates 来对 IKEv2 客户端进行身份验证。该方法无需 IPsec PSK, 用户名或密码。它可以用于以下系统:
-在继续之前,请确保你已经成功 搭建自己的 VPN 服务器。
+- Windows 7, 8.x 和 10
+- strongSwan Android VPN 客户端
+
+下面举例说明如何在 Libreswan 上配置 IKEv2。以下命令必须用 `root` 账户运行。
+
+在继续之前,请确保你已经成功地 搭建自己的 VPN 服务器,并且已经将 Libreswan 升级到最新版本。
1. 获取 VPN 服务器的公共 IP 地址,将它保存到变量并检查。
@@ -186,11 +191,22 @@ Libreswan 支持通过使用 RSA 签名算法的 X.509 Machine Certificates 来
1. (可选步骤) 如需启用更安全的加密方式,你可以添加 这个注册表键 并重启。
+ #### Android 4.x 和更新版本
+
+ 1. 从 **Google Play** 安装 strongSwan VPN Client。
+ 1. 打开 VPN 客户端,然后单击 **Add VPN Profile**。
+ 1. 在 **Server** 字段中输入 `你的 VPN 服务器 IP`。
+ 1. 在 **VPN Type** 下拉菜单选择 **IKEv2 Certificate**。
+ 1. 单击 **Select user certificate**,然后单击 **Install certificate**。
+ 1. 选择你从服务器复制过来的 `.p12` 文件,并按提示操作。
+ 1. 保存新的 VPN 连接,然后单击它以开始连接。
+
1. 连接成功后,你可以到 这里 检测你的 IP 地址,应该显示为`你的 VPN 服务器 IP`。
## 已知问题
-Windows 自带的 VPN 客户端不支持 IKEv2 fragmentation。在有些网络上,这可能会导致连接错误或其它连接问题。你可以尝试 修改注册表,或者换用 IPsec/L2TP 或 IPsec/XAuth 模式连接。
+1. Windows 自带的 VPN 客户端可能不支持 IKEv2 fragmentation。在有些网络上,这可能会导致连接错误或其它连接问题。你可以尝试换用 IPsec/L2TP 或 IPsec/XAuth 模式连接。
+1. 如果你使用 strongSwan Android VPN 客户端,则必须将服务器上的 Libreswan 升级到版本 3.26 或以上。
## 参考链接
@@ -198,3 +214,4 @@ Windows 自带的 VPN 客户端不支持 IKEv2 fragmentation。在有些网络
* https://libreswan.org/wiki/HOWTO:_Using_NSS_with_libreswan
* https://libreswan.org/man/ipsec.conf.5.html
* https://wiki.strongswan.org/projects/strongswan/wiki/WindowsClients
+* https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVpnClient
diff --git a/docs/ikev2-howto.md b/docs/ikev2-howto.md
index 5cbe306..a8f7832 100644
--- a/docs/ikev2-howto.md
+++ b/docs/ikev2-howto.md
@@ -1,4 +1,4 @@
-# How-To: IKEv2 VPN for Windows 7 and above
+# How-To: IKEv2 VPN for Windows and Android
*Read this in other languages: [English](ikev2-howto.md), [简体中文](ikev2-howto-zh.md).*
@@ -10,9 +10,14 @@
Windows 7 and newer releases support the IKEv2 standard through Microsoft's Agile VPN functionality. Internet Key Exchange (IKE or IKEv2) is the protocol used to set up a Security Association (SA) in the IPsec protocol suite. Compared to IKE version 1, IKEv2 contains improvements such as Standard Mobility support through MOBIKE, and improved reliability. In addition, IKEv2 supports connecting multiple devices simultaneously from behind the same NAT (e.g. home router) to the VPN server.
-Libreswan can authenticate IKEv2 clients on the basis of X.509 Machine Certificates using RSA signatures. This method does not require an IPsec PSK, username or password. The following example shows how to configure IKEv2 with Libreswan. Commands below must be run as `root`.
+Libreswan can authenticate IKEv2 clients on the basis of X.509 Machine Certificates using RSA signatures. This method does not require an IPsec PSK, username or password. It can be used with:
-Before continuing, make sure you have successfully set up your VPN server.
+- Windows 7, 8.x and 10
+- strongSwan Android VPN client
+
+The following example shows how to configure IKEv2 with Libreswan. Commands below must be run as `root`.
+
+Before continuing, make sure you have successfully set up your VPN server, and upgraded Libreswan to the latest version.
1. Find the VPN server's public IP, save it to a variable and check.
@@ -186,11 +191,22 @@ Before continuing, make sure you have successfully this registry key and reboot.
+ #### Android 4.x and newer
+
+ 1. Install strongSwan VPN Client from **Google Play**.
+ 1. Launch the VPN client and tap **Add VPN Profile**.
+ 1. Enter `Your VPN Server IP` in the **Server** field.
+ 1. Select **IKEv2 Certificate** from the **VPN Type** drop-down menu.
+ 1. Tap **Select user certificate**, then tap **Install certificate**.
+ 1. Choose the `.p12` file you copied from the VPN server, and follow the prompts.
+ 1. Save the new VPN connection, then tap to connect.
+
1. Once successfully connected, you can verify that your traffic is being routed properly by looking up your IP address on Google. It should say "Your public IP address is `Your VPN Server IP`".
## Known Issues
-The built-in VPN client in Windows does not support IKEv2 fragmentation. On some networks, this can cause the connection to fail or have other issues. You may try this registry fix, or connect using IPsec/L2TP or IPsec/XAuth mode instead.
+1. The built-in VPN client in Windows may not support IKEv2 fragmentation. On some networks, this can cause the connection to fail or have other issues. You may instead try the IPsec/L2TP or IPsec/XAuth mode.
+1. If using the strongSwan Android VPN client, you must upgrade Libreswan on your server to version 3.26 or above.
## References
@@ -198,3 +214,4 @@ The built-in VPN client in Windows does not support IKEv2 fragmentation. On some
* https://libreswan.org/wiki/HOWTO:_Using_NSS_with_libreswan
* https://libreswan.org/man/ipsec.conf.5.html
* https://wiki.strongswan.org/projects/strongswan/wiki/WindowsClients
+* https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVpnClient