01-MAC地址表命令
本章节下载: 01-MAC地址表命令 (171.57 KB)
1.1.2 display mac-address aging-time
1.1.3 display mac-address mac-learning
1.1.4 display mac-address mac-move
1.1.5 mac-address (interface view)
1.1.6 mac-address (system view)
1.1.7 mac-address mac-learning enable
1.1.8 mac-address mac-learning priority
1.1.9 mac-address max-mac-count
1.1.10 mac-address max-mac-count enable-forwarding
1.1.11 mac-address notification mac-move
1.1.12 mac-address notification mac-move suppression (interface view)
1.1.13 mac-address notification mac-move suppression (system view)
1.1.15 snmp-agent trap enable mac-address
display mac-address命令用来显示MAC地址表信息。
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地址表项。
count:显示MAC地址表项的数量。如果配置本参数,将仅显示符合条件的(由count前面的参数决定)MAC地址表项的数量,而不显示MAC地址表项的具体内容。如果不指定本参数,则显示符合条件的MAC地址表的具体内容。
· 使用本命令可以查看静态、动态和黑洞MAC地址表项,表项内容主要包括MAC地址、VLAN ID、接口等信息。
· 如果不指定任何参数,将显示所有的MAC地址表项信息。
# 显示VLAN 100的MAC地址表项的信息。
<Sysname> display mac-address vlan 100
MAC Address VLAN ID State Port/NickName Aging
0001-0001-0001 1 Static GE0/1 N
0001-0002-0001 1 Blackhole N/A N
0001-0003-0001 1 Learned GE0/1 Y
# 显示MAC地址表项的数量。
<Sysname> display mac-address count
1 mac address(es) found.
表1-1 display mac-address命令显示信息描述表
MAC地址 |
|
MAC地址对应接口所属的VLAN |
|
MAC地址表项的状态,包括: · Static:表示该表项是静态MAC地址表项 · Learned:动态MAC地址表项。可以手工配置也可以由设备学习获得 · Blackhole:表示该表项是黑洞MAC地址表项 |
|
MAC地址对应的接口名称或NickName(暂不支持NickName)。如果显示为接口名称,表示发往该MAC地址的报文将从此接口发出(黑洞MAC地址表项此处显示为N/A) |
|
· Y:表示该表项会被老化 · N:表示该表项不会被老化 |
|
共有n个MAC地址表项 |
display mac-address aging-time命令用来显示MAC地址表动态表项的老化时间。
display mac-address aging-time
动态MAC地址表项可以被老化,用户可以配置动态MAC地址表项的老化时间。使用本命令可以查看用户配置的动态MAC地址表项的老化时间。
# 显示MAC地址表中动态表项的老化时间。
<Sysname> display mac-address aging-time
MAC address aging time: 300s.
以上显示信息表示:MAC地址表中动态表项的老化时间为300秒。
display mac-address mac-learning命令用来显示MAC地址学习功能的使能状态。
display mac-address mac-learning [ interface interface-type interface-number ]
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
GE0/1 Disabled
表1-2 display mac-address mac-learning命令显示信息描述表
全局的MAC地址学习状态:Enabled为使能,Disabled为禁止 |
|
接口的MAC地址学习状态:Enabled为使能,Disabled为禁止 |
· mac-address mac-learning enable
display mac-address mac-move命令用来显示设备启动后的MAC地址迁移记录。
如果MAC地址迁移频繁出现,且同一MAC地址总是在特定的两个接口之间迁移,那么网络中可能存在二层环路。可以通过查看MAC地址迁移记录,发现和定位环路。
· 在迁移记录中,如果MAC地址、VLAN、源端口、新端口都一样,则视作一条表项。
· 设备最多能保存20条最近发生的MAC地址迁移记录。当记录超过20条时,新的迁移记录将会根据上次迁移时间覆盖最早的记录。
# 显示设备上的MAC地址迁移记录。
<Sysname> display mac-address mac-move
------------------------MAC address moving information----------------
MAC address VLAN Current port Source port Last time Times
0000-0001-002c 1 GE0/0 GE0/1 2013-05-20 13:40:52 1
0000-0001-002c 1 GE0/1 GE0/0 2013-05-20 13:41:30 1
表1-3 display mac-address mac-move命令显示信息描述表
MAC地址 |
|
MAC地址对应接口所属的VLAN |
|
MAC地址迁移新接口 |
|
MAC地址迁移源接口 |
|
发生MAC地址迁移的最近一次时间 |
|
设备启动后,MAC地址发生迁移的次数。对于同一MAC地址,仅当字段VLAN、Current port和Source port都相同时,次数才加1 |
· mac-address notification mac-move
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地址表项。
dynamic:动态MAC地址表项。
static:静态MAC地址表项。
mac-address:MAC地址,格式为H-H-H,不支持组播MAC地址和全0的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地址表项会丢失。
# 在端口GigabitEthernet0/0下增加静态MAC地址表项000f-e201-0101,该端口属于VLAN 2。
[Sysname] interface gigabitethernet 0/0
[Sysname-GigabitEthernet0/0] mac-address static 000f-e201-0101 vlan 2
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 [ blackhole | dynamic | static ] [ mac-address ] vlan vlan-id
undo mac-address [ dynamic | static ] interface interface-type interface-number
系统没有配置任何MAC地址表项。
dynamic:动态MAC地址表项。
static:静态MAC地址表项。
blackhole:黑洞MAC地址表项。当报文的源MAC地址或目的MAC地址与黑洞MAC地址表项匹配时,该报文被丢弃。
mac-address:MAC地址,格式为H-H-H,不支持组播MAC地址和全0的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地址表项覆盖。
· 执行undo mac-address命令时若不指定任何参数,将删除所有单播MAC地址表项。
· 如果不保存配置,设备重启后所有表项都会丢失;如果保存配置,静态MAC地址表项和黑洞MAC地址表项不会丢失,动态表项会丢失。
# 添加静态地址表项,目的MAC地址为000f-e201-0101,出接口为GigabitEthernet0/0,且该接口属于VLAN 2。
[Sysname] mac-address static 000f-e201-0101 interface gigabitethernet 0/0 vlan 2
· mac-address (interface view)
mac-address mac-learning enable命令用来打开设备接口的MAC地址学习功能。
undo mac-address mac-learning enable命令用来关闭设备接口的MAC地址学习功能。
mac-address mac-learning enable
undo mac-address mac-learning enable
MAC地址学习功能处于开启状态。
有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:非法用户使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。
关闭MAC地址学习功能后,设备就学不到新地址,从而影响设备及时刷新MAC地址表。用户可以根据实际情况关闭接口的MAC地址学习功能。
关闭MAC地址学习功能可能会导致广播,因此在关闭接口的MAC地址学习功能的同时,一般还要使用接口广播风暴抑制功能。有关广播风暴抑制功能的介绍,请参见“接口管理配置指导”中的“以太网接口”。
# 关闭端口GigabitEthernet0/0的MAC地址学习功能。
[Sysname] interface gigabitethernet 0/0
[Sysname-GigabitEthernet0/0] undo mac-address mac-learning enable
# 关闭接口Bridge-Aggregation1的MAC地址学习功能。
[Sysname] interface bridge-aggregation 1
[Sysname-Bridge-Aggregation1] 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地址学习优先级为低优先级。
high:配置MAC地址学习优先级为高优先级。
low:配置MAC地址学习优先级为低优先级。
· 接口的MAC地址学习功能分为两个优先级:高优先级和低优先级。对于高优先级的接口,可以学习任何MAC地址;对于低优先级的接口,在学习MAC地址时需要查看高优先级接口是否已经学到该MAC地址,如果已经学到,则不允许学习该MAC地址。
· 为了预防攻击,可以将上行接口的MAC地址学习优先级配置为高优先级,下行接口的MAC地址学习优先级配置为低优先级,那么,下行接口就不会学到网关等上层设备的MAC地址,避免了攻击。
# 配置端口GigabitEthernet0/0的MAC地址学习优先级为高优先级。
[Sysname] interface gigabitethernet 0/0
[Sysname-GigabitEthernet0/0] mac-address mac-learning priority high
# 配置接口Bridge-Aggregation1的MAC地址学习优先级为高优先级。
[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
count:接口的MAC地址数学习上限,为0即表示不允许该接口学习MAC地址。设备支持的取值范围为0~8192。
通过配置接口的MAC地址数学习上限,用户可以控制设备维护的MAC地址表的表项数量。如果MAC地址表过于庞大,可能导致设备的转发性能下降。当接口学习到的MAC地址数达到上限时,该接口将不再对MAC地址进行学习。
# 配置端口GigabitEthernet0/0的MAC地址数学习上限为600。
[Sysname] interface gigabitethernet 0/0
[Sysname-GigabitEthernet0/0] mac-address max-mac-count 600
· mac-address max-mac-count enable-forwarding (interface view)
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地址表里的报文。
# 配置端口GigabitEthernet0/0的MAC地址数学习上限为600,当端口学习的MAC地址数达到600时,禁止转发源MAC地址不在MAC地址表里的报文。
[Sysname] interface gigabitethernet 0/0
[Sysname-GigabitEthernet0/0] mac-address max-mac-count 600
[Sysname-GigabitEthernet0/0] undo mac-address max-mac-count enable-forwarding
· mac-address max-mac-count (interface view)
mac-address notification mac-move命令用来开启MAC地址迁移上报功能。
undo mac-address notification mac-move命令用来恢复缺省情况。
mac-address notification mac-move [ interval interval-value ]
undo mac-address notification mac-move
MAC地址迁移上报功能处于关闭状态。
interval interval-value:MAC地址迁移检测周期,单位为分钟,取值范围为1~60。如果未指定该参数,将采用缺省MAC地址迁移检测周期1分钟。
开启MAC地址迁移上报功能后,当系统检测到地址迁移,会显示MAC地址迁移日志,包括MAC地址、该MAC地址所在VLAN ID、MAC地址迁移源接口和新接口,以及该MAC地址在一个MAC地址迁移检测周期内的迁移次数。
· 执行本命令后,必须同时通过snmp-agent trap enable mac-address命令开启MAC地址表的告警功能,系统才会显示MAC地址迁移日志
· 开启MAC地址迁移上报功能后,系统按照MAC地址迁移检测周期的间隔显示上一个MAC地址迁移检测周期内发生的MAC地址迁移日志。
· 一个MAC地址迁移检测周期内,最多能显示20条最新的MAC地址的迁移日志;新发生的迁移日志会覆盖最旧的日志,旧的日志信息将丢弃。
# 开启MAC地址迁移上报功能。
[Sysname] mac-address notification mac-move
[Sysname]
%May 14 17:16:45:688 2013 H3C MAC/4/MAC_FLAPPING: MAC address 0000-0012-0034 in VLAN 500 has moved from port GE0/0 to port GE0/1 for 1 times
以上显示信息表明:MAC地址0000-0012-0034所在VLAN ID为500,MAC地址迁移源接口为GigabitEthernet0/0,MAC地址迁移新接口为GigabitEthernet0/1,该MAC地址在一个MAC地址迁移检测周期内的迁移次数为1。
· display mac-address mac-move
mac-address notification mac-move suppression命令用来开启当前接口上的MAC地址迁移抑制功能。
undo mac-address notification mac-move suppression命令用来恢复缺省情况。
mac-address notification mac-move suppression
undo mac-address notification mac-move suppression
MAC地址迁移抑制功能处于关闭状态。
开启MAC地址迁移抑制功能后,当监测到一个MAC地址迁移检测周期内某个MAC地址从某端口上迁移出或者迁移到该端口的次数超过MAC地址迁移抑制的检测阈值,则将该端口down,用户可以执行命令shutdown和undo shutdown将该端口恢复,也可以等MAC地址迁移抑制时间间隔后让该端口自行恢复up。
# 开启MAC地址迁移抑制功能。
[Sysname] interface gigabitethernet 0/0
[Sysname-GigabitEthernet0/0] mac-address notification mac-move suppression
· mac-address notification mac-move suppression (system view)
mac-address notification mac-move suppression命令用来配置MAC地址迁移抑制功能的相关参数。
undo mac-address notification mac-move suppression命令用来恢复缺省情况。
MAC地址迁移抑制功能的相关参数未配置,采用缺省抑制时间间隔30秒和缺省阈值3次。
interval interval-value:MAC地址迁移抑制时间间隔(检测攻击后,端口保持down状态的持续时间),单位为秒,取值范围为30~86400。如果未指定该参数,将采用缺省抑制时间间隔30秒。
threshold threshold-value:MAC地址迁移抑制的检测阈值(一个MAC地址迁移检测周期内允许MAC地址迁移的最大的迁移次数),取值范围为0~1024。如果未指定该参数,将采用缺省阈值3次。
· 配置本命令后,当接口上开启了MAC地址迁移抑制功能时,本命令配置的参数才能生效。
· 本命令可多次配置,配置interval interval-value和threshold threshold-value时互不影响
# 配置MAC地址迁移抑制功能的抑制间隔为40s,检测阈值为1。
[Sysname] mac-address notification mac-move suppression interval 40
[Sysname] mac-address notification mac-move suppression threshold 1
· mac-address notification mac-move suppression (interface view)
mac-address timer命令用来配置动态MAC地址表项的老化时间。
undo mac-address timer命令用来恢复缺省情况。
mac-address timer { aging seconds | no-aging }
缺省动态MAC地址表项的老化时间为300秒。
aging seconds:动态MAC地址表项的老化时间,单位为秒。设备支持的取值范围10~630。
no-aging:不老化。
当网络拓扑改变后,动态MAC地址表项不会及时自动更新。这样,由于设备学习不到新的MAC地址,会导致用户流量不能正常转发。因此,需要配置动态MAC地址表项老化时间。超出设定的老化时间,动态MAC地址表项被自动删除,设备重新进行MAC地址学习,构建新的动态MAC地址表项。
· 如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。
· 如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,可能导致设备广播大量的数据报文,影响设备的运行性能。
所以用户需要根据实际情况,配置合适的老化时间来有效的实现MAC地址老化功能。
# 配置动态MAC地址表项的老化时间为500秒。
[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 [ mac-move ]
undo snmp-agent trap enable mac-address [ mac-move ]
MAC地址表的告警功能处于开启状态。
mac-move:打开MAC地址表模块的MAC地址迁移上报的告警功能。如果未指定该参数,则表示打开MAC地址模块所有的告警功能。
· 当MAC地址表的告警功能关闭后,将采用Syslog方式上报信息。
· 目前MAC地址表模块仅有MAC地址迁移上报的告警功能,所以打开或关闭MAC地址迁移上报的告警功能,就相当于打开或关闭MAC地址表所有的告警功能。
# 配置采用Syslog方式上报MAC地址迁移。
[Sysname] undo snmp-agent trap enable mac-address mac-move
· mac-address notification mac-move
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!