国家 / 地区

06-三层技术-IP业务配置指导

01-ARP配置

本章节下载  (280.66 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR6600-X/Configure/Operation_Manual/H3C_SR6600_SR6600-X_CG(V7)-6W102/06/201512/903354_30005_0.htm

01-ARP配置


1 ARP

1.1  ARP简介

1.1.1  ARP作用

ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。

在网络中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址是不够的,因为IP数据报必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。ARP就是实现这个功能的协议。

1.1.2  ARP报文结构

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

图1-1 ARP报文结构

 

·     硬件类型:表示硬件地址的类型。它的值为1表示以太网地址;

·     协议类型:表示要映射的协议地址类型。它的值为0x0800即表示IP地址;

·     硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4;

·     操作类型(OP):1表示ARP请求,2表示ARP应答;

·     发送端MAC地址:发送方设备的硬件地址;

·     发送端IP地址:发送方设备的IP地址;

·     目标MAC地址:接收方设备的硬件地址;

·     目标IP地址:接收方设备的IP地址。

1.1.3  ARP地址解析过程

假设主机A和B在同一个网段,主机A要向主机B发送信息。如图1-2所示,具体的地址解析过程如下:

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

(2)     如果主机A在ARP表中找不到对应的MAC地址,则将缓存该IP数据报,然后以广播方式发送一个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数据报进行封装后发送出去。

图1-2 ARP地址解析过程

 

当主机A和主机B不在同一网段时,主机A就会先向网关发出ARP请求,ARP请求报文中的目标IP地址为网关的IP地址。当主机A从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关没有主机B的ARP表项,网关会广播ARP请求,目标IP地址为主机B的IP地址,当网关从收到的响应报文中获得主机B的MAC地址后,就可以将报文发给主机B;如果网关已经有主机B的ARP表项,网关直接把报文发给主机B。

1.1.4  ARP

设备通过ARP解析到目的MAC地址后,将会在自己的ARP表中增加IP地址和MAC地址映射关系的表项,以用于后续到同一目的地报文的转发。

ARP表项分为动态ARP表项和静态ARP表项。

1. 动态ARP表项

动态ARP表项由ARP协议通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。当到达老化时间、接口状态down时,系统会删除相应的动态ARP表项。

2. 静态ARP表项

静态ARP表项通过手工配置和维护,不会被老化,不会被动态ARP表项覆盖。

配置静态ARP表项可以增加通信的安全性。静态ARP表项可以限制和指定IP地址的设备通信时只使用指定的MAC地址,此时攻击报文无法修改此表项的IP地址和MAC地址的映射关系,从而保护了本设备和指定设备间的正常通信。

在配置静态ARP表项时,只需要配置IP地址和MAC地址项。如果出接口是三层以太网接口,静态ARP表项可以直接用于报文转发。

一般情况下,ARP动态执行并自动寻求IP地址到以太网MAC地址的解析,无需管理员的介入。当希望设备和指定用户只能使用某个固定的IP地址和MAC地址通信时,可以配置静态ARP表项。

1.2  配置ARP

1.2.1  手工添加静态ARP表项

表1-1 手工添加静态ARP表项

操作

命令

说明

进入系统视图

system-view

-

手工添加静态ARP表项

arp static ip-address mac-address [ vpn-instance vpn-instance-name ]

必选

缺省情况下,没有配置任何静态ARP表项

 

1.2.2  配置设备学习动态ARP表项的最大个数

设备可以通过ARP协议自动生成动态ARP表项。为了防止用户占用过多的ARP资源,可以通过设置设备学习动态ARP表项的最大个数来进行限制。当设备学习动态ARP表项的个数达到所设置的值时,该设备上将不再学习动态ARP表项。

表1-2 配置设备学习动态ARP表项的最大个数

操作

命令

说明

进入系统视图

system-view

-

配置设备允许学习动态ARP表项的最大个数

arp max-learning-number number

缺省情况下:

·     SR6602-X允许学习动态ARP表项的最大个数为16384

·     SR6604/SR6608/SR6616允许学习动态ARP表项的最大个数为65534

·     SR6604-X/SR6608-X/SR6616-X允许学习动态ARP表项的最大个数为262142

当配置设备允许学习动态ARP表项的最大个数为0时,表示禁止本设备学习动态ARP表项

 

说明

当本命令配置的动态ARP表项的最大个数小于设备当前已经学到的动态ARP表项个数,那么已学到的动态ARP表项个数不会被删除。

 

1.2.3  配置接口学习动态ARP表项的最大个数

设备可以通过ARP协议自动生成动态ARP表项。为了防止部分接口下的用户占用过多的ARP资源,可以通过设置接口学习动态ARP表项的最大个数来进行限制。当接口学习动态ARP表项的个数达到所设置的值时,该接口将不再学习动态ARP表项。

表1-3 配置接口学习动态ARP表项的最大数目

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口允许学习动态ARP表项的最大个数

arp max-learning-num number

缺省情况下:

·     SR6602-X的接口允许学习动态ARP表项的最大个数为16384

·     SR6604/SR6608/SR6616的接口允许学习动态ARP表项的最大个数为65534

·     SR6604-X/SR6608-X/SR6616-X的接口允许学习动态ARP表项的最大个数为262142

 

当配置接口允许学习动态ARP表项的最大个数为0时,表示禁止接口学习动态ARP表项

 

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

为适应网络的变化,ARP表需要不断更新。ARP表中的动态ARP表项并非永远有效,每一条记录都有一个生存周期,到达生存周期仍得不到刷新的记录将从ARP表中删除,这个生存周期被称作老化时间。如果在到达老化时间前纪录被刷新,则重新计算老化时间。

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

操作

命令

说明

进入系统视图

system-view

-

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

arp timer aging aging-time

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

 

1.2.5  启用动态ARP表项的检查功能

动态ARP表项检查功能可以控制设备上是否可以学习ARP报文中的发送端MAC地址为组播MAC的动态ARP表项。

·     启用ARP表项的检查功能后,设备上不能学习ARP报文中发送端MAC地址为组播MAC的动态ARP表项,也不能手工添加MAC地址为组播MAC的静态ARP表项。

·     关闭ARP表项的检查功能后,设备可以学习以太网源MAC地址为单播MAC且ARP报文中发送端MAC地址为组播MAC的动态ARP表项,也可以手工添加MAC地址为组播MAC的静态ARP表项。

表1-5 启用动态ARP表项的检查功能

操作

命令

说明

进入系统视图

system-view

-

启用动态ARP表项的检查功能

arp check enable

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

 

1.2.6  开启ARP日志信息功能

ARP日志是为了满足网络管理员审计的需要,对处理ARP报文的信息进行的记录,包括设备未使能ARP代理功能时收到目的IP不是设备接口IP地址、VRRP备份组中的虚拟IP地址或NAT转换的外部网络地址;收到的ARP报文中源地址和接收接口IP地址、VRRP备份组中的虚拟IP地址或NAT转换的外部网络地址冲突,且此报文不是ARP请求报文等。

设备生成的ARP日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。

表1-6 开启ARP日志信息功能

操作

命令

说明

进入系统视图

system-view

-

开启ARP日志信息功能

arp check log enable

缺省情况下,ARP日志信息功能处于关闭状态

 

1.3  ARP显示和维护

提示

清除ARP表项,将取消IP地址和MAC地址的映射关系,可能导致无法正常通信。清除前请务必仔细确认。

 

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

在用户视图下,用户可以执行reset命令清除ARP表项。

表1-7 ARP显示和维护

操作

命令

显示ARP表项(独立运行模式)

display arp [ [ all | dynamic | static ] [ slot slot-number ] | interface interface-type interface-number ] [ count | verbose ]

显示ARP表项(IRF模式)

display arp [ [ all | dynamic | static ] [ chassis chassis-number slot slot-number ] | interface interface-type interface-number ] [ count | verbose ]

显示指定IP地址的ARP表项(独立运行模式)

display arp ip-address [ slot slot-number ] [ verbose ]

显示指定IP地址的ARP表项(IRF模式)

display arp ip-address [ chassis chassis-number slot slot-number ] [ verbose ]

显示指定VPN实例的ARP表项

display arp vpn-instance vpn-instance-name [ count ]

显示动态ARP表项的老化时间

display arp timer aging

清除ARP表项(独立运行模式)

reset arp { all | dynamic | interface interface-type interface-number | slot slot-number | static }

清除ARP表项(IRF模式)

reset arp { all | chassis chassis-number slot slot-number | dynamic | interface interface-type interface-number | static }

 

1.4  ARP典型配置举例

1.4.1  静态ARP表项配置举例

1. 组网需求

·     Router B通过接口GigabitEthernet2/1/1连接主机,通过接口GigabitEthernet2/1/2连接Router A。

·     Router A的IP地址为192.168.1.1/24,MAC地址为00e0-fc01-001f。

网络管理员需要通过某种方法来防止恶意用户对Router B进行ARP攻击,增加Router B和Router A通信的安全性。如果Router A的IP地址和MAC地址是固定的,则可以通过在Router B上配置静态ARP表项的方法,防止恶意用户进行ARP攻击。

2. 组网图

图1-3 配置静态ARP表项组网图

 

 

3. 配置步骤

在Router B上进行下列配置。

# 在接口GigabitEthernet2/1/2配置IP地址。

<RouterB> system-view

[RouterB] interface gigabitethernet 2/1/2

[RouterB-GigabitEthernet2/1/2] ip address 192.168.1.2/24

[RouterB-GigabitEthernet2/1/2] quit

# 配置一条静态ARP表项,IP地址是192.168.1.1,对应的MAC地址是00e0-fc01-001f。

[RouterB] arp static 192.168.1.1 00e0-fc01-001f

# 查看静态ARP表项信息。

[RouterB] display arp static

  Type: S-Static   D-Dynamic   O-Openflow   M-Multiport  I-Invalid

IP address       MAC address     VLAN     Interface              Aging Type

192.168.1.1      00e0-fc01-001f  N/A      N/A                    N/A   S

 


2 免费ARP

2.1  免费ARP简介

免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址。

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

·     确定其它设备的IP地址是否与本机的IP地址冲突。当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。

·     设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。

1. 免费ARP报文学习功能的作用

启用了免费ARP报文学习功能后,设备会根据收到的免费ARP报文中携带的信息(发送端IP地址、发送端MAC地址)对自身维护的ARP表进行修改。设备先判断ARP表中是否存在与此免费ARP报文中的发送端IP地址对应的ARP表项:

·     如果没有对应的ARP表项,设备会根据该免费ARP报文中携带的信息新建ARP表项;

·     如果存在对应的ARP表项,设备会根据该免费ARP报文中携带的信息更新对应的ARP表项。

关闭免费ARP报文学习功能后,设备不会根据收到的免费ARP报文来新建ARP表项,但是会更新已存在的对应ARP表项。如果用户不希望通过免费ARP报文来新建ARP表项,可以关闭免费ARP报文学习功能,以节省ARP表项资源。

2. 定时发送免费ARP功能的作用

定时发送免费ARP功能可以及时通知下行设备更新ARP表项或者MAC地址表项,主要应用场景如下:

·     防止仿冒网关的ARP攻击

如果攻击者仿冒网关发送免费ARP报文,就可以欺骗同网段内的其它主机,使得被欺骗的主机访问网关的流量被重定向到一个错误的MAC地址,导致其它主机用户无法正常访问网络。

为了降低这种仿冒网关的ARP攻击所带来的影响,可以在网关的接口上启用定时发送免费ARP功能。启用该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,每台主机都可以学习到正确的网关,从而正常访问网络。

·     防止主机ARP表项老化

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

为了解决上述问题,可以在网关的接口上启用定时发送免费ARP功能。启用该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,接收端主机可以及时更新ARP映射表,从而防止了上述流量中断现象。

·     防止VRRP虚拟IP地址冲突

当网络中存在VRRP备份组时,需要由VRRP备份组的Master路由器周期性的向网络内的主机发送免费ARP报文,使主机更新本地ARP地址表,从而确保网络中不会存在IP地址与Master路由器VRRP虚拟IP地址相同的设备。免费ARP报文中的发送端MAC为VRRP虚拟路由器对应的虚拟MAC地址。关于VRRP的详细介绍,请参见“可靠性配置指导”中的“VRRP”。

·     及时更新模糊的Dot1q终结VLAN内设备的MAC地址表

三层以太网子接口上同时配置了模糊的Dot1q终结多个VLAN和VRRP备份组时,为了避免发送过多的VRRP通告报文,需要关闭VLAN终结支持广播/组播功能,并配置VRRP控制VLAN。此时,为了及时更新各个模糊的Dot1q终结VLAN内设备的MAC地址表项,可以在三层以太网子接口上启用定时发送免费ARP功能。启用该功能后,三层以太网子接口将按照配置的时间间隔周期性发送VRRP虚拟IP地址、接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,当VRRP主备状态切换时,各个模糊的Dot1q终结VLAN内设备上可以及时更新为正确的MAC地址表项。关于VLAN模糊的Dot1q终结的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN终结”。

2.2  配置免费ARP

配置免费ARP时,需要注意:

·     设备最多允许同时在1024个接口上启用定时发送免费ARP功能。

·     配置定时发送免费ARP功能后,只有当接口链路状态up并且配置IP地址后,此功能才真正生效。

·     如果修改了免费ARP报文的发送周期,则在下一个发送周期才能生效。

·     如果同时在很多接口下启用定时发送免费ARP功能,或者每个接口有大量的从IP地址,又或者是两种情况共存的同时又配置很小的发送时间间隔,那么免费ARP报文的发送频率可能会远远低于用户设定的时间间隔。

表2-1 配置免费ARP

操作

命令

说明

进入系统视图

system-view

-

开启免费ARP报文学习功能

gratuitous-arp-learning enable

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

开启设备收到非同一网段ARP请求时发送免费ARP报文功能

gratuitous-arp-sending enable

缺省情况下,设备收到非同一网段的ARP请求时不发送免费ARP报文

进入接口视图

interface interface-type interface-number

-

启用定时发送免费ARP功能,并设置发送免费ARP报文的周期

arp send-gratuitous-arp [ interval milliseconds ]

缺省情况下,定时发送免费ARP功能处于关闭状态

 

2.3  启用源IP地址冲突提示功能

设备接收到其它设备发送的ARP报文后,如果发现报文中的源IP地址和自己的IP地址相同,该设备会根据当前源IP地址冲突提示功能的状态,进行如下处理:

·     如果源IP地址冲突提示功能处于关闭状态时,设备发送一个免费ARP报文确认是否冲突,如果收到对应的ARP应答后才提示存在IP地址冲突。

·     如果源IP地址冲突提示功能处于开启状态时,设备立刻提示存在IP地址冲突。

表2-2 启用源IP地址冲突提示功能

操作

命令

说明

进入系统视图

system-view

-

启用源IP地址冲突提示功能

arp ip-conflict log prompt

缺省情况下,源IP地址冲突提示功能处于关闭状态

 


3 代理ARP

3.1  代理ARP简介

如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求,这个过程称作代理ARP(Proxy ARP)。

代理ARP功能屏蔽了分离的物理网络这一事实,使用户使用起来,好像在同一个物理网络上。

代理ARP分为普通代理ARP和本地代理ARP,二者的应用场景有所区别:

·     普通代理ARP的应用场景为:想要互通的主机分别连接到设备的不同三层接口上,且这些主机不在同一个广播域中。

·     本地代理ARP的应用场景为:想要互通的主机连接到设备的同一个三层接口上,且这些主机不在同一个广播域中。

如无特殊说明,本章后续描述中的代理ARP均指普通代理ARP。

3.2  配置代理ARP功能

代理ARP和本地代理ARP功能均可在三层以太网接口视图/三层以太网子接口视图/三层聚合接口视图/三层聚合子接口视图下进行配置。

表3-1 配置代理ARP功能

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置代理ARP功能

proxy-arp enable

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

 

表3-2 配置本地代理ARP功能

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置本地代理ARP功能

local-proxy-arp enable [ ip-range startIP to endIP ]

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

 

3.3  代理ARP显示和维护

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

表3-3 代理ARP显示和维护

操作

命令

显示代理ARP的状态

display proxy-arp [ interface interface-type interface-number ]

显示本地代理ARP的状态

display local-proxy-arp [ interface interface-type interface-number ]

 

3.4  代理ARP典型配置举例

3.4.1  代理ARP配置举例

1. 组网需求

·     Host A的IP地址是192.168.10.100/16,所在局域网的网络号为192.168.0.0/16。

·     Host D的IP地址是192.168.20.200/16,所在局域网的网络号为192.168.0.0/16。

·     Host A和Host D互相认为处于同一子网,但实际却被设备Router分在两个不同的子网。

·     Host A和Host D没有配置缺省网关,要求在设备Router上启用代理ARP功能,使处在两个子网的Host A和Host D能互通。

2. 组网图

图3-1 配置代理ARP组网图

 

3. 配置步骤

# 配置接口GigabitEthernet2/0/2的IP地址。

<Router> system-view

[Router] interface gigabitethernet 2/0/2

[Router-GigabitEthernet2/0/2] ip address 192.168.10.99 255.255.255.0

# 开启接口GigabitEthernet2/0/2的代理ARP功能。

[Router-GigabitEthernet2/0/2] proxy-arp enable

[Router-GigabitEthernet2/0/2] quit

# 配置接口GigabitEthernet2/0/1的IP地址。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] ip address 192.168.20.99 255.255.255.0

# 开启接口GigabitEthernet1/0/1的代理ARP功能。

[Router-GigabitEthernet2/0/1] proxy-arp enable

[Router-GigabitEthernet2/0/1] quit

配置完成后,Host A和Host D可以互相ping通。

 

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