From 429e7e132af4868391abf28a54e13647512a4902 Mon Sep 17 00:00:00 2001 From: x <3374000289@qq.com> Date: Tue, 7 May 2024 11:01:21 +0800 Subject: [PATCH 1/3] x --- ...32\345\220\210\351\205\215\347\275\256.md" | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 "23\345\276\220\350\225\276/20240507-RSTP\345\222\214\347\253\257\345\217\243\350\201\232\345\220\210\351\205\215\347\275\256.md" diff --git "a/23\345\276\220\350\225\276/20240507-RSTP\345\222\214\347\253\257\345\217\243\350\201\232\345\220\210\351\205\215\347\275\256.md" "b/23\345\276\220\350\225\276/20240507-RSTP\345\222\214\347\253\257\345\217\243\350\201\232\345\220\210\351\205\215\347\275\256.md" new file mode 100644 index 0000000..15baea1 --- /dev/null +++ "b/23\345\276\220\350\225\276/20240507-RSTP\345\222\214\347\253\257\345\217\243\350\201\232\345\220\210\351\205\215\347\275\256.md" @@ -0,0 +1,142 @@ +# 交换机的生成树协议配置 + +### STP + +生成树协议(spanning Tree Protocol)防止网桥网络中的冗余电路形成环路 + +交换机默认有STP协议在工作 + +**STP缺点**:收敛(发现并更正错误)的时间需要大概50s左右,很慢 + +//show spanning-Tree 查看STP + +### RSTP(快速生成树协议) + +比STP快,收敛时间大概在1s + +//spanning-tree mode rapid-prst 在全局模式中将默认的STP修改为RSTP + +//show spanning-tree summary 查看生成树配置信息 + + + +## 实验步骤 + +1. 按照拓扑图搭建网络,并为交换机提供冗余链路 +2. 默认情况下STP是启用的。通过两台交换机之间传送网桥协议数据单元(BPDU)。先出根交换机,根端口等,以便确认端口的转发状态 +3. 配置快速生成树协议(RSTP) +4. 查看交换机生成树协议配置 + 1. Switch#show spanning-tree summary //以汇总形式查看 + 2. Switch#show spanning-tree +5. 进行测试。当主链路处于down状态时,能够自动的切换到备份链路,保证数据的正常转发 + +**注意:只有当两台交换机都配置RSTP后,再将交换机连接起来。如果先连接线再配置会造成广播风暴,影响交换机的正常工作** + +### 相关设置 + +##### pc设置 + +将每个pc都设置IP,子网掩码和网关 + +##### Switch0和Switch1配置 + +Switch>en + +Switch#show spanning-tree //查看交换机生成树运行状态 + +Switch#show spanning-tree summary //查看生成树的配置信息 + +Switch#conf t + +Switch(config)#inter f 0/1 + +Switch(config-if)#switchport access vlan 2 //将该端口划分到VLAN2 + +Switch(config-if)#exit + +Switch(config)#inter f 0/2 + +Switch(config-if)#switchport access vlan 3 //将该端口划分到VLAN3 + +Switch(config-if)#exit + +Switch(config)#inter range f 0/23-24 + +Switch(config-if-range)#switch mode trunk + +Switch(config-if-range)exit + +Switch(config)#spanning-tree mode rapid-pvst //指定生成树协议的类型为RSTP + +Switch(config)#end + +Switch#show spanning-tree //判断根交换机、端口角色、端口状态等 + +### 链路测试 + +##### 在pc0的cmd下 + +ping 192.168.1.2 //链路通 + +Switch0 + +Switch>en + +Switch#conf t + +Switch(config)#inter f 0/23 //关闭主链路上的端口 + +Switch(config-if)#shutdown + + + +ping 192.168.1.2 //链路通 + +//备份链路标记由×变为绿色,表明备份链路已启用 + +# 交换机的端口聚合配置 + +端口/链路聚合,是指把交换机上多个物理端口捆绑合成一个逻辑端口,这样在交换机之间形成一条拥有较大宽带的链路,还可以实现负载均衡,并提供冗余链路 + +**聚合端口聚合的前提是这几个要聚合的端口的编号是连续的** + +### 实验步骤 + +1. 按拓扑图搭建网络,并为交换机提供冗余链路 +2. 选择编号连续的端口进行配置 +3. 将连续的多端口加入链路组并开启 +4. 为聚合链路开启均衡负载功能 + +### 相关设置 + +##### pc设置 + +给各个pc设置IP、子网掩码和网关 + +##### Switch0和Switch1配置 + +Switch>en + +Switch#conf t + +Switch(config)#inter range f 0/23-24 + +Switch(config-if-range)#switch mode trunk //将端口配置为Trunk模式 + +Switch(config-if-range)#channel-group 1 mode on //加入链路组1并开启 + +Switch(config-if-range)#ex + +Switch(config)#port-channel load-balance dst-ip //按目的IP地址来实现负载均衡 + +Switch(config)#ex + +Switch#show etherchannel summary //显示以太通道信息 + +Switch#show interfaces etherchannel //显示聚合端口信息 + +##### pc0(cmd中) + +ping 192.168.1.3 //链路通 + +ping 192.168.1.4 //链路通 \ No newline at end of file -- Gitee From ce7589b0103eac5e1867f34d9bb43f71ea37f847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E8=95=BE?= <11824566+xu-lei0923@user.noreply.gitee.com> Date: Thu, 9 May 2024 06:38:31 +0000 Subject: [PATCH 2/3] x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 徐蕾 <11824566+xu-lei0923@user.noreply.gitee.com> --- ...42\346\234\272\345\256\211\345\205\250.md" | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "23\345\276\220\350\225\276/20240508-\344\272\244\346\215\242\346\234\272\345\256\211\345\205\250.md" diff --git "a/23\345\276\220\350\225\276/20240508-\344\272\244\346\215\242\346\234\272\345\256\211\345\205\250.md" "b/23\345\276\220\350\225\276/20240508-\344\272\244\346\215\242\346\234\272\345\256\211\345\205\250.md" new file mode 100644 index 0000000..4047aa7 --- /dev/null +++ "b/23\345\276\220\350\225\276/20240508-\344\272\244\346\215\242\346\234\272\345\256\211\345\205\250.md" @@ -0,0 +1,71 @@ +# 交换机安全 + +1. #### 选择要进行安全设置的端口 + + Switch(config)#int f 0/1 + +2. #### 启用交换机接口的安全设置 + + Switch(config-if)#Switchprot prot-security //直接写会报提示:Command rejected:FastEthernet 0/1 is a dynamic port 因为端口默认是动态的,要改成访问模式access + +3. #### 改成访问模式 + + Switch(config-if)#Switchport mode access + + Switch(config-if)#switchport port-security + + 再次启用交换机接口的接口安全设置 + + + + ##### 启用安全设置后还要做三件事才能生效 + + Switch(config-if)#switchport port-security maximum 1 //maximum Max secure addresses是指最大允许连接的终端数量是1,范围是1-132 + + + + Switch(config-if)#switchport port-security violation shutdown //violation Security violation mode设置超过最大连接数的设备处理方式 + + ​ 处理方式有三种: + + ​ protect Security violation protect mode //保护模式:超过限制客户机的帧将被抛弃 + ​ restrict Security violation restrict mode //限制模式:超过限制就通过SNMP通告管理员 + ​ shutdown Security violation shutdown mode //关闭模式:超过限制就关闭端口 + + + + Switch(config-if)#switchport port-security mac-address sticky //mac-address Secure mac address绑定正确的MAC地址 + + ​ 绑定的方式有两种: + + ​ H.H.H 48 bit mac address //手动输入要绑定的地址 + sticky Configure dynamic secure addresses as sticky //自动粘贴前N台客户机的地址,N是maximum命令设置的最大客户机数量 + + + + ##### 如何测试是否生效,前提是交换机要记录到正确的MAC地址 + + 为了让交换机记录到第一次正确的MAC地址,需要ping一次 + + 要重新启用被安全规则关闭的端口,先手动关闭一次,再手动开启 + + + + Switch#clear port-security sticky //清除交换机已经记录的安全MAC地址,重新开始记录 + +##### Switch#show port-security interface fa0/1 // 查看f0/1端口的安全配置 + +# 作业 + +![alt text](./img/20240508.png) + + + + + + + + + + + -- Gitee From 034d1b70676f7fe75d9da31eb689f7a10836dca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E8=95=BE?= <11824566+xu-lei0923@user.noreply.gitee.com> Date: Thu, 9 May 2024 06:39:09 +0000 Subject: [PATCH 3/3] x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 徐蕾 <11824566+xu-lei0923@user.noreply.gitee.com> --- "23\345\276\220\350\225\276/img/20240508.png" | Bin 0 -> 49175 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "23\345\276\220\350\225\276/img/20240508.png" diff --git "a/23\345\276\220\350\225\276/img/20240508.png" "b/23\345\276\220\350\225\276/img/20240508.png" new file mode 100644 index 0000000000000000000000000000000000000000..06ec1e919d2fff22fac90913538318fa112046ac GIT binary patch literal 49175 zcmeFY^;gtw^e#LWAWEsAfP{o}NJ^Is-3%Qn-O3QsJSrm1&?Q|nbPdviL3g)G&rk{j z(&rxio_C$K-ap{{a%L?S^BIP_c3pe#>kiY_R3ag!A%;L8Br3{JbRm$dQ4q-GGa>@; zNuhYsAoz6&uB#*uDId7M0UoZ}$!W+zAXPCpPM=)^&(~il8^a+G($DyxOPy}T)(}Wr zsmc>M{Z|&7^Mp_5JkKtEd3%lIGtc`ytPRm*XSU&ckRwaMPDFe;j)}AO_==phJtd(d zC+Eof?8FDKd}S4DJ_l}Xab1&<{H6`%5te@Xl ztYDMqUR(Vwaz@ngJA^v@@lYfr+wGr}WbbZC>T&lLzL4lZsTW=dMM4OmR= zUc$Lp9CA6TnQPYqD=Xp)Xk6S}S*S}e}hqGkm zi^@`8sayKt-R|WdZ&toM`n;ZeHCurQSQ7;DmK&y{Z@gH{6@FRH7*?0Co?YB?oQCZy z?F!kmO|6O6fhmXmdMRM5{MurM0J8A!D2T+;4;T`o{9=?n0~FfI*-@yn(ZnY<<6j{fU~YF4-&o-7w=iGEi}6 zbE+iW9HTbmKPbq5|2u-KbPN4bU9qxa6?tev z@a?PWYn`gun;lo!L$CP~3 zTT%wDj!qCAjMd}g{zq=fjjLgi_D%9iu!jLjZAye1sLPyN%eQgc z_5%k=32G{^GHM)2-JR_(RiFEbWZD0j;^p_GKJJ1nL1zLg0&w${bF$L0Q3 z6|*qqQi?IeoanE^$2Z_OuRlRPhe0FU&jjpxo&;oxV(J3o>eUD}wkfq$_23b%?(?_L z!W*A=49N*NYF{|hlYYARtAfFhpY=n1BU?foqdaSM(&1Yhc0BPzZP zHlMVS^62UP7|y;_B_JfN$<*=L=Bab7kg#ZP=Fi_2Tb5&)>+gwD1^@dtC0k4+T93EO z*Wtv$9V~qtMjxv`&DkZkDY&zkQ#CD1BC8*pv%p=@)TWfB@xs+ls5ahmT6!(N&u@}e z)^#DP4*c5cSzM~i-QRCJCJk%Rv(RG;?cplOE>?FZqv|g5Bg6L4*WKUL_DOV=G3=86;0i*r#hZ18y=lT18OMqymtWiYNE z%hnLbB-kRO{5wMc*-B19!E5(0Ml`QnPY!`$uqJcUPsu-KLBhx1n_QEy8AsDAx#+0% zuBy{lcUaQMM(f%aTR8i6BF75B1JLK4txr+SB+J0|8cZdJk8DgvKfH zyx-XatP)2O?$!tUfkUOmG01QR%7@5L_F6Afn|FT{HHx7HVTk;Whp>X$Gwm?v8Mhm0 zg^~0~uCPW_DawTO4qg0d2eUY%uiu`?^wYDQV)W`_K)&)~g)b9p3`1Tr`ciP)t|%T4 zk=wf`sa4O8)Kpf6j5Ho|dnVRSdCTcVp>SsoKjEXoS=BZ!g(tVrLxr6F6G5$dJ068e z@kmx@N9t766J1J`1M`8?;g2RfqI#DQ#Nl4_;@l?@Y96x7>cWGWQZGwyMn{Z37&)es zFlES-e@H2U?5wSqB!x6T_#4hHYpA|ko=yHxM?cV%EQS+Q?X9&aPeR&ksOD+vP^xW2 zNYsS{S)z(v`0b>Ms?nOZS|8Z&4y3c%OjHylRU%uJrG`sQU~Ew;>O#!Jvw!$fM09v1 zj#wI2P6d}wBKVRjOx;FHttjcmfQ*P!^{4VL=O4noyNEu4iLtJMj3|D{D<`B2O~PEt>|RB(W{U^*#p+FOZ>+?33DjfLIV zw(#Rtxox70pLScZGN((Cn5UcGgFd?>Kaar&heOb7%AB=2lYd6Id2Zdk4SW=;K2BUe z&&AGh4ITFRwkNO~W=etifN3B1&g6lKXK^##8ay`e3RPXTt?(Gb^~pNVo%0D+S4W?8 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 z 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%0Aeb@1bR^F)4T^xlj(9T)|GD)YcC54 zm5iJ#(k52lryleywe7LX)Bvpq0}lG(38w9PGzS?_n#9$*4Y8~$1uBSv`0IWa`~;>Wjdh3Y!NIH8B(t=H7>`QZxZ%^0<_?4FZrH&q%# z^wm@}Hng7)9TRSUi*BKUPUmypwHxAD9m{w%{#kOtqB8OL-A`$W;|4>NHgKB@@+JdPN`4Tc4#Fzw!%R;7a+qK(IaoUSS- z+X(dr(cSv3G*GaQ>rs_AAa!cJQm!&9%j6ESNF|l%JqhOC{0ew7bM5xM57t{r>#ul} zG$*d|Va1ZqP|K~VbR9z*?M}+m$$^ZLsGhEC2(b$NgN#X#3HJ|}$CG{>N6n_v=enqe zY*-+Mp%GzyKEy506&f7_Cd#94Ee_xTkOmH(@tSajnlsy=OOd6&j^g!J1gIcnfTZ;~ zOe5YTU38zGvpwYP{KfdpKKLce+{AN-$^C)Fm5i$L9YiWE-}hiGL#^^(zM@y>D~S&- z=!`^l^*k2uco6k96WjqL5`7f%G{5_EXSl;)@*=%V!b*ITB@gS~aNojcs**6JjIeVa zc#h<4nSP82mq{V|02TJ>UV=Q!5^?^I0S@+*gYF(q(F%Ok#IKu$FjAxnEA7x#poRB7 z5JHeQ?4*(obxzbtgdyM9@U^!n{H%|dCrN+(y~x({J}9j zuY#eh4X$z!aP4&x85`5AF%I@m0T7u#lq05nv;HmNZt_l&iK0z{dgU$=jYg;RTEcJ1 z3ih&cs$~3U##|Ju*JHx%rg0jz${Y+SBG=fX{Edl$;etML48-r1k3Px;&l8e|A%tN( z1he_<-LuJ(F%?pGNI>29kiVI2n3&UER>#8HV*;yS-zpsc1buA$&vZ0Knoaq4VEJ!n zvxVr`=aSF1APd};z3f)uldjBv(L&|oIDg9<)#>H4$1AP%67a$v#TyRls$3o(vRoeJ zZ_jGN%$7phFi9%|?IFHr&8Lg_l@9_x zSlxG!c@NbciKwctDDeB=#lcmg3`e`uC>uPQ|` zwMrt?6>VY&0T=J(G|o5cdz%_=_`;b6vV&g_o+5b@pQ!`yPjLMXI;i0QKK&2-$NvTY jaNpqT|I_AIFYo$unobgLo)V~nr$Jd!L!nUK{Mmm1U2sxo literal 0 HcmV?d00001 -- Gitee