当前位置: 首页 > news >正文

IP-------GRE和MGRE

4.GRE和MGRE

1.应用场景

现实场景

居家工作,公司工作,分公司工作----------需要传输交换数据--------NAT---在该场景中需要两次NAT(不安全)

为了安全有两种手段-----1.物理专线---成本高 2.VPN--虚拟专用网---隧道技术--封装技术------翻墙行为------GRE--通用路由封装

2.GRE封装

模拟场景

希望流量的走法

SIP:192.168.1.1 DIP192.168.2.1 数据

真实物理链路的传递

SIP:12.0.0.1 DIP:23.0.0.2 数据

GRE的封装

-------处于三层封装-------在希望的走法上进行再封装,封装真实物理链路的传递

SIP:12.0.0.1 DIP:23.0.0.2 GRE

SIP:192.168.1.1 DIP:192.168.2.1 数据

3.GRE的配置

在GRE通讯前。必须保证公网的连通性

局限性---由gre构建的隧道实际上是一个点掉点的隧道

1.创建隧道接口

[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]ip address 192.168.3.1 24

2.选择隧道封装方式

[R1-Tunnel0/0/0]tunnel-protocol gre 

3.定义封装内容

[R1-Tunnel0/0/0]source 12.0.0.1     源ip
[R1-Tunnel0/0/0]destination 23.0.0.2    目标ip[AR1-Tunnel0/0/1]description   //这个是描述
[AR1-Tunnel0/0/1]destination    //这个是目标 

SIP:12.0.0.1 DIP:23.0.0.2 ---------真实物理链路的传递----在希望的走法上进行再封装,封装真实物理链路的传递

SIP:192.168.1.1 DIP:192.168.2.1 ------希望流量的走法

4.查看隧道接口配置

[R1-Tunnel0/0/0]display this

4.MGRE的配置

1.模拟场景

实质---------MGRE环境构建的网络实质任然是点到点的隧道。

相当于将多个私网变之间需要通过公网的线路变成同一个广播域的线路,所以也需要划分广播域,分配IP,配置IP

2.NHRP协议

NHRP---下一跳解析协议----C/S 架构

NHRS---下一跳解析服务器

NHRP表:中心公网接口地址一般不允许改变:首先需要在私网中确定一个设备作为NHS,规定NHS的公网地址一般不允许改变,并且其他分支设备需要知道中心的地址信息,之后分支会将自身隧道接口的IP地址和对应的公网ip地址对应关系发送给中心,中心收到消息后会记录一张表,之后转发数据查看这张表中记录的消息进行转发,其他分支之间想要通讯,想要向中心区请求这张表。

自身隧道接口的IP地址----------相当于变成同一个广播域下的网关IP

对应的公网ip地址------------真实物理链路传递的源接口网关IP

3.中心的配置

(定义中心设备为NHS)

1.创建隧道接口,并配置IP地址

