连着四天,在这个问题上面hung上了,主要出问题是在IPsec over GRE的问题上,虽然都是利用一些边角的时间,但是配置,查文档,网上查相关内容,最后算是勉强处理了,但是其实还是留了个尾巴,就是同一台路由上,开tunnel,同时开ipsec,希望达到ipsec over gre,始终实现不了….下面详述

 

分别开始说,GRE tunnel,IPsec ×××,GRE over IPsec,IPsec over GRE。

前三个用一个拓扑

 

GRE over IPsec && IPsec over GRE

配置都很简单:GRE需要开个tunnel口,配两个地址,R1和R3对指,tunnel source和destination别配错,很简单就开了;IPsec ×××就是一堆东西,其实也不复杂,两个部分,iskamp是协商的那部分,ipsec需要transform-set和map,其实都很简单

GRE over IPsec就是把IPsec的感兴趣流量定义成GRE的流量,然后从物理口上面去开启map,IPsec的Peer都是对端的物理口地址,得到的结果是ESP或者AH的包,里面是什么看不到

最后就是IPsec over GRE了,这个着实折腾了不短的时间,本来以为很简单,还是用这个拓扑,感兴趣的流量是某些流量,IPsec起在tunnel口之间,然后在tunnel上面启用map,但是到现在都没实现,需要找时间继续看

最后实现的是在这个拓扑:

GRE over IPsec && IPsec over GRE

R2和R3之间起tunnel,然后在R4和R5之间跑IPsec,在R1上面就会看到是GRE包着IPsec的包在跑

 

说下使用场景,GRE的目的是跨网络,中间就算有非IP的网也照样能走,IPsec的目的是加密或者认证,GRE over IPsec的使用场景是你用了IPsec但是想跑路由协议,因为IPsec不支持组播,IPsec over GRE就是既要跨网络又要加密了呗…..

 

暂且告一段落