DM_VPN
动态多站点,Hub-spoken 总分站点的VPN架构,常用于总分之间的结构。
一、DMVPN的四个组件
1. MGRE
2. NHRP(下一跳地址解析协议)
3. Dynamic Routing Protocl
4. IPsec VPN
二、MGRE
1.配置(多点GRE隧道)
interface tunnel 0 #进入隧道接口,隧道有点像虚拟链路
ip address 172.16.1.x 255.255.255.0#配置IP地址
tunnel source Serial1/0#隧道接口的原接口
tunnel mode gre multipoint #隧道接口模式
tunnel key 10 #隧道接口的key
三、NHRP
1.配置(多点GRE隧道)
中心端配置:
interface tunnel 0
ip add ress 172.16.1.1 255.255.255.0
ip nhrp network-id 10 (所有设备的需要配置network id一样)
ip nhrp auehentication xxxx 认证配置(可选)
ip nhrp map multicast dynamic #动态接口组播映射
分支端配置:
interface tunnel 0
ip add ress 172.16.1.1 255.255.255.0 #分支地址一般自动获取
ip nhrp network-id 10 (所有设备的需要配置network id一样)
ip nhrp auehentication xxxx 认证配置(可选)
ip nhrp map 172.17.1.100 202.100.1.100 #所有spoke 需要手动映射组播到hub ,用于spoke 与hub 动态建立邻居,记住顺序:先写总部私网地址,再写总部公网地址。
ip nhrp nhs 172.16.1.100 #配置nhrp server 地址,spoke启动后会到服务器注册自己的虚拟隧道地址到公网地址的映射,这个IP地址也是总部的私网IP地址
四、实验
1.配置DMVPN
DM_VPN
动态多站点,Hub-spoken 总分站点的VPN架构,常用于总分之间的结构。
一、DMVPN的四个组件
1. MGRE
2. NHRP(下一跳地址解析协议)
3. Dynamic Routing Protocl
4. IPsec VPN
二、MGRE
1.配置(多点GRE隧道)
interface tunnel 0 #进入隧道接口,隧道有点像虚拟链路
ip address 172.16.1.x 255.255.255.0#配置IP地址
tunnel source Serial1/0#隧道接口的原接口
tunnel mode gre multipoint #隧道接口模式
tunnel key 10 #隧道接口的key
三、NHRP
1.配置(多点GRE隧道)
中心端配置:
interface tunnel 0
ip add ress 172.16.1.1 255.255.255.0
ip nhrp network-id 10 (所有设备的需要配置network id一样)
ip nhrp auehentication xxxx 认证配置(可选)
ip nhrp map multicast dynamic #动态接口组播映射
分支端配置:
interface tunnel 0
ip add ress 172.16.1.1 255.255.255.0 #分支地址一般自动获取
ip nhrp network-id 10 (所有设备的需要配置network id一样)
ip nhrp auehentication xxxx 认证配置(可选)
ip nhrp map 172.17.1.100 202.100.1.100 #所有spoke 需要手动映射组播到hub ,用于spoke 与hub 动态建立邻居,记住顺序:先写总部私网地址,再写总部公网地址。
ip nhrp nhs 172.16.1.100 #配置nhrp server 地址,spoke启动后会到服务器注册自己的虚拟隧道地址到公网地址的映射,这个IP地址也是总部的私网IP地址
四、实验
1.配置DMVPN
tunnel 接口配置,配置好tunnel 接口后此时还不能通信。还需要部署HSRP
NHRP配置如下
R2
interface Tunnel0
ip address 10.1.1.2 255.255.255.0
tunnel source Ethernet0/0 #配置Tunnel 源接口
tunnel mode gre multipoint #接口模式gre 多点
tunnel key 10
end
R3
interface Tunnel0
ip address 10.1.1.3 255.255.255.0
no ip redirects
tunnel source Ethernet0/1
tunnel mode gre multipoint
tunnel key 10
end
R4
interface Tunnel0
ip address 10.1.1.4 255.255.255.0
no ip redirects
tunnel source Ethernet0/2
tunnel mode gre multipoint
tunnel key 10
end
2.观察DMVPN状态:
此时,总部与分支之间的私网是可以互相通信了,那么分支与分支能否通信哪?
答案是可以的
分支因为存在总部的"中介的关系",分支与分支之间也建立起来动态DMVPN的关系,但是会存在老化的情况。当长时间不通信 DMVPN表就会老化,邻居就消失啦。在通信就会再次出现。
3.通过OSPF的方式建立DMVPN:
这次,使用OSPF的方式建立DMVPN,让三个站点的内网地址能够相互通信
- 环回口的配置,将三个站点配置好环回口,一会将其发布
- 宣告环回口**(切记:不要将公网地址宣告到OSPF域中,否则会发生路由环路一些麻烦)**
R2:
R2(config)#router ospf 123
R2(config-router)#netw
R2(config-router)#network 10.0.0.0 0.255.255.255 a 0
R2(config-router)#end
R3:
R3(config)#
R3(config)#router ospf 123
R3(config-router)#netw
R3(config-router)#network 10.0.0.0 0.0.0.255 a 0
R3(config-router)#
R4:
router ospf 123
network 10.0.0.0 0.255.255.255 area 0
3.宣告完毕我们看一下结果
ospf 状态一直处于INIT,这是因为ospf 的hello报是一个组播包,R3,R4等将hello 报文其实扔到了运营商侧。这样看起来的话,R2与R3没有直连建立ospf 邻居关系。需要告诉R3将组播报文发给谁,配置如下:
interface tunnel 0
ip nhrp map multicast 12.1.1.2 #指定隧道组播封装地址
总部一定是静态地址,这样子这个配置才能生效,如果总分全是动态IP,那么hello包就让扔不出去。
配置上去后,我们查看邻居状态:
邻居状态一直处于抖动,发现角色中也不存在DR,BDR等角色,什么情况下不存在DR,BDR?
点到点链路中不存在DR和BDR。难道tunnel 隧道接口是点到点嘛?
结果发现还真是点到点,这样子的话。就不允许第三者插足,那么我们改变链路类型为点到多点,每一台路由器上都配置。
三台路由器配置好后,ospf链路状态建立完全正确。
4.重定向
继续上述操作后,两个分支站点已经没有问题了。但是分支到分支的访问居然是两跳,这样子的话,就会占用分支带宽,怎样实现一跳哪?
- 指定hello 报文的时候,多配置一个地址,这样子固然可以,但是因为分支的IP地址不固定,一旦更换的话非常麻烦。
interface tunnel 0
ip nhrp map multicast 12.1.1.2 #指定隧道组播封装地址
重定向:
总部开启重定向之后,分支开启洁净功能。分支去往分支就不需要绕总部了
总部:
interface tunnel 0
ip nhrp redirect
分支:
interface tunnel 0
ip nhrp shortcut
即使没有建立邻居,照样子可以通信,并且还是一跳过去了。
需要查看 cef 表才能看到。可以查看内网可以互相通信啦
5.加密
给DMvpn配置加密等
1.定义isakmp 策略
cryto isakmp policy 10 #定义isakmp 策略
encryption aes 256 #封装算法
hash sha #哈希算法
authentication pre-share #认证算法:预共享密钥
group 5 #DH组
lifetime 3600 #生存周期
exit
2.传输模式下定义isakmp key
cryto isakmp key CCIE address 0.0.0.0 #与谁建立加密可以段,全部等
cryto ipsec transform-set MYSET esp-aes 256 esp-sha-hmac#定义转换级,将isakmp策略打包
mode transport #模式为传输模式
3.定义ipsec 模板
cryto ipsec profile MYPRO #定义ipsec 模板
set transform-set MYSET #调用转换级
4.隧道接口调用
interface tunnel 0
tunnel protection ipsec profile MYPRO
可以使用 show crypto isakmp sa 查看加密情况
五、注意
- 不要宣告公网地址,包括重分布,直连,network 等等
- 如果hub,spoken 之间的DMVPN建立 eigrp 的路由协议 EIGRP路由协议存在水平分割,从一个接口学习到的路由不会再从这个接口更新出去。需要打破水平分割。在总部的隧道接口下配置:
interface tunnel 0
no ip spilt-horizon eigrp AS号