到底是IPSEC Over GRE好呢,还是GRE Over IPSEC好?以前一直是出于一个模糊的状态,能通就行了么。今天再次作了一下研究比较,得出的结论是,当然是GRE Over IPSEC好!(怪不得CCNP的教材上只提了GRE Over IPSEC)

        在此,先把这两个概念理一下。IPSEC Over GRE即IPSEC在里,GRE在外。先把需要加密的数据包封装成IPSEC包,然后再扔到GRE隧道里。作法是把IPSEC的加密图作用在Tunnel口上的,即在Tunnel口上监控(访问控制列表监控本地ip网段-源i和远端ip网段-目的地),是否有需要加密的数据流,有则先加密封装为IPSEC包,然后封装成GRE包进入隧道(这里显而易见的是,GRE隧道始终无论如何都是存在的,即GRE隧道的建立过程并没有被加密),同时,未在访问控制列表里的数据流将以不加密的状态直接走GRE隧道,即存在有些数据可能被不安全地传递的状况。而GRE Over IPSEC是指,先把数据分装成GRE包,然后再分装成IPSEC包。做法是在物理接口上监控,是否有需要加密的GRE流量(访问控制列表针对GRE两端的设备ip),所有的这两个端点的GRE数据流将被加密分装为IPSEC包再进行传递,这样保证的是所有的数据包都会被加密,包括隧道的建立和路由的建立和传递。

       IPSEC Over GRE:

              a. 访问控制列表,针对两个网段的数据流,如:

                        ip access-list extended vpn12
                           permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255

              b. 加密图放在Tunnel口

       GRE Over IPSEC:

              a. 访问列表,针对两个路由器之间的GRE流,如:

                        ip access-list extended vpn12
                            permit gre host 172.16.11.2 host 172.16.22.2

              b. 加密图作用在物理口。

        无论是哪种数据流,若一方进行了加密,而另一方没有配,则无法通讯,对于GRE则,路由邻居都无法建立。 

        另一个概念是隧道模式和传输模式。所谓的隧道模式还是传输模式,是针对如ESP如何封装数据包的,前提是ESP在最外面,如果都被Over到了GRE里,自然谈不上什么隧道模式和传输模式(都为隧道模式)。只有当GRE Over IPSEC的时候,才可以将模式改为传输模式。

       IPSEC不支持组播,即不能传递路由协议,而GRE支持。