拓扑图
配置
1)静态MAC地址配置
mac-address learning disable命令用来关闭MAC地址学习功能。
关闭MAC地址学习功能后,设备将不会再从该接口学习新的MAC地址。关闭MAC地址学习后可配置的动作有discard和forward。
关闭MAC地址学习功能的缺省动作为forward,即对报文进行转发。当配置动作为discard时,会对报文的源MAC地址进行匹配,当报文的源MAC地址与MAC地址表项匹配时,则对该报文进行转发。当报文的源MAC地址与MAC地址表项不匹配时,则丢弃该报文。
把PC1、PC2的MAC地址静态写入MAC地址表,并在交换机连接PC的接口禁用MAC地址学习,动作为丢弃
mac-address static aabb-cc00-0001 GigabitEthernet0/0/1 vlan 1
mac-address static aabb-cc00-0002 GigabitEthernet0/0/2 vlan 1
#
interface GigabitEthernet0/0/1mac-address learning disable action discard
#
interface GigabitEthernet0/0/2mac-address learning disable action discard
#
interface GigabitEthernet0/0/3mac-address learning disable action discard
#
查看MAC地址表
由于PC3的MAC地址不在MAC地址表中,所以源MAC地址为PC3的报文将被丢弃
2)验证黑洞MAC地址配置
为了防止黑客通过MAC地址攻击用户设备或网络,可将非信任用户的MAC地址配置为黑洞MAC地址。当设备收到目的MAC或源MAC地址为黑洞MAC地址的报文,直接丢弃。
将交换机之前的配置清空
将PC2的MAC地址加入黑洞MAC地址表
mac-address blackhole AABB-CC00-0002 vlan 1
#
查看MAC地址表
PC2作为源或目的都不可达
3)验证MAC地址优先级配置
网络交换机的上行接口连接服务器,下行接口连接用户。为防止非法用户伪造服务器MAC地址入侵交换机,可以提高服务器侧接口的MAC地址学习优先级,接口配置不同优先级之后,如果不同接口学到相同的MAC地址表项,那么高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,反之则不能覆盖。以保证交换机不会从其他接口学习到伪造服务器的MAC地址。这样用户可以访问正确的服务器,正常使用网络资源。
如果接口优先级相同,可以通过undo mac-learning priority allow-flapping命令配置不允许相同优先级的接口发生MAC地址表项覆盖。
mac-learning priority命令和undo mac-learning priority allow-flapping命令都可以提高网络的安全性,区别在于:
- undo mac-learning priority allow-flapping命令配置不允许相同优先级的接口发生MAC地址漂移时,如果网络设备下电,此时会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。
- mac-learning priority命令配置接口学习MAC地址优先级时,如果网络设备下电,此时会学习到伪造网络设备的MAC地址,当网络设备再次上电时还可以学习到正确的MAC地址。
清空之前的配置
配置SW1的G0/0/2接口的MAC地址优先级为3(取值0-3,默认优先级为0)
interface GigabitEthernet0/0/2mac-learning priority 3
#
可防止MAC地址漂移