×

IPsec小实验:手工方式建立保护IPv4报文的IPsec-ESP隧道

hqy hqy 发表于2024-12-23 23:30:56 浏览31 评论0

抢沙发发表评论

简介: IPsec小实验:手工方式建立保护IPv4报文的IPsec-ESP隧道

前面用VXLAN和EVPN介绍了跨mportant;">广域网大二层网络互通的方案,但是我们也发现这种新技术对设备的能力有要求,成本可能会提升。那能不能用简单一点的方案呢?相信机智的小伙伴已经发现我前几天的IPsec的RFC文档,那么今天就用IPsec来操练一下吧。

实验原型借鉴H3C典型配置“采用手工方式建立保护IPv4报文的IPsec隧道”,


组网需求


在RT1和RT2之间建立一条IPsec隧道,对PCA所在的子网(192.168.1.0/24)与PCB所在的子网(192.168.2.0/24)之间的数据流进行安全保护。具体要求如下:


封装形式为隧道模式。


安全协议采用ESP协议。


加密算法采用128位的AES,认证算法采用HMAC-SHA1。


手工方式建立IPsec SA。


组网图


1677228227711.jpg


设备配置


IPsec是一个基础实验,结合配置任务和RFC2401的要求我们可以发现,IPsec的主要配置任务包括以下几点:


1、配置IPsec保护的数据流量。一般也称为感兴趣流,用ACL来进行匹配;


2、配置IPsec安全提议。指定对IP报文的封装形式为传输模式或隧道模式,选择安全协议为AH或ESP、并配置加密算法及认证算法。


3、配置IPsec安全策略。包含配置应用感兴趣流,应用IPsec安全提议,指定IPsec隧道地址,配置安全协议的SPI(Security Parameter Index,安全参数索引)和SA(Security Association,安全联盟)密钥。


4、在接口上应用IPsec安全策略。


上面流程了解之后,直接贴出设备配置。


RT1

#interface GigabitEthernet0/0ip address 192.168.1.1 255.255.255.0#interface GigabitEthernet0/1ip address 12.1.1.1 255.255.255.0 nat outbound 3401 ipsec apply policy ipsec# ip route-static 23.1.1.0 24 12.1.1.2 ip route-static 192.168.2.0 24 12.1.1.2#acl advanced 3400 rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255#acl advanced 3401 rule 0 deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 rule 5 permit ip#ipsec transform-set tran1 esp encryption-algorithm aes-cbc-128 esp authentication-algorithm sha1#ipsec policy ipsec 10 manual transform-set tran1 security acl 3400 remote-address 23.1.1.3sa spi inbound esp 123456 sa string-key inbound esp simple qwer sa spi outbound esp 654321 sa string-key outbound esp  simple asdf

RT2

#interface GigabitEthernet0/0 ip address 192.168.2.1 255.255.255.0#interface GigabitEthernet0/1 ip address 23.1.1.3 255.255.255.0 nat outbound 3401 ipsec apply policy ipsec# ip route-static 12.1.1.0 24 23.1.1.2 ip route-static 192.168.1.0 24 23.1.1.2#acl advanced 3400 rule 0 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255#acl advanced 3401 rule 0 deny ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 rule 5 permit ip#ipsec transform-set tran1 esp encryption-algorithm aes-cbc-128 esp authentication-algorithm sha1#ipsec policy ipsec 10 manual transform-set tran1 security acl 3400 remote-address 12.1.1.1 sa spi inbound esp 654321 sa string-key inbound esp simple asdf sa spi outbound esp 123456 sa string-key outbound esp simple qwer

RT-ISP

#interface GigabitEthernet0/0ip address 12.1.1.2 255.255.255.0#interface GigabitEthernet0/1ip address 23.1.1.2 255.255.255.0

验证配置


验证设备


查看RT1上IPsec安全策略的信息

display ipsec policy

1677228318779.jpg

查看RT1上IPsec SA的相关信息

display ipsec sa

1677228350584.jpg

 

查看RT1上IPsec安全提议的信息

display ipsec transform-set

1677228360049.jpg

查看RT1上IPsec隧道的信息

display ipsec tunnel

1677228394959.jpg


验证主机


从PC1向PC2发起ping从测试,可以连通。观察TTL值为253,表明中间经过了两跳设备,应该就是IPsec隧道两端的RT1和RT2,中间的互联网无感知。但是使用tracert探测路径,则无法看到网络转发路径。

1677228405922.jpg

通过抓包可以发现,RT2没有回应TTL超时的ICMP错误消息,应该是没有接口响应吧。

1677228434902.jpg

 

查看IPsec SA信息时,隧道下有一行Path MTU: 1428的信息,那就来验证一下MTU的大小吧。

1677228439905.jpg

测试发现实际最大能通过的报文大小为1400字节,1401字节及更大的报文无法通过。

1677228452305.jpg

 

抓包发现IPsec设备发出的报文大小为1510字节,其中包含14字节的以太网报文头封装,内部数据长度为1496字节。还可以看到DF标志、隧道的源目地址以及ESP SPI等信息。

1677228456971.jpg

安全协议数据封装格式如下表。我们采用的是ESP-Tunnel的方式,所以数据封装格式为:[OUTER-IP][ESP][INNER-IP][DATA][ESP-T]

1677228466973.jpg

再次对比数据包长度,减掉20字节的外部报文头,得到[ESP][INNER-IP][DATA][ESP-T]部分长度为1476字节。再减掉ESP封装的SPI和序列号的8字节,还有1468字节。

1677228492949.jpg

我们再反着考虑一下,这个1428字节是隧道的MTU,IPsec网关路由器接收到的报文是多大呢?

1677228482322.jpg

数据长度为1400字节,ICMP报文标志位长度为8字节,再加上IP报文头的20字节,长度正好是1428字节,也就是[INNER-IP][DATA]的长度为1428字节。外层的14字节的以太网封装,进入设备之后就脱掉了,但是依然可以看到最外层封装的源MAC地址为PCA的MAC地址,目的MAC地址为网关设备的MAC地址。


再计算一下,[ESP-T]这段的长度应该是40字节吧?


总结


1、IPsec网关设备应用NAT时,要将IPsec保护的数据流量排除掉。因为接口下NAT优先级高于IPsec,会导致互访流量的源地址被转换为无法进入IPsec隧道;


2、ESP + Tunnel模式下,数据的封装格式为:[OUTER-IP][ESP][INNER-IP][DATA][ESP-T]。其中[INNER-IP][DATA]长度受隧道MTU限制,报文的整体长度受IPsec网关设备出接口MTU限制。


3、ESP配置中的SPI和SA在两台IPsec网关设备的出入方向相反,需要注意。



打赏

本文链接:https://www.kinber.cn/post/4298.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客