【转载】IPSec-Tools配置
来源:https://blog.csdn.net/zt698/article/details/4811604
1 介绍
从Linux 2.6内核开始,内核就自身带有IPSec模块,配合IPSec-Tools,能很好的实现Linux的IPSec功能。
IPSec-Tools主要包含libipsec、setkey、racoon和racoonctl这4个模块,setkey主要用于配置SAD(安全关联数据库)和SPD(安全策略数据库),racoon用于IKE协商。
本文采用最简单的网络配置(2台PC互联,操作系统均为:Linux 2.6.27)介绍IPSec-Tools的IKE配置和手工配置实现传输模式的IPSec。
默认情况下,IPSec-Tools的配置文件均放在/etc/racoon目录下,setkey.conf文件保存着sad和spd的配置信息,racoon.conf文件保存着IKE各个协商阶段各采用什么方式进行协商。
2 拓扑图
3 IKE配置
1) 采用预共享密钥的方式,在/etc/racoon目录下产生psk.txt的文件;
在A机的psk.txt里填入:192.168.59.133 mekmitasdigoat。
在B机的psk.txt里填入:192.168.59.132 mekmitasdigoat。
产生psk.txt文件后,执行:chmod 600 psk.txt.
2) 打开setkey.conf文件:
A机填入:
flush;
spdflush;
spdadd 192.168.59.132 192.168.59.133 any -P out ipsec esp/transport//require;
spdadd 192.168.59.133 192.168.59.132 any -P in ipsec esp/transport//require;
B机填入:
flush;
spdflush;
spdadd 192.168.59.132 192.168.59.133 any -P in ipsec esp/transport//require;
spdadd 192.168.59.133 192.168.59.132 any -P out ipsec esp/transport//require;
3) 打开A、B两机的racoon.conf文件,均填写以下内容:
path include "/etc/racoon"; #配置文件位置
path pre_shared_key "/etc/racoon/psk.txt"; #共享密钥文件
path certificate "/etc/racoon/cert"; #证书文件目录
log notify;
# "padding" defines some parameter of padding. You should not touch these.
padding
{
maximum_length 20; # maximum padding length.
randomize off; # enable randomize length.
strict_check off; # enable strict check.
exclusive_tail off; # extract last one octet.
}
# if no listen directive is specified, racoon will listen to all
# available interface addresses.
listen
{
#isakmp ::1 [7000];
#isakmp 202.249.11.124 [500];
#admin [7002]; # administrative's port by kmpstat.
#strict_address; # required all addresses must be bound.
adminsock "/var/run/racoon/racoon.sock" "root" "users" 660;
}
# Specification of default various timer.
timer
{
# These value can be changed per remote node.
counter 5; # maximum trying count to send.
interval 20 sec; # maximum interval to resend.
persend 1; # the number of packets per a send.
# timer for waiting to complete each phase.
phase1 30 sec;
phase2 15 sec;
}
remote anonymous #阶段一协商
{
exchange_mode main; #main:主模式,aggressive:野蛮模式
lifetime time 24 hour;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 1;
}
proposal {
encryption_algorithm 3des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group 1;
}
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 1;
}
proposal {
encryption_algorithm 3des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group 1;
}
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 1;
}
}
sainfo anonymous #阶段二协商
{
pfs_group 2;
lifetime time 12 hour ;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate ;
}
4) 执行/usr/sbin/racoon -f /etc/racoon/racoon.conf,运行IKE协商程序;
5) A机执行ping B机,在中间转包可以看到IKE协商包,协商完成以后会出现ESP包,并且能够ping通。
4 手工配置
1) Setkey.conf设置:
在A机的setkey.conf中填入:
flush;
spdflush;
add 192.168.59.132 192.168.59.133 esp 24501 -E 3des-cbc "123456789012123456789012";
add 192.168.59.133 192.168.59.132 esp 24502 -E 3des-cbc "123456789012123456789012";
spdadd 192.168.59.132 192.168.59.133 any -P out ipsec esp/transport//require;
spdadd 192.168.59.133 192.168.59.132 any -P in ipsec esp/transport//require;
在B机的setkey.conf中填入:
flush;
spdflush;
add 192.168.59.132 192.168.59.133 esp 24501 -E 3des-cbc "123456789012123456789012";
add 192.168.59.133 192.168.59.132 esp 24502 -E 3des-cbc "123456789012123456789012";
spdadd 192.168.59.132 192.168.59.133 any -P in ipsec esp/transport//require;
spdadd 192.168.59.133 192.168.59.132 any -P out ipsec esp/transport//require;
2) 执行setkey –f /etc/raccoon/setkey.conf;
3) A机执行ping B机,在中间转包可以看到ESP包,并且能够ping通。
5 其它
Setkey –D:查看SAD信息;
Setkey –DP:查看SPD信息。
---------------------
作者:zt698
来源:CSDN
原文:https://blog.csdn.net/zt698/article/details/4811604
版权声明:本文为博主原创文章,转载请附上博文链接!
【转载】IPSec-Tools配置的更多相关文章
- IPSEC VPN配置实例
TL-R400VPN应用——IPSEC VPN配置实例 TL-ER6120是TP-LINK专为企业应用而开发的VPN路由器,具备强大的数据处理能力,并且支持丰富的软件功能,包括VPN.IP/MAC 地 ...
- Siebel Tools配置
默认安装的Siebel+Tools,Tools登陆时有3个选项:Local.Sample.Server,具体涵义如下: Local:指本地数据库.按照Siebel开发建议,开发人员需要从Siebel ...
- 转载:Vim 配置入门
转载:Vim 配置入门 原文地址:http://www.ruanyifeng.com/blog/2018/09/vimrc.html 作者: 阮一峰 Vim 是最重要的编辑器之一,主要有下面几个优点. ...
- 转载-centos网络配置(手动设置,自动获取)的2种方法
转载地址:http://blog.51yip.com/linux/1120.html 重新启动网络配置 # service network restart 或 # /etc/init.d/networ ...
- [转载]TFS安装配置教程
最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以前只是用过SVN,从来没有用过TFS,所以在网上百度.谷歌了好一阵子来查看怎么安装和配置,还好花了一天时间总算是初步的搞定了,下面 ...
- ASA IPSEC VPN配置
ASA-1配置 : Saved:ASA Version 8.0(2) !hostname ASA-1enable password 8Ry2YjIyt7RRXU24 encryptednames!in ...
- cisco路由器IPSEC VPN配置(隧道模式)
拓扑如下: R1配置hostname R1enable password cisco crypto isakmp policy 1 #创建IKE协商策略,编号为1 encr 3des ...
- [dev][ipsec][dpdk] strongswan/dpdk源码分析之ipsec算法配置过程
1 简述 storngswan的配置里用一种固定格式的字符串设置了用于协商的预定义算法.在包协商过程中strongswan将字符串转换为固定的枚举值封在数据包里用于传输. 协商成功之后,这组被协商选中 ...
- 【转载】uWSGI配置翻译
英文原版: http://uwsgi-docs.readthedocs.io/en/latest/Options.html 转载地址: http://www.cnblogs.com/zhouej/ar ...
随机推荐
- java: integer number is too large
今天想定义一个类常量,结果如下面那样定义,确报错了.error is: Integer number too large public static final Long STARTTIME = 14 ...
- Springboot引入本地jar时打包
在项目的开发过程中有时我们需要引入我们本地的jar包,这些jar包没有存在maven仓库中 ,这时没有办法通过pom文件直接引入,在开发过程中我们可以通过add as library的方式,可以在开发 ...
- mysql复习1
SQL语句分为以下三种类型: DML: Data Manipulation Language 数据操纵语言,用于查询与修改数据记录,包括如下SQL语句:INSERT:添加数据到数据库中UPDATE:修 ...
- background-position和position
1.background-position:表示背景定位的属性.描述属性值时,有两种方式:一是像素描述:而是单位描述. (1)像素描述: 格式如下: background-position:向右偏移量 ...
- scrapy持久化到Excel表格
前提条件: 防止乱码产生 ITEM_PIPELINES = { 'xpc.pipelines.ExcelPipeline': 300, } 方法一 1.安装openpyxl conda install ...
- Java服务端两个常见的并发错误
理想情况来讲,开发在开始编写代码之前就应该讲并发情况考虑进去,但是大多数实际情况确是,开发压根不会考虑高并发情况下的业务问题.主要原因还是因为业务极难遇到高并发的情况. 下面列举两个比较常见的后端编码 ...
- 机器学习环境配置系列四之theano
决定撰写机器学习环境配置的主要原因就是因为theano的配置问题,为了能够用上gpu和cudnn加速,我是费劲了力气,因为theano1.0.0在配置方面出现了重大改变,而网上绝大多数都很老,无法解决 ...
- mezzanine 历险记
安装去github下载 mezzanine https://github.com/ganmk/mezzanine 安装出现问题了: grappelli_safe >= 0.4.5 问题好像出在这 ...
- 简单实现Android手机“全局可调试”(ro.debuggable = 1)的方法【锤子坚果3】
在Android真机上调试程序有一个前提,就是这个apk包必须有 debuggable=true 的属性才行.而除了自己开发的apk能够控制打包属性之外,其他的程序发行之后显然不会设这个值为 true ...
- ThreeJS 物理材质shader源码分析(顶点着色器)
再此之前推荐一款GLTF物理材质在线编辑器https://tinygltf.xyz/ ThreeJS 物理材质shader源码分析(顶点着色器) Threejs将shader代码分为ShaderLib ...