[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip address 192.168.5.1 24

创建隧道相当于连接一根物理线路一样需要配置网关ip

2.定义隧道封装协议

[r1-Tunnel0/0/0]tunnel-protocol gre p2mp    //p2mp---点到多点

3.定义封装内容

[r1-Tunnel0/0/0]source 15.0.0.1         -----自身的源网关IP,因为中心的公网IP不能变,所以直接写IP
[r1-Tunnel0/0/0]nhrp network-id 100         -------开启NHRP域,NHRP域id为100
4.分支的配置

1.创建隧道接口,并配置IP地址

[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip address 192.168.5.2 24

2.定义隧道封装协议

[r1-Tunnel0/0/0]tunnel-protocol gre p2mp 
更改了IP地址,使用这条命令是会自动进行更新NHRP表中的对应关系

3.定义封装内容

[r2-Tunnel0/0/0]source serial 4/0/0             不写ip地址是因为IP如果变就没用了,所以直接写接口,换IP后会自动更新     
[r2-Tunnel0/0/0]nhrp network-id 100             ----加入NHRP域,并且注意域ID必须一致
[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.2 register             -----向中心隧道IP和源ip去注册自己的消息,这里写中心隧道IP和源ip,不是这个设备的隧道IP和源ip

分支会将自身隧道接口的IP地址和对应的公网ip地址对应关系发送给中心,中心收到消息后会记录一张表

4.查看NHRP表

[r1]display nhrp peer all 

NHRP---下一跳解析协议----C/S NHS---下一跳解析服务器:他的公网接口地址一般不允许改变:首先需要在私网中确定一个设备作为NHS,规定NHS的公网地址一般不允许改变,并且其他分支设备需要知道中心的地址信息,之后分支会将自身隧道接口的IP地址和对应的公网ip地址对应关系发送给中心,中心收到消息后会记录一张表,之后转发数据查看这张表中记录的消息进行转发,其他分支之间想要通讯,想要向中心区请求这张表。

5.出现的问题

1.运行RIP协议后,只有中心获取到了所有分支的路由信息,但是分支没有获取到路由

[r1-Tunnel0/0/0]nhrp entry multicast dynamic ----需要中心开启伪广播
6.全连的MGRE

全连的MGRE------即所有设备做中心的同时也会去做分支----最简单的建立方式------所有MGRE环境下的设备全部进行中心设备和分支设备的配置--------全部加入同一个域内

[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
[r1-Tunnel0/0/0]source 15.0.0.1     -------可以封装源是接口
[r1-Tunnel0/0/0]nhrp network-id 100     
[r1-Tunnel0/0/0]nhrp entry multicast dynamic
[r1-Tunnel0/0/0】nhrp entry 192.168.5.3 35.0.0.2 register        ------向R1,R2去注册自己的信息
[r1-Tunnel0/0/0】nhrp entry 192.168.5.2 25.0.0.2 register
​
[r2]interface Tunnel 0/0/0
[r2-Tunnel0/0/0]ip address 192.168.5.1 24
[r2-Tunnel0/0/0]tunnel-protocol gre p2mp
[r2-Tunnel0/0/0]source 15.0.0.1     
[r2-Tunnel0/0/0]nhrp network-id 100     
[r2-Tunnel0/0/0]nhrp entry multicast dynamic
[r2-Tunnel0/0/0】nhrp entry 192.168.5.3 35.0.0.2 register
[r2-Tunnel0/0/0】nhrp entry 192.168.5.1 15.0.0.2 register   -------可以不写这条,因为R1向R2已经注册过信息,R2知道了R1的信息,然后R1也可以通过nhrp协议获取到R2的信息
​
[r3]interface Tunnel 0/0/0
[r3-Tunnel0/0/0]ip address 192.168.5.3 24
[r3-Tunnel0/0/0]tunnel-protocol gre p2mp
[r3-Tunnel0/0/0]source 35.0.0.1     
[r3-Tunnel0/0/0]nhrp network-id 100     
[r3-Tunnel0/0/0]nhrp entry multicast dynamic
[r3-Tunnel0/0/0】nhrp entry 192.168.5.1 15.0.0.2 register    ------两条都可以不写,因为R1R2都向R3注册了信息
[r3-Tunnel0/0/0】nhrp entry 192.168.5.2 25.0.0.2 register

5.静态配置

配置好MGRE后,私网依旧无法ping通,原因是配置好MGRE后相当于将多个私网变之间需要通过公网的线路变成同一个广播域的线路,配置好了网关IP,但是数据包来到路由器,路由器会基于数据包中的目标IP地址查看本地的路由表,如果路由表中存在记录,则无条件按照路由表执行;如果路由表中不存在记录,则直接丢弃该数据包,而这里的该路由表没有记录。所以需要进行手工配置路由表路径,两边都要写,而且每一台设备都需要相互写,保证全通。

[r2]ip route-static 192.168.2.1 24 192.168.1.1     //(目标IP 掩码    下一跳网关IP)

6.RIP环境配置MGRE

因为建立的隧道也相当于是有直连网段,所以一般先建立MGRE,再开启RIP协议,进行所以直连网段宣告

[r1]rip 1 --- 进程号 --- 仅具有本地意义
[r1-rip-1]version 2             //选择版本
[r1-rip-1]network  192.168.1.0            //宣告直连网段IP段,但是不能宣告直连的公网网段,因为公网私网使用协议不同
//[r3-rip-1]default-route originate         //将本设备设置为缺省源
//[r1-GigabitEthernet0/0/0]rip authentication-mode md5 usual cipher 123456      实现数据传输更新[r1]display ip in b          查看路由表发现分支没有获取到路由

配置MGRE网络出现的问题:

1.只有中心获取到了所有分支的路由信息,但是分支没有获取到路由

[r1-Tunnel0/0/0]nhrp entry multicast dynamic ----需要中心开启伪广播[r1]display ip in b         分支只获取到中心的路由信息,没有分支的路由

2.当RIP环境中中心开启伪广播后,分支只获取到中心的路由信息,没有分支的路由

[Huawei-Tunnel0/0/0]undo rip split-horizon--中心关闭RIP的水分割

7.OSPF配置MGRE

1.OSPF的环境

1.必须存在ABR

2.必须按照星型拓扑结构部署---------由于区域间路由传递会出现环路---------防环

2.非规则区域

1.远离骨干的非骨干区域---------骨干区域------区域1-------区域2

2.不连续骨干------------骨干区域-----区域1-----骨干区域

3.解决方案1

环境--------远离骨干的非骨干区域

隧道------------使用VPN隧道使的ADR合法化-----问题很多

开销值很大---------隧道接口--------如果有其他路径就尽量不选该隧道,隧道会多一次封装与解封装,会多使用资源 ,同时又不会直接绝路

创建隧道gre配置命令:

使用ospf协议命令:

产生的问题:

1.资源占用问题---------开销值-----会占用隧道跨越的区域---------会发送一些周期性的数据

-------虚拟隧道获取过了,真实链路还是会获取到

2.选路不佳------选择隧道------LSA信息优先级更高-------没有选择真实物理链路------选择隧道后因为是虚拟的链路,无法真正发送数据,最终还是需要通过真实链路发送--------这样选择虚拟链路比选择真实链路多了一层封装和解封装------资源占用问题

4.解决方案2

环境----------远离骨干的非骨干区域

OSPF的虚链路-----需要在非法ABR和合法的ABR之间建立一条虚链路,只能跨越一个区域-------实际并没有建立隧道----走物理链路

优点-----------比隧道方法配置简单,而且不会出现选路不佳

[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4---指定必须双向------写对方的RID

问题:资源占用问题-----------会发送一些周期性的数据

解决问题:

思科:会取消周期性数据的发送-------信息不可靠

华为:还是会产生资源占用问题

5.解决方案3

环境--------远离骨干的非骨干区域

多进程双向重发布-----(推荐)----华为

配置位置:ASBR(运行了重发布的设备才能称为ASBR---自治系统边界路由器)

路由信息不可靠

http://www.lryc.cn/news/542966.html

相关文章:

  • LabVIEW形状误差测量系统
  • django校园互助平台~源码
  • Vue进阶之AI智能助手项目(五)——ChatGPT的调用和开发
  • Jenkins重启后Maven的Project加载失败
  • 【docker】docker pull拉取中不断重复下载问题,解决方案之一,磁盘空间扩容
  • Ubuntu指令(一)
  • nnUNet V2修改网络——加入MultiResBlock模块
  • Spring Boot + Vue 接入腾讯云人脸识别API(SDK版本3.1.830)
  • 【SpringSecurity】springboot整合SpringSecurity实现登录校验与权限认证
  • 【HarmonyOS Next】鸿蒙应用公钥和证书MD5指纹的获取
  • 父组件用的是原生监听,子组件用的是onClick,子组件添加了stopPropagation还是没有阻止传播
  • ui设计公司兰亭妙微分享:科研单位UI界面设计
  • python绘制年平均海表温度、盐度、ph分布图
  • windows中kafka集群部署示例
  • 获取GitHub的OAuth2的ClientId和ClientSecrets
  • self-attention部分代码注释
  • idea里的插件spring boot helper 如何使用,有哪些强大的功能,该如何去习惯性的运用这些功能
  • 常用的配置文件格式对比(ini,toml,yaml,json,env,settings.py)及应用程序修改自身配置并保留注释
  • Java IO 和 NIO 的基本概念和 API
  • 小智AI桌宠机器狗
  • MySQL 入门“鸡”础
  • Redis 中有序集合(Sorted Set)的使用方法
  • WIn32 笔记:本专栏课件
  • Unity git 获取当前修改或者新增的文件列表
  • 结构型模式 - 桥接模式 (Bridge)
  • 如何让传统制造企业从0到1实现数字化突破?
  • 【Elasticsearch】script_fields 和 runtime_fields的区别
  • 城电科技|会追日的智能花,光伏太阳花开启绿色能源新篇章
  • 【笔记ing】C语言补充、组成原理数据表示与汇编实战、操作系统文件实战(高级阶段)
  • 快节奏生活