基于RIP的MGRE VPN综合实验
实验拓扑
实验需求
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环回,达到全网通。
实验思路
1、按照拓扑划分的网段配置路由接口IP地址,以及主机的IP地址(主机IP地址自行配置)。
2、完成R1和R5之间的PAP认证,R5为主认证方。
3、完成R2与R5之间的chap认证,R5为主认证方
4、完成R3与R5之间为HDLC封装。
5、在出口设备配置缺省路由,保证公网通
6、完成R1与R4为点到点GRE
7、完成R1/2/3构建MGRE,R1为中心站点
8、配置RIP.,实现宣告直连网段
9、私用网段配置NAT。
10、所有PC设置私有IP为源IP,可以访问R5环回。
实验步骤
1、按照拓扑划分的网段配置路由接口IP地址,以及主机的IP地址(主机IP地址自行配置)。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[R1]int Serial 4/0/0
[R1-Serial4/0/0]ip add 15.1.1.1 24[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.2.254 24
[R2]int Serial 4/0/0
[R2-Serial4/0/0]ip add 25.1.1.2 24
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.3.254 24
[R3]int Serial 4/0/0
[R3-Serial4/0/0]ip add 35.1.1.3 24[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 192.168.4.254 24
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 45.1.1.4 24[ISP]int g0/0/0
[ISP-GigabitEthernet0/0/0]ip add 45.1.1.5 24
[ISP]int Serial 4/0/1
[ISP-Serial4/0/1]ip add 15.1.1.5 24
[ISP-Serial4/0/1]int Serial 3/0/1
[ISP-Serial3/0/1]ip add 25.1.1.5 24
[ISP]int Serial 4/0/0
[ISP-Serial4/0/0]ip add 35.1.1.5 24
[ISP]int l0
[ISP-LoopBack0]ip add 5.5.5.5 24
2、完成R1和R5之间的PAP认证,R5为主认证方。
所以需要在 R5上创建用于验证的用户,且pap认证方式会明文传递用户名和密码。
主认证方:
[ISP]aaa
[ISP-aaa]local-user zhangdaye privilege level 15 password cipher wdy12345
[ISP-aaa]local-user zhangdaye service-type ppp
[ISP]int Serial 4/0/1 连接被认证方的端口
[ISP-Serial4/0/1]ppp authentication-mode pap
被认证方
[R1]int Serial 4/0/0
[R1-Serial4/0/0]ppp pap local-user zhangdaye password cipher zdy12345
测试:关闭在开启 R1 和 R5 的 PPP 链路,检查验证是否能够通过。
3、完成R2与R5之间的chap认证,R5为主认证方
所以需要在R5上创建用于验证的用户,且chap认证方式会密文传递用户名和密码。
主认证方:
[ISP]aaa
[ISP-aaa]local-user wangdaye privilege level 15 password cipher wdy12345
[ISP-aaa]local-user wangdaye service-type ppp
[ISP]int Serial 4/0/0
[ISP-Serial4/0/0]ppp authentication-mode chap
被认证方:
[R2]int Serial 4/0/0
[R2-Serial4/0/0]ppp chap user wangdaye
[R2-Serial4/0/0]ppp chap password cipher wdy12345
测试:关闭在开启 R2 和 R5 的 PPP 链路,检查验证是否能够通过。完成R3与R5之间为HDLC封装。
4、完成R3与R5之间为HDLC封装。
高级链路控制协议,这种封装技术,可以理解为就是在二层实施了介子访问控制工作
[R3]int Serial 4/0/0
[R3-Serial4/0/0]link-protocol hdlc //修改二层封装
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]:y[ISP]int Serial 4/0/0
[ISP-Serial4/0/0]link-protocol hdlc
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]:y
5、在出口设备配置缺省路由,保证公网通
[R1]ip route-static 0.0.0.0 0 15.1.1.5
[R2]ip route-static 0.0.0.0 0 25.1.1.5
[R3]ip route-static 0.0.0.0 0 35.1.1.5
[R4]ip route-static 0.0.0.0 0 45.1.1.5
6、完成R1与R4为点到点GRE
分析:GRE,一种简单的VPN技术,属于点到点网络类型,让两个网络穿越中间网络来直接通讯,逻辑的在两个网络间建立了一条新的点到点直连链路。
[R1]interface Tunnel0/0/0
[R1-Tunnel0/0/0]ip address 10.1.1.1 24 建立隧道接口IP地址
[R1-Tunnel0/0/0]tunnel-protocol gre
[R1-Tunnel0/0/0]source 15.1.1.1
[R1-Tunnel0/0/0]destination 45.1.1.4[R4]interface Tunnel 0/0/0
[R4-Tunnel0/0/0]ip add 10.1.1.2 24 建立隧道接口IP地址
[R4-Tunnel0/0/0]tunnel-protocol gre
[R4-Tunnel0/0/0]source 45.1.1.4
[R4-Tunnel0/0/0]destination 15.1.1.1
7、完成R1/2/3构建MGRE,R1为中心站点
分析:若将多个节点使用普通GRE连接起来,将配置大量的网段和路由信息,且所有节点为固定IP地址;而MGRE-多点GRE ,实现多个节点构建为一个网段;结构为中心到站点结构;站点可以基于NHRP实现ip地址不固定,主动到固定IP的中心站点注册;中心成MAP映射—tunnel口IP与公有ip地址的对应;
若分支到分支,那么将在中心站点下载map来实现直接通讯。
配置思路:
1.将拓扑图转化为MGRE图
2. 创建Tunnel接口并配置IP
3. 选择MGRE点到多点的封装类型
4. 中心站点的源IP写固定的,分支站点写出接口
5. 中心站点要开启伪广播,分支站点要向中心站点注册
6. 设置NHRP的工作id
中心站点的配置
[R1]interface Tunnel 0/0/1 //创建隧道接口
[R1-Tunnel0/0/1]ip address 10.1.2.1 24 //隧道接口ip地址
[R1-Tunnel0/0/1]tunnel-protocol gre p2mp //定义该隧道为多点gre隧道
[R1-Tunnel0/0/1]source 15.1.1.1 //该隧道加封装的报头源IP
//地址通过NHRP协议来获取加封装的目标IP地址
[R1-Tunnel0/0/1]nhrp entry multicast dynamic //本地成为NHRP服务端,开启伪广播,为RIP做准备。
[R1-Tunnel0/0/1]nhrp network-id 100 //NHRP的工作编号,该网段所有设备必须在同一id
分支站点的配置:
[R2]interface Tunnel 0/0/1
[R2-Tunnel0/0/1]ip address 10.1.2.2 24
[R2-Tunnel0/0/1]tunnel-protocol gre p2mp
//加封装的源IP地址,为本地的隧道实际通过接口的IP地址,填写接口编号,而不是接口IP,原因在于该接口IP地址可变
[R2-Tunnel0/0/1]source serial 4/0/0
//加封装的目标ip地址,需要到NHRP中心站点获取
[R2-Tunnel0/0/1]nhrp entry 10.1.2.1 15.1.1.1 register
[R2-Tunnel0/0/1]nhrp network-id 100[R3]interface Tunnel 0/0/1
[R3-Tunnel0/0/1]ip add 10.1.2.3 24
[R3-Tunnel0/0/1]tunnel-protocol gre p2mp
[R3-Tunnel0/0/1]source Serial 4/0/0
[R3-Tunnel0/0/1]nhrp network-id 100
[R3-Tunnel0/0/1]nhrp entry 10.1.2.1 15.1.1.1 register
测试:dis nhrp peer all 查看分支站点注册结果
8、配置RIP.,实现宣告直连网段
分析:这里能不能也宣告公网地址呢?多宣告多知道些路由不是更好吗?公网的地址不能被私网学到,宣告了也没用
[R1]rip 1
[R1-rip-1]version 2
[R1-rip-1]undo summary
[R1-rip-1]network 192.168.1.0
[R1-rip-1]network 10.0.0.0[R2]rip 1
[R2-rip-1]version 2
[R2-rip-1]network 192.168.2.0
[R2-rip-1]network 10.0.0.0
[R2-rip-1]undo summary[R3]rip 1
[R3-rip-1]version 2
[R3-rip-1]undo summary
[R3-rip-1]network 192.168.3.0
[R3-rip-1]network 10.0.0.0[R4]rip 1
[R4-rip-1]version 2
[R4-rip-1]undo summary
[R4-rip-1]network 192.168.4.0
[R4-rip-1]network 10.0.0.0
配完后发现R2和R3的路由条目不全 原因是RIP的水平分割(从一个接口收到的路由,不从这个接口传出去),故关闭中心接口的水平分割机制
[R1]int Tunnel 0/0/1
[R1-Tunnel0/0/1]undo rip split-horizon
查看RIP路由表学习情况
9、私用网段配置NAT。
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[R1]int Serial 4/0/0
[R1-Serial4/0/0]nat outbound 2000[R2]acl 2000
[R2-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255
[R2]int Serial 4/0/0
[R2-Serial4/0/0]nat outbound 2000[R3]acl 2000
[R3-acl-basic-2000]rule permit source 192.168.3.0 0.0.0.255
[R3]int Serial 4/0/0
[R3-Serial4/0/0]nat outbound 2000[R4]acl 2000
[R4-acl-basic-2000]rule permit source 192.168.4.0 0.0.0.255
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]nat outbound 2000
10、所有PC设置私有IP为源IP,可以访问R5环回。
11、测试全网通
相关文章:

