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

基于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堆栈指针&#xff0c…...

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 搭建智能体(二):搭建客服系统智能体

在现代人工智能应用中&#xff0c;智能体&#xff08;Agent&#xff09; 是一个重要的概念&#xff0c;它的核心能力是自主性与灵活性。一个智能体不仅能够理解用户的需求&#xff0c;还能拆解任务、调用工具完成具体操作&#xff0c;并在复杂场景中高效运行。在本篇博客中&…...

豆包MarsCode:前缀和计算问题

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

【16届蓝桥杯寒假刷题营】第2期DAY5

2.最大公因数 - 蓝桥云课 问题描述 给你2个正整数N&#xff0c;M。 你需要构造一个有N个数的正整数序列a&#xff0c;满足以下条件&#xff1a; ∑i1N​ai​M。 求gcd(a)&#xff0c;可能的最大值。 输入描述 输入一行两个正整数N&#xff0c;M&#xff0c;表示数组的长…...

Python 合并 Excel 单元格

合并 Excel 单元格是 Excel 数据处理和表格设计中的一项常用操作。例如&#xff0c;在制作表格标题时&#xff0c;经常会将多个单元格合并&#xff0c;使标题能够跨列显示&#xff0c;更加醒目和美观。此外&#xff0c;当对数据进行分类时&#xff0c;为了使同一类别的数据在视…...

[EAI-023] FAST: Efficient Action Tokenization for Vision-Language-Action Models

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

解锁微服务:五大进阶业务场景深度剖析

目录 医疗行业&#xff1a;智能诊疗的加速引擎 电商领域&#xff1a;数据依赖的破局之道 金融行业&#xff1a;运维可观测性的提升之路 物流行业&#xff1a;智慧物流的创新架构 综合业务&#xff1a;服务依赖的优化策略 医疗行业&#xff1a;智能诊疗的加速引擎 在医疗行业迈…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...