多平台统一管理软件接口,如何实现多平台统一管理软件接口
248
2022-09-18
HCIE-Security Day22:DSPN+NHRP+Mgre:实验(一)配置非shortcut方式DSPN(静态路由)(hcie-security考试)
目录
产生背景&需求驱动
存在的问题
概念
NHRP:下一跳解析协议
mgre:多点gre
具体实现方式
实验:配置非shortcut方式DSPN(静态路由)
需求和拓扑
操作步骤
1、配置接口地址划分安全区域
2、配置安全策略
3、配置公网动态路由确保公网路由可达
4、 配置私网静态路由
5、配置tunnel隧道
验证和分析
1、检查nhrp邻居情况
2、使用pc3pingpc2
3、检查路由表
基本原理
1、spoke与hub之间建立mgre隧道
1 spoke向hub注册请求
2 hub向spoke注册应答
2、分支间路由学习
3、spoke间建立mgre隧道
具体过程
非shortcut方式
受益
dspn 是动态智能pn,在hub-spoke组网下,为公网地址动态变化的分支之间建立pn隧道的解决方案。
产生背景&需求驱动
总部与分支之间采用hub-spoke架构,依托公网建立vpn隧道,在加强安全的情况下降低成本,传统的ipsec和gre over ipsec等技术无法实现分支之间直接建立隧道进行通信,只能通过总部进行中转。
存在的问题
总部压力大:分部之间流量比过总部设备,造成cpu及内存等资源紧张
分部体验差:流量路径次优且被不必要的处理(封装解封装),导致网络延时高。
路由更新难:IPSec不支持广播和组播报文传输,从而对动态路由更新产生影响。
根本:分支之间无法直接建立隧道。
此时,DSpn应运而生。
概念
DSPN就是结合了NHRP、mgre和ipsec三种技术来解决这些问题。
NHRP:下一跳解析协议
通过nhrp下一跳地址解析协议。作用是建立和解析隧道地址到公网地址的映射关系,实现动态收集、维护和发布分支节点的公网地址。解决了分支之间互不知道对方公网地址无法建立隧道的问题,实现分支与分支之间的直接通信,减轻总部压力,降低网络延时。
隧道地址和公网地址的映射关系通过nhrp映射表维护,按照生成方式的不同,分为静态表项和动态表项两种。
静态:在spoke上手工配置hub的tunnel地址和公网地址,实现spoke于hub建立静态mgre隧道的目的。
动态:nhrp动态生成。hub通过nhrp注册报文提取各spoke的tunnel地址和公网地址而生成的nhrp映射表,spoke通过nhrp解析报文提取对端spoke的tunnel地址/子网地址和公网地址生成的nhrp映射表。
mgre:多点gre
基于gre的点到多点gre技术,它将传统的gre隧道点到点类型的tunnel接口拓展成了点到多点类型的隧道,通过改变接口类型,hub或者spoke上只需要配置一个tunnel接口便可以与多个对端建立隧道,从而减少了配置gre隧道的工作量。与gre不同,mgre建立隧道时不需要定义隧道目的地址,而是依赖nhrp告诉它。这就是动态隧道。
使一个tunnel接口可以与多个对端建立隧道,实现一对多,减少隧道配置数量,自动维护总部与分支之间的隧道关系,不用调整总部的隧道配置,使得网络维护变得更加智能化。并且隧道可以传输组播和广播协议报文。
mgre隧道接口不支持gre隧道的keepalive检测。
mgre隧道分为动态mgre隧道和静态mgre隧道
静态建立于分支spoke与总部hub之间,静态mgre隧道永久存在
动态建立于各分支spoke之间,动态mgre隧道在一定周期内没有流量转发将自动拆除。
具体实现方式
总部采用静态的公网地址,分支采用isp动态分配的公网地址。分支之间需要通信时,源spoke将通过与hub之间的静态mgre隧道交互nhrp协议获取目的spoke的公网地址,并与目的spoke建立动态mgre隧道,索道建立完成后,spoke与spoke之间的数据报文将通过该动态mgre隧道直接发送给对方,不再经过总部hub中转。
实验:配置非shortcut方式DSPN(静态路由)
需求和拓扑
某中小企业有总部(Hub)和两个分支(Spoke1和Spoke2),分布在不同地域,总部和分支的子网环境较为稳定。分支采用动态地址接入公网。
现在用户希望能够实现分支之间的PN互联。
操作步骤
1、配置接口地址划分安全区域
2、配置安全策略
//f1f2f3security-policy rule name 1 source-zone dmz source-zone trust destination-zone dmz destination-zone trust action permit rule name 2 source-zone local source-zone untrust destination-zone local destination-zone untrust service gre service ospf action permit
3、配置公网动态路由确保公网路由可达
//f1ospf 1 area 0.0.0.0 network 1.1.1.10 0.0.0.0//f2ospf 1 area 0.0.0.0 network 1.1.2.10 0.0.0.0//f3ospf 1 area 0.0.0.0 network 1.1.3.10 0.0.0.0//rospf 1 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 1.1.2.1 0.0.0.0 network 1.1.3.1 0.0.0.0
r1上 检查ospf配置
4、 配置私网静态路由
//f1ip route-static 192.168.1.0 255.255.255.0 172.16.1.2ip route-static 192.168.2.0 255.255.255.0 172.16.1.3//f2ip route-static 192.168.0.0 255.255.255.0 172.16.1.1ip route-static 192.168.2.0 255.255.255.0 172.16.1.3//f3ip route-static 192.168.0.0 255.255.255.0 172.16.1.1ip route-static 192.168.1.0 255.255.255.0 172.16.1.2
5、配置tunnel隧道
//f1interface Tunnel0 ip address 172.16.1.1 255.255.255.0 tunnel-protocol gre p2mp source GigabitEthernet1/0/1//f2interface Tunnel0 ip address 172.16.1.2 255.255.255.0 tunnel-protocol gre p2mp//配置mgre source GigabitEthernet1/0/1 nhrp entry 172.16.1.1 1.1.1.10 register//手动触发nhrp注册//f3interface Tunnel0 ip address 172.16.1.3 255.255.255.0 tunnel-protocol gre p2mp source GigabitEthernet1/0/1 nhrp entry 172.16.1.1 1.1.1.10 register
验证和分析
1、检查nhrp邻居情况
//f2(spoke)
刚开始spoke都只有hub的nhrp映射关系,而hub的nhrp是空的,后来spoke发了注册信息后,hub立马有了spoke的nhrp信息。
但是此时spoke还没有其他spoke的nhrp信息,只有在spoke之间有数据流动后才会触发注册。
2、使用pc3pingpc2
再检查spoke的nhrp
Protocol-addr Mask NBMA-addr NextHop-addr Type Flag --------------------------------------------------------------------------------172.16.1.2 32 1.1.2.10 172.16.1.2 remote up --------------------------------------------------------------------------------Tunnel interface: Tunnel0Created time : 00:18:39Expire time : 01:41:21HostName : f2HostEsn : 8E6A2843C89D3FE8B5B36BAD5F63210D
多了一条对方的nhrp表项。
3、检查路由表
以f3为例,这个静态的路由是我们此前手动配置的,下一跳指向的是对方隧道地址。
实验拓扑已打包,回复dspn1获取。
基本原理
当设备转发一个ip报文时,根据路由表将ip报文传给下一跳的出接口mgre隧道接口,mgre在nhrp映射表种查找获取下一跳地址映射的对端公网地址,然后mgre封装ip报文,加上新的ip头,目的地址就是对端的公网地址,这样ip报文就能发向隧道对端,隧道即可建立。
但是最开始的时候,分支的nhrp表中没有其他分支的隧道地址和公网地址的映射关系,只有一个静态配置的总部的隧道地址和公网地址的映射关系,这时候,分支之间还无法建立隧道,只能先借助总部学习到彼此的路由,生成彼此的nhrp映射关系。分为三个环节。
1、spoke与hub之间建立mgre隧道
一开始,总部hub的nhrp表是空的,分支spoke的nhrp中有手动配置的到hub的静态nhrp表项,这个表项表明了hub的tunnel地址和公网地址的映射关系,分支spoke和总部hub有到彼此的路由,要建立spoke和hub之间的mgre隧道,总部要生成各分支tunnel地址与公网地址的nhrp映射表。
主要通过分支spoke主动向hub进行nhrp注册实现。
目的是打通分支到分支报文转发的通道,使得一端分支的报文可以借助hub转发到另一端分支。
1 spoke向hub注册请求
在spoke上手工配置hub的隧道和公网地址的映射,spoke将周期向hub发送nhrp注册报文,包含spoke的隧道地址和公网地址。周期性的原因是hub的nhrp是动态的会老化,进行保活。
interface Tunnel0 nhrp entry 172.16.1.1 1.1.1.10 register
2 hub向spoke注册应答
hub从nhrp注册请求报文中提取spoke的tunnel地址和公网地址,并生成nhrp映射表,此时spoke与hub之间的mgre隧道建立成功。
2、分支间路由学习
目的是生成一端分支到另一端分支的路由。
非shortcut方式:分支间相互学习路由
路由表中:源分支到目的分支子网的路由下一跳为目的分支的tunnel地址。
可以理解为:每个分支要学习到所有对端的路由数据,spoke会消耗大量cpu和内存资源。
适用于:spoke节点少,路由信息量小的中小型网络
使用静态路由配置
ip route-static 192.168.0.0 255.255.255.0 172.16.1.1ip route-static 192.168.1.0 255.255.255.0 172.16.1.2
使用动态路由配置
shortcut方式:分支路由汇聚到总部
路由表中:源分支到目的分支子网的路由下一跳为hub的tunnel地址。
可以理解为:所有访问目的分支的流量全部指向总部hub,分支间不需要相互学习路由,通过总部对分支路由汇聚后进行通告。
适用于:spoke节点多,路由信息量大的大型网络
3、spoke间建立mgre隧道
经过上面两步,分支间已经有了到对端分支的路由,但是还没有对端分支的nhrp映射关系。
非shortcut方式
源spoke可以学习到目的spoke的tunnel地址,因此,源spoke可以直接根据目的spoke的tunnel地址来查找目的spoke的公网地址,生成目的spoke的tunnel地址与公网地址的nhrp表。
nhrp表中:目的spoke的tunnel地址和公网地址建立映射.
shortcut方式
所有Spoke的路由下一跳全部都是Hub的Tunnel地址,源Spoke无法学习到目的Spoke的Tunnel地址。因此,源Spoke只能根据报文的目的地址来查找目的Spoke的公网地址,生成目的Spoke的子网地址与公网地址的NHRP映射表。
nhrp表中:目的spoke的子网地址与公网地址建立映射
具体过程
非shortcut方式
当spoke2的用户首次访问spoke1下的用户,将触发spoke2与spoke1之间建立动态mgre隧道,隧道建立过程
1、spoke2收到其下用户发往spoke1的数据报文后,查路由表找下一跳,得隧道地址,查nhrp没有隧道地址的公网地址,就将数据先发给了hub。同时向hub发送nhrp地址解析请求报文。
2、hub收到数据和nhrp请求后通过mgre隧道将报文转发给spoke2.
3、spoke1收到nhrp请求后,提取spoke2的隧道地址和公网地址并更新到nhrp表,向spoke2发送nhrp响应报文,携带自己的隧道地址和公网地址
(可见nhrp请求源目地址都是隧道地址。 )
4、spoke2收到nhrp响应后提取隧道和公网地址更新nhrp,spoke2和spoke1之间mgre隧道建立。
5、之后自从spoke2向spoke1发送的私网数据直接经过spoke2和spoke1之间的mgre隧道发送。
受益
1、降低成本:分支不用购买静态公网地址
2、简化配置:多个点对点gre隧道的配置量缩减为一个mgre隧道的配置,后期维护也简单。新增分支时,只需在分支配置,分支自动向总部注册。
3、增加体验:分部之间通信时延降低,提升转发性能和效率。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~