HCIP【虚拟专用网络技术】
虚拟专用网络技术 简介 ;GRE 和 MGRE
目录
1 VPN简介
VPN 虚拟专用网络
1.1 技术背景
(1)Internet 网络不安全
(2)通过专线连接分支机构成本较高
(3)PSTN拨号成本高,速率低
1.2 作用
利用共享公网构建专用私网(跨越公网,访问私网)
简易流程:公网的IP头部封装在私网的IP头部


1.3 优势
(1)部署简单快速
(2)通过Internet互连,不受地理位置的限制,成本低
(3)简化了配置和维护工作
(4)与私有网络一样,提供安全性、可靠性和客观理性
1.4 隧道技术
定义:使用一种协议去封装另一种协议
VPN隧道技术的封装流程

相关概念:
载荷数据:被封装的原始数据
载荷协议:被封装在内层的协议(私网IP头部)
封装协议:对封装协议的封装方式(用来标识使用的是哪一种VPN)
承载协议:再次封装的外层协议(公网IP头部)
1.5 分类
1.5.1 按照使用场景分类
(1)site-to-site VPN :站点到站点的VPN,用于连接不同分支结构的VPN
[1]LAN-TO-LAN:双方的公网地址必须是静态的
[2]IPsec VPN:一种网络层的安全保障技术,在公网上为两个私有网络提供安全通信通道,通过加密通道保证连接的安全
[3]GRE VPN:最简单的VPN ,一般和IPsec VPN搭配使用
(2)access VPN :用于把单个移动用户接入到公司的内网中
[1]L2TP VPN:二层VPN,隧道传送PPP网络(已淘汰)
[2]SSL VPN:解决远程用户访问公司敏感数据最简单最安全的技术
1.5.2按照工作层次分类
[1]二层VPN:L2TP VPN
[2]三层VPN :IPsec VPN、GRE VPN
[3]七层VPN:SSL VPN
2 GRE 技术
2.1 GRE 简介
GRE(通用路由封装):标准的三层隧道技术,是一种点对点的隧道,在任意一种网络协议上传送任意一种其他网络协议的封装方法
2.2 GRE VPN
GRE VPN:直接使用GRE封装建立起GRE隧道,在一种协议的网络上传送其他协议
2.3 GRE 报文结构

公网的IP头部使用协议号47去标识GRE; GRE使用以太网类型0X0800标识私网IP:

相关概念:
[1] 载荷数据:封装的原始数据
[2]载荷协议:被封装在内层的协议
[3]封装协议:对载荷协议的封装方式(GRE头)
[4] 承载协议:再次封装的外层协议
2.4 GRE VPN工作过程
(1)私网数据包生成:私网中的主机生成数据包,目标地址为私网中的另一台主机。
(2)隧道起点处理:隧道起点设备(如路由器)接收到私网数据包;根据私网路由表,确定数据包需要通过GRE隧道传输。
(3)GRE封装:数据包被送至隧道接口(Tunnel接口);在隧道接口,数据包被封装上GRE头部,形成GRE帧;再次封装公网IP头部,公网IP头部的目的地址为隧道终点的公网IP地址。
(4)公网传输:根据公网IP头部的目的地址,查找公网路由表;数据包通过公网进行传输,直到到达隧道终点。
(5)隧道终点处理:隧道终点设备接收到数据包。检查公网IP头部,确认数据包是发给自己的;剥离公网IP头部和GRE头部,恢复原始的私网数据包。
(6)私网转发:根据私网路由表,将数据包转发到目标私网主机。
2.5 GRE VPN的优缺点
(1)优点
[1]灵活性高:支持多种协议的封装,包括IPV4、IPV6、以太网帧等,能够实现多协议的本地网络实现单一协议的传输
[2]配置简单:GRE技术的配置和使用相对简单,可以在短时间内掌握其基本操作
[3]支持组播和动态路由协议:GRE隧道支持组播和动态路由协议,如OSPF、BGP等。可以实现扩展受跳数限制的路由协议的工作范围,支持企业灵活设计网络拓扑
[4]支持多点隧道:支持多点隧道,可以实现多点之间的通信
[5]标准协议:GRE是一个标准协议,可以与不同厂商的设备互通
(2)缺点
[1]缺乏安全性:GRE技术本身无法对数据进行加密,数据以明文的形式传输,容易被截获和分析,不适合直接用于公网中传输
[2]没有标准的控制协议:通常需要使用其他协议和keepalive来维持GRE隧道
[3]点到点隧道:每一个隧道只能连接两个端口,多个点之间需要配置多个隧道,管理难度增加
[4]静态配置隧道参数:GRE隧道需要手动配置隧道参数,如IP地址和目的地址,配置过程就比较的繁琐
[5]布置复杂关系连接时,代价巨大:在复杂的网络服务中,配置和管理多个GRE隧道的成本和工作量都非常的高
2.6 多隧道口冗余
作用:主隧道转发数据备用隧道处于空间状态;需要开启keepalive(包活机制,确保中间链路没有问题)来检测隧道运行状态
(1)Tunnel接口虚假状态与静态路由

