• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

02-IP业务分册

02-ARP配置

本章节下载  (364.37 KB)

02-ARP配置


1 ARP配置

1.1  ARP简介

1.1.1  ARP作用

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

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

1.1.2  ARP报文结构

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

图1-1 ARP报文结构

 

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

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

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

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

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

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

l              目标MAC地址:接收方设备的硬件地址。

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

1.1.3  ARP地址解析过程

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

(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数据包进行封装后发送出去。

图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表项分为短静态ARP表项和长静态ARP表项。

l              在配置长静态ARP表项时,除了配置IP地址和MAC地址项外,还必须配置该ARP表项所在VLAN和出端口。长静态ARP表项可以直接用于报文转发。

l              在配置短静态ARP表项时,只需要配置IP地址和MAC地址项。短静态ARP表项不能直接用于报文转发。当要发送IP数据包时,先发送ARP请求报文,如果收到的响应报文中的源IP地址和源MAC地址与所配置的IP地址和MAC地址相同,则将接收ARP响应报文的端口加入该静态ARP表项中,之后就可以用于IP数据包的转发。

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

l    当希望设备和指定用户只能使用某个固定的IP地址和MAC地址通信时,可以配置短静态ARP表项,当进一步希望限定这个用户只在某VLAN内的某个特定接口上连接时就可以配置长静态ARP表项。

 

1.2  配置ARP

1.2.1  手工添加静态ARP表项

静态ARP表项在设备正常工作时间一直有效,当设备的ARP表项所对应的VLAN或VLAN接口被删除时,如果是长静态ARP表项则被删除,如果是已经解析的短静态ARP表项则重新变为未解析状态。

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

操作

命令

说明

进入系统视图

system-view

-

手工添加长静态ARP表项

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

必选

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

手工添加短静态ARP表项

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

必选

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

 

l    参数vlan-id用于指定ARP表项所对应的VLAN,vlan-id必须是用户已经创建好的VLAN的ID,且vlan-id参数后面指定的以太网端口必须属于这个VLAN。VLAN对应的VLAN接口必须已经创建。

l    指定参数vlan-idip-address的情况下,参数vlan-id对应的VLAN接口的IP地址必须和参数ip-address指定的IP地址属于同一网段。

 

1.2.2  配置VLAN接口学习动态ARP表项的最大数目

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

操作

命令

说明

进入系统视图

system-view

-

进入VLAN接口视图

interface Vlan-interface vlan-id

-

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

arp max-learning-num number

可选

缺省情况下,交换机VLAN接口允许学习动态ARP表项的最大个数为8192

 

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

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

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

操作

命令

说明

进入系统视图

system-view

-

配置动态ARP的老化时间

arp timer aging aging-time

可选

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

 

1.2.4  使能ARP表项的检查功能

ARP表项检查功能可以控制设备是否学习组播MAC地址。使能ARP表项的检查功能后,若设备接收到的ARP报文中的源MAC地址为组播MAC,则不进行动态ARP表项的学习;且设备上不能配置MAC地址为组播MAC的静态ARP表项,否则会有错误提示。关闭ARP表项的检查功能后,可以对源MAC地址为组播MAC的ARP表项进行学习,且可以配置MAC地址为组播MAC的静态ARP表项。

表1-4 使能ARP表项的检查功能

操作

命令

说明

进入系统视图

system-view

-

使能ARP表项的检查功能

arp check enable

可选

缺省情况下,使能ARP表项的检查功能

 

目前,S7500E系列以太网交换机的“ARP表项检查功能”只对源MAC为组播MAC的静态ARP表项的配置进行控制;交换机不支持源MAC为组播MAC的动态ARP表项的学习。

 

1.2.5  使能支持自然网段的ARP请求

学习ARP表项时,在发现ARP报文的源IP地址和入接口IP地址不在同一网段后,使用自然网段进行判断。

假设Vlan-interface10接口的IP地址为10.10.10.5/24,收到一个源IP地址为10.11.11.1/8的ARP报文,由于两个IP地址不在同一网段,Vlan-interface10接口无法处理这个报文。如果使能支持自然网段的ARP请求功能,则通过自然网段进行判断,由于Vlan-interface10接口的IP地址为A类地址,因此默认掩码应该为8位,于是两个IP地址就在同一个网段,Vlan-interface10接口就可以学习源IP地址为10.11.11.1的ARP表项了。

表1-5 使能支持自然网段的ARP请求

操作

命令

说明

进入系统视图

system-view

-

使能支持自然网段的ARP请求

naturemask-arp enable

必选

缺省情况下,不使能支持自然网段的ARP请求

 

1.2.6  ARP配置举例

1. 组网需求

l              Switch连接主机,通过端口GigabitEthernet2/0/1连接Router。端口GigabitEthernet2/0/1属于VLAN 10。

l              Router的IP地址为192.168.1.1/24,MAC地址为00e0-fc01-0000。

为了增加Switch和Router通信的安全性,可以在Switch上配置静态ARP表项。

2. 组网图

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

 

3. 配置步骤

在Switch上进行下列配置。

# 创建VLAN 10。

<Switch> system-view

[Switch] vlan 10

[Switch-vlan10] quit

# 将端口GigabitEthernet2/0/1加入到VLAN 10中。

[Switch] interface GigabitEthernet 2/0/1

[Switch-GigabitEthernet2/0/1] port access vlan 10

[Switch-GigabitEthernet2/0/1] quit

# 创建接口Vlan-interface10,并配置IP地址。

[Switch] interface vlan-interface 10

[Switch-vlan-interface10] ip address 192.168.1.2 8

[Switch-vlan-interface10] quit

# 配置一条静态ARP表项,IP地址为192.168.1.1,对应的MAC地址为00e0-fc01-0000,此条ARP表项对应的出接口为属于VLAN 10的端口GigabitEthernet2/0/1。

[Switch] arp static 192.168.1.1 00e0-fc01-0000 10 GigabitEthernet 2/0/1

# 查看静态ARP表项信息。

[Switch] display arp static

                Type: S-Static    D-Dynamic

IP Address       MAC Address     VLAN ID  Interface              Aging Type

192.168.1.1      00e0-fc01-0000  10       GE2/0/1                 N/A   S 

1.3  配置免费ARP

1.3.1  免费ARP简介

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

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

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

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

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

对于收到的免费ARP报文,如果ARP表中没有与此报文对应的ARP表项,就将免费ARP报文中携带的信息添加到本地动态ARP映射表中。

1.3.2  配置免费ARP

表1-6 配置免费ARP

操作

命令

说明

进入系统视图

system-view

-

使能收到非同一网段ARP请求时发送免费ARP报文功能

gratuitous-arp-sending enable

必选

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

使能免费ARP报文学习功能

gratuitous-arp-learning enable

可选

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

 

1.4  ARP显示和维护

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

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

表1-7 ARP显示和维护

操作

命令

显示ARP表项

display arp [ [ all | dynamic | static ] [ slot slot-id ] | vlan vlan-id | interface interface-type interface-number ] [ [ verbose ] [ | { begin | exclude | include } regular-expression ] | count ]

显示指定IP地址的ARP表项

display arp ip-address [ slot slot-id ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示指定VPN实例的ARP表项

display arp vpn-instance vpn-instance-name [ | { begin | exclude | include } regular-expression | count ]

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

display arp timer aging

清除ARP表项

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

 

通过reset arp slot slot-idreset arp interface interface-type interface-number命令删除指定槽位或指定端口的ARP表项时,只能删除该槽位或端口的动态表项;如果要删除指定静态ARP表项,可以通过undo arp ip-address命令进行。

 


2 代理ARP配置

2.1  代理ARP简介

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

代理ARP分为代理ARP和本地代理ARP。

同一网段内连接到设备的不同接口的主机可以利用设备的代理ARP功能,通过三层转发实现互通。

为了实现三层互通,在下面三种情况之一需要开启本地代理ARP功能。

l              连接到同一个VLAN不同二层隔离的端口下的设备要实现三层互通;

l              使能Super VLAN功能后,属于不同Sub VLAN下的设备要实现三层互通;

l              使能Isolate-user-vlan功能后,属于不同Secondary VLAN下的设备要实现三层互通。

2.2  配置代理ARP功能

表2-1 配置代理ARP功能

操作

命令

说明

进入系统视图

system-view

-

进入VLAN接口视图

interface Vlan-interface vlan-id

必选

开启代理ARP功能

proxy-arp enable

必选

缺省情况下,关闭代理ARP功能

开启本地代理ARP功能

local-proxy-arp enable

必选

缺省情况下,关闭本地代理ARP功能

 

2.3  代理ARP显示和维护

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

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

操作

命令

显示代理ARP的状态

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

显示本地代理ARP的状态

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

 

2.4  代理ARP典型配置举例

2.4.1  代理ARP配置举例

1. 组网需求

将Host A和Host D配置为同一网段的主机,只是从设备上看属于不同的子网。其中Host A属于VLAN 1,Host D属于VLAN 2。通过在设备上启用代理ARP功能来实现Host A和Host D的通信。

2. 组网图

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

 

3. 配置步骤

# 配置代理ARP,实现Host A和Host D之间的通信。

<Switch> system-view

[Switch] interface vlan-interface 1

[Switch-Vlan-interface1] ip address 192.168.10.99 255.255.255.0

[Switch-Vlan-interface1] proxy-arp enable

[Switch-Vlan-interface1] quit

[Switch] vlan 2

[Switch-vlan2] quit

[Switch] interface vlan-interface 2

[Switch-Vlan-interface2] ip address 192.168.20.99 255.255.255.0

[Switch-Vlan-interface2] proxy-arp enable

[Switch-Vlan-interface2] quit

2.4.2  端口隔离时的本地代理ARP配置举例

1. 组网需求

l              Switch B通过端口GigabitEthernet2/0/1与Switch A相连;

l              Switch B的端口GigabitEthernet2//0/2和GigabitEthernet2//0/3属于同一VLAN,但配置了端口隔离,且分别与Host A和Host B相连

l              实现被二层隔离的用户Host A和Host B之间的三层互通。

2. 组网图

图2-2 配置端口隔离时的本地代理ARP组网图

 

3. 配置步骤

(1)        配置Switch B

# 在Switch B上创建VLAN 2,端口GigabitEthernet2/0/1、GigabitEthernet2/0/2、GigabitEthernet2/0/3属于VLAN 2;Host A和Host B彼此之间二层报文不能互通。

<SwitchB> system-view

[SwitchB] vlan 2

[SwitchB-vlan2] port gigabitethernet 2/0/1

[SwitchB-vlan2] port gigabitethernet 2/0/2

[SwitchB-vlan2] port gigabitethernet 2/0/3

[SwitchB-vlan2] quit

[SwitchB] interface gigabitethernet 2/0/2

[SwitchB-GigabitEthernet2/0/2] port-isolate enable

[SwitchB-GigabitEthernet2/0/2] quit

[SwitchB] interface gigabitethernet 2/0/3

[SwitchB-GigabitEthernet2/0/3] port-isolate enable

[SwitchB-GigabitEthernet2/0/3] quit

(2)        配置Switch A

# 配置VLAN接口2的IP地址

[SwitchA] vlan 2

[SwitchA-vlan2] port gigabitethernet 2/0/2

[SwitchA-vlan2] quit

[SwitchA] interface vlan-interface 2

[SwitchA-Vlan-interface2] ip address 192.168.10.100 255.255.0.0

从Host A上ping不通Host B,表明Host A和Host B二层隔离。

# 配置本地代理ARP,实现Host A和Host B之间的三层互通。

[SwitchA-Vlan-interface2] local-proxy-arp enable

[SwitchA-Vlan-interface2] quit

从Host A上可以ping通Host B,表明Host A和Host B三层互通了。

2.4.3  Super VLAN中的本地代理ARP配置举例

1. 组网需求

l              创建Super VLAN:VLAN 10,VLAN接口的IP地址为192.168.10.100/16。

l              创建Sub VLAN:VLAN 2、VLAN 3。

l              端口GigabitEthernet2/0/2属于VLAN 2,端口GigabitEthernet2/0/3属于VLAN 3。

l              实现Sub VLAN之间的三层互通。

2. 组网图

图2-3 配置Super VLAN中的本地代理ARP组网图

 

 

3. 配置步骤

# 创建Super VLAN,Sub VLAN;添加端口GigabitEthernet2/0/2到VLAN 2,端口GigabitEthernet2/0/3到VLAN 3;配置VLAN 10接口的IP地址为192.168.10.100/16。

<Switch> system-view

[Switch] vlan 2

[Switch-vlan2] port gigabitethernet 2/0/2

[Switch-vlan2] quit

[Switch] vlan 3

[Switch-vlan3] port gigabitethernet 2/0/3

[Switch-vlan3] quit

[Switch] vlan 10

[Switch-vlan10] supervlan

[Switch-vlan10] subvlan 2 3

[Switch-vlan10] interface vlan-interface 10

[Switch-Vlan-interface10] ip address 192.168.10.100 255.255.0.0

[Switch-Vlan-interface10] quit

从Host A上ping不通Host B,表明Host A和Host B二层隔离。

# 配置本地代理ARP,实现Sub VLAN之间的三层互通。

<Switch> system-view

[Switch] interface vlan-interface 10

[Switch-Vlan-interface10] local-proxy-arp enable

[Switch-Vlan-interface10] quit

从Host A上可以ping通Host B,表明Host A和Host B三层互通了。

2.4.4  Isolate-user-vlan中的本地代理ARP配置举例

1. 组网需求

l              Switch A通过端口GigabitEthernet2/0/1与Switch B相连。

l              Switch B上的VLAN 5为Isolate-user-vlan,包含上行端口GigabitEthernet2/0/1和两个Secondary VLAN(VLAN 2和VLAN 3),VLAN 2包含端口GigabitEthernet2/0/2,VLAN 3包含端口GigabitEthernet2/0/3。

l              在Switch A上启用本地代理ARP功能,实现VLAN 2和VLAN 3之间的三层互通。

2. 组网图

图2-4 配置Isolate-user-vlan中的本地代理ARP组网图

 

3. 配置步骤

(1)        配置设备Switch B

# 在Switch B上创建VLAN 2、VLAN 3和VLAN 5;添加端口GigabitEthernet2/0/2到VLAN 2,端口GigabitEthernet2/0/3到VLAN 3,端口GigabitEthernet2/0/1到VLAN 5;配置VLAN 5为Isolate-user-vlan,VLAN 2和VLAN 3为Secondary VLAN;配置Isolate-user-vlan和Secondary VLAN间的映射关系。

<SwitchB> system-view

[SwitchB] vlan 2

[SwitchB-vlan2] port gigabitethernet 2/0/2

[SwitchB-vlan2] quit

[SwitchB] vlan 3

[SwitchB-vlan3] port gigabitethernet 2/0/3

[SwitchB-vlan3] quit

[SwitchB] vlan 5

[SwitchB-vlan5] port gigabitethernet 2/0/1

[SwitchB-vlan5] isolate-user-vlan enable

[SwitchB-vlan5] quit

[SwitchB] isolate-user-vlan 5 secondary 2 3

(2)        配置Switch A

# 创建VLAN 5,添加端口GigabitEthernet2/0/1到VLAN 5。

<SwitchA> system-view

[SwitchA] vlan 5

[SwitchA-vlan5] port gigabitethernet 2/0/1

[SwitchA-vlan5] interface vlan-interface 5

[SwitchA-Vlan-interface5] ip address 192.168.10.100 255.255.0.0

从Host A上ping不通Host B,表明Host A和Host B二层隔离。

# 配置本地代理ARP,实现VLAN 2和VLAN 3之间的三层互通。

[SwitchA-Vlan-interface5] local-proxy-arp enable

[SwitchA-Vlan-interface5] quit

从Host A上可以ping通Host B,表明Host A和Host B三层互通了。

 


3 ARP攻击防御配置

ARP协议有简单、易用的优点,但是也因为其没有任何安全机制而容易被攻击发起者利用。目前ARP攻击和ARP病毒已经成为局域网安全的一大威胁,为了避免各种攻击带来的危害,设备提供了多种技术对攻击进行检测和解决。

下面将详细介绍一下这些技术的原理以及配置。

3.1  配置ARP源抑制功能

3.1.1  ARP源抑制功能简介

如果网络中有主机通过向设备发送大量目标IP地址不能解析的IP报文来攻击设备,则会造成下面的危害:

l              设备向目的网段发送大量ARP请求报文,加重目的网段的负载。

l              设备会不断解析目标IP地址,增加了CPU的负担。

为避免这种攻击所带来的危害,设备提供了ARP源抑制功能。开启该功能后,如果网络中某主机向设备某端口连续发送目标IP地址不能解析的IP报文(当每5秒内的ARP请求报文的流量超过设置的阈值),对于由此IP地址发出的IP报文,设备不允许其触发ARP请求,直至5秒后再处理,从而避免了恶意攻击所造成的危害。

3.1.2  配置ARP源抑制

表3-1 配置ARP源抑制

操作

命令

说明

进入系统视图

system-view

-

使能ARP源抑制功能

arp source-suppression enable

必选

缺省情况下,关闭ARP源抑制功能

配置ARP源抑制的阈值

arp source-suppression limit limit-value

可选

缺省情况下,ARP源抑制的阈值为10

 

3.1.3  ARP源抑制显示和维护

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

表3-2 ARP源抑制显示和维护

操作

命令

显示ARP源抑制的配置信息

display arp source-suppression

 

3.2  配置ARP防IP报文攻击功能

3.2.1  ARP防IP报文攻击功能介绍

在进行IP报文转发过程中,设备需要依靠ARP解析下一跳IP地址的MAC地址。如果地址解析成功,报文可以直接通过硬件转发芯片直接转发出去,而不需要再由软件处理;如果地址解析不成功,需要由软件进行解析处理。这样,如果接收到大量下一跳IP地址循环变化并且该IP地址不可达的IP报文,由于下一跳IP地址解析不成功,软件会试图反复地对下一跳IP地址进行探测,导致CPU负荷过重,就造成了IP报文对设备的攻击。

用户可以通过配置ARP防IP报文攻击功能来预防这种可能存在的攻击情况。在防IP报文攻击功能启用后,一旦接收到下一跳地址不可达的IP报文(即ARP解析失败的IP报文),设备立即产生一个黑洞路由,使硬件转发芯片在一段时间内将去往该地址的报文直接丢弃。等待黑洞路由老化时间过后,如有报文触发则再次发起解析,如果解析成功则由硬件进行转发,否则仍然下发黑洞路由。这种方式能够有效的防止IP报文的攻击,减轻CPU的负担。

3.2.2  启用ARP防IP报文攻击功能

启用ARP防IP报文攻击功能对转发报文和本地产生的报文均有效。

表3-3 启用ARP防IP报文攻击功能

操作

命令

说明

进入系统视图

system-view

-

启用ARP防IP报文攻击功能

arp resolving-route enable

可选

缺省情况下,交换机的ARP防IP报文攻击功能处于开启状态

 

3.3  配置ARP Detection功能

3.3.1  ARP Detection功能介绍

当交换机作为二层接入设备时,正常情况下,用户发送的广播ARP请求将在VLAN内广播,ARP应答将进行二层转发。如果用户仿冒其他用户的IP地址,将会改写网关或者其他用户的ARP表项,导致被仿冒用户的报文错误的发送到发起攻击用户的主机上。

用户可以通过配置ARP Detection功能,对于合法用户的ARP报文进行正常转发,否则丢弃。

ARP Detection包含三个功能:基于DHCP Snooping安全表项的用户合法性检查功能(关于“DHCP Snooping”的详细介绍请参见“IP业务分册”中的“DHCP配置”);ARP报文有效性检查功能;ARP报文上送限速功能。

1. 用户合法性检查

结合DHCP Snooping安全表项实现ARP用户合法性检查,根据ARP报文中源IP地址和源MAC地址检查用户是否是所属VLAN所在端口上的合法用户。对于ARP信任端口,不进行用户合法性检查。对于ARP非信任端口,且所属VLAN使能了ARP Detection功能,这样的ARP报文才进行用户合法性检查。对于没有使能ARP Detection的VLAN,即使在ARP非信任端口上,也不进行用户合法性检查。

2. ARP报文有效性检查

对于ARP信任端口,不进行报文有效性检查;对于ARP非信任端口,需要根据配置对MAC地址和IP地址不合法的报文进行过滤。可以选择配置源MAC地址、目的MAC地址或IP地址检查模式。

(1)        对于源MAC地址的检查模式,会检查ARP报文中的源MAC地址和以太网报文头中的源MAC地址是否一致,一致认为有效,否则丢弃;

(2)        对于目的MAC地址的检查模式(只针对ARP应答报文),会检查ARP应答报文中的目的MAC地址是否为全0或者全F,是否和以太网报文头中的目的MAC地址一致。全0、全F、不一致的报文都是无效的,无效的报文需要被丢弃;

(3)        对于IP地址检查模式,会检查ARP报文中的源IP和目的IP地址,全0、全F、或者组播IP地址都是不合法的,需要丢弃。对于源IP地址,ARP请求和应答报文都进行检查;对于目的IP地址,只需要检查ARP应答报文。

3. ARP报文上送限速

配置了ARP Detection后,报文需要上送CPU进行处理,为了避免对CPU的冲击,必须限制入口ARP报文的速率。

3.3.2  配置ARP Detection功能

如果既配置了用户合法性检查功能,又配置了报文有效性检查功能,那么先进行报文有效性检查,然后根据DHCP Snooping安全表项进行ARP用户合法性检查。

 

1. 配置用户合法性检查功能

进行下面的配置之前,需要保证已经配置了DHCP Snooping功能。关于如何配置DHCP Snooping功能,请参见“IP业务分册”中的“DHCP配置”。

表3-4 配置用户合法性检查功能

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

使能ARP Detection功能

arp detection enable

必选

缺省情况下,关闭ARP Detection功能。即不对指定VLAN内所有端口接收的ARP报文进行ARP Detection检查

退回至系统视图

quit

-

进入以太网端口视图

interface interface-type interface-number

-

配置端口为ARP信任端口

arp detection trust

可选

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

 

2. 配置ARP报文有效性检查功能

进行下面的配置之前,需要保证已经配置了arp detection enable命令。

表3-5 配置ARP报文有效性检查功能

操作

命令

说明

进入系统视图

system-view

-

使能ARP报文有效性检查功能

arp detection validate { dst-mac | ip | src-mac } *

必选

缺省情况下,交换机ARP报文有效性检查功能处于关闭状态

 

3. 配置ARP报文上送限速功能

进行下面的配置之前,需要保证已经配置了arp detection enable命令。

表3-6 配置ARP报文上送限速功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图

interface interface-type interface-number

-

开启ARP报文上送限速功能

arp rate-limit { disable | rate pps drop }

可选

缺省情况下,开启ARP报文上送限速功能,限速速率为100pps

 

3.3.3  ARP Detection显示和维护

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

在用户视图下,用户可以执行reset命令清除ARP Detection的统计信息。

表3-7 ARP Detection显示和维护

操作

命令

显示使能了ARP Detection功能的VLAN

display arp detection

显示ARP Detection功能报文检查的丢弃计数的统计信息

display arp detection statistics [ interface interface-type interface-number ]

清除ARP Detection的统计信息

reset arp detection statistics [ interface interface-type interface-number ]

 

3.3.4  ARP Detection典型配置举例

1. 组网需求

l              Switch A是DHCP服务器;Switch B是DHCP Snooping设备,在VLAN 10内启用ARP Detection功能,对DHCP客户端进行保护,保证合法用户可以正常转发报文,否则丢弃。

l              Host A和Host B是DHCP客户端。

2. 组网图

图3-1 ARP Detection典型配置组网图

 

3. 配置步骤

(1)        配置组网图中所有端口属于VLAN及Switch A对应VLAN接口的IP地址(略)

(2)        配置DHCP服务器Switch A

<SwitchA> system-view

[SwitchA] dhcp enable

[SwitchA] dhcp server ip-pool 0

[SwitchA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0

[SwitchA-dhcp-pool-0] quit

(3)        配置Host A和Host B通过DHCP自动获取IP地址(略)

(4)        配置DHCP Snooping设备Switch B

# 配置DHCP Snooping

<SwitchB> system-view

[SwitchB] dhcp-snooping

[SwitchB] interface gigabitethernet 2/0/1

[SwitchB-GigabitEthernet2/0/1] dhcp-snooping trust

[SwitchB-GigabitEthernet2/0/1] quit

# 配置ARP Detection特性,端口状态缺省为非信任状态,上行端口配置为信任状态,下行端口按缺省配置。

<SwitchB> system-view

[SwitchB] vlan 10

[SwitchB-vlan10] arp detection enable

[SwitchB-vlan10] quit

[SwitchB] interface gigabitethernet 2/0/1

[SwitchB-GigabitEthernet2/0/1] arp detection trust

# 配置报文有效性检查。

[SwitchB] arp detection validate dst-mac ip src-mac

# 配置ARP报文上送限速,速率为150pps。

[SwitchB] interface gigabitethernet 2/0/2

[SwitchB-GigabitEthernet2/0/2] arp rate-limit rate 150 drop

[SwitchB-GigabitEthernet2/0/2] quit

[SwitchB] interface gigabitethernet 2/0/3

[SwitchB-GigabitEthernet2/0/3] arp rate-limit rate 150 drop

[SwitchB-GigabitEthernet2/0/3] quit

 

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

新华三官网
联系我们