当前位置: 首页 > 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.dtcms.com/a/303799.html

相关文章:

  • 【C++基础】函数调用约定(x86/ARM 差异对比):面试高频考点与真题解析
  • 面试遇到的问题3
  • java String类
  • 打印机错误0x0000011B,0x00000709,0x00000BCD,修复工具下载。
  • ElasticSearch 的3种数据迁移方案
  • Nginx安装流程
  • Vue.js 指令系统完全指南:深入理解 v- 指令
  • 递归推理树(RR-Tree)系统:构建认知推理的骨架结构
  • 【C++】1. C++基础知识
  • 传媒行业视频制作:物理服务器租用是隐藏的效率引擎
  • 【Golang】Go语言Map数据类型
  • Qt 并行计算框架与应用
  • 【go】语言的匿名变量如何定义与使用
  • TDengine 中 TDgpt 异常检测的机器学习算法
  • spring data mongodb 入门使用手册
  • [Linux入门] Linux 部署本地 APT 仓库及 NFS 共享服务全攻略
  • Java -- String类-StringBuffer类-StringBuilder类
  • uniapp开发微信小程序(新旧版本对比:授权手机号登录、授权头像和昵称)
  • K-近邻算法(KNN算法)的K值的选取--交叉验证+网格搜索
  • 搭建专属AI聊天网站:NextChat + 蓝耘MaaS平台完整部署指南
  • 2025年7月技术问答第4期
  • 树形结构递归查询与嵌套结构转换:Flask + PostgreSQL 完整实现
  • 力扣面试150题--位1的个数
  • 【第四章自定义编辑器窗口_扩展默认的编辑器窗口_扩展Hierarchy窗口(7/11)】
  • QT项目 -仿QQ音乐的音乐播放器(第三节)
  • 深入理解 Qt 元对象系统 (Meta-Object System)
  • WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析六
  • [明道云]-基础教学2-工作表字段 vs 控件:选哪种?
  • HTTP 与 HTTPS 的区别
  • mapbox进阶,mapbox-gl-draw绘图插件扩展,编辑模式支持点、线、面的捕捉