使用DSVPN解决分支网络出口为ADSL场景下的内网互通

2021/4/7 18:08:27

本文主要是介绍使用DSVPN解决分支网络出口为ADSL场景下的内网互通,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

背景

  最近接到一个项目是一家机构总部与多个分支之间的内网互通,总部具有固定ip,分部是使用adsl动态获取的不固定公网ip,由于两端互联网ip不固定所以不能使用传统的GRE技术来实现,所以最后经过评估使用了DSVP技术

技术介绍

  动态智能VPN(Dynamic Smart Virtual Private Network),简称DSVPN,是一种在Hub-Spoke组网方式下为公网地址动态变化的分支之间建立VPN隧道的解决方案。

  DSVPN通过NHRP协议动态收集、维护和发布各节点的公网地址等信息,解决了源分支无法获取目的分支公网地址的问题,从而可在分支与分支之间建立动态VPN隧道,实现分支与分支间的直接通  信,进而减轻总部的负担、避免网络延时。

  DSVPN借助mGRE技术,使VPN隧道能够传输组播报文和广播报文,并且一个Tunnel接口可与多个对端建立VPN隧道,减少了配置VPN隧道的工作量;在新增分支或分支公网地址发生变化时,也能自动维护总部与分支之间的隧道关系,而不用调整总部的隧道配置,使得网络维护变得更智能化。

 

mGRE

  mGRE是在GRE(Generic Routing Encapsulation)基础上发展而来的一种点到多点GRE技术。它将传统GRE隧道点到点(P2P)类型的Tunnel接口扩展成了点到多点(P2MP)类型的mGRE隧道接口。通过改变接口类型,Hub或Spoke上只需要配置一个Tunnel接口便可与多个对端建立隧道,从而减少了配置GRE隧道的工作量。

NHRP

  NHRP(Next Hop Resolution Protocol)即下一跳地址解析协议。在DSVPN网络中,NHRP协议的作用是建立和解析Protocol地址到NBMA(Non-Broadcast Multiple Access)地址的映射关系。正是因为这种映射和解析,源Spoke才能够获取目的Spoke的动态公网地址。

 

通俗的讲DSVPN是使用mGRE技术在HUB端只需要指定隧道源端口而不需要指定隧道目的ip,分支机构通过NHRP协议向HUB注册自己的隧道ip与公网ip,HUB生成一张NHRP映射表,表中包括分支隧道ip与公网ip的映射关系,HUB会把该映射关系同步给其他分支,其他分支拿到该映射关系后就可以获取各分支隧道ip对应的公网ip,只要公网ip间通信正常就会自动建立GRE隧道

 

配置如下

拓扑

 

 

 

基础配置(如ospf,端口ip)配置略

//hub配置
interface Tunnel0/0/0
 ip address 172.16.1.1 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet1/0/0

ip route-static 192.168.1.0 255.255.255.0 172.16.1.2
ip route-static 192.168.2.0 255.255.255.0 172.16.1.3
//spoke1配置
interface Tunnel0/0/0
 ip address 172.16.1.2 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet1/0/0
 nhrp entry 172.16.1.1 1.1.1.10 register

ip route-static 192.168.0.0 255.255.255.0 172.16.1.1
ip route-static 192.168.2.0 255.255.255.0 172.16.1.3
//spoke2配置
interface Tunnel0/0/0
 ip address 172.16.1.3 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet1/0/0
 nhrp entry 172.16.1.1 1.1.1.10 register

ip route-static 192.168.0.0 255.255.255.0 172.16.1.1
ip route-static 192.168.1.0 255.255.255.0 172.16.1.2

hub 查看nhrp信息

 

 

 

 

spoke查看nhrp信息

 

 

 测试

 

 

 抓包

 

 

 可以看到spoke1访问spoke2内网网段gre外层源目ip封装的是自身的接口ip和对端的接口ip

 



这篇关于使用DSVPN解决分支网络出口为ADSL场景下的内网互通的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程