GREoverIPsec的本质华为

GRE相关

GREoverIPsec其实两者之间并没有直接的联系。我们首先说一下GRE配置的流程以及最后的结果

我们首先创建一个tunnel接口,在这个tunnel接口上面配置其协议是GRE,然后在tunnel隧道中指明出口IP以及对端IP,同时为隧道接口配置一个IP地址。

这样我们的虚拟隧道就创建成功,当然这个隧道的创建是双向的。我们可以将这个tunnel隧道看作是一个加工流水线,只有将数据包从这个流水线通过之后才会被封装额外的头部。

 

 上面是GRE如何封装以及封装的内容是什么。

但是我们知道数据包在转发的过程中是依靠路由器去选择从哪个接口转发出去的,所以如果没有路由表的指引,那么数据包是不会穿过这个流水线的,最终还是以普通的路由方式进行转发。所以我们需要配置一条静态路由将数据包进行指引,使其经过隧道的封装之后才进行转发。经过隧道的封装之后,其源IP一般是出口路由器的出口接口IP,目的地址是想要去到的路由器的接口IP地址。我路由器之间设置GRE隧道用于发送和接收VPN报文。

我们甚至可以说GRE的这种方式可以在不用NAT的方式将数据包在公网上进行转发,但是相较于NAT来说,它需要封装额外的头部,浪费资源,而且匹配方式也不够灵活。

上面就GRE的相关内容,其实本质就是先让数据包经过GRE隧道的封装,然后再使用路由表进行常规的转发。

IPsec相关

IPsec首先需要配置IKE第一阶段协商使用的SA,我称它为安全环境,其实就是协商一些加密算法,签名算法,密钥分发算法,以及验证方式。

然后就是创建IKE对端。如果验证方式使用预共享密钥的话,那么我们就需要再该视图下定义与预共享密钥是什么。同时我们也需要指定对端的IP地址。同时还要将IKE对端与IKE协商进行绑定。

然后就是创建IPsec策略,IPsec协商,这个的创建时为了配置第二阶段使用的相关SA。但是因为再第一阶段以及进行对端 身份的验证,以及对称密钥的分发,和签名算法密钥的分发,所以在这个视图下,我们仅仅只需要设置它们之间协商的加密算法和签名算法即可。

当创建完IKE对端,以及IPsec协商,我们最后创建IPsec策略,然后将IKE对端、IPsec协商以及感兴趣流与其匹配。

然后最后将IPsec策略配置在接口上。

因为设置了感兴趣流,所以只有匹配到Acl的数据才会被IPsec进行相关的封装。

IPsec和GRE的配合

我们知道一个数据包如果想要被GRE封装,那么它就一定需要先去tunnel隧道走一遍之后然后再出来,而这需要路由表的指引。而一个数据包如果想要被IPsec进行封装,那么它必须匹配上物理接口 上的IPsec策略,所以GRE over IPsec的本质就是先让数据包从GREtunnel隧道中走一遍,然后再到IPsec上走一遍,完全两遍的封装。那么为什么要这么做。

在一些场景下,如果两个依靠公网进行连接的路由器如果想要建立动态路由关系,一般是不行的,但是GRE可以通过将协议报文进行封装然后利用新包头发送给对端路由器从而形成动态路由协议的关系建立。那么IPsec可以吗,我觉得从理论上来说是可以的,因为无论是GRE封装还是IPsec封装,本质都是利用了新的包头(IPsec在隧道模式下才有新的包头),然后将业务数据承载在新的包头上,然后到对端之后将数据解封从而获取到内部的数据,但是在路由宣告中,我们一般都是宣告一个网段,而tunnel接口具备自己的虚拟IP,但是IPsec使用使用IPsec策略捆绑在边界出口上的。所以首先GREtunnel是使用自己的虚拟IP进行邻居关系的建立。而对于IPsec来说它已经将出口的IP作为新的包头的源IP,那么它又要使用什么IP去进行邻居关系的建立呢?所以这里就是一个问题。

虽然GRE看起来不错,但是它的明文传输让它的隧道看起来十分的不像隧道。所以就将这两种技术结合。使用首先用GRE将相关报文进行封装,然后使用使用IPsec对这个报文再进行一次处理。

那么又该如何去实现呢?那么我们就要从它们对数据包的指引方式开始。

我们知道GRE是利用静态路由将数据包指引到隧道当中,

而IPsec是一种被动的方式,只要从物理接口上有匹配的流量就会被IPsec策略进行处理。

我们需要配置静态路由使得数据包先进入tunnel口,然后再从物理口转发出去。

虽然数据包在查看路由表后会先进入tunnel口,但是最终还是被封装成一个正常的数据包然后根据路由表从物理接口转发出去,所以GRE是先进行匹配的,然后IPsec再进行匹配。

这样就会完成GRE over IPsec的配置。

举个例子:比如我们要使OSPF的相关协议报文进行GRE over IPsec的相关操作,那么我们首先要在OSPF视图下宣告tunnel接口,以及其他除了边界接口的IP地址。然后我们需要配置IPsec中的感兴趣流为GRE的源IP和目的IP,这样当数据包经过GRE的封装之后,它的数据包就会变成它tunnel接口中指定的IP地址,那么只要IPsec中的acl对GRE封装后的IP地址进行匹配,那么GRE封装后的数据就会被IPsec的acl匹配,于是它就会被IPsec策略进行处理。于是就完成了GRE over IPsec。

我觉得这个GRE over IPsec主要作用就是用于动态路由关系的建立。

普通的数据包只要使用IPsec VPN进行加密传输即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mllllk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值