ubuntu14 搭建CISCO IPSEC服务

前言:

最近在阿里云的服务器上搭建VPN,需求是【连接方式简单(不用证书)】,【支持平台多(win、mac、android、ios)】。

在网上查阅并实践后,整理了一套方便客户端使用的VPN方案,这里整理记录一下。方案由PPTP(windows、android通过用户名、密码连接)以及CISCO IPSEC(mac、iphone通过用户名、密码、共享秘钥)两套方案组成。

这篇文章记录的是 CISCO IPSEC 方案,PPTP  部分参考连接:ubuntu14 搭建PPTP服务

该方案所搭建VPN服务器,只使用macos、ios测试通过,连接类型选择IPSEC,输入账户、密码、密钥即可。

该方案参考参考文章:
Ubuntu、CentOS搭建IPSec/IKEv2 VPN服务器全攻略
使用 Strongswan 架设 Ipsec VPN
使用Strongswan搭建IPSec/IKEv2 VPN

 

1.安装strongswan

这里我们选择下载最新版本编译安装(ubuntu14 apt-get下载的版本有点旧,我自己尝试是无法成功搭建)

step1:安装必须的库

apt-get update
apt-get install libpam0g-dev libssl-dev make gcc

step2:下载strongswan并解压(*代表当前Strongswan版本号)

wget http://download.strongswan.org/strongswan.tar.gz
tar xzf strongswan.tar.gz
cd strongswan-*

step3:编译Strongswan

./configure –enable-eap-identity –enable-eap-md5 \
–enable-eap-mschapv2 –enable-eap-tls –enable-eap-ttls –enable-eap-peap \
–enable-eap-tnc –enable-eap-dynamic –enable-eap-radius –enable-xauth-eap \
–enable-xauth-pam –enable-dhcp –enable-openssl –enable-addrblock –enable-unity \
–enable-certexpire –enable-radattr –enable-tools –enable-openssl –disable-gmp

step4:编译并安装

make; make install

编译完成后如果没有报错,且使用ipsec version指令能出现版本信息,则表示安装成功.

2.配置Strongswan (编译安装的配置文件,都在/usr/local/etc目录下,apt-get安装的都在/etc目录下)

编辑/usr/local/etc/ipsec.conf文件,修改为以下内容

config setup
uniqueids=never

conn apple_psk
keyexchange=ikev1
left=%defaultroute
leftauth=psk
leftsubnet=0.0.0.0/0
right=%any
rightauth=psk
rightauth2=xauth
rightsourceip=10.31.2.0/24
auto=add

编辑/usr/local/etc/strongswan.conf文件,修改为以下内容

charon {

load_modular = yes

duplicheck.enable = no

compress = yes

plugins {

include strongswan.d/charon/*.conf

}

dns1 = 8.8.8.8

dns2 = 8.8.4.4

nbns1 = 8.8.8.8

nbns2 = 8.8.4.4

}

include strongswan.d/*.conf

编辑/usr/local/etc/ipsec.secrets文件

: PSK”myPSKkey”

: XAUTH”myXAUTHPass”

[用户名] %any : EAP”[密码]”

将上面的myPSKkey单词更改为你需要的PSK认证方式的密钥;

将上面的myXAUTHPass单词更改为你需要的XAUTH认证方式的密码,该认证方式的用户名是随意的;

将上面的[用户名]改为自己想要的登录名,[密码]改为自己想要的密码([]符号去掉),可以添加多行,得到多个用户,这即是使用IKEv2的用户名+密码认证方式的登录凭据.

3.配置防火墙

编辑/etc/sysctl.conf

将net.ipv4.ip_forward=1一行前面的#号去掉,保存后执行sysctl -p

配置iptables规则

iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD-s10.31.2.0/24  -j ACCEPT

iptables -A INPUT -i eth1 -p esp -j ACCEPT

iptables -A INPUT -i eth1 -p udp –dport 500 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp –dport 500 -j ACCEPT

iptables -A INPUT -i eth1 -p udp –dport 4500 -j ACCEPT

iptables -A INPUT -i eth1 -p udp –dport 1701 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp –dport 1723 -j ACCEPT

iptables -t nat -A POSTROUTING-s10.31.2.0/24 -o eth1 -j SNAT –to-source ELASTIC_IP

***注意*** eth1改为你连接外网的那块网卡,ELASTIC_IP替换为vps的静态ip地址

开机自动载入iptables

iptables-save > /etc/iptables.rules

cat > /etc/network/if-up.d/iptables<

#!/bin/sh

iptables-restore < /etc/iptables.rules

EOF

chmod +x /etc/network/if-up.d/iptables

至此,IPSec/IKEv2 VPN便搭建好了!现在启用服务就可以使用了

ipsec start

评论 在此处输入想要评论的文本。

标题和URL已复制