公司领导的苹果电脑想用自带的***客户端连接公司内网网络,查看了下最新版本的MAC OS有l2tp,ipsec,IKEV2的***连接方式。
一开始打算搭建strongswan来提供IKEV2的***服务,供mac os使用,但是由于客户端的证书以及认证方式没搞明白,一直没连接成功,后来尝试用ipsec的方式,以psk方式认证,***连接成功了。
故这里把搭建的过程记录下来。方便以后参考。
部署:
1:下载,解压strongswan包:
# wget http://download.strongswan.org/strongswan.tar.gz # tar -zxvf strongswan.tar.gz # cd strongswan-5.5.1
2:编译,安装strongswan:
# ./configure --prefix=/opt/apps/strongswan --sysconfdir=/opt/apps/strongswan/etc --enable-openssl --enable-nat-transport --disable-mysql --disable-ldap --disable-static --enable-shared --enable-md4 --enable-eap-mschapv2 --enable-eap-aka --enable-eap-aka-3gpp2 --enable-eap-gtc --enable-eap-identity --enable-eap-md5 --enable-eap-peap --enable-eap-radius --enable-eap-sim --enable-eap-sim-file --enable-eap-simaka-pseudonym --enable-eap-simaka-reauth --enable-eap-simaka-sql --enable-eap-tls --enable-eap-tnc --enable-eap-ttls # make && make install
3:跟正常的IKEV2需要制作证书不一样,ipsec psk认证方式是用密码方式认证的,所以可以省略制作证书的步骤,如果需要制作证书,可以按如下步骤:
制作ca证书 # /opt/apps/strongswan/bin/pki --gen --outform pem > ca.pem # /opt/apps/strongswan/bin/pki --self --in ca.pem --dn "C=com, O=my***, CN=SZSH CA" --ca --outform pem >ca.cert.pem 制作服务端证书 # /opt/apps/strongswan/bin/pki --gen --outform pem > server.pem # /opt/apps/strongswan/bin/pki --pub --in server.pem | /opt/apps/strongswan/bin/pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=com, O=my***, CN=SZSH" --san="你的外网地址" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem 制作客户端证书 # /opt/apps/strongswan/bin/pki --gen --outform pem > client.pem # /opt/apps/strongswan/bin/pki --pub --in client.pem | /opt/apps/strongswan/bin/pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=com, O=my***, CN=SZSH Client" --outform pem > client.cert.pem # openssl pkcs12 -export -inkey client.pem -in client.cert.pem -name "client" -certfile ca.cert.pem -caname "SZSH CA" -out client.cert.p12 把证书安装到相关的目录下 # cp -rf ca.cert.pem /opt/apps/strongswan/etc/ipsec.d/cacerts/ # cp -rf server.cert.pem /opt/apps/strongswan/etc/ipsec.d/certs/ # cp -rf server.pem /opt/apps/strongswan/etc/ipsec.d/private/ # cp -rf client.cert.pem /opt/apps/strongswan/etc/ipsec.d/certs/ # cp -rf client.pem /opt/apps/strongswan/etc/ipsec.d/private/ # cp -rf client.pem /opt/apps/strongswan/etc/ipsec.d/certs/
本例子由于搭建的是ipsec psk认证方式,上述制作和安装证书的步骤可以省略!!!
4:strongswan相关配置:
配置***服务连接方式,这里只配置一种连接方式,即XAUTH_PSK认证方式。
# vim /opt/apps/strongswan/etc/ipsec.conf config setup uniqueids=never conn xauth_psk keyexchange=ikev1 left=%defaultroute leftauth=psk leftsubnet=0.0.0.0/0 right=%any rightauth=psk rightauth2=xauth rightsourceip=10.0.0.0/24 auto=add
配置认证文件,可配置psk认证秘钥与你指定的用户密码:
# vim /opt/apps/strongswan/etc/ipsec.secrets : RSA server.pem : PSK "xxxxx" user : XAUTH "password"
user和password就是你登录时需要输入的用户密码,如果需要多个用户密码,可多写几行。PSK "xxxxx"为ipsec PSK的秘钥,登录时需要。
最后配置strongswan的相关事项,调试日志与DNS等:
# vim strongswan.conf charon { load_modular = yes duplicheck.enable = no compress = yes plugins { include strongswan.d/charon/*.conf } dns1 = 114.114.114.114 nbns1 = 114.114.114.114 filelog { /opt/apps/strongswan/strongswan.charon.log { time_format = %b %e %T default = 2 append = no flush_line = yes } } } include strongswan.d/*.conf
5:防火墙开放相关strongswan所需端口,开启路由转发以及策略。
# echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -A INPUT -p udp --dport 500 -j ACCEPT # iptables -A INPUT -p udp --dport 4500 -j ACCEPT # iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE # iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
10.0.0.0/24为ipsec.conf中配置的***分配网段。
6:开启服务
# /opt/apps/strongswan/sbin/ipsec start
***连接测试:
MAC OS:
创建***连接,选择cisco ipsec:
填写你的服务器地址,与你所配置的用户密码:
点击“鉴定设置”,在密钥栏填写你的PSK秘钥:
配置完以上,就可以连接上我们配置的***服务器了。
后记:
使用strongswan的配置IKEV2的***服务,一直连接不成功。我以为可能是我客户端的使用方法有问题,不知道有没有大神可以指教一下。