看完这个,你就会明白什么是GRE和MGRE了

文章目录

  • 一、GRE
    • 1、简介
    • 2、原理
    • 3、配置
  • 二、MGRE
    • 1、简介
    • 2、原理
    • 3、配置
      • 中心站点:
      • 分支站点:

一、GRE

1、简介

GRE技术全称为通用路由封装技术,主要用于解决私网运行动态路由协议如何在公网中传递的问题,原属于思科私有,现已成为各厂商通用技术。

2、原理

GRE技术,也就是tunnel,实际上是一种最简单的VPN技术,属于点到点网络类型,逻辑的再互联网环境中打通一条隧道,通过在原有封装的基础上在公网IP封装之前再添加一层GRE封装和tunnel私网地址封装,公网只识别公网部分IP的转发,到达私网路由器时,识别私网封装,实现跨公网传递私网路由信息的目的:
看完这个,你就会明白什么是GRE和MGRE了_第1张图片

3、配置

看完这个,你就会明白什么是GRE和MGRE了_第2张图片说明:图中与R2直连网段均为公网网段,R1\R3\R4分别代表一个局域网(私网),假设R1\R3\R4各拥有一个环回地址分别为192.168.1.1/24、192.168.3.1/24、192.168.4.1/24来代替局域网环境;
r1(config)#interface tunnel 0 //创建隧道接口
r1(config-if)#ip address 10.1.1.1 255.255.255.0 //配置接口ip
定义GRE在封装新报头时,使用源和目标ip地址:
r1(config-if)#tunnel source 12.1.1.1
r1(config-if)#tunnel destination 23.1.1.2

r1(config)#ip route 192.168.3.0 255.255.255.0 tunnel 0// 配置到达目标静态路由

二、MGRE

1、简介

MGRE技术全称为多点GRE技术,是基于GRE技术的升级版,GRE技术的弊端很明显,就是只能再两个点之间建立tunnel,如果有多个局域网需要建立自己的通信环境,那么就需要建立多个全互联形式的tunnel隧道,这样就会造成管理上的不方便和资源的占用,因此产生了MGRE技术。

2、原理

MGRE要解决的问题在于tunnel建立之后,源可以确定但是无法确认目标是谁,而且互联网是无法依靠组播和广播去寻找目标的,在解决这个问题的时候MGRE借鉴了ARP的方法,ARP就是拿广播一个个询问下一跳来找到到达目标的路径,并将ip和mac映射记录下来,参考ARP,MGRE技术使用了类似的技术,叫做NHRP(下一跳解析协议),来完成公网地址和tunnel的映射,通过逻辑的确定一个中心,让其他需要建立tunnel的设备加入到这个组当中,这样就可以减少建立tunnel的数量。

3、配置

中心站点:

r1(config)#interface tunnel 0
r1(config-if)#ip address 10.1.1.1 255.255.255.0
r1(config-if)#tunnel source serial 1/2
r1(config-if)#tunnel mode gre multipoint //tunnel模式修改为多点GRE

r1(config-if)#ip nhrp map multicast dynamic 本地成为NHRP的server,并且发送伪广播;
r1(config-if)#ip nhrp network-id 100所有站点必须处于同一ID内,以防止其他互联网设备误配tunnel的干扰;
multicast 让本设备在目标地址为组播或广播时,将流量基于表中所有的目标单独发送一次,故成为伪广播;

分支站点:

r2(config)#interface tunnel 0
r2(config-if)#ip address 10.1.1.2 255.255.255.0
r2(config-if)#tunnel source serial 1/2
r2(config-if)#tunnel mode gre multipoint
r2(config-if)#ip nhrp network-id 100
r2(config-if)#ip nhrp nhs 10.1.1.1 定义NHRP的server,此处必须为tunnel口地址
r2(config-if)#ip nhrp map 10.1.1.1 15.1.1.1 映射tunnel的公网地址

注:以上配置完成后,构建NBMA网络成功;
NBMA是在同一个网段内节点数量不做限制,但是当目标ip地址为组播或广播地址时,流量必须逐一发送到每个节点;

若希望分支节点可以以组播或广播地址为目标ip,那么需要定义流量的具体目标
r2(config-if)#ip nhrp map multicast 15.1.1.1

注:若在MGRE中运行距离矢量型协议,若邻居关系不是全部建立,那么可能由于水平分割导致无法正常共享路由条目;
r1(config)#interface tunnel 0
r1(config-if)#no ip split-horizon rip/eigrp1

你可能感兴趣的:(看完这个,你就会明白什么是GRE和MGRE了)