模拟器:eNSP
安全端口:
将设备端口学习到的MAC地址变为安全MAC地址(分为两类:安全动态MAC地址和Sticky安全地址,这两类地址是设备信任的地址),以阻止除了安全动态MAC和静态MAC之外的主机通过本接口和交换机通信。
安全MAC地址类型:
1.安全动态MAC地址:
当接口上学习到了MAC地址,地址会转换为动态MAC地址,如果当接口上学习的最大MAC地址数量达到上限以后不会再学习新的安全动态MAC地址,并且只允许原来学习到的地址的设备进行入交换机进行通信。开启端口后,默认学习到的最大地址数为1,也就是说只允许学习的第一个MAC地址进行通信,就算原来接口上有多个MAC地址,也只允许现在存在的安全地址进行通信。
当收到了其他MAC地址的报文,有三种动作:分别是保护,限制和关闭,三种方式有一个共同点都是不转发报文,保护是系统不会做出任何提示,限制是系统会做出警告,让管理员发现,关闭是直接将相应的端口进行关闭,并做出相应的提示,让这个接口无法接收任何数据帧。
安全动态MAC地址不老化,但是可以设置老化时间。最后,安全动态MAC地址会在设备重启后消失。
2.Sticky MAC地址:
粘性MAC地址和安全动态MAC地址都是属于安全MAC地址,其实现的功能也是一样的,他们之间的不同主要体现在以下三个方面:
- 安全动态MAC地址可以设置老化的时间(默认为0表示永不老化),自己设置的时候不能设置为0,但是粘性MAC地址是不能够设置老化时间的。
- 安全动态MAC地址重启和会失效,而粘性MAC地址重启后仍然存在,只有undo掉命令才会失效。
- 安全动态MAC地址表项只能通过动态学习到,而粘性MAC地址表既可以通过安全动态MAC地址转换得到,也可以进行手工的配置。
实验拓扑:
PC1:
PC2:
具体步骤:
1.测试安全动态MAC地址的学习
首先没有进行任何配置,让双方进行通信,然后在交换机上查看对应的MAC地址表:
然后在接口上开启安全动态MAC地址的功能,配置:
interface GigabitEthernet0/0/1
port-security enable
重新进行PC1和PC2的通信:
发现原来的动态MAC地址被覆盖变为了动态安全MAC地址,如果在接口上原来配置的是普通静态MAC地址,如果开启了安全功能,静态地址不会进行类型的转换,但是却具有了相应安全接口的特性。
然后检查安全端口的特性,我们将PC1的MAC地址进行修改:
然后用PC1pingPC2,发现ping不通,说明安全端口起作用了。
并且弹出了 警告(安全接口的模拟保护模式是限制):
然后修改其学习的最大的安全MAC地址数量:
interface GigabitEthernet0/0/1
port-security max-mac-num 2 //进入接口,设置最大学习的MAC地址为2
用修改了MAC地址的PC1去pingPC2,观察结果:
已经可以通信了,在交换机上查看对应的MAC地址表,发现安全地址已经从原来的1个变为现在的两个了,说明修改最大的安全MAC地址学习数量成功。
2.测试Sticky MAC地址的学习,首先配置动态学习的Sticky MAC,配置:
interface GigabitEthernet0/0/2 //进入接口
port-security enable //开启粘性MAC地址之前需要开启安全接口的功能
port-security mac-address sticky //然后将接口转换为粘性MAC地址的接口
然后用PC2pingPC1:(发现在g0/0/2上有了粘性的MAC地址)
静态添加粘性MAC地址的配置:(首先需要进入绑定MAC地址的接口)
port-security mac-address sticky 8888-9999-7777 vlan 1 //注意这个MAC地址条目需要绑定vlan,如果接口上已经有了对应的安全MAC地址,并且已经到达了最大数量,这条命令不成功
其他配置:
设置安全动态端口的条目的老化时间:(进入接口)
port-security aging-time x //时间为分钟
设置安全端口的保护动作:(进行接口)
port-security protect-action x //之后跟上自己选取的保护方式,模式是第二个限制
注意:安全地址开启后学习到了动态安全MAC地址,如果再在此接口上开启粘性功能,其动态安全MAC地址直接转换为粘性MAC地址,并且undo掉此功能后,粘性MAC地址自动消失(动态MAC地址也会自动消失)。