• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

03-二层技术-以太网交换配置指导

目录

04-MAC地址表配置

本章节下载 04-MAC地址表配置  (289.72 KB)

docurl=/cn/Service/Document_Software/Document_Center/Home/Switches/00-Public/Configure/Operation_Manual/H3C_S12500-X_S12500X-AF_CG(R113x)-6W101/03/201906/1203163_30005_0.htm

04-MAC地址表配置


1 MAC地址表

1.1  MAC地址表简介

MAC(Media Access Control,媒体访问控制)地址表记录了MAC地址与接口的对应关系,以及接口所属的VLAN等信息。设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式通过对应VLAN内除接收接口外的所有接口转发该报文。

1.1.1  MAC地址表项的生成方式

MAC地址表项的生成方式有两种:自动生成、手工配置。

1. 自动生成MAC地址表项

一般情况下,MAC地址表是设备通过源MAC地址学习过程而自动建立的。设备学习MAC地址的过程如下:

·            从某接口(假设为接口A)收到一个数据帧,设备分析该数据帧的源MAC地址(假设为MAC-SOURCE),并认为目的MAC地址为MAC-SOURCE的报文可以由接口A转发。

·            如果MAC地址表中已经包含MAC-SOURCE,设备将对该表项进行更新。

·            如果MAC地址表中尚未包含MAC-SOURCE,设备则将这个新MAC地址以及该MAC地址对应的接口A作为一个新的表项加入到MAC地址表中。

为适应网络拓扑的变化,MAC地址表需要不断更新。MAC地址表中自动生成的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前某表项被刷新,则重新计算该表项的老化时间。

2. 手工配置MAC地址表项

设备通过源MAC地址学习自动建立MAC地址表时,无法区分合法用户和非法用户的报文,带来了安全隐患。如果非法用户将攻击报文的源MAC地址伪装成合法用户的MAC地址,并从设备的其他接口进入,设备就会学习到错误的MAC地址表项,于是将本应转发给合法用户的报文转发给非法用户。

为了提高安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止非法用户骗取数据。

1.1.2  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地址表项的相关介绍和配置内容,请参见“IP组播配置指导”中的“组播路由与转发”。

 

1.2  配置MAC地址表

以下配置均为可选配置,且配置过程无先后顺序,用户可以根据实际情况选择配置。

1.2.1  配置MAC地址表项

配置MAC地址表项时,需要注意:

·            在手工配置动态MAC地址表项时,如果MAC地址表中已经存在MAC地址相匹配的自动生成表项,但该表项的接口与配置不符,那么该手工配置覆盖自动生成表项。

·            如果不保存配置,设备重启后所有手工配置的MAC地址表项都会丢失;如果保存配置,设备重启后手工配置的静态MAC地址表项、黑洞MAC地址表项和多端口单播MAC地址表项不会丢失,手工配置的动态MAC地址表项会丢失。

配置MAC地址表项后,当设备收到的报文的源MAC地址与配置表项中的MAC地址相同时,不同类型的MAC地址表项处理方式不同:

表1-1 不同类型MAC地址表项对源MAC地址匹配报文的处理方式

MAC地址表项类型

报文源MAC地址与配置表项中的MAC地址相同

静态MAC地址表项

·      如果报文入接口与表项中的接口不同,则丢弃该报文

·      如果报文入接口与表项中的接口相同,则转发该报文

多端口单播MAC地址表项

进行MAC地址学习,生成动态MAC地址表项(假设源MAC为MAC A,),并转发该报文。但是,当设备转发目的MAC为MAC A的报文时,由于多端口单播MAC地址表项优先级高于自动生成的MAC地址表项,报文根据多端口单播MAC地址表项转发,不根据生成的动态MAC地址表项转发

动态MAC地址表项

·      如果报文入接口与该表项中的接口不同,则进行MAC地址学习,并覆盖该表项

·      如果报文入接口与该表项中的接口相同,则转发该报文,并更新该表项老化时间

 

1. 配置静态/动态MAC地址表项

(1)       全局配置静态/动态MAC地址表项

表1-2 全局配置静态/动态MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

添加或者修改静态/动态MAC地址表项

mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id

