ipsec

centos7 配置PPTP、L2TP、IPSec服务

巧了我就是萌 提交于 2019-11-28 18:02:16
首先,推荐跑下面的脚本: https://github.com/BoizZ/PPTP-L2TP-IPSec-VPN-auto-installation-script-for-CentOS-7 这个脚本将pptp l2tp ipsec都按照,并且配置好,当然很多配置不准确 跑脚本的时候配置好ip规划,PPsk共享秘钥(这个后面客户端连接需要用到) 用户名 ,密码 (后面连接都需要用到) PSK共享秘钥在/etc/ipsec.secrets可以找到和配置 用户名密码在/etc/ppp/chap-secrets 可以找到配置 下面的简单修改流程: vim /etc/ipsec.conf config setup # NAT-TRAVERSAL support, see README.NAT-Traversal #nat_traversal=yes # exclude networks used on server side by adding %v4:!a.b.c.0/24 virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12 # OE is now off by default. Uncomment and change to on, to enable. #oe=off # which IPsec

ipsec][strongswan] ipsec SA创建失败后的错误处理分析

大兔子大兔子 提交于 2019-11-28 16:03:20
〇 ike协商的过程最终是为了SA的建立, SA的建立后, 在底层中管理过程,也是相对比较复杂的. 这里边也经常会出现失败的情况. 我们以strongswan为例, 在strongswan的底层SA管理由linux kernel实现, 并通过netlink与strongswan进行交互. 当linux kernel收到sa的建立命令,并不幸失败后, 会给strongswan回复一个error消息. 一 我们现在将视角来回到ike协议的交互层面. 来观察一下. 发生〇中的情况时, 我们抓包观察如下: 可以看见, 经过四个包的协商之后. 发起端, 主动回复了一个Delete消息给响应端. (我们是在发起端人为设置的kernel SA添加失败, 来模拟这个场景.) 二 现在来进行一下分析. 如下图: 1. 我们知道child sa的建立过程是在上边pcap那张图的包3和包4中进行的. 在下边这张手绘图里, pkt1表示包3, pkt2表示包4 2. 整个SA的建立与协商过程是这样的: a, 为对方分配一个spi b. 将该spi发给对方. c. 对方通过收到的spi在本地建立sa d, 对方为我方申请一个spi e, 对方将申请到的spi发送给我方. f. 我方收到spi后, 在本地建立sa. 3. 上边的过程里, 只讲到了建立出方向SA的过程. 实际上每端都需要管理两个方向SA.

基于虚拟隧道的IPsec -华三 MSR26 路由器对接Juniper SSG

拜拜、爱过 提交于 2019-11-28 10:18:14
  业务需要,做个IPSec,本来想做传统的基于策略的IPsec,后面想了下还是做基于虚拟隧道的IPSec*后续方便扩展。这种不同厂商设备做 威皮N 本来就各种问题,做之前就心有揣之。   果不其然配置过程遇到几个问题,找了厂家,厂家回复说很少做基于虚拟隧道的*,一时半会找不到问题,后续还是自己一步步排查**   H3C路由配置:   配置第一阶段协商参数比较重要,华三路由器有默认的,但是不同厂商之间默认参数有时候会对不上   ike local-name h3c //设置本地ID   ike proposal 20 //配置第一阶段参数   dh group2   authentication-algorithm md5   encryption-algorithm des-cbc   authentication-method pre-share   ike peer juniperfw //配置对等体,因为本端ADSL无固定IP,本地ID跟对端ID 要两端匹配上   exchange-mode aggressive   proposal 20   pre-shared-key cipher 123456   id-type name   remote-name juniper   local-name h3c   ipsec transform-set method1 /

基于虚拟隧道的IPsec -华三 MSR26 路由器对接Juniper SSG

