配置文件描述

可选的ipsec.conf文件指定了strongSwan IPsec子系统的大多数配置和控制信息。 主要的例外是身份验证的机密;见ipsec.secrets(5)。其内容不是安全敏感的。

该文件是一个文本文件,由一个或多个部分组成。空格后跟“#”后跟任何到行末尾是注释,而被忽略,空行不包含在部分内。

包含include和文件名的行(由空格分隔)将替换为该文件的内容。 如果文件名不是完整路径名,则认为它与包含包含文件的目录相关。 这种包含可以嵌套。 可能只提供一个文件名,它可能不包含空格,但它可能包含shell通配符(参见sh(1));例如:

 include ipsec.*.conf

包含工具的目的主要是为了使连接或连接集的信息与主配置文件分开。这允许更改这些连接描述,将其复制到所涉及的其他安全网关等,而不必经常从配置文件中提取它们然后将它们插回到配置文件中。还要注意,还允许将“单个逻辑部分”(例如连接描述)分成“几个实际部分”的参数(如下所述)。

部分如下形式的一行开头:

 **type name**

其中type表示后面的部分类型,name是一个任意名称,用于区分该部分与相同类型的部分。 以空格开头的所有后续非空行都是该部分的一部分。 合并具有相同名称的相同类型的部分。

部分内的行通常是形式

 **parameter=value**

(注意前面的强制空格)。在“=”的两侧可以有空白区域。参数名称特定于部分类型。

空值表示参数的系统默认值(如果有的话),即它大致相当于完全省略参数行。这可能有助于清除从%default部分继承的设置或通过参数(参见下文)。value可以包含单个空格(额外的空格减少到一个空格)。要保留写入的空格,请将整个值括在双引号(”)中;在这样的值中,双引号本身可以通过在它们前面添加”\“字符进行转义。双引号字符串可以跨越多行,通过用”\“字符结束行。(后续的行不必以空格开头,因为它将被保留)。此外,以下控制字符可以用双引号字符串编码:\n, \r, \t, \b, \f。

数值被指定为“整数”(数字序列)或“小数”(数字序列可选地后跟“.”和另一个数字序列)。

目前有一个参数可用于任何类型的部分:

 **also** 该参数的值是部分名;该部分的参数由当前部分继承。当前节中的参数始终覆盖继承的参数,即also跟在它们后面。指定的部分必须存在,且必须具有相同的部分类型;在当前部分之前或之后定义都可以,则不会。允许嵌套,并且单个部分中可能存在多个also(引用部分中的参数将按照这些参数的顺序继承和覆盖)。

名称为%default的节指定相同类型的节的默认值。这其中的所有参数都由该类型的所有其他部分继承。

目前有三种类型的部分:

  • config部分指定IPsec的一般配置信息;
  • conn部分指定IPsec连接;
  • ca部分指定证书颁发机构的特殊属性。

CONFIG 部分

目前,IPsec软件已知的唯一config部分是名为setup的config部分,即config setup,其中包含软件启动时使用的信息。在config setup部分中当前接受的参数名称为:

cachecrls = yes | no
如果启用,通过HTTP或LDAP获取的证书吊销列表(CRL)将在/etc/ipsec.d/crls/中缓存,在从证书颁发机构的公钥派生的唯一文件名下。

charondebug = <debug list>
应该记录多少charon调试输出。可以指定包含type/level对的逗号分隔列表,例如:dmn 3,ike 1,net -1。可接受的type值有:dmn,mgr,ike,chd,job,cfg,knl,net,asn,enc,lib,esp,tls,tnc,imc,imv,pts;可接受的level由:-1,0,1,2,3,4(silent, audit, control, controlmore, raw, private)。 默认情况下,所有type的level都设置为1。 有关更多灵活性,请参阅strongswan.conf(5)中的「LOGGER CONFIGURATION」部分。

strictcrlpolicy = yes | ifuri | no
定义是否必须有新的CRL才能使基于RSA签名的对等身份验证成功。IKEv2另外识别ifuri,如果至少定义了一个CRL URI则为yes,如果没有知道URI则为no。

