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---自治系统边界路由器)

路由信息不可靠

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/977887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code(简称VS Code)是微软开发的开源跨平台代码编辑器,支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块,可自动生成单元测试代码和API文档注释。 二、下载…

小智AI桌宠机器狗

本文主要介绍如何利用开源小智AI制作桌宠机器狗 1 源码下载 首先下载小智源码,下载地址, 下载源码后,使用vsCode打开,需要在vscode上安装esp-idf,安装方式请自己解决 2 源码修改 2.1添加机器狗控制代码 在目录main/iot/things下添加dog.cc文件,内容如下; #include…

Linux:进程信号(二.信号的保存与处理、递达、volatile关键字、SIGCHLD信号)

目录 1.信号保存 1.1递达、未决、阻塞等概念 1.2再次理解信号产生与保存 1.3信号集操作函数 sigset_t类型 sigemptyset() 函数 sigismember()函数 sigaddset ()函数 sigdelset() 函数 sigprocmask()系统调用 sigpending()系统调用 2.信号的处理/递达 2.1信号处理时…

kotlin 知识点 七 泛型的高级特性

对泛型进行实化 泛型实化这个功能对于绝大多数Java 程序员来讲是非常陌生的,因为Java 中完全没有这个概 念。而如果我们想要深刻地理解泛型实化,就要先解释一下Java 的泛型擦除机制才行。 在JDK 1.5之前,Java 是没有泛型功能的,…

go基本语法

跟Java比较学习。 hello word 示例代码 test1.go文件: // 包路径 package main// 导入模块,下面两种都行 import ("fmt" ) import "log"// main方法 func main() {log.Print("hello word !!!")fmt.Print("hello …

Linux内核,slub分配流程

我们根据上面的流程图,依次看下slub是如何分配的 首先从kmem_cache_cpu中分配,如果没有则从kmem_cache_cpu的partial链表分配,如果还没有则从kmem_cache_node中分配,如果kmem_cache_node中也没有,则需要向伙伴系统申请…

冯诺依曼体系结构 ──── linux第8课

目录 冯诺依曼体系结构 关于冯诺依曼,必须强调几点: 冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 输入单元:包括键盘, 鼠标,网卡,扫…

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是国内视频行业最重要的国家标准,目前有三个版本: 2011 年:推出 GB/T 28181-2011 版本,为安防行业的前端设备、平…

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(四)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(四) 第一部分:网络平台搭建与设备安全防护任务书第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1:应急响应&…

音乐游戏Dance Dance Revolution(DDR)模拟器

文章目录 (一)Dance Dance Revolution(1.1)基本情况(1.2)机体 (二)模拟器(2.1)主程序(2.2)模拟器主题 (三)曲谱…

货车一键启动无钥匙进入手机远程启动的正确使用方法

一、移动管家货车无钥匙进入系统的使用方法 基本原理:无钥匙进入系统通常采用RFID无线射频技术和车辆身份识别码识别系统。车钥匙需要随身携带,当车钥匙靠近货车时,它会自动与货车的解码器匹配。开门操作:当靠近货车后&#xff0…

vscode如何使用鼠标滚轮调整字体大小

1.打开设置 2.搜索Font Ligatures 3.编辑配置文件 4.修改代码并保存 修改前 修改后 在最后一行添加:“editor.mouseWheelZoom”: true 记得在上一行最后,加上英文版的“,”逗号 5.配置成功,再次按Ctrl鼠标滚轮便可以缩放了。

视频裂变加群推广分享引流源码

源码介绍 视频裂变加群推广分享引流源码 最近网上很火,很多人都在用,适合引流裂变推广 测试环境:PHP7.4(PHP版本不限制) 第一次访问送五次观看次数,用户达到观看次数后需要分享给好友或者群,好友必须点击推广链接后才会增加观看次…

redis小记

redis小记 下载redis sudo apt-get install redis-server redis基本命令 ubuntu16下的redis没有protected-mode属性,就算sudo启动,也不能往/var/spool/cron/crontabs写计划任务,感觉很安全 #连接到redis redis-cli -h 127.0.0.1 -p 6379 …

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决 问题描述 在使用 IntelliJ IDEA 开发 Spring Boot 应用时,有时即使关闭了应用,程序仍然占用端口(例如:4001 端口)。这会导致重新启动应用时出现端口被占用的错误&a…

Vue04

自定义指令 directives是Vue的一个配置项 这里写自定义指令 自定义指令被调用的时机 指令与元素成功绑定时 指令所在的模板被重新解析时 函数式 <span v-big"n"></span> directives:{ big(element,binding){ element.innerText bingin…

岳阳市美术馆预约平台(小程序论文源码调试讲解)

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xff0c;以及让来访用户可以花费更多时间停留在系统上&#xff0c;则表明该系统设计得比较专…

Linux 基本开发工具的使用(yum、vim、gcc、g++、gdb、make/makefile)

文章目录 Linux 软件包管理器 - yum理解什么是软件包和yum如何查看/查找软件包如何安装软件如何实现本地机器和云服务器之间的文件互传如何卸载软件 Linux 编辑器 - vim 的使用vim 的基本概念vim 的基本操作vim 命令模式各命令汇总vim 底行模式各命令汇总vim 的简单配置 Linux …

4部署kibana:5601

kibana 是一个基于浏览器页面的Elasticsearch前端展示工具&#xff0c;, 是一个开源和免费的工具 Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面, 可以帮你汇总、分析和搜索重要数据日志 1.安装-所有的es节点 # tar xf kibana-6.4.1-linux-x86_64.t…

1.介绍一下TCP/IP模型和OSI模型的区别【中高频】

OSI模型 将 这个协议 划分为7个不同的层级&#xff0c;分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层&#xff0c;而TCP/IP模型只有4个层级&#xff0c;分别为网络接口层、网络层、传输层和应用层&#xff0c;其中应用层在用户态&#xff0c;传输层及以下…