centos6.5 x86_64下编译安装strongswan

centos6.5 x86_64

1,安装必须的库

yum update

yum install pam-devel openssl-devel make gcc

2,下载strongswan

wget http://download.strongswan.org/strongswan.tar.gz

tar xzf strongswan.tar.gz

cd strongswan-*

3,编译安装

./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

make && make install

4,生成CA证书私钥

ipsec pki --gen --outform pem > ca.pem

使用私钥签名

ipsec pki --self --in ca.pem --dn "C=col, O=ssvpn, CN=VPNCA" --ca --outform pem >ca.cert.pem

生成服务器证书所需的私钥:

ipsec pki --gen --outform pem > server.pem

用CA证书签发服务器证书

先确认你的服务器的IP地址或域名,以后客户端连接时只能使用证书中的地址连接(多服务器使用相同根证书CA的,请先做好服务器的域名解析),

然后将下面命令中的123.123.123.123替换为自己服务器的IP地址或域名,一共需要替换两处:

ipsec pki --pub --in server.pem | ipsec pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=col, O=ssvpn, CN=123.123.123.123" --san="123.123.123.123" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem

注意:以上命令中的”C=”和”O=”的值要与第2步CA中的C,O的值保持一致.

5,生成客户端证书所需的私钥:

ipsec pki --gen --outform pem > client.pem

用CA签名客户端证书(C,O的值要与上面第2步CA的值一致,CN的值随意):

ipsec pki --pub --in client.pem | ipsec pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=col, O=ssvpn, CN=VPN Client" --outform pem > client.cert.pem

生成pkcs12证书

openssl pkcs12 -export -inkey client.pem -in client.cert.pem -name "client" -certfile ca.cert.pem -caname "VPNCA"  -out client.cert.p12

注意以上命令中的”-caname”后面的引号里的值必须要与第2步CA中的”CN=”的值保持一致.

输入客户端登录用户密码hello

6,安装证书:

cp -r ca.cert.pem /usr/local/etc/ipsec.d/cacerts/

cp -r server.cert.pem /usr/local/etc/ipsec.d/certs/

cp -r server.pem /usr/local/etc/ipsec.d/private/

cp -r client.cert.pem /usr/local/etc/ipsec.d/certs/

cp -r client.pem  /usr/local/etc/ipsec.d/private/

7,配置strongswan

vi /usr/local/etc/ipsec.conf 将内容完全替换为一下内容

config setup

uniqueids=never

conn iOS_cert

keyexchange=ikev1

fragmentation=yes

left=%defaultroute

leftauth=pubkey

leftsubnet=0.0.0.0/0

leftcert=server.cert.pem

right=%any

rightauth=pubkey

rightauth2=xauth

rightsourceip=10.11.2.0/24

rightcert=client.cert.pem

auto=add

conn android_xauth_psk

keyexchange=ikev1

left=%defaultroute

leftauth=psk

leftsubnet=0.0.0.0/0

right=%any

rightauth=psk

rightauth2=xauth

rightsourceip=10.11.2.0/24

auto=add

conn networkmanager-strongswan

keyexchange=ikev2

left=%defaultroute

leftauth=pubkey

leftsubnet=0.0.0.0/0

leftcert=server.cert.pem

right=%any

rightauth=pubkey

rightsourceip=10.11.2.0/24

rightcert=client.cert.pem

auto=add

conn windows7

keyexchange=ikev2

ike=aes256-sha1-modp1024!

rekey=no

left=%defaultroute

leftauth=pubkey

leftsubnet=0.0.0.0/0

leftcert=server.cert.pem

right=%any

rightauth=eap-mschapv2

rightsourceip=10.11.2.0/24

rightsendcert=never

eap_identity=%any

auto=add

vi /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

vi /usr/local/etc/ipsec.secrets

: RSA server.pem

: PSK "xskywallker"

: XAUTH "uiop890"

law %any : EAP "hello"

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

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

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

启动服务

ipsec start

关闭selinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config

setenforce 0

配置转发

echo 1 > /proc/sys/net/ipv4/ip_forward

sed -i ‘s/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g‘ /etc/sysctl.conf

sysctl -p

添加防火墙规则

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

iptables -A FORWARD -s 10.11.0.0/24  -j ACCEPT

iptables -A FORWARD -s 10.11.1.0/24  -j ACCEPT

iptables -A FORWARD -s 10.11.2.0/24  -j ACCEPT

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

iptables -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 500 -j ACCEPT

iptables -A INPUT -i eth0 -p udp --dport 4500 -j ACCEPT

iptables -A INPUT -i eth0 -p udp --dport 1701 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT

iptables -A FORWARD -j REJECT

iptables -t nat -A POSTROUTING -s 10.11.0.0/24 -o eth0 -j MASQUERADE

iptables -t nat -A POSTROUTING -s 10.11.1.0/24 -o eth0 -j MASQUERADE

iptables -t nat -A POSTROUTING -s 10.11.2.0/24 -o eth0 -j MASQUERADE

service iptables save

win7下测试

使用 Shrew Soft VPN Client

下载:https://www.shrew.net/download/vpn

安装后打开,选「Add」:

「General」选项卡下,把「Host Name or IP address」添好

「Authorization」选项卡下:

「Authorization Method」选「Mutual PSK + XAuth」

「Local Identity」的「Identification Type」选「IP Address」

「Credentials」下面「Pre Shared Key」里输入 PSK 密码

「Phrase 1」,「Exchange Type」选「Main」

