p_w_picpath

ISP DM ×××

1-DM××× 四大块

由于传统IPSec ×××星形和网状拓扑存在高扩展性问题,Cisco提出了自己的高扩展性IPSec ×××技术,这个技术就叫做Dynamic Multipoint ×××(DM×××)。DM×××相比于传统的IPSec ×××技术有如下几个优点:

1. 简单的星形拓扑配置,提供了虚拟网状连通性。

2. 分支站点支持动态获取地址。

3. 增加新的分支站点,无需更改中心站点配置。

4. 分支站点到分支站点动态产生隧道

1-1 Multi-GRE

也就是说任何一个分支站点不仅仅能够和中心站点进行通讯,而且还能够直接和其它分支站点进行通讯。这其实就说明了DM×××的第一个优点,虚拟网状连通性

1-2 NHRP

首先每一个分支站点都需要手动影射中心站点的虚拟IP到公网IP,所以中心站点必须拥有固定IP地址。分支站点有了这个手动映射就能够和中心站点取得联 系,并且通过NHRP协议,注册这个分支站点的隧道虚拟IP到动态获取的公网IP,一旦注册成功,中心站点就有所有分支站点的NHRP影射。这样中心站点 也能够访问所有注册后的分支站点。因为注册是动态的,所以分支站点支持动态获取地址。当某一分支站点希望访问另外一个分支站点时,它首先会使用NHRP协 议询问中心站点(NHRP的服务器),目的分支站点隧道虚拟IP所对应的公网IP,中心站点回送NHRP影射给发起方,发起方有了目的站点的NHRP影射 以后,就能够通过MGRE直接发起隧道访问目的站点,这个流量是两个分支站点间直接发起的,并不占用中心站点资源。所以从这个角度来看,DM×××技术是 高扩展性的技术。

1-3动态路由协议

动态路由协议的主要目的是宣告隧道接口网络和站点身后私有网络。注意绝大部分动态路由协议都使用组播来传输路由更新信息。但是MGRE隧道是典型的 NBMA网络,这种网络类型不支持直接承载组播信息,所以我们需要配置组播映射,把组播转换成为单播。因为只有中心站点才拥有固定IP地址,所以默认只有 能够配置分支站点和中心站点之间的组播映射。由于组播映射的这个特点,所以动态路由协议的邻居关系,只会出现在分支站点和中心站点之间,分支站点之间由于 不存在组播映射,并且分支站点间的隧道是动态建立的,所以不存在动态路由协议的邻居关系。MGRE支持的路由协议有RIP,EIGRP,OSPF,ODR 和BGP。

1-4 IPSEC

其实DM×××也可以理解成为MGRE over IPSec,IPSec其实就是对MGRE流量进行加密。虽然MGRE是一种特殊的GRE技术,但是协议号依然为GRE的47。所以配置和GRE over IPSec一般无二。图为DM×××数据封装示意图,通过此图,说明DM×××和GRE over IPSec一样也应该采取传输模式进行封装。

clip_p_w_picpath002

2-第二阶段DM×××配置

clip_p_w_picpath004

Step1-configure internet

首先让三个公网IP地址能相互ping通

R1 R2 R3 R4 跑ospf area 0

Step2- MGRE& NHRP configuration

R1#sh run int tunnel 123

interface Tunnel123

ip address 172.16.1.1 255.255.255.0

no ip redirects

ip nhrp authentication cisco

ip nhrp map multicast dynamic \\<动态接收NHRP的组播映射>

ip nhrp network-id 123 \\激活NHRP,所有站点的“network-id”建议相同

tunnel source FastEthernet0/0

tunnel mode gre multipoint \\<配置隧道模式为多点GRE>

tunnel key 123

R2#sh run int tunnel 123

interface Tunnel123

ip address 172.16.1.2 255.255.255.0

no ip redirects

ip nhrp authentication cisco

ip nhrp map multicast 14.1.1.1

\\MGRE是NBMA网络,分支站点要和中心站点建立动态路由协议的邻居关系,必须在每一个分支站点,影射组播到中心站点的公网IP。这样才能够把分支站点的组播送到中心站点。并且可以看到分支站点间没有组播映射,所以分支站点间没有动态路由协议的邻居关系。

ip nhrp map 172.16.1.1 14.1.1.1 \\手动NHRP影射,影射中心站点的隧道虚拟IP到中心站点的公网IP。有了这个影射,分支站点才能访问中心站点。

ip nhrp network-id 123

ip nhrp nhs 172.16.1.1\\NHS就是NHRP服务器,这个配置定义了NHRP服务器地址为中心站点的隧道接口虚拟地址172.16.1.100

tunnel mode gre multipoint

tunnel key 123

tunnel source f0/1

