SANGFOR SCSA——虚拟专用网与IPSec解决方案

虚拟专用网概述
IPSec解决方案

1、虚拟专用网络概述
企业,组织,商业等对专用网有强大的需求,高性能,高速度和高安全性是专用网明显的优点。可是物理上架设专用网价格不菲,架设实施难度大,以上两方面是虚拟专用网络需求的最直接的缘由。
虚拟专用网virtual private network:指依靠ISP或其余NSP在公用网络基础设施上构建的专用的安全数据通讯网络,又由于不是物理上的专用网,只是逻辑上的,因此被称为虚拟专用网,核心技术是隧道。
一、虚拟专用网的分类
(1)按照业务类型分类:
①Client-LAN XXX(access XXX)
使用Internet远程访问的虚拟专用网,好比出差的员工有远程办公的需求。
在这里插入图片描述②LAN-LAN XXX
为了在不一样局域网之间创建安全的数据传输通道,好比企业分支之间或与合做伙伴之间进行互联。
在这里插入图片描述(2)按照网络层次分类
应用层(SSL XXX)传输层(Sangfor XXX)网络层(IPSec,GRE等)网络接口层(L2F/L2TP,PPTP等)web

二、虚拟专用网经常使用的技术
(1)隧道技术
隧道:在公共通讯网络上构建的一条数据路径,能够提供与专用通讯线路等同的链接特性。
隧道技术:指在隧道的两端经过封装以及解封装技术在公网上创建一条数据通道,使用这条通道对数据报文进行传输。增长了隧道头部与新的IP头部。
常见的隧道技术有:GRE,L2TP,IPSec,Sangfor,SSL。其中GRE只有简单的加密;L2TP只有用户身份认证,好比CHAP、PAP,不存在加密和验证;而IPSec,Sangfor,SSL都是既支持身份认证,也支持加密和校验。
(2)加解密技术
主流的加密算法分为两大类:对称加密算法,非对称加密算法(公钥加密算法)
常见的对称加密算法:IDEA,DES/3DES,RC,AES等
对称加密算法的缺陷:密钥传输风险,密钥多,难管理。
非对称加密算法:加密和解密使用不一样的密钥,分为公钥加密,私钥解密,这样作的好处使得通讯双方无需进行密钥传输。
常见的非对称加密算法:ECC,RSA,Rabin等
对称加密与非对称加密的比较:
安全性上面非对称加密较高,速度上对称加密较快,适合加密大块数据,密钥数量上非对称加密较少。
因此后来人们采起对称加密算法加密数据,非对称加密算法加密对称加密算法的密钥。
(3)完整性与身份验证技术
数字签名就是解决了完整性的问题,将原始数据经过哈希算法获得信息摘要hash值,再将hash值用本身私钥进行加密,造成数字签名发送给对端,接收端一样将以前加密的数据解密获得原始数据,进程hash运算,获得信息摘要,再用公钥解密接收到的数字签名,获得信息摘要,二者对比便可,判断数据完整性。
HASH算法的特色:
不等长输入,等长输出;不可逆性;雪崩效应;使用hash算法的值对同一数据是固定的。算法