点点圈 提交于 2019-11-28 06:01:46
业务需要,做个IPSec,本来想做传统的基于策略的IPsec,后面想了下还是做基于虚拟隧道的IPSec*后续方便扩展。这种不同厂商设备做 威皮N 本来就各种问题,做之前就心有揣之。 果不其然配置过程遇到几个问题,找了厂家,厂家回复说很少做基于虚拟隧道的*,一时半会找不到问题,后续还是自己一步步排查** H3C路由配置: 配置第一阶段协商参数比较重要,华三路由器有默认的,但是不同厂商之间默认参数有时候会对不上 ike local-name h3c //设置本地ID ike proposal 20 //配置第一阶段参数 dh group2 authentication-algorithm md5 encryption-algorithm des-cbc authentication-method pre-share ike peer juniperfw //配置对等体,因为本端ADSL无固定IP,本地ID跟对端ID 要两端匹配上 exchange-mode aggressive proposal 20 pre-shared-key cipher 123456 id-type name remote-name juniper local-name h3c ipsec transform-set method1 //配置二阶段参数 encapsulation-mode tunnel

L2TP+IPSec

我的梦境 提交于 2019-11-28 02:56:40
华为云Ecs测试版 yum -y install libreswan yum install xl2tpd -1.3.8-2 .el7 .x86_64 .rpm 1 vim /etc/ipsec.conf conn l2tp-psk rightsubnet=vhost:%priv also=l2tp-psk-nonat conn l2tp-psk-nonat authby=secret pfs=no auto=add keyingtries=3 rekey=no ikelifetime=8h keylife=1h type=transport left=192.168.2.20 服务器ip leftprotoport=17/1701 right=%any rightprotoport=17/%any dpddelay=40 dpdtimeout=130 dpdaction=clear sha2-truncbug=yes 2 vim /etc/ipsec.secrets 192.168.2.20 %any: PSK "jiangxin" 预设密匙 3 vim /etc/xl2tpd/xl2tpd.conf listen-addr = 192.168.2.20 ip range = 192.168.3.1-50 local ip = 192.168.2.20 4 vim /etc

[dev][ipsec] 基于路由的VPrivateN

天涯浪子 提交于 2019-11-28 01:02:30
之前写的一个: [dev][ipsec] 基于路由的VPrivateN 一 我们默认用strongswan的时候基于策略的. 也就是policy. 基于策略的ipsec中, policy承担了两部分功能 一是访问权限的控制功能, 另一个是路由的功能. linux kernel做完路由之后会在查询policy,从而确定要将包转发给哪一个SA. 二 基于一中的描述, 我们现在要做基于路由的ipsec, 也就是说将路由功能从policy中去除出来, 在路由表中使用路由条目来做. 于是在这里需要解决的就是路由指向下一条的问题, 而这个下一条就是Ipsec SA. 三 现在引入一个概念叫做VTI(Vitual Tunnel Interface), VTI是内核中的一种设备. 使用如下命令添加: ip link add name vti1 type vti key VTI_KEY local LOCAL_IPv4_ADDR remote REMOTE_IPv4_ADDR 我们看见, 创建vti时指定了一个key, 这个key便是与SA之间的关联. 见下面的例子如何完成这样一个关联: # ip link add name vti1 type vti key VTI_KEY local LOCAL_IPv4_ADDR remote REMOTE_IPv4_ADDR # ip link set

[ipsec][strongswan] strongswan源码分析-- (二)rekey/reauth机制分析

谁都会走 提交于 2019-11-27 16:52:02
strongwan sa分析(二) Author: Cao Tong Date: 2018-12-29 Version: 1.2 文档历史 版本 日期 说明 修改人 1.0 20181229 初版 caotong 1.1 20190102 修改重要的概念阐述,IKE SA rekey caotong 1.2 20190103 修改IPsec SA的名称约定 caotong 名词约定 client / initiator: IKE连接的首先发起方。 server / responder: IKE连接首先发起方的对方,即响应方。 IKE SA: 用于对ISAKMP数据包进行加密的SA。 CHILD SA / IPsec SA: 用于对传输数据(用户数据)进行加密的SA,如加密ESP协议数据。 SA: 包括,IKE SA和CHILD SA。 rekey/reauth 机制分析 1 概述 reauth是指重新进行身份认证过程。rekey包含两个过程。IKESA rekey指协商IKE SA。 CHILD SA rekey是指重新协商CHILD SA。IKEv1与IKEv2在概念上同样适用。但是需要特别说明的是,IKEv1中没有实现 IKESA rekey机制。 详见,官网wiki中的一篇文档 ExpiryRekey 讲到 IKEv1不支持ikesa的rekey

