VPN中GRE、MGRE笔记

VPN-----虚拟专用网络

依靠 ISP 或者其他公用网络基础设施上构建专用的安全数据通信网络。
                                        ----只不过这个专用网络是逻辑 而非物理的
虚拟:用户不在需要拥有实际的长途数据线缆,而是使用公共网络资源建立自己的专用网络。
专用:可以定制最符合自身需求的网络。
核心技术:封装技术。

GRE-----通用路由封装

[r1]interface Tunnel 0/0/0 ----创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24 ---该IP地址必须为私网IP
[r1-Tunnel0/0/0]tunnel-protocol gre ----定义封装方式
[r1-Tunnel0/0/0]source 12.0.0.1 ----定义封装内容,该IP必须为真实的公网出口IP
[r1-Tunnel0/0/0]destination 23.0.0.3
配置完成后,还需分别在本地补上通往目的网段的虚拟链路上的路由
[r1] ip route-static 环回网段   r3的tunnel口的ip
[r1]ip route-static 192.168.2.0 24 192.168.3.2

[r3]ip route-static 192.168.1.0 24 192.168.3.1

GRE封装和解封装过程

1、设备从连接私网的接口接收到数据包后,检查报文头部中的目的 IP 地址字段,在路由表中查找出接
口,如果发现出接口为隧道接口,则将报文发送给隧道模块进行处理。
2、隧道模块接收到报文后,首先根据乘客协议的类型和当前 GRE 隧道配置的校验和参数,对报文进行 GRE封装
3、然后,设备给报文添加新的传输协议,该协议的 IP 就是隧道源地址,目的 IP 为隧道目的地址
4、最后,设备根据新条件的 IP 报文头部中的目的地址,在路由表中查找对应的出接口并发送报文。
5、接收端设备从连接公网的接口收到报文后,首先分析 IP 报文头部信息,如果发现 协议字段类型值为 47 GRE 协议号),表示数据部分由 GRE 模块进行处理。
        GRE模块去除掉IP报文头部和GRE报文头部,并根据GRE报文头部中的协议类型字段来判断乘客协议的内容,从而交给对应模块处理。

Keepalive检测机制

[r1-Tunnel0/0/0]keepalive period 2 retry-times 5


设置发送周期为2s;重传次数为5次。


  ·如果本端隧道配置了keepalive检测功能,GRE隧道会创建一个计时器,并周期性的发送探测报文,同时进行不可达计数。
         ·每发送一个探测报文,不可达计数+1
         ·如果该计数器到达预先设定的值之前收到回应报文,则表明对端可达。
         ·如果计时器值达到预先设定的重传此处,还未收到对端的回应报文,则认为对端不可达。关闭隧道连接。

·keepalive是不需要双方均进行配置的,仅配置一端即可进行检查。

原因:如果两端都要配置才可以的话,可能R1配好,R3还没配完,R1接收不到R3的Keepalive报文,从而关闭R1的tunnel,而取消了192.168.2.0 24 192.168.3.2 这条路由

MGRE-----多点通用路由封装技术

NHRP----下一跳解析协议 

中心/节点:Hub-Spoke架构
NHS(下一跳服务器)

在私网当中选择一个出口物理IP地址不会变的设备充当NHS服务器。

剩下的节点都可以知道中心的隧道IP和物理IP,然后通过NHRP要求所有的分支节点都需要将自己的物理接口IP和隧道IP发送给该服务器(有变化就发送)。

NHS服务器将会存有所有分支节点的地址映射关系的一个动态记录。
发送消息时查询该映射记录表即可。

 

MGRE的shortcut配置

Hub节点配置
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip address 192.168.5.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp ----修改接口封装协议为GRE,且为点到多点模式
[r1-Tunnel0/0/0]source 15.0.0.1


Spoke节点配置
[r2]interface Tunnel 0/0/0
[r2-Tunnel0/0/0]ip address 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 entry 192.168.5.1 15.0.0.1 register
 hub的虚拟接口IP hub的物理接口IP 注册
[r1]display nhrp peer all ----查看nhrp映射表

DSVPN-----动态只能VPN

因为传统的MGRE技术存在的问题:分部之间无法直接通讯(源分支无法获取目的分支的公网地址,也就无法建立VPN隧道),导致所有的分支之间的通讯数据只能同通过总部的HUB设备进行中转。

通过总部中转流量会导致下述问题
1、总部在中转分支之间的数据流量时,会消耗总部hub设备的cpu和内存资源,造成资源紧张
2、总部需要对分支之间的数据流量进行封装和解封装,造成额外的网络延时
3、IPSec协议不支持广播报文和组播报文。

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

DSVPN借助MGRE技术,使VPN隧道能够传输组播报文和广播报文,并且一个tunnel接口可以跟多个对端建立VPN隧道,减少网络管理员的配置量。并且,在新增分支或者分支地址变化的情况下,能够自动维护总部和分支之间的隧道关系,而不需要调整任何配置。

DSVPN概念

当源spoke需要向目的spoke发送数据报文时,源spoke通过与hub节点的静态mgre隧道交互NHRP协议报文获取目的spoke节点的公网地址,并且与目的Spoke节点建立动态mgre隧道

·mgre隧道
   ·静态mgre----建立在hub到spoke,并且永久存在
   ·动态mgre---建立在spoke到spoke,在一定周期内没有流量转发时将自动拆除

NHRP映射表
静态表项
       1、    由网络管理员手工配置
       2、    spoke与 hub 建立静态的 mgre 隧道。
动态表项
       1、    是由NHRP 协议动态生成
       2、    hub节点被动获取到 spoke 节点发送来的注册信息。
       3、    各个spoke 节点通过 NHRP 协议获取到对端的 spoke 节点的映射关系。
       4、    老化时间-----7200S
NHRP映射表的建立过程
建立spoke到hub之间的mgre隧道
        1. spoke向 hub 注册请求
        2. hub向 spoke 注册应答
分支间路由学习
DSVPN 支持两种分支间路由学习方式:
        分支间互相学习路由---- shortcut方式
                每个分支需要学习到所有对端的路由数据,且下一跳为分支本身。
        分支路由汇聚到总部----shortcut 方式
                下一跳为hub 设备。
建立spoke与spoke之间的mgre隧道
shortcut 方式下需要添加的配置
中心:
[r1-Tunnel0/0/0]nhrp redirect ----开启重定向功能。默认情况为未启动

分支:
[r4-Tunnel0/0/0]nhrp shortcut ----使能shortcut功能

非shortcut方式添加的配置

分支没有获取到中心的路由信息
        因为RIP 是以组播的方式在发送报文,而 MGRE 环境下是点到点通讯,不支持组播行为。
解决思路:开启伪广播功能。
[r1-Tunnel0/0/0] nhrp entry multicast dynamic ---- 在中心节点配置
分支之间无法获取对方路由信息
        主要因为华为设备默认开启水平分割机制,导致中心无法从接口将分支的路由发送出去。
[r1-Tunnel0/0/0] undo rip split-horizon ---- 关闭水平分割机制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值