05-MAC地址表管理配置
本章节下载: 05-MAC地址表管理配置 (193.51 KB)
目 录
l 不同型号产品的特性功能支持情况略有不同,详细请参见“特性差异化列表”部分的介绍。
l 设备支持的接口类型和编号与设备的实际情况相关,本手册涉及以太网接口的配置举例统一使用Eth口举例说明。实际使用中请根据具体设备的接口类型和编号进行配置。
l MAC地址表中对于接口的相关配置,目前只能在二层以太网接口上进行。
l 本章节内容只涉及单播的静态、动态和黑洞MAC地址表项的配置。
设备内有一张需要维护MAC地址表。MAC地址表的表项包含记录了与该设备相连的设备的MAC地址、与此设备相连的设备的接口号以及所属的VLAN ID。在转发数据时,设备根据报文中的目的MAC地址查询MAC地址表,快速定位出接口,从而减少广播。
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地址表项。
l 静态MAC地址表项由用户手工配置,表项不老化;
l 黑洞MAC地址表项用于丢弃含有特定目的MAC地址的报文(例如,处于安全考虑,可以屏蔽某个用户接收报文),由用户手工配置,表项不老化;
l 动态MAC地址表项包括用户配置的以及设备通过源MAC地址学习得来的,表项有老化时间。
用户手工配置的静态MAC地址表项和黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。
设备在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:
l 单播方式:当MAC地址表中包含与报文目的MAC地址对应的表项时,设备直接将报文从该表项中的转发出接口发送。
l 广播方式:当设备收到目的地址为全F的报文,或MAC地址表中没有包含对应报文目的MAC地址的表项时,设备将采取广播方式将报文向除接收接口外的所有接口进行转发。
图1-1 设备的MAC地址表项
以下配置均为可选配置,且配置过程无先后顺序,用户可以根据实际情况选择配置。
一般情况下,设备通过源MAC地址学习过程自动建立MAC地址表。
为了提高接口安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止假冒身份的非法用户骗取数据。
另外,如果需要丢弃指定目的MAC地址的报文,可配置黑洞MAC地址表项。
表1-1 全局配置MAC地址表项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
添加/修改MAC地址表项 |
mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id mac-address blackhole mac-address vlan vlan-id |
必选 |
表1-2 接口配置MAC地址表项
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
添加/修改接口下的MAC地址表项 |
mac-address { dynamic | static } mac-address vlan vlan-id |
必选 |
在添加MAC地址表项时,命令中interface参数指定的接口必须属于vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将添加失败。
有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:黑客使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。
关闭全局的MAC地址学习功能的同时也就关闭了全部接口的MAC地址学习功能。
表1-3 关闭全局MAC地址学习功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
关闭全局的MAC地址的学习功能 |
mac-address mac-learning disable |
必选 缺省情况下,开启全局的MAC地址学习功能。 |
在开启全局的MAC地址学习功能的前提下,用户可以关闭设备上的单个接口的MAC地址学习功能。
表1-4 关闭接口的MAC地址学习功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启全局的MAC地址学习功能 |
undo mac-address mac-learning disable |
可选 缺省情况下,开启全局的MAC地址学习功能 |
进入以太网接口或WLAN-BSS接口视图 |
interface interface-type interface-number |
必选 |
关闭MAC地址学习功能 |
mac-address mac-learning disable |
必选 缺省情况下,开启MAC地址学习功能。 |
当网络拓扑改变后,动态MAC地址表项不会及时自动更新。这样,由于设备学习不到新的MAC地址,会导致用户流量不能正常转发。因此,需要配置动态MAC地址表项老化时间。超出设定的老化时间,动态MAC地址表项被自动删除,设备重新进行MAC地址学习,构建新的动态MAC地址表项。
配置合适的老化时间可以有效利用MAC地址老化功能。用户配置的老化时间过长或者过短,都可能影响设备的运行性能:
l 如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。
l 如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,可能导致设备广播大量的数据报文,影响设备的运行性能。
表1-5 配置动态MAC地址表项的老化时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置动态MAC地址表项的老化时间 |
mac-address timer { aging seconds | no-aging } |
可选 |
l 动态MAC地址表项的老化时间作用于全部接口上,地址老化只对动态的(设备学习到的或者用户配置的动态的)MAC地址表项起作用。
l 在一个比较稳定的网络,如果长时间没有流量,动态MAC地址表项会被全部删除,可能导致设备突然广播大量的数据报文,被他人侦听,造成安全隐患,此时可将动态MAC地址表项的老化时间设成no-aging(即,不老化),以减少广播,增加网络稳定性和安全性。
通过配置接口最多可以学习到的MAC地址数,用户可以控制设备维护的MAC地址表的表项数量。如果MAC地址表过于庞大,可能导致设备的转发性能下降。当接口学习到的MAC地址数达到配置的最大值时,该接口将不再对MAC地址进行学习。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网接口或WLAN-BSS接口视图 |
interface interface-type interface-number |
必选 |
配置接口最多可以学习到的MAC地址数,以及当接口学习到的MAC地址数达到配置的最大值时,是否继续转发源MAC地址不在MAC地址表里的数据帧 |
mac-address max-mac-count { count | disable-forwarding } |
必选 缺省情况下,接口最多可以学习到的MAC地址数目是与设备相关的,并且当以太网接口学习的MAC地址数达到配置的最大MAC地址数后,不允许转发源MAC地址不在MAC地址表里的数据帧。 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC地址表管理的运行情况,通过查看显示信息验证配置的效果。
表1-7 MAC地址表显示和维护
操作 |
命令 |
显示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-type interface-number ] |
l 现有一个用户主机,它的MAC地址为000f-e235-dc71,所属VLAN为VLAN 1,所连的设备接口为Ethernet1/0/1。为防止MAC地址攻击,在设备的MAC地址表中为该用户主机添加一条静态表项。
l 另有一个用户主机,它的MAC地址为000f-e235-abcd,所属VLAN为VLAN 1。由于该用户主机曾经接入网络进行非法操作,为了避免此种情况再次发生,在设备上添加一条目的黑洞MAC地址表项,使该用户主机接收不到报文。
l 配置设备的动态MAC地址表项老化时间为500秒。
# 增加一个静态MAC地址表项。
<Sysname> system-view
[Sysname] mac-address static 000f-e235-dc71 interface ethernet 1/0/1 vlan 1
# 增加一个目的黑洞MAC地址表项。
[Sysname] mac-address blackhole 000f-e235-abcd vlan 1
# 配置动态MAC地址表项的老化时间为500秒。
[Sysname] mac-address timer aging 500
# 查看以太网接口Ethernet1/0/1上的MAC地址表信息。
[Sysname] display mac-address interface ethernet 1/0/1
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME
000f-e235-DC71 1 Config static Ethernet 1/0/1 NOAGED
# 查看目的黑洞MAC地址表信息。
[Sysname] display mac-address blackhole
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME
000f-e235-abcd 1 Blackhole N/A NOAGED
--- 1 mac address(es) found ---
# 查看动态MAC地址表项的老化时间。
[Sysname] display mac-address aging-time
Mac address aging time: 500s
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!