DMVPN理论详解与完全配置资料下载.pdf

上传人:wj 文档编号:5979225 上传时间:2023-05-05 格式:PDF 页数:11 大小:224.93KB
下载 相关 举报
DMVPN理论详解与完全配置资料下载.pdf_第1页
第1页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第2页
第2页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第3页
第3页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第4页
第4页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第5页
第5页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第6页
第6页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第7页
第7页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第8页
第8页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第9页
第9页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第10页
第10页 / 共11页
DMVPN理论详解与完全配置资料下载.pdf_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DMVPN理论详解与完全配置资料下载.pdf

《DMVPN理论详解与完全配置资料下载.pdf》由会员分享,可在线阅读,更多相关《DMVPN理论详解与完全配置资料下载.pdf(11页珍藏版)》请在冰点文库上搜索。

DMVPN理论详解与完全配置资料下载.pdf

还有一种情况是:

通讯的两个分支在同一个城市,而中心在另一个城市,这便引入了不必要的延时。

当星形IPSec网络(hubandspoke)规模不断扩展时,传统VPN的配置则愈加繁琐,且不便于维护和排错。

因此IP数据包的动态路由将非常有意义。

但IPSec隧道和动态路由协议之间存在一个基础问题,动态路由协议依赖于多播或广播包进行路由更新,而IPSec隧道不支持多播或广播包的加密。

这里便引入了动态多点VPN(DMVPN)的概念。

这里将引入两个协议:

GRE和NHRPGRE:

通用路由封装。

由IETF在RFC2784中定义。

它是一个可在任意一种网络层协议上封装任意一个其它网络层协议的协议。

GRE将有效载荷封装在一个GRE包中,然后再将此GRE包封装基于实际应用的传输协议上进行转发。

(我觉得:

GRE类似木马的壳。

_)IPSec不支持广播和组播传输,可是GRE能很好的支持运载广播和组播包到对端,并且GRE隧道的数据包是单播的。

这就意味着GRE隧道的数据包是可被IPSec加密的,也即GREOverIPSec。

通过GRE隧道与IPSec加密相结合,利用动态路由协议在加密隧道两端的路由器上更新路由表。

从隧道对端学到的子网在路由表条目里将会包含隧道对端的IP地址作为到达对端子网的下一跳地址。

这样,隧道任何一端的网络发生变化,另外一端都会动态地学习到这个变化,并保持网络的连通性而无需改变路由器的配置。

IPSec利用访问控制列表(ACL)来匹配感兴趣数据流。

当有数据包匹配所定义的ACL时,IPSec加密隧道便会建立。

当利用GREOverIPSec时,GRE隧道的配置已经包括了GRE隧道对端的地址,这个地址同时也是IPSec隧道的对端地址。

所以,没有必要再单独为IPSec定义匹配ACL。

通过将GRE隧道与IPSec绑定,GRE隧道一旦建立,将立刻触发IPSec加密。

在用IPSec对GRE包进行加密时,可以将IPSec配置为传输模式,因为GRE已经将原始数据包封装为单播的IP包,没必要让IPSec再封装一个包头。

GRE的特点使得IPSec也能时髦的运行动态协议了。

至此,IPSec不支持动态路由的历史改变了,DMVPN中的“多点”被摆平。

GRP头AH原始报头+有效数据ESP接下来,让我们看看“动态”的特性是怎样被引入的?

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在RFC2332中定义。

用于解决非广播多路访问(NBMA)网络上的源节点(主机或路由器)如何获取到达目标节点的“下一跳”的互联网络层地址和NBMA子网地址。

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

1、分支到中心(SpoketoHub)的动态隧道建立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、分支到分支(SpoketoSpoke)的动态隧道建立在DMVPN网络中,分支到中心(SpoketoHub)的隧道一旦建立便持续存在,但是各分支之间并不需要直接配置持续的隧道。

当一个分支需要向另一个分支传递数据包时,它利用NHRP来动态获取目的分支的IP地址。

该过程中,中心路由器充当NHRP服务器的角色,响应NHRP请求,向源分支提供目标分支的公网地址。

于是,两个分支之间通过mGRE端口动态建立IPSec隧道,进行数据传输。

该隧道在预定义的周期之后将自动拆除。

DMVPN网络中,分支到中心(SpoketoHub)的隧道一旦建立便持续存在,而各分支之间并没有持续存在的隧道。

这样,在路由器初始化后,中心路由器会通过持续存在的隧道向分支路由器宣告其它分支子网的可达路由。

到这里,似乎”多点”动态”的问题都解决了,DMVPN可以正常工作了是吧?

非也!

目前,分支路由器的路由表中到达其它分支子网的“下一跳”地址仍是中心路由器的隧道端口地址,而不是其它分支路由器的隧道端口地址。

