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 ×××框架。
实验拓扑:
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创建
查看IPSEC的加密:
接口删除掉PROFILE:
可以看到系统显示ISAKMP is OFF:
清理下cry进程,SA消失,数据不加密,相当于变成了GRE ×××。
还有就是路由的问题。我用的版本是12.4 配置一开始没生效:
CD到SH的依旧走了HUB。tul接口sh;no sh一下:
SPOKE之间直接建立了IPSEC vpn隧道。而不在通过HUB。