[ipsec][strongswan] strongswan源码分析--(一)SA整体分析

寵の児 提交于 2019-11-27 16:50:52
strongswan SA分析(一) Author: Cao Tong Date: 20181224 Version: v1.1 1 概念 下面主要介绍两个本文将要阐述的核心概念。他们是SA和SP。注意,这不是一篇不需要背景知识的文章。作者认为你适合阅读接下来内容的的前提是,你已经具备了一下三方面的知识: a. 什么是VPN。 b. 什么是IPsec,包括IKE,ESP,strongswan都是什么等。 c. 一般的linux使用方法和常见概念。 1.1 什么是SAD,SPD SAD是Security Association Database的缩写。 SPD是Security Policy Database的缩写。 SAD是用来存储SA的数据库。SPD是用来存储SP的数据库。 1.2 什么是SPI SPI是Security Parameter Index的缩写。是有一组数字(长度?)。被使用在SAD和SPD里作为索引的一部分。是由IKE协商的两侧客户端随机选择的UUID?。0-255是被保留的值,禁止在SPI中使用。 1.3 什么是SA SA是Security Association的缩写。SA是一组算法和算法参数(包括key)的集合,用来完成单个方向的数据流加密和验证任务。通过SPI加数据包的目的地址可以唯一查找到一个SA。 包含的属性: 加密算法 属性 key 验证算法 属性

[ipsec][strongswan] strongswan源码分析--总体架构图

我的未来我决定 提交于 2019-11-27 16:47:46
history: 2019-06-05, 增加配置文件解析部分。 2019-06-05,增加plugin优先级排序部分。 charon进程初始化阶段的流程图 约定: 实线代表流程图。 虚线代表调用栈,箭头方向代表自上而下。 黄线是辅助线,请自己理解。 图: netlink模块的类图 图: 从Task到内核xfrm模块的调用关系图 说明: 该图以kernel-netlink plugin为例分析了strongswan 5.7.1的主要代码架构。 该图的后续演进维护将留着这个地方,2中的文档将不会被该图触发更新。 该图仅体现架构的部分侧面,不以展示全貌为目的。 作案工具 Gnome Dia: https://wiki.gnome.org/Apps/Dia 图中表示法为流程图与函数调用栈的叠加态,为作者自创。如果有其他更规范的表达方式,麻烦通知作者。 来源: https://www.cnblogs.com/hugetong/p/11143357.html

【实验】***及NAT应用-思科

只愿长相守 提交于 2019-11-27 16:20:33
实验名称:×××及NAT应用 实验需求: 一、通过×××实现PC1访问Server1,但是无法访问互联网(ISP) 二、通过NAT实现PC0访问互联网(ISP),但是无法访问Server1 三、实现PC1即可以访问互联网(ISP),又可以访问Server1 IP地址规划: 配置思路: 一、通过×××实现PC1访问Server1,但是无法访问互联网(ISP) 1配置ISAKMP策略 2配置ACL控制条目 3配置IPSec策略(转换及) 4配置加密映射集 5将映射集应用在指定接口 二、通过NAT实现PC0访问互联网(ISP),但是无法访问Server1 1配置ACL控制条目 2将ACL控制条目应用在指定接口 3定义NAT出向/入向接口 三、实现PC1即可以访问互联网(ISP),又可以访问Server1 1配置ACL控制条目 2将ACL控制条目应用在指定接口 网络环境搭建: Router1(分公司边界路由器) IP配置: 路由配置: Router4(分公司内网路由器) IP配置: 路由配置: ISP路由器配置 IP配置: Router3(总公司边界路由器) IP配置: 路由配置: 实验步骤: 一、通过×××实现PC1访问Server1,但是无法访问互联网(ISP) Router1 配置ISAKMP策略 crypto isakmp policy 1 //创建加密协议isakmp策略为1