uniqueids = yes | no | never | replace | keep
特定参与者ID是否应该保持唯一,任何新的IKE_SA使用被认为替换使用该ID的所有旧ID的ID;可接受的值是yes(默认值),no,never。 参与者ID通常是唯一的,因此使用相同ID的新IKE_SA几乎总是用于替换旧ID。 no和never之间的区别在于,如果选项为no,守护程序将在接收INITIAL_CONTACT通知时替换旧的IKE_SAs,但如果从未配置,则将忽略这些通知。 守护进程还接受与yes相同的值replace,并且值保持拒绝新的IKE_SA设置并保持先前建立的副本。

CONN 部分

conn部分包含连接规范,定义使用IPsec进行的网络连接。给定的name是任意的,用于标识连接。 这是一个简单的例子:

 conn sntleft=192.168.0.1leftsubnet=10.1.0.0/16right=192.168.0.2rightsubnet=10.1.0.0/16keyingtries=%foreverauto=add

关于术语的说明:有两种通信方式:用户IP数据包的传输;用于键控,密钥更新和一般控制的网关到网关协商。控制连接的路径在IKEv1中称为“ISAKMP SA”,在IKEv2协议中称为“IKE SA”。正在协商的内核级数据路径称为“IPsec SA”或“Child SA”。 strongSwan之前使用了两个独立的键控守护进程,pluto和charon。本手册不再讨论pluto选项,而只讨论自StrongSwan 5.0同时支持IKEv1和IKEv2的charon。

为了避免对配置文件进行微不足道的编辑以适应连接中涉及的每个系统,连接规范是按照左右参与者的方式编写的,而不是根据本地和远程方式编写的。哪个参与者被认为是左或右是任意的;对于每个连接描述,尝试确定本地端点是否应该充当左端点或右端点。这是通过将为两个端点定义的IP地址与分配给本地网络接口的IP地址进行匹配来完成的。如果找到匹配,则匹配的角色(左或右)将被视为本地角色。如果在启动期间未找到匹配项,则将左侧视为本地匹配项。这允许在两端使用相同的连接规范。有些情况下没有对称性;一个很好的约定是左侧用于本地侧,右侧用于远侧(第一个字母是一个很好的助记符)。

许多参数涉及一个参与者或另一个参与者;这里仅列出左边的那些,但是名称以left开头的每个参数都有一个right对应物,其描述相同,但左右颠倒。

除非标记为“(必需)”,否则参数是可选的。

CONN 参数

除非另有说明,否则对于工作连接,通常两端必须完全同意这些参数的值。

also = <name>
引入conn部分<name>

aaa_identity = <id>
定义IKEv2 EAP身份验证期间使用的AAA后端的标识。 如果EAP客户端使用验证服务器标识的方法(例如EAP-TLS),但它与IKEv2网关标识不匹配,则这是必需的。

aggressive = yes | no
是否使用IKEv1 Aggressive或Main Mode(默认值)。

ah = <cipher suites>
用于连接的以逗号分隔的AH算法列表,例如,sha1-sha256-modp1024。 符号是完整性[-dhgroup]。 对于IKEv2,可以在单个提议中包含相同类型的多个算法(由-分隔)。IKEv1仅包含提案中的第一个算法。 只能使用ah或esp关键字,不支持AH+ESP包。

没有默认的AH密码套件,因为默认使用ESP。守护程序将其广泛的默认提议添加到配置的值。 要将其限制为已配置的提议,可以在末尾添加感叹号(!!)。

如果指定了dh-group,则设置CHILD_SA/Quick模式并且重新加密包括单独的Diffie-Hellman交换(有关详细信息,请参阅esp关键字)。

auth = <value>
由pluto IKEv1守护程序使用,它来为ESP加密数据包使用AH完整性保护,但在charon中不支持。关键字ah指定用于AH的完整性保护的算法,但没有加密。不支持AH + ESP捆绑包。

authby = pubkey | rsasig | ecdsasig | psk | secret | never | xauthpsk | xauthrsasig
这两个安全网关应该如何相互验证;可接受的值是:

 * **psk, secret**,用于预共享密钥;* **pubkey**,(默认)公钥签名;* **rsasig**,RSA数字签名;* **ecdsasig**,椭圆曲线DSA签名;* **never**,如果永远不会尝试或接受协商,则可以使用never(对于仅有分流的conn非常有用)。* **xauthpsk, xauthrsasig**,IKEv1还支持xauthpsk和xauthrsasig值,除了基于”共享机密“或”数字RSA签名“的IKEv1主模式之外,它还将启用扩展认证(XAUTH)。

