ubuntu14.04编译安装strongswan
原文链接:https://blog.csdn.net/wwwangdeqqq/article/details/52388625
因为需要在strongswan基础上做些二次开发的东西,需要将自己修改后的代码添加进strongswan后再编译运行。而ubuntu中 apt-get install 命令来安装的strongswan是已经用编译好的包来安装的,无法达到修改代码的目的。另外由ubuntu编译好的包版本较低,目前是5.1.x版本,而strongswan官网上5.4.0版本已经发布。那么,追求新版本或指定版本安装就可以使用下载源码编译安装的方法。
strongswan的编译安装还是很简单的,终端中几行命令就可以轻松搞定,但是其配置却是很让人头疼的一件事,就在这里慢慢收集整理吧。
参考博文:http://blog.csdn.net/butyesbutno/article/details/52033238(验证成功)
下载&编译&安装:(可参考官网)
wget http://download.strongswan.org/strongswan-5.4.0.tar.bz2apt-get install libgmp-devapt-get install libssl-devtar -jxvf strongswan-5.4.0.tar.bz2
然后进入解压后的strongswan目录,设置基本配置与安装命令:
./configure --sysconfdir=/etc --enable-openssl
make && make install
–sysconfdir //设置配置文件目录
–prefix //设置安装文件目录
–enable或–disable //按需设置各种启用与禁用
安装完成,超级用户下可验证是否可启用:
ipsec start //启动ipsec
ipsec restart //重启ipsec
这样,编译安装就算完成了,接下来是证书的生成,与三个配置文件的配置。
首先需要生成一份CA证书,这个证书作为公用的证书,放到该系统中每一个安装strongswan的机器中。
ipsec pki --gen --outform pem > gscakey.pem
然后使用这个证书生成一系列的证书。
ipsec pki --self --in gscakey.pem --dn "C=CH, O=gateway, CN=gs" --ca --outform pem > gscacert.pem
服务器证书:
ipsec pki --gen --outform pem > serverkey.pem
ipsec pki --pub --in serverkey.pem | ipsec pki --issue --cacert gscacert.pem --cakey gscakey.pem --dn "C=CH, O=gateway, CN=@gateway.server.com" --san="192.168.X.X" --flag serverAuth --outform pem > servercert.pem
客户端证书:
ipsec pki --gen --outform pem > clientkey.pem
ipsec pki --pub --in clientkey.pem | ipsec pki --issue --cacert gscacert.pem --cakey gscakey.pem --dn "C=CH, O=gateway, CN=@gateway.client.com" --outform pem > clientcert.pem
生成的证书,clientcert.pem、servercert.pem要放在各自机器的/etc/ipsec.d/certs目录下;
clientkey.pem、serverkey.pem放在各自机器的/etc/ipsec.d/private目录下。
接下来是三个配置文件:
/etc/ipsec.conf
/etc/ipsec.secrets
/etc/strongswan.conf
这时就需要明确双方的IP了,这里双方IP示例为192.168.X.A和192.168.X.B。子网IP任意给出一个示例。
先配置ipsec.conf (/etc/ipsec.conf)
主机A:
config setupuniqueids=noconn %defaultikelifetime=60mkeylife=20mrekeymargin=3mkeyingtries=1keyexchange=ikev2mobike=noconn networkmanager-strongswankeyexchange=ikev2left=%anyleftid=@xxx.server.comleftauth=pubkeyleftfirewall=yesleftsubnet=0.0.0.0/0leftcert=servercert.pemright=%anyrightauth=pubkeyrightsourceip=10.39.165.0/24rightcert=clientcert.pemauto=addconn net-netkeyexchange=ikev2left=192.168.X.Aleftsubnet=192.85.0.0/16leftid=@xxx.server.comleftfirewall=yesleftsourceip=%configleftcert=clientcert.remoteserver.pemright=192.168.X.Brightsubnet=192.86.0.0/16rightid=%anyauto=addconn net-net-pskkeyexchange=ikev2authby=secretleft=192.168.X.Aleftsubnet=192.85.0.0/16leftid=@xxx.server.comleftfirewall=yesright=192.168.X.Brightsubnet=192.86.0.0/16rightid=@xxx.server.comauto=add
主机B将上述配置中对应IP与子网互换即可。
ipsec.secrets (/etc/ipsec.secrets)
# /etc/ipsec.secrets - strongSwan IPsec secrets file: RSA serverkey.pem
: RSA clientkey.remoteserver.pem
moon : EAP "moon"
@xxx.server.com %any : PSK "hello"
strongswan.conf (/etc/strongswan.conf)
# strongswan.conf - strongSwan configuration file
#
# Refer to the strongswan.conf(5) manpage for details
#
# Configuration changes should be made in the included files charon { load_modular = yes duplicheck.enable = no dns1=192.168.X.1 nbns1 = 192.168.X.1 plugins { include strongswan.d/charon/*.conf } filelog { /var/log/strongswan.charon.log { time_format = %b %e %T default = 2 append = no flush_line = yes } }
} include strongswan.d/*.conf
主机A、B的网络配置
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.86.0.0/16 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -s 192.86.0.0/16 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.85.0.0/16 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -s 192.85.0.0/16 -j ACCEPT
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
由于在ipsec.conf中conn字段使用的是auto=add设置,连接不会随ipsec守护进程启动而启动,需要使用ipsec up命令。
如: ipsec up net-net-psk
将对方证书放在自己的/etc/ipsec.d/certs/clientcert.remoteserver.pem后,可以使用
ipsec up net-net命令发起连接。
ubuntu14.04编译安装strongswan相关推荐
- ubuntu14.04 mysql5.6_ubuntu14.04编译安装mysql5.6.28
一.安装必备工具 sudo apt-get install make bison g++ build-essential libncurses5-dev cmake ncurses-devel 二.设 ...
- Ubuntu14.04上安装TensorRT 2.1操作步骤
在Ubuntu14.04 上安装TensorRT2.1有两种方法:(1).通过.deb直接安装:(2).通过Tar文件安装.这里通过Tar文件安装. 安装步骤: 1. 安装CUDA 8.0,可参考: ...
- Linux(Ubuntu14.04)下安装Anaconda和Spyder
Linux(Ubuntu14.04)下安装Anaconda是为了安装python所需要的各种库以及他们的环境配置. Spyder是使用python的IDE 安装python和pip 一般linux系统 ...
- 【Qt】在ubuntu14.04上安装Qt5.12(失败)
注意 在ubuntu14.04上安装Qt5.12最终失败了,Qt5.12需要的libdbus库的版本和ubuntu14.04中的不一致,如果强行升级libdbus库版本,会导致系统桌面无法启动. 再次 ...
- Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书
Ubuntu 17.04 编译安装 Nginx 1.9.9 配置 https 免费证书 安装 Nginx 安装依赖 $ apt-get update $ apt-get install build-e ...
- Ubuntu14.04下安装wineqq国际版和卸载QQ
转载自: http://www.bubuko.com/infodetail-343048.html http://jingyan.baidu.com/article/e9fb46e199d60d752 ...
- 在Ubuntu14.04上安装UberWriterMarkdown编辑器
在Ubuntu14.04上安装UberWriterMarkdown编辑器 这是一篇快速教程指导我们如何通过官方的PPA源在Ubuntu14.04上安装UberWriter编辑器. UberWriter ...
- Ubuntu14.04 kylin 安装配置Tomcat7服务器
2019独角兽企业重金招聘Python工程师标准>>> Ubuntu14.04 kylin 安装配置Tomcat7服务器: 放入当前登录用户根目录: ~ 1.依旧是解压 tar –x ...
- 在ubuntu14.04中安装gazebo
在ubuntu14.04中安装gazebo 什么是Gazebo?** Gazebo是一款3D动态模拟器,能够在复杂的室内和室外环境中准确有效地模拟机器人群.与游戏引擎提供高保真度的视觉模拟类似,Gaz ...
最新文章
- devServer proxy跨域 设置代理 proxy
- mono和monodevelop源码编译安装
- 通过ArcCatalog连接ArcGIS Server的种种问题
- ZOJ2314 Reactor Cooling(无源汇流量有上下界网络的可行流)
- java 多线程下载 开源_Android Downloader是一个开源的多线程,多任务下载框架
- RocketMQ集成SpringBoot
- Akka应用模式:分布式应用程序设计实践指南pdf
- 【JS 逆向百例】某易支付密码 MD5+AES 加密分析
- Hive静态分区表动态分区表
- Tomcat几种启动报错及解决办法
- C++基础教程,基本的输入输出
- 博客积分排名进入前4万
- Android学习(十二) ContentProvider
- 计算机无法启动printspooler,Win7系统下print spooler服务无法启动的解决方法
- php 木马,PHP后门木马详解
- arm linux编译upnp,ARM Linux下UPnP使用
- 向量范数(Norms)之间关系的证明
- MIT-OS实验-lab1
- 计算机速度由CPU决定,电脑CPU的计算速度由什么决定
- win7屏保怎么设置_酷屏保怎么设置?酷开系统不可不知的玩法!