缺省情况下,系统没有配置任何MAC地址表项

interface参数指定的接口必须属于vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将配置失败

 

(2)       接口配置静态/动态MAC地址表项

表1-3 接口配置静态/动态MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

在当前接口下添加或者修改静态/动态MAC地址表项

mac-address { dynamic | static } mac-address vlan vlan-id

缺省情况下,接口下没有配置任何MAC地址表项

当前接口必须属于vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将配置失败

 

2. 配置黑洞MAC地址表项

表1-4 配置黑洞MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

添加或者修改黑洞MAC地址表项

mac-address blackhole mac-address vlan vlan-id

缺省情况下,系统没有配置任何MAC地址表项

vlan参数指定的VLAN必须事先创建,否则将配置失败

 

3. 配置多端口单播MAC地址表项

网络管理员可手工配置多端口单播MAC地址表项,将多个端口和单播MAC地址绑定,以实现目的地址匹配该MAC地址的报文通过多个端口复制转发出去。例如,在NLB集群(如图1-1)的单播模式下,所有服务器节点使用一个共同的MAC地址(该MAC地址为集群MAC地址),发往集群MAC地址的报文要求发送到每一台服务器,这时可以在服务器组的接入设备上配置多端口单播MAC地址表项,把客户端发往服务器组的报文从所有连接服务器的端口转发出去。

图1-1 NLB集群

 

 

有两种方式可以配置多端口单播MAC地址表项:

(1)       全局配置多端口单播MAC地址表项

表1-5 全局配置多端口单播MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

配置多端口单播MAC地址表项

mac-address multiport mac-address interface interface-list vlan vlan-id

缺省情况下,系统没有配置任何多端口单播MAC地址表项

interface参数指定的接口必须属于vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将配置失败

 

(2)       接口配置多端口单播MAC地址表项

表1-6 接口配置多端口单播MAC地址表项

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

配置当前接口加入多端口单播MAC地址表项

mac-address multiport mac-address vlan vlan-id

缺省情况下,接口下没有配置任何多端口单播MAC地址表项

当前接口必须属于vlan参数指定的VLAN,而且该VLAN必须事先创建,否则将配置失败

 

1.2.2  关闭MAC地址学习功能

缺省情况下,MAC地址学习功能处于开启状态。有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:非法用户使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。

关闭MAC地址学习功能后,已经学习到的动态MAC地址表项将继续有效直至老化。

1. 关闭全局的MAC地址学习功能

关闭全局的MAC地址学习功能的同时也就关闭了全部接口的MAC地址学习功能。

表1-7 关闭全局MAC地址学习功能

操作

命令

说明

进入系统视图

system-view

-

关闭全局的MAC地址学习功能

undo mac-address mac-learning enable

缺省情况下,全局的MAC地址学习功能处于开启状态

 

2. 关闭接口的MAC地址学习功能

在开启全局的MAC地址学习功能的前提下,用户可以关闭设备上单个接口的MAC地址学习功能。

表1-8 关闭接口的MAC地址学习功能

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

二层以太网接口视图

interface interface-type interface-number

-

二层聚合接口视图

interface bridge-aggregation interface-number

关闭接口的MAC地址学习功能

undo mac-address mac-learning enable

缺省情况下,接口的MAC地址学习功能处于开启状态

 

1.2.3  配置动态MAC地址表项的老化时间

当网络拓扑改变后,如果动态MAC地址表项不及时更新,会导致用户流量不能正常转发。配置动态MAC地址表项的老化时间后,超过老化时间的动态MAC地址表项会被自动删除,设备将重新进行MAC地址学习,构建新的动态MAC地址表项。

用户配置的老化时间过长或者过短,都可能影响设备的运行性能:

·            如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。

·            如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,导致设备广播大量的数据报文,增加网络的负担。

用户需要根据实际情况,配置合适的老化时间。如果网络比较稳定,可以将老化时间配置得长一些或者配置为不老化;否则,可以将老化时间配置得短一些。比如在一个比较稳定的网络,如果长时间没有流量,动态MAC地址表项会被全部删除,可能导致设备突然广播大量的数据报文,造成安全隐患,此时可将动态MAC地址表项的老化时间设得长一些或不老化,以减少广播,增加网络稳定性和安全性。

