网络类型之GRE和MGRE和NHRP
GRE-通用路由封装
是一种简单的三层VPN封装技术,属于虚拟的点到点网络类型
优点:支持IP 网络作为承载网络、支持多种协议、支持IP 组播,配置简单,容易布署。
缺点:缺少保护功能,不能执行如认证、加密、以及数据完整性检查这些任务。
VPN---虚拟专用网络两个网络穿越中间网络直接通讯
GRE报文格式
乘客协议:报文封装之前所属的协议称为乘客协议
封装协议: 用来封装乘客协议的协议称为封装协议,这里的GRE便是一个封装协议
传输协议:负责对封装后的报文进行转发的协议称为传输协议 不同于传输层协议
GRE封装和解封装过程
- 设备从私网接口收到数据包后,先检查报文头部的ip地址,查找路由表,如果是隧道接口,则将该报文转发给隧道模块处理
- 隧道模块根据乘客协议和当前GRE隧道配置,对报文进行GRE封装
- 隧道模块给报文添加新的传输协议,该协议的源为隧道源,目为隧道目
- 最后,设备根据新的ip头部查表进行转发
- 接收端收到报文后,先分析最外层的ip头部,如果协议字段类型值为47(GRE协议号),会将该数据部分交给GRE模块处理,GRE模块去除最外层的ip头部,根据GRE报文头部的乘客协议内容,交给对应模块处理
实验:
配置接口ip(这里省略)
配置默认路由
[r1]ip route-static 0.0.0.0 0 12.1.1.2
[r3]ip route-static 0.0.0.0 0 23.1.1.1
测试公网之间的通信
私网之间不能ping通,因为运营商R2路由表没有私网
在R1和R3之间做隧道接口
配置GRE后,还要在本地路由补充去私网的路由
测试私网连通性,并抓包
MGRE---多点GRE属于NBMA网路类型
NBMA网络,仅有伪广播
Hub-spoke架构--中心到节点架构
NHRP---下一跳解析协议
在所有的tunnel接口上运行NHRP,并且手动配置NHRP-Sever
spoke分支点通信:分支点向NHRP-Sever进行查询,NHRP-Sever给出应答,分支通过NHRP-Sever给的tunnel地址和物理地址通信,所有的设备最终都要学习到达MGRE网络中所有的用户的tunnel地址和物理地址的映射关系
MGRE实验:
实验背景:A公司扩建到拥有两个子公司,要搭三个VPN,若是n个公式,则要搭建[n(n-1)]/2个VPN,不符合实际情况-----引出点对多点(实质也是点对点)
配置接口ip和配缺省(此处省略)
Hub中心节点配置和spoke节点配置
Hub中心节点:R1
spoke节点配置:R3,R4
注意:source后面必须写接口
[r1]display nhrp peer all----查看nhrp映射表
在本地补充路由
[r1]ip route-static 192.168.3.0 24 10.1.1.2
[r1]ip route-static 192.168.3.0 24 10.1.1.3
[r3]ip route-static 192.168.1.0 24 10.1.1.1
[r3]ip route-static 192.168.3.0 24 10.1.1.3
[r4]ip route-static 192.168.1.0 24 10.1.1.1
[r4]ip route-static 192.168.2.0 24 10.1.1.2
测试tunnel连通性
MGRE环境下的RIP网络搭建
基于上一个实验相同,但是不在本地配静态
[r1-rip-100]ver 2
[r1-rip-100]net 192.168.1.0
[r1-rip-100]net 10.0.0.0
[r3-rip-100]ver 2
[r3-rip-100]net 192.168.2.0
[r3-rip-100]net 10.0.0.0
[r4-rip-100]ver 2
[r4-rip-100]net 192.168.3.0
[r4-rip-100]net 10.0.0.0
MGRE环境下是点到点通讯,不支持组播(广播),R1无法通过发广播让分支学习路由,所有要开启伪广播
[r1-Tunnel0/0/0]nhrp entry multicast dynamic
学习成功!再查看分支的路由表
只学习到R1的路由,原因:水平分割-->从tunnel口学到路由不能从该口转发
关闭水平分割
[r1-Tunnel0/0/0]undo rip split-horizon
再次查看分支路由表
学习成功!
测试连通性
综合实验
实验要求:
1.R5为ISP,只能进行IP地址配置;其所有地址均配为公有IP地址。
2.R1和R5间使用PPP的PAP认证,R5为主认证方;
R2于R5之间使用ppp的chap认证,R5为主认证方;
R3于R5之间使用HDLC封装。
3.R1/R2/R3构建一个MGRE环境,R1为中心站点,R1、R4间为点到点的GRE。
4.整个私有网络基于RIP全网可达。
5.所有Pc设置私有IP为源IP,可以访问R5环回。
配置接口ip和pc(此处省略)
配置缺省
[r1]ip route-static 0.0.0.0 0 12.1.1.2
[r2]ip route-static 0.0.0.0 0 24.1.1.2
[r3]ip route-static 0.0.0.0 0 23.1.1.2
[r4]ip route-static 0.0.0.0 0 14.1.1.2
测试公网之间连通性
R1和R5间使用PPP的PAP认证,R5为主认证方
[r5-Serial4/0/0]ppp authentication-mode pap
[r5-Serial4/0/0]aaa
[r5-aaa]local-user hcie password cipher huawei
[r5-aaa]local-user hcie service-type ppp
[r1-Serial4/0/0]ppp pap local-user hcie password cipher huawei
R2于R5之间使用ppp的chap认证,R5为主认证方
[r5-aaa]int s4/0/1
[r5-Serial4/0/1]ppp authentication-mode chap
[r5-Serial4/0/1]ppp chap user hcia
[r5-Serial4/0/1]aaa
[r5-aaa]local-user hcia password cipher huawei
Info: Add a new user.
[r5-aaa]local-user hcia service-type ppp
[r2]int s4/0/0
[r2-Serial4/0/0]ppp chap user hcia
[r2-Serial4/0/0]aaa
[r2-aaa]local-user hcia password cipher huawei
Info: Add a new user.
[r2-aaa]local-user hcia service-type ppp
R3于R5之间使用HDLC封装
[r3-Serial4/0/0]link-protocol hdlc
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]
:y
[r5-Serial3/0/0]link-protocol hdlc
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]
:y
R1、R4间为点到点的GRE
R1/R2/R3构建一个MGRE环境,R1为中心站点
整个私有网络基于RIP全网可达
[r1-rip-100]dis this
[V200R003C00]
#
rip 100
version 2
network 192.168.1.0
network 10.0.0.0
network 11.0.0.0
#
return
[r2-rip-100]dis this
[V200R003C00]
#
rip 100
version 2
network 192.168.4.0
network 11.0.0.0
#
return
[r3-rip-100]dis this
[V200R003C00]
#
rip 100
version 2
network 192.168.3.0
network 11.0.0.0
#
return
[r4-rip-100]dis this
[V200R003C00]
#
rip 100
version 2
network 192.168.2.0
network 10.0.0.0
#
return
测试连通性
所有Pc设置私有IP为源IP,可以访问R5环回
[r3-acl-basic-2000]dis this
[V200R003C00]
#
acl number 2000
rule 5 permit source 192.168.3.0 0.0.0.255
#
return
[r3-Serial4/0/0]nat outbound 2000
其余相同做法
测试连通性
相关文章:
网络类型之GRE和MGRE和NHRP
GRE-通用路由封装 是一种简单的三层VPN封装技术,属于虚拟的点到点网络类型 优点:支持IP 网络作为承载网络、支持多种协议、支持IP 组播,配置简单,容易布署。 缺点:缺少保护功能,不能执行如认证、加密、以…...
uniapp获取日期
1.使用new Date()方法获取系统今天的日期,显示格式为:2023-10-28 <template><view class"content">{{date}}</view> </template> <script>export default {data() {return {date: new Date().toISOString().sl…...
编码和解码的未来之路
hello,我是小索奇。在计算机科学的世界中,编码和解码是无处不在的神奇力量,而现代技术的巅峰之一就是 ChatGPT。让我们一起探讨编码和解码如何与 ChatGPT 这一人工智能的杰作相互结合,打开了无限可能的数字世界之门。 ChatGPT的魔…...
Prometheus实战篇:Prometheus监控redis
准备环境 docker-compose安装redis docker-compose.yaml version: 3 services:redis:image:redis:5container_name: rediscommand: redis-server --requirepass 123456 --maxmemory 512mbrestart: alwaysvolumes:- /data/redis/data: /dataport:- "6379:6379"dock…...
Vue2.Hello World
步骤: 准备容器引包(开发版本/生产版本)创建实例new Vue()添加配置项 el指定挂载点data提供数据 准备容器 就是新建一个div标签 引包 vue2版本中文文档:https://v2.cn.vuejs.org/v2/guide/ 尝试 Vue.js 最简单的方法是使用 …...
【单片机项目实战】温度控制系统
本项目的主要作用是实现温度调控,通过设定一个预定的温度值,实现实时检测外界温度,当外界温度小于预定值时,电机正转,实现降温效果;当外界温度大于预定值时,电机反转,实现升温效果&a…...
SpringMVC-视图
SpringMVC中的视图实现了View接口,作用是渲染数据,将Model中的数据展示给用户。render是渲染方法,可以看到渲染的视图是一个View类型的对象。 SpringMVC视图的种类有很多,默认有转发视图和重定向视图。 如果配置了Thymeleaf视图解…...
【React系列】Hook(一)基本使用
本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 认识hook 1.1. 为什么需要hook Hook 是 React 16.8 的新增特性,它可以让我们在不编写class的情况下…...
算法训练营Day28
#Java #贪心 开源学习资料 Feeling and experiences: 这周来到了贪心算法,简要概述: 贪心算法是一种在每个步骤中都采取最优解(即,在当前看来最好的解)的算法设计策略。它通常用于求解优化问题。这种方…...
鸿蒙OS应用开发之日期选择
前面学习了时间选择组件,实现了时间的选择,这样非常方便用户进行时间的输入,通过手动就可以输入时间,比直接文本输入要省不少时间,特别对于手机这样单手操作的设备,更加重要了。因此,日期的输入工作也不能落后,本文将要学习日期选择组件,这样就可以实现日期通过手上下…...
Mysql 查看表注释或字段注释
查看所有表的注释 SELECT table_name 表名, table_comment 表说明 FROM information_schema.TABLES WHERE table_schema ‘数据库名’ ORDER BY table_name 查询所有表及字段的注释 SELECT a.table_name 表名, a.table_comment 表说明, b.COLUMN_NAME 字段名, b.column_commen…...
MySQL InnoDB引擎
1、逻辑存储结构 2、架构 a. 内存结构 Change Buffer的意义是什么? 与聚集索引不同,二级索引通常是非唯一的,并且以相对随机的顺序插入二级索引。同样,删除和更新可能会影响索引树中不相邻的二级索引页,如果每一次都操作磁盘&am…...
C++完成Query执行sql语句的接口封装和测试
1、在LXMysql.h 创建Query执行函数 //封装 执行sql语句 if sqllen 0 strlen获取字符长度bool Query(const char*sql,unsigned long sqllen0); 2、在LXMysql.cpp编写函数 bool LXMysql::Query(const char* sql, unsigned long sqllen){if (!mysql)//如果mysql没有初始化好{c…...
C:宏:编程风格:井号与define之间的空格
在这一篇中有提到,井号与define之间空格,可能导致搜索上的一些问题。 https://mzhan017.blog.csdn.net/article/details/135289451 今天看到有专门做这个空格的修改: https://sourceware.org/git/?pglibc.git;acommitdiff;hfcf70d4114db9ff…...
django websocket
目录 核心代码 consumers.py from channels.generic.websocket import WebsocketConsumer from channels.exceptions import StopConsumer import datetime import time from asgiref.sync import async_to_sync class ChatConsumer(WebsocketConsumer):def websocket_conne…...
HackTheBox - Medium - Linux - Bagel
Bagel 今天我开始了《Red Team Development and Operations A Practical Guide》的学习,保持学习,后面差不多到时机后就学CRTOⅡ Bagel 是一款中等难度的 Linux 机器,其特点是电子商店容易受到路径遍历攻击,通过该攻击可以获取应…...
Capsolver:解决Web爬虫中CAPTCHA挑战的最优解决方案
Web爬虫已经成为从各种在线来源提取和分析数据的不可或缺的技术。然而,在Web爬取过程中,经常会遇到的一个共同挑战是CAPTCHA。CAPTCHA(完全自动化的公共图灵测试,用于区分计算机和人类)是一种安全措施,旨在…...
大数据系列之:读取parquet文件统计数据量
大数据系列之:读取parquet文件统计数据量 一、Spark读取parquet文件统计数据量二、parquet-tools统计parquet文件数据量三、实际应用案例 一、Spark读取parquet文件统计数据量 首先,创建一个 SparkSession 对象: val spark SparkSession.b…...
力扣题:字符串变换-1.5
力扣题-1.5 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:482. 密钥格式化 解题思想:首先先将破折号去除,并将所有字母转换为大写,然后计算第一组的长度,进行结果字符串的拼接,如果第一组的长度为0,则需要删除开头的’-符号 class S…...
el-autocomplete远程搜索使用及el-upload上传多个文件流给后端,详情接口返回的是文件地址,前端将文件地址转成文件流,回传文件流给后端
最近遇到一个项目,里面有2个需求我觉得挺常见的,第一个需求是一个表单里,当用户在输入名称后,前端调接口发请求获取到关联名称的企业名称,并展示,然后当用户选中企业后,前端调接口获取选中企业的具体信息,并填充到表单里;第二个需求是,表单里有个上传图片的功能,前端…...
2024年度 ROTS - 实时操作系统 Top 15
RTOS(实时操作系统)。 这里说的 RTOS 并非新星球大战电影中的机器人,而是物联网设备、航空系统、空中交通管制等背后的无声协调者,就在地球上。 RTOS,或称实时操作系统,设计它们是为了更好的管理资源&…...
苹果怎么同步备忘录?教程来了,干货满满!
在苹果设备中,备忘录是一款非常实用的应用程序,可用于记录日常生活中的各种事项。然而,还有一些小伙伴不知道苹果怎么同步备忘录,这可能会成为他们的一个困扰。别着急!本文将详细介绍同步苹果手机备忘录的方法…...
Nginx(十八) 性能调优之 - 哪些层面可以进行优化
Nginx三大优势,动静分离、反向代理、负载均衡 1、线程 worker 2、http/tcp tcp_nopush tcp_nodelay 3、Buffer 调整请求体缓存区大小、将请求体缓存到一个缓冲区,降低CPU负载 4、连接队列 5、超时时间 6、静态文件缓存 open_file_cache 7、gzip压…...
OpenStack云计算(三)neutron
neutron 介绍: Neutron 概述传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备;而云环境下的网络已经变得非常复杂,特别是在多户场景里,用户随时都可能需要创建、修改和删除网络,网络的连通性和隔离不已经太可能通过手工配置来保证了。 如…...
Linux期末复习笔记
一、管理文件系统 1、文件系统类型 ext2:早期Linux中常用的文件类型。ext3:ext2的升级版,带日志功能。RAMFS:内存文件系统,速度很快。NFS:网络文件系统,由SUM发明,主要用于远程文件…...
PHP实现多继承
php支持多继承吗 不可以,只支持单继承。 可以使用 interface 或 trait 实现 。 实现方法 https://www.php.cn/faq/430197.html https://blog.58heshihu.com/index.php/archives/2288/...
pulsar原来是这样操作topic的
本篇主要讲述pulsar topic部分,主要从设计以及源码的视角进行讲述。在pulsar中,一个Topic的新建、扩容以及删除操作都是由Broker来处理的,而Topic相关的数据是存储在zookeeper上的。本篇文章模拟一个高效的学习流程进行展开 介绍使用方式(To…...
日常工作 经验总结
1,在使用vue2开发项目时,快捷有效的组件化component 若有参数传递时,可以通过这样传递 在component中: 2,上拉加载,下拉刷新 若是使用局部进行上拉加载 下拉刷新 且需要用到scroll-view时 那么需要切记scroll-view在内被mescroll-uni包裹。若场景有限 对于无数据显示…...
【Proteus仿真】【Arduino单片机】水箱液位监控系统
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602液晶、按键、蜂鸣器、液位传感器、ADC转换器、水泵等。 主要功能: 系统运行后,LCD1602显示当前水位、上下限阈…...
【已解决】若依系统前端打包后,部署在nginx上,点击菜单错误:@/views/system/role/index
上面错误,是因为/views/system/role/index动态路由按需加载时候,错误导致。 解决办法: 如果您的前端项目访问时候,需要带有项目名称的话,参考凯哥上一篇文章:【已解决】若依前后端分离版本࿰…...
网页制作专业必备/河北seo基础知识
前言 Entity Framework支持Database First、Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样。三种开发模式各有优缺点,对于程序员没有哪种模式最好,只有哪种模式更适合。接下来我将分别使用这三…...
一个人做网站现实吗/网络营销软件站
原文: http://coolshell.cn/articles/11564.html TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节&…...
国内做的好的网站/电商网站开发需要多少钱
原来在Linux使用Tomcat不输工程使用的是新创建的用户非ROOT权限创建的,但可能会碰到一种情况,在这种用户身份下启动工程后,关闭SSH工具,工程便无法访问,于是需要换到root来执行,但会出现以下报错࿰…...
做网站优化好的网络公司/引擎优化是什么工作
原文链接:http://tecdat.cn/?p8287tecdat.cn介绍缺失值被认为是预测建模的首要障碍。因此,掌握克服这些问题的方法很重要。估算缺失值的方法的选择在很大程度上影响了模型的预测能力。在大多数统计分析方法中,按列表删除是用于估算缺失值的…...
自己怎样学做网站/直播网站排名
opencv-python,对图像进行缩放、降低灰度分辨率,观察图像变化一、在开始之前知识点、方法二、开始对一张图像进行缩放,观察其分辨率和图像变化使用cv2.resize缩放图像观察其分辨率和图像变化三、降低灰度分辨率,观察图像变化降低灰…...
复制wordpress文章/中国今天新闻最新消息
使用IntelliJ IDEA 创建Spring Boot项目时 显示 connect timed out 解决方法: 1.很多博客说将 https://start.spring.io 改为 http://start.spring.io ,但是我这里不行,当然,如果连上移动热点的话,就算不改也可以成功。 2.参考转…...