CentOS一键安装IPSEC/IKEV2 VPN服务器

来源:互联网 发布:农村淘宝地址查询 编辑:程序博客网 时间:2024/05/22 02:27

参考地址:https://quericy.me/blog/699/
一键安装脚本github:https://github.com/quericy/one-key-ikev2-vpn
strongswan地址:https://wiki.strongswan.org/projects/strongswan
背景信息
服务器:阿里云centos6.8,64bit 1核1G 专有网络5Mbps
本人原先在该服务器上通过libreswan来安装l2tp ipsec VPN,安装后在iphone上进行拨号测试,测试过程中发现通过l2tp方式拨号不稳定,经常会出现拨号失败提示,在出现一次拨号失败后会连续拨号失败。可以参见之前博文地址,可以共同探讨下问题。

现在通过Strongswan方式安装了IKEV2连接方式的VPN。 经过测试拨号速度很快,很稳定。以下是具体操作过程:
服务器端安装:
1、下载脚本:
wget –no-check-certificate https://raw.githubusercontent.com/quericy/one-key-ikev2-vpn/master/one-key-ikev2.sh
2、运行脚本:
chmod +x one-key-ikev2.sh
bash one-key-ikev2.sh
3、等待自动配置部分内容后,选择vps类型(OpenVZ还是Xen、KVM),选错将无法成功连接,请务必核实服务器的类型。
我选择的是KVM;
4、选择使用使用证书颁发机构签发的SSL证书还是生成自签名证书:
我选择的是自签名证书,如下操作:
如果选择no,使用自签名证书(客户端如果使用IkeV2方式连接,将需要导入生成的证书并信任)则需要填写证书的相关信息(C,O,CN),为空将使用默认值(default value),确认无误后按任意键继续,后续安装过程中会出现输入两次pkcs12证书的密码的提示(可以设置为空)
5、是否使用SNAT规则(可选).默认为不使用.使用前请确保服务器具有不变的静态公网ip,可提升防火墙对数据包的处理速度.如果服务器网络设置了NAT(如AWS的弹性ip机制),则填写网卡连接接口的ip地址(参见KinonC提供的方案:#36).
服务器网络使用了SNAT,所以这里配置了对SNAT。
6、防火墙配置.默认配置iptables(如果使用的是firewall(如CentOS7)请选择yes自动配置firewall,将无视SNAT并跳过后续的补充网卡接口步骤).补充网卡接口信息,为空则使用默认值(Xen、KVM默认使用eth0,OpenVZ默认使用venet0).如果服务器使用其他公网接口需要在此指定接口名称,填写错误VPN连接后将无法访问外网)
这里选择配置iptables,并使用eth0
7、看到install Complete字样即表示安装完成。默认用户名密码将以黄字显示,可根据提示自行修改配置文件中的用户名密码,多用户则在配置文件中按格式一行一个(多用户时用户名不能使用%any),保存并重启服务生效。
8、将提示信息中的证书文件ca.cert.pem拷贝到客户端,修改后缀名为.cer后导入。ios设备使用Ikev1无需导入证书,而是需要在连接时输入共享密钥,共享密钥即是提示信息中的黄字PSK.

客户端配置说明:
1、连接的服务器地址和证书保持一致,即取决于签发证书ca.cert.pem时使用的是ip还是域名;
2、iOS/OSX/Windows7+/WindowsPhone8.1+/Linux 均可使用IkeV2,认证方式为用户名+密码。使用SSL证书则无需导入证书;使用自签名证书则需要先导入证书才能连接,可将ca.cert.pem更改后缀名作为邮件附件发送给客户端,手机端也可通过浏览器导入,其中:
iOS/OSX 的远程ID和服务器地址保持一致,用户鉴定选择”用户名”.如果通过浏览器导入,将证书放在可访问的远程外链上,并在系统浏览器(Safari)中访问外链地址;

安装过程中出现可连接但是无法访问网络:
检查iptables是否正常启用,检查iptables规则是否与其他地方冲突,或根据服务器防火墙的实际情况手动修改配置。
检查sysctl是否开启ip_forward:
打开sysctl文件:vim /etc/sysctl.conf
修改net.ipv4.ip_forward=1后保存并关闭文件
使用以下指令刷新sysctl:sysctl -p
如执行后正常回显则表示生效。如显示错误信息,请重新打开/etc/syctl并根据错误信息对应部分用#号注释,保存后再刷新sysctl直至不会报错为止。

原创粉丝点击