02-MAC地址表命令
本章节下载: 02-MAC地址表命令 (263.01 KB)
目 录
1.1.2 display mac-address aging-time
1.1.3 display mac-address mac-learning
1.1.4 mac-address (interface view)
1.1.5 mac-address (system view)
1.1.6 mac-address mac-learning enable
1.1.7 mac-address mac-learning priority
1.1.8 mac-address max-mac-count
1.1.9 mac-address max-mac-count enable-forwarding
1.1.11 snmp-agent trap enable mac-address
2.1.1 mac-address information enable (interface view)
2.1.2 mac-address information enable (system view)
2.1.3 mac-address information interval
2.1.4 mac-address information mode
2.1.5 mac-address information queue-length
display mac-address命令用来显示MAC地址表信息。
【命令】
display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole | multiport ] [ vlan vlan-id ] [ count ] ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
context-admin
context-operator
【参数】
mac-address:显示指定MAC地址的MAC地址表项,mac-address的格式为H-H-H。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。
vlan vlan-id:显示指定VLAN的MAC地址表项。vlan-id的取值范围为1~4094。
dynamic:显示动态MAC地址表项。
static:显示静态MAC地址表项。
interface interface-type interface-number:显示指定接口的MAC地址表项。interface-type interface-number为接口类型和接口编号。
blackhole:显示黑洞MAC地址表项。
multiport:显示多端口单播MAC地址表项。
count:显示MAC地址表项的数量。如果配置本参数,将仅显示符合条件的(由count前面的参数决定)MAC地址表项的数量,而不显示MAC地址表项的具体内容。如果不指定本参数,则显示符合条件的MAC地址表的具体内容。
【使用指导】
使用本命令可以查看静态、动态和黑洞MAC地址表项,表项内容主要包括MAC地址、VLAN ID、接口等信息。
如果不指定任何参数,将显示所有的MAC地址表项信息。
对于聚合接口,需要有选中端口,该聚合接口对应的动态MAC地址才能在MAC地址表项中显示。
【举例】
# 显示VLAN 100的MAC地址表项的信息。
<Sysname> display mac-address vlan 100
MAC Address VLAN ID State Port/Nickname Aging
0033-0033-0033 100 Blackhole N/A N
0000-0000-0002 100 Static GE1/0/3 N
00e0-fc00-5829 100 Learned GE1/0/4 Y
# 显示MAC地址表项的数量。
<Sysname> display mac-address count
1 mac address(es) found.
表1-1 display mac-address命令显示信息描述表
字段 |
描述 |
MAC Address |
MAC地址 |
VLAN ID |
MAC地址对应接口所属的VLAN |
State |
MAC地址表项的状态,包括: · Static:表示该表项是静态MAC地址表项 · Learned:动态MAC地址表项。可以手工配置也可以由设备学习获得 · Blackhole:表示该表项是黑洞MAC地址表项 · Drop aging:表示该表项是可老化的MAC地址表项,收到该MAC地址报文会被丢弃 · Drop no-aging:表示该表项是不可老化的MAC地址表项,收到该MAC地址报文会被丢弃 · Vlan-interface:表示该表项是VLAN接口MAC地址表项 |
Port/Nickname |
MAC地址对应的接口名称或Nickname(设备仅显示,不支持该参数)。如果显示为接口名称,表示发往该MAC地址的报文将从此接口发出(黑洞MAC地址表项此处显示为N/A) |
Aging |
老化时间,该表项有两种取值: · Y:表示该表项会被老化 · N:表示该表项不会被老化 |
n mac address(es) found |
共有n个MAC地址表项 |
【相关命令】
· mac-address
· mac-address timer
display mac-address aging-time命令用来显示MAC地址表动态表项的老化时间。
【命令】
display mac-address aging-time
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
context-admin
context-operator
【举例】
# 显示MAC地址表中动态表项的老化时间。
<Sysname> display mac-address aging-time
MAC address aging time: 300s.
【相关命令】
· mac-address timer
display mac-address mac-learning命令用来显示MAC地址学习功能的开启状态。
【命令】
display mac-address mac-learning [ interface interface-type interface-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
context-admin
context-operator
【参数】
interface interface-type interface-number:显示指定接口的MAC地址学习状态。interface-type interface-number为接口类型和接口编号。如果不指定本参数,则显示全局和所有接口的MAC地址学习状态。
【举例】
# 显示全局和所有接口的MAC地址学习状态。
<Sysname> display mac-address mac-learning
Global MAC address learning status: Enabled.
Port Learning Status
GE1/0/1 Enabled
GE1/0/2 Enabled
表1-2 display mac-address mac-learning命令显示信息描述表
字段 |
描述 |
Global MAC address learning status |
全局的MAC地址学习状态:Enabled为开启,Disabled为禁止 |
Port |
接口名称 |
Learning Status |
接口的MAC地址学习状态:Enabled为开启,Disabled为禁止 |
【相关命令】
· mac-address mac-learning enable
mac-address命令用来在接口下添加或者修改MAC地址表项。
undo mac-address命令用来删除接口下的MAC地址表项。
【命令】
mac-address { dynamic | static } mac-address vlan vlan-id
undo mac-address { dynamic | static } mac-address vlan vlan-id
【缺省情况】
接口下未配置任何MAC地址表项。
【视图】
二层以太网接口视图
二层聚合接口视图
【缺省用户角色】
network-admin
context-admin
【参数】
dynamic:动态MAC地址表项。
static:静态MAC地址表项。
mac-address:MAC地址,格式为H-H-H,不支持组播MAC地址、全0的MAC地址和全F的MAC地址。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。
vlan vlan-id:当前接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。
【使用指导】
一般情况下,设备通过源MAC地址学习过程自动建立MAC地址表。为了提高接口安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止非法用户骗取数据。手工配置的静态MAC地址表项优先级高于自动生成的表项。
如果不保存配置,设备重启后所有表项都会丢失;如果保存配置,静态MAC地址表项不会丢失,动态MAC地址表项会丢失。
【举例】
# 在端口GigabitEthernet1/0/1下增加静态MAC地址表项000f-e201-0101,该端口属于VLAN 2。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] mac-address static 000f-e201-0101 vlan 2
# 在接口Bridge-Aggregation1下增加静态MAC地址表项000f-e201-0102,该接口属于VLAN 1。
<Sysname> system-view
[Sysname] interface bridge-aggregation 1
[Sysname-Bridge-Aggregation1] mac-address static 000f-e201-0102 vlan 1
【相关命令】
· display mac-address
·
mac-address命令用来添加或者修改MAC地址表项。
undo mac-address命令用来删除MAC地址表项。
【命令】
mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id
mac-address blackhole mac-address vlan vlan-id
undo mac-address [ [ dynamic | static ] mac-address interface interface-type interface-number vlan vlan-id ]
undo mac-address [ blackhole | dynamic | static ] [ mac-address ] vlan vlan-id
undo mac-address [ dynamic | static ] interface interface-type interface-number
【缺省情况】
未配置任何MAC地址表项。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【参数】
dynamic:动态MAC地址表项。
static:静态MAC地址表项。
blackhole:黑洞MAC地址表项。当报文的源MAC地址或目的MAC地址与黑洞MAC地址表项匹配时,该报文被丢弃。
mac-address:MAC地址,格式为H-H-H,不支持组播MAC地址、全0的MAC地址和全F的MAC地址。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。
vlan vlan-id:指定接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。
interface interface-type interface-number:出接口。interface-type interface-number为接口类型和接口编号。
【使用指导】
通过本命令可以添加或者修改如下类型的MAC地址表项:
动态MAC地址:设备通过源MAC地址学习过程自动建立MAC地址表或者由用户手工配置。
静态MAC地址:为了提高接口安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止非法用户骗取数据。手工配置的静态MAC地址表项优先级高于自动生成的表项。
黑洞MAC地址:用于丢弃指定源MAC地址或目的MAC地址的报文。
用户手工配置的静态MAC地址表项或黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。
删除MAC地址表项时,需要注意:
· 执行undo mac-address命令时若不指定任何参数,将删除所有单播MAC地址表项和静态组播MAC地址表项。
· 可以删除指定VLAN的所有MAC地址表项(包括单播MAC地址表项和静态组播MAC地址表项);可以选择删除动态MAC地址表项、静态MAC地址表项、黑洞MAC地址表项;可以按接口删除单播MAC地址表项,但不能按接口删除组播MAC地址表项。
如果不保存配置,设备重启后所有表项都会丢失;如果保存配置,静态MAC地址表项和黑洞MAC地址表项不会丢失, 动态表项会丢失。
【举例】
# 添加静态地址表项,目的MAC地址为000f-e201-0101,出接口为GigabitEthernet1/0/1,且该接口属于VLAN 2。
<Sysname> system-view
[Sysname] mac-address static 000f-e201-0101 interface gigabitethernet 1/0/1 vlan 2
【相关命令】
· display mac-address
· mac-address (interface view)
mac-address mac-learning enable命令用来打开设备全局、接口或者VLAN的MAC地址学习功能。
undo mac-address mac-learning enable命令用来关闭设备全局、接口的MAC地址学习功能。
【命令】
mac-address mac-learning enable
undo mac-address mac-learning enable
【缺省情况】
MAC地址学习功能处于开启状态。
【视图】
系统视图
二层以太网接口视图
二层聚合接口视图
VLAN视图
【缺省用户角色】
network-admin
context-admin
【使用指导】
有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:非法用户使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。
关闭MAC地址学习功能时,需要注意:
· 关闭MAC地址学习功能后,设备就学不到新地址,从而影响设备及时刷新MAC地址表。用户可以根据实际情况关闭接口的MAC地址学习功能。
· 关闭全局的MAC地址学习功能后,接口将不再学习新的MAC地址。
· 关闭MAC地址学习功能可能会导致广播,因此在关闭接口的MAC地址学习功能的同时,一般还要使用接口广播风暴抑制功能。有关广播风暴抑制功能的介绍,请参见“接口管理配置指导”中的“以太网接口”。
· 在开启全局的MAC地址学习功能的前提下,用户可以关闭设备上单个接口的MAC地址学习功能。
· 关闭MAC地址学习功能后,对于已经存在的动态MAC地址表项,待老化时间超时后将自然老化。
【举例】
# 关闭全局MAC地址学习功能。
<Sysname> system-view
[Sysname] undo mac-address mac-learning enable
# 关闭端口GigabitEthernet1/0/1的MAC地址学习功能。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] undo mac-address mac-learning enable
【相关命令】
· display mac-address mac-learning
mac-address mac-learning priority命令用来配置接口的MAC地址学习优先级。
undo mac-address mac-learning priority命令用来恢复缺省情况。
【命令】
mac-address mac-learning priority { high | low }
undo mac-address mac-learning priority
【缺省情况】
MAC地址学习优先级为低优先级。
【视图】
二层以太网接口视图
二层聚合接口视图
【缺省用户角色】
network-admin
context-admin
【参数】
high:配置MAC地址学习优先级为高优先级。
low:配置MAC地址学习优先级为低优先级。
【使用指导】
接口的MAC地址学习功能分为两个优先级:高优先级和低优先级。对于高优先级的接口,可以学习任何MAC地址;对于低优先级的接口,在学习MAC地址时需要查看高优先级接口是否已经学到该MAC地址,如果已经学到,则不允许学习该MAC地址。
为了预防攻击,避免下行接口学到网关等上层设备的MAC地址,可以进行如下配置:
· 将上行接口的MAC地址学习优先级配置为高优先级。
· 将下行接口的MAC地址学习优先级配置为低优先级。
【举例】
# 配置端口GigabitEthernet1/0/1的MAC地址学习优先级为高优先级。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] mac-address mac-learning priority high
# 配置接口Bridge-Aggregation1的MAC地址学习优先级为高优先级。
<Sysname> system-view
[Sysname] interface bridge-aggregation 1
[Sysname-Bridge-Aggregation1] mac-address mac-learning priority high
mac-address max-mac-count命令用来配置接口的MAC地址数学习上限。
undo mac-address max-mac-count命令用来恢复缺省情况。
【命令】
mac-address max-mac-count count
undo mac-address max-mac-count
【缺省情况】
接口的MAC地址数学习上限仅受设备硬件能力的限制。
【视图】
二层以太网接口视图
二层聚合接口视图
【缺省用户角色】
network-admin
context-admin
【参数】
count:接口的MAC地址数学习上限,为0即表示不允许该接口学习MAC地址。取值范围为0~4096。
【使用指导】
通过配置接口的MAC地址数学习上限,用户可以控制设备维护的MAC地址表的表项数量。如果MAC地址表过于庞大,可能导致设备的转发性能下降。当接口学习到的MAC地址数达到上限时,该接口将不再对MAC地址进行学习。
【举例】
# 配置端口GigabitEthernet1/0/1的MAC地址数学习上限为200。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] mac-address max-mac-count 200
【相关命令】
· mac-address
· mac-address max-mac-count enable-forwarding
mac-address max-mac-count enable-forwarding命令用来配置当达到接口的MAC地址数学习上限时,允许转发源MAC地址不在MAC地址表里的报文。
undo mac-address max-mac-count enable-forwarding命令用来配置当达到接口的MAC地址数学习上限时,禁止转发源MAC地址不在MAC地址表里的报文。
【命令】
mac-address max-mac-count enable-forwarding
undo mac-address max-mac-count enable-forwarding
【缺省情况】
当达到接口的MAC地址数学习上限时,允许转发源MAC地址不在MAC地址表里的报文。
【视图】
二层以太网接口视图
二层聚合接口视图
【缺省用户角色】
network-admin
context-admin
【举例】
# 配置端口GigabitEthernet1/0/1的MAC地址数学习上限为200,当端口学习的MAC地址数达到200时,禁止转发源MAC地址不在MAC地址表里的报文。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] mac-address max-mac-count 200
[Sysname-GigabitEthernet1/0/1] undo mac-address max-mac-count enable-forwarding
【相关命令】
· mac-address
· mac-address max-mac-count
mac-address timer命令用来配置动态MAC地址表项的老化时间。
undo mac-address timer命令用来恢复缺省情况。
【命令】
mac-address timer { aging seconds | no-aging }
undo mac-address timer
【缺省情况】
动态MAC地址表项的老化时间为300秒。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【参数】
aging seconds:动态MAC地址表项的老化时间,单位为秒,设备支持的取值范围为10~1400。
no-aging:不老化。
【使用指导】
用户配置的老化时间过长或者过短,都可能影响设备的运行性能:
· 如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。
· 如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,可能导致设备广播大量的数据报文,影响设备的运行性能。
所以用户需要根据实际情况,配置合适的老化时间来有效的实现MAC地址老化功能。
【举例】
# 配置动态MAC地址表项的老化时间为500秒。
<Sysname> system-view
[Sysname] mac-address timer aging 500
【相关命令】
· display mac-address aging-time
snmp-agent trap enable mac-address命令用来开启MAC地址表的告警功能。
undo snmp-agent trap enable mac-address命令用来关闭MAC地址表的告警功能。
【命令】
snmp-agent trap enable mac-address
undo snmp-agent trap enable mac-address
【缺省情况】
MAC地址表的告警功能处于开启状态。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【使用指导】
开启MAC地址表的告警功能后,MAC地址表模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,请通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
关闭MAC地址表的告警功能后,设备将只发送日志信息到信息中心模块,此时请配置信息中心的输出规则和输出方向来查看MAC地址表模块的日志信息。
有关SNMP和信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”和“信息中心”。
目前MAC地址表模块仅有MAC地址迁移上报的告警功能,所以打开或关闭MAC地址迁移上报的告警功能,就相当于打开或关闭MAC地址表所有的告警功能。
【举例】
# 关闭MAC地址迁移的告警功能。
<Sysname> system-view
[Sysname] undo snmp-agent trap enable mac-address
mac-address information enable命令用来开启接口的MAC Information功能。
undo mac-address information enable命令用来关闭接口的MAC Information功能。
【命令】
mac-address information enable { added | deleted }
undo mac-address information enable { added | deleted }
【缺省情况】
接口的MAC Information功能处于关闭状态。
【视图】
二层以太网接口视图
【缺省用户角色】
network-admin
context-admin
【参数】
added:表示配置接口在学习到新的MAC地址时记录MAC变化信息。
deleted:表示配置接口在删除MAC地址时记录MAC变化信息。
【使用指导】
必须同时开启全局和接口的MAC Information功能,MAC Information功能才会生效。
【举例】
# 开启端口GigabitEthernet1/0/1的MAC Information功能,使端口在学习到新的MAC时记录MAC变化信息。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] mac-address information enable added
【相关命令】
· mac-address information enable (system view)
·
mac-address information enable命令用来开启全局MAC Information功能。
undo mac-address information enable命令用来关闭全局MAC Information功能。
【命令】
mac-address information enable
undo mac-address information enable
【缺省情况】
全局MAC Information功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【使用指导】
必须同时开启全局和接口的MAC Information功能,MAC Information功能才会生效。
【举例】
# 开启全局MAC Information功能。
<Sysname> system-view
[Sysname] mac-address information enable
【相关命令】
· mac-address information enable (interface view)
·
mac-address information interval命令用来配置发送MAC变化通知的时间间隔。
undo mac-address information interval命令用来恢复缺省情况。
【命令】
mac-address information interval interval
undo mac-address information interval
【缺省情况】
发送MAC变化通知的时间间隔为1秒。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【参数】
interval:发送MAC变化通知的时间间隔,取值范围为1~20000,单位为秒。
【使用指导】
为了防止过于频繁发送的MAC变化通知干扰用户,可以将此时间间隔调整为较大值。
【举例】
# 配置设备发送MAC变化通知的时间间隔为200秒。
<Sysname> system-view
[Sysname] mac-address information interval 200
mac-address information mode命令用来配置发送MAC变化通知的方式。
undo mac-address information mode命令用来恢复缺省情况。
【命令】
mac-address information mode { syslog | trap }
undo mac-address information mode
【缺省情况】
采用Trap方式发送MAC变化通知。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【参数】
syslog:表示采用Syslog方式发送MAC变化通知。
trap:表示采用Trap方式发送MAC变化通知。
【举例】
# 配置设备采用Trap方式发送MAC变化通知。
<Sysname> system-view
[Sysname] mac-address information mode trap
mac-address information queue-length命令用来配置MAC Information缓存队列长度。
undo mac-address information queue-length命令用来恢复缺省情况。
【命令】
mac-address information queue-length value
undo mac-address information queue-length
【缺省情况】
MAC Information缓存队列长度为50。
【视图】
系统视图
【缺省用户角色】
network-admin
context-admin
【参数】
value:MAC Information缓存队列长度,取值范围为0~1000,表示可存放的MAC地址变化信息条数。
【使用指导】
如果MAC Information缓存队列长度为0,则当接口学习到或删除掉一条MAC地址时会立即发送日志或SNMP告警信息。
如果MAC Information缓存队列长度不为0,则将MAC地址变化信息存放在缓存队列中。当未达到发送MAC变化通知的时间间隔,此时若缓存队列被写满,新的MAC地址变化信息将覆盖缓存队列中最后一条写入的信息;当达到发送MAC变化通知的时间间隔时,不论此时缓存队列是否已被写满,都发送日志或SNMP告警信息。
【举例】
# 配置MAC Information缓存队列长度为600。
<Sysname> system-view
[Sysname] mac-address information queue-length 600
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!