当中间的链路出现问题,公网有问题后tunnel接口任然是UP状态,备用隧道也是没有意识到主隧道出现了故障,导致数据包被丢弃,这便是tunnel的虚假状态
(2)Tunnel接口keepalive

根据命令Keepalive “interval time” 来配置隧道的保活;通过保活机制判断主隧道是否出现问题,如果出现故障那么就使用备用隧道
2.7 GRE VPN配置
发送端:
[r1]interface Tunnel 0/0/0 --- 创建GRE随道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24 ---- 配置隧道IP地址
[r1-Tunnel0/0/0]tunnel-protocol gre ---- 定义封装方式
[r1-Tunnel0/0/0]source 100.1.1.1 ---- 定义隧道被封装的源地址
[r1-Tunnel0/0/0]destination 100.2.2.3---- 定义隧道被封装的目标地址
接收端的配置和发送端的配置一样,配置完了注意添加路由。之后内网之间便可以ping通了,可以用ping -a测试。
详细实验,请点击链接查看我的另一篇实验博客
3 MGRE 技术
3.1 简介
定义:多点通用路由封装协议(MGRE,Multipoint GRE)是一种基于NHRP(Next Hop Resolution Protocol,下一跳地址解析协议)的动态VPN技术。与传统的GRE隧道不同,MGRE支持多点连接,允许在一个隧道中建立多个连接点,适用于复杂的网络拓扑结构
特点:
[1]多点通信:MGRE允许在IP网络中建立多个点对点的通信连接,意味着可以在一个MGRE隧道中同时传输多个源和目的地址之间的数据
[2]动态地址解析:通过NHRP协议动态获取隧道的NBMA地址(隧道外层公网地址),无需手工配置,NHRP用于解析的是Tunnel IP(逻辑地址)到NBMA地址(物理地址/真实地址)的映射
[3]简化配置:只需要配置一个Tunnel接口就可以与多个站点建立GRE隧道,减少了所需的隧道数量简化了路由配置
[4]灵活性高:适用于多个分公司之间需要与总部之间连接的情况,以及分部与分部之间的通信
[5]支持动态路由协议:通过动态路由协议学习私网路由,实现私网的连通性
[6]中心节点要求:所有私网中,有一方的公网地址必须固定,其他私网地址可以不固定,即必须有一个中心站点的要求
3.2 NHRP协议(下一跳地址解析协议)
工作原理:
在私网中选择一个NHRP中心站点,其出口的公网IP必须是固定的;NHRP中心站点要求所有分支都需要将自己的物理接口IP和隧道IP地址发给中心站点(发生变化后就要及时的更改,重新发送给中心站点);NHRP中心会将所有的分支的地址映射关系动态的记录在本地,发送信息时查询即可;分支站点之间需要发送信息也需要获取这个映射关系,就需要先问NHRP中心站点要这个映射关系表
3.3 MGRE VPN配置
[r1]interface Tunnel 0/0/0 --- 创建GRE随道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24 ---- 配置隧道IP地址
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp ---- 定义封装方式
[r1-Tunnel0/0/0]source 100.1.1.1 ---- 定义隧道被封装的源地址
3.4 NHRP配置
中心站点配置:
[R1-Tunnel0/0/0]nhrp network-id 100 创建NHRP域
分支站点配置:
[R2]int Tunnel 0/0/0
[R2-Tunnel0/0/0]ip add 192.168.5.2 24
[R2-Tunnel0/0/0]tunnel-protocol gre p2mp
[R2-Tunnel0/0/0]source GigabitEthernet 0/0/0
[R2-Tunnel0/0/0]nhrp network-id 100 //分支加入中心站点域100
[R2-Tunnel0/0/0]nhrp entry 中心隧道地址 中心公网接口地址 register // 分支找中心注册自己的信息
3.5 MGRE环境下的RIP网络
(1)只有中心获取分支的路由信息,但是分支并没有获取到中心的路由信息
解决方法:在中心站点上开启伪广播
开启伪广播配置:
[R1-Tunnel0/0/0]nhrp entry multicast dynamic
(2)分支在中心开启伪广播后,分支只能获取到中心站点的路由信息,但是无法获取分支站点之间的路由信息
解决方法:关闭水平分割的配置
[R1-Serial4/0/0]undo rip split-horizon
更多推荐



所有评论(0)