动态MAC地址表项的老化时间作用于全部接口上。

表1-9 配置动态MAC地址表项的老化时间

操作

命令

说明

进入系统视图

system-view

-

配置动态MAC地址表项的老化时间

mac-address timer { aging seconds | no-aging }

缺省情况下,,动态MAC地址表项的老化时间为300秒

 

1.2.4  开启全局的MAC地址同步功能

分布式设备通常有多块单板,为了避免不必要的广播报文,以及提高报文转发的速度,需要所有单板拥有同样的MAC地址表。开启全局的MAC地址同步功能后,设备会将每块单板的MAC地址表同步到其他单板上。当多个分布式设备组成IRF设备时,开启全局的MAC地址同步功能后,设备会在所有成员设备的所有单板间进行MAC地址表的同步。

图1-2所示,是MAC地址同步功能的典型应用场景。Device A和Device B是两台配置了IRF功能的设备。无线接入点AP C和AP D分别连接到IRF成员设备Device A和Device B。

开启MAC地址同步功能后,IRF成员设备会将学习到的MAC地址同步给IRF设备内的其他成员设备。如图1-2所示,当Client A通过AP C接入时,Device A会将学习到的Client A的MAC地址同步给IRF设备内的其他成员设备Device B。

图1-2 Client A通过AP C接入时的MAC地址表

 

当用户的接入地点发生变化,例如从AP C的覆盖区域移动到AP D的覆盖区域时,IRF会将Client A的MAC地址重新学习到Device B上,并将更新后的MAC地址同步给IRF设备内的其他成员设备Device A(如图1-3所示),使用户的通信不受任何影响。

图1-3 Client A移动到通过AP D接入时的MAC地址表

 

表1-10 开启全局的MAC地址同步功能

操作

命令

说明

进入系统视图

system-view

-

开启全局的MAC地址同步功能

mac-address mac-roaming enable

缺省情况下,全局的MAC地址同步功能处于关闭状态

 

1.2.5  配置设备在报文入接口时学习MAC地址

在本系列交换机的Release 11xx系列软件版本上,设备学习MAC地址的方式分为在报文出接口时学习和在报文入接口时学习。缺省情况下,设备在报文出接口时学习源MAC,并将学到的MAC地址同步给包括入接口板在内的其它业务板。

根据三层报文的转发原理,报文在出接口时需要将源MAC替换为设备出接口的MAC,此时若使用在出接口时学习的方式,设备无法学习到三层转发报文的源MAC。因此在EVI等某些需要学习三层报文源MAC的组网环境中,需要配置设备在报文入接口时学习MAC地址。

表1-11 配置设备在报文入接口时学习MAC地址

操作

命令

说明

进入系统视图

system-view

-

配置设备在报文入接口时学习MAC地址

mac-address mac-learning ingress

缺省情况下,设备在报文出接口时学习MAC地址

 

1.3  MAC地址表显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC地址表的运行情况,通过查看显示信息验证配置的效果。

表1-12 MAC地址表显示和维护

操作

命令

显示MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole | multiport ] [ vlan vlan-id ] [ count ] ]

显示MAC地址表动态表项的老化时间

display mac-address aging-time

显示MAC地址学习功能的使能状态

display mac-address mac-learning [ interface interface-type interface-number ]

显示MAC地址表的统计信息

display mac-address statistics

 

1.4  MAC地址表典型配置举例

1. 组网需求

·            现有一台用户主机,它的MAC地址为000f-e235-dc71,属于VLAN 1,连接Device的FortyGigE1/0/1端口。为防止假冒身份的非法用户骗取数据,在设备的MAC地址表中为该用户主机添加一条静态表项。

·            另有一台用户主机,它的MAC地址为000f-e235-abcd,属于VLAN 1。由于该用户主机曾经接入网络进行非法操作,为了避免此种情况再次发生,在设备上添加一条黑洞MAC地址表项,使该用户主机接收不到报文。

·            配置设备的动态MAC地址表项老化时间为500秒。

2. 配置步骤