数字签名在各方面都优于共享机密。

不推荐使用此参数,因为两个对等方不需要就IKEv2中的身份验证方法达成一致。 请改用leftauth参数来定义身份验证方法。

auto = ignore | add | route | start
在IPsec启动时,应该自动完成哪些操作(如果有的话);当前接受的值是add,route,start,ignore(默认值):

 * **add**,加载连接而不启动它。* **route**,加载连接并安装内核陷阱。 如果在leftsubnet和rightsubnet之间检测到流量,则建立连接。* **start**,加载连接并立即启动。* **ignore**,忽略连接。这等于从配置文件中删除连接。仅在本地相关,其他目的不需要就此达成一致。

closeaction = none | clear | hold | restart
定义远程对等方意外关闭CHILD_SA时要采取的操作(有关值的含义,请参阅dpdaction)。 如果对等方使用reauthentication或uniquids检查,则不应使用closeaction,因为这些事件可能在不需要时触发定义的操作。

compress = yes | no
是否建议在连接上进行IPComp压缩内容(链路级压缩对加密数据不起作用,因此要有效,必须在加密前进行压缩);可接受的值是yes和no(默认值)。 值为yes会导致守护程序同时提出压缩和解压缩,并且更喜欢压缩。值为no会阻止守护程序提出或接受压缩。

dpdaction = none | clear | hold | restart
控制”死亡对等检测协议“(DPD,RFC 3706)的使用,其中周期性地发送R_U_THERE通知消息(IKEv1)或空的INFORMATIONAL消息(IKEv2)以检查IPsec对等体的活跃性。值clear,hold,restart都会激活DPD并确定要在超时时执行的操作。使用clear,在连接后关闭,不再采取进一步措施。 hold会安装陷阱策略,该策略将捕获匹配的流量并尝试按需重新协商连接。restart将立即触发尝试重新协商连接。默认值为none,禁用活动发送DPD消息。

dpddelay = 30s | <time>
定义R_U_THERE messages/INFORMATIONAL交换发送给对等体的周期时间间隔。仅在未收到其他流量时才会发送这些流量。在IKEv2中,值0不发送任何其他INFORMATIONAL消息,仅使用标准消息(例如重定密消息)来检测死亡对等体。

dpdtimeout = 150s | <time>
定义超时间隔,之后在不活动的情况下删除与对等体的所有连接。 这仅适用于IKEv1,在IKEv2中应用默认重传超时,因为每个交换用于检测死对等体。

inactivity = <time>
定义超时间隔,如果CHILD_SA未发送或接收任何流量,则关闭CHILD_SA。 在CHILD_SA重新加密期间重置不活动计数器。 这意味着不活动超时必须小于重新加密间隔才能产生任何效果。

eap_identity = <id>
定义客户端用于回复EAP身份请求的身份。如果在EAP服务器上定义,则定义的标识将在EAP身份验证期间用作对等标识。特殊值%identity使用EAP Identity方法向客户端询问EAP身份。 如果未定义,则IKEv2标识将用作EAP标识。

esp = <cipher suites>
用于连接的以逗号分隔的ESP加密/认证算法列表,例如,aes128-sha256。符号是加密完整性[-dhgroup] [-esnmode]。对于IKEv2,可以在单个提议中包含相同类型的多个算法(由-分隔)。 IKEv1仅包含提案中的第一个算法。只能使用ah或esp关键字,不支持AH+ESP包。

默认为aes128-sha256。守护程序将其广泛的默认提议添加到此默认值或配置的值。要将其限制为已配置的提议,可以在末尾添加感叹号(!)。

注意:作为响应者,守护程序默认选择同级也支持的第一个已配置的提议。这可以通过strongswan.conf(5)更改为选择由对等方发送的第一个可接受的提议。为了限制响应者只接受特定的密码套件,可以使用严格的标志(!,感叹号),例如:aes256-sha512-modp4096!

如果指定了dh-group,则CHILD_SA/Quick模式重新加密和初始协商将使用指定的组进行单独的Diffie-Hellman交换。但是,对于IKEv2,使用IKE_SA隐式创建的CHILD_SA的键将始终从IKE_SA的密钥材料派生。因此,此处指定的任何DH组仅在稍后重新生成CHILD_SA或使用单独的CREATE_CHILD_SA交换创建时才适用。因此,建立SA时可能不会立即注意到建议不匹配,但可能会在以后导致重新生成失败。

对于esnmode的有效值是esn和noesn。指定两者协商对等体的扩展序列号支持,默认为noesn。

forceencaps = yes | no
即使没有检测到NAT情况,也强制对ESP数据包进行UDP封装。 这可能有助于克服限制性防火墙。 为了强制对等体封装数据包,NAT检测有效负载是伪造的。

fragmentation = yes | accept | force | no
是否使用IKE分片(根据RFC 7383的专有IKEv1扩展或IKEv2分段)。 可接受的值是yes(默认值),accept,force,no。 如果设置为yes,并且对等体支持它,则超大IKE消息将以片段形式发送。 如果设置为accept,则会向对等方通知对碎片的支持,但守护程序不会以碎片形式发送自己的消息。 如果设置为force(仅支持IKEv1),则初始IKE消息将在必要时进行分段。 最后,将该选项设置为no将禁用宣布对此功能的支持。

请注意,无论此选项的值如何(即使设置为no),始终接受对等方发送的碎片化IKE消息。

ike = <cipher suites>
要使用的以逗号分隔的IKE/ISAKMP SA加密/认证算法列表,例如,aes128-sha256-modp3072。 表示法是encryption-integrity[-prf]-dhgroup。 如果没有给出PRF,则定义的完整性算法用于PRF。 prf关键字与完整性算法相同,但具有prf前缀(例如prfsha1,prfsha256,prfaesxcbc)。

在IKEv2中,可以包括多个算法和提议,例如aes128-aes256-sha1-modp3072-modp2048,3des-sha1-md5-modp1024。

默认为aes128-sha256-modp3072。 守护程序将其广泛的默认提议添加到此默认值或配置的值。 要将其限制为已配置的提议,可以在末尾添加感叹号(!)。

注意:作为响应者,守护程序接受从对等方收到的第一个支持的提议。 为了限制响应者只接受特定的密码套件,可以使用严格的标志(!,感叹号),例如:aes256-sha512-modp4096!

ikedscp = 000000 | <DSCP field>
差分服务字段代码点,用于设置从此连接发送的传出IKE数据包。 该值是一个六位二进制编码字符串,用于定义要设置的Codepoint,如RFC 2474中所定义。

ikelifetime = 3h | <time>
连接的密钥信道(ISAKMP或IKE SA)在重新协商之前应该持续多长时间。 另见下面的EXPIRY/REKEY。

installpolicy = yes | no
决定是否由charon守护程序为给定连接在内核中安装了IPsec策略。 和平合作,例如 使用想要控制内核策略的Mobile IPv6守护程序mip6d。 可接受的值是yes(默认值)和no。

keyexchange = ike | ikev1 | ikev2
应该使用哪个密钥交换协议来启动连接。 标有ike的连接在启动时使用IKEv2,但在响应时接受任何协议版本。

keyingtries = 3 | <number> | %forever
在放弃之前,应该进行多少次尝试(整数或永远不变)来协商连接,或替换连接(默认3)。值%forever意味着“永不放弃”。 仅在本地相关,其他目的不需要就此达成一致。

type = tunnel | transport | transport_proxy | passthrough | drop
连接的类型;当前接受的值:

 * **tunnel**(默认值),表示主机到主机,主机到子网,子网到子网的隧道;* **transport**,表示主机到主机的传输方式;* **transport_proxy**,表示特殊的Mobile IPv6传输代理模式;* **passthrough**,表示根本不应该进行IPsec处理;* **drop**,表示应丢弃数据包。

strongswan官网https://www.strongswan.org/

strongSwan:ipsec.conf – IPsec 的配置和连接相关推荐

  1. IPSEC.CONF(5) - IPsec配置

    IPSEC.CONF NAME ipsec.conf -- IPsec配置 DESCRIPTION ipsec.conf指定了Openswan IPsec子系统的大多数配置和控制信息. include ...

  2. 【译】IPSEC.CONF(5) - IPsec配置

    NAME ipsec.conf -- IPsec配置 DESCRIPTION ipsec.conf指定了Openswan IPsec子系统的大多数配置和控制信息. include ipsec.*.co ...

  3. strongswan之ipsec.conf配置手册

    ipsec.conf是strongSwan的关键配置,文件指定了strongSwan IPsec子系统的大部分配置和控制信息.主要的例外是身份验证的密钥,配置保存在ipsec.secrets文件中. ...

  4. ipsec.conf 各配置含义

    IPsec.conf 是 IPsec 协议的配置文件,它包含了各种网络安全相关的配置信息.下面是常见的一些配置项及其含义: conn:连接名,表示需要建立的安全连接的名称. left(或者 lefts ...

  5. IPSec ***基于ASA的配置(思科)

    IPSec ×××基于ASA的配置 实现 某软件开发公司在中小城市建立了分公司, 分公司开发项目小组所在网络地址为 10.1.1.0/24, 该网络的主机可以通过×××访问总公司开发数据服务器(192 ...

  6. win2003服务器通过ipsec做防火墙的配置方法

    这篇文章主要介绍了win2003服务器通过ipsec做防火墙的配置方法,需要的朋友可以参考下 windows2003系统的防火墙功能较弱,关键是无法使用命令进行配置,这对批量部署会造成很大的工作量,因 ...

  7. IPSec VPN原理与配置

    目录 一.实验原理 ipsec vpn的目的 ipsec vpn的原理 二.  IPSec VPN概念 1.什么是IPSec 2.IPSec架构 3.SA  (Security Association ...

  8. IPSEC的原理及配置步骤整理(一)

    1.概念理清 IPSEC封装模式:封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种. 2.传输模式和隧道模式比较 安生性:隧道模式高 ...

  9. IPsec VPN 的基本配置

    IPsec VPN 的基本配置 网络情况概述 IPsec 配置思路: 基本网络配置 点到点IPSec 配置 Ok,终于到了配置了,理论真是太烧脑了,好像理论一共七节课,我听了半个月. 废话不多说,看图 ...

最新文章

  1. Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15
  2. 《Hadoop与大数据挖掘》一2.3.5 动手实践:运行MapReduce任务
  3. php面试hr要看你的项目,昨晚hr给了我一个面试题,说过了就安排我面试
  4. 拿下字节offer,这些面试题命中率高达90%以上
  5. 幼师学计算机心得体会怎么写,幼儿教师学习心得
  6. 大家都认为烧烤店是“暴利”行业
  7. tcp 裸流 发送 html,ffmpeg 命令学习
  8. Navicat中文版破解安装
  9. ADMM 大规模变量优化
  10. 计算机机房搬迁预算,信息中心机房整体搬迁方案.doc
  11. R语言ggplot2可视化时间序列柱形图:通过双色渐变配色颜色主题可视化时间序列柱形图
  12. 手机esn不可用怎么解决_什么是ESN,为什么我不担心它是否干净?
  13. Vue中的 Filters 过滤器
  14. PSU CS Guest Lectures at CCUT(波特兰州立大学在长春工业大学的讲座课程)
  15. 基于Python的冬奥会领域问答机器人设计
  16. 重庆大学计算机学院张敏,张敏(安徽大学生命科学学院院长)_百度百科
  17. vs2013 - 高亮设置 括号匹配 (方括号) 大括号匹配 Visual Studio 2013
  18. nalu格式annex-B和avcc
  19. 用h5的canvas实现动画的泡沫
  20. 分布式系统理论基础 - CAP

热门文章

  1. Python opencv调用笔记本电脑摄像头
  2. 怎样将一个dataframe存入csv文件,不带行标
  3. windows平台上的 tracert 命令
  4. sass,less,stylus
  5. 开源数据库管理系统DBeaver
  6. [一分钟学会系列之一] 一分钟学会C++调用WebService
  7. Logstash [logstash.outputs.elasticsearch][main] retrying failed action with response code: 403
  8. 粗读MixMo: Mixing Multiple Inputs for Multiple Outputs via Deep Subnetworks
  9. transaction 2 failed while formatting outputs from RPC
  10. Google搜索技巧 转