如此一来,分支与分支之间的数据传输还是会通过中心路由器。

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

在RIP或EIGRP等距离向量型路由协议中,通常都实现了水平分割(splithorizon)功能,阻止将路由信息发回到其来源端口,以避免相邻路由器上路由环路的产生。

如果在DMVPN网络上运行RIP或EIGRP协议,则必须关闭水平分割(splithorizon)功能。

否则,分支路由器将无法学习到通往其它分支子网的路由。

对RIP而言,nosplithorizon就大功告成了,因为RIP向路由信息来源端口发送该路由时,其“下一跳”地址不被改变,仍然是原来的地址(即:

目标地址)。

但EIGRP在向路由信息来源端口发送该路由时,其“下一跳”地址将改变为该端口的地址。

所以,必须关闭这一特性。

(EIGRP是RUIJIE公司的私有协议,关闭这一特性的IOS命令为noipnexthopselfeigrp)。

OSPF是链路状态型路由协议,其本身就不存在水平分割(splithorizon)问题。

但在配置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)映射。

二二:

实验:

一:

实验拓扑:

二:

实验配置1:

基础配置:

Hub(config)#ints0/0Hub(config-if)#ipadd20.1.1.1255.255.255.252Hub(config-if)#noshHub(config-if)#intlo0Hub(config-if)#ipadd192.168.10.1255.255.255.0Hub(config)#iproute0.0.0.00.0.0.020.1.1.2SpokeA(config)#ints0/0SpokeA(config-if)#ipad20.2.2.1255.255.255.252SpokeA(config-if)#noshSpokeA(config-if)#intlo0SpokeA(config-if)#ipadd192.168.20.1255.255.255.0SpokeA(config)#iproute0.0.0.00.0.0.020.2.2.2SpokeB(config)#ints0/0SpokeB(config-if)#ipadd20.3.3.1255.255.255.252SpokeB(config-if)#noshSpokeB(config-if)#intlo0SpokeB(config-if)#ipadd192.168.30.1255.255.255.0SpokeB(config)#iproute0.0.0.00.0.0.020.3.3.2ISP(config)#ints0/0ISP(config-if)#ipadd20.1.1.2255.255.255.252ISP(config-if)#noshISP(config-if)#ints0/1ISP(config-if)#ipadd20.2.2.2255.255.255.252ISP(config-if)#noshISP(config-if)#ints0/2ISP(config-if)#ipadd20.3.3.2255.255.255.252ISP(config-if)#nosh2:

配置VPN

(1)配置管理连接的安全策略:

Hub(config)#cryptoisakmppolicy10Hub(config-isakmp)#authenticationpre-share使用预共享密钥认证对等体Hub(config-isakmp)#encryption3des.使用3des方式加密Hub(config-isakmp)#hashmd5使用md5方式认证Hub(config-isakmp)#group2使用DH组2生成加密密钥Hub(config-isakmp)#exitHub(config)#cryptoisakmpkey0ruijieaddress0.0.0.00.0.0.0配置用于认证对证体的密钥并且对等体,注意这里对等体地址不确定,用0.0.0.0,使用动态TED(TunnelEndpointDiscovery,隧道端点发现)探测。

(2)配置数据连接的安全策略:

Hub(config)#cryptoipsectransform-setholtzhangesp-3desesp-md5-hmac/传输集的名字为holtzhang,加密方式采用3des,认证方式采用md5Hub(cfg-crypto-trans)#modetransport/VPN采用使用传输模式Hub(cfg-crypto-trans)#exitHub(config)#cryptoipsecprofileruijie/配置profile名字为ruijieHub(ipsec-profile)#settransform-setholtzhang/调用传输集中的安全策略Hub(ipsec-profile)#exitHub(config)#inttunnel0/配置GRE的隧道接口Hub(config-if)#ipadd192.168.1.1255.255.255.0Hub(config-if)#noipredirects/关闭发送icmp重定向报文的功能。

Hub(config-if)#ipnhrpauthenticationruijie/nhrp的认证密钥为ruijie。

Hub(config-if)#ipnhrpnetwork-id10000/nhrp的网络ID为10000Hub(config-if)#ipnhrpmapmulticastdynamic/nhrp映射广播为动态。