# 增加一个静态MAC地址表项,目的地址为000f-e235-dc71,出接口为FortyGigE1/0/1,且该接口属于VLAN 1。

<Device> system-view

[Device] mac-address static 000f-e235-dc71 interface fortygige 1/0/1 vlan 1

# 增加一个黑洞MAC地址表项,地址为000f-e235-abcd,属于VLAN 1。

[Device] mac-address blackhole 000f-e235-abcd vlan 1

# 配置动态MAC地址表项的老化时间为500秒。

[Device] mac-address timer aging 500

3. 验证配置

# 查看端口FortyGigE1/0/1上的静态MAC地址表项信息。

[Device] display mac-address static interface fortygige 1/0/1

MAC Address      VLAN ID    State            Port/NickName            Aging

000f-e235-dc71   1          Static           FGE1/0/1                   N

# 查看黑洞MAC地址表信息。

[Device] display mac-address blackhole

MAC Address      VLAN ID    State            Port/NickName            Aging

000f-e235-abcd   1          Blackhole        N/A                      N

# 查看动态MAC地址表项的老化时间。

[Device] display mac-address aging-time

MAC address aging time: 500s.


2 MAC Information

2.1  MAC Information简介

由于MAC地址能唯一标识一个网络用户,MAC Information功能通过监控接口学习和删除MAC地址表项,可以对用户加入和离开网络进行跟踪。具体机制为:当接口学习到一条新的MAC地址表项或删除一条已有MAC地址表项时,设备会将该MAC地址变化信息写入缓冲队列。当设定的发送MAC变化通知的时间间隔到期,设备立即发送记录了MAC地址变化信息的日志或SNMP告警信息。信息接收端通过对日志或SNMP告警信息进行分析,实现对网络中的用户进行监控,同时为分析网络的使用情况提供依据。

说明

设备仅记录和发送动态MAC地址变化信息。对黑洞MAC地址、静态MAC地址、多端口单播MAC地址、组播MAC地址和本机MAC地址变化信息不进行记录和发送。

 

2.2  配置MAC Information功能

2.2.1  使能MAC Information功能

必须同时使能全局和接口的MAC Information功能,MAC Information功能才会生效。

表2-1 使能MAC Information功能

操作

命令

说明

进入系统视图

system-view

-

使能全局MAC Information功能

mac-address information enable

缺省情况下,全局MAC Information功能处于关闭状态

进入二层以太网接口视图

interface interface-type interface-number

-

使能当前接口的MAC Information功能

mac-address information enable { added | deleted }

缺省情况下,接口的MAC Information功能处于关闭状态

 

2.2.2  配置发送MAC变化通知的方式

发送MAC变化通知的方式有两种:

·            Syslog方式:通过发送日志信息通知MAC地址的变化。采用该方式时,日志信息会被发送到设备的信息中心,由信息中心发送到监控终端。有关信息中心的详细介绍及相关配置,请参见“网络管理和监控配置指导”中的“信息中心”。

·            Trap方式:通过发送SNMP告警信息通知MAC地址的变化。采用该方式时,需要通过SNMP将SNMP告警信息发送到NMS。有关SNMP的详细介绍及相关配置,请参见“网络管理和监控配置指导”中的“SNMP”。

表2-2 配置发送MAC变化通知的方式

操作

命令

说明

进入系统视图

system-view

-

配置发送MAC变化通知的方式

mac-address information mode { syslog | trap }

缺省情况下,采用Trap方式发送MAC变化通知

 

2.2.3  配置发送MAC变化通知的时间间隔

为了防止过于频繁地发送MAC变化通知干扰用户,用户可以修改发送MAC变化通知的时间间隔。

表2-3 配置发送MAC变化通知的时间间隔

配置步骤

命令

说明

进入系统视图

system-view

-

配置发送MAC变化通知的时间间隔

mac-address information interval interval-time

缺省情况下,发送MAC变化通知的时间间隔为1秒

 

2.2.4  配置MAC Information缓存队列长度

MAC Information缓存队列长度是否为0对应着不同的处理方式:

·            如果MAC Information缓存队列长度为0,则当接口学习到或删除一条MAC地址表项时会立即发送日志或SNMP告警信息。

