一、知识框架

图片.png

MAC泛洪***利用了交换机的MAC学习机制,***者通过发送伪造源地址的数据包,让交换机学习到错误的MAC转发表项,同时交换机的MAC转发表项就会被这种虚假的信息占满,导致正常的数据包转发时匹配不到转发表项而泛洪到VLAN内的所有其它端口,这样就可以实现报文监听了
1、交换机的MAC学习机制
2、MAC表项的数目限制
3、交换机的转发机制

MAC泛洪***的预防
1、配置静态MAC转发表
2、配置端口的MAC学习数目限制

[SwitchA]vlan 80
[SwitchA-vlan80]mac-address learning disable #关闭MAC地址学习功能
[SwitchA-vlan80]mac-limit maximum 80 #限制接口的MAC地址学习数
[SwitchA-vlan80]mac-limit alarm enable #MAC地址数达到限制后进行告警
[SwitchA-vlan80] loop-detect eth-loop block-mac block-time 6000 retry-times 5#配置MAC地址漂移检测功能
[SwitchA]display mac-limit #查看MAC地址学习数限制信息
若关闭MAC地址学习功能,设备在收到数据帧时将不会进行MAC地址的学习。另外之前学习到的动态表项不会立即删除,需要等待老化时间到达后老化删除,或手工执行删除MAC命令进行删除
[RouterC-Ethernet0/0/1] quit

[SwitchA]undo mac-address #清除所有MAC地址表项
[SwitchA]mac-address static 0002-0002-0002 Ethernet2/0/1 vlan 2 #静态绑定MAC地址
[SwitchA]mac-address blackhole 0005-0005-0005 vlan 3 #配置黑洞MAC地址表项
[SwitchA]display mac-address blackhole #查看黑洞MAC表是否添加成功
[SwitchA]display system-mac #查看系统的MAC地址


二、端口安全配置步骤

端口安全配置:(基于源MAC允许流量)
interface f0/0  先关闭端口再配置安全信息

switchport mode access 启用端口安全时,必须设为access
switchport port-security 启用端口安全(默认只能学1个MAC)
switchport port-security mac-address xxxx.xxxx.xxxx  端口授权的MAC地址
switchport port-security maximum 3  指定最多允许学多少个地址
switchport port-security mac-address sticky  将动态学到的地址粘住,永久使用

switchport protected   端口隔离(protected之间不能互访、可以与其他端口访问)
switchport block unicast 禁止单播(端口安全优化)

switchport port-security violation [protect|restrict|shutdown] 指定行为

proctect #当超过所允许学习的最大MAC数时,将未授权主机的帧丢弃drop,但不会通知有流量违规
restric#禁止不合法的MAC地址流量,但会通知,发送SNMP trap,并会记录syslog
shutdown#默认模式,收到不合法的MAC地址,将接口变成error-disable并关闭,并发送SNMP trap,并会记录syslog

show port-security 查看端口安全状态,哪些接口应用了端口安全
show port-security address 可以看到授权的MAC地址
show port-security interface f0/1 可以看到接口的具体状态

让err-disable接口自动恢复
errdisable recovery cause psecure-violation
show errdisable


mac-address-table static xxxx.xxxx.xxxx vlan 1 drop #基于源MAC限制流量,拒绝某个vlan的某个MAC地址

show mac-address-table查看命令

同台交换机上protected port与protected port之间的流量相互被拒绝,只针对同一vlan,不同交换机是可以通信的

注:端口安全不能在dynamic接口上配置
端口安全不能是SPAN的目标接口,不能在EtherChannel中


三、华为配置

MAC地址表
1、静态绑定——>永不老化
2、动态学习——>老化时间300s
mac-address static 5489-1111-2222 G0/0/2 vlan 20 #静态绑定MAC地址条目

arp anti-attack gateway-duplicate enable #配置ARP防网关冲突
reset arp static # 清除设备上所有的静态ARP表项
mac-address update arp #配置MAC刷新ARP功能

display bridge mac-address #查看设备的MAC地址
display arp network 172.16.0.0 16 #查看ARP表项
display arp | include 1.1.1.1 #获取指定IP对应设备的MAC地址

interface g0/0/0
port-security enable #开启端口安全
port-security max-mac-number 1 #限制端口动态学习数量1
port-security mac-address xxxx-xxxx-xxxx #手工配置安全静态MAC地址表项
port-security protect-action shutdown #端口保护动作关闭


restrict #丢弃源MAC地址不存在的报文并上报告警,推荐使用restrict
protect #丢弃源MAC地址不存在的报文,不上报告警(接口处于UP状态

shutdown #接口状态被置为error-down,并上报告警。默认情况下,接口关闭后不会自动恢复(接口处于down,不会自动恢复的


error-down auto-recovery cause port-security interval 1是接口自动恢复UP
port-security aging-time 1 老化时间1min,缺省不老化


system-view
interface vlanif 100
ip verify source-address #IP源地址校验是接口对接收到的报文进行源地址合法性检查,源地址非法的报文将被丢弃


display port vlan 查看vlan端口
display port vlan active 查看激活vlan


H3C配置命令

port-security enable

port-security trap intrusion 打开***检测trap开关

port-security max-mac-count 8 定义端口安全最大MAC的数量

port-security mode autolearn 定义端口安全模式

port-security intrusion-mode blockmac 触发***检测的动作