CISCO交换机端口安全一点通
网界网
摘要:某单位中有一台Cisco3550交换机,出于网络安全的考虑,对某些端口的安全性要求较高,即只能接入指定的主机,比如设置一间办公室只有某台笔记本电脑可以接入网络,当他带着笔记本出去后,即使空出了网络接口,其它的电脑也无法使用这根网线。下面我们就看网络管理人员是如何逐步实现这一需求的。
Abstract:
Key words :
场景:某单位中有一台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地址)
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参数的含义是当发生违背安全的情况时,是将数据包丢弃,这正好我们的设想,即不是将发生违规的端口关闭,而是将违规的数据包丢弃,这才是我们所要的结果,具体的设置命令如下:
3550#conf t
Enter configuration commands, one per line. End with CNTL/Z.
3550(config)#inter fa0/3
3550(config-if)#shut
3550(config-if)#end
3550#show port-security inter fa0/3
Port Security : Enabled
Port Status : Secure-down
Violation Mode : Protect
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1
Total MAC Addresses : 1
Configured MAC Addresses : 0
Sticky MAC Addresses : 1
Last Source Address : 485b.39b8.a060
Security Violation Count : 0
从实际测试的效果来看也达到我们的要求,即该端口安全的设置生效后,首先连接笔记本电脑是可以接入网络的,更换为一台台式机以后,该台式机的网卡状态仍然显示为已连接,但是网络数据不通,当重新接回笔记本电脑后,网络的通讯又恢复正常了。
此内容为AET网站原创,未经授权禁止转载。