GRE over IPsec,IPsec不服,要求IPsec over GRE

本文档详细介绍了IPsec over GRE的实验配置,包括组网需求、配置步骤和验证过程。配置中涉及GRE隧道的建立、IPsec策略的设定以及ACL规则的修改。实验结果显示,尽管GRE封装在外层,但内部仍能看到IPsec隧道,最终MTU为1384字节。此外,通过traceroute验证了相同子网的互通性。
摘要由CSDN通过智能技术生成

上个实验介绍了GRE over IPsec,就是GRE在IPsec之上,在报文封装的时候先封装GRE,再封装IPsec,从报文结构上看起来就是一个IPsec封装的报文,看不到GRE封装的痕迹,是用IPsec保护GRE隧道。

今天在上个实验基础上做一下IPsec over GRE实验,也就是GRE在IPsec之上,在报文封装的时候先封装IPsec,再封装GRE。因为GRE是不加密的,所以今天从报文结构上看,应该是可以看到外层封装GRE隧道、内层封装IPsec隧道的报文结构的,不能说用GRE隧道保护IPsec隧道了,应该是用GRE隧道转发IPsec报文了。

组网需求

RT2和RT4分别连接IPv4私有网络SUBNET 1和SUBNET 5。这两个私有网络使用相同的私网地址192.168.1.0/24。通过在RT2和RT4之间建立IPsec隧道,实现两个相同私有网络的加密互访,并对通过GRE隧道转发IPsec加密报文。

组网拓扑

 

配置步骤

开头提到,IPsec over GRE,在报文封装的时候先封装IPsec,再封装GRE,是用GRE隧道转发IPsec报文。

1、相比于上个实验,我们要修改访问控制列表需匹配数据的原始范围,把IPsec的保护数据流更改为两端互访的数据流量;

2、为了对网络间传输的数据先进行IPsec封装,再进行GRE封装,需要配置IPsec隧道的对端IP地址为GRE隧道的接口地址;

3、再把流量丢进GRE隧道就可以了,也就是将IPsec应用到GRE隧道接口上。

怎么样,听起来是不是也很简单?直接看看配置吧!

RT2

#

 sysname RT2

#

interface GigabitEthernet0/0

ip address 192.168.1.2 255.255.255.0

 proxy-arp enable

#

interface GigabitEthernet0/1

ip address 23.1.1.2 255.255.255.0

#

interface Tunnel0 mode gre

 ip address 1.1.1.2 255.255.255.0

 source 23.1.1.2

 destination 34.1.1.4

 gre key 123321

 gre checksum

 ipsec apply policy ipsecogre

#

 ip route-static 34.1.1.0 24 23.1.1.3

 ip route-static 192.168.1.4 32 Tunnel0

 ip route-static 192.168.1.5 32 Tunnel0

#

acl advanced 3400

 rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

#

ipsec transform-set TRAN

 esp encryption-algorithm 3des-cbc

 esp authentication-algorithm sha1

#

ipsec policy ipsecogre 10 isakmp

 transform-set TRAN

 security acl 3400

 remote-address 1.1.1.4

#

ike keychain key

 pre-shared-key address 1.1.1.4 255.255.255.0 key simple ipsecogre

RT-ISP

#

interface GigabitEthernet0/0

ip address 34.1.1.3 255.255.255.0

#

interface GigabitEthernet0/1

ip address 23.1.1.3 255.255.255.0

RT4

#

 sysname RT4

#

interface GigabitEthernet0/0

ip address 192.168.1.4 255.255.255.0

 proxy-arp enable

#

interface GigabitEthernet0/1

ip address 34.1.1.4 255.255.255.0

#

interface Tunnel0 mode gre

 ip address 1.1.1.4 255.255.255.0

 source 34.1.1.4

 destination 23.1.1.2

 gre key 123321

 gre checksum

 ipsec apply policy ipsecogre

