DMVPN发展的三个阶段
1、阶段一:星形拓扑设计(Hub-to-Spoke Designs)
这是DMVPN技术的最原始阶段,除了中心站点为mGRE隧道,所有分支站点均为普通的点对点GRE隧道,分支站点间的流量都必须经过中心站点进行转发。第一阶段的优势在于,增加分支站点并不会增加中心站点的配置量,并且分支站点支持动态获取ip地址。
2、阶段二:虚拟网状拓扑设计(Spoke-to-Spoke Design)
所有站点都配置mGRE隧道,中心站点与分支站点间维护一个永恒隧道,分支站点与分支站点间则按需建立隧道,形成虚拟网状拓扑,真正实现DMVPN的高扩展性。上一篇博客中的配置就是第二阶段。
3、阶段3:层次化(树状)设计(Hierarchical[Tree-Based]Design)
这是DMVPN的最新发展阶段,主要运用于DMVPN的超大范围部署。
DMVPN第二阶段NHRP工作流程介绍
步骤1:分支站点一到分支站点二数据通过中心站点代转。
步骤2:分支站点一将NHRP 解析请求发送给中心站点,请求解析分支站点二虚拟ip地址所对应的互联网地址。
步骤3:中心站点回送NHRP解析回应给分支站点一。
步骤4:分支站点一获取分支站点二NHRP解析后,直接建立分支站点间的IPSec隧道,后继数据在站点间IPSec隧道内进行转发。
DMVPN第三阶段NHRP工作流程介绍
步骤1:阶段三DMVPN支持中心站点向分支站点发送汇总路由,所以分支站点间流量总是会先被发送到中心站点,并由中心站点转发到目的分支站点。
步骤2:中心站点收到分支站点数据后,回送NHRP重定向(redirect)信息,这个重定向信息的主要目的是告诉分支站点一,中心站点不是最优的下一跳(虽然路由学习的下一跳是中心站点),最优的下一跳是分支站点二的虚拟隧道地址。
步骤3:当分支站点一收到NHRP重定向信息,并得知最优的下一跳不是中心站点而是分支站点二,些时分支站点一会马上发送NHRP解析请求给NHRP服务器(中心站点)。在DMVPN阶段二,中心站点不会直接回送NHRP解析回应,面是把这个NHRP解析请求直接发给目的分支站点。
步骤4:分支站点二收到分支站点一所发的NHRP解析请求后,站点二会主支和站点一建立IPSec隧道。
步骤5:站点间IPSec隧道建立后,站点二会在隧道内回送NHRP解析回应给站点一。
步骤6:后续站点间流量就会直接在步骤4建立的IPSec隧道内转发。
以下面的拓扑图来讲解DMVPN第三阶段配置
R1上起loo8 192.168.1.1/24 R2上起loo8 192.168.2.2/24 R3上起loo8 192.168.3.3/24
R1上的配置:
!
crypto isakmp policy 10
authentication pre-share
crypto isakmp key cisco address 0.0.0.0
!
!
crypto ipsec transform-set trans123 esp-des esp-md5-hmac
mode transport
!
!
crypto ipsec profile pro-123
set transform-set trans123
!
interface Loopback8
ip address 192.168.1.1 255.255.255.0
!
interface Tunnel0
ip address 123.123.123.1 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication cisco
ip nhrp network-id 10
ip nhrp redirect《第三阶段的DMVPN需要在中心站点启用nhrp重定向,这样中心站点才会给站点发送nhrp重定向信息来优化下一跳》
ip summary-address eigrp 10 192.168.0.0 255.255.0.0《第三阶段的DMVPN不再需要关闭水平分割,也不再需要no掉ip next-hop-self eigrp 100来优化路由,只需要中心给所有的分支发送一条汇总路由》
tunnel source Ethernet0/0
tunnel mode gre multipoint
tunnel key 12345
tunnel protection ipsec profile pro-123
!
interface Ethernet0/0
ip address 14.14.14.1 255.255.255.0
duplex auto
router eigrp 10
network 123.123.123.0 0.0.0.255
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
ip route 0.0.0.0 0.0.0.0 14.14.14.4
R2上的配置:
crypto isakmp policy 10
authentication pre-share
crypto isakmp key cisco address 0.0.0.0
!
!
crypto ipsec transform-set trans123 esp-des esp-md5-hmac
mode transport
!
!
crypto ipsec profile pro-123
set transform-set trans123
!
interface Loopback8
ip address 192.168.2.2 255.255.255.0
!
interface Tunnel0
ip address 123.123.123.2 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication cisco
ip nhrp map 123.123.123.1 14.14.14.1
ip nhrp map multicast 14.14.14.1
ip nhrp network-id 10
ip nhrp nhs 123.123.123.1
ip nhrp shortcut<第三阶段的DMVPN需要在所有分支站点启用nhrp短路,这样才能在分支站点间直拉建立隧道>
tunnel source Ethernet0/1
tunnel mode gre multipoint
tunnel key 12345
tunnel protection ipsec profile pro-123
!
interface Ethernet0/0
no ip address
shutdown
duplex auto
!
interface Ethernet0/1
ip address 24.24.24.2 255.255.255.0
duplex auto
!
!
router eigrp 10
network 123.123.123.0 0.0.0.255
network 192.168.2.0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
ip route 0.0.0.0 0.0.0.0 24.24.24.4
!
R3上的配置:
crypto isakmp policy 10
authentication pre-share
crypto isakmp key cisco address 0.0.0.0
!
crypto ipsec transform-set trans123 esp-des esp-md5-hmac
mode transport
!
crypto ipsec profile pro-123
set transform-set trans123
!
interface Loopback8
ip address 192.168.3.3 255.255.255.0
!
interface Loopback9
ip address 9.9.9.9 255.255.255.0
!
interface Tunnel0
ip address 123.123.123.3 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication cisco
ip nhrp map 123.123.123.1 14.14.14.1
ip nhrp map multicast 14.14.14.1
ip nhrp network-id 10
ip nhrp nhs 123.123.123.1
ip nhrp shortcut
tunnel source Ethernet0/2
tunnel mode gre multipoint
tunnel key 12345
tunnel protection ipsec profile pro-123
!
interface Ethernet0/2
ip address 34.34.34.3 255.255.255.0
duplex auto
!
!
router eigrp 10
network 123.123.123.0 0.0.0.255
network 192.168.3.0
!
no ip http server
no ip http secure-server
ip route 0.0.0.0 0.0.0.0 34.34.34.4
测试阶段三 DMVPN
在R2上查看路由表
R2#show ip route eigrp
Gateway of last resort is 24.24.24.4 to network 0.0.0.0
D 192.168.0.0/16 [90/28288000] via 123.123.123.1, 00:27:41, Tunnel0
只会看到R2通过eigrp学习到了一条由R1发送给分支站点的汇总路由192.168.0.0/16,下一跳是R1(hub)的tunnel0的接口逻辑ip地址123.123.123.1,这是最初始的情况,后面R2和R3建立IPSec SA后,就会学习到R3的明细路由条目。
在R2上查看nhrp映射
R2#show ip nhrp
123.123.123.1/32 via 123.123.123.1
Tunnel0 created 00:31:54, never expire
Type: static, Flags: used
NBMA address: 14.14.14.1
在r2上ping触发站点间流量,当我们再查看nhrp映射时,就可以看到增加了R3的nhrp动态映射。
R2#show ip nhrp
123.123.123.1/32 via 123.123.123.1
Tunnel0 created 00:34:01, never expire
Type: static, Flags: used
NBMA address: 14.14.14.1
123.123.123.3/32 via 123.123.123.3
Tunnel0 created 00:00:04, expire 00:09:55
Type: dynamic, Flags: router nhop rib
NBMA address: 34.34.34.3
192.168.2.0/24 via 123.123.123.2
Tunnel0 created 00:00:04, expire 00:09:55
Type: dynamic, Flags: router unique local
NBMA address: 24.24.24.2
(no-socket)
192.168.3.0/24 via 123.123.123.3
Tunnel0 created 00:00:04, expire 00:09:55
Type: dynamic, Flags: router used rib
NBMA address: 34.34.34.3
R2上的路由信息
R2和R3建立IPSec SA后,学习到R3的明细路由条目(192.168.3.0/24),下一跳是R3的tunnel0的逻辑ip地址123.123.123.3。