道隐于小成,言隐于荣华

网络安全笔记:IPSec

该部分为本科期间网络安全课程笔记备份。

IPSec安全体系结构

IPSec的概念

IPSec(IP Security)是一种由IETF设计的端到端的确保IP层通信安全的机制。IPSec不是一个单独的协议,而是一组协议,这一点对于我们认识IPSec是很重要的。IPSec协议的定义文件包括了12个RFC文件和几十个Internet草案,已经成为工业标准的网络安全协议

IPSec在IPv6中是必须支持的,而在IPv4中是可选的。

IP协议在当初设计时并没有过多地考虑安全问题,而只是为了能够使网络方便地进行互联互通,因此IP协议从本质上就是不安全的。仅仅依靠IP头部的校验和字段无法保证IP包的安全,修改IP包并重新正确计算校验和是很容易的。

IP协议没有采取任何安全措施,既没有对数据包的内容进行完整性验证,又没有进行加密,所以如此不安全。如果不采取安全措施,IP通信会暴露在多种威胁之下。

IP协议威胁举例:

  • 窃听:一般情况下IP通信是明文形式的,第三方可以很容易地窃听到IP数据包并提取出其中的应用层数据。“窃听”虽然不破坏数据,却造成了通信内容外泄,甚至危及敏感数据的安全。
  • 篡改:攻击者可以在通信线路上非法窃取到IP数据包,修改其内容并重新计算校验和,数据包的接收方一般不可能察觉出来。作为网络通信用户,即使并非所有的通信数据都是高度机密的,也不想看到数据在传输过程中有任何差错。
  • IP欺骗:在一台机器上可以假冒另外一台机器向接收方发包。接收方无法判断收到的数据包是否真的来自该IP包中所声称的源IP地址。
  • 重放攻击法:搜集特定的IP包,进行一定的处理,然后再一一重新发送,欺骗接收方主机。

IPSec协议可以为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,保证数据的完整性和机密性,有效抵御网络攻击,同时保持易用性

RFC 内容
2401 IPSec体系结构
2402 AH(Authentication Header)协议
2403 HMAC-MD5-96在AH和ESP中的应用
2404 HMAC-SHA-1-96在AH和ESP中的应用
2405 DES-CBC在ESP中的应用
2406 ESP(Encapsulating Security Payload)协议
2407 IPSec DOI
2408 ISAKMP协议
2409 IKE(Internet Key Exchange)协议
2410 NULL加密算法及在IPSec中的应用
2411 IPSec文档路线图
2412 OAKLEY协议

IPSec的功能

  1. 作为一个隧道协议实现了VPN通信
    • IPSec作为第三层的隧道协议,可以在IP层上创建一个安全的隧道,使两个异地的私有网络连接起来,或者使公网上的计算机可以访问远程的企业私有网络。这主要是通过隧道模式实现的。
  2. 保证数据来源可靠
    • 在IPSec通信之前双方要先用IKE认证对方身份并协商密钥,只有IKE协商成功之后才能通信。
    • 由于第三方不可能知道验证和加密的算法以及相关密钥,因此无法冒充发送方,即使冒充,也会被接收方检测出来。
  3. 保证数据完整性
    • IPSec通过验证算法功能保证数据从发送方到接收方的传送过程中的任何数据篡改和丢失都可以被检测。
  4. 保证数据机密性
    • IPSec通过加密算法使只有真正的接收方才能获取真正的发送内容,而他人无法获知数据的真正内容。

IPSec体系结构

IPSec包含了3个最重要的协议:AH、ESP和IKE。

image

  1. AH协议
    • 为IP数据包提供如下3种服务:无连接的数据完整性验证、数据源身份认证和防重放攻击。
    • 数据完整性验证通过哈希函数(如MD5)产生的校验来保证;数据源身份认证通过在计算验证码时加入一个共享密钥来实现;AH报头中的序列号可以防止重放攻击。
  2. ESP协议
    • 除了为IP数据包提供AH已有的3种服务外,还提供另外两种服务:数据包加密、数据流加密。
    • 加密是ESP的基本功能,而数据源身份认证、数据完整性验证以及防重放攻击都是可选的。
    • 数据包加密是指对一个IP包进行加密,可以是对整个IP包,也可以只加密IP包的载荷部分,一般用于客户端计算机
    • 数据流加密一般用于支持IPSec的路由器,源端路由器并不关心IP包的内容,对整个IP包进行加密后传输,目的端路由器将该包解密后将原始包继续转发。
    • AH和ESP可以单独使用,也可以嵌套使用。通过这些组合方式,可以在两台主机、两台安全网关(防火墙和路由器),或者主机与安全网关之间使用。
  3. IKE协议
    • 负责密钥管理,定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法。
    • IKE将密钥协商的结果保留在安全联盟(SA)中,供AH和ESP以后通信时使用。
    • 最后,解释域(DOI)为使用IKE来协商SA的协议统一分配标识符。

