HCIP-ICT进阶实验06-多实例生成树安全部署

1 实验需求

1.1 实验拓扑

1.2 实验环境说明

IP地址规划表:

设备 接口 IP 地址 备注
SW1 VLANIF10 192.168.10.254/24
VLANIF20 192.168.20.254/24
VLANIF30 192.168.30.254/24
VLANIF40 192.168.40.254/24
PC1 Ethernet0/0/1 192.168.10.1/24 Vlan10
PC2 Ethernet0/0/1 192.168.20.1/24 Vlan20
PC3 Ethernet0/0/1 192.168.30.1/24 Vlan30
PC4 Ethernet0/0/1 192.168.40.1/24 Vlan40

1.3 实验需求

本实验采用4台PC,4台交换机。认真分析实验需求,明确每步考查的知识点,并根据规划 IP 地址;拓扑搭建实验环境,确保端口都双UP后再进行下面步骤:

2 实验步骤

2.1 根据拓扑配置好相关接口的地址,交换机SW1为vlan10、vlan20、vlan30、vlan40的网关。

配置脚本

配置4台PC的ip地址、掩码、网关

配置验证

四台都验证一遍, 这里展示PC1的

2.2 交换机之间起trunk,在交换机SW1、SW2、SW3、SW4创建VLAN 10、 20、 30、 40;并且把PC1划入VLAN10,PC2划入VLAN20,PC3划入VLAN30,PC4划入VLAN40。

配置脚本

SW1:

sy
sysname SW1
vlan batch 10 20 30 40
int vlanif 10
ip add 192.168.10.254 24
int vlanif 20
ip add 192.168.20.254 24
int vlanif 30
ip add 192.168.30.254 24
int vlanif 40
ip add 192.168.40.254 24
qu int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu int g0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu

SW2:

sy
sysname SW2
vlan batch 10 20 30 40 int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu int g0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu

SW3:

sy
sysname SW3
vlan batch 10 20 30 40 int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu int g0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu

SW4:

sy
sysname SW4
vlan batch 10 20 30 40 int g0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu int g0/0/4
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
port trunk pvid vlan 1
qu int g0/0/1
port link-type access
port default vlan 10
int g0/0/2
port link-type access
port default vlan 20
int g0/0/5
port link-type access
port default vlan 30
int g0/0/6
port link-type access
port default vlan 40
qu

本来下意识想配置vtp的, 但后来反应过来华为的设备不支持vtp, 只能手敲vlan, GVRP下次有空看看, 这段时间挺忙的...

配置验证

dis port vlan

2.3 要求交换机之间使用MSTP生成树协议,并且SW2为vlan10、20的根桥,vlan 30、40的备份根桥,SW3为vlan30、40的根桥,vlan 10、20的备份根桥。最终实现vlan10、vlan20从sw4—>sw2—>sw1,vlan30、vlan40从sw4—>sw3—>sw1转发。

配置命令

SW1:

stp mode mstp

stp region-configuration
region-name test
revision-level 10
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
qu

SW2:

stp mode mstp

stp region-configuration
region-name test
revision-level 10
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
qu stp instance 1 root primary
stp instance 2 root secondary

SW3:

stp mode mstp

stp region-configuration
region-name test
revision-level 10
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
qu stp instance 2 root primary
stp instance 1 root secondary

SW4:

stp mode mstp

stp region-configuration
region-name test
revision-level 10
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
qu

配置验证

查看stp的实例

dis stp instance instance-id

vlan 10:

tracert 192.168.10.254

vlan 30:

tracert 192.168.30.254

2.4 为了保证PC接入后快速进入数据的转发,需要在连接终端的链路配置边缘端口,同时为防止网络震荡,还需要进行BPDU保护设置。

配置脚本

SW4:

int g0/0/1
stp edged-port enable
int g0/0/2
stp edged-port enable
int g0/0/5
stp edged-port enable
int g0/0/6
stp edged-port enable
qu stp bpdu-protection
error-down auto-recovery cause bpdu-protection interval 10

BPDU防护只会针对边缘端口开启;

最后一句配置时将被BPDU防护关闭的接口配置10s后自动重新打开.

配置验证

终端拔线再连接, ping通网络的速度缩短:

为配置边缘端口前:

四轮ping才通

开启边缘端口后:

第一轮就能ping通, 效果还是很明显的!

2.5 为了避免网络拥塞导致环路的发生,请在交换机上配置环路保护功能。

环路保护需要在根端口AP端口配置.

配置脚本

SW4:

dis stp brief

int g0/0/4
stp loop-protection
int g0/0/3
stp loop-protection
qu

先查看哪些端口为AP端口

配置验证

配置前:

配置后:

问题

1 无法成功验证BPDU防护未开启时的状态

将一台终端替换为交换机:

未开启BPDU防护:

很遗憾, 我并不知道如何查看端口是否还是边缘端口, 只能通过上面的蠢方法去对比边缘端口.

看起来依然是边缘端口, 推测可能是交换机未发送BPDU报文导致的.

这次开启抓包, 并为SW6配置stp.

sy
sysname SW6
stp mode mstp stp region-configuration
region-name test
revision-level 10
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
qu

再次断开并连接, 依然是边缘端口的恢复速度:

