版本信息:strongSwan v5.7.2


1.      编译

tar xvf strongswan-5.7.2.tar.gz
./configure --prefix=/usr/ --sysconfdir=/etc/ <还可以增加其他选项,使用help查看>
make
make install

2.      测试场景 

说明:strongSwan官网上有个Test Scenarios链接,下面有非常多的测试场景和配置说明,可能有针对性地参考。为简单起见,本文仅描述最简单的对接场景。

3.      配置

配置文件默认安装在/usr/local/etc目录,说明如下:

1、通用的配置文件为strongswan.conf,及strongswan.d目录下文件;

2、Used by swanctl and the preferred vici plugin:      //推荐使用

需要配置swanctl目录下的文件。主要是swanctl目录下的swanctl.conf文件,如果你保持安装状态的swanctl.conf文件,则需要在swanctl/conf.d目录下增加新的配置文件,默认的swanctl/swanctl.conf文件会包含你新增的配置文件。

3、Used by starter and the deprecated stroke plugin:   //过期,不推荐

1)配置ipsec.conf。

2)配置ipsec.secrets。

3)配置ipsec.d下的配置文件。

特别说明:当使用swanctl和starter工具时,需要的配置文件是完全不同的。1的配置是必须,而2和3的配置你可以选择其中之一。为什么要讲这一点,是因为你百度出来的东西很多都是基于各种各样的版本,这个概念没搞清,你的配置无论如何都不会生效。

本文后述的配置均基于swanctl工具。

3.1 PC2配置

1、Strongswan.conf保持默认

2、swanctl.conf配置

说明:
1) 注意host-host这个名字,后续启动协商的时候需要指定这个名字。
2) auth设置为psk时,认证方式为预共享密钥,如果是证书方法,去官网上查吧。
3) 如果不配置local_ts和remote_ts字段,则对所有的ip报文加解密。如果指定上述字段,则是对指定的数据流进行加密。
4) Version字段指定ikev1还是ikev2。
5) Secrets下的secret字段指定密钥(本例中为simplepsk)。
6) 当指定ike的版本为v2时,流量选择器指定的端口即使为区间,也只有第一个端口生效(IKEV1的限制)。

3.2 PC1配置


1、Strongswan.conf保持默认

2、swanctl.conf配置如下

4.      运行

1、swanctl --load-all

如果没有错误,会显示如下信息:

root@ubuntu:/usr/local/etc/swanctl# swanctl --load-all
loaded ike secret 'ike-host-host'
no authorities found, 0 unloaded
no pools found, 0 unloaded
loaded connection 'host-host' //注:此处的host-host就是之前在swanctl.conf中定义的
successfully loaded 1 connections, 0 unloaded

说明:配置swanctl.conf一定要放置在swanctl/conf.d下或swanctl下,否则会报错

2、ipsec up host-host

出现上述信息,说明ipsec建立成功。

3、查询ipsec状态

4、ipsec down host-host,可以断链

5.      抓包

strongSwan配置、运行及测试的更多相关文章

  1. Appium使用Python运行appium测试的实例

    Appium使用Python运行appium测试的实例 一.  Appium之介绍 https://testerhome.com/topics/8038 详情参考--https://testerhom ...

  2. Maven运行JUnit测试(http://www.360doc.com/content/13/0927/15/7304817_317455642.shtml)

    Maven单元测试 分类: maven 2012-05-09 15:17 1986人阅读 评论(1) 收藏 举报 maven测试junit单元测试javarandom   目录(?)[-] maven ...

  3. caffe学习二:py-faster-rcnn配置运行faster_rcnn_end2end-VGG_CNN_M_1024 (Ubuntu16.04)

    本文的主要目的是学习记录. 原文连接:https://blog.csdn.net/samylee/article/details/51099508 本博客中我将对py-faster-rcnn配置运行f ...

  4. 在Jenkins的pipeline项目中运行jmeter测试-教程

    Jenkins 2.0的发布引入了一种新的项目类型 - Pipeline,以前只能通过插件获得.从Jenkins 2.0开始,Pipeline项目开箱即用. 与通常的“自由式”项目相比,管道构建具有几 ...

  5. centos8安装fastdfs6.06集群方式二之:tracker的安装/配置/运行

    一,查看本地centos的版本 [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 说 ...

  6. IntelliJ IDEA 配置运行程序

    IntelliJ IDEA 对于Javaer开发来说还是很nice的,就是第一次用可能配置项有点生疏,这里就记录一下IntelliJ IDEA 配置运行程序. 1. 点击Edit Config... ...

  7. LR12.53—第6课:运行负载测试

    第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...

  8. selenium-webdriver用例批量运行和测试套件使用 ------之我见

    用例批量运行和测试套件使用 ------之我见 学习selenium-webdriver已经一段时间了,最近学习到,测试用例的批量执行,和测试套件的使用,有点自己的理解,不晓得对不对,希望大家指正! ...

  9. 如何在google test中指定只运行一部分测试

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在google test中指定只运行一部分测试.

  10. pycharm配置运行django项目步骤

    1:在django项目的跟目录下执行:这是直接在Linux系统中直接运行 python manage.py runserver 0:8000 然后在浏览器中输入IP端口即可访问 pycharm配置运行 ...

随机推荐

  1. cron定时任务介绍

    什么是cron? Cron是linux系统中用来定期执行或指定程序任务的一种服务或软件.与它相关的有两个工具:crond 和 crontab.crond 就是 cron 在系统内的宿主程序,cront ...

  2. 批处理之windows更改网卡IP地址

    新建文本文档,更改后缀为“.bat”,写入以下代码: netsh interface ip set address name="本地连接" source=static 192.16 ...

  3. Spring Boot 集成 thymeleaf 模版引擎

    Spring Boot 建议使用 HTML 来完成动态页面.Spring Boot 提供了大量的模版引擎,包括 Thymeleaf.FreeMarker.Velocity等. Spring Boot ...

  4. eclipse能正常启动tomcat,但是网页访问不了

    参考网址https://blog.csdn.net/did_itmyway/article/details/62099930

  5. ERC 725 and ERC 735 的实现及关系

    https://github.com/OriginProtocol/origin-playground 通过ERC 725 and ERC 735 的实现来说明它们到底是做什么的: 看了这个例子后才大 ...

  6. jmeter接口测试4-使用数据库mysql构造参数

    jmeter测试中,测试数据一般和测试用例分离 测试数据一般可以使用csv构造,进行参数化 但也可以使用mysql等数据库构造 方案一:一个线程循环调用mysql数据,不是并发,不适用于性能测试,更适 ...

  7. 筛选法求N以内的所有素数

    素数:一个数只能被1和它本身整除的数.2是最小的素数 #include <iostream> using namespace std; #define NUM 100 ]; int mai ...

  8. ansible role 理解

    1.roles意为角色,主要用于封装playbook实现复用性.在ansible中,roles通过文件的组织结构来展现.

  9. Hive JDBC:Permission denied: user=anonymous, access=EXECUTE, inode=”/tmp”

    今天使用JDBC来操作Hive时,首先启动了hive远程服务模式:hiveserver2 &(表示后台运行),然后到eclipse中运行程序时出现错误: Permission denied: ...

  10. 大数据入门第十四天——Hbase详解(三)hbase基本原理与MR操作Hbase

    一.基本原理 1.hbase的位置 上图描述了Hadoop 2.0生态系统中的各层结构.其中HBase位于结构化存储层,HDFS为HBase提供了高可靠性的底层存储支持, MapReduce为HBas ...