最近有好几个朋友在后台留言:刚在交换机上配完端口安全(Port Security),一启用就弹出类似 %SWITCH-4-SECURITY_VIOLATION 或 Security violation occurred on port Gi0/1 的报错,连设备都连不上了。其实这不一定是配错了,更多是规则和现实没对上号。
先搞清端口安全到底在防啥
端口安全不是防火墙,它干的是“进门登记+限人头”的活——只允许你事先指定的 MAC 地址(比如办公电脑、IP 电话)从这个物理口接入,超出数量或换了设备就直接 shutdown 端口,顺带甩条报错日志。
最常踩的三个坑
1. MAC 地址学不会,或者学歪了
很多人开了 sticky 模式,以为插上电脑它就自动记下 MAC,结果发现没生效。注意:sticky MAC 只在端口处于 up 状态时才学习,如果插线前就开了安全,或者中间断过连,它可能压根没学到任何地址。手动确认一下:
Switch# show port-security interface fa0/5
Port Security : Enabled
Port Status : Secure-down
Violation Mode : Shutdown
Aging Time : 0 mins
Secure Static Address Count: 0
Secure Dynamic Address Count: 0
Sticky Address Count : 0看到全是 0?那八成是没学进去。可以先 shutdown 再 no shutdown 接口,让设备重新握手学习;或者干脆用 switchport port-security mac-address sticky 配完后,手动 ping 通一次再查。
2. 最大允许数设太小,自己把自己锁门外
比如配了 switchport port-security maximum 1,但实际接了个带网口的打印机(打印+管理口共 2 个 MAC),或者用了 USB 网卡+板载网卡双网卡笔记本,一插就超限。建议普通办公口起步设 maximum 3,留点余量。
3. 违规模式选错,一出事就断网
默认是 shutdown 模式——只要撞到规则,端口立刻 down 掉,必须手工 errdisable recovery cause psecure-violation 才能恢复。日常排障建议先切到 restrict 模式:
Switch(config-if)# switchport port-security violation restrict这样违规只会丢包+记日志,不影响连通性,方便你慢慢抓包看谁在乱入。
快速自检三步走
① 查当前端口 MAC 学习情况:show port-security interface gi0/1
② 查已绑定的 MAC 列表:show port-security address
③ 看有没有刚触发的违规记录:show log | include SECURITY
如果发现列表里 MAC 是陌生的(比如厂家测试用的虚拟机 MAC、VMware 的 0050.56xx.xx),赶紧清理:clear port-security dynamic interface gi0/1,再重配。
端口安全不是越严越好,关键是贴合你真实设备类型和使用习惯。配完别急着上线,拿备用笔记本换几块网卡试试,比啥文档都管用。