01-MAC地址表命令
本章节下载: 01-MAC地址表命令 (184.93 KB)
1.1.2 display mac-address aging-time
1.1.3 display mac-address mac-learning
1.1.4 display mac-address multiport
1.1.5 mac-address (interface view)
1.1.6 mac-address (system view)
1.1.7 mac-address mac-learning disable
1.1.8 mac-address max-mac-count (interface view/port group view)
1.1.9 mac-address max-mac-count (VLAN view)
1.1.10 mac-address multiport (interface view)
1.1.11 mac-address multiport (system view)
· MAC地址表中对于接口的相关配置,目前只能在二层以太网接口以及二层聚合接口等二层接口上进行。
· 设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“IRF配置指导”中的“IRF”。
【命令】
display mac-address [ mac-address [ vlan vlan-id ] | [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
blackhole:显示黑洞MAC地址表项。黑洞MAC地址表项没有老化时间,可以添加/删除,当报文的目的MAC地址或源MAC地址与黑洞MAC地址表项匹配后该报文被丢弃。
vlan vlan-id:显示指定VLAN的MAC地址表项。vlan-id的取值范围为1~4094。
count:显示MAC地址表项的数量。如果配置本参数,将仅显示符合条件的(由count前面的参数决定)MAC地址表项的数量,而不显示MAC地址表项的具体内容。
mac-address:显示指定MAC地址的MAC地址表项,mac-address的格式为H-H-H。
dynamic:显示动态MAC地址表项。动态MAC地址表项有老化时间。
static:显示静态MAC地址表项。静态MAC地址表项没有老化时间。
interface interface-type interface-number:显示指定接口的MAC地址表项。interface-type interface-number用来指定接口的类型和编号。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display mac-address命令用来显示MAC地址表信息。
相关配置可参考命令mac-address和mac-address timer,以及“IP组播命令参考/组播路由与转发”中的命令display mac-address multicast和display mac-address multicast count。
【举例】
# 显示VLAN 4093的MAC地址表项的信息。
<Sysname> display mac-address vlan 4093
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
000f-e201-0101 4093 Learned GigabitEthernet4/1/1 AGING
--- 1 mac address(es) found ---
表1-1 display mac-address命令显示信息描述表
字段 |
说明 |
MAC ADDR |
MAC 地址 |
VLAN ID |
MAC地址所在的VLAN ID |
STATE |
MAC地址的状态包括: · Config static: 表示该表项是用户手工配置的静态表项 · Config dynamic:表示该表项是用户手工配置的动态表项 · Learned: 表示该表项由设备动态学习获得 · Blackhole: 表示该表项是黑洞表项 · Multicast:表示该表项是用户手工配置的静态组播MAC地址表项。关于静态组播MAC地址表项的相关介绍请参见“IP组播配置指导”中的“组播路由与转发”和“IPv6组播路由与转发” · Multiport:表示该表项是用户手工配置的静态多端口单播MAC地址表项 · Source-drop Age:表示该表项由设备动态学习获得,后续以该MAC作为源MAC地址的报文会被设备直接丢弃。比如, DHCP请求报文未通过DHCP中继的MAC地址检查(相关命令为dhcp relay check mac-address,请参见“IP业务命令参考”中的“DHCP”),该DHCP请求报文的源MAC地址对应的STATE会显示为“Source-drop Age”。需要注意的是,当设备为IRF模式且处于缺省的系统工作模式时,即使DHCP请求报文未通过DHCP中继的MAC地址检查,STATE仍显示为 “Learned”。关于系统工作模式,请参见“基础配置指导”中的“设备管理” |
PORT INDEX |
该MAC地址对应的接口,即表示发往该MAC地址的报文将从此接口发出(黑洞MAC地址表项显示为N/A) |
AGING TIME(s) |
老化时间,该表项有两种取值: · AGING:表示该表项会被老化 · NOAGED:表示该表项不会被老化 |
【命令】
display mac-address aging-time [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display mac-address aging-time命令用来显示MAC地址表动态表项的老化时间。
相关配置可参考命令mac-address、mac-address timer和display mac-address。
【举例】
# 显示MAC地址表中动态表项的老化时间。
<Sysname> display mac-address aging-time
Mac address aging time: 300s
以上显示信息表示:MAC地址表中动态表项的老化时间为300秒。
【命令】
display mac-address mac-learning [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
interface-type interface-number:指定接口类型和编号。显示指定接口的MAC地址学习状态。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display mac-address mac-learning命令用来显示设备MAC地址学习状态,不指定接口则显示全部接口的MAC地址学习状态。
【举例】
# 显示以太网接口的MAC地址学习状态。
<Sysname> display mac-address mac-learning
Mac address learning status of the switch: enable
PortName Learning Status
Bridge-Aggregation2 enable
GigabitEthernet3/1/1 enable
GigabitEthernet3/1/2 enable
GigabitEthernet3/1/3 enable
GigabitEthernet3/1/4 enable
GigabitEthernet4/1/1 enable
GigabitEthernet4/1/2 enable
GigabitEthernet4/1/3 enable
GigabitEthernet4/1/4 enable
表1-2 display mac-address mac-learning命令显示信息描述表
字段 |
描述 |
Mac-address learning status of the switch |
全局MAC地址学习的状态:enable为使能,disable为禁止 |
PortName |
接口名称 |
Learning Status |
接口MAC学习的状态:enable为使能,disable为禁止 |
【命令】
display mac-address multiport [ vlan vlan-id ] [ count ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
vlan vlan-id:显示指定VLAN的多端口单播MAC地址表项。vlan-id的取值范围为1~4094。
count:显示多端口单播MAC地址表项的数量。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display mac-address multiport命令用来显示多端口单播MAC地址表的信息。
相关配置可参考命令mac-address multiport。
【举例】
# 显示所有多端口单播MAC地址表的信息。
<Sysname> display mac-address multiport
MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)
0001-0101-0101 2 Multiport GigabitEthernet3/1/1 NOAGED
GigabitEthernet3/1/2
GigabitEthernet3/1/3
--- 1 mac address(es) found ---
表1-3 display mac-address multiport命令显示信息描述表
字段 |
说明 |
MAC ADDR |
MAC地址 |
VLAN ID |
MAC地址所在的VLAN ID |
STATE |
Multiport表示该表项是用户手工配置的多端口单播MAC地址表项 |
PORT INDEX |
该MAC地址对应的接口,即表示发往该MAC地址的报文将从此接口发出 |
AGING TIME |
老化时间状态。多端口单播MAC地址表项只有NOAGED状态,表示该表项不会被老化 |
1 mac address(es) found |
共有1个多端口单播MAC地址表项 |
【命令】
mac-address { dynamic | static } mac-address vlan vlan-id
undo mac-address { dynamic | static } mac-address vlan vlan-id
【视图】
二层以太网接口视图/二层聚合接口视图
【缺省级别】
2:系统级
【参数】
dynamic:动态MAC地址表项,有老化时间。
static:静态MAC地址表项,没有老化时间。
mac-address:MAC地址,格式为H-H-H。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。
vlan vlan-id:指定以太网接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。
【描述】
mac-address命令用来在指定接口下添加或者修改地址表项。undo mac-address命令用来删除指定接口下的地址表项。
缺省情况下,接口下没有配置任何MAC地址表项。
需要注意的是,如果不保存配置,设备复位后所有表项都会丢失;如果保存配置,静态MAC地址表项不会丢失,动态MAC地址表项会丢失;
相关配置可参考命令display mac-address。
【举例】
# 在GigabitEthernet3/1/1接口增加静态地址表项000f-e201-0101,该接口属于VLAN2。
<Sysname> system-view
[Sysname] interface GigabitEthernet 3/1/1
[Sysname-GigabitEthernet3/1/1] port link-mode bridge
[Sysname-GigabitEthernet3/1/1] mac-address static 000f-e201-0101 vlan 2
# 在Bridge-Aggregation1接口增加静态地址表项000f-e201-0102,该接口属于VLAN1。
<Sysname> system-view
[Sysname] interface bridge-Aggregation 1
[Sysname-Bridge-Aggregation1] mac-address static 000f-e201-0102 vlan 1
【命令】
mac-address blackhole mac-address vlan vlan-id
mac-address { dynamic | static } mac-address interface interface-type interface-number 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 ] mac-address interface interface-type interface-number vlan vlan-id
undo mac-address [ dynamic | static ] interface interface-type interface-number
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
blackhole:黑洞MAC地址表项。没有老化时间,可以添加/删除。当报文的目的MAC地址或源MAC地址与黑洞MAC地址表项匹配后该报文被丢弃。
mac-address:MAC地址,格式为H-H-H。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。
vlan vlan-id:指定以太网接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。
dynamic:动态MAC地址表项,有老化时间。
static:静态MAC地址表项,没有老化时间。
interface interface-type interface-number:出接口。interface-type interface-number用来表示接口的类型和编号。
【描述】
mac-address命令用来添加或者修改MAC地址表项。undo mac-address命令用来删除MAC地址表项。
缺省情况下,系统没有配置任何MAC地址表项。
需要注意的是:
· MAC地址表项的属性遵循如下原则:用户手工配置的静态MAC地址表项和黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。
· 执行undo mac-address命令时若不指定任何参数,将删除所有MAC地址表项(除了经MAC地址认证后产生的表项)。
· 可以删除某个接口上或某个VLAN的所有MAC地址表项,可以选择删除动态MAC地址表项、静态MAC地址表项或者黑洞MAC地址表项。
· 如果不保存配置,设备复位后所有表项都会丢失;如果保存配置,静态MAC地址表项和黑洞MAC地址表项不会丢失,动态表项会丢失。
相关配置可参考命令display mac-address。
【举例】
# 添加静态地址表项,目的MAC地址为000f-e201-0101,出接口为GigabitEthernet3/1/1,且该接口属于VLAN2。
<Sysname> system-view
[Sysname] mac-address static 000f-e201-0101 interface GigabitEthernet 3/1/1 vlan 2
【命令】
mac-address mac-learning disable
undo mac-address mac-learning disable
【视图】
二层以太网接口视图/VLAN视图/端口组视图/二层聚合接口视图
【缺省级别】
2:系统级
【参数】
无
【描述】
mac-address mac-learning disable命令用来关闭接口或者VLAN的MAC地址学习功能。undo mac-address mac-learning disable命令用来打开接口或者VLAN的MAC地址学习功能。
缺省情况下,以太网接口或端口组的MAC地址学习功能处于开启状态。
需要注意的是:
· 关闭MAC地址学习功能,可以保护设备的安全,可以有效地防止攻击者用大量不同MAC地址的帧攻击设备导致设备地址表资源耗尽。但是关闭MAC地址学习功能后,设备就学不到新地址,从而影响设备及时刷新MAC地址表。用户可以根据实际情况关闭接口的MAC地址学习功能。
· 关闭MAC地址学习功能可能会导致广播,因此在关闭接口的MAC地址学习功能的同时,一般还要使用接口广播风暴抑制功能。
相关配置可参考命令display mac-address mac-learning。
【举例】
# 关闭GigabitEthernet3/1/10接口的MAC地址学习功能。
<Sysname> system-view
[Sysname] interface GigabitEthernet 3/1/10
[Sysname-GigabitEthernet3/1/10] port link-mode bridge
[Sysname-GigabitEthernet3/1/10] mac-address mac-learning disable
# 关闭VLAN 10的MAC地址学习功能。
<Sysname> system-view
[Sysname] vlan 10
[Sysname-vlan10] mac-address mac-learning disable
# 关闭Bridge-Aggregation1接口的MAC地址学习功能。
<Sysname> system-view
[Sysname] interface bridge-Aggregation 1
[Sysname-Bridge-Aggregation1] mac-address mac-learning disable
【命令】
mac-address max-mac-count { count | disable-forwarding }
undo mac-address max-mac-count [ disable-forwarding ]
【视图】
二层以太网接口视图/端口组视图/二层聚合接口视图
【缺省级别】
2:系统级
【参数】
count:接口可以学习的最大MAC地址数,取值范围为0~1048576。取值为0表示不允许该接口学习MAC地址。
disable-forwarding:当接口学习的MAC地址数达到配置的最大MAC地址数后,禁止转发收到的源MAC地址不在MAC地址表里的数据帧。对于源MAC地址在MAC地址表里的数据帧,正常进行转发。
【描述】
mac-address max-mac-count命令用来配置接口最多可以学习到的MAC地址数,以及当接口学习的MAC地址数达到最大值后,是否允许转发收到的源MAC地址不在MAC地址表里的数据帧。undo mac-address max-mac-count命令用来恢复接口最多可以学习到的MAC地址数目的缺省值,undo mac-address max-mac-count disable-forwarding用来恢复当接口学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的源MAC地址不在MAC地址表里的数据帧。
缺省情况下,接口最多可以学习到的MAC地址数目不作限制,并且当接口学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的源MAC地址不在MAC地址表里的数据帧。对于源MAC地址在MAC地址表里的数据帧,正常进行转发。
在接口视图下执行该命令,则该配置只在当前接口生效;在端口组视图下执行该命令,则该配置将在端口组的所有端口生效。
配合静态MAC地址配置功能,用户可以将某个接口或端口组配置为禁止学习MAC地址,仅允许目的为所配置的静态MAC地址的报文通过,从而避免非法设备通过该接口或端口组包含的接口接入网络。
相关配置可参考命令mac-address和mac-address timer。
【举例】
# 配置以太网接口GigabitEthernet3/1/10最多学习到的地址的数目为600,当接口学习的MAC地址数达到600时,禁止转发源MAC地址不在MAC地址表里的数据帧。
<Sysname> system-view
[Sysname] interface GigabitEthernet 3/1/10
[Sysname-GigabitEthernet3/1/10] port link-mode bridge
[Sysname-GigabitEthernet3/1/10] mac-address max-mac-count 600
[Sysname-GigabitEthernet3/1/10] mac-address max-mac-count disable-forwarding
【命令】
mac-address max-mac-count { count | disable-forwarding }
undo mac-address max-mac-count [ disable-forwarding ]
【视图】
VLAN视图
【缺省级别】
2:系统级
【参数】
count:VLAN内可以学习的最大MAC地址数,取值范围为0~1048576。取值为0表示不允许该VLAN学习MAC地址。
disable-forwarding:当VLAN学习的MAC地址数达到配置的最大MAC地址数后,禁止转发收到的源MAC地址不在MAC地址表里的数据帧。对于源MAC地址在MAC地址表里的数据帧,正常进行转发。
【描述】
mac-address max-mac-count命令用来配置指定VLAN最多可以学习到的MAC地址数,以及当该VLAN学习的MAC地址数达到配置的最大值后,是否允许转发收到的源MAC地址不在MAC地址表里的数据帧。如果该VLAN学习到的MAC地址条数达到用户配置的最大值时,该VLAN将不再对MAC地址进行学习;如果用户配置了disable-forwarding,当VLAN学习到的MAC地址数达到用户配置的最大值时,不会继续转发收到的不在MAC地址表里的数据帧。
undo mac-address max-mac-count命令用来恢复VLAN最多可以学习到的MAC地址数目为缺省值;undo mac-address max-mac-count disable-forwarding用来配置当VLAN学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的带有源MAC地址的数据帧。
缺省情况下,VLAN最多可以学习到的MAC地址数目不作限制,并且当VLAN学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的源MAC地址不在MAC地址表里的数据帧。对于源MAC地址在MAC地址表里的数据帧,正常进行转发。
配合静态MAC地址配置功能,用户可以将某个VLAN配置为禁止学习MAC地址,仅允许目的为所配置的静态MAC地址的报文通过,从而避免非法设备通过该VLAN内的接口接入网络。
相关配置可参考命令mac-address和mac-address timer。
【举例】
# 将VLAN 10最多学习到的地址的数目设为600,当VLAN 10学习的MAC地址数达到600时,禁止转发源MAC地址不在MAC地址表里的数据帧。
<Sysname> system-view
[Sysname] vlan 10
[Sysname-vlan10] mac-address max-mac-count 600
[Sysname-vlan10] mac-address max-mac-count disable-forwarding
【命令】
mac-address multiport mac-address vlan vlan-id
undo mac-address multiport mac-address vlan vlan-id
【视图】
二层以太网接口视图/二层聚合接口视图/端口组视图
【缺省级别】
2:系统级
【参数】
mac-address:多端口单播MAC地址,取值范围为单播MAC,不支持全0的MAC地址。
vlan-id:指定以太网接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。
【描述】
mac-address multiport命令用来配置当前接口加入多端口单播MAC地址表项。undo mac-address multiport命令用来从多端口单播MAC地址表项中删除当前接口。
缺省情况下,接口下没有配置任何多端口单播MAC地址表项。
相关配置可参考命令display mac-address multiport。
当将以太网接口加入到聚合组后,该端口上的多端口单播MAC地址表项配置可能会不生效。因此,建议用户在该聚合组对应的聚合接口视图下配置多端口单播MAC地址表项。
【举例】
# 在GigabitEthernet3/1/10接口增加多端口MAC地址表项0001-0001-0101,该接口属于VLAN 2。
<Sysname> system-view
[Sysname] interface GigabitEthernet 3/1/10
[Sysname-GigabitEthernet3/1/10] port link-mode bridge
[Sysname-GigabitEthernet3/1/10] mac-address multiport 0001-0001-0101 vlan 2
【命令】
mac-address multiport mac-address interface interface-list vlan vlan-id
undo mac-address multiport mac-address interface interface-list vlan vlan-id
undo mac-address [ multiport ] [ [ mac-address ] vlan vlan-id ]
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
mac-address:多端口单播MAC地址,取值范围为单播MAC,不支持全0的MAC地址。
interface-list:接口列表,表示方式为interface-list = { { interface-type interface-number } [ to { interface-type interface-number } ] } &<1-n>。interface-type支持二层以太网接口及二层聚合接口,&<1-n>表示前面的参数最多可以输入n次。n的最大值为16。
vlan-id:指定以太网接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。
【描述】
mac-address multiport命令用来配置接口加入多端口单播MAC地址表项。undo mac-address multiport命令用来删除从多端口单播MAC地址表项中删除接口。
缺省情况下,系统没有配置任何多端口单播MAC地址表项。
需要注意的是:
· 执行undo mac-address multiport命令时若未指定multiport参数,将删除包括组播MAC地址表项、多端口单播MAC地址表项和单播MAC地址表项在内的所有MAC地址表项。
· 当将以太网接口加入到聚合组后,该端口上的多端口单播MAC地址表项配置可能会不生效。因此,建议用户在该聚合组对应的聚合接口视图下配置多端口单播MAC地址表项。
相关配置可参考命令display mac-address multiport。
【举例】
# 添加多端口单播MAC地址表项,目的MAC地址为000f-e201-0101,出接口为GigabitEthernet3/1/1、GigabitEthernet3/1/2和 GigabitEthernet3/1/3,且出接口属于VLAN 2。
<Sysname> system-view
[Sysname] mac-address multiport 000f-e201-0101 interface GigabitEthernet 3/1/1 to GigabitEthernet 3/1/3 vlan 2
【命令】
mac-address timer { aging seconds | no-aging }
undo mac-address timer aging
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
aging seconds:动态MAC地址表项的老化时间,单位为秒。取值范围为10~3600。
no-aging:不老化。
【描述】
mac-address timer命令用来配置动态MAC地址表项的老化时间。undo mac-address timer命令用来恢复缺省情况。
缺省情况下,MAC地址动态表项的老化时间为300秒。
如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,可能导致设备广播大量的数据报文,影响设备的运行性能。所以用户需要根据实际情况,配置合适的老化时间来有效的实现MAC地址老化功能。
【举例】
# 配置MAC地址动态表项的老化时间为500秒。
<Sysname> system-view
[Sysname] mac-address timer aging 500
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!