没搞懂, 标记一个问题.

HCIP-进阶实验06-多实例生成树安全部署的更多相关文章

  1. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  2. 20145236《网络对抗》进阶实验——64位Ubuntu 17.10.1 ROP攻击

    20145236<网络对抗>进阶实验--64位Ubuntu 17.10.1 ROP攻击 基础知识 ROP攻击 ROP全称为Retrun-oriented Programmming(面向返回 ...

  3. Java-Runoob-高级教程-实例-方法:06. Java 实例 – 方法覆盖

    ylbtech-Java-Runoob-高级教程-实例-方法:06. Java 实例 – 方法覆盖 1.返回顶部 1. Java 实例 - 方法覆盖  Java 实例 前面章节中我们已经学习了 Jav ...

  4. 20145236《网络对抗》进阶实验——Return-to-libc攻击

    20145236<网络对抗>进阶实验--Return-to-libc攻击 基础知识 Return-into-libc攻击方式不具有同时写和执行的行为模式,因为其不需要注入新的恶意代码,取而 ...

  5. JavaScript进阶系列06,事件委托

    在"JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数"中已经有了一个跨浏览器的事件处理机制.现在需要使用这个 ...

  6. Java-Runoob-高级教程-实例-数组:06. Java 实例 – 数组获取最大和最小值

    ylbtech-Java-Runoob-高级教程-实例-数组:06. Java 实例 – 数组获取最大和最小值 1.返回顶部 1. Java 实例 - 数组获取最大和最小值  Java 实例 以下实例 ...

  7. Java-Runoob-高级教程-实例-字符串:06. Java 实例 - 字符串查找

    ylbtech-Java-Runoob-高级教程-实例-字符串:06. Java 实例 - 字符串查找 1.返回顶部 1. Java 实例 - 字符串搜索  Java 实例 以下实例使用了 Strin ...

  8. TypeScript进阶开发——ThreeJs基础实例,从入坑到入门

    前言 我们前面使用的是自己编写的ts,以及自己手动引入的jquery,由于第三方库采用的是直接引入js,没有d.ts声明文件,开发起来很累,所以一般情况下我们使用npm引入第三方的库,本文记录使用np ...

  9. SpringMVC HelloWorld实例开发及部署

    SpringMVC HelloWorld实例开发及部署 2017-01-24 目录 1 Tomcat及Eclipse Tomcat插件安装配置  1.1 Tomcat的安装  1.2 Eclipse ...

  10. Tomcat多实例单应用部署方案 (转)

    一.Tomcat部署的场景分析 通常,我们对tomcat部署需求可以分为几种:单实例单应用,单实例多应用,多实例单应用,多实例多应用. 对于第一种场景,如果不要求周期性地维护tomcat版本,一般的做 ...

随机推荐

  1. java 入门与进阶P-6.5+P-6.6

    字符串操作 字符串是对象,对它的所有操作都是通过" . " 这个运算符来进行的 字符串.操作 他表示对.左边的这个字符串做右边的那个操作 这里的字符串可以是变量也可以是常量 Str ...

  2. MyBatis的使用六(解决字段名与成员名不一致)

    本文主要讲述mybatis如何解决mysql的字段名与java实体类的成员变量名称不一致. 一. 介绍实体类和数据表 1. 实体类Employee public class Employee { pr ...

  3. immutable.js学习笔记(五)----- Set

    一.Set 二.API (一)add:添加值 (二)delete:删除值 注意:删除后的Set是无序的 (三)clear:清空并返回新Set (四)union:N个set合并为一个set (五)int ...

  4. 剑指Offer 05. 替换空格(java解题)

    目录 1. 题目 2. 解题思路(通用 3. 数据类型功能函数总结 4. java代码 1. 题目 请实现一个函数,把字符串 s 中的每个空格替换成%20. 示例 1: 输入:s = "We ...

  5. ASP.NET Core - IStartupFilter 与 IHostingStartup

    1. IStartupFilter   上面讲到的方式虽然能够根据不同环境将Startup中的启动逻辑进行分离,但是有些时候我们还会可以根据应用中的功能点将将一系列相关中间件的注册封装到一起,从 St ...

  6. python新冠疫情分析-世界疫情数据爬取

    事情发展:1.毕业设计是关于疫情数据的可视化展示(基于java,需要做数据可视化,需要做管理员端对数据进行增删改查处理)2.飞起来速度学爬虫,参考了非常多资料,比如b站的黑马爬取(报错,就是在切片那里 ...

  7. 编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决

    ~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such ...

  8. C++并发-同步并发

    1.等待事件 std::mutex m; void wait() { std::unique_lock<std::mutex> lk(m); lk.unlock(); std::this_ ...

  9. SpringMVC的数据绑定与视图解析

    SpringMVC的数据绑定: 在后端直接得到前端的HTTP中的数据. HTTP请求中的传输的参数都是String类型,Handler业务方法中的参数是开发者指定的数据类型,int Integer,, ...

  10. Redis 源码解读之逐出策略

    Redis 源码解读之逐出策略 背景和问题 本文想解决的问题: redis 触发逐出的时机是怎样的? redis 逐出策略有哪些? 如何在海量的 key 中快速找到逐出评价值(idle)最高的key, ...