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地址,重新开始记录 +``` +