安全联盟和安全联盟数据库

安全联盟(SA)

理解SA这一概念对于理解IPSec是至关重要的。AH和ESP两个协议都使用SA来保护通信,而IKE的主要功能就是在通信双方协商SA。

SA(Security Association,安全联盟)是两个IPSec实体(主机、安全网关)之间经过协商建立起来的一种协定

内容包括采用何种IPSec协议(AH还是ESP)、运行模式(传输模式还是隧道模式)、验证算法、加密算法、加密密钥、密钥生存期、抗重放窗口、计数器等,从而决定了保护什么、如何保护以及谁来保护。可以说SA是构成IPSec的基础

SA是单向的,进入(inbound)SA负责处理接收到的数据包,外出(outbound)SA负责处理要发送的数据包。因此每个通信方必须要有两种SA,一个进入SA,一个外出SA,这两个SA构成了一个SA束(SA Bundle)。

SA的管理包括创建和删除,有以下两种管理方式。

  • 手工管理:SA的内容由管理员手工指定、手工维护。但是,手工维护容易出错,而且手工建立的SA没有生存周期限制,一旦建立了,就不会过期,除非手工删除,因此有安全隐患。
  • IKE自动管理 :一般来说,SA的自动建立和动态维护是通过IKE进行的。利用IKE创建和删除SA,不需要管理员手工维护,而且SA有生命期。如果安全策略要求建立安全、保密的连接,但又不存在与该连接相应的SA,IPSec的内核会立刻启动IKE来协商SA。

每个SA由三元组:SPI,源/目的IP地址,IPSec协议惟一标识。

  1. SPI(Security Parameter Index,安全参数索引)是32位的安全参数索引。
  2. 源/目的IP地址:表示对方IP地址,对于外出数据包,指目的IP地址;对于进入IP包,指源IP地址。
  3. IPSec协议:采用AH或ESP。

安全联盟数据库

SAD(Security Association Database,安全联盟数据库)并不是通常意义上的“数据库”,而是将所有的SA以某种数据结构集中存储的一个列表。

安全策略和安全策略数据库

SP(Security Policy,安全策略)指示对IP数据包提供何种保护,并以何种方式实施保护。SP主要根据源IP地址、目的IP地址、入数据还是出数据等来标识。

IPSec还定义了用户能以何种粒度来设定自己的安全策略,由“选择符”来控制粒度的大小,不仅可以控制到IP地址,还可以控制到传输层协议或者TCP/UDP端口等。

SPD(Security Policy Database,安全策略数据库)也不是通常意义上的“数据库”,而是将所有的SP以某种数据结构集中存储的列表。

当要将IP包发送出去时,或者接收到IP包时,首先要查找SPD来决定如何进行处理。

存在3种可能的处理方式:丢弃、不用IPSec和使用IPSec。

  • 丢弃:流量不能离开主机或者发送到应用程序,也不能进行转发。
  • 不用IPSec:对流量作为普通流量处理,不需要额外的IPSec保护。
  • 使用IPSec:对流量应用IPSec保护,此时这条安全策略要指向一个SA。

IPSec运行模式

两种运行模式:传输模式(Transport Mode)和隧道模式(Tunnel Mode)

AH和ESP都支持这两种模式,因此有4种可能的组合:传输模式的AH、隧道模式的AH、传输模式的ESP和隧道模式的ESP。

IPSec传输模式

传输模式要保护的内容是IP包的载荷,可能是TCP/UDP等传输层协议,也可能是ICMP协议,还可能是AH或者ESP协议(在嵌套的情况下)。传输模式为上层协议提供安全保护。通常情况下,传输模式只用于两台主机之间的安全通信

