其实一开始是不需要折腾VPN的,SS已经十分美好了,不过前几天在用Reveal分析应用时,5c死机了……碰巧电源键又坏了……送去维修后,拿到手时,就一直处于白苹果的状态。于是直接刷到9.0,想要科学上网,只能用VPN了,不过校园网下PPTP,L2TP以及OpenVPN都处于无法使用的状态,最后想到用思科的IPSec,目前Linux上比较活跃的开源实现就是strongswan,采用ikev2的加密配置过于复杂,几次尝试还是跪了,最后折腾出一个安装脚本,采用ikev1交换密钥,使用校园网丢包较多,但手机的联通4G网络下十分稳定,安装环境如下

搬瓦工VPS

下载后修改以下部分

1
2
3
4
cat > /etc/ipsec.secrets<<EOF
: PSK "YourPSKHere"
accountNameHere : XAUTH "passwdForAccountHere"
EOF

PSK为预共享密钥,accountNameHere替换为账号名,passwdForAccountHere替换为你的密码

接着在终端下运行

1
cat /proc/sys/net/ipv4/ip_forward

若输出为1,则IPV4转发正常,否则修改 /etc/sysctl.conf ,搜索 net.ipv4.ip_forward=1,去掉它的注释,保存后退出,执行 sysctl -p,再检查是否已经成功开启转发

默认开机启动ipsec,后台运行,详情见脚本

以下折腾strongswan的过程,比较粗糙:

  • 配置编译环境
  • 编译:根据架构不同,OpenVZ需要额外启用enable-kernel-libipsec,KVM则不需(我编译时选择安装在/etc目录)
  • 配置/etc/ipsec.conf,设置连接方式,加密方法,验证方式……可以查看strongswan的文档
  • 配置/etc/strongswan.conf,配置DNS解析,模块加载等等
  • 配置/etc/ipsec.secrets,设定账号和密钥
  • 配置防火墙和转发规则
  • 保存iptablee设置,加入开机自启动

新增部分 0

新增了KVM主机上的一键安装脚本

之前同样的配置,去除kernel-libipsec后,在DO的主机上编译,却一直出问题,改用系统提供的strongSwan,版本为5.1.3,nat端口修改为eth0

新增部分 1

新增了对IKEv2的支持,链接:折腾搬瓦工–06–配置IKEv2 VPN

新增部分 2

新增了证书验证,简化了编译选项,适用于openVZ和KVM主机,建议从源码编译,并使用IKEv2,IKEv2是一个相对年轻的协议,受到的干扰比较小,稳定性相对IKEv1有所提升。链接:折腾搬瓦工–09–为iPhone配置证书认证的VPN

配置过程中参考了大量牛人的博客以下是链接

最后附上stronswan官方地址:strongswan