Set Up IKEv2 VPN Server

【2016 年 12 月】之前在阿里云服务器上搭建了 PPTP VPN,但是苹果在最新的 iOS 10 和 macOS Sierra 系统中移除了 PPTP VPN 的选项。所以打算重新搭建一个 IKEv2 VPN。

【2018 年 8 月】之前参考的教程是基于 Ubuntu 16.04 的,而且步骤太复杂了,所以重新写了一个基于 Ubuntu 18.04 的。


Prepare

在开始之前,先检查一下需要准备的东西。

首先,你需要一台有 IPv4 地址的服务器,安装 Ubuntu 18.04 操作系统。

然后,你需要一个域名,绑定到上面提到的 VPN 服务器。(当然直接使用 IP 地址也是可以的,不过比较复杂,后面有贴教程,这里只讨论有域名的情况。)

Steps

服务器和域名都准备好了之后,我们就可以开始操作了。首先 SSH 登录到 VPN Server,依次执行如下命令,然后按照提示一步一步操作就可以了。

git clone https://github.com/jawj/IKEv2-setup.git
cd IKEv2-setup
./setup.sh

当然,你可以随时添加和修改 VPN 用户名和密码。

sudo vi /etc/ipsec.secrets

只要 VPN 用户名和密码符合下面的格式就可以了。

someusername : EAP "somepassword"

修改完成之后别忘了执行下面的命令,让 strongSwan 接受更改,改动才能生效。

sudo ipsec secrets

Connect

一般情况下在脚本跑完之后你会收到一封邮件介绍怎么在 Mac OS X / iOS,Windows,Android,Ubuntu 系统下面连接 IKEv2 VPN。

如果你的服务器没有开通邮件服务,你还可以在你创建的用户目录下面找到对应的配置文件。(比如我的用户目录是 /home/vpn)

== iOS and macOS ==
A configuration profile is attached as vpn-ios-or-mac.mobileconfig — simply open this to install. You will be asked for your device PIN or password, and your VPN username and password, not necessarily in that order.

== Windows ==
You will need Windows 10 Pro or above. Please run the following commands in PowerShell:
Add-VpnConnection -Name “vpn.tanghengzhi.com” `
  -ServerAddress “vpn.tanghengzhi.com” `
  -TunnelType IKEv2 `
  -EncryptionLevel Maximum `
  -AuthenticationMethod EAP `
  -RememberCredential
Set-VpnConnectionIPsecConfiguration -ConnectionName “vpn.tanghengzhi.com” `
  -AuthenticationTransformConstants GCMAES256 `
  -CipherTransformConstants GCMAES256 `
  -EncryptionMethod AES256 `
  -IntegrityCheckMethod SHA256 `
  -DHGroup ECP384 `
  -PfsGroup ECP384 `
  -Force

== Android ==
Download the strongSwan app from the Play Store: https://play.google.com/store/apps/details?id=org.strongswan.android
Server: vpn.tanghengzhi.com
VPN Type: IKEv2 EAP (Username/Password)
Username and password: as configured on the server
CA certificate: Select automatically

== Ubuntu ==
A bash script to set up strongSwan as a VPN client is attached as vpn-ubuntu-client.sh. You will need to chmod +x and then run the script as root.


参考:

https://support.apple.com/en-us/HT206152
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ikev2-vpn-server-with-strongswan-on-ubuntu-18-04-2
https://www.vultr.com/faq/#downloadspeedtests
https://github.com/jawj/IKEv2-setup

364 total views, 1 views today