正常情况下,传输层数据包被添加一个IP头部构成IP包。启用IPSec之后,IPSec会在传输层数据前面增加AH或者ESP或者二者同时增加,构成一个AH数据包或者ESP数据包,然后再添加IP头部组成新的IP包。

TCP例子:应用AH:IP-AH-TCP;应用ESP:IP-ESP-TCP;应用AH和ESP:IP-AH-ESP-TCP

IPSec隧道模式

隧道模式保护的内容是整个原始IP包,隧道模式为IP协议提供安全保护。通常情况下,只要IPSec双方有一方是安全网关或路由器,就必须使用隧道模式

如果路由器要为自己转发的数据包提供IPSec安全服务,就要使用隧道模式。路由器主要依靠检查IP头部来做出路由决定,不会也不应该修改IP头部以外的其他内容。如果路由器对要转发的包插入传送模式的AH或ESP头部,便违反了路由器的规则。

路由器将需要进行IPSec保护的原始IP包看作一个整体,将这个IP包作为要保护的内容,前面添加AH或者ESP头部,然后再添加新的IP头部,组成新的IP包之后再转发出去。以ESP为例,应用ESP:IP-ESP-IP+TCP

IPSec隧道模式的数据包有两个IP头:内部头和外部头。内部头由路由器背后的主机创建,外部头由提供IPSec的设备(可能是主机,也可能是路由器)创建。隧道模式下,通信终点由受保护的内部IP头指定,而IPSec终点则由外部IP头指定。如IPSec终点为安全网关,则该网关会还原出内部IP包,再转发到最终目的地。

IPSec安全协议AH

AH概述

AH(Authentication Header,验证头部协议)由RFC2402定义,是用于增强IP层安全的一个IPSec协议,该协议可以提供无连接的数据完整性、数据来源验证和抗重放攻击服务

AH协议对IP层的数据使用密码学中的验证算法,从而使得对IP包的修改可以被检测出来。

具体地说,这个验证算法是密码学中的MAC(Message Authentication Codes,报文验证码)算法,MAC算法将一段给定的任意长度的报文和一个密钥作为输入,产生一个固定长度的输出报文,称为报文摘要或者指纹。MAC算法与HASH算法非常相似,区别在于MAC算法需要一个密钥(key),而HASH算法不需要。

实际上,MAC算法一般是由HASH算法演变而来,也就是将输入报文和密钥结合在一起然后应用HASH算法。这种MAC算法称为HMAC,例如HMAC-MD5、HMAC-SHA1、HMAC-RIPEMD 160。

通过HMAC算法可以检测出对IP包的任何修改,不仅包括对IP包的源/目的IP地址的修改,还包括对IP包载荷的修改,从而保证了IP包内容的完整性和IP包来源的可靠性。

为了使通信双方能产生相同的报文摘要,通信双方必须采用相同的HMAC算法和密钥。对同一段报文使用不同的密钥来产生相同的报文摘要是不可能的。因此,只有采用相同的HMAC算法并共享密钥的通信双方才能产生相同的验证数据

不同的IPSec系统,其可用的HMAC算法也可能不同,但是有两个算法是所有IPSec都必须实现的:HMAC-MD5和HMAC-SHA1。

AH头部格式

AH协议和TCP、UDP协议一样,是被IP协议封装的协议之一。

一个IP包的载荷是否是AH协议,由IP协议头部中的协议字段判断,正如TCP协议是6,UDP协议是17一样,AH协议是51。如果一个IP包封装的是AH协议,在IP包头(包括选项字段)后面紧跟的就是AH协议头部。

image

  • 下一个头(Next Header):最开始的8位,表示紧跟在AH头部的下一个载荷的类型,也就是紧跟在AH头部后面数据的协议。在传输模式下,该字段是处于保护中的传输层协议的值,比如6(TCP)、17(UDP)或者50(ESP)。在隧道模式下,AH所保护的是整个IP包,该值是4,表示IP-in-IP协议。
  • 载荷长度(Payload Length):8位,其值是以32位(4字节)为单位。
  • 保留(reserved):16位,作为保留用,实现中应全部设置为0。
  • SPI(Security Parameter Index,安全参数索引):SPI是一个32位整数,与源/目的IP地址、IPSec协议一起组成的三元组可以为该IP包惟一地确定一个SA。[1,255]保留为将来使用,0保留本地的特定实现使用。因此,可用的SPI值为[256,2^32-1]。
  • 序列号(Sequence Number):序列号是一个32位整数,作为一个单调递增的计数器,为每个AH包赋予一个序号。该字段可以用于抵抗重放攻击。
  • 验证数据(Authentication Data):可变长部分,包含了验证数据,也就是HMAC算法的结果,称为ICV(Integrity Check Value,完整性校验值)。该字段必须为32位的整数倍,如果ICV不是32位的整数倍,必须进行填充,用于生成ICV的算法由SA指定。

