交换机的端口安全
本篇讲一下交换机的端口安全,虽然简单,但是在生活的运用极为常见,可以有效的保护我们的网络的安全。
端口安全
端口安全(Port Security),从基本原理上讲,Port Security特性会通过MAC地址表记录连接到交换机端口的以太网MAC地址(即网卡号),并只允许某个MAC地址通过本端口通信。其他MAC地址发送的数据包通过此端口时,端口安全特性会阻止它。使用端口安全特性可以防止未经允许的设备访问网络,并增强安全性。另外,端口安全特性也可用于防止MAC地址泛洪造成MAC地址表填满。
常见的端口安全有绑定其MAC地址,只允许本台物理设备访问网络,一般安全性较高的公司不允许私人电脑连接公司内网,即使连接上也是无法访问网络的。也有的限制其最大的连接数,当超过一定数量的MAC地址时,自动关闭端口来保护网络,这两种方法都能有效的防止MAC欺骗和泛洪攻击。
配置命令
SW1(config)#interface f0/1 //进入端口模式
SW1(config-if)#switch mode access //把端口改为访问模式
SW1(config-if)#switch port-security //打开交换机的端口安全功能
sw03(config-if)#switch port-security maximum 3 // 设置端口上的最大同时连接数为 3
R10(config-if)#mac-address 3.3.3 //修改MAC地址
SW1(config-if)#switchport port-security violation restrict //修改violation方式为restrict 默认shutdown,还有protect模式可选。
SW1(config-if)#switchport port-security mac-address 7.7.7 //将路由器f0/0 的mac地址绑定,静态绑定MAC地址
实例举例
环境:R9、R10模拟PC,保证R9与R10能够互相通信,SW1作为交换机。
需求1:使用交换机端口安全技术,使得当R9的mac地址发生变化时,R9无法再次ping通R10。改回原来mac地址,恢复通信。
需求2:设置交换机e0/1端口上的最大同时连接数为 3,当连接数超过3时,R9无法与10通信。
需求3:修改violation方式,将SW1的e0/0修改成restrict,并且绑定mac地址7.7.7,将e0/1修改成protect,并且绑定mac地址8.8.8。配置:
底层配置,配置IP地址,这里不再介绍。
需求1:
先来看没配置之前的情况,SW1正常学习到R9与R10的mac地址,可以正常通信。
配置端口保护:
SW1(config)#interface f0/1 //进入端口模式
SW1(config-if)#switch mode access //把端口改为访问模式
SW1(config-if)#switch port-security //打开交换机的端口安全功能配置完成,我们修改R9的mac地址
R11(config)#int e0/0
R11(config-if)#mac-address 1.1.1
这时候我们来查看访问情况和mac地址表
可以看到,现在R9已经ping通不了R10了,SW1的mac地址也随之变化,新的mac地址也无法被交换机学到。
现在,我们把mac地址重新改回来。
R11(config)#int e0/0
R11(config-if)#mac-address aabb.cc00.9000
这时候我们会发现还是没有变化,理由是由于端口安全的配置,导致接口现在是err-disabled的双down情况,所以需要我们将接口shutdown,再 no shutdown 。
SW1(config)#int e0/1
SW1(config-if)#shutdown
SW1(config-if)#no shutdown这时后我们再来查看访问和mac地址表,
成功恢复通信,到此,需求1满足需求。
需求2:
SW1(config)#int e0/0
SW1(config-if)#switch mode access //把端口改为访问模式
sw03(config-if)#switch port-security
sw03(config-if)#switch port-security maximum 3 设置端口上的最大同时连接数为 3
配置完成,我们在R10修改mac地址为2.2.2和3.3.3
R10(config-if)#mac-address 2.2.2
R10(config-if)#mac-address 3.3.3
此时来查看交换机MAC地址表
此时有MAC地址表有只有3个连接数,还是可以实现访问通信。
再在R10修改mac地址为4.4.4
R10(config-if)#mac-address 4.4.4
此时来查看访问和MAC地址表,mac地址连接数已经超过了3个,所以触发端口安全,使得R9无法访问R10。
到此,满足需求2的要求。
需求3:
SW1(config)#int e0/0
SW1(config-if)#switchport port-security violation restrict //修改violation方式为restrict
SW1(config-if)#switchport port-security mac-address 7.7.7 //然后将路由器f0/0 的mac地址绑定
SW1(config)#int e0/0
SW1(config-if)#switchport port-security violation protect //修改violation方式为protect
SW1(config-if)#switchport port-security mac-address 8.8.8 //然后将路由器f0/0 的mac地址绑定
到此,满足全部需求。
补充:
1、protect 模式,当违规时,只丢弃违规的数据流量,不违规的正常转发,而且不会通知有流量违规,也就是不会发送SNMP trap ;
2、restrict , 当违规时,只丢弃违规的流量,不违规的正常转发,但它会产生流量违规通知,发送SNMP trap,并且会记录日志;
3、shutdown,这个是默认模式,当违规时,将接口变成error-disabled并shut down,并且接口LED灯会关闭,也会发SNMP trap,并会记录syslog。