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

HCIP--以太网交换安全(总实验)

实验背景

假如你是公司的网络管理员,为了提高公司网络安全性,你决定在接入交换机部署一些安全技术:端口隔、端口安全、DHCP snooping、IPSG。

实验拓扑图

实验的要求:

1.在R1、R2连接在GE0/0/1和GE0/0/2接口下,均划分到vlan10;

2.S1和S2互联接口配置为trunk模式,放通vlan 10;

3.S2开启DHCP服务器,为R1、R2静态分配固定IP地址;

4.在S1进行以太网安全加固:配置DHCP snooping 、IPSG、端口安全、端口隔离;

5.验证是否连通。

任务详细步骤

(一)配置DHCP

(1)在S1上创建vlan 10,并在G0/0/1和G0/0/2配置access模式,g0/0/3接口trunk模式。

[S1]vlan 10[S1-vlan10]q[S1]int g0/0/1[S1-GigabitEthernet0/0/1]port link-type access[S1-GigabitEthernet0/0/1]port default vlan 10[S1-GigabitEthernet0/0/1]q[S1]int g0/0/2[S1-GigabitEthernet0/0/2]port link-type access[S1-GigabitEthernet0/0/2]port default vlan 10[S1-GigabitEthernet0/0/2]q[S1]int g0/0/3[S1-GigabitEthernet0/0/3]port link-type trunk[S1-GigabitEthernet0/0/3]port trunk allow-pass vlan 10[S1-GigabitEthernet0/0/3]q

(2)在S2的G0/0/1接口为trunk模式,允许VLAN 10通过,和创建vlanif作为R1、R2的网关