可是存在一个问题,公钥的真实性怎么获得保障,毕竟公钥是公开,传输过程当中,能够被篡改。因此引出CA机构这一律念。接收端使用CA的公钥解密发送方发过来的数字证书中的签名,获得摘要信息,而后再对证书进行hash运算,获得另一个签名,也就是摘要信息,对比二者,若是一致,就说明证书的CA机构颁发的。
而PKI就是规定可信的CA以及CA的工做流程。
PKI(公开密钥体系,Public Key Infrastructure)是一种遵循标准的利用非对称加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
PKI就是利用公钥理论和技术创建的提供安全服务的基础设施。用户可利用PKI平台提供的服务进行安全的电子交易、通讯和互联网上的各类活动。
PKI 技术采用证书管理公钥,经过第三方的可信任机构——CA认证中心把用户的公钥和用户的其余标识信息捆绑在一块儿放在用户证书中,在互联网上验证用户的身份。
目前,通用的办法是采用创建在PKI基础之上的数字证书,经过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不能否认性,从而保证信息的安全传输。
CA中心:即证书受权中心certificate authority,做为电子商务部交易中受信任的第三方,具备不能否认性。
CA中心的做用:签发证书,规定证书的有效期和经过发布证书废除列表CRL确保必要时能够废除证书,以及对证书和密钥进行管理。为每一个使用公钥的用户发放一个数字证书,数字证书的做用则是标明证书中列出的用户合法拥有证书中列出的公钥,使用CA的私钥对证书进行签名。数字签名使得攻击者不能伪造和篡改证书。
数字证书是通常包含:
用户身份信息 用户公钥信息 身份验证机构数字签名的数据
从证书用途来看,数字证书可分为签名证书和加密证书。
签名证书:主要用于对用户信息进行签名,以保证信息的真实性和不能否认性。
加密证书:主要用于对用户传送的信息进行加密,以保证信息的机密性和完整性。数据库

2、IPSec解决方案
一、IPSec协议族安全框架
IPSec 简介
IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通讯协议族。IPSec不是具体指哪一个协议,而是一个开放的协议族。
IPSec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。
IPSec XXX:是基于IPSec协议族构建的在IP层实现的安全虚拟专用网。经过在数据包中插入一个预约义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包。
IPSec提供的安全服务:机密性,完整性,数据源认证,重传攻击保护(依靠序列号单向递增),不能否认性。
IPSec协议族安全框架:
在这里插入图片描述IPSec协议族
在这里插入图片描述安全

