当前位置: 首页 > news >正文

站点到站点-主模式

一、实验设备

1.cisco路由器三台

2.vpc两台

二、实验拓扑

三、实验配置

1、Router1配置

R1(config)#interface fa0/0

R1(config-if)#ip address 192.168.1.2 255.255.255.0

R1(config-if)#no shutdown

R1(config)#interface fa1/0 

R1(config-if)#ip address 10.1.20.1 255.255.255.0

R1(config-if)#no shutdown

R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1 

2、Router3配置

R3(config)#interface fa0/0

R3(config-if)#ip address 192.168.2.2 255.255.255.0

R3(config-if)#no shutdown

R3(config)#interface fa1/0 

R3(config-if)#ip address 10.1.36.1 255.255.255.0

R3(config-if)#no shutdown

R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.1

3、Router2配置

R2(config)#interface fa0/0

R2(config-if)#ip address 192.168.1.1 255.255.255.0

R2(config-if)#no shutdown

R2(config)#interface fa1/0 

R2(config-if)#ip address 192.168.2.1 255.255.255.0

R2(config-if)#no shutdown

4、Router1配置IPSec

(1)R1路由器IpSec配置 

R1(config)#crypto isakmp enable (optional)默认启用 

(2)R1路由器IpSec isakmp 配置(阶段一的策略) 

R1(config)#crypto isakmp policy 10

R1(config-isakmp)#hash md5

R1(config-isakmp)#authentication pre-share

R1(config-isakmp)#encryption 3des

R1(config-isakmp)#group 2

(3)R1路由器Pre-Share认证配置 

R1(config)#crypto isakmp key cisco address 192.168.2.2

(4)R1路由器IpSec变换集配置(阶段二的策略) 

R1(config)#crypto ipsec transform-set c1 esp-3des esp-md5-hmac

R1 (cfg-crypto-trans)#mode tunnel

(5)R1路由器加密图的配置

R1(config)#crypto map  c2  10  ipsec-isakmp

R1(config-crypto-map)#set peer 192.168.2.2

R1(config-crypto-map)#set transform-set c1

R1(config-crypto-map)#match address 101

(6)R1路由器定义感兴趣流量 

R1(config)#access-list 101 permit ip 10.1.20.0  0.0.0.255  10.1.36.0  0.0.0.255

(7)R1路由器加密图绑定到接口

R1(config)#interface e0/0 

R1(config-if)#crypto map c2 

5、Router3配置IPSec

(1)R3路由器IpSec配置 

R3(config)#crypto isakmp enable (optional)默认启用 

(2)R3路由器IpSec isakmp 配置(阶段一的策略) 

R3(config)#crypto isakmp policy 10

R3(config-isakmp)#hash md5

R3(config-isakmp)#authentication pre-share

R3(config-isakmp)#encryption 3des

R3(config-isakmp)#group 2

(3)R3路由器Pre-Share认证配置 

R3(config)#crypto isakmp key cisco address 192.168.1.2 

(4)R3路由器IpSec变换集配置(阶段二的策略) 

R3(config)#crypto ipsec transform-set c1 esp-3des esp-md5-hmac

R3(cfg-crypto-trans)#mode tunnel

(5)R3路由器加密图的配置 

R3(config)#crypto map c2 10 ipsec-isakmp

R3(config-crypto-map)#set peer 192.168.1.2

 R3(config-crypto-map)#set transform-set c1

 R3(config-crypto-map)#match address 101

(6)R3路由器定义感兴趣流量 

R3(config)#access-list 101 permit ip 10.1.36.0  0.0.0.255  10.1.20.0  0.0.0.255

(7)R3路由器加密图绑定到接口 

R3(config)#interface e0/0

 R3(config-if)#crypto map  c2 

四、实验验证

1、ping 10.1.36.88

