移动安全 安全管理 应用案例 网络威胁系统安全 应用安全 数据安全 云安全
当前位置: 主页 > 信息安全 > 系统安全 >

IPSec地道在Internet长进行安然动态多点VPN

时间:2013-05-04 10:19来源:TuZhiJiaMi企业信息安全专家 点击:
操纵IPSec地道在Internet长进行安然的数据传输,是今朝公司总部与分支通信的首要解决方案。它的商业价值,这里就不提了,随便找个文档也会侃半天的。 IPSec收集的拓扑可所以星形布局(hub?a
Tags系统安全(735)VPN(68)Internet(17)IPSec隧道(1)  

  操纵IPSec地道在Internet长进行安然的数据传输,是今朝公司总部与分支通信的首要解决方案。它的商业价值,这里就不提了,随便找个文档也会侃半天的。

  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在钓足大年夜家胃口之时,应市场需求,在万众期盼的目光中闪亮登场了,给它些掌声乐乐。噼里啪啦。。。。。。。

  NHRP:下一跳解析和谈。由IETF在RFC 2332中定义。用于解决非广播多路拜候(NBMA)收集上的源节点(主机或路由器)若何获得达到方针节点的“下一跳”的互联收集层地址和NBMA子网地址。

  下面我们一路看看 NHRP 是若何解决静态IP地址标题问题,而让 VPN “动”起来的:

  1、分支到中间(Spoke?to?Hub)的动态地道成立

  DMVPN收集中,中间路由器上没有关于分支的GRE或IPSec建设信息,而在分歧路由器上则必需根据中间路由器的公网IP地址和NHRP和谈来建设GRE地道。

  当分歧路由器加电启动时,由ISP处经由过程DHCP获得IP地址,并主动成立IPSec加密的GRE地道,经由过程NHRP向中间路由器注册本身的外网端口IP地址(貌似反弹连接)。

  如许做有三方面的启事:1、因为分歧路由器外网端口的IP地址是主动获得的,每次上线时的IP地址可能不合,所以中间路由器没法按照该地址信息进行建设。2、中间路由器没必要针对所有分支别离建设GRE或IPSec信息,将大年夜大年夜简化中间路由器的建设。所有相干信息可经由过程NHRP主动获得。(即:分支向中间报告请示各自特点)3、当DMVPN收集扩大时,没必要改动中间路由器和其它分歧路由器的建设。经由过程动态路由和谈,新加进的分歧路由器将主动注册到中间路由器。如许,所有其它分歧路由器可以学到这条新的路由,新加进的分歧路由器也能够学到达到其它所有路由器的路由信息,直至收敛。(中间路由器犹如OSPF的DR)

  2、分支到分支(Spoke?to?Spoke)的动态地道成立

  在DMVPN收集中,分支到中间(Spoke?to?Hub)的地道一旦成立便延续存在,可是各分支之间其实不需要直接建设延续的地道。当一个分支需要向另外一个分支传递数据包时,它操纵NHRP来动态获得目标分支的IP地址。该过程中,中间路由器充当NHRP办事器的角色,响应NHRP要求,向源分支供给方针分支的公网地址。因而,两个分支之间经由过程mGRE端口动态成立IPSec地道,进行数据传输。该地道在预定义的周期以后将主动裁撤。

  DMVPN收集中,分支到中间(Spoke?to?Hub)的地道一旦成立便延续存在,而各分支之间并没有延续存在的地道。如许,在路由器初始化后,中间路由器会经由过程延续存在的地道向分歧路由器宣布其它分支子网的可达路由。到这里,仿佛”多点””动态”的标题问题都解决了,DMVPN可以正常工作了是吧?!

  非也!今朝,分歧路由器的路由表中达到其它分支子网的“下一跳”地址仍是中间路由器的地道端口地址,而不是其它分歧路由器的地道端口地址。如斯一来,分支与分支之间的数据传输仍是会经由过程中间路由器。

  要解决这一标题问题,必需在中间路由器上设置为在mGRE地道端口上宣布某一分支子网的可达路由时“下一跳”地址是该分歧路由器的地道端口地址,而非中间路由器的地址。

  在RIP或EIGRP等距离向量型路由和谈中,凡是都实现了程度豆割(split horizon)功能,禁止将路由信息发还到其来历端口,以避免相邻路由器上路由环路的产生。假定在DMVPN收集上运行RIP或EIGRP和谈,则必需封锁程度豆割(split horizon)功能。不然,分歧路由器将没法进修到通往其它分支子网的路由。

  对RIP而言,no split horizon 就大年夜功成功了,因为RIP向路由信息来历端口发送该路由时,其“下一跳”地址不被改变,仍然是本来的地址(即:方针地址)。

  但EIGRP在向路由信息来历端口发送该路由时,其“下一跳”地址将改变成该端口的地址。所以,必需封锁这一特点。(EIGRP是CISCO公司的私有和谈,封锁这一特点的IOS号令为no ip next?hop?self eigrp )。

  OSPF是链路状况型路由和谈,其本身就不存在程度豆割(split horizon)标题问题。但在建设OSPF收集类型时,应建设为广播型而不要利用点到多点型,不然,仍然会导致上述的标题问题。别的需要寄望的是,必需把DMVPN的中间路由器(Hub)建设为OSPF的指定路由器(DR),可以经由过程指定中间路由器(Hub)有更高的OSPF优先权来实现。

  最后,总结下DMVPN的整体解决方案

  DMVPN是经由过程量点GRE(mGRE)和下一跳解析和谈(NHRP)与IPSec相连络实现的。在DMVPN解决方案中,操纵IPSec实现加密功能,操纵GRE或多点GRE(mGRE)成立地道,操纵NHRP解决分支节点的动态地址标题问题。DMVPN只要求中间节点必需申请静态的公共IP地址。(假定用 DNS 的话,中间节点不是也能够动态了吗?)

  GRE地道撑持多播或广播(multicast/broadcast)IP包在地道内传输。是以,DMVPN收集撑持在IPSec和mGRE地道之上运步履态路由和谈。需要指出的是,NHRP必需被建设为动态多播映照,如许,当分歧路由器在NHRP办事器(中间路由器)上注册单播映照地址时,NHRP会同时为这个分歧路由器成立一个多播/广播(multicast/broadcast)映照。

  CISCO DMVPN建设实例:

  HUB路由器建设

  r1#sh ru

  hostname r1

  !

  crypto isakmp policy 10

  encr 3des

  authentication pre-share

  group 2

  crypto isakmp key cisco1234 address 0.0.0.0 0.0.0.0

  !

  crypto ipsec transform-set ccie esp-3des esp-sha-hmac

  mode transport

  !

  crypto ipsec profile cisco

  set transform-set ccie

  !

  inte***ce Tunnel0

  ip address 192.168.1.1 255.255.255.0

  no ip redirects

  no ip next-hop-self eigrp 100

  ip nhrp authentication cisco

  ip nhrp map multicast dynamic

  ip nhrp network-id 10000

  no ip split-horizon eigrp 100

  tunnel source Serial0/0

  tunnel mode gre multipoint

  tunnel key 10000

  tunnel protection ipsec profile cisco

  !

  inte***ce Loopback0

  ip address 10.1.1.1 255.255.255.0

  !

  inte***ce Serial0/0

  ip address 173.16.1.1 255.255.255.0

  !

  router eigrp 100

  network 10.0.0.0

  network 192.168.1.0

  no auto-summary

  ip route 0.0.0.0 0.0.0.0 173.16.1.2

  Spoke路由器建设

  r2#sh run

  hostname r2

  !

  crypto isakmp policy 10

  encr 3des

  authentication pre-share

  group 2

  crypto isakmp key cisco1234 address 0.0.0.0 0.0.0.0

  !

  crypto ipsec transform-set ccie esp-3des esp-sha-hmac

  mode transport

------分隔线----------------------------

推荐内容