基于RIP的MGRE VPN综合实验
实验拓扑 实验需求 1、R5为ISP,只能进行IP地址配置,其所有地址均配为公有IP地址; 2、R1和R5间使用PPP的PAP认证,R5为主认证方; R2与R5之间使用ppp的CHAP认证,R5为主认证方; R3与R5之间使用HDLC封…...

如何获取小程序的code在uniapp开发中
如何获取小程序的code在uniapp开发中,也就是本地环境,微信开发者工具中获取code,这里的操作是页面一进入就获取code登录,没有登录页面的交互,所以写在了APP.vue中,也就是小程序一打开就获取用户的code APP.…...

【Linux】 冯诺依曼体系与计算机系统架构全解
Linux相关知识点可以通过点击以下链接进行学习一起加油!初识指令指令进阶权限管理yum包管理与vim编辑器GCC/G编译器make与Makefile自动化构建GDB调试器与Git版本控制工具Linux下进度条 冯诺依曼体系是现代计算机设计的基石,其统一存储和顺序执行理念推动…...

RDMA 工作原理 | 支持 RDMA 的网络协议
注:本文为 “RDMA” 相关文章合辑。 英文引文机翻未校。 图片清晰度受引文所限。 Introduction to Remote Direct Memory Access (RDMA) Written by: Dotan Barak on March 31, 2014.on February 13, 2015. What is RDMA? 什么是 RDMA? Direct me…...