·            如果MAC Information缓存队列长度不为0,则将MAC地址变化信息存放在缓存队列中。当未达到发送MAC变化通知的时间间隔,此时若缓存队列被写满,新的MAC地址变化信息将覆盖缓存队列中最后一条写入的信息;当达到发送MAC变化通知的时间间隔时,不论此时缓存队列是否已被写满,都发送日志或SNMP告警信息。

表2-4 配置MAC Information缓存队列长度

配置步骤

命令

说明

进入系统视图

system-view

-

配置MAC Information缓存队列长度

mac-address information queue-length value

缺省情况下,MAC Information缓存队列长度为50

 

2.3  MAC Information典型配置举例

1. 组网需求

·            Host A与远端服务器Server通过Device相连。

·            在Device的FortyGigE1/0/1上使能MAC Information功能,Device将FortyGigE1/0/1上的MAC地址添加或删除信息利用Syslog方式通过FortyGigE1/0/2发送给日志主机Host B,Host B可以对接收到的日志信息进行分析。

2. 组网图

图2-1 MAC Information典型配置组网图

 

3. 配置步骤

(1)       配置Device可以将日志信息发送到Host B

·            Device上的配置

# 开启信息中心。

<Device> system-view

[Device] info-center enable

# 配置发送日志信息到IP地址为192.168.1.2/24的日志主机,日志主机记录工具为local4。

[Device] info-center loghost 192.168.1.2 facility local4

# 关闭loghost方向所有模块日志信息的输出开关。

[Device] info-center source default loghost deny

说明

由于系统对各方向允许输出的日志信息的缺省情况不一样,所以配置前必须将所有模块指定方向(本例为loghost)上日志信息的输出开关关闭,再根据当前的需求配置输出规则,以免输出太多不需要的信息。

 

# 配置输出规则:允许MAC地址表模块的、等级高于等于informational的日志信息输出到日志主机。

[Device] info-center source mac loghost level informational

·            日志主机Host B上的配置

下面以Solaris操作系统上的配置为例介绍日志主机上的配置,在其他厂商的Unix操作系统上的配置操作基本类似。

第一步:以超级用户的身份登录日志主机。

第二步:在/var/log/路径下为Device创建同名日志文件夹Device,在该文件夹创建文件info.log,用来存储来自Device的日志。

# mkdir /var/log/Device

# touch /var/log/Device/info.log

第三步:编辑/etc/路径下的文件syslog.conf,添加以下内容。

# Device configuration messages

local4.info /var/log/Device/info.log

以上配置中,local4表示日志主机接收日志的工具名称,info表示信息等级。Unix系统会把等级高于等于informational的日志记录到/var/log/Device/info.log文件中。

说明

在编辑/etc/syslog.conf时应注意以下问题:

·      注释必须独立成行,并以字符#开头。

·      在文件名之后不得有多余的空格。

·      /etc/syslog.conf中指定的工具名称及信息等级与Device上info-center loghostinfo-center source命令的相应参数的指定值要保持一致,否则日志信息可能无法正确输出到日志主机上。

 

第四步:查看系统守护进程syslogd的进程号,中止syslogd进程,并重新用-r选项在后台启动syslogd,使修改后配置生效。

# ps -ae | grep syslogd

147

# kill -HUP 147

# syslogd -r &

进行以上操作之后,Device的日志信息会输出到Host B,Host B会将这些日志信息存储到相应的文件中了。

(2)       配置MAC Information功能

# 使能全局MAC Information功能。

[Device] mac-address information enable

# 配置采用Syslog方式发送MAC变化通知。

[Device] mac-address information mode syslog

# 使能端口FortyGigE1/0/1的MAC Information功能,使该接口在学习到和删除MAC地址时记录MAC变化信息。

[Device] interface fortygige 1/0/1

[Device-FortyGigE1/0/1] mac-address information enable added

[Device-FortyGigE1/0/1] mac-address information enable deleted

[Device-FortyGigE1/0/1] quit

# 配置MAC Information缓存队列长度为100。

[Device] mac-address information queue-length 100

# 配置发送MAC变化通知的时间间隔为20秒。

[Device] mac-address information interval 20

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们