AH运行模式

AH有两种运行模式:传输模式和隧道模式。

AH运输模式

在传输模式中,AH插入到IP头部(包括IP选项字段)之后,传输层协议(如TCP、UDP)或者其他IPSec协议之前。

image

被AH验证的区域是整个IP包(可变字段除外),包括IP包头部,因此源IP地址、目的IP地址是不能修改的,否则会被检测出来。然而,如果该包在传送的过程中经过NAT(Network Address Translation,网络地址转换)网关,其源/目的IP地址将被改变,将造成到达目的地址后的完整性验证失败。因此,AH在传输模式下和NAT是冲突的,不能同时使用,或者可以说AH不能穿越NAT

AH隧道模式

在隧道模式中,AH插入到原始IP头部字段之前,然后在AH之前再增加一个新的IP头部。隧道模式下,AH验证的范围也是整个IP包,因此上面讨论的AH和NAT的冲突在隧道模式下也存在。

image

在隧道模式中,AH可以单独使用,也可以和ESP一起嵌套使用。

数据完整性检查

在应用AH进行处理时,相应的SA应该已经建立,因此AH所用到的HMAC算法和密钥已经确定
从上面的传输模式和隧道模式可以看出,AH协议验证的范围包括整个IP包,验证过程概括如下:在发送方,整个IP包和验证密钥被作为输入,经过HMAC算法计算后得到的结果被填充到AH头部的“验证数据”字段中;在接收方,整个IP包和验证算法所用的密钥也被作为输入,经过HMAC算法计算的结果和AH头部的“验证数据”字段进行比较,如果一致,说明该IP包数据没有被篡改,内容是真实可信的。

在IP字段中,有一些是可变的,而且在传输过程中被修改也是合理的,不能说明该数据包是被非法篡改的。这些字段在计算HMAC时被临时用0填充。具体包括如下:

  • ToS(Type of Service): 8位的服务类型字段指出了延时、吞吐量和可靠性方面的要求。某些路由器会修改该字段以达到特定的QoS服务质量。
  • 标志字段: 这是指用于表示分片的3位标志——DF(Don’t Fragment)、MF(More Fragments)和0。路由器可能会修改这3个标志。
  • 分片偏移字段: 标志字段后面的13位的偏移字段。
  • TTL: 生命期,为了防止IP包的无限次路由,每经过一个路由器,该字段减1,当TTL变为0时,被路由器抛弃。
  • 头部校验和:中间路由器对IP包头部作了任何修改之后,必须重新计算头部校验和,因此该字段也是可变的。
  • 选项字段。

AH头部的验证数据字段在计算之前也要用0填充,计算之后再填充验证结果。

对于一个IP包,除上述可变字段外,其余部分都认为是应该不变的,这些部分也正是受到AH协议保护的部分。具体来说,这些不变的部分包括如下:版本字段、头部长度字段、IP总长字段、ID字段、协议字段、源IP地址字段、目的地址字段、AH头中除“验证数据”以外的其他字段。

数据:指经过AH处理之后,在AH头部后面的数据。传输方式下,指TCP、UDP或ICMP等传输层数据;隧道模式下,指被封装的原IP包。

IPSec安全协议ESP

ESP协议概述

ESP(Encapsulating Security Payload,封装安全载荷)协议也是一种增强IP层安全的IPSec协议,由RFC2406定义。

ESP协议除了可以提供无连接的完整性、数据来源验证和抗重放攻击服务之外,还提供数据包加密和数据流加密服务

ESP协议提供数据完整性和数据来源验证的原理和AH一样,也是通过验证算法实现。然而,与AH相比,ESP验证的数据范围要小一些。ESP协议规定了所有IPSec系统必须实现的验证算法:HMAC-MD5、HMAC-SHA1、NULL。

