使用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场景下的内网互通的更多相关文章
- linux网络配置正确,能够ping通内网地址,无法打开外网网页
在虚拟机里面装了linux后,发现内网能访问,外网访问不了. 首先确定网络配置没有问题,并且能够访问外网,通过以下方法进行确认: [root@localhost ~]# more /etc/sysco ...
- linux虚拟机网络设置(本机使用公司内网)
使用桥接方式 设置: 一开始没有的话可以add 编辑edit 参考公司网络,下图是公司内网地址 然后设置 然后ping就ok了
- 解决OS X系统连接VPN后无法访问内网资源的问题
该问题是第一次使用OS X系统连接VPN遇到的问题,现象是连接VPN成功,但无法访问公司的内网资源. 主要原因还是VPN设置上的问题,在系统偏好设置中打开VPN连接,里面有个高级设置,如图: 点击高级 ...
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
- Openvpn完美解决公司网络没有固定公网IP的问题
方案背景: 公司办公网络使用长城宽带上网有一段时间了,有4个固定IP(2个电信,2个网通),链路不太稳定,经常有问题,因此考虑取消长城宽带,采用原来的adsl上网.但是有个问题,因为公司内网有几台服务 ...
- eclipse 项目修改和更新项目,回退版本,解决分支的冲突的办法
一个关于git的图 1.我在github建立了3个分支. 2.把其中一个分支拉到本地. 项目修改提交到远程库 3.修改完代码以后commit项目,点击项目右击->team->commit ...
- Git for Windows之分支管理、分支合并、解决分支冲突
分支是在稳定版本出现bug的情况下,通过分支技术,在保证稳定版本稳定的情况,修改稳定版本的(差异下载的,速度极快,不同于SVN等技术,会将所有的代码下载到本地)副本,通过合并,解决冲突,最后回归到稳定 ...
- 内部网络出口防火墙导致TCP类扫描异常
测试过程中确认,由于内部网络出口防火墙存在连接数等策略限制,会导致TCP类扫描出现异常,表现为大量误报. Nessus.nmap.synscan均存在此现象.
- 华为SDN:解决传统网络3大问题
转:http://mp.ofweek.com/tele/a145613326756 科技潮人 2013-08-05 14:20 传统网络之困 互联网爆炸式增长,除了规模和发展速度远超之前所有曾出现的数 ...
随机推荐
- 03-三高-并行并发&服务内
三高项目-服务内并发 cap:分布式系统的起点. 一致性,可用性,分区容错性. P:分区容错性.分区,容错. 因为有网络的8大谬误: 网络是可靠的. 没有延迟 带宽无限 网络安全 拓扑结构 ...
- Visual Studio Code 快捷键大全(最全)
Visual Studio Code 是一款优秀的编辑器,对于开发前端带来了很多便利,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率.下面就Visual Studio Code常用快捷键的一些 ...
- 【C语言】预处理、宏定义、内联函数
一.由源码到可执行程序的过程 1. 预处理: 源码经过预处理器的预处理变成预处理过的.i中间文件 1 gcc -E test.c -o test.i 2. 编译: 中间文件经过编译器编译形成.s的汇编 ...
- 语言算子&模糊推理
一.语言算子 语言算子分为三类: ①语气算子 ②模糊化算子 ③判定化算子 (1)语气算子 "集中化算子":--"很"."极"."非 ...
- PCB产业链、材料、工艺流程详解(1)
PCB知识大全 1.什么是pcb,用来干什么? PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连 ...
- Emscripten教程之入门指导
翻译:云荒杯倾本文是Emscripten-WebAssembly专栏系列文章之一,更多文章请查看专栏.也可以去作者的博客阅读文章.欢迎加入Wasm和emscripten技术交流群,群聊号码:93920 ...
- 小白上学のcanvas零基础
<canvas> 元素 <canvas> 看起来和 <img> 元素很相像,唯一的不同就是它并没有 src 和 alt 属性.实际上,<canvas> ...
- canvas动画—圆形扩散、运动轨迹
介绍 在ECharts中看到过这种圆形扩散效果,类似css3,刚好项目中想把它用上,but我又不想引入整个echart.js文件,更重要的是想弄明白它的原理,所以自己动手.在这篇文章中我们就来分析实现 ...
- BeeFramework:以极客的方式开发你的应用
BeeFramework 是新一代的应用开发框架,它能使应用开发变得更简单更容易,它是由 Gavin Kwoe 和 QFish 开发并维护的.使用 BeeFramework 能像 html 和 css ...
- electron制作聊天界面(仿制qq)
效果图: 样式使用scss和flex布局 这也是制作IM系统的最后一个界面了!在制作之前参考了qq和千牛 需要注意的点 qq将滚动条美化了 而且在无操作的情况下是不会显示的 滚动条美化 ::-webk ...