session 1 端口安全
在网络中MAC地址是设备中不变的物理地址,控制MAC地址接入就控制了交换机的端口接入,所以端口安全也是对MAC的的安全。在交换机中CAM(Content Addressable Memory,内容可寻址内存表)表,又叫MAC地址表,其中记录了与交换机相连的设备的MAC地址、端口号、所属vlan等对应关系。
一、MAC地址表分为三张
1、静态MAC地址表,手工绑定,优先级高于动态MAC地址表
2、动态MAC地址表,交换机收到数据帧后会将源mac学习到MAC地址表中
3、黑洞MAC地址表,手工绑定或自动学习,用于丢弃指定MAC地址
二、MAC地址表的管理命令
1、查看mac地址表
2、配置静态mac地址表
[Huawei] mac-address static 5489-98C0-7E34 GigabitEthernet 0/0/1 vlan 1 将mac地址绑定到接口g0/0/1在vlan1中有效
3、配置黑洞mac地址表
[Huawei] mac-address blackhole 5489-987f-161a vlan 1 在vlan1中收到源或目的为此mac时丢弃帧
4、禁止端口学习mac地址,可以在端口或者vlan中禁止mac地址学习功能
[Huawei-GigabitEthernet0/0/1]mac-address learning disable action discard
禁止学习mac地址,并将收到的所有帧丢弃,也可以在vlan中配置
[Huawei-GigabitEthernet0/0/1] mac-address learning disable action forward
禁止学习mac地址,但是将收到帧以泛红方式转发(交换机对于未知目的mac地址转发原理),也可以在vlan中配置
5、限制MAC地址学习数量,可以端口或者vlan中配置
[Huawei-GigabitEthernet0/0/1]mac-limit maximum 9 alarm enable
交换机限制mac地址学习数量为9个,并在超出数量时发出告警,超过的MAC数量将无法被端口学习到,但是可以通过泛红转发(交换机对于未知目的mac地址转发原理),也可以在vlan中配置
6、配置端口安全动态mac地址
此功能是将动态学习到的MAC地址设置为安全属性,其他没有被学习到的非安全属性的MAC的帧将被端口丢弃
[Huawei-GigabitEthernet0/0/3]port-security enable 打开端口安全功能
[Huawei-GigabitEthernet0/0/3]port-security max-mac-num 1 限制安全MAC地址最大数量为1个,默认为1
[Huawei-GigabitEthernet0/0/3]port-security protect-action ? 配置其他非安全mac地址数据帧的处理动作
protect Discard packets 丢弃,不产生告警信息
restrict Discard packets and warning 丢弃,产生告警信息(默认的)
shutdown Shutdown 丢弃,并将端口shutdown
[Huawei-GigabitEthernet0/0/3]port-security aging-time 300 配置安全MAC地址的老化时间300s,默认不老化
在端口安全动态MAC地址中,配置如上的话,在g0/0/3端口学习到的第一个MAC地址设置为安全MAC地址,此外其他MAC地址在接入端口的话都不给予转发,在300s后刷新安全MAC地址表,并且重新学习安全MAC地址,(哪个MAC地址)先到就先被学到端口并设置为安全MAC地址,但是在交换机重启后安全MAC地址会被清空重新学习。
7、配置端口安全Sticky贴粘MAC地址
此功能与端口安全动态mac地址一直,唯一不同的是:粘贴MAC地址不会老化,切交换重启后依然存在,动态安全mac地址只能动态学到而安全粘贴MAC可以动态学习也可以手工配置。
[Huawei-GigabitEthernet0/0/3]port-security enable 打开端口安全功能
[Huawei-GigabitEthernet0/0/3]port-security mac-address sticky 打开安全粘贴MAC功能
[Huawei-GigabitEthernet0/0/3]port-security max-mac-num 1 限制安全MAC地址最大数量为1个,默认为1
[Huawei-GigabitEthernet0/0/3]port-security mac-address sticky 5489-98D8-71D5 vlan 1 手工绑定粘贴MAC地址和所属vlan
[Huawei-GigabitEthernet0/0/3]port-security protect-action restrict 配置其他非安全mac地址数据帧的处理动作
查看粘贴MAC地址状态
[Huawei-GigabitEthernet0/0/3] display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-98d8-71d5 1 - - GE0/0/3 sticky -
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 1
[Huawei-GigabitEthernet0/0/3]
8、配置MAC地址防漂移功能
MAC地址漂移就是:在一个接口学习到的MAC地址在同一个vlan中的其他接口上也被学习到,这样后学习的MAC地址信息就会覆盖先学到的MAC地址信息(出接口频繁变动),这种情况多数为出现环路的时候发生,所以这个功能也可以用来排查和解决环路问题。
MAC地址防止漂移功能的原理是,在接口上配置优先级,优先级高的接口学习到的MAC地址不会在桶vlan的优先级低的其他接口上被学到,如果优先级相同那么可以配置不允许相同优先级的接口学习到同一个MAC地址。
[Huawei]mac-address flapping detection 全局开启MAC漂移检测
[Huawei]interface g0/0/2
[Huawei-GigabitEthernet0/0/2]mac-learning priority 3 配置g0/0/2的接口优先级为3,默认为0
[Huawei-GigabitEthernet0/0/2]mac-address flapping trigger error-down 接口发生MAC地址漂移后关闭
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]interface g0/0/3
[Huawei-GigabitEthernet0/0/3]mac-address flapping trigger error-down 接口发生MAC地址漂移后关闭
[Huawei-GigabitEthernet0/0/3]quit
配置完成后,当g0/0/2的MAC漂移到g0/0/3后,g0/0/3端口将被关闭。
查看MAC地址漂移记录命令: [Huawei]display mac-address flapping record 查看MAC地址漂移记录9、配置丢弃全0的MAC地址报文功能
在网络中一些主机或者设备在发生故障时,会发送全源和目的MAC地址为全0的帧,可以配置交换机丢弃这些错误报文功能。
[Huawei]drop illegal-mac enable 打开丢弃全零mac地址功能
[Huawei]snmp-agent trap enable feature-name lldptrap 开启snmp的lldptrap告警功能
[Huawei]drop illegal-mac alarm 打开收到全0报文告警功能,前提是必须开启snmp的lldptrap告警功能
10、配置MAC地址刷新arp功能
mac信息更新后(如用户更换接入端口)自动刷新arp表项功能
[Huawei]mac-address update arp
11、配置端口桥接功能
正常情况下,交换机在收到源MAC地址和目的MAC地址的出接口为同一个接口的报文时,就认为该报文为非法报文,进行丢弃,但是有些情况下数据帧的源MAC和目的MAC地址又确实是同一个出接口,为了让交换机能够不丢弃这些特殊情况下的帧需要启用交换的端口桥功能,比如交换机下挂了不具备二层转发能力的HUB设备,或者下挂了一台启用了多个虚拟机的服务器,这样在这些下挂设备的下面的主机通信都是通过交换机的同一个接口收发的,所以这些帧是正常的帧不能丢弃。
[Huawei]interface g0/0/10
[Huawei-GigabitEthernet0/0/10] port bridge enable 为接口开启桥功能
[Huawei-GigabitEthernet0/0/10] quit