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一样也应该采取传输模式进行封装。
2-第二阶段DM×××配置
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×××配置
三个阶段的对比:
第三阶段支持汇总路由,并且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隧道内转发。
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了
4-DM××× 单云双中心
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
结果如下:
参考link:
http://blog.sina.com.cn/s/blog_52ddfea30100p1n7.html
所有试验可以在我百度盘下载到
转载于:https://blog.51cto.com/ericfu/1712229