Hub(config-if)#noipnext-hop-selfeigrp100Hub(config-if)#noipsplit-horizoneigrp100/关闭的水平分割Hub(config-if)#tunnelsources0/0/tunnel的源为自己的广域网接口Hub(config-if)#tunnelmodegremultipoint/tunnel的模式为GRE多点隧道Hub(config-if)#tunnelkey10/tunnel的key为10Hub(config-if)#tunnelprotectionipsecprofileruijie/tunnel接口上数据的保护方法为ruijieHub(config)#routereigrp100/宣告隧道接口的网段和内网网段Hub(config-router)#net192.168.1.0Hub(config-router)#net192.168.10.0Hub(config-router)#noauSpokeA(config)#cryptoisakmppolicy10SpokeA(config-isakmp)#authenticationpre-shareSpokeA(config-isakmp)#encryption3desSpokeA(config-isakmp)#hashmd5SpokeA(config-isakmp)#group2SpokeA(config-isakmp)#exitSpokeA(config)#cryptoisakmpkey0ruijieaddress0.0.0.00.0.0.0SpokeA(config)#cryptoipsectransform-setholtzhangesp-3desesp-md5-hmacSpokeA(cfg-crypto-trans)#modetransportSpokeA(config)#cryptoipsecprofileruijieSpokeA(ipsec-profile)#settransform-setholtzhangSpokeA(ipsec-profile)#exitSpokeA(config)#inttunnel0SpokeA(config-if)#ipadd192.168.1.2255.255.255.0SpokeA(config-if)#noipredirectsSpokeA(config-if)#ipnhrpauthenticationruijieSpokeA(config-if)#ipnhrpmapmulticast20.1.1.1/nhrp映射广播到总部广域网接口SpokeA(config-if)#ipnhrpmap192.168.1.120.1.1.1/nhrp映射tunnel地址到总部广域网接口SpokeA(config-if)#ipnhrpnetwork-id10000SpokeA(config-if)#ipnhrpnhsSpokeA(config-if)#ipnhrpnhs192.168.1.1/配置隧道的下一跳地址SpokeA(config-if)#tunnelsources0/0SpokeA(config-if)#tunnelmodegremultipointSpokeA(config-if)#tunnelkey10SpokeA(config-if)#tunnelprotectionipsecprofileruijieSpokeA(config)#routereigrp100SpokeA(config-router)#net192.168.1.0SpokeA(config-router)#net192.168.20.0SpokeA(config-router)#noauSpokeB(config)#cryptoisakmppolicy10SpokeB(config-isakmp)#authenticationpre-shareSpokeB(config-isakmp)#encryption3desSpokeB(config-isakmp)#hashmd5SpokeB(config-isakmp)#group2SpokeB(config-isakmp)#exitSpokeB(config)#cryptoisakmpkey0ruijieaddress0.0.0.00.0.0.0SpokeB(config)#cryptoipsectransform-setholtzhangesp-3desesp-md5-hmacSpokeB(cfg-crypto-trans)#modetransportSpokeB(cfg-crypto-trans)#exitSpokeB(config)#cryptoipsecprofileruijieSpokeB(ipsec-profile)#settransform-setholtzhangSpokeB(ipsec-profile)#exitSpokeB(config)#inttunnel0SpokeB(config-if)#ipadd192.168.1.3255.255.255.0SpokeB(config-if)#noipredirectsSpokeB(config-if)#ipnhrpauthenticationruijieSpokeB(config-if)#ipnhrpmapmulticast20.1.1.1SpokeB(config-if)#ipnhrpmap192.168.1.120.1.1.1SpokeB(config-if)#ipnhrpnetwork-id10000SpokeB(config-if)#ipnhrpnhsSpokeB(config-if)#ipnhrpnhs192.168.1.1SpokeB(config-if)#tunnelsources0/0SpokeB(config-if)#tunnelmodegremultipointSpokeB(config-if)#tunnelkey10SpokeB(config-if)#tunnelprotectionipsecprofileruijieSpokeB(config-if)#exitSpokeB(config)#routereigrp100SpokeB(config-router)#net192.168.1.0SpokeB(config-router)#net192.168.30.0SpokeB(config-router)#noau三:

查看配置效果:

三:

Hub#shoiprouteCodes:

C-connected,S-static,R-RIP,M-mobile,B-BGPD-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterareaN1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2E1-OSPFexternaltype1,E2-OSPFexternaltype2i-IS-IS,su-IS-ISsummary,L1-IS-ISlevel-1,L2-IS-ISlevel-2ia-IS-ISinterarea,*-candidatedefault,U-per-userstaticrouteo-ODR,P-periodicdownloadedstaticrouteGatewayoflastresortis20.1.1.2tonetwork0.0.0.0D192.168.30.0/2490/297372416via192.168.1.3,00:

03:

10,Tunnel020.0.0.0/30issubnetted,1subnetsC20.1.1.0isdirectlyconnected,Serial0/0C192.168.10.0/24isdirectlyconnected,Loopback0D192.168.20.0/2490/297372416via192.168.1.2,00:

32:

52,Tunnel0C192.168.1.0/24isdirectlyconnected,Tunnel0S*0.0.0.0/01/0via20.1.1.2Hub#ping192.168.20.1Typeescapesequencetoabort.Sending5,100-byteICMPEchosto192.168.20.1,timeoutis2seconds:

!

Successrateis100percent(5/5),round-tripmin/avg/max

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2