!

R3#sh run int tunnel 123

interface Tunnel123

ip address 172.16.1.3 255.255.255.0

no ip redirects

ip nhrp authentication cisco

ip nhrp map 172.16.1.1 14.1.1.1

ip nhrp map multicast 14.1.1.1

ip nhrp network-id 123

ip nhrp nhs 172.16.1.1

tunnel mode gre multipoint

tunnel key 123

tunnel source f1/0

!

Step3: 动态路由协议

R1(config)#int tunnel 123

R1(config-if)#no ip split-horizon e 90 \\关闭水平分割

R1(config)#int tunnel 123 \\hub路由优化

R1(config-if)#no ip next-hop-self eigrp 90

R2#sh ip route eigrp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

D 192.168.1.0/24 [90/27008000] via 172.16.1.1, 00:03:34, Tunnel123

D 192.168.3.0/24 [90/28288000] via 172.16.1.3, 00:03:29, Tunnel123

Step4: check nhrp

R1#sh ip nhrp

172.16.1.2/32 via 172.16.1.2

Tunnel123 created 00:06:05, expire 01:53:54

Type: dynamic, Flags: unique registered

<由于注册动态获取的映射信息>

NBMA address: 24.1.1.2

<手工注册的信息>

172.16.1.3/32 via 172.16.1.3

Tunnel123 created 00:05:46, expire 01:54:13

Type: dynamic, Flags: unique registered

NBMA address: 34.1.1.3

R2#sh ip nhrp

172.16.1.1/32 via 172.16.1.1

Tunnel123 created 01:17:52, never expire

Type: static, Flags: used

NBMA address: 14.1.1.1

172.16.1.2/32 via 172.16.1.2

Tunnel123 created 00:02:18, expire 01:57:41

Type: dynamic, Flags: router unique local

NBMA address: 24.1.1.2

(no-socket)

172.16.1.3/32 via 172.16.1.3

Tunnel123 created 00:02:18, expire 01:57:40

Type: dynamic, Flags: router

NBMA address: 34.1.1.3

<NHRP服务器动态解析Spoke2的虚拟地址到公网地址>

Step5配置IPSEC ×××

R1(config)#crypto isakmp policy 10

R1(config-isakmp)#authentication pre-share

R1(config-isakmp)#exit

R1(config)#crypto isakmp key cisco address 0.0.0.0 0.0.0.0