NULL认证算法是指实际不进行认证

数据包加密服务通过对单个IP包或IP包载荷应用加密算法实现;数据流加密是通过隧道模式下对整个IP包应用加密算法实现。ESP的加密采用的是对称密钥加密算法。与公钥加密算法相比,对称加密算法可以提供更大的加密/解密吞吐量。不同的IPSec实现,其加密算法也有所不同。为了保证互操作性,ESP协议规定了所有IPSec系统都必须实现的算法:DES-CBC、NULL。

NULL加密算法是指实际不进行加密。

之所以有NULL算法,是因为加密和认证都是可选的,但是ESP协议规定加密和认证不能同时为NULL。换句话说,如果采用ESP,加密和认证至少必选其一,当然也可以二者都选,但是不能二者都不选。

ESP头部格式

ESP协议和TCP、UDP、AH协议一样,是被IP协议封装的协议之一。一个IP包的载荷是否是ESP协议,由IP协议头部中的协议字段判断,ESP协议字段是50。如果一个IP包封装的是ESP协议,在IP包头(包括选项字段)后面紧跟的就是ESP协议头部。

image

ESP头部格式包括以下内容:

  • SPI:SPI是一个32位整数,与源/目的IP地址、IPSec协议一起组成的三元组可以为该IP包惟一地确定一个SA。
  • 序列号(Sequence Number):序列号是一个32位整数,作为一个单调递增的计数器,为每个ESP包赋予一个序号。该字段可以用于抵抗重放攻击。
  • 载荷数据(Payload Data):这是变长字段,包含了实际的载荷数据。不管SA是否需要加密,该字段总是必需的。如果采用了加密,该部分就是加密后的密文;本字段的长度必须是8位的整数倍。
  • 填充(Padding):填充字段包含了填充位。
  • 填充长度(Pad Length):填充长度字段是一个8位字段,以字节为单位指示了填充字段的长度,其范围为[0,255]。
  • 下一个头(Next Header):8位字段,指明了封装在载荷中的数据类型,例如6表示TCP数据。
  • 验证数据(Authentication Data):变长字段。只有选择了验证服务时才会有该字段,包含了验证的结果。

ESP运行模式

和AH一样,ESP也有两种运行模式:传输模式和隧道模式。运行模式决定了ESP插入的位置以及保护的对象

ESP传输模式

传输模式保护的是IP包的载荷,例如TCP、UDP、ICMP等,也可以是其他IPSec协议的头部。ESP插入到IP头部(含选项字段)之后,任何被IP协议所封装的协议(如传输层协议TCP、UDP、ICMP,或者IPSec协议)之前。

image

ESP头部包含SPI和序号字段,ESP尾部包含填充、填充长度和下一个头字段。被加密和被验证的区域在图中已经表示出来了。

如果使用了加密,SPI和序号字段不能被加密。首先,在接收端,SPI字段用于和源IP地址、IPSec协议一起组成一个三元组来惟一确定一个SA,利用该SA进行验证、解密等后续处理。如果SPI被加密了,要解密之就必须找到SA,而查找SA又需要SPI,这样就产生了类似于“先有鸡还是先有鸡蛋”的问题。因此,SPI不能被加密。

其次,序号字段用于判断包是否重复,从而可以防止重放攻击。序号字段不会泄漏明文中的任何机密,没有必要进行加密。不加密序号字段也使得一个包不经过繁琐的解密过程就可以判断包是否重复,如果重复则丢弃之,节省了时间和资源。

如果使用了验证,验证数据也不会被加密,因为如果SA需要ESP的验证服务,那么接收端会在进行任何后续处理(例如检查重放、解密)之前进行验证。数据包只有经过验证证明该包没有经过任何修改,是可以信任的,才会进行后续处理

值得注意的是,和AH不同,ESP的验证不会对整个IP包进行验证,IP包头部(含选项字段)不会被验证。因此,ESP不存在像AH那样的和NAT模式冲突的问题。如果通信的任何一方具有私有地址或者在安全网关背后,双方的通信仍然可以用ESP来保护其安全,因为IP头部中的源/目的IP地址和其他字段不被验证,可以被NAT网关或者安全网关修改。

ESP在验证上的这种灵活性也有缺点:除了ESP头部之外,任何IP头部字段都可以修改,只要保证其校验和计算正确,接收端就不能检测出这种修改。

