GRE ×××会建立虚拟的Tunnel接口创建GRE隧道,但是实际的数据是没有进行加密和认证。处理流程包括:隧道起点的路由查找-封装-承载协议路由转发-转发-解封装-隧道终点的路由查找。

    IPSEC ×××则能提供:数据加密,内容完整性验证和发送者身份验证功能,但是IPSEC不支持组播,无法承载动态路由协议。

    在实际生产网络中,分支机构会和总部,分支和分支之间都会形成互联和互访。传统的ipsec ***实现方式,新增SPOKE就需要在HUB上添加配置,HUB会进行新的加密,SPOKE之间的数据也是穿越HUB,而且不同的数据中心之间不支持OSPF等动态路由协议。使用DM×××则可以解决这些问题。

    DM×××包括了四个部件:

MGRE:动态建立站点间的tunnel

NHRP:HUB会储存多个SPOKE信息,作为SPOKE物理地址和隧道地址的存贮和转发中心,从而使SPOKE之间可以直接建立***通信

DYNAMIC ROUTING PROTOCOL:内网路由学习(需要注意水平分割和次优路由)

IPSEC:加密认证

JUNOS上会有AUTO ×××和GROUP ×××来拓展其IPSEC ×××框架。


实验拓扑:

CISCO DM×××_第1张图片

HUB模拟总部,CD和SH分别为分支机构。三地互联,后续还会扩展分支接入。

实验步骤:

就是按照DM×××的四个部件逐步来。

实验配置:

MGRE配置:

HUB:

interface Tunnel100

 ip address 10.1.123.1 255.255.255.0   HUB地址

 tunnel source Ethernet0/0   源地址/接口

 tunnel mode gre multipoint   GRE是配置SPOKE的目的地址,既然支持动态可扩展,选择模式为multipoint

SPOKE (同理):

interface Tunnel100

 ip address 10.1.123.2 255.255.255.0

 tunnel source Ethernet0/0

 tunnel mode gre multipoint

NHRP配置:

HUB:

interface Tunnel100

 ip nhrp network-id 123 所有设备都配置相同

 ip nhrp map multicast dynamic   动态地接受组播映射

IPSEC配置:

crypto isakmp policy 10

 authentication pre-share   域分享密码

crypto isakmp key cisco address 0.0.0.0 0.0.0.0   

crypto ipsec transform-set dm*** esp-des esp-md5-hmac 

 mode transport

crypto ipsec profile dm***

 set transform-set dm***

在tunnel接口调用***,优化mtu

interface Tunnel100

 ip mtu 1400

 tunnel protection ipsec profile dm***

动态路由协议:

关闭EIGRP水平分割:

interface Tunnel100

 no ip next-hop-self eigrp 100

 no ip split-horizon eigrp 100

TUNNUL接口调用IPSEC PROFILE:

interface Tunnel100

 tunnel protection ipsec profile dm***

×××建立完成以后。首先查看两个阶段的SA创建

CISCO DM×××_第2张图片

查看IPSEC的加密:

CISCO DM×××_第3张图片

接口删除掉PROFILE:

TUL接口关闭ipsec.png

可以看到系统显示ISAKMP is OFF:

查看SA.png

清理下cry进程,SA消失,数据不加密,相当于变成了GRE ×××。

还有就是路由的问题。我用的版本是12.4 配置一开始没生效:

CISCO DM×××_第4张图片

CD到SH的依旧走了HUB。tul接口sh;no sh一下:

正确的路由.png


SPOKE之间直接建立了IPSEC ***隧道。而不在通过HUB。