二、IPSec工做模式
(1)传输模式
传输模式transport mode,主要应用于主机和主机之间的端到端通讯的数据保护。封装方式:不改变原有的IP报头,在原数据报头后面插入IPSec报头,将原来的数据封装成被保护的数据。
须要两台PC配置公网地址,因此这种模式使用并很少,咱们所学的XXX是站点到站点或出差与总部之间,而这种主机到主机不属于以上两种。
在这里插入图片描述(2)隧道模式
隧道模式tunnel mode,常常用于私网与私网之间经过公网进行通讯,创建安全XXX隧道。
在这里插入图片描述与传输模式不一样,在隧道模式下,原始IP分组被封装成一个新的IP报文,在内部报头以及外部报头之间插入一个IPSec报头,原IP地址被看成有效载荷的一部分收到IPSec的保护。另外,经过对数据加密,还能够隐藏原数据包中的IP地址,这样更有利于保护端到端通讯中数据的安全性。
封装方式:增长新的IP头,其后是ipsec报头,以后再将原来的整个数据包封装。
在这里插入图片描述三、IPSec通讯协议
AH和ESP是IPSec的两个主要协议。
认证头(AH , Authentication Header)协议为IP通讯提供数据源认证、数据完整性检验和防重放保证。
封装安全载荷(ESP, Encapsulating Security Payload)为IP通讯提供完整性检验、认证、加密和防重放保证。
AH和ESP能够单独使用,也能够同时使用。 在实际的组网中,ESP协议使用较多。IPSec经过AH(Authentication Header)和ESP(Encapsulating Security Payload)这两个安全协议来实现数据报文在网络上传输时的安全性(eg:私有性、完整性、真实性和防重放等)
(1)AH协议
AH(authentication header认证报头)
AH提供的安全服务:
①无链接数据完整性,经过哈希函数产生的校验来保证;
②数据源认证,经过在计算验证码时加一个共享秘钥来实现;
③抗重放服务,AH报头中的序列号能够防止重放攻击。
AH不提供任何保密性服务,不加密所保护的数据包。不管是传输模式,仍是隧道模式,AH提供对数据包的保护时,保护整个IP数据包。
AH分配到的协议号是51。也就是说,使用AH协议进行安全保护的IPv4数据报文的IP头部中协议字段将是51,代表IP头以后是一个AH头。AH头比ESP头简单得多,由于它没有提供机密性。因为不须要填充和一个填充长度指示器,所以也不存在尾部字段。
在这里插入图片描述下一头部:8bit,标识认证头后面的下一个负载类型
负载长度:8bit,表示以3bit为单位的AH头部长度减2,默认为4
保留字段:16bit;
安全参数索引:32bit,用于表示有相同IP地址和相同安全协议的不一样SA;
序列号:32bit,用于防止重放攻击,SA创建之初为0;
认证数据:由SA初始化时指定的算法来计算。
<1>AH在传输模式下封装
在这里插入图片描述上面说的认证头的认证数据就是AH认证头摘要。
<2>AH在隧道模式下封装
在这里插入图片描述(2)ESP协议
ESP(encapsulating security payload)封装安全有效载荷
ESP提供的安全服务:无链接数据的完整性,数据源认证,抗重放服务,数据加密,有限的数据流保护。
保密服务经过使用密码算法加密 IP 数据包的相关部分来实现。
数据流保密由隧道模式下的保密服务提供。
ESP一般使用DES、3DES、AES等对称加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。
ESP一样被看成一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,ESP以前的IP头中的协议字段将是50,以代表IP头以后是一个ESP头。
而且,ESP不只具有ESP头,还有一个包含有用信息的ESP尾。
在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,创建一个隧道IP头,做为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。
而ESP提供加密服务,因此原始IP包和ESP尾以密文的形式出现。
ESP在验证过程当中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。
在这里插入图片描述认证数据:一个变长字段,也叫Integrity Check Value,由SA初始化时指定的算法来极端。长度=整数倍32位比特
填充头部:8比特,给出前面填充字段的长度,置0时表示没有填充
下一头部:8比特,标识认证头后面的下一个负载类型
填充字段:8比特,大多数加密加密算法要求输入数据包含整数各分组,所以须要填充
负载数据:包含由下一头部字段给出的变长数据
序列号:32比特,一个单项递增的计数器,用于防止重放攻击,SA创建之初初始化为0,序列号不容许重复
SPI:32比特,用于标识有相同IP地址和相同安全协议的不一样SA。由SA的建立者定义,只有逻辑意义。
<1>ESP在传输模式下封装
在这里插入图片描述ESP对原始数据进行加密,可是不会加密IP头,不然中途转发路由器怎么查看IP头,会把加密的数据放置IP数据段,而后对IPSec头,也就是这里的ESP头以及ESP尾和新的IP数据段一块儿进行哈希运算校验完整性,hash值放在ESP认证字段里。ESP尾部的做用无非就是填充的意思,由于数据加密有最小单位,不足须要填充。
<2>ESP在隧道模式下封装
在这里插入图片描述
AH和ESP对比
协议号AH为51,ESP为50,都支持数据完整性校验,只是ESP对IP头不验证,都支持源认证,ESP支持数据加解密,AH不支持,都支持抗重放服务,NAT-T(NAT穿越)AH不支持,ESP支持的。
ESP在隧道模式不验证外部IP头,所以ESP在隧道模式下能够在NAT环境中运行。
而AH由于提供数据来源确认(源IP地址一旦改变,AH校验失败),因此没法穿越NAT。
四、IPSsc创建阶段
(1)IKE协商阶段
安全联盟SA
SA security association是通讯对等体间对某些重要的约定,通讯的双方符合SA约定的内容,就能够创建SA。
SA由三元组惟一标识,包括:安全参数索引SPI,目的IP地址,安全协议号。
IPSec是在两个端点之间提供安全通讯,端点被称为IPSec对等体。IPSec可以容许系统、网络的用户或管理员控制对等体间安全服务的粒度。例如,某个组织的安全策略可能规定来自特定子网的数据流应同时使用AH和ESP进行保护,并使用3DES(Triple Data Encryption Standard)进行加密;另外一方面,策略可能规定来自另外一个站点的数据流只使用ESP保护,并仅使用DES加密。
经过SA(SecurityAssociation),IPSec可以对不一样的数据流提供不一样级别的安全保护。安全联盟是IPSec的基础,也是IPSec的本质。SA是通讯对等体间对某些要素的约定,例如,使用哪一种安全协议、协议的操做模式(传输模式和隧道模式)、加密算法(DES和3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。
安全联盟是单向的,在两个对等体之间的双向通讯,最少须要两个安全联盟来分别对两个方向的数据流进行安全保护。入站数据流和出站数据流分别由入站SA和出站SA进行处理。
IPSec设备会把SA的相关参数放入SPD(Security Policy Database)里面,SPD里面存放着“什么数据应该进行怎样的处理”这样的消息,在IPSec数据包出站和入站的时候会首先从SPD数据库中查找相关信息并作下一步处理。cookie

IKE产生背景
用IPSec保护一个IP包以前,必须先创建安全联盟(SA)
IPSec的安全联盟能够经过手工配置的方式创建。可是当网络中节点较多时,手工配置将很是困难,并且难以保证安全性。这时就可使用IKE(Internet Key Exchange)自动进行安全联盟创建与密钥交换的过程。Internet密钥交换(IKE)就用于动态创建SA,表明IPSec对SA进行协商。
IKE的用途
在IPSec通讯双方之间,动态地创建安全关联(SA:Security Association),对SA进行管理和维护。网络

在这里插入图片描述IKE与AH/ESP之间关系
IKE是UDP之上的一个应用层协议,是IPSec的信令协议。IKE为IPSec协商生成密钥,供AH/ESP加解密和验证使用。AH协议和ESP协议有本身的协议号,分别是51和50。
在这里插入图片描述IKE的工做过程
第一阶段:通讯各方彼此间创建了一个已经过身份验证和安全保护的通道,此阶段的交换创建了一个ISAKMP安全联盟,即ISAKMP SA(也可称为IKE SA)。第一阶段交换有两种协商模式:主模式协商,野蛮模式协商。
第二阶段:用已经创建的安全联盟(IKE SA)为IPSec协商安全服务,即为IPSec协商具体的安全联盟,创建IPSec SA,产生真正能够用来加密数据流的密钥,IPSec SA用于最终的IP数据安全传送。
主模式:默认使用IP地址做为身份标识,默认是传递本身的出口地址作身份标识, 校验对端的公网IP作对端身份标识。(自动生成双方身份ID)
野蛮模式:可使用用户名或IP等做为双方身份标识,便可以手动配置身份ID
IKE阶段1协商过程
在这里插入图片描述DH就是一种非对称加密算法,以前说了ESP加密数据采用的是对称加密算法,那么共享密钥的安全性就很重要,DH就解决了这个问题。
在这里插入图片描述(p/g都是质数)框架

IKE阶段1——主模式协商

在这里插入图片描述第一次交换(消息1和2):策略协商。
在第1个数据包的传输过程当中,发送方发起一个包含cookie (记为:Ci ) 和SA负载(记为:SAi,携带协商IKE SA的各项参数(5元组),包括IKE的散列类型如MD5;加密算法如DES、3DES等;认证方法如预共享、数字签名、加密临时值等;DH组;SA存活期)的数据包用来协商参数。
接收方查看IKE策略消息,在本地寻找与发送方IP地址匹配的策略,找到后发回一条消息去响应。响应者发送一个cookie (记为:Cr)和SA负载(记为:SAr,已经挑选的安全参数);若是没有能够挑选的参数,响应者会返回一个负载拒绝。
第二次交换(消息3和4):Diffie-Hellman交换。
执行DH交换,发起者和接收者交换伪随机数,如nonce。nonce是计算共享秘密(用来生成加密密钥和认证密钥)所必需的。该技术的优点在于,它容许参与者经过无担保媒体建立秘密值。也就是非对称的私钥双方都有了,以前也说了真正加密数据的是共享秘钥,须要靠非对称算法交互使得预共享密钥双方安全学习。svg

第三次交换(消息5和6):对等体验证
ISAKMP/IKE阶段1主要任务就是认证,第三次交换即在安全的环境下进行认证,前面两个步骤四个数据包的传输都是为了第三次交换第5和第6个数据包交换的认证作铺垫。第1-2包交换为认证准备好策略(例如:认证策略、加密策略和散列函数等),第3-4包交换为保护5-6的安全算法提供密钥资源。
将预共享密钥经过伪随机函数得出一个值,再将这个值与非对称的私钥再伪随机函数得出三个值,成为SKEYID,为SKEYID_a,SKEYID_e,SKEYID_d
分别是Ike消息完整性验证密钥,对5/6报文进行完整性校验;Ike消息加密密钥,对5/6报文进行对称加密;用于衍生出IPSec报文加密和验证密钥,最终这个密钥保证IPSec封装的数据报文的安全性。
前两个就完成了对等体验证。
P.S.函数

  1. X、Y是交互的公钥。Ni和Nr是随机数(Nonce,随机数用以保持活性)
  2. 以上传输过程当中仅⑤、⑥数据为加密
    主模式下IKEv1采用3个步骤6条ISAKMP消息创建IKE SA。下面是以10.0.1.223主动发起IKE协商为例的整个数据构成:
    在这里插入图片描述在这里插入图片描述
    第一个消息由隧道的发起者发起,携带了如这样一些参数,如加密机制-DES,散列机制-MD5-HMAC,Diffie-Hellman组-2,认证机制-预共享:
    在这里插入图片描述消息2是应答方对发送方信息的应答,当应答方查找SPD查找到发送方相关的策略后,将本身的信息一样发送给对端,固然,应答方在发送传输集时将会生成本身Cookie并添加到数据包中,数据包信息以下:
    在这里插入图片描述当完成了第一步骤双方的策略协商后,则开始进行第二步骤DH公共值交换,随数据发送的还包含辅助随机数,用户生成双方的加密密钥。消息3的数据包信息以下:
    在这里插入图片描述应答方一样将本端的DH公共值和Nonce随机数发送给对端,经过消息4传输:
    在这里插入图片描述第五条消息由发起者向响应者发送,主要是为了验证对端就是本身想要与之通讯的对端。这能够经过预共享、数字签名、加密临时值来实现。
    双方交换DH公共值后,结合随机数生成一系列的加密密钥,用于双方加密、校验,同时生成密钥后,将公共密钥和本端身份信息等进行hash,hash值传输给对端进行验证设备身份。发送方经过消息5发送给接收方,能够看到载荷类型为身份验证载荷,所携带的信息通过加密,没法查看相关信息。
    在这里插入图片描述第六条消息由响应者向发起者发送,主要目的和第五条同样。
    在这六条消息事后,也就是验证一旦经过,就进入了IKE第二阶段:快速模式。
    在这里插入图片描述
IKE阶段1——野蛮模式协商

野蛮模式IKE交互过程
野蛮模式一样包含三个步骤,但仅经过三个包进行传输,其数据传输以下,从抓包中能够看到野蛮模式标识为Aggressive。
野蛮模式下有三个交互包,前两个数据为明文传输,仅消息3为加密传输。:
一、第一个交互包发起方建议SA,发起DH交换
二、第二个交互包接收方接受SA
三、第三个交互包发起方认证接受方性能

在这里插入图片描述1.第一条消息:发起者发送5元组(主模式中介绍的五种参数),DH公共值(上文中的X、Y或者DH交换中讲到的c),辅助随机数nonce(上文中的Ni或Nr)以及身份资料(IDi和IDr,在此处为设备上配置域名字符串或用户名字符串,也有多是IP地址)。响应者能够选择接受或者拒绝该建议。
Diffie-Hellman 公开值、须要的随机数据和身份信息也在第一条消息中传送。
2.第二条消息:若是响应者接受发起者的建议,则回应一个选定的5元组,DH公共值,辅助随机数nonce,身份材料以及一个“认证散列值”。
3.第三条消息:由发起者发送一个“认证散列值”,该消息被验证,让应答方可以肯定其中的散列值是否与计算获得的散列值相同,进而肯定消息是否有问题。实际上,这个消息认证发起者而且证实它是交换的参与者。这个消息使用前两个消息交换的密钥信息生成的密钥进行加密。
注意: 包含身份信息的消息未被加密, 因此和主模式不一样,野蛮模式不提供身份保护。
消息1数据包中包含了SA载荷,即策略协商信息;密钥交换载荷和随机数载荷;身份验证载荷。野蛮模式将主模式中须要进行交换的数据所有进行了发送:
在这里插入图片描述当应答方接收到发起方发送来的消息1后,经过自身查看SPD是否存在与发起方身份匹配的相关策略,若存在,则利用消息1中信息与自身配置进行计算,生成身份验证hash值后,将自身配置策略信息和hash值传送给发起方。对比消息1和消息2,能够看到消息2中增长了hash载荷。
在这里插入图片描述发起方接收到应答方的策略信息和hash值后,一样进行验证,若匹配,则将自身的hash值用计算出的密钥加密后,传输给应答方。从flag中能够看出此时数据通过了加密。
在这里插入图片描述IKE阶段1两种模式对比:
主模式消息交互为6个,而野蛮模式为3个;
身份ID:主模式使用IP地址做为ID,而野蛮模式能够采用多种形式,好比IP,字符串等;
预共享密钥:主模式只能基于IP地址来肯定,野蛮模式基于ID信息确认;
安全性:主模式较高,前4个明文,后两个密文,野蛮模式只有前两个明文,最后一个加密可是不会进行身份验证;
速度上主模式较慢,野蛮模式快。

IKE阶段2

双方协商IPSec安全参数,称为变换集transform set,包括:加密算法,hash算法,安全协议,封装模式,存活时间。
阶段2只有一种信息交换模式——快速模式,它定义了受保护数据链接是如何在两个IPSEC对等体之间构成的。
快速模式有两个主要的功能:
1.协商安全参数来保护数据链接。
2.周期性的对数据链接更新密钥信息。
第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而建立。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护。
另外第二阶段全部数据都通过了加密。

(2)数据传输阶段
数据传输阶段是经过AH或者ESP通讯协议进行数据的传输,是创建在网络层的。
在这里插入图片描述
XXX隧道黑洞
对端的XXX链接已经断开,而我方还处在SA的有效生存时间内,从而造成了隧道黑洞,本端不停发送加密后的数据,可是对端不接收。
DPD解决XXX隧道黑洞
DPD:死亡对等体检测(Dead Peer Detection),检查对端的ISAKMP SA是否存在。当VPN隧道异常的时候,能检测到并从新发起协商,来维持VPN隧道。
DPD主要是为了防止标准IPSEC出现“隧道黑洞”。
DPD只对第一阶段生效,若是第一阶段自己已经超时断开,则不会再发DPD包。
DPD概述
一、 DPD包并非连续发送,而是采用空闲计时器机制。
二、每接收到一个IPSec加密的包后就重置这个包对应IKE SA的空闲定时器;若是空闲定时器计时开始到计时结束过程都没有接收到该SA对应的加密包,那么下一次有IP包要被这个SA加密发送或接收到加密包以前就须要使用DPD来检测对方是否存活。
三、DPD检测主要靠超时计时器,超时计时器用于判断是否再次发起请求,默认是发出5次请求(请求->超时->请求->超时->请求->超时)都没有收到任何DPD应答就会删除SA。

检查对端的ISAKMP SA是否存在。两种工做模式
(1)周期模式:每隔一段时间,向对端发送DPD包探测对等体是否仍存在,若是收到回复则证实正常。若是收不到回复,则会每隔2秒发送一次DPD,若是发送七次仍收不到回复,则自动清除本地对应的ISAKMP SA和IPSEC SA。
(2)按需模式:这是默认模式,当经过IPSEC VPN发送出流量而又收不到回程的数据时,则发出DPD探测包,每隔2秒发送一次,七次都收不到回应则清除本地对应的ISAKMP SA和IPSEC SA。注意,若是IPSEC通道上若是跑的只有单向的UDP流量,则慎用这个模式,尽管这种状况极少。

5、IPSec XXX应用场景

IPSec与NAT技术的结合
(1)IPSec和NAT同台设备部署,若是NAT在IPSec前处理数据,干扰IPSec流量,解决方案:私网之间流量不作NAT转换
(2)NAT设备和ipsec XXX不是同一台设备,NAT放置在外网出口,ipsec XXX设备在内网,二者具备冲突性,致使协商失败。解决方案:使用野蛮模式。
IKE总结:
SANGFOR的IPSec XXX主模式身份ID是默认配置的(IP地址),不能修改,在NAT环境下会出现协商问题,因此只能选择野蛮模式,其余厂商的IPSec XXX主模式身份ID若能够自由配置,在NAT环境下则能够协商成功。
在这里插入图片描述NAT下的数据传输可行性
在这里插入图片描述因为AH会在进隧道口的时候,将全部IP包进行完整性认证,造成AH认证头摘要,因此一旦在进入隧道后,通过NAT,在接收方计算获得的AH头部就会和发送方发送的AH认证头不一致。致使AH校验失败,数据包被接收方丢弃。
AH协议是根据本身的完整性决定丢弃数据的。可是在网络协议栈的设计中,自己也存在校验机制来检验数据包是不是正确的数据包。

TCP/UDP伪首部校验机制
伪首部是为了增长校验和的检错能力,校验12字节的内容,源IP,目的IP共8字节,保留字节1字节,传输层协议号1字节,TCP/UDP报文长度(报头+数据)2字节。
TCP/UDP伪首部——校验和,一致才会接收。
在这里插入图片描述在这里插入图片描述因此ESP的传输模式与NAT不兼容。
在这里插入图片描述在这里插入图片描述因此只有ESP的隧道模式与NAT兼容。
还存在一个问题,在真正数据传输的时候,若是是多XXX IKE协商,那么因为ESP的隧道模式下知识增长了新的IP头,可是当通过防火墙时候,或者说多对一地址转换的时候,ESP新加的并无传输层的端口号,实现不了端口复用。这样就会致使传输到对端的数据没法区分。
在这里插入图片描述
多XXX链接问题总结:
一、隧道协商过程当中,IKE规定源和目的端口都必须为UDP 500,在多VPN场景下源端口可能会在防火墙设备NAT后发生变化,从而致使IKE协商失败。
二、数据传输过程当中,因为ESP在工做在网络层,没有传输层头部,从而没法进行NAPT端口复用,致使数据传输失败。

NAT-T技术
NAT-T用来解决标准IPSec XXX只能同时进行一个XXX链接的问题,NAT-T容许多个IPSec XXX同时链接,出现了NAT-T的技术。
(1)NAT-T协议运用在IPSec XXX中,在IKE协商和XXX链接时,容许源端口为非UDP 500端口,使用目的端口是UDP4500端口。
(2)NAT-T协议为ESP增长了UDP头部,从而解决了数据传输过程通过防火墙后没法进行端口复用的问题。
在这里插入图片描述