[S2]vlan 10[S2-vlan10]q[S2]int g0/0/1[S2-GigabitEthernet0/0/1]port link-type trunk[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10[S2-GigabitEthernet0/0/1]q[S2]int vlan10[S2-Vlanif10]ip address 172.168.10.254 255.255.255.0[S2-Vlanif10]q

(3)在S2上开启DHCP服务,配置全局地址池,为R1、R2分配固定IP地址

[S2]dhcp enable[S2]ip pool vlan10[S2-ip-pool-vlan10]gateway-list 172.168.10.254[S2-ip-pool-vlan10]network 172.168.10.0 mask 255.255.255.0[S2-ip-pool-vlan10]dns-list 172.168.10.254[S2-ip-pool-vlan10]q

(4)S3的VLANIF 10 接口使能DHCP server 

[S2]int vlanif 10[S2-Vlanif10]dhcp select global

(5)查看R1、R2的接口MAC地址 

R1

R2

(6)为R1、R2分配固定IP地址

[S2]ip pool vlan10[S2-ip-pool-vlan10]static-bind ip-address 172.168.10.1 mac-address 00e0-fcf4-272c[S2-ip-pool-vlan10]static-bind ip-address 172.168.10.2 mac-address 00e0-fcb8-535a

(7)配置R1、R2通过DHCP方式获取IP地址

[R1]dhcp enable[R1]int g0/0/1[R1-GigabitEthernet0/0/1]ip address dhcp-alloc[R1-GigabitEthernet0/0/1]q[R2]dhcp enable[R2]int g0/0/1[R2-GigabitEthernet0/0/1]ip address dhcp-alloc[R2-GigabitEthernet0/0/1]q[R2]

(8)查看R1、R2地址分配结果

R1、R2已经成功通过DHCP获取分配的固定IP地址了。

(二)配置DHCP snooping

(1)S1开启全局DHCP Snooping,将连接S2的接口配置为信任接口

[S1]dhcp enable[S1]dhcp snooping enable[S1]int g0/0/3[S1-GigabitEthernet0/0/3]dhcp snooping trusted[S1-GigabitEthernet0/0/3]q

注意:需要先开启DHCP功能先。

(2)使能S1连接R1、R2接口的DHCP snooping功能

[S1]int g0/0/1[S1-GigabitEthernet0/0/1]dhcp sn[S1-GigabitEthernet0/0/1]dhcp snooping enable[S1-GigabitEthernet0/0/1]q[S1]int g0/0/2[S1-GigabitEthernet0/0/2]dhcp snooping enable[S1-GigabitEthernet0/0/2]q

关闭R1、R2的接口,等待一段时间之后重新打开,重新进行DHCP地址获取,这样就可以获得到IP了关闭命令是shutdown,注意要先进入接口噢。

(3)查看S1上形式的DHCP snooping动态用户表项

此时,已经形成动态用户表项了。 

(三)配置IPSG(IP source guard)

(1)使能S1 g0/0/1、g0/0/2接口的IPSG功能

[S1]int g0/0/1[S1-GigabitEthernet0/0/1]ip source check user-bind enable[S1-GigabitEthernet0/0/1]ip source check user-bind alarm enable[S1-GigabitEthernet0/0/1]ip source check user-bind alarm threshold 3[S1-GigabitEthernet0/0/1]q[S1]int g0/0/2[S1-GigabitEthernet0/0/2]ip source check user-bind enable[S1-GigabitEthernet0/0/2]ip source check user-bind alarm enable[S1-GigabitEthernet0/0/2]ip source check user-bind alarm threshold 3[S1-GigabitEthernet0/0/2]q

开启IP报告检测告警功能,丢弃的IP报文阈值为3。

(2)在R1和R2上测试于网关的连通性

此时R1和R2能够正常与网关进行通信了。 

(3)为了验证是否真的成功,可以修改R1接口的IP地址。这样无法通过IPSG检查。

[R1]int g0/0/1[R1-GigabitEthernet0/0/1]ip address 172.168.10.11 24[R1-GigabitEthernet0/0/1]q

(4)用R1再次测试于网关的连通性

从这里看出R1已经无法于网关进行通信了.

这时要手动创建静态绑定表项,才能继续访问了,命令如下:

[S1]user-bind static ip-address 172.168.10.11 mac-address 00e0-fcf4-272c int g0/0/1 vlan 10

(5)查看IPSG静态绑定表项

(6)再次检查R1与网关的连通性

由于存在IPSG静态绑定表项,此时R1可以正常与网关进行通信了。 

(四) 配置端口安全

(1)在S1连接R2的端口开启端口安全

[S1]int g0/0/2[S1-GigabitEthernet0/0/2]port-security enable[S1-GigabitEthernet0/0/2]port-security max-mac-num 1[S1-GigabitEthernet0/0/2]port-security mac-address sticky[S1-GigabitEthernet0/0/2]port-security protect-action restrict[S1-GigabitEthernet0/0/2]q

测试R2与网关通信,触发Sticky类型的MAC地址表项生成

(2)查看S1上生成的sticky类型的MAC地址表项

(五)配置端口隔离组

(1)为限制终端之间的访问,在S1上开启端口分离,限制R1和R2直接按的互访。

限制之前测试一下R1、R2的连通性

(2)S1上开启端口隔离,隔离模式为L2

[S1]port-isolate mode l2[S1]int g0/0/1[S1-GigabitEthernet0/0/1]port-isolate enable group 1[S1-GigabitEthernet0/0/1]q[S1]int g0/0/2[S1-GigabitEthernet0/0/2]port-isolate enable group 1[S1-GigabitEthernet0/0/2]q

(3)再次测试R1、R2之间的连通性

 此时R1和R2之间无法进行通信的。

(4)在S2的vlanif 10 下开启vlan内的ARP代理

[S2]int vlanif10[S2-Vlanif10]arp-proxy inner-sub-vlan-proxy enable[S2-Vlanif10]q

(5)清空R1、R2的ARP表项

这时,R1、R2重新进行ARP学习,由于网关开启了ARP代理,R1、R2之间将能够通过网关进行通信 

(6)再次测试R1、R2之间的连通性

从这看出:R1、R2之间通信恢复正常了。 

查看R1 的ARP表项

此时可以观察到ARP表项中172.168.10.2与172.168.10.254的MAC地址一致了。 

相关文章:

HCIP--以太网交换安全(总实验)

实验背景 假如你是公司的网络管理员,为了提高公司网络安全性,你决定在接入交换机部署一些安全技术:端口隔、端口安全、DHCP snooping、IPSG。 实验拓扑图 实验的要求: 1.在R1、R2连接在GE0/0/1和GE0/0/2接口下,均划…...

C语言 | Leetcode C语言题解之第519题随机翻转矩阵

题目: 题解: typedef struct {unsigned long long val;UT_hash_handle hh; } Hash;typedef struct {Hash *hash;int n_rows;int n_cols; } Solution, SL;Solution* solutionCreate(int n_rows, int n_cols) {SL *obj malloc(sizeof(SL));obj->hash …...

《机器人SLAM导航核心技术与实战》第1季:第10章_其他SLAM系统

视频讲解 【第1季】10.第10章_其他SLAM系统-视频讲解 【第1季】10.1.第10章_其他SLAM系统_RTABMAP算法-视频讲解 【第1季】10.2.第10章_其他SLAM系统_VINS算法-视频讲解 【第1季】10.3.第10章_其他SLAM系统_机器学习与SLAM-视频讲解 第1季:第10章_其他SLAM系统 …...

《双指针篇》---快乐数

题目传送门 1.创建一个bitsum函数用于得到这个数每位的平方和。 2.令快指针等于bitsum(n) 3.慢指针等于n。 逐步令 fast bitSum(bitSum(fast)); slow bitSum(slow); 若最后fast等于slow,则且等于1.则return true。 否则return false。 cla…...

U盘引导丢失问题的处理办法

项目背景:在使用自制的u盘系统的时候经常遇到引导丢失的问题,那么咱们怎么解决这个问题呢,首先第一步通过手动引导u盘 进入系统,同时再进行引导区的修复这样u盘系统就可以正常工作了。 1 进入grub 的提示符下面,首先…...

layui tree customSelet选中的内容重写,查找父级

layui tree customSelet选中的内容重写&#xff0c;查找父级 需要重新源码 // 递归查找函数 // tree 所有数据 &#xff0c;nodeId选中数据id值 function findParent(tree, nodeId, parent null) {for (let i 0; i < tree.length; i) {if (tree[i].id nodeId) {return …...

Maven 插件

Maven 插件 Maven 是一个强大的项目管理和构建自动化工具&#xff0c;广泛应用于 Java 项目中。它通过插件来实现各种功能&#xff0c;如编译、测试、打包、部署等。Maven 插件是 Maven 的核心组成部分&#xff0c;它们扩展了 Maven 的功能&#xff0c;使其能够执行各种任务。…...

MybatisPlus入门(七)MybatisPlus-DQL编程控制

一、查询投影 查询投影&#xff1a;查出来的东西有多少字段&#xff0c;设置查询出来的结果长什么样&#xff0c;查出的字段控制&#xff1b; 查询投影适用于lamda格式&#xff0c;使用select 查询 lqw.select(User::getId,User::getName,User::getAge); 代码示例&#xff1…...

K8S概念及其常见组件和整体架构

1.概念 什么是Kubernetes 官网&#xff1a;Kubernetes 文档 | Kubernetes K8S的本质是一组服务器集群&#xff0c;可以在对应服务器集群的每个节点上运行程序&#xff0c;来对节点中的容器进行管理 类似Master-Work方式&#xff0c;每个服务器上安装特定的K8S组件&#xff0c…...

LabVIEW继电器视觉检测系统

随着制造业的自动化与高精度要求不断提升&#xff0c;传统的人工检测方法逐渐难以满足高效和高精度的需求。特别是在航空航天、医疗设备等高端领域&#xff0c;密封继电器推动杆部件的质量直接影响到设备的性能与可靠性。LabVIEW自动化视觉检测系统&#xff0c;能对推动杆部件进…...

linux操作系统进程

linux操作系统是对下的软硬件进行管理&#xff0c;为了能够对上提供稳定&#xff0c;快速&#xff0c;安全的服务而诞生的软件。 广义上的操作系统是包含搭载在操作系统上的软件和函数库等文件的。 狭义上的操作系统就是操作系统内核&#xff0c;进行进程管理&#xff0c;文件…...

jeecgbootvue2菜单路由配置静态文件夹(public)下的html

需求:想要在菜单配置src/assets/iconfont/chart.html显示页面(目的是打包上线以后运维依然可以修改数据) 官网没有相关数据&#xff1a;菜单配置说明 JeecgBoot 开发文档 看云 问题现象: 我把文件放在src/assets/iconfont/chart.html然后在vue中作为 iframe 的 src 属性&am…...

PHP反序列化原生类字符串逃逸框架反序列化利用

PHP反序列化 概念 序列化的原因&#xff1a;为了解决开发中数据传输和数据解析的一个情况(类似于要发送一个椅子快递&#xff0c;不可能整个椅子打包发送&#xff0c;这是非常不方便的&#xff0c;所以就要对椅子进行序列化处理&#xff0c;让椅子分成很多部分在一起打包发送…...

6.1、属性动画

使用显式动画产生布局更新动画 1.旋转动画 只修改对应的属性 rotate({angle: this.angle}) 即可达到效果 动画效果 对应实现代码 @Entry @Component struct AnimationPage {@State angle:number = 0aboutToAppear() {...

v-model还可以作用于其他表单元素的使用

1、文本输入框 直接双向绑定输入的元素值 初始化默认值为空字符串 2、复选按钮 直接双向绑定输入的元素值 初始化默认值为flase&#xff0c;不选中 3、单选按钮&#xff0c; 1.使用name分组&#xff0c;产生互斥效果。 2.使用value存值&#xff0c; 3再用v-model双向绑定…...

最短路的求解

实验类型&#xff1a;◆验证性实验 ◇综合性实验 ◇设计性实验 实验目的&#xff1a;学会使用Matlab求解最短路。 实验内容&#xff1a;1.熟练运用Floyd算法&#xff1b;2. 熟练运用Dijkstra算法&#xff1b;3.利用Matlab编程实现最短路的计算。 例1&#xff1a;已知无向图…...

四:java 基础知识(4)-- 异常 字符串

目录 1. 异常处理 1.1 什么是异常 1.2 异常的类型 1.2.1 检查异常 1.2.2 运行时异常 1.3 异常的捕获与处理 1.3.1 try-catch 语句 1.3.2 finally 块 1.3.3 throw 和 throws 关键字 1.4 自定义异常 1.5 异常的最佳实践 2. 字符串 2.1 String 类的概述 2.2 字符串的…...

Uniapp 实现app自动检测更新/自动更新功能

实现步骤 配置 manifest.json 在 manifest.json 中设置应用的基本信息&#xff0c;包括 versionName 和 versionCode。 一般默认0.0.1&#xff0c;1. 服务器端接口开发 提供一个 API 接口&#xff0c;返回应用的最新版本信息&#xff0c;版本号、下载链接。客户端检测更新 使…...

7.0、RIP

RIP (Routing Information Protocol) 简介 RIP是由Xerox在20世纪70年代开发的&#xff0c;最初定义在RFC1058中。RIP用两种数据包传输更新:更新和请求&#xff0c;每个有RIP功能的路由器在默认情况下&#xff0c;每隔30s利用UDP520端口向与它直连的网络邻居广播(RIP1)或组播(R…...

C#与C++结构体的交互

C#在和C进行交互时&#xff0c;有时候会需要传递结构体。 做一些总结&#xff0c;避免大家在用的时候踩坑。 一般情况 例如我们在C里定义了一个struct_basic结构体 1 struct struct_basic 2 { 3 WORD value_1; 4 LONG value_2; 5 DWORD value_3; 6 UINT v…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口&#xff08;interface&#xff09;二、socket.cpp 实现&#xff08;implementation&#xff09;三、server.cpp 使用封装&#xff08;main 函数&#xff09;四、client.cpp 使用封装&#xff08;main 函数&#xff09;五、退出方法…...