#

 ip route-static 23.1.1.0 24 34.1.1.3

 ip route-static 192.168.1.1 32 Tunnel0

 ip route-static 192.168.1.2 32 Tunnel0

#

acl advanced 3400

 rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

#

ipsec transform-set TRAN

 esp encryption-algorithm 3des-cbc

 esp authentication-algorithm sha1

#

ipsec policy ipsecogre 10 isakmp

 transform-set TRAN

 security acl 3400

 remote-address 1.1.1.2

#

ike keychain key

 pre-shared-key address 1.1.1.2 255.255.255.0 key simple ipsecogre

配置说明

1、删除物理接口上的IPsec策略;

2、修改ACL匹配流量为两端的私网地址;

3、修改IKE预共享密钥的对端地址和密钥;

4、创建新的IPsec策略,对端地址为对端GRE隧道地址;

4、在GRE隧道接口上应用IPsec策略。

验证配置

查看RT4设备Tunnel口状态。

 

可以看到有几个相对关键的指标项:

1、MTU为1468字节,跟GRE over IPsec相同;

2、隧道keepalive功能未开启,开启命令如下:

 

3、隧道TTL值为255;

4、GRE over IPv4隧道中安全功能key已设置,密钥为123321;

5、GRE over IPv4隧道中安全功能checksum已设置。

使用display ike sa命令,可以看到第一阶段的SA正常建立。

 

使用display ipsec sa命令可以看到IPsec SA的建立情况。

 

可以看到,IPsec封装在内层,MTU是1412字节;GRE封装在外层,MTU是1468字节。那这次最后会是多少呢?

验证隧道MTU

 

可以发现,实际能通过的最大报文大小也是1384字节,跟GRE over IPsec相同。抓个包分析一下。

 

这个地方我们捋一下,报文的封装结构应该是[以太网包头][外层IPv4包头] [GRE封装] [ESP报文头] [内层IPv4包头] [ICMP报文] [ESP-T校验字段]。

反过来看,内层数据报文IPsec封装后长度为1464字节,比1384字节的数据长80字节,[ESP报文头] [内层IPv4包头] [ICMP报文] [ESP-T校验字段] 段长度为1444字节,比业务报文还要长60字节;单独使用IPsec封装时,ESP封装的数据长度为1476字节,比业务报文的1400字节长76字节。这次少了16字节,问题出在哪了呢?看来后面要和上次的问题一起验证一下了。

验证两端同子网

现在已经知道两端相同子网互通也是没有问题了。但是单独的IPsec实验不能查看traceroute路径,GRE over IPsec就可以,那这次我们看一下IPsec over GRE可不可以?

 

很棒,traceroute路径显示和上次一样,原来使用IPsec over GRE也可以解决,那是不是可以理解为用了GRE隧道就能解决这个问题?

总结

1、IPsec over GRE就是用GRE隧道保护IPsec隧道,从报文结构看起来和GRE报文比较像,但是因为内层封装的是IPsec报文,所以外层显示还是ESP报文。可以看到GRE隧道里面还套了一层IPsec隧道,最终的MTU也是1384字节,和GRE over IPsec相同;

2、不管是先封装GRE隧道,还是先封装IPsec隧道,都可以看到内层报文的traceroute路径,提高了实用性;

3、因为先封装IPsec隧道,所以在调整保护流量时,还是要和单独使用IPsec隧道一样,调整ACL的兴趣流,配置比GRE over IPsec要麻烦。其实,这个麻烦是相对而言的,只是配置ACL要指定两端的网段,并且还是反掩码,而路由则是目的网段和下一跳;

4、补充了上次的遗留问题,IPsec over GRE实际能通过的最大报文大小为1384字节,ESP封装字段的长度为1444字节,比业务报文长60字节;单独使用IPsec封装时,ESP封装的数据长度为1476字节,比业务报文的1400字节长76字节。上次多余的4个字节哪里去了?这次少了16字节,问题又出在哪里呢?

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值