「Phrase 2」,「PFS Exchange」选「auto」

保存。连接时用户名密码是你的 XAUTH 用户名密码。

使用自带客户端(Agile):

导入证书:

开始菜单搜索「cmd」,打开后输入 mmc(Microsoft 管理控制台)。

「文件」-「添加/删除管理单元」,添加「证书」单元

证书单元的弹出窗口中一定要选「计算机账户」,之后选「本地计算机」,确定。

在左边的「控制台根节点」下选择「证书」-「个人」,然后选右边的「更多操作」-「所有任务」-「导入」打开证书导入窗口。

选择刚才生成的 client.cert.p12 文件。下一步输入私钥密码。下一步「证书存储」选「个人」。

导入成功后,把导入的 CA 证书剪切到「受信任的根证书颁发机构」的证书文件夹里面。

打开剩下的那个私人证书,看一下有没有显示「您有一个与该证书对应的私钥」,以及「证书路径」下面是不是显示「该证书没有问题」。

然后关闭 mmc,提示「将控制台设置存入控制台1吗」,选「否」即可。

至此,证书导入完成。

注意 千万不要双击 .p12 证书导入!因为那样会导入到当前用户而不是本机计算机中,ipsec 守护精灵是访问不了它的。

建立连接:

「控制面板」-「网络和共享中心」-「设置新的连接或网络」-「连接到工作区」-「使用我的 Internet 连接」

Internet 地址写服务器地址,注意事项同 openSUSE 的,都是 IP 或都是 URL。

描述随便写。

用户名密码写之前配置的 EAP 的那个。

确定

点击右下角网络图标,在新建的 VPN 连接上右键属性然后切换到「安全」选项卡。

VPN 类型选 IKEv2

数据加密是「需要加密」

身份认证这里需要说一下,如果想要使用 EAP-MSCHAPV2 的话就选择「使用可扩展的身份认证协议」-「Microsoft 安全密码」,想要使用私人证书认证的话就选择「使用计算机证书」。

本文参考http://quericy.me/blog/512

时间: 2024-10-12 11:44:39

centos6.5 x86_64下编译安装strongswan的相关文章

centos6.5 x86_64下编译安装lnmp(2)

紧接上篇 6,安装nginx 1)安装 Nginx的rewrite模块支持包pcre库 tar zxvf pcre-8.36.tar.gz cd pcre-8.36/ ./configure make && make install cd ../ ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1 2)安装 Nginx tar zxvf nginx-1.8.0.tar.gz cd nginx-1.8.0/ ./configure --user

centos6.5 x86_64下yum安装lnmp+phpmyadmin(2)

平台:centos6.5 x86_64最小化安装 上篇是安装的php.mysql版本有点老,安装个版本新一点的,尝尝鲜.^_^ 1,关闭SElinux vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled reboot 2,添加yum源 vi nginx.repo                   nginx的源 [nginx] name=nginx repo baseurl=http://nginx.org/packages/

centos6.5 x86_64下yum安装lnmp+phpmyadmin

平台:centos6.5 x86_64 1,关闭SElinux vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled reboot 2,添加yum源 rpm -Uvh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6

CentOS6.5_64bit下编译安装MySQL-5.6.23

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/44785511 ************************************************************         CentOS6.5_64bit下编译安装MySQL-5.6.23 **************************************************************一.关闭防火墙chkconfig iptable

CentOS6下编译安装Python2.7.6方法

关于在CentOS6下编译安装Python2.7.6的方法非常的多了,小编以前也介绍过相关的文章了,下面一聚教程小编再来为各位介绍一下吧,希望文章能帮助到各位. CentOS下面Python在升级到2.7.6的时候,没有找到安装包直接安装,只能通过源代码编译的方式来安装Python 2.7.6版本.这篇是编译和安装Python2.7.6的过程记录. CentOS系统中安装了development tools.要编译安装Python,执行下面代码:  代码如下 复制代码 $ pushd /usr/

Linux(CentOS6.5)下编译安装PHP5.6.22时报错”configure: error: ZLIB extension requires gzgets in zlib”的解决方式(确定已经编译安装Zlib,并已经指定Zlib路径)

本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢!   今天在CentOS6.5下编译安装PHP时,一直报错 configure: error: ZLIB extension requires gzgets in zlib 而Zlib确定已经安装了. 使用Google根本搜索不到有关的错误. 尝试重新编译了Zlib,还是不行. 后面发现我的PHP编译选项里面有个 --with-libdir=lib64 \ 删除之,再

centos6.7下编译安装lnmp

很多步骤不说明了,请参照本人的centos6.7下编译安装lamp,这次的架构是nginx+php-fpm一台服务器,mysql一台服务器 (1)首先编译安装nginx: 操作命令: yum -y groupinstall "Development Tools" "Server Platform Development" yum -y install pcre-devel  useradd -r nginx  mkdir /var/tmp/nginx   事先得创建

centos6.7下 编译安装MySQL5.7

centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison #获取boost类库(5.7编译需要boost类库,编译时指定boost路径): shell> wget http://down

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin+cacti+nagios 一.安装环境 Linux系统:CentOS 6.5 Apache版本:http-2.4.12 MySQL版本:MySQL 5.6.24 PHP版本:PHP-5.6.8 基本的安装顺序为:先安装httpd,然后安装mysql,最后安装PHP. 软件包: [[email protected] httpdbao]# ll total 334908 -rwxrw-rw-. 1 root root