ESP传输模式的验证服务要比AH传输模式弱一些。如果需要更强的验证服务并且通信双方都是公有IP地址,应该采用AH来验证,或者将AH认证与ESP验证同时使用。

ESP隧道模式

隧道模式保护的是整个IP包,对整个IP包进行加密。ESP插入到原IP头部(含选项字段)之前,在ESP之前再插入新的IP头部。

image

在隧道模式下,有两个IP头部。里面的IP头部是原始的IP头部,含有真实的源IP地址、最终的目的IP地址;外面的IP头部可以包含与里面IP头部不同的IP地址,例如,可以是NAT网关的IP地址,这样两个子网中的主机可以利用ESP进行安全通信。

与传输模式一样,ESP头部含有SPI和序号字段;ESP尾部含有填充、填充头部和下一个头字段;如果选用了验证,ESP的验证数据字段中包含了验证数据。同样,ESP头部和ESP验证数据字段不被加密

内部IP头部被加密和验证,而外部IP头部既不被加密也不被验证。不被加密是因为路由器需要这些信息来为其寻找路由;不被验证是为了能适用于NAT等情况。

重要的是,ESP隧道模式的验证和加密能够提供比ESP传输模式更加强大的安全功能,因为隧道模式下对整个原始IP包进行验证和加密,可以提供数据流加密服务;而ESP在传输模式下不能提供流加密服务,因为源、目的IP地址不被加密。

不过,隧道模式下将占用更多的带宽,因为隧道模式要增加一个额外的IP头部。因此,如果带宽利用率是一个关键问题,则传输模式更合适。

尽管ESP隧道模式的验证功能不像AH传输模式或隧道模式那么强大,但ESP隧道模式提供的安全功能已经足够了。

ISAKMP协议

ISAKMP概述

ISAKMP(Internet Security Association Key Management Protocol,Internet安全联盟密钥管理协议)由RFC2408定义,定义了协商、建立、修改和删除SA的过程和包格式。

ISAKMP只是为SA的协商、修改、删除SA的方法提供了一个通用的框架,并没有定义具体的SA格式。

ISAKMP双方交换的内容称为载荷(payload),ISAKMP目前定义了13种载荷,一个载荷就像积木中的一个“小方块”,这些载荷按照某种规则“叠放”在一起,然后在最前面添加上ISAKMP头部,这样就组成了一个ISAKMP报文,这些报文按照一定的模式进行交换,从而完成SA的协商、修改和删除等功能。

ISAKMP协商阶段

ISAKMP的协商过程分为两个阶段:阶段1和阶段2。两个阶段所协商的对象不同,但协商过程的交换方式是由ISAKMP定义的或者由密钥交换协议(例如IKE)定义的。

阶段1

这个阶段要协商的SA可以称为ISAKMP SA(在IKE中可以称为IKE SA),该SA是为了保证阶段2的安全通信

阶段2

这个阶段要协商的SA是密钥交换协议最终要协商的SA,当用IKE为IPSec协商时可以称为IPSec SA,保证AH或者ESP的安全通信。阶段2的安全由阶段1的协商结果来保证。阶段1所协商的一个SA可以用于协商多个阶段2的SA。

总结

IPSec是用于保护IP层通信安全的机制,由若干RFC文件和Internet草案进行定义,而不是一个单独的协议。

安全策略用于定义对数据包的处理方式,存储在安全策略数据库中;IPSec双方利用安全联盟中的参数对需要进行IPSec处理的包进行IPSec处理,安全联盟存储在安全联盟数据库中。

传输模式和隧道模式的区别在于保护的对象不同,传输模式要保护的内容是IP包的载荷,而隧道模式要保护的是整个IP包。

对IP包进行的IPSec处理有两种:AH和ESP。

AH提供无连接的数据完整性、数据来源验证和抗重放攻击服务;而ESP除了提供AH的这些功能外,还可以提供对数据包加密和数据流量加密。虽然AH和ESP都提供验证服务,但AH的验证范围要比ESP更大,包含了源和目的IP地址,因此造成了AH协议和NAT的冲突,而ESP则不存在这种问题。

posted @ 2022-05-06 10:20  FrancisQiu  阅读(68)  评论(0)    收藏  举报