端口安全模式配置:动态MAC地址学习、静态MAC地址绑定、Sticky MAC地址配置

端口安全这个话题,说白了就是给交换机的端口加一把锁。你想想看,如果谁都能随便插个设备到你的交换机上,那网络的安全性就形同虚设了。我刚开始做网络运维那会儿,就遇到过有人偷偷在会议室接了个小交换机,结果整个广播域都炸了。从那以后,我对端口安全就特别上心。

端口安全有三种工作模式:动态MAC地址学习、静态MAC地址绑定、Sticky MAC地址配置。这三种模式各有各的适用场景,咱们一个一个来看。

动态MAC地址学习

这是最基础的模式。交换机端口默认就会学习MAC地址,但动态学习有个问题——它不限制谁可以接入。只要设备发个包,交换机就记住了它的MAC地址。

我个人习惯在接入层交换机上启用端口安全,并设置最大MAC地址数量。比如一个办公位,通常就一台电脑,最多再加个IP电话。那我把最大MAC数设为2或3就够了。

核心配置命令:

interface GigabitEthernet0/0/1
 port-security enable
 port-security max-mac-num 2
 port-security violation shutdown

这里要注意,port-security violation有三种动作:shutdown(端口关闭)、restrict(丢弃并告警)、protect(只丢弃)。我建议生产环境用shutdown,因为一旦有非法设备接入,端口直接down掉,问题能被立刻发现。

避坑指南:我曾经遇到过一个问题——启用了端口安全后,正常用户的电脑换个网口就上不了网了。原因很简单,动态学习的MAC地址在端口down掉或交换机重启后会丢失。所以动态模式适合临时或访客场景,但不适合需要固定接入的设备。

静态MAC地址绑定

静态绑定,说白了就是手动告诉交换机:「这个端口只允许这个MAC地址的设备接入。」这种方式最安全,但维护成本也最高。

我记得有一次给一个政府单位做网络改造,他们的服务器区要求绝对安全。我就用了静态MAC绑定,每个端口只允许指定的服务器MAC地址接入。配置起来虽然麻烦,但效果确实好。

配置示例:

interface GigabitEthernet0/0/2
 port-security enable
 port-security mac-address 00e0.fc00.1234
 port-security violation shutdown

你想想看,如果公司有200个信息点,每个都要手动绑定MAC地址,那工作量可不小。所以静态绑定一般只用在关键设备上,比如服务器、核心交换机互联端口、网管设备等。

模式 安全性 维护成本 适用场景
动态学习 访客网络、临时接入
静态绑定 服务器、核心设备
Sticky MAC 办公网络、固定工位

Sticky MAC地址配置

Sticky MAC是我个人最喜欢的一种模式。它结合了动态学习和静态绑定的优点。端口第一次学习到MAC地址后,会自动把它变成静态绑定条目,并保存到配置中。

为什么会这样?因为Sticky MAC会把动态学到的MAC地址写入running-config,你只要copy running-config startup-config,这些绑定就永久生效了。下次交换机重启,配置还在。

配置命令:

interface GigabitEthernet0/0/3
 port-security enable
 port-security mac-address sticky
 port-security max-mac-num 1
 port-security violation shutdown

嗯,这里要注意一点:Sticky MAC的条目数量不能超过max-mac-num设置的值。如果你设了最大MAC数为2,那端口只能学习并粘住2个MAC地址。

实战技巧:我在项目中经常这样用——先让用户把设备接好,然后启用Sticky MAC。等所有设备都学习完成后,再保存配置。这样既不用手动输入MAC地址,又能保证端口安全。说白了就是「先学习,后锁定」。

不过Sticky MAC也有个坑。如果用户换了网卡或者电脑,原来的MAC地址绑定还在,新设备就接不进去了。这时候你需要手动清除绑定:

clear port-security sticky interface GigabitEthernet0/0/3

或者直接删掉对应的MAC条目:

no port-security mac-address sticky 00e0.fc00.5678

三种模式的选择建议

我个人总结了一个简单的选择逻辑:

  • 访客或临时网络:用动态学习,设个最大MAC数就行,省事。
  • 服务器或核心设备:用静态绑定,安全第一,麻烦点也值得。
  • 办公固定工位:用Sticky MAC,既安全又省心。

最后提醒一句:无论用哪种模式,一定要记得配置port-security aging老化时间。默认情况下,动态学习的MAC地址不会老化,时间长了端口下的MAC表会越来越臃肿。我一般设成5分钟或10分钟,这样不活跃的设备MAC地址会被自动清理掉。

曾经踩过的坑:有一次我忘了配老化时间,结果一个端口下积累了20多个MAC地址(都是临时接入的测试设备)。后来排查网络环路时,光看MAC表就花了大半天。从那以后,老化时间成了我端口安全配置的标配。

好了,端口安全的三种模式就讲到这里。下一章咱们聊聊端口安全的进阶玩法——802.1X认证和端口安全的联动配置。