%CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi 解法方法

HUB端
%CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec’d IPSEC packet has invalid spi for destaddr=125.45.67.22, prot=50, spi=0x32040000(839122944), srcaddr=134.56.78.10, input interface=Ethernet0/0.125 解决问题。。。

实验环境:穿越nat

出现上面的原因 那就是ipsec 的问题了 趁着这个机会好好学习 ipsec

前提:要保证vpn隧道可以建立的前提是 ce两端必须保证路由的可达

  1. 不管是什么vpn 取消关联ipsec 是否可以正常通信 例如dmvpn
  2. 取消关联 ipsec 可以正常通信 ,那就查看ipsec 具体哪里问题
    show crypto is sa – 查看ipsec 第一阶段
    出现QM_IDLE 这个 就表明第一阶段是正常协商的
  3. 到了这里 可以知道 就是ipsec 第二阶段的问题了 第二阶段 需要定义ipsec 转换集 以及隧道 我们先回顾一下



1.从IPsec的角度上说,IPsec要保证数据的安全,因此它会加密和校验数据。

2.从NAT的观点来看,为了完成地址转换,势必会修改IP地址。

一、封装AH认证头的两种方式的不同

1、传输模式:

AH协议(IP协议号为51)提供数据源认证、数据完整性校验和防报文重放功能,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报文头,此报文头插在标准IP包头后面,对数据提供完整性保护。可选择的认证算法有MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。MD5算法的计算速度比SHA-1算法快,而SHA-1算法的安全强度比MD5算法高。

设计AH认证协议的目的是用来增加IP数据报的安全性。AH协议提供无连接的完整性、数据源认证和抗重放保护服务,但是AH不提供任何保密性服务。IPSec验证报头AH是个用于提供IP数据报完整性、身份认证和可选的抗重传攻击的机制,但是不提供数据机密性保护。验证报头的认证算法有两种:一种是基于对称加密算法(如DES),另一种是基于单向哈希算法(如MD5或SHA-1)。

   传输模式只对上层协议数据(传输层数据)和IP头中的固定字段提供认证保护,把AH插在IP报头的后面,主要适合于主机实现。

2、隧道模式:

隧道模式把需要保护的IP包封装在新的IP包中,作为新报文的载荷, 然后把AH插在新的IP报头的后面。隧道模式对整个IP数据报提供认证保护。

二、ESP认证加密方法

传输模式:

隧道模式:

ESP(Encapsulate Security Payload,封装安全载荷)协议:封装安全载荷(ESP)用于提高Internet协议(IP)协议的安全性。它可为IP提供机密性、数据源验证、抗重放以及数据完整性等安全服务。ESP属于IPSec的机密性服务。其中,数据机密性是ESP的基本功能,而数据源身份认证、数据完整性检验以及抗重传保护都是可选的。ESP主要支持IP数据包的机密性,它将需要保护的用户数据进行加密后再重新封装到新的IP数据包中。

上面看过了AH和ESP认证头的结构,与两种模式下的不同。下面讨论的是,为什么在NAT环境中,ipsec vpn 不能使用AH认证方法?

IPSec协议的主要目标是保护IP数据包的完整性,这意味着IPSec会禁止任何对数据包的修改。但是NAT处理过程是需要修改IP数据包的IP包头、端口号才能正常工作的。所以,如果从我们的网关出去的数据包经过了ipsec的处理,当这些数据包经过NAT设备时,包内容被NAT设备所改动,修改后的数据包到达目的地主机后其解密或完整性认证处理就会失败,于是这个数据包被认为是非法数据而丢弃。无论传输模式还是隧道模式,AH都会认证整个包头,不同于ESP 的是,AH 还会认证位于AH头前的新IP头,当NAT修改了IP 头之后,IPSec就会认为这是对数以完整性的破坏,从而丢弃数据包。因此,**

AH是不可能与NAT一起工作的。

这是重点 ah 需要验证IP报头,再经过nat的时候,IP就以及被修改了,所以到对端就会失效
**

意思就是说,AH处理数据时,所使用的数据是整个数据包,甚至是IP包头的IP地址,也是处理数据的一部分,对这些数据作整合,计算出一个值,这个值是唯一的,即只有相同的数据,才可能计算出相同的值。当NAT设备修改了IP地址时,就不符合这个值了。这时,这个数据包就被破坏了。

而ESP并不保护IP包头,ESP保护的内容是ESP字段到ESP跟踪字段之间的内容,因此,如何NAT只是转换IP的话,那就不会影响ESP的计算。但是如果是使用PAT的话,这个数据包仍然会受到破坏。

所以,在NAT网络中,只能使用IPSec的ESP认证加密方法,不能用AH。

但是也是有办法解决这个缺陷的,不能修改受ESP保护的TCP/UDP,那就再加一个UDP报头。

!!!!!!!!!!!!!!!!!!

ipsec隧道建立要两个阶段,第一个阶段是isakmp sa,负责在不安全网络中完成ipsec sa的参数协商。该阶段的配置在isakmp的policy中;第二个阶段是ipsec sa,负责在isakmp建立的隧道中建立单向ipsec隧道。

transform-set的配置内容是ipsec sa使用的加密、校验和签名方式

由于AH需要对整个IP数据包进行认证,如果先采用AH再使用ESP, ESP的头和尾会改变数据包的长度,另外, ESP的填充字段也会改变数据包的长度,造成AH认证的失败。因此AH和ESP同时使用时首先应该应用ESP。

interface Tunnel10
 bandwidth 1000
 ip address 172.247.247.2 255.255.255.252
 no ip redirects
 ip mtu 1400
 ip nhrp authentication banco
 ip nhrp map multicast 125.45.67.22
 ip nhrp map 172.247.247.1 125.45.67.22
 ip nhrp network-id 172
 ip nhrp holdtime 300
 ip nhrp nhs 172.247.247.1
 ip nhrp shortcut
 ip tcp adjust-mss 1360
 delay 1000
 tunnel source Ethernet0/0
 tunnel mode gre multipoint
 tunnel protection ipsec profile vpn
end



crypto isakmp policy 10
 encr aes
 authentication pre-share
 group 14
crypto isakmp key ccie address 0.0.0.0
crypto ipsec transform-set vpn esp-aes esp-sha-hmac        --最终解决  保证是esp
 mode transport 
crypto ipsec profile vpn
 set transform-set vpn

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值