01-MAC地址表配置
本章节下载: 01-MAC地址表配置 (321.72 KB)
目 录
MAC(Media Access Control,媒体访问控制)地址表记录了MAC地址与接口的对应关系,以及接口所属的VLAN等信息。设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式通过对应VLAN内除接收接口外的所有接口转发该报文。
MAC地址表项的生成方式有两种:自动生成、手工配置。
一般情况下,MAC地址表由设备通过源MAC地址学习自动生成。设备学习MAC地址的过程如下:
· 从某接口(假设为接口A)收到一个数据帧,设备分析该数据帧的源MAC地址(假设为MAC-SOURCE),并认为目的MAC地址为MAC-SOURCE的报文可以由接口A转发。
· 如果MAC地址表中已经包含MAC-SOURCE,设备将对该表项进行更新。
· 如果MAC地址表中尚未包含MAC-SOURCE,设备则将这个新MAC地址以及该MAC地址对应的接口A作为一个新的表项加入到MAC地址表中。
为适应网络拓扑的变化,MAC地址表需要不断更新。MAC地址表中自动生成的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前某表项被刷新,则重新计算该表项的老化时间。
设备通过源MAC地址学习自动生成MAC地址表时,无法区分合法用户和非法用户的报文,带来了安全隐患。如果非法用户将攻击报文的源MAC地址伪装成合法用户的MAC地址,并从设备的其他接口进入,设备就会学习到错误的MAC地址表项,于是将本应转发给合法用户的报文转发给非法用户。
为了提高安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止非法用户骗取数据。
MAC地址表项分为以下几种:
· 静态MAC地址表项:由用户手工配置,用于目的是某个MAC地址的报文从对应接口转发出去,表项不老化。静态MAC地址表项优先级高于自动生成的MAC地址表项。
· 动态MAC地址表项:可以由用户手工配置,也可以由设备通过源MAC地址学习自动生成,用于目的是某个MAC地址的报文从对应接口转发出去,表项有老化时间。手工配置的动态MAC地址表项优先级等于自动生成的MAC地址表项。
· 黑洞MAC地址表项:由用户手工配置,用于丢弃源MAC地址或目的MAC地址为指定MAC地址的报文(例如,出于安全考虑,可以禁止某个用户发送和接收报文),表项不老化。黑洞MAC地址表项优先级高于自动生成的MAC地址表项。
静态MAC地址表项和黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。静态MAC地址表项和黑洞MAC地址表项不会彼此覆盖。
本章不涉及VPLS中的MAC地址表项。有关VPLS中MAC地址表项的相关介绍和配置内容,请参见“MPLS配置指导”中的“VPLS”。
本章中的所有配置均为可选,请根据实际情况选择配置。
· 配置MAC地址学习功能
配置MAC地址表项后,当设备收到的报文的源MAC地址与配置表项中的MAC地址相同时,不同类型的MAC地址表项处理方式不同。
表1-1 不同类型MAC地址表项对源MAC地址匹配报文的处理方式
|
MAC地址表项类型 |
报文源MAC地址与配置表项中的MAC地址相同 |
|
静态MAC地址表项 |
缺省情况下,如果表项中的接口与报文入接口不同,则设备丢弃该报文;表项中的接口与报文入接口相同时,设备根据目的MAC地址转发该报文 关闭报文入接口与静态MAC地址表项匹配检查功能后,设备不检查报文入接口与表项中的接口是否相同,直接根据目的MAC地址转发该报文 |
|
黑洞MAC地址表项 |
丢弃该报文 |
|
动态MAC地址表项 |
· 如果报文入接口与该表项中的接口不同,则进行MAC地址学习,并覆盖该表项 · 如果报文入接口与该表项中的接口相同,则转发该报文,并更新该表项老化时间 |
在手工配置动态MAC地址表项时,如果MAC地址表中已经存在MAC地址相匹配的自动生成表项,但该表项的接口与配置不符,那么该手工配置失败。
如果不保存配置,设备重启后所有手工配置的MAC地址表项都会丢失;如果保存配置,设备重启后手工配置的静态MAC地址表项和黑洞MAC地址表项不会丢失,手工配置的动态MAC地址表项会丢失。
不允许为DOWN状态的接口添加或修改动态MAC地址表项。
手工配置MAC地址表项时,必须先创建指定接口所属的VLAN,否则配置失败。
(1) 进入系统视图。
system-view
(2) 添加或者修改静态/动态MAC地址表项。
mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id
缺省情况下,未配置静态/动态MAC地址表项。
interface参数指定的接口必须属于vlan-id参数指定的VLAN。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 在接口下添加或者修改静态/动态MAC地址表项。
mac-address { dynamic | static } mac-address vlan vlan-id
缺省情况下,接口下未配置静态/动态MAC地址表项。
当前接口必须属于vlan-id参数指定的VLAN。
(1) 进入系统视图。
system-view
(2) 添加或者修改黑洞MAC地址表项。
mac-address blackhole mac-address vlan vlan-id
缺省情况下,未配置黑洞MAC地址表项。
当网络拓扑改变后,如果动态MAC地址表项不及时更新,会导致用户流量不能正常转发。配置动态MAC地址表项的老化时间后,超过老化时间的动态MAC地址表项会被自动删除,设备将重新进行MAC地址学习,构建新的动态MAC地址表项。
用户配置的老化时间过长或者过短,都可能影响设备的运行性能:
· 如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。
· 如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,导致设备广播大量的数据报文,增加网络的负担。
用户需要根据实际情况,配置合适的老化时间。如果网络比较稳定,可以将老化时间配置得长一些或者配置为不老化;否则,可以将老化时间配置得短一些。比如在一个比较稳定的网络,如果长时间没有流量,动态MAC地址表项会被全部删除,可能导致设备突然广播大量的数据报文,造成安全隐患,此时可将动态MAC地址表项的老化时间设得长一些或不老化,以减少广播,增加网络稳定性和安全性。
动态MAC地址表项的老化时间作用于全部接口上。
(1) 进入系统视图。
system-view
(2) 配置动态MAC地址表项的老化时间。
mac-address timer { aging seconds | no-aging }
缺省情况下,动态MAC地址表项的老化时间为300秒。
缺省情况下,MAC地址学习功能处于开启状态。有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:非法用户使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。
关闭MAC地址学习功能后,对于已经存在的动态MAC地址表项,待老化时间超时后将自然老化。
关闭全局的MAC地址学习功能后,接口将不再学习新的MAC地址。
全局MAC地址学习功能不能控制VPLS和VXLAN的VSI中MAC地址的学习。有关VPLS和VSI的介绍,请参见“MPLS配置指导”中的“VPLS”。有关VXLAN的介绍,请参见“VXLAN配置指导”中的“VXLAN”。
(1) 进入系统视图。
system-view
(2) 关闭全局的MAC地址学习功能。
undo mac-address mac-learning enable
缺省情况下,全局的MAC地址学习功能处于开启状态。
在开启全局的MAC地址学习功能的前提下,用户可以关闭设备上单个接口的MAC地址学习功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 关闭接口的MAC地址学习功能。
undo mac-address mac-learning enable
缺省情况下,接口的MAC地址学习功能处于开启状态。
网络中每台在网设备都有一个IP地址,用于该主机与其他设备的通信。在以太网中,终端设备或交换路由设备直接根据MAC地址来发送、接收以太网数据帧。ARP表项提供IP地址到MAC地址的映射。不同网段间的设备进行通信时,需要通过ARP表项来查找IP地址对应的MAC地址以及相应的出接口。
通常情况下,设备上的MAC地址表项和ARP表项是一致的。但是在某些场景下,如图1-1所示,Laptop经常在无线站点AP 1和AP 2之间漫游,导致Device上记录的Laptop的MAC地址与出端口的对应关系经常发生改变,而ARP表项不能及时更新,影响到数据业务的正常转发。
图1-1 MAC地址迁移后ARP表项不能更新
配置快速更新ARP表项后,如果交换机上记录的MAC地址与出端口的对应关系发生改变,系统会立刻更新ARP表项,保证了数据业务的不间断转发。
(1) 进入系统视图。
system-view
(2) 开启在MAC地址迁移后,快速更新ARP表项功能。
mac-address mac-move fast-update
缺省情况下,在MAC地址迁移后,快速更新ARP表项功能处于关闭状态。
可在任意视图下执行以下命令:
· 显示MAC地址表信息。
display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ]
· 显示MAC地址表动态表项的老化时间。
display mac-address aging-time
· 显示MAC地址学习功能的开启状态。
display mac-address mac-learning [ interface interface-type interface-number ]
· 现有一台用户主机,它的MAC地址为000f-e235-dc71,属于VLAN 10,连接Device的端口GigabitEthernet2/0/1。为防止假冒身份的非法用户骗取数据,在设备的MAC地址表中为该用户主机添加一条静态表项。
· 另有一台用户主机,它的MAC地址为000f-e235-abcd,属于VLAN 10。由于该用户主机曾经接入网络进行非法操作,为了避免此种情况再次发生,在设备上添加一条黑洞MAC地址表项,使该用户主机接收不到报文。
· 配置设备的动态MAC地址表项老化时间为400秒。
图1-2 MAC地址表基本功能配置组网图
表1-2 组网图示例接口与设备实际接口对应关系
|
组网图示例接口 |
设备实际接口 |
|
Interface1 |
GigabitEthernet2/0/1 |
# 创建VLAN 10。
<Device> system-view
[Device-vlan10] quit
# 配置VLAN接口10的IP地址和子网掩码。
[Device] interface Vlan-interface 10
[Device-Vlan-interface10] ip address 192.168.1.201 24
[Device-Vlan-interface10] quit
# 配置接口GigabitEthernet2/0/1工作在二层模式。
[Device] interface gigabitethernet 2/0/1
[Device-GigabitEthernet2/0/1] port link-mode bridge
[Device-GigabitEthernet2/0/1] quit
# 配置接口GigabitEthernet2/0/1的链路类型为Access且加入VLAN 10。
[Device] interface gigabitethernet 2/0/1
[Device-GigabitEthernet2/0/1] port link-type access
[Device-GigabitEthernet2/0/1] port access vlan 10
[Device-GigabitEthernet2/0/1] quit
# 增加一个静态MAC地址表项,目的地址为000f-e235-dc71,出接口为GigabitEthernet2/0/1,且该接口属于VLAN 10。
<Device> system-view
[Device] mac-address static 000f-e235-dc71 interface gigabitethernet 2/0/1 vlan 10
# 增加一个黑洞MAC地址表项,地址为000f-e235-abcd,属于VLAN 10。
[Device] mac-address blackhole 000f-e235-abcd vlan 10
# 配置动态MAC地址表项的老化时间为400秒。
[Device] mac-address timer aging 400
# 查看端口GigabitEthernet2/0/1上的静态MAC地址表项信息。
[Device] display mac-address static interface gigabitethernet 2/0/1
MAC Address VLAN ID State Port/Nickname Aging
000f-e235-dc71 10 Static GE2/0/1 N
# 查看黑洞MAC地址表信息。
[Device] display mac-address blackhole
MAC Address VLAN ID State Port/Nickname Aging
000f-e235-abcd 10 Blackhole N/A N
# 查看动态MAC地址表项的老化时间。
[Device] display mac-address aging-time
MAC address aging time: 400s.
#
interface Vlan-interface10
ip address 192.168.1.201 255.255.255.0
#
interface GigabitEthernet2/0/1
port link-mode bridge
port access vlan 10
mac-address static 000f-e235-dc71 vlan 10
#
mac-address blackhole 000f-e235-abcd vlan 10
#
mac-address timer aging 400
#
由于MAC地址能唯一标识一个网络用户,MAC Information功能通过监控接口学习和删除MAC地址表项,可以对用户加入和离开网络进行跟踪。具体机制为:当接口学习到一条新的MAC地址表项或删除一条已有MAC地址表项时,设备会将该MAC地址变化信息写入缓冲队列。当设定的发送MAC变化通知的时间间隔到期,设备立即发送记录了MAC地址变化信息的日志或SNMP告警信息。信息接收端通过对日志或SNMP告警信息进行分析,实现对网络中的用户进行监控,同时为分析网络的使用情况提供依据。
必须同时开启全局和接口的MAC Information功能,MAC Information功能才会生效。
(1) 进入系统视图。
system-view
(2) 开启全局MAC Information功能。
mac-address information enable
缺省情况下,全局MAC Information功能处于关闭状态。
(3) 进入二层以太网接口视图。
interface interface-type interface-number
(4) 开启接口的MAC Information功能。
mac-address information enable { added | deleted }
缺省情况下,接口的MAC Information功能处于关闭状态。
发送MAC变化通知的方式有两种:
· Syslog方式:通过发送日志信息通知MAC地址的变化。采用该方式时,日志信息会被发送到设备的信息中心,由信息中心发送到监控终端。有关信息中心的详细介绍及相关配置,请参见“网络管理和监控配置指导”中的“信息中心”。
· Trap方式:通过发送SNMP告警信息通知MAC地址的变化。采用该方式时,需要通过SNMP将SNMP告警信息发送到NMS。有关SNMP的详细介绍及相关配置,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 配置发送MAC变化通知的方式。
mac-address information mode { syslog | trap }
缺省情况下,采用Trap方式发送MAC变化通知。
为了防止过于频繁地发送MAC变化通知干扰用户,用户可以修改发送MAC变化通知的时间间隔。
(1) 进入系统视图。
system-view
(2) 配置发送MAC变化通知的时间间隔。
mac-address information interval interval-time
缺省情况下,发送MAC变化通知的时间间隔为1秒。
MAC Information缓存队列长度是否为0对应着不同的处理方式:
· 如果MAC Information缓存队列长度为0,则当接口学习到或删除一条MAC地址表项时会立即发送日志或SNMP告警信息。
· 如果MAC Information缓存队列长度不为0,则将MAC地址变化信息存放在缓存队列中。当未达到发送MAC变化通知的时间间隔,此时若缓存队列被写满,新的MAC地址变化信息将覆盖缓存队列中最后一条写入的信息;当达到发送MAC变化通知的时间间隔时,不论此时缓存队列是否已被写满,都发送日志或SNMP告警信息。
(1) 进入系统视图。
system-view
(2) 配置MAC Information缓存队列长度。
mac-address information queue-length value
缺省情况下,MAC Information缓存队列长度为50。
Device A与PC相连,设备的IP地址和子网掩码如图2-1所示。在Device A上配置MAC Information功能,用来监控Device A的MAC地址表变更事件。当检测到MAC地址表变化时,生成对应的日志,并输出到Telnet客户端PC上。
图2-1 MAC Information基本功能配置组网图
表2-1 组网图示例接口与设备实际接口对应关系
|
组网图示例接口 |
设备实际接口 |
|
Interface1 |
GigabitEthernet2/0/1 |
# 创建VLAN 10,并配置VLAN接口10的IP地址和子网掩码。
[DeviceA] vlan 10
[DeviceA-vlan10] quit
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] ip address 192.168.1.193 24
[DeviceA-Vlan-interface10] quit
# 配置接口GigabitEthernet2/0/1工作在二层模式。
[DeviceA] interface gigabitethernet 2/0/1
[DeviceA-GigabitEthernet2/0/1] port link-mode bridge
[DeviceA-GigabitEthernet2/0/1] quit
# 配置接口GigabitEthernet2/0/1的链路类型为Trunk,并允许VLAN 10通过。
[DeviceA] interface gigabitethernet 2/0/1
[DeviceA-GigabitEthernet2/0/1] port link-type trunk
[DeviceA-GigabitEthernet2/0/1] port trunk permit vlan 10
[DeviceA-GigabitEthernet2/0/1] return
# 允许日志信息输出到当前终端。
<DeviceA> terminal monitor
# 开启信息中心功能。
[DeviceA] info-center enable
# 开启全局MAC Information功能。
[DeviceA] mac-address information enable
# 配置采用Syslog方式发送MAC变化通知。
[DeviceA] mac-address information mode syslog
# 开启端口GigabitEthernet2/0/1的MAC Information功能,使该接口在学习到和删除MAC地址时记录MAC变化信息。
[DeviceA] interface gigabitethernet 2/0/1
[DeviceA-GigabitEthernet2/0/1] mac-address information enable added
[DeviceA-GigabitEthernet2/0/1] mac-address information enable deleted
[DeviceA-GigabitEthernet2/0/1] quit
# 配置MAC Information缓存队列长度为100。
[DeviceA] mac-address information queue-length 100
# 配置发送MAC变化通知的时间间隔为20秒。
[DeviceA] mac-address information interval 20
在PC上对Device A执行ping操作,Device A会通过GigabitEthernet2/0/1接口动态学习Device B的源MAC地址,并在其MAC地址表中新增一条MAC地址表项,同时生成MAC地址表新增日志。
<DeviceA>%Jan 6 12:43:32:526 2025 DeviceA MAC/6/MAC_UPDATEMSG: -Action=Add-MacAddr=7278-a742-54f8-VlanID=10-MacType=1-IfName=GigabitEthernet2/0/1; MAC address table changed.
在Device A的GigabitEthernet2/0/1接口上执行shutdown操作后,会删除该接口下的MAC地址表,同时生成对应的MAC地址表删除日志。
<DeviceA>%Jan 6 12:46:17:326 2025 DeviceA MAC/6/MAC_UPDATEMSG: -Action=Delete-MacAddr=7278-a742-54f8-VlanID=10-MacType=1-IfName=GigabitEthernet2/0/1; MAC address table changed.
#
info-center enable
#
mac-address information queue-length 100
mac-address information interval 20
mac-address information mode syslog
mac-address information enable
#
interface GigabitEthernet2/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 10
mac-address information enable added
mac-address information enable deleted
#
interface Vlan-interface10
ip address 192.168.1.193 255.255.255.0
#
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