Autosar-Os是怎么运行的?(多核系统运行)
写在前面: 入行一段时间了,基于个人理解整理一些东西,如有错误,欢迎各位大佬评论区指正!!! 目录 1.Autosar多核操作系统 1.1多核启动过程 1.2多核运行过程 1.2.1核间任务同步 1.2.2Counte…...
golang命令大全4--测试与调试
Go 语言提供了一系列强大的工具和命令来帮助开发者进行代码的测试与性能调优。 1、go test 功能 go test是 Go 语言内置的测试工具,用于执行 Go 项目中的单元测试。它会查找当前包中所有以 _test.go 结尾的文件,运行其中定义的测试函数,并…...

第27篇 基于ARM A9处理器用C语言实现中断<三>
Q:基于ARM A9处理器怎样设计C语言工程,同时使用按键中断和定时器中断在红色LED上计数? A:基本原理:设置HPS Timer 0和按键中断源,主程序调用set_A9_IRQ_stack( )函数设置中断模式的ARM堆栈指针,…...
linux下使用脚本实现对进程的内存占用自动化监测
linux系统中常用cat /proc/{pid}/status和pmap -x {pid}来监测某个进程的内存资源占用情况。 其中注意各参数的含义如下: VmSize:表示进程当前虚拟内存大小 VmPeak:表示进程所占用最大虚拟内存大小 VmRSS:表示进程当前占用物理内…...

