介绍GRE隧道与IPSec加密相结合问题

安全
GRE的特点使得IPSec加密也能时髦的运行动态协议了。至此,IPSec加密不支持动态路由的历史改变了,DMVPN中的“多点” 被摆平接下来,让我们看看“动态”的特性是怎样被引入的。

介绍GRE隧道与IPSec加密相结合问题,熟练掌握下面涉及到的IPSec加密知识,你就会更轻松的选择自己喜欢的方式来做好IPSec加密的工作。很多方法都会使你豁然开朗的。

IPSec加密网络的拓扑可以是星形结构(hub−and−spoke)也可以是网状结构(full mesh)。实际应用中,数据流量主要分布在分支与中心之间,分支与分支之间的流量分布较少,所以星形结构(hub−and−spoke)通常是最常用的,并且它更经济。因为星形结构(hub−and−spoke)比网状结构(full mesh)使用更少的点到点链路,可以减少线路费用。

在星形拓扑中,分支机构到分支机构(spoke −to−spoke)的连通不需要额外的通讯费用。但在星形结构中,分支到分支的通信必须跨越中心,这会耗费中心的资源并引入延时。

尤其在用IPSec加密时,中心需要在发送数据分支的隧道上解密,而在接收数据的分支隧道上重新加密。还有一种情况是:通讯的两个分支在同一个城市,而中心在另一个城市,这便引入了不必要的延时。

当星形IPSec网络(hub−and−spoke)规模不断扩展时,传统VPN的配置则愈加繁琐,且不便于维护和排错。因此IP数据包的动态路由将非常有意义。但IPSec隧道和动态路由协议之间存在一个基础问题,动态路由协议依赖于多播或广播包进行路由更新,而IPSec隧道不支持多播或广播包的加密。

这里便引入了动态多点VPN (DMVPN)的概念。这里将引入两个协议:GRE 和 NHRP GRE:通用路由封装。由IETF在RFC 2784中定义。它是一个可在任意一种网络层协议上封装任意一个其它网络层协议的协议。GRE将有效载荷封装在一个GRE包中,然后再将此GRE包封装基于实际应用的传输协议上进行转发。(我觉得:GRE类似木马的壳。^_^)

IPSec不支持广播和组播传输,可是GRE能很好的支持运载广播和组播包到对端,并且GRE隧道的数据包是单播的。这就意味着GRE隧道的数据包是可被IPSec加密的,也即GRE Over IPSec。

通过GRE隧道与IPSec加密相结合,利用动态路由协议在加密隧道两端的路由器上更新路由表。从隧道对端学到的子网在路由表条目里将会包含隧道对端的IP地址作为到达对端子网的下一跳地址。这样,隧道任何一端的网络发生变化,另外一端都会动态地学习到这个变化,并保持网络的连通性而无需改变路由器的配置。

IPSec利用访问控制列表(ACL)来匹配感兴趣数据流。当有数据包匹配所定义的ACL时,IPSec加密隧道便会建立。当利用GRE Over IPSec时,GRE隧道的配置已经包括了GRE隧道对端的地址,这个地址同时也是IPSec隧道的对端地址。所以,没有必要再单独为IPSec定义匹配ACL。

通过将GRE隧道与IPSec绑定,GRE隧道一旦建立,将立刻触发IPSec加密。在用IPSec对GRE包进行加密时,可以将IPSec配置为传输模式,因为GRE已经将原始数据包封装为单播的IP包,没必要让IPSec再封装一个包头。

GRE的特点使得IPSec加密也能时髦的运行动态协议了。至此,IPSec加密不支持动态路由的历史改变了,DMVPN中的“多点” 被摆平接下来,让我们看看“动态”的特性是怎样被引入的。GRE建立了隧道,IPSec加密完成了VPN网络的加密部分。想要建立GRE隧道,隧道的一端必须知道另一端的IP地址,并且必须能够在Internet上路由。这就要求中心和所有分支路由器必须具有静态的公共IP地址。

可是向ISP申请静态IP地址的费用是非常昂贵的。通常,为节约地址资源并提高有效利用率,无论是ADSL还是直接线缆接入,ISP会通过DHCP服务来提供动态IP地址。(注:IPv4的瓶颈引发的地址匮乏。IPv6不会存在该问题,号称可以给地球上的每一粒沙子都分个IP,口气很大的说)

显然,GRE+IPSec需要明确知道隧道两端的IP地址,而分支路由器外网接口的IP地址由其本地ISP动态分配,每次拨入网络的IP地址是不同的。GRE隧道没办法建立,那么VPN还是无法工作。这样,NHRP在钓足大家胃口之时,应市场需求,在万众期盼的目光中闪亮登场了,给它些掌声乐乐。噼里啪啦。

责任编辑:佟健 来源: wade
相关推荐

2011-11-25 13:14:16

2009-08-25 17:12:33

思科认证CCNP

2012-07-17 09:57:15

2022-10-08 00:35:48

gRPCGuice服务器

2015-01-20 09:07:26

青云青云QingCloud私有网络

2015-01-19 14:38:03

青云QingCloud

2010-06-01 18:14:55

Rsync 使用

2013-10-14 09:29:20

RESTJSONJava

2017-12-19 15:01:53

AI大数据现代教育

2016-06-12 16:54:58

物联网智能制造PTC

2024-01-12 10:24:07

NVIDIA

2021-12-13 19:40:53

物联网数据分析IOT

2023-10-22 11:54:19

2011-05-04 09:32:16

2021-01-14 15:14:58

人工智能AI

2012-04-11 13:44:45

ibmdw

2022-05-23 14:45:49

元宇宙AR

2010-01-15 09:52:14

云计算曙光政府

2023-12-04 18:11:53

AI人工智能

2017-08-22 15:35:12

点赞
收藏

51CTO技术栈公众号