diff --git "a/\346\270\251\346\230\237\350\276\260/2024.5.10\344\272\244\346\215\242\346\234\272\347\232\204\347\253\257\345\217\243\345\256\211\345\205\250\351\205\215\347\275\256.md" "b/\346\270\251\346\230\237\350\276\260/2024.5.10\344\272\244\346\215\242\346\234\272\347\232\204\347\253\257\345\217\243\345\256\211\345\205\250\351\205\215\347\275\256.md"
new file mode 100644
index 0000000000000000000000000000000000000000..266452d32b3ca82e3a84c6f8e336bf1f0acf9bb0
--- /dev/null
+++ "b/\346\270\251\346\230\237\350\276\260/2024.5.10\344\272\244\346\215\242\346\234\272\347\232\204\347\253\257\345\217\243\345\256\211\345\205\250\351\205\215\347\275\256.md"
@@ -0,0 +1,196 @@
+# 交换机的安全配置
+
+在一般的企业环境中,交换机是使用最多的设备,下面简单介绍一些关于交换机端口安全的配置:
+
+在交换机端口配置模式下输入
+
+```js
+Switch(config-if)#switchport port-security ?
+ mac-address Secure mac address
+ maximum Max secure addresses
+ violation Security violation mode
+
+Switch(config-if)#switchport port-security maximum ? // 该命令用来设置此端口可以连接的客户机的最大数量,范围是1-132
+ <1-132> Maximum addresses
+
+Switch(config-if)#switchport port-security violation ? //该命令用来设置如果连接的客户机数量超过规定时所要采取的措施
+ protect Security violation protect mode //保护模式:超过限制客户机的帧将被抛弃
+ restrict Security violation restrict mode //限制模式:超过限制就通过SNMP通告管理员
+ shutdown Security violation shutdown mode //关闭模式:超过限制就关闭端口
+
+Switch(config-if)#switchport port-security mac-address //该命令用来绑定客户机MAC地址
+ H.H.H 48 bit mac address //手动输入要绑定的地址
+ sticky Configure dynamic secure addresses as sticky //自动粘贴前N台客户机的地址,N是maximum命令设置的最大客户机数量
+
+//一个典型的示例:
+
+Switch(config-if)#switchport port-security maximum 1
+Switch(config-if)#switchport port-security violation shutdown
+Switch(config-if)#switchport port-security mac-address sticky
+//配置这些命令后,该端口只允许一个客户机通过它进行通信,并且会自动粘贴第一个客户机的MAC地址,如果有其它客户机尝试通过,则该端口会因为违反端口安全被关闭。
+```
+
+
+
+> 但是,仅仅配置完以上命令是不够的,你会发现它完全不起作用。为什么呢?
+
+使用
+
+```js
+Switch#show port-security interface fa0/1 // 查看f0/1端口的安全配置
+```
+
+查看结果:
+
+```js
+Port Security : Disabled
+Port Status : Secure-up
+Violation Mode : Shutdown
+Aging Time : 0 mins
+Aging Type : Absolute
+SecureStatic Address Aging : Disabled
+Maximum MAC Addresses : 1
+Total MAC Addresses : 0
+Configured MAC Addresses : 0
+Sticky MAC Addresses : 0
+Last Source Address:Vlan : 0000.0000.0000:0
+Security Violation Count : 0
+```
+
+> 注意上面结果第一行Port Security为Disable。 问题就在这里!
+
+**要使端口安全起作用,首先要在端口模式下启用端口安全:**
+
+```js
+Switch(config-if)#switchport port-security // 开启交换机端口的安全模式
+Command rejected: FastEthernet0/1 is a dynamic port. // 不出意外的话,出意外了。报了这个提示!
+```
+
+> 等等!WHY?
+
+原因就是动态端口是不能启用端口安全的,必须使用命令
+
+```js
+Switch(config-if)#switchport mode access //把动态端口改变为访问端口
+```
+
+然后再启用端口安全
+
+```js
+Switch(config-if)#switchport port-security // 再次开启交换机端口的安全模式
+```
+
+然后重新验证结果:
+
+```js
+Switch#show port-security interface fa0/1 // 查看状态
+Port Security : Enabled // 已启用
+Port Status : Secure-up
+Violation Mode : Shutdown
+Aging Time : 0 mins
+Aging Type : Absolute
+SecureStatic Address Aging : Disabled
+Maximum MAC Addresses : 1
+Total MAC Addresses : 0
+Configured MAC Addresses : 0
+Sticky MAC Addresses : 0
+Last Source Address:Vlan : 0000.0000.0000:0
+Security Violation Count : 0
+```
+
+好了,现在端口安全才可以正式的起作用了。
+
+> 测试:
+
+第一次能Ping通,将交换机端口上的线交换位置,再ping,发现不通了!
+
+如果想清除绑定,可用以下命令:
+
+```js
+Switch#clear port-security sticky //清除所有已绑定的粘性MAC地址,清除后,再手动开启端口
+```
+
+如果违反端口安全端口会被关闭,则上面结果中的Port Status会变为Secure-down,这时需要在端口配置模式下使用shut和no shut(禁用再启用)即可使端口恢复正常。
+
+
+
+
+
+
+
+# 相关练习实验
+
+## 实验目的:
+
+- 掌握交换机的端口安全功能,控制用户的安全接入
+
+## 二、实验背景:
+
+- 公司网络采用个人固定IP上网方案,为了防止公司内部用户IP地址借用、冒用,私自接入交换机等违规行为,同时防止公同内部的网络攻击和破坏行为,公司要求对网络进行严格的控制,为此需要在交换机做适当配置。
+
+## 三、技术原理:
+
+- 端口安全:可根据MAC地址来对网络流量的控制和管理,比如MAC地址与具体的端口绑定,限制具体端口通过的MAC地址的数量,或者在具体的端口不允许某些MAC地址的帧流量通过。稍微引申下端口安全,就是可以根据802.1X来控制网络的访问流量。
+- Cisco交换机端口默认处于可取模式(指当检测到其他交换机连接时,端口倾向于中继连接),因此要保证交换机端口安全功能的正常工作,必须先将端口模式修改为接入端口或中继端口(3层交换机上须指定封装类型)。
+- 安全地址表项配置:交换机内有mac-address-table表,表示端口与MAC地址的对应关系,当设备接入时,交换机可学习到设备的MAC地址,并加入该表中。
+ - 动态MAC地址:交换机主动学习MAC地址,当端口状态改变时,将重新学习并更新MAC地址表
+ - 静态MAC地址:人为将”端口与MAC地址“进行绑定,并加入表中,该端口不再主动学习
+ - 粘性MAC地址:首次主动学习MAC地址并绑定,当端口状态再次改变时,该端口不再主动学习
+- 当端口接收到未经允许的MAC地址流量时,交换机会执行以下违规动作:
+ - 保护(Protect):丢弃未允许的MAC地址流量,但不会创建日志消息。
+ - 限制(Restrict):丢弃未允许的MAC地址流量,创建日志消息并发送SNMP Trap消息
+ - 关闭(Shutdown):默认选项,将端口置于err-disabled状态,创建日志消息并发送SNMP Trap消息。若要重新开启该端口,需要"先关闭再打开"端口或使用errdisable recovery命令。后者在模拟器上无法使用。
+- 实验设备:Switch_2960 2台;PC 4台;直通线;交叉线。
+
+## 四、实验拓扑:
+
+![20240420121326](./assets/20240420121326.png)
+
+## 五、实验步骤:
+
+1. 开启交换机的端口安全功能
+2. 配置交换机的最大连接数限制
+3. 查看主机的IP和MAC地址信息
+4. 配置交换机的地址绑定
+5. 查看交换机上端口安全配置
+
+> 注意:模拟器上,无法在3层交换机上使用show port-security命令
+
+
+
+```js
+PC设置
+192.168.1.2 //PC0
+192.168.1.3 //PC1
+192.168.1.4 //PC2
+192.168.1.5 //PC3
+//子网掩码和网关
+255.255.255.0
+192.168.1.1
+```
+
+Switch0和Switch1上的配置
+
+```js
+Switch>en
+Switch#conf t
+Switch(config)#inter rang f0/1-22
+Switch(config-if-range)#switchport mode access //配置端口为接入类型,否则默认为动态端口,不能启用安全模式,少了这句会报Command rejected: FastEthernet0/1 is a dynamic port. 错误
+Switch(config-if-range)#switchport port-security //开启端口安全功能
+//设置端口最大连接数为1,即启用动态MAC安全地址
+Switch(config-if-range)#switchport port-security maximum 1
+//若发现违规动作,处理方式为关闭端口
+Switch(config-if-range)#switchport port-security violation shutdown
+Switch(config-if-range)#end
+Switch#show port-security //查看端口安全配置
+Switch#show port-security int f 0/1 //查看f0/1端口的安全配置
+Switch(config-if-range)#switchport port-security mac-address sticky //启用粘性MAC地址,自动绑定接入的MAC地址
+//ping测试,结果链路均通
+//然后互换PC2和PC3在交换机上的端口,ping测试,结果链路均不通
+Switch(config-if-range)#end
+Switch#show mac-address-table //查看端口MAC地址绑定配置
+Switch#clear port-security sticky //清除所有已绑定的粘性MAC地址
+```
+
+
+
diff --git "a/\346\270\251\346\230\237\350\276\260/2024.5.11\345\210\235\350\257\206\344\270\211\345\261\202\344\272\244\346\215\242\346\234\272.md" "b/\346\270\251\346\230\237\350\276\260/2024.5.11\345\210\235\350\257\206\344\270\211\345\261\202\344\272\244\346\215\242\346\234\272.md"
new file mode 100644
index 0000000000000000000000000000000000000000..302de070cc2e44e3bf94efa5ece00006b41a81d4
--- /dev/null
+++ "b/\346\270\251\346\230\237\350\276\260/2024.5.11\345\210\235\350\257\206\344\270\211\345\261\202\344\272\244\346\215\242\346\234\272.md"
@@ -0,0 +1,9 @@
+
+
+
+
+初识三层交换机
+
+1. ip routing 开启路由功能:作用让不同网段的ip互通,全局模式
+2. no switchport 开启端口的三层功能:作用是让二层端口变成三层端口,使其可以绑定IP [这个命令要求先进入对应的端口]int f 0/1
+3. switchport trunk encapsulation dot1q:将trunk模式先封装成dot1q协议模式。才可以设置turnk,接口模式
\ No newline at end of file
diff --git "a/\346\270\251\346\230\237\350\276\260/2024.5.8\347\253\257\345\217\243\345\256\211\345\205\250.md" "b/\346\270\251\346\230\237\350\276\260/2024.5.8\347\253\257\345\217\243\345\256\211\345\205\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..751560cfcd1dfc9ac6100e1ef22638e371da176f
--- /dev/null
+++ "b/\346\270\251\346\230\237\350\276\260/2024.5.8\347\253\257\345\217\243\345\256\211\345\205\250.md"
@@ -0,0 +1,23 @@
+# 交换机端口安全的配置
+
+```js
+// 1.选择要进行安全设置的端口
+Switch(config)#int f0/1
+// 2.启用交换机接口的接口安全设置
+Switch(config-if)#switchport port-security // 直接这么写会报提示
+//Command rejected: FastEthernet0/1 is a dynamic port. 因为端口默认是动态的。要改成访问模式access
+// 3.改成访问模式access
+Switch(config-if)#switchport mode access
+Switch(config-if)#switchport port-security // 再次启用交换机接口的接口安全设置
+// 启动安全设置后,还要做三件事,才能生效
+Switch(config-if)#switchport port-security maximum 1 // 设置最大允许连接的终端数量1
+Switch(config-if)#switchport port-security violation shutdown //设置超过最大连接数的违规设备的处理方式
+Switch(config-if)#switchport port-security mac-address sticky //绑定正确的MAC地址
+
+
+// 如何测试是否生效,前提是交换机要记录到正确的MAC地址
+//为了让交换机记录到第一次正确的MAC地址,需要ping一次,
+// 要重新启用被安全规则关闭的端口,先手动关闭一次,再手动开启。
+Switch#clear port-security sticky // 清除交换机已经记录的安全MAC地址,重新开始记录
+```
+