2、show crypto ipsec sa     // 查看 IPSec 安全关联(Security Association)的状态信息。

  • 隧道对端 IP(Peer Address)

  • 加密/验证算法(ESP/AH transform sets)

  • SPI(安全参数索引):唯一标识 SA 的 32 位值

  • 入站/出站数据包计数(#pkts encaps/decaps)

  • 生存时间(current/lifetime kB)

  • 隧道模式(Tunnel vs Transport)

  • 关联的 ACL(匹配加密流量的访问控制列表)

3、show crypto engine connections active //显示当前活跃的加密引擎连接(硬件/软件加速)。

4、debug crypto isakmp

5、debug crypto ipsec

6. clear cryto  sa  删除SA

7.抓包

可以看到总共有9条ISAKMP消息交互,其中第一阶段的主模式有6条,第二阶段的快速模式有3条。

由于wireshark软件自身的问题,导致将原本的Initiator Cookie、Responder Cookie写成了Initiator SPI、Responder SPI

1.发起方Cookie(Initiator Cookie):64 bit
– Cookie可以帮助通信双方确认一个ISAKMP报文是否真的来自对方。
– 在发起方,如果收到的某报文的应答方Cookie字段和以前收到的该字段不同,则丢弃该报文,同样,在应答方,如果收到的某报文的发起方Cookie和以前收到的该字段不同,则丢弃该报文。这种机制可以防止DOS攻击。
– 尽管Cookie的生成方法在实现不同的ISAKMP时可能不同,但无论发起方还是响应方,Cookie必须满足两个条件:
• Cookie必须是用各自的机密信息生成的,该机密信息不能从Cookie中推导出来;
• 对于一个SA,其Cookie是惟一的,也就是说对于一次SA协商过程,Cookie不能改变。
– 常用的一个生成Cookie的方法是对下述信息进行HASH(MD5、SHA1或其他HASH算法)之后,取结果的前64位:
• 源IP地址+目的IP地址+UDP源端口+UDP目的端口+随机数+当前日期+当前时间
2.应答方Cookie(Responder Cookie):64 bit
– 应答方的Cookie,紧跟在发起方Cookie之后
3.下一个载荷(Next Payload):4 bit
– 表示紧跟在ISAKMP头部之后的第一个载荷的类型值。
4.版本号:8 bit
– 主版本(Major Version):4 bit
• 表示ISAKMP协议的主版本号
– 次版本(Minor Version):4 bit
• 表示ISAKMP协议的次版本号
5.交换类型(Exchange Type):4 bit
– 表示该报文所属的交换类型。通常标识为主模式(main mode)或积极模式(aggressive mode)
6.标志(Flags):4 bit
– 目前只有后3位有用,其余保留,用0填充。后3位的含义从最后一位往前依次为
• 加密位(encryption),0x01。加密位如果是1,表示ISAKMP头部后面的所有载荷都被加密了;如果是0,表示载荷是明文,没有加密。
• 提交位(commit),0x02。用于确保在发送被保护的数据之前完成SA协商。
• 纯验证位(Authentication Only),0x04。主要由哪些希望为ISAKMP引入密钥恢复机制的人使用。
7.报文ID(Message ID):32 bit
– 在IKE第一阶段该值为全0
– 在IKE第二阶段是由发起方生成的随机值,这个惟一的报文标识可以唯一确定第二阶段的协议状态。
8.报文长度(length):32位
– 以字节为单位表示了ISAKMP整个报文(头部 +若干载荷)的总长度。

五、IPSec协议工作原理

IKE协商第一阶段总结(main mode)
– 第一阶段无论是使用main mode还是aggressive mode,目的都是产生ISAKMP/IKE SA,用ISAKMP/IKE SA为产生第二阶段IPSec SA的ISAKMP消息交互过程进行保护。
• 第1、2个ISAKMP报文
– IPSec实体双方交互SA载荷,选择相同ISAKMP消息的保护策略及认证方式,双方必须达成一致,否则第一阶段协商失败。
• 第3、4个ISAKMP报文
– IPSec实体双方交互DH算法的公共值及密钥计算材料,从而双方计算出一系列相同的密钥
• 第5、6个ISAKMP报文。
– 第5、6个报文使用第3、4个报文交互后产生的相关密钥进行验证及加密处理。IPSec实体双方分别对对方进行验证,若使用pre-share key的验证方式,即判断对方是否拥有与本地相同的pre-share key。双方的Key配置必须一致,否则第一阶段协商失败
IKE协商第二阶段总结(quick mode)
– 第二阶段交互的ISAKMP消息均被第一阶段产生的ISAKMP/IKE SA保护。
– 确定IPSec SA的保护策略,使用AH还是ESP、传输模式还是隧道模式、被保护的数据是什么等等,IPSec通信实体双方对于这些安全策略必须达成一致,否则IKE第二阶段协商将无法通过。
– 为降低密钥之间的关联性,第二阶段采用PFS重新进行DH交换,并计算出新的共享密钥,从而计算出IPSec SA中用于加密和验证的密钥。
– 第二阶段协商的目标就是产生真正用于保护IP数据的IPSec SA

http://www.lryc.cn/news/603772.html

相关文章:

  • Java 11 新特性详解与代码示例
  • JAVA中集合的遍历方式
  • 【C++】1. C++基础知识
  • 编辑距离:理论基础、算法演进与跨领域应用
  • taro+react重新给userInfo赋值后,获取的用户信息还是老用户信息
  • ERROR c.a.c.n.c.NacosPropertySourceBuilder
  • react 的 useTransition 、useDeferredValue
  • react中暴露事件useImperativeHandle
  • 【C++】判断语句
  • 多目标粒子群优化(MOPSO)解决ZDT1问题
  • 一区Top期刊 Acceptance Rate: 5%,接受率为5%
  • python的进程、线程、锁
  • StackingClassifier参数详解与示例
  • c++之链表
  • 【面试场景题】阿里云子账号设计
  • 2025年7月技术问答第4期
  • Python高效历史记录管理:保存最后N个元素的完整指南
  • Dify 从入门到精通(2/100 篇):Dify 的核心组件 —— 从节点到 RAG 管道
  • Apple: A Legendary Journey of Innovation, Business, and Global Influence
  • Apache Ignite 的分布式锁Distributed Locks的介绍
  • windows电脑截图工具怎么选 windows电脑截图工具合集整理
  • DeepSeek MoE 技术解析:模型架构、通信优化与负载均衡
  • Python与Spark
  • Linux_库制作与原理浅理解
  • vim的`:q!` 与 `ZQ` 笔记250729
  • grep常用指令
  • 【lucene】SegmentCoreReaders
  • 【lucene】currentFrame与staticFrame
  • Qt 移动应用传感器开发
  • 20250729使用WPS打开xlsx格式的电子表格时候隐藏显示fx的编辑栏的方法