R1(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac

R1(cfg-crypto-trans)#mode transport

R1(cfg-crypto-trans)#exit

R1(config)#crypto ipsec profile dm***-profile

R1(ipsec-profile)#set transform-set cisco

R1(ipsec-profile)#exit

R1(config)#int tunnel 123

R1(config-if)#tunnel protection ipsec profile dm***-profile

R1(config-if)#ip mtu 1400

R2(config)#crypto isakmp policy 10

R2(config-isakmp)#authentication pre-share

R2(config-isakmp)#exit

R2(config)#crypto isakmp key cisco address 0.0.0.0 0.0.0.0

R2(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac

R2(cfg-crypto-trans)#mode transport

R2(cfg-crypto-trans)#exit

R2(config)#cry ipsec profile dm***-profile

R2(ipsec-profile)#set transform-set cisco

R2(ipsec-profile)#exit

R2(config)#interface tunnel 123

R2(config-if)#tunnel protection ipsec profile dm***-profile

R2(config-if)#ip mtu 1400

察看结果:

R1#sh crypto isakmp sa

IPv4 Crypto ISAKMP SA

dst src state conn-id status

14.1.1.1 24.1.1.2 QM_IDLE 1006 ACTIVE

14.1.1.1 34.1.1.3 QM_IDLE 1007 ACTIVE

参考link:

http://blog.sina.com.cn/s/blog_52ddfea30100p1n7.html

3-第三阶段DM×××配置

三个阶段的对比:

clip_p_w_picpath006

clip_p_w_picpath008

第三阶段支持汇总路由,并且NHRP的处理方法也和第二阶段有明显不同,下面我们就会第三阶段NHRP的解析过程进行详细的介绍。

第一步:第三阶段DM×××支持中心站点向分支站点发送汇总路由,所以站点间流量总是会先送到中心站点,并由中心站点代转。

第二步:中心站点收到分支站点间数据后,回送NHRP重定向,这个重定向的主要目的是告诉分支站点一:中心站点不是最优的下一跳(虽然路由学习的下一跳是中心站点),最优的下一跳是分支站点二的虚拟隧道地址。

注意:由于NHRP重定向能够动态优化路由,所以第三阶段的DM×××支持中心站点的路由汇总。

第三步:当分支站点一收到NHRP重定向信息,并且学习到最优的下一跳是分支站点二,就会马上发送NHRP解析请求给NHRP服务器(中心站点)。在DM×××第三阶段,中心站点不会直接回送NHRP解析回应,而是把这个NHRP解析请求直接发给目的站点。

第四步:分支站点二收到分支站点一所发的NHRP解析请求后,站点二会主动和站点一建立IPSec隧道。

第五步:站点间IPSec隧道建立后,站点二会在隧道内直接回送NHRP解析回应给站点一。

注意:DM×××第三阶段采取由目的站点触发IPSec,并且在IPSec隧道内回送NHRP回应信息。这样做的好处在于,如果分支站点二正在一个PAT设备内部,使用第三阶段的DM×××就能够由站点二由内向外主动发起了,但是使用传统的第二阶段DM×××技术,就很难穿越PAT设备,建立分支站点间隧道。

第六步:后续站点间流量就会直接在第四步建立的IPSec隧道内转发。

clip_p_w_picpath010

Step1: basic configuration

用直连模拟公网路由

Step2: MGRE与NHRP配置

R1(config)#int tunnel 0

R1(config-if)#ip add 172.16.1.100 255.255.255.0

R1(config-if)#tunnel mode gre multipoint

R1(config-if)#tunnel source f0/0

R1(config-if)#ip nhrp network-id 10

R1(config-if)#ip nhrp authentication cisco

R1(config-if)#ip nhrp map multicast dynamic

R1(config-if)#ip nhrp redirect <<第三阶段的DM×××需要要在中心站点启用nhrp重定向,这样中心站点才会给分支站点发送NHRP重定向信息来优化下一跳>

R2(config)#int tu 0

R2(config-if)#ip add 172.16.1.1 255.255.255.0

R2(config-if)#tun mode gre mu

R2(config-if)#tu source f0/0

R2(config-if)#ip nhrp net 10

R2(config-if)#ip nhrp au cisco

R2(config-if)#ip nhrp map 172.16.1.100 202.100.1.100

R2(config-if)#ip nhrp map multicast 202.100.1.100

R2(config-if)#ip nhrp nhs 172.16.1.100

R2(config-if)#ip nhrp shortcut

<第三阶段的DM×××需要要在所有分支站点启用nhrp短路,这样才能在分支站点间直接建立隧道。>

R3(config)#int tun 0

R3(config-if)#ip add 172.16.1.2 255.255.255.0

R3(config-if)#tunnel mode gre mu

R3(config-if)#tun sour f0/0

R3(config-if)#ip nhrp network-id 10

R3(config-if)#ip nhrp au cisco

R3(config-if)#ip nhrp map 172.16.1.100 202.100.1.100

R3(config-if)#ip nhrp map mu 202.100.1.100

R3(config-if)#ip nhrp nhs 172.16.1.100

R3(config-if)#ip nhrp shortcut

Step3:动态路由配置

R1(config-if)#router e 100

R1(config-router)#no auto

R1(config-router)#net 172.16.1.0

R1(config-router)#int tun 0

R1(config-if)#ip summary-address eigrp 100 192.168.0.0 255.255.0.0

#第三阶段的DM×××不再需要关闭水平分割,也不再需要no掉“ip next-hop-self eigrp 100”来优化路由,只需要中心给所有的分支发送一条汇总路由#

R2#sh run | se router ei

router eigrp 100

network 172.16.0.0

network 192.168.1.0

R3#sh run | se router ei

router eigrp 100

network 172.16.0.0

network 192.168.2.0

Step4: 配置ipsec

R1(config)#crypto isakmp policy 10

R1(config-isakmp)#authentication pre-share

R1(config)#crypto isakmp key 0 cisco address 0.0.0.0 0.0.0.0

R1(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac

R1(cfg-crypto-trans)#mode transport

R1(config)#crypto ipsec profile dm***-profile

R1(ipsec-profile)#set transform-set cisco

R1(config)#interface tunnel 0

R1(config-if)#ip mtu 1400

R1(config-if)#tunnel protection ipsec profile dm***-profile

R2/R3(config)#crypto isakmp policy 10

R2/R3(config-isakmp)#authentication pre-share

R2/R3(config)#crypto isakmp key 0 cisco address 0.0.0.0 0.0.0.0

R2/R3(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac

R2/R3(cfg-crypto-trans)#mode transport

R2/R3(config)#cry ipsec profile dm***-profile

R2/R3(ipsec-profile)#set transform-set cisco

R2/R3(config)#interface tunnel 0

R2/R3(config-if)#ip mtu 1400

R2/R3(config-if)#tunnel protection ipsec profile dm***-profile

效果图:R2---〉R3 直接联系R3了

clip_p_w_picpath012

4-DM××× 单云双中心

clip_p_w_picpath014

DM×××单云表示只有一个隧道网络,图中隧道网段为172.16.1.0/24。并且这个隧道网络内有两个中心站点。每一个分支站点同时和两个中心站点建立两个永久的IPSec隧道,也同时和两个中心站点建立动态路由协议的邻居关系。分支站点会从两个中心站点同时学习到中心内部网络(192.168.100.0/24)的路由。当分支站点访问中心内部网络时,可以利用两个中心站点实现负载均衡。并且当其中一个中心站点出现问题的时候,另外一个站点能够接管所有流量,实现DM×××的高可用性。

1-配置为第三阶段DM×××

R1/2/3配置如下

R1#sh run int tun 0

Building configuration...

Current configuration : 312 bytes

!

interface Tunnel0

ip address 172.16.1.100 255.255.255.0

no ip redirects

ip mtu 1400

ip nhrp map multicast dynamic

ip nhrp network-id 10

no ip split-horizon

ip ospf network broadcast

tunnel source FastEthernet1/0

tunnel mode gre multipoint

tunnel key 12345

tunnel protection ipsec profile r1

!

end

R1#sh run | se cry

no service password-encryption

crypto isakmp policy 10

authentication pre-share

crypto isakmp key cisco address 0.0.0.0 0.0.0.0

crypto ipsec transform-set fuyi esp-des esp-md5-hmac

mode transport

crypto ipsec profile r1

set transform-set fuyi

R3#sh run int tun 0

Building configuration...

Current configuration : 381 bytes

!

interface Tunnel0

ip address 172.16.1.1 255.255.255.0

no ip redirects

ip mtu 1400

ip nhrp map 172.16.1.100 202.100.1.100

ip nhrp map multicast 202.100.1.100

ip nhrp network-id 10

ip nhrp nhs 172.16.1.100

ip ospf network broadcast

ip ospf 110 area 0

tunnel source FastEthernet1/0

tunnel mode gre multipoint

tunnel key 12345

tunnel protection ipsec profile r3

!

end

R3#sh run | se cry

no service password-encryption

crypto isakmp policy 10

authentication pre-share

crypto isakmp key cisco address 0.0.0.0 0.0.0.0

crypto ipsec transform-set fuyi esp-des esp-md5-hmac

mode transport

crypto ipsec profile r3

set transform-set fuyi

R4#sh run int tun 0

Building configuration...

Current configuration : 381 bytes

!

interface Tunnel0

ip address 172.16.1.2 255.255.255.0

no ip redirects

ip mtu 1400

ip nhrp map 172.16.1.100 202.100.1.100

ip nhrp map multicast 202.100.1.100

ip nhrp network-id 10

ip nhrp nhs 172.16.1.100

ip ospf network broadcast

ip ospf 110 area 0

tunnel source FastEthernet1/0

tunnel mode gre multipoint

tunnel key 12345

tunnel protection ipsec profile r4

!

end

R4#sh run | se cry

no service password-encryption

crypto isakmp policy 10

authentication pre-share

crypto isakmp key cisco address 0.0.0.0 0.0.0.0

crypto ipsec transform-set fuyi esp-des esp-md5-hmac

mode transport

crypto ipsec profile r4

set transform-set fuyi

2-两个中心之间要彼此映射

R1(config)#int tun 0

R1(config-if)#ip nhrp map 172.16.1.101 202.100.1.101

R1(config-if)#ip nhrp map multicast 202.100.1.101

ip nhrp holdtime 360

<推荐优化DM×××参数>

ip tcp adjust-mss 1360

<推荐优化DM×××参数>

如果配置了两边都要配置

3-分支点配置

R3/R4:

ip nhrp map 172.16.1.101 202.100.1.101

ip nhrp map multicast 202.100.1.101

ip nhrp nhs 172.16.1.101

<每一个分支站点需要静态配置两个中心站点的NHRP映射>

<配置两个NHRP服务器>

4-另一个中心R2的配置

R2#sh run int tun 0

Building configuration...

Current configuration : 409 bytes

!

interface Tunnel0

ip address 172.16.1.101 255.255.255.0

no ip redirects

ip mtu 1400

ip nhrp map multicast dynamic

ip nhrp map 172.16.1.100 202.100.1.100

ip nhrp map multicast 202.100.1.100

ip nhrp network-id 10

no ip split-horizon

ip ospf network broadcast

ip ospf 110 area 0

tunnel source FastEthernet1/0

tunnel mode gre multipoint

tunnel key 12345

tunnel protection ipsec profile r2

结果如下:

clip_p_w_picpath016

参考link:

http://blog.sina.com.cn/s/blog_52ddfea30100p1n7.html

所有试验可以在我百度盘下载到