安宝特方案 | 智能培训:安宝特AR如何提升企业技能培训的效率与互动性
随着企业不断推进数字化转型,传统培训方式已无法满足现代企业对高效、灵活培训的需求。尤其在技术更新频繁、工艺流程复杂、员工流动性大的环境中,传统培训模式的局限性愈加明显。为了提升培训质量、降低培训成本,并帮助员工迅速掌握新技能&a…...

golang通过AutoMigrate方法自动创建table详解
一.AutoMigrate介绍 1.介绍 在 Go 语言中,GORM支持Migration特性,支持根据Go Struct结构自动生成对应的表结构,使用 GORM ORM 库的 AutoMigrate 方法可以自动创建数据库表,确保数据库结构与定义的模型结构一致。AutoMigrate 方法非常方便&am…...
【信息系统项目管理师-选择真题】2013上半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...

智能调度体系与自动驾驶技术优化运输配送效率的研究——兼论开源AI智能名片2+1链动模式S2B2C商城小程序的应用潜力
摘要:随着全球化和数字化进程的加速,消费者需求日益呈现出碎片化和个性化的趋势,这对物流运输行业提出了前所未有的挑战。传统的物流调度体系与调度方式已难以满足当前复杂多变的物流需求,因此,物流企业必须积极引入大…...

【软件测试项目实战 】淘宝网:商品购买功能测试
一、用例设计方法分析 在对淘宝网商品下单功能进行测试时,不同的测试角度和场景适合运用不同的用例设计方法,以下是针对该功能各方面测试所适用方法及其原因的分析: 商品数量相关测试:对于商品数量的测试,主要采用等…...
[牛客]公交线路(dijkstra+链式前向星)
登录—专业IT笔试面试备考平台_牛客网 #include<bits/stdc.h> using namespace std; #define endl \n typedef long long ll; const int N1e65,M1e85; int cnt0,head[N]; int n,m,s,t; struct node {int v,w,next; }edge[M]; void addedge(int u,int v,int w) {cnt;edge…...
SpringAI 搭建智能体(二):搭建客服系统智能体
在现代人工智能应用中,智能体(Agent) 是一个重要的概念,它的核心能力是自主性与灵活性。一个智能体不仅能够理解用户的需求,还能拆解任务、调用工具完成具体操作,并在复杂场景中高效运行。在本篇博客中&…...

豆包MarsCode:前缀和计算问题
问题描述 思路分析 问题理解 小S的任务是计算一个整数数组 nums 的前缀和。前缀和是指从数组开始到某个位置的所有元素的累加值,形成一个新数组。例如: 输入数组:nums [4, 5, 1, 6]前缀和数组:[4, 9, 10, 16] 4 49 4 510 …...

【16届蓝桥杯寒假刷题营】第2期DAY5
2.最大公因数 - 蓝桥云课 问题描述 给你2个正整数N,M。 你需要构造一个有N个数的正整数序列a,满足以下条件: ∑i1NaiM。 求gcd(a),可能的最大值。 输入描述 输入一行两个正整数N,M,表示数组的长…...
Python 合并 Excel 单元格
合并 Excel 单元格是 Excel 数据处理和表格设计中的一项常用操作。例如,在制作表格标题时,经常会将多个单元格合并,使标题能够跨列显示,更加醒目和美观。此外,当对数据进行分类时,为了使同一类别的数据在视…...

[EAI-023] FAST: Efficient Action Tokenization for Vision-Language-Action Models
Paper Card 论文标题:FAST: Efficient Action Tokenization for Vision-Language-Action Models 论文作者:Karl Pertsch, Kyle Stachowicz, Brian Ichter, Danny Driess, Suraj Nair, Quan Vuong, Oier Mees, Chelsea Finn, Sergey Levine 论文链接&…...

解锁微服务:五大进阶业务场景深度剖析
目录 医疗行业:智能诊疗的加速引擎 电商领域:数据依赖的破局之道 金融行业:运维可观测性的提升之路 物流行业:智慧物流的创新架构 综合业务:服务依赖的优化策略 医疗行业:智能诊疗的加速引擎 在医疗行业迈…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...

算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
【Pandas】pandas DataFrame dropna
Pandas2.2 DataFrame Missing data handling 方法描述DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值(NaN)DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充(即“下一个有效观测值”)…...