实战练习:CISCO交换机端口安全一点通
CISCO交换机的配置我们讲解了不少,这里我们主要针对CISCO 3550交换机的端口安全的配置进行一下讲解。场景:某单位中有一台CISCO3550交换机,出于网络安全的考虑,对某些端口的安全性要求较高,即只能接入指定的主机,比如设置一间办公室只有某台笔记本电脑可以接入网络,当他带着笔记本出去后,即使空出了网络接口,其它的电脑也无法使用这根网线。下面我们就看网络管理人员是如何逐步实现这一需求的。
一、判断交换机端口通断状态的方法
作为网络管理员,在应用新的功能前,肯定要先经过测试,即为了保证网络的稳定运行,只能在空闲的端口上面测试新功能。如何找到空闲的端口,到交换机的前面直接去查看是一种方法,当然作为一名资深的网管人员来说,一般是不会这么做的,我们是通过在交换机上执行相应的指令来找到自己所需的答案的。以前我是用show inter命令来看,但是这条命令显示的信息太多了,看起来不方便,现在我是用show inter status命令来看,这条命令可以逐条显示出每个端口的通断状态(用“connected”和“notconnect”来表示),本例中我就通过这条命令找到了一个空闲的端口3来进行随后的测试。
3550#show inter status Port Name Status Vlan Duplex Speed Type Fa0/3 huangtun notconnect 66 auto auto 10/100BaseTX
二、端口安全的基本操作
(一)显示端口3口上面的MAC地址
3550#show mac-address-table int fa0/3 Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- -----
(由于端口上面现在没接任何网线,所以显示该端口上面没有任何MAC地址)
(二)清除动态获到的MAC 地址
3550#clear mac-address-table dynamic inter fa0/3
以上两步操作的目的是确认当前端口上面没有MAC地址的记录,以便证明我们以后进行的操作是有效的。
(三)关闭端口、将其配置为接入端口并执行配置端口安全的命令
端口安全的实现是通过switchport port-security命令来实现的,这是一条核心的指令,辅以与之相关的其它命令,我们就可以实现端口安全的设置。由于大多采用的默认设置,所以本例实现的功能是端口3上面只允许一个指定的MAC地址通过,并在出现安全违规时关闭端口,先对相关的设置命令做一下解释:
switchport port-security命令在端口上启用端口安全,默认设置情况下只允许一个MAC地址通过,并在出现安全违规时关闭接口。
switchport port-security mac-add sticky命令让交换机获悉当前与端口相关联的MAC地址,该地址将包含在运行配置中。如果将运行配置保存到启动配置中,则路由器重启后,该地址也将保留下来。
介绍完核心命令的操作,我们再介绍一下端口安全操作的思路:首先关闭端口3。使用命令switchport mode access将端口配置为接入端口,以便配置端口安全。使用命令switchport port-securtiy启用端口安全,然后使用命令swithchport port-security mac-address sticky让端口获悉其连接机的主机的IP地址。最后,执行命令no shutdown重新启用端口,使其能够获悉主机的MAC地址,实现以上操作的命令如下。
3550#conf t Enter configuration commands, one per line. End with CNTL/Z. 3550(config)#inter fa0/3 3550(config-if)#shutdown 3550(config-if)#switchport mode access 3550(config-if)#switchport port-security 3550(config-if)#switchport port-security mac-address sticky (设置MAC地址的粘性,我对这条命令的理解是交换机会自动的学习到第一次接到到该端口的网络设备的MAC地址,并把它记录到当前的配置文件中) 3550(config-if)#end
(四)查看配置信息的操作
1、查看当前配置文件中有关FA0/3端口的信息
3550#show run inter fa0/3 Building configuration... Current configuration : 281 bytes ! interface FastEthernet0/3 switchport access vlan 66 switchport mode access switchport port-security switchport port-security mac-address sticky end
2、查看有关FA0/3端口安全方面的信息
Port Security : Enabled Port Status : Secure-down 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 : 0000.0000.0000 Security Violation Count : 0
(五)实际测试
我们拿一台笔记本电脑,接入FA0/3端口,这台笔记本网卡的状态显示为连通,由于VLAN66网段内有DHCP服务器,也可以顺利的获取IP地址,访问网络。然后再将连接这台笔记本电脑的网线接到另外一台微机上,该微机的网卡状态显示为断开,说明端口安全已经生效。
(六)存在的问题
本来以为端口安全的操作到此已经完成了,但是将这根网线再插回到刚才的那台笔记本电脑上时,却发现网络仍然处于断开状态,查看端口的状态,处于“error disable”,虽然我们可以通过在FA0/3端口执行shutdown和no shutdown命令将这个端口恢复正常,但是这个操作太麻烦了,而且也不现实,总不能每次用户每次发现端口关闭了以后,都去找网管员执行shutdown、no shutdonw命令。
三、对端口安全设置的深入研究
在已经实现端口安全的基础上(虽然效果跟我们的要求还有一定差距),我们继续对相关的功能进行研究,在查看端口安全状态的“Violation(违背) Mode”时,发现默认的处理是shutdown,那么还有没有其它的选项呢?通过“?”(帮助),我们还真找到其它的两个选项,分别为
3550(config-if)#switchport port-security violation ? protect Security violation protect mode restrict Security violation restrict mode shutdown Security violation shutdown mode
通过查看相关的资料,我们了解到protect参数的含义是当发生违背安全的情况时,是将数据包丢弃,这正好我们的设想,即不是将发生违规的端口关闭,而是将违规的数据包丢弃,这才是我们所要的结果,具体的设置命令如下: