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

H3C E352[E328]以太网交换机 配置指导-Release 1602(V1.02)

22-ARP操作

本章节下载 22-ARP操作  (330.92 KB)

22-ARP操作


1 ARP配置

l    新增“ARP入侵检测”特性,具体介绍请参见1.1.5  ARP入侵检测简介

l    新增“ARP报文限速”特性,具体介绍请参见1.1.6  ARP报文限速功能简介

l    新增“周期发送免费ARP报文”特性,具体介绍请参见1.1.7  1. 周期发送免费ARP报文的应用1.1.7  2. 周期发送免费ARP报文在VRRP备份组中的应用

l    新增“代理ARP”特性,具体介绍请参见2 代理ARP配置

 

1.1  ARP简介

1.1.1  ARP作用

ARP(Address Resolution Protocol,地址解析协议)用于将网络层的IP地址解析为数据链路层的物理地址。

IP地址只是主机在网络层中的地址,如果要将网络层中数据包传送给目的主机,必须知道目的主机的数据链路层地址(比如以太网络MAC地址)。因此必须将IP地址解析为数据链路层地址。

本章中除特殊说明,数据链路层地址均以48bit的以太网MAC地址为例。

 

1.1.2  ARP报文结构

ARP报文分为ARP请求和ARP应答报文,ARP请求和应答报文的格式如图1-1所示。

l              当一个ARP请求发出时,除了接收方硬件地址(即,请求方想要获取的地址)字段为空外,其他所有的字段都被使用。

l              ARP应答报文使用了所有的字段。

图1-1 ARP报文格式

 

ARP报文各字段的含义如表1-1所示。

表1-1 ARP报文字段解释

报文字段

字段含义

硬件类型

表示硬件接口的类型,合法取值请参见表1-2

协议类型

表示要映射的协议地址类型,它的值为0x0800即表示IP地址

硬件地址长度

数据报文中硬件地址以字节为单位的长度

协议地址长度

数据报文中协议地址以字节为单位的长度

操作码

指明数据报是ARP请求报文还是ARP应答报文

取值为1——数据报是ARP请求报文

取值为2——数据报是ARP应答报文

取值为3——数据报是RARP请求报文

取值为4——数据报是RARP应答报文

发送方硬件地址

发送方设备的硬件地址

发送方IP地址

发送方设备的IP地址

接收方硬件地址

接收方设备的硬件地址

ARP请求报文中——这个字段为空

ARP应答报文中——这个字段为应答报文返回的接收方硬件地址

接收方IP地址

接收方设备的IP地址

 

表1-2 合法硬件接口类型列表

类型

描述

1

以太网

2

实验以太网

3

X.25

4

Proteon ProNET(令牌环)

5

混沌网(chaos)

6

IEEE802.X

7

ARC网络

 

1.1.3  ARP

以太网上的两台主机需要通信时,双方必须知道对方的MAC地址。每台主机都要维护IP地址到MAC地址的转换表,称为ARP映射表。ARP映射表中存放着最近用到的一系列与本主机通信的其他主机的IP地址和MAC地址的映射关系,每一条映射关系称为一条ARP表项。E352&E328以太网交换机支持使用display arp命令查看ARP表项信息。

E352&E328以太网交换机的ARP表项分为:静态表项和动态表项,如表1-3所示。

表1-3 ARP表项

分类

生成方式

维护方式

静态ARP表项

用户手工配置的IP地址到MAC地址的映射

手工维护

动态ARP表项

交换机动态生成的IP地址到MAC地址的映射

动态生成的ARP表项,通过动态ARP老化定时器设定的时间进行老化

 

1.1.4  ARP地址解析过程

图1-2 ARP地址解析过程

 

假设主机A和B在同一个网段,主机A要向主机B发送信息。地址解析过程如下:

(1)        主机A首先查看自己的ARP表,确定其中是否包含有与主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2)        如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3)        主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4)        主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中用于后续报文的转发,同时将IP数据包进行封装后发送出去。

一般情况下,ARP动态执行并自动寻求IP地址到以太网MAC地址的解析,无需管理员的介入。

1.1.5  ARP入侵检测简介

1. “中间人攻击”简介

按照ARP协议的设计,一个主机即使收到的ARP应答并非自身请求得到的,也会将其IP地址和MAC地址的对应关系添加到自身的ARP映射表中。这样可以减少网络上过多的ARP数据通信,但也为“ARP 欺骗”创造了条件。

图1-3所示,Host A和Host C通过Switch进行通信。此时,如果有黑客(Host B)想探听Host A和Host C之间的通信,它可以分别给这两台主机发送伪造的ARP应答报文,使Host A和Host C用MAC_B更新自身ARP映射表中与对方IP地址相应的表项。此后,Host A 和Host C之间看似“直接”的通信,实际上都是通过黑客所在的主机间接进行的,即Host B担当了“中间人”的角色,可以对信息进行了窃取和篡改。这种攻击方式就称作“中间人(Man-In-The-Middle)攻击”。

图1-3 ARP“中间人”攻击示意图

 

2. ARP入侵检测功能

为了防止黑客或攻击者通过ARP报文实施“中间人”攻击,E352&E328以太网交换机支持ARP入侵检测功能,即:将经过交换机的所有ARP(请求与回应)报文重定向到CPU,利用DHCP Snooping表或手工配置的IP静态绑定表,对ARP报文进行合法性检测。DHCP Snooping表和手工配置的IP静态绑定表的介绍请参见“DHCP”中的DHCP Snooping部分。

开启ARP入侵检测功能后,如果ARP报文中的源MAC地址、源IP地址、接收ARP报文的端口编号以及端口所在VLAN与DHCP Snooping表或手工配置的IP静态绑定表表项一致,则认为该报文是合法的ARP报文,进行转发;否则认为是非法ARP报文,直接丢弃。

l              用户可以通过配置信任端口,灵活控制ARP报文检测。对于来自信任端口的所有ARP报文不进行检测,对其它端口的ARP报文通过查看DHCP Snooping表或手工配置的IP静态绑定表进行检测;

l              用户可以通过配置ARP严格转发功能,使ARP请求报文仅通过信任端口进行转发;对于接收到的ARP应答报文,首先按照报文中的目的MAC地址进行转发,若目的MAC地址不在MAC地址表中,则将此ARP应答报文通过信任端口进行转发。

1.1.6  ARP报文限速功能简介

为了防止“中间人攻击”,设备通过开启ARP入侵检测功能,将ARP报文上送到CPU处理,判断ARP报文的合法性后进行转发或丢弃。但是,这样引入了新的问题:如果攻击者恶意构造大量ARP报文发往交换机的某一端口,会导致CPU负担过重,从而造成其他功能无法正常运行甚至设备瘫痪。E352&E328以太网交换机支持端口ARP报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对CPU的冲击。

开启某个端口的ARP报文限速功能后,交换机对每秒内该端口接收的ARP报文数量进行统计,如果每秒收到的ARP报文数量超过设定值,则认为该端口处于超速状态(即受到ARP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免大量ARP报文攻击设备。

同时,设备支持配置端口状态自动恢复功能,对于配置了ARP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。

1.1.7  免费ARP简介

免费ARP报文的特点:

l              报文中携带的源IP和目的IP地址都是本机地址,报文源MAC地址是本机MAC地址。

l              当设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址冲突,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

设备通过对外发送免费ARP报文来实现以下功能:

l              确定其它设备的IP地址是否与本机的IP地址冲突。

l              使其它设备及时更新高速缓存中旧的该设备硬件地址。

设备通过学习免费ARP报文来实现以下功能:

在开启了免费ARP报文学习功能后,交换机对于收到的免费ARP报文,如果ARP表中没有与此报文对应的ARP表项,就将免费ARP报文中携带的信息添加到自身的动态ARP映射表中。

1. 周期发送免费ARP报文的应用

在实际环境中,当网络负载较大或接收端主机的CPU占用率较高时,可能存在ARP报文被丢弃或主机无法及时处理接收到的ARP报文等现象。这种情况下,接收端主机的动态ARP表项会因超时而被老化,在其重新学习到发送设备的ARP表项之前,二者之间的流量就会发生中断。

为了解决上述问题,E352&E328以太网络交换机在缺省情况下,支持VLAN接口周期发送免费ARP报文的功能。即:只要VLAN接口处于开启状态,该接口就会以30秒为周期,持续发送免费ARP报文,使接收端主机及时更新ARP映射表中交换机的MAC地址,从而防止了上述流量中断现象。

2. 周期发送免费ARP报文在VRRP备份组中的应用

当网络中存在VRRP备份组时,需要由VRRP备份组的Master交换机周期性的向网络内的主机发送免费ARP报文,使主机更新本地ARP地址表,确保网络中不会存在与VRRP虚拟路由器IP地址相同的设备。

由于用户可以设定VRRP虚拟路由器IP地址和MAC地址对应关系,因此有以下两种情况:

l              如果当前VRRP虚拟路由器的IP地址和虚拟MAC地址对应,则免费ARP报文中的源MAC地址为VRRP虚拟路由器对应的虚拟MAC地址。

l              如果当前VRRP虚拟路由器的IP地址和实际MAC地址对应,则免费ARP报文中的源MAC地址为VRRP备份组中Master交换机VLAN接口的MAC地址。

1.2  配置ARP

1.2.1  ARP基本配置

表1-4 ARP基本配置

操作

命令

说明

进入系统视图

system-view

-

手工添加静态ARP表项

arp static ip-address mac-address [ vlan-id interface-type interface-number ]

可选

缺省情况下,系统ARP映射表为空,地址映射由ARP协议动态获取

配置动态ARP表项的老化时间

arp timer aging aging-time

可选

缺省情况下,动态ARP表项的老化时间为20分钟

开启ARP表项的检查功能(即不学习源MAC地址为组播MAC的ARP表项)

arp check enable

可选

缺省情况下,ARP表项的检查功能处于开启状态

 

l    静态ARP表项在以太网交换机正常工作时间一直有效,但如果执行删除VLAN或把端口从VLAN中删除等使ARP表项不再合法的操作,则相应的静态ARP表项将被自动删除。

l    参数vlan-id必须是已经存在的VLAN ID,且vlan-id参数后面指定的以太网端口必须属于这个VLAN。

l    目前,不支持在汇聚组中的端口上配置静态ARP表项。

 

1.2.2  配置ARP入侵检测功能

表1-5 配置ARP入侵检测功能

操作

命令

说明

进入系统视图

system-view

-

开启DHCP Snooping功能

dhcp-snooping

必选

缺省情况下,交换机的DHCP Snooping功能处于关闭状态

进入以太网端口视图

interface interface-type interface-number

-

配置DHCP Snooping信任端口

dhcp-snooping trust

必选

缺省情况下,开启DHCP Snooping功能后,设备的所有端口均为非信任端口

退出至系统视图

quit

-

进入VLAN视图

vlan vlan-id

-

开启ARP入侵检测功能

arp detection enable

必选

缺省情况下,指定VLAN内所有端口的ARP入侵检测功能处于关闭状态

退出至系统视图

quit

-

进入以太网端口视图

interface interface-type interface-number

-

配置ARP信任端口

arp detection trust

可选

缺省情况下,端口为非ARP信任端口

退出至系统视图

quit

-

进入VLAN视图

vlan vlan-id

-

开启ARP严格转发功能

arp restricted-forwarding enable

可选

缺省情况下,ARP严格转发功能处于关闭状态

 

l    配置ARP入侵检测功能之前,需要先在交换机上开启DHCP Snooping功能,并设置DHCP Snooping信任端口,具体介绍可参见本手册“DHCP”中DHCP Snooping部分的介绍。

l    目前,E352&E328以太网交换机在端口上配置的IP静态绑定表项,其所属VLAN为端口的缺省VLAN ID。因此,如果ARP报文的VLAN TAG与端口的缺省VLAN ID值不同,报文将无法通过根据IP静态绑定表项进行的ARP入侵检测。

l    一般情况下,需要配置交换机的上行端口作为ARP信任端口。

l    在开启ARP严格转发功能之前,需要先在交换机上开启ARP入侵检测功能,并配置ARP信任端口。

l    建议用户不要在汇聚组中的端口或Fabric端口上配置ARP入侵检测功能。

 

1.2.3  配置ARP报文限速功能

表1-6 配置ARP报文限速功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

开启ARP报文限速功能

arp rate-limit enable

必选

缺省情况下,端口的ARP报文限速功能处于关闭状态

配置允许通过端口的ARP报文的最大速率

arp rate-limit rate

可选

缺省情况下,端口能通过的ARP报文的最大速率为15pps

退出至系统视图

quit

-

开启端口状态自动恢复功能

arp protective-down recover enable

可选

缺省情况下,交换机的端口状态自动恢复功能处于关闭状态

配置端口状态自动恢复时间

arp protective-down recover interval interval

可选

缺省情况下,开启端口状态自动恢复功能后,交换机的端口状态自动恢复时间为300秒

 

l    用户必须先开启交换机的端口状态自动恢复功能,才能设置端口状态自动恢复的时间。

l    建议用户不要在汇聚组中的端口或Fabric端口上配置ARP报文限速功能。

 

1.3  配置免费ARP

表1-7 配置免费ARP

操作

命令

说明

进入系统视图

system-view

-

开启免费ARP报文学习功能

gratuitous-arp-learning enable

可选

缺省情况下,交换机的免费ARP报文学习功能处于开启状态

进入VLAN接口视图

interface Vlan-interface vlan-id

-

开启VLAN接口周期发送免费ARP报文功能

gratuitous-arp period-sending enable

可选

缺省情况下,VLAN接口周期发送免费ARP报文功能处于开启状态

 

E352&E328以太网交换机在VLAN接口变为开启状态(包括链路开启或为VLAN接口配置IP地址),或VLAN接口的IP地址发生变化时,会对外发送免费ARP报文,这个操作不需命令行进行控制。

 

1.4  ARP的显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后ARP的运行情况,通过查看显示信息验证配置的效果。在用户视图下执行reset命令清除ARP表项。

表1-8 ARP的显示和维护

操作

命令

说明

查看ARP映射表

display arp [ static | dynamic | ip-address ]

display命令可以在任意视图执行

查看包含指定内容的ARP映射表

display arp [ dynamic | static ] | { begin | include | exclude } regular-expression

查看指定类型的ARP表项的数目

display arp count [ [ dynamic | static ] [ | { begin | include | exclude } regular-expression ] | ip-address ]

查看指定端口被丢弃掉的不可信任的ARP报文的数量

display arp detection statistics interface interface-type interface-number

查看动态ARP老化定时器的时间

display arp timer aging

清除ARP表项

reset arp [ dynamic | static | interface interface-type interface-number ]

reset命令在用户视图下执行

 

1.5  ARP典型配置举例

1.5.1  ARP基本配置举例

1. 组网需求

l              关闭交换机的ARP表项检查功能。

l              关闭交换机VLAN1接口周期发送免费ARP报文功能。

l              设置交换机上动态ARP表项的老化时间为10分钟。

l              增加一个静态ARP表项,IP地址为192.168.1.1,对应的MAC地址为000f-e201-0000,对应的出端口为VLAN 1中的端口Ethernet1/0/10。

2. 配置步骤

<Sysname> system-view

[Sysname] undo arp check enable

[Sysname] interface vlan 1

[Sysname] undo gratuitous-arp period-resending enable

[Sysname-Vlan-interface1] quit

[Sysname] arp timer aging 10

[Sysname] arp static 192.168.1.1 000f-e201-0000 1 Ethernet1/0/10

1.5.2  ARP入侵检测与ARP报文限速配置举例

1. 组网需求

图1-4所示,Switch A的端口Ethernet1/0/1连接DHCP服务器,端口Ethernet1/0/2和Ethernet1/0/3分别连接Client A和Client B,且三个端口都属于VLAN 1。

l              开启交换机的DHCP Snooping功能,并设置端口Ethernet1/0/1为DHCP Snooping信任端口。

l              为防止ARP中间人攻击,配置VLAN 1的ARP入侵检测功能,设置Switch的端口Ethernet1/0/1为ARP信任端口;

l              开启端口Ethernet1/0/2和Ethernet1/0/3上的ARP报文限速功能,防止来自Client A和Client B的ARP报文流量攻击。

l              开启Switch A上的端口状态自动恢复功能,设置恢复时间间隔为200秒。

2. 典型组网图

图1-4 配置ARP入侵检测与端口ARP报文限速组网图

 

3. 配置步骤

# 开启交换机DHCP Snooping功能。

<SwitchA> system-view

[SwitchA] dhcp-snooping

# 设置端口Ethernet1/0/1为DHCP Snooping信任端口,ARP信任端口。

[SwitchA] interface Ethernet1/0/1

[SwitchA-Ethernet1/0/1] dhcp-snooping trust

[SwitchA-Ethernet1/0/1] arp detection trust

[SwitchA-Ethernet1/0/1] quit

# 开启VLAN 1内所有端口的ARP入侵检测功能。

[SwitchA] vlan 1

[SwitchA-vlan1] arp detection enable

# 开启端口Ethernet1/0/2上的ARP报文限速功能,设置ARP报文通过的最大速率为20pps。

[SwitchA] interface Ethernet1/0/2

[SwitchA-Ethernet1/0/2] arp rate-limit enable

[SwitchA-Ethernet1/0/2] arp rate-limit 20

[SwitchA-Ethernet1/0/2] quit

# 开启端口Ethernet1/0/3上ARP报文限速功能,设置ARP报文通过的最大速率为50pps。

[SwitchA] interface Ethernet1/0/3

[SwitchA-Ethernet1/0/3] arp rate-limit enable

[SwitchA-Ethernet1/0/3] arp rate-limit 50

[SwitchA-Ethernet1/0/3] quit

# 配置端口状态自动恢复功能,恢复时间间隔为200秒。

[SwitchA] arp protective-down recover enable

[SwitchA] arp protective-down recover interval 200

 


2 代理ARP配置

2.1  代理ARP概述

2.1.1  代理ARP简介

ARP Proxy即代理ARP,指的是对于处在同一网段,却在不同物理网络上的主机而言,代理ARP功能屏蔽了分离的物理网络这一事实,使用户使用起来,好像在同一个物理网络上。

2.1.2  代理ARP工作机制

图2-1 代理ARP工作机制示例图

 

图2-1所示:

Host A和Host D分别处于两个不同的子网中。当Host A(192.168.0.22/16)需要发送报文给Host D(192.168.1.30/16)时,由于Host A的掩码为16位,Host A认为Host D位于它的直连网段,所以Host A会以广播方式发送ARP请求报文,请求Host D的MAC地址。

l              当交换机没有开启代理ARP功能时,由于Host A和Host D处在两个不同的VLAN中,所以Host A发送的ARP请求报文不能到达Host D,它们双方不能正常通信。

l              当交换机开启代理ARP功能后,Vlan-interface3收到ARP请求后,通过查询系统路由表后,发现存在到达ARP请求报文目的IP的路由,则交换机会用Vlan-interface3的MAC地址发送ARP应答消息,回复Host A(应答报文的源IP为交换机收到的请求报文的目的IP)。当Host A收到ARP应答后,建立ARP表项。表项中的目的IP为Host D的IP地址192.168.1.30/16,MAC地址为交换机Vlan-interface3的MAC地址。后续Host A发往Host D的报文都会发送到交换机的Vlan-interface3,然后由交换机进行三层转发,从而实现了Host A和Host D间的通信。

2.2  配置代理ARP

表2-1 配置代理ARP

操作

命令

说明

进入系统视图

system-view

-

进入VLAN接口视图

interface Vlan-interface vlan-id

-

开启代理ARP功能

arp proxy enable

必选

缺省情况下,代理ARP功能处于关闭状态

显示代理ARP配置情况

display arp proxy [ interface Vlan-interface vlan-id ]

display命令可以在任意视图下执行

 

2.3  代理ARP典型配置举例

2.3.1  代理ARP配置举例

1. 组网需求

l              Host A的IP地址为192.168.0.22/16,Host D的IP地址为192.168.1.30/16。

l              在交换机上创建VLAN 3和VLAN 4。

l              Vlan-interface3的IP地址为192.168.0.27/24,Vlan-interface4的IP地址为192.168.1.27/24。

l              开启Vlan-interface3和 Vlan-interface4的代理ARP功能,实现Host A和Host D间的通信。

2. 组网图

图2-2 代理ARP组网图

 

3. 配置步骤

# 配置Vlan-interface3的IP地址为192.168.0.27/24。

<Switch> system-view

[Switch] interface Vlan-interface 3

[Switch-Vlan-interface3] ip address 192.168.0.27 24

[Switch-Vlan-interface3] quit

# 配置Vlan-interface4的IP地址为192.168.1.27/24。

[Switch] interface Vlan-interface 4

[Switch-Vlan-interface4] ip address 192.168.1.27 24

[Switch-Vlan-interface4] quit

# 开启Vlan-interface3接口上的代理ARP功能。

[Switch] interface Vlan-interface 3

[Switch-Vlan-interface3] arp proxy enable

[Switch-Vlan-interface3] quit

# 开启Vlan-interface4接口上的代理ARP功能。

[Switch] interface Vlan-interface 4

[Switch-Vlan-interface4] arp proxy enable

[Switch-Vlan-interface4] quit

2.3.2  端口隔离时的代理ARP配置举例

1. 组网需求

l              Switch A(E352&E328以太网交换机)通过端口Ethernet1/0/1与Switch B相连;

l              Switch B的端口Ethernet1/0/2和Ethernet1/0/3都属于VLAN 1,且分别与Host A和Host B相连;

l              Host A和Host B二层隔离,但可以通过Switch A实现三层互通。

2. 组网图

图2-3 端口隔离时的代理ARP组网图

 

3. 配置步骤

(1)        配置Switch B

# 将端口Ethernet1/0/2、Ethernet1/0/3加入隔离组,使同一VLAN内的Host A和Host B之间二层报文不能互通。

关于端口隔离的详细介绍可参见“端口隔离”部分。

<SwitchB> system-view

[SwitchB] interface Ethernet1/0/2

[SwitchB-Ethernet1/0/2] port isolate

[SwitchB-Ethernet1/0/2] quit

[SwitchB] interface Ethernet1/0/3

[SwitchB-Ethernet1/0/3] port isolate

[SwitchB-Ethernet1/0/3] quit

(2)        配置Switch A

# 在Vlan-interface1上开启代理ARP,实现Host A和Host B之间的三层互通。

<SwitchA> system-view

[SwitchA] interface Vlan-interface 1

[SwitchA-Vlan-interface1] arp proxy enable

[SwitchA-Vlan-interface1] quit

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

新华三官网
联系我们