1 MAC地址①mac地址表分类动态表项由接口通过报文中的源MAC地址学习获得,表项可老化,默认老化时间300秒。
在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。
新的mac地址通过未知单播泛洪到每个交换机的端口生成树目的组播mac:mac 01-80-c2-00-00vrrp组播mac:01-00-5e-00-00-00静态表项由用户手工配置,并下发到各接口板,表项不可老化。
在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
静态mac表项:防止mac冒充攻击全局:mac-address static 5489-989e-6a29 GigabitEthernet0/0/3 vlan 1黑洞表项由用户手工配置,并下发到各接口板,表项不可老化。
配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。
黑洞mac表项:防止虚机攻击注意:一定要加vlan x ,否则不生效全局:mac-address blackhole 5489-989c-3427 vlan 1注释MAC地址表的定义MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系,以及接口所属VLAN等信息。
设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式在所属VLAN内除接收接口外的所有接口转发该报文。
MAC地址表中的表项分为:动态表项、静态表项和黑洞表项。
动态表项:由接口通过报文中的源MAC地址学习获得,表项可老化。
在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。
可以通过查看动态MAC地址表项,可以判断两台相连设备之间是否有数据转发;也可以通过查看指定动态MAC地址表项的个数,可以获取接口下通信的用户数。
静态表项:由用户手工配置,并下发到各接口板,表项不可老化。
在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
一条静态MAC地址表项,只能绑定一个出接口。
一个接口和MAC地址静态绑定后,不会影响该接口动态MAC地址表项的学习。
通过绑定静态MAC地址表项,可以保证合法用户的使用,防止其他用户使用该MAC进行攻击。
黑洞表项:由用户手工配置,并下发到各接口板,表项不可老化。
在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
通过配置黑洞MAC地址表项,可以过滤掉非法用户。
注释通过“display mac-address”命令,可以查看设备的mac表项,如图所示,mac表的组成可以分为动态、静态和黑洞。
从表项中也可以看出,mac地址所对应的VLAN以及VSI。
②MAC地址表配置配置静态MAC表项[Huawei]mac-address static 0011-2233-4455 GigabitEthernet 0/0/2 vlan 1配置黑洞MAC表项[Huawei]mac-address blackhole 00aa-bbcc-ddee配置动态MAC表项的老化时间[Huawei]mac-address aging-time 4002、端口安全①端口安全概念端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。
②安全MAC地址分类安全动态MAC地址(老化,重启后丢失,只能动态学习)使能端口安全而未使能Sticky MAC功能时转换的MAC地址。
安全静态MAC地址(手工sticky)使能端口安全时手工配置的静态MAC地址。
Sticky MAC地址(不会老化,重启后不丢失,可以手工配置)使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。
注释接口使能端口安全功能时,接口上之前学习到的动态MAC地址表项将被删除,之后学习到的MAC地址将变为安全动态MAC地址。
接口使能Sticky MAC功能时,接口上的安全动态MAC地址表项将转化为Sticky MAC地址,之后学习到的MAC地址也变为Sticky MAC地址。
接口去使能端口安全功能时,接口上的安全动态MAC地址将被删除,重新学习动态MAC地址。
接口去使能Sticky MAC功能时,接口上的Sticky MAC地址,会转换为安全动态MAC地址。
③配置端口安全配置安全MAC功能[Huawei-GigabitEthernet0/0/2]port-security enable使能端口安全功能[Huawei-GigabitEthernet0/0/2]port-security protect-action shutdown配置端口安全保护动作[Huawei-GigabitEthernet0/0/2]port-security max-mac-num 5配置端口安全动态MAC学习限制数量,默认只允许1个mac[Huawei-GigabitEthernet0/0/2]port-security aging-time 1000配置接口学习到的安全动态MAC地址的老化时间(单位分钟,默认没有配置即接口不down不消失)[Huawei-GigabitEthernet0/0/2]port-security mac-address sticky使能接口Sticky MAC功能, 默认是动态,接口down后,表项消失。
stick后重启表项不会消失。
port-security mac-address sticky 5489-989c-2222 vlan 1 手工粘贴的安全mac叫做安全静态mac!!注意:sticky mac 和安全静态mac地址都是永久的!!说明:接口使能Sticky MAC功能,安全动态MAC地址表项将转化为Sticky MAC地址,之后学习到的MAC地址也变为Sticky MAC地址。
接口使能Sticky MAC功能,即使配置了port-security aging-time,Sticky MAC也不会被老化。
Sticky MAC地址表项,保存后重启设备不丢弃。
端口安全的保护动作:Restrict:丢弃源MAC地址不存在的报文并上报告警。
推荐使用restrict动作。
Protect:只丢弃源MAC地址不存在的报文,不上报告警。
shutdown:接口状态被置为error-down,并上报告警。
error-down auto-recovery cause port-security interval 30 (30s后自动up 模拟器不支持)3、MAC地址漂移①mac地址漂移概念MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。
②mac漂移原因出现环路AP漫游冒充mac攻击vrrp主备切换时候③MAC地址漂移避免机制:提高接口MAC地址学习优先级;不允许相同优先级的接口发生MAC地址表项覆盖。
接口配置不同的MAC地址学习优先级后,如果不同接口学到相同的MAC地址表项,那么高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址发生漂移。
配置不允许相同优先级的接口发生MAC地址表项覆盖,也可以防止MAC地址漂移,提高网络的安全性。
注释如图所示,MAC地址为0011-0022-0034的表项,出接口由GE1/0/1刷新为GE1/0/2,这就是MAC地址漂移。
设备出现MAC地址漂移时,设备CPU占用率会有不同程度的升高。
正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。
出现这种现象一般都意味着网络中存在环路,可以通过查看告警信息和漂移记录,快速定位和排除环路。
网络中产生环路或非法用户进行网络攻击都会造成MAC地址发生漂移,导致MAC地址不稳定。
在规划网络时,可以通过下面两种方式来避免这种情况:提高接口MAC地址学习优先级。
当不同接口学到相同的MAC地址表项时,高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址在接口间发生漂移。
不允许相同优先级的接口发生MAC地址表项覆盖。
当伪造网络设备所连接口的优先级与安全的网络设备相同时,后学习到的伪造网络设备的MAC地址表项不会覆盖之前正确的表项。
但如果网络设备下电,仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。
④MAC地址漂移检测MAC地址漂移检测是利用MAC地址出接口跳变的现象,检测MAC地址是否发生漂移的功能。
注释配置MAC地址漂移检测功能后,在发生MAC地址漂移时,可以上报包括MAC地址、VLAN,以及跳变的接口等信息的告警。
其中跳变的接口即为可能出现环路的接口。
网络管理员可以根据告警信息,手工排查网络中环路的源头,也可以使用MAC漂移检测提供的后续动作,使跳变的端口down或者VLAN从端口中退出,实现自动破环。
如图所示网络中,若SwitchC和SwitchD之间误接网线,则SwitchB、SwitchC、SwitchD之间形成环路。
当SwitchA上Port1接口从网络中收到一个广播报文后转发给SwitchB,该报文经过环路,会被SwitchA上Port2接口收到。
配置MAC地址漂移检测功能,SwitchA就会感知到MAC地址出接口跳变的现象。
若连续出现此现象,SwitchA就会上报MAC漂移告警,提醒管理员进行维护。
⑤MAC地址防漂移配置配置接口MAC地址学习优先级(接口下配置)[Huawei-GigabitEthernet0/0/2]mac-learning priority 3配置接口学习MAC地址的优先级,缺省情况下,接口学习MAC地址的优先级为0,数值越大优先级越高配置不允许相同优先级接口MAC地址漂移(全局下配置)[Huawei]undo mac-learning priority 3 allow-flapping配置不允许相同优先级的接口发生MAC地址漂移配置全局MAC地址漂移检测(新版本)[Huawei]mac-address flapping detection 需检测10次漂移现象才会弹出日志(实验环境下发现 默认只弹出一次日志)[Huawei]mac-address flapping action { error-down | quit-vlan } (缺省只发出告警,模拟器不支持)配置基于VLAN的MAC地址漂移检测(老版本)[Huawei]vlan 2[Huawei]loop-detect eth-loop alarm-only或者[Huawei-vlan2]loop-detect eth-loop block-time 10 retry-times 2配置MAC地址漂移检测功能 检测到mac漂移后阻塞接口10s,重试2次,如果检测到2次漂移后则一直阻塞注意:如果接口一直被阻塞,需全局:reset loop-detect eth-loop vlan 1 all 才可以恢复被阻塞的接口。
shut/undo shut注释接口配置不同的MAC地址学习优先级后,如果不同接口学到相同的MAC地址表项,那么高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址发生漂移。
配置不允许相同优先级的接口发生MAC地址表项覆盖,也可以防止MAC地址漂移,提高网络的安全性。
⑥漂移检查dis loop-detect eth-loop 检测环路display trapbufferdisplay mac-address flapping record总结与思考MAC 多少bit ? 前24bit有什么特殊含义? 第8bit代表?48bit,前24bit代表OUI(组织唯一标识,厂家向IEEE申请)第8个bit:0代表单播,1代表组播交换机如何构建该mac地址表项?源mac地址、接口、vlan编号任何一个mac地址前24bit都代表OUI吗?不是,组播和广播的前24bit代表Ipv6 组播mac地址范围?33-33-开头mac地址表一旦形成会一直存在吗?有老化时间,默认300秒如果两台计算机一直通信,300s后是否需要重建该mac地址表项?一直刷新,不会重建PC是否有mac地址表?没有PC arp表内容是什么? 作用什么?mac地址和ip,作用是指导pc封装能否让PC某条arp表项一直存在 不老化?正常情况下会老化,windows老化时间大概20分钟,可以不老化,arp static命令设置静态。
PC arp表里面是否会存在非直连网段对应的arp表项?不存在,会交给网关,不会跨网关存储arpPC是否有路由表?有PC 是否可以手动添加路由?可以,route add命令mac地址漂移是否一定是攻击或者环路?不一定,也可能AP漫游或者vrrp主备切换数据封装过程?应用层、传输层、网络层、数据链路层报文的二层封装一定是mac地址吗?不一定,以太网封装mac,也可能封装ppp和HDLC、FR(帧中继)串行口或者pos口封装ppp和HDLC什么是BUM帧?广播、未知单播、组播,收到后泛洪。
如果配置了iGMP-snooping,可能不泛洪。
当交换机mac地址表满了之后,交换机再收到报文如何处理?泛洪一个mac地址在同一台交换机上只能对应一个接口吗?不一定,不同的vlan中对的相同mac可以对应不同的接口。
特别说明:文章部分来自华为公开文档和51CTO肖哥,如有侵权,收到通知后即刻删除,对此引起的不便深表歉意。