[dev][ipsec] netlink是什么】的更多相关文章

介绍: https://www.linuxjournal.com/article/7356 大纲: man手册 http://man7.org/linux/man-pages/man7/netlink.7.html 这个也不错: https://people.redhat.com/nhorman/papers/netlink.pdf 原文转载: -------------- Kernel Korner - Why and How to Use Netlink Socket Due to the…
1 简述 storngswan的配置里用一种固定格式的字符串设置了用于协商的预定义算法.在包协商过程中strongswan将字符串转换为固定的枚举值封在数据包里用于传输. 协商成功之后,这组被协商选中的枚举值会通过netlink接口以xfrm定义好的字符串形式,传递给内核,内核再将字符串转换成pfkey定义的枚举值,最终进行加密设置. DPDK的话,也有其统一的一组枚举值的抽象.在调用不同的cryptodev pmd时,会想这组值转换为对应的值或操作,如转变成openssl对应的API调用. 见…
简介: http://nody-techhome.blogspot.com/2008/09/xfrm-overview.html (没啥用) 内核xfrm.ipsec的流程.写的特别清晰明了. http://kernelspec.blogspot.com/2014/10/ipsec-implementation-in-linux-kernel.html…
问题描述: 原生的基于kernel 的 strongswan 如何做高可用,HA,High Availability 问题分析: 基于我们已知的,ipsec,strongswan的知识.问题分解如下: 1.  IKE SA的同步,CHILD SA的同步. 2.  ESP包是有序列号的,序列号的同步问题. 3.  隧道不能断,业务也不能断.所以还有一个隧道IP的同步问题. 解决方案: strongswan是这样解决的. 1. 问题1)与strongswan软件进行解决,可以通过配置,配置一个高可用…
ipsec如何感知到链路中断了?以下内容讲的是在没有配置DPD,且没有rekey的场 景下. 1. ESP认为,以下两个场景交由应用层来感知,应用层会发现ipsec的连接坏掉了. a,ESP承载的连接是tcp数据. b,ESP承载的连接是有双向交互的udp数据. 2. 基于1,现在只剩下只有单向udp发包的场景了,它是如下处理的. 当大量连续丢包的时候,收包一侧会通过sequence number的滑动窗口感知 到,大量是指大于2^32个包. 原理是:ESP发包的时候会给包文头上放一个SEQ n…
VPrivateN的配置分两个模式 1. 基于策略的VPrivateN ( policy based) 2. 基于路由的VPrivateN (route based) 以strongswan为例, 在我们正常的使用过程中, 配置方法里,会在配置的时候指定Traffic selecter. 两端的Traffic Selecter 在经过协商过程之后达成的结果就是policy. policy主要用于权限访问控制. 基于路由的VPrivateN,是指Policy全部(或部分)放行, 默认的全放行pol…
前言 我们知道,strongswan是基于插件式管理的.不同的插件有不同的配置文件,在这下面, 我们以netlink的插件为例:etc/strongswan.d/charon/kernel-netlink.conf 在这个文件里,提供了不同的针对插件的配置项.接下来我们将讲解,如何开发这些配置项. 配置文件结构 在开始之前,先了解一下strongswan的配置文件组织结构, strongswan的所有配置项都是层级结构组织的,如:charon.plugins.kernel-netlink.for…
之前写的一个:[dev][ipsec] 基于路由的VPrivateN 一 我们默认用strongswan的时候基于策略的. 也就是policy. 基于策略的ipsec中, policy承担了两部分功能 一是访问权限的控制功能, 另一个是路由的功能. linux kernel做完路由之后会在查询policy,从而确定要将包转发给哪一个SA. 二 基于一中的描述, 我们现在要做基于路由的ipsec, 也就是说将路由功能从policy中去除出来, 在路由表中使用路由条目来做. 于是在这里需要解决的就是…
dmesg 命令主要用来显示内核信息.使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题.  另外,使用 dmesg 可以确定您的服务器安装了那些硬件.每次系统重启,系统都会检查所有硬件并将信息记录下来.执行/bin/dmesg 命令可以查看该记录.  dmesg 输入实例: Linux version -.ELsmp (bhcompile@hs20-bc1-.build.redhat.com) ( (Red Hat -)) # SMP Wed Jul :: EDT BIOS-pr…
文章是摘抄过来,方便自己查阅! 1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系统内核数据的操作提供接口. 用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的.下面列出的这些文…