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

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

目录

01-ARP配置

本章节下载 01-ARP配置  (473.83 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S5500/S5500-HI-D/Configure/Operation_Manual/H3C_S5500-HI-D_CG-Release_52xx-6W101/04/201411/843287_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数据包进行帧封装,并将数据包发送给主机B。

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

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

(3)     主机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表项和多端口ARP表项。

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

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

·     多端口ARP表项通过配置短静态ARP表项和组播MAC地址表项形成,当短静态ARP表项中的MAC地址与组播MAC地址表项中的MAC地址相同时,则生成多端口ARP表项。当设备要发送IP数据包时,多端口ARP表项将指导IP数据包从多个出端口发送。

说明

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

·     当希望设备和指定用户只能使用某个固定的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表项

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

两者必选其一

手工添加短静态ARP表项

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

 

注意

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

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

 

1.2.2  手工添加多端口ARP表项

多端口ARP表项由组播MAC地址表项指定VLAN和出端口,由短静态ARP表项指定VPN和IP地址。多端口ARP表项不会被其它动态、短静态或长静态ARP表项覆盖。

表1-2 手工添加多端口ARP表项

操作

命令

说明

进入系统视图

system-view

-

配置组播MAC地址表项

mac-address multicast mac-address interface interface-list vlan vlan-id

必选

手工添加短静态ARP表项

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

必选

其中mac-address应该和组播MAC中的mac-address一致

 

注意

·     当对应的VLAN接口未创建、VLAN接口down或者VLAN接口和VPN不匹配的时候,该多端口ARP表项不能正常指导转发,匹配该多端口ARP表项的报文被丢弃;当满足VLAN接口up且VLAN接口和VPN匹配时,该多端口ARP表项能正常指导转发。

·     短静态ARP按照MAC地址查找对应的组播MAC地址表项,当同样的MAC在多个VLAN中存在的时候,短静态ARP关联其中VLAN ID最小的MAC生成多端口ARP表项。

·     当达到多端口ARP表项的最大数目时,即使短静态ARP存在匹配的组播MAC地址表项,仍然会解析失败。如果后续其它多端口ARP表项被删掉,短静态ARP表项不能自动解析生成多端口ARP表项,需要手动重新配置。

·     组播MAC的相关内容,请参见“IP组播命令参考/组播路由与转发”中的命令mac-address multicast

 

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

可选

缺省情况下,二层接口不对允许学习动态ARP表项的最大数目进行限制,对于S5500-28SC-HI-D和S5500-52SC-HI-D交换机的三层接口允许学习动态ARP表项的最大数目为8192;对于本系列交换机其它机型的三层接口允许学习动态ARP表项的最大数目为16384

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

 

说明

如果二层接口及其所属的VLAN三层接口都配置了允许学习动态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表项检查功能可以控制设备上是否可以学习MAC地址为组播MAC的动态ARP表项。

·     使能ARP表项的检查功能后,设备上不能学习MAC地址为组播MAC的动态ARP表项。

·     关闭ARP表项的检查功能后,设备上可以学习MAC地址为组播MAC的动态ARP表项。

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

操作

命令

说明

进入系统视图

system-view

-

使能动态ARP表项的检查功能

arp check enable

可选

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

 

1.2.6  配置快速更新ARP表项

图1-3所示,Laptop经常在无线站点AP1和AP2之间漫游,导致Switch上记录的Laptop的MAC地址与出端口的对应关系经常发生改变,但是Switch上的ARP表项不会立即更新,影响到数据业务的正常转发。

图1-3 快速更新ARP表项应用环境

 

使能快速更新ARP表项功能后,如果交换机上记录的MAC地址与出端口的对应关系发生改变,系统会立刻更新ARP表项,保证了数据业务的不间断转发。

表1-6 配置快速更新ARP表项

操作

命令

说明

进入系统视图

system-view

-

使能快速更新ARP表项功能

mac-address station-move quick-notify enable

可选

缺省情况下,没有使能快速更新ARP表项功能

 

说明

快速更新ARP表项功能通常用于无线组网环境中,在其它组网环境中建议用户不要使用该功能。

 

1.2.7  配置组播ARP

微软的网络负载均衡(NLB,Network Load Balancing)功能,是其在Windows Server上开发的一个多服务器集群负载均衡特性。

NLB支持集群内服务器之间的负载分担以及冗余备份,当发生服务器故障时可以支持数据快速切换。为了保证快速切换,NLB要求交换机将业务流量转发至集群内的所有服务器或指定服务器,然后由各服务器将该服务器不期望的流量过滤掉,因此对于那些使用Windows Server作为服务器操作系统的中、小型数据中心来说,交换机与NLB的协同工作非常重要。

为了让业务流量能够被转发到所有服务器或指定服务器,微软NLB采取了一些处理机制,包括单播模式处理机制、组播模式处理机制和IGMP组播模式处理机制。

·     单播模式:在单播模式下,NLB重新为每个NLB节点分配一个共同的MAC地址(该MAC地址为集群MAC地址),并且在发送时修改数据报文的源MAC地址,从而使交换机不能将集群MAC地址学习到MAC地址表中,这样目的地址为集群MAC地址的数据报文将作为未知单播报文在交换机的所有端口上进行转发。

·     组播模式:在组播模式下,NLB使用一个组播地址(该MAC地址为虚拟MAC)用于NLB的通信,例如使用0300-5e11-1111来作为NLB节点的虚MAC地址。

·     IGMP组播模式:IGMP组播模式和组播模式的区别在于:IGMP组播模式可以通过IGMP协议使交换机只将数据报文发送到连接NLB节点的端口,而不是所有端口。

说明

·     目前,本系列交换机支持和Windows Server的NLB协同工作。

·     组播ARP功能仅适用于NLB采用组播模式处理机制的情况。

·     关于NLB的详细介绍请参见Windows Server的相关文档。

 

表1-7 配置组播ARP

操作

说明

详细配置

关闭ARP表项的检查功能

undo arp check enable

必选

手工添加静态ARP表项

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

可选

配置静态组播MAC地址表项

mac-address multicast mac-address interface interface-list vlan vlan-id

必选

 

说明

mac-address multicast命令的详细介绍请参见“IP组播命令参考/IGMP Snooping配置命令”。

 

1.3  ARP显示和维护

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

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

表1-8 ARP显示和维护

操作

命令

显示ARP表项

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

显示指定IP地址的ARP表项

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

显示指定VPN实例的ARP表项

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

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

display arp timer aging [ | { begin | exclude | include } regular-expression ]

清除ARP表项

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

 

说明

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

 

1.4  ARP典型配置举例

1.4.1  静态ARP表项配置举例

1. 组网需求

·     Switch连接主机,通过接口GigabitEthernet1/0/1连接Router。接口GigabitEthernet1/0/1属于VLAN 10。

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

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

2. 组网图

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

 

3. 配置步骤

在Switch上进行下列配置。

# 创建VLAN 10。

<Switch> system-view

[Switch] vlan 10

[Switch-vlan10] quit

# 将接口GigabitEthernet1/0/1加入到VLAN 10中。

[Switch] interface GigabitEthernet 1/0/1

[Switch-GigabitEthernet1/0/1] port link-type trunk

[Switch-GigabitEthernet1/0/1] port trunk permit vlan 10

[Switch-GigabitEthernet1/0/1] quit

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

[Switch] interface vlan-interface 10

[Switch-vlan-interface10] ip address 192.168.1.2 24

[Switch-vlan-interface10] quit

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

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

# 查看静态ARP表项信息。

[Switch] display arp static

                Type: S-Static    D-Dynamic    A-Authorized

IP Address       MAC Address     VLAN ID  Interface              Aging Type

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

1.4.2  组播ARP配置举例

1. 组网需求

在一个小型数据中心里,采用微软的NLBNetwork Loadbalancing)功能的组播模式处理机制,为了使交换机能够和NLB协同工作,在交换机上进行如下配置:

·     端口GigabitEthernet1/0/2和GigabitEthernet1/0/3属于Vlan 1,Vlan-interface1的IP地址为16.1.1.30/24;

·     端口GigabitEthernet1/0/1和GigabitEthernet1/0/4属于Vlan 2,Vlan-interface2的IP地址为17.1.1.1/24;

·     Host A和Host B的网关的IP地址为17.1.1.1/24;

·     Server A 和 Srever B的网关的IP地址为16.1.1.30/24。

·     关闭ARP表项检查功能。关闭ARP表项的检查功能后,可以学习MAC地址为组播MAC的动态ARP表项;

·     为了保证除Switch 的GigabitEthernet1/0/2和GigabitEthernet1/0/3以外的其他端口不会接收到相关报文,在Switch上手工添加静态组播MAC表项。

2. 组网图

图1-5 组播ARP配置举例

 

3. 配置步骤

说明

l     本配置举例仅给出交换机上的配置,有关服务器上NLB的配置请参见Windows Server的相关手册。

l     该配置举例仅适用于NLB的组播模式,假设Server的虚IP地址为16.1.1.100/24,虚MAC地址为03bf-1001-0164。

 

·     配置Switch

# 配置接口Vlan-interface2IP地址。

<Switch> system-view

[Switch] vlan 2

[Switch-vlan2] port GigabitEthernet 1/0/4

[Switch-vlan2] port GigabitEthernet 1/0/1

[Switch-vlan2] quit

[Switch] interface vlan-interface 2

[Switch-Vlan-interface2] ip address 17.1.1.1 255.255.255.0

[Switch-Vlan-interface2] quit

# 配置接口Vlan-interface1的IP地址。

[Switch] interface vlan-interface 1

[Switch-Vlan-interface1] ip address 16.1.1.30 255.255.255.0

[Switch-Vlan-interface1] quit

#关闭ARP表项检查功能。

[Switch] undo arp check enable

# 手工添加静态组播MAC表项。

[Switch] mac-address multicast 03bf-1001-0164 interface GigabitEthernet 1/0/2 Gigabi

tEthernet 1/0/3 vlan 1

4. 验证结果

·     NLB 负载分担功能测试:分别在Server A和Server B上启动FTP Server,两台host向虚拟IP发起登录请求,登录在不同的Server上;

·     NLB冗余备份功能测试:禁用Server A的网卡,两台host向虚拟IP发起登录请求,应均登录到Server BFTP Server上。

 

 


2 免费ARP配置

2.1  免费ARP简介

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

设备通过对外发送免费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地址表项,主要应用场景如下:

(1)     防止仿冒网关的ARP攻击

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

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

(2)     防止主机ARP表项老化

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

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

(3)     防止VRRP虚拟IP地址冲突

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

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

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

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

说明

关于VRRP的详细介绍,请参见“可靠性配置指导”中的“VRRP”。

 

2.2  配置免费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功能处于关闭状态

 

说明

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

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

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

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

 

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

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

·     如果源IP地址冲突提示功能处于关闭状态,则发送一个免费ARP报文,在收到对应的ARP应答后才提示存在IP地址冲突,并在提示存在IP地址冲突的5秒钟后,再次进行该项操作(发送免费ARP报文,在收到应答报文后提示存在IP地址冲突),这个过程会反复进行,直到冲突结束为止。

·     如果源IP地址冲突提示功能处于开启状态,则不会发送免费ARP报文,而是直接提示存在IP地址冲突。如果持续收到冲突的免费ARP报文,交换机将会每隔30秒钟,提示一次存在IP地址冲突,直到冲突结束为止。

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

操作

命令

说明

进入系统视图

system-view

-

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

arp ip-conflict prompt

可选

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


3 代理ARP配置

3.1  代理ARP简介

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

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

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

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

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

说明

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

 

3.1.1  代理ARP

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

代理ARP的典型应用环境如图3-1所示。设备Switch通过两个VLAN接口Vlan-interface1和 Vlan-interface2连接两个网络,两个VLAN接口的IP地址不在同一个网段,接口地址分别为192.168.10.99/24、192.168.20.99/24。但是两个网络内的主机Host A和Host B的地址通过掩码的控制,既与相连设备的接口地址在同一网段,同时二者也处于同一个网段。

图3-1 代理ARP的应用环境

 

在这种组网情况下,当Host A需要与Host B通信时,由于目的IP地址与本机的IP地址为同一网段,因此Host A会广播发送ARP请求报文,请求Host B的MAC地址。但是,此时的两台主机处于不同的广播域中,Host B无法收到Host A的ARP请求报文,当然也就无法应答。

通过在Switch上启用代理ARP功能,可以解决此问题。启用代理ARP后,Switch可以应答Host A的ARP请求。同时,Switch相当于Host B的代理,把从其他主机发送过来的报文转发给它。

代理ARP的优点是,它可以只被应用在一个设备上(此时该设备的作用相当于网关),不会影响到网络中其他设备的路由表。代理ARP功能可以在主机没有配置缺省网关或者主机没有任何路由能力的情况下使用。

3.1.2  本地代理ARP

本地代理ARP的应用场景如图3-2所示。Host A和Host B属于同一个VLAN 2,但它们分别连接到被二层隔离的端口GigabitEthernet1/0/3和GigabitEthernet1/0/1上,通过在SwitchA上启用本地代理ARP功能,可以实现Host A和Host B的三层互通。

图3-2 本地代理ARP的应用环境

 

本地代理ARP可以在下列三种情况下实现主机之间的三层互通:

·     想要互通的主机分别连接到同一个VLAN中的不同二层隔离端口下;

·     使能Super VLAN功能后,想要互通的主机属于不同的Sub VLAN;

·     使能Isolate-user-vlan功能后,想要互通的主机属于不同的Secondary VLAN。

3.2  配置代理ARP功能

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

表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 ] [ | { begin | exclude | include } regular-expression ]

显示本地代理ARP的状态

display local-proxy-arp [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

 

3.4  代理ARP典型配置举例

3.4.1  代理ARP配置举例

1. 组网需求

Host A和Host D为同一网段的主机(Host A的IP地址是192.168.10.100/16,Host D的IP地址是192.168.20.200/16),但却被设备Switch分在两个不同的子网(Host A属于VLAN 1,Host D属于VLAN 2)。

当Host A需要与Host D通信时,由于目的IP地址与本机的IP地址属于同一网段,Host A会直接发出请求Host D硬件地址的ARP请求。但是,因为两台主机处于不同的广播域中,Host D无法收到Host A的ARP请求报文,当然也就无法应答。通过在Switch上启用代理ARP功能,可以使得处在两个子网的Host A和Host D互通。

2. 组网图

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

 

3. 配置步骤

# 创建VLAN 2。

<Switch> system-view

[Switch] vlan 2

[Switch-vlan2] quit

# 配置接口Vlan-interface1的IP地址。

[Switch] interface vlan-interface 1

[Switch-Vlan-interface1] ip address 192.168.10.99 255.255.255.0

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

[Switch-Vlan-interface1] proxy-arp enable

[Switch-Vlan-interface1] quit

# 配置接口Vlan-interface2的IP地址。

[Switch] interface vlan-interface 2

[Switch-Vlan-interface2] ip address 192.168.20.99 255.255.255.0

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

[Switch-Vlan-interface2] proxy-arp enable

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

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

1. 组网需求

·     Host A和Host B属于同一个VLAN,分别与设备Switch B的端口GigabitEthernet1/0/3和GigabitEthernet1/0/1相连;

·     设备Switch B通过端口GigabitEthernet1/0/2端口与Switch A相连。

在此网络中要求:

·     Host A和Host B之间不能二层互通。

·     Host A和Host B之间可以进行三层通信。

通过如下方法,可以满足上述需求:

·     配置端口隔离实现Host A和Host B之间不能二层互通。

·     配置本地代理ARP功能实现Host A和Host B之间三层互通。

2. 组网图

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

 

3. 配置步骤

(1)     配置Switch B

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

<SwitchB> system-view

[SwitchB] vlan 2

[SwitchB-vlan2] port GigabitEthernet 1/0/3

[SwitchB-vlan2] port GigabitEthernet 1/0/1

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

[SwitchB-vlan2] quit

[SwitchB] interface GigabitEthernet 1/0/3

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

[SwitchB-GigabitEthernet1/0/3] quit

[SwitchB] interface GigabitEthernet 1/0/1

[SwitchB-GigabitEthernet1/0/1] port-isolate enable

[SwitchB-GigabitEthernet1/0/1] quit

(2)     配置SwitchA

# 创建VLAN 2,添加端口GigabitEthernet1/0/2到VLAN 2。

<SwitchA> system-view

[SwitchA] vlan 2

[SwitchA-vlan2] port GigabitEthernet 1/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

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

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

1. 组网需求

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

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

·     端口GigabitEthernet1/0/2属于VLAN 2,端口GigabitEthernet1/0/1属于VLAN 3。

·     Host A属于VLAN 2,与Switch的端口GigabitEthernet1/0/2相连;Host B属于VLAN 3,与Switch的端口GigabitEthernet1/0/1相连。

由于Host A和Host B属于不同的Sub VLAN,Host A和Host B之间二层隔离。通过在Switch上配置本地代理ARP功能,可以实现Host A和Host B之间的三层互通。

2. 组网图

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

 

3. 配置步骤

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

<Switch> system-view

[Switch] vlan 2

[Switch-vlan2] port GigabitEthernet 1/0/2

[Switch-vlan2] quit

[Switch] vlan 3

[Switch-vlan3] port GigabitEthernet 1/0/1

[Switch-vlan3] quit

[Switch] vlan 10

[Switch-vlan10] supervlan

[Switch-vlan10] subvlan 2 3

[Switch-vlan10] quit

[Switch] interface vlan-interface 10

[Switch-Vlan-interface10] ip address 192.168.10.100 255.255.0.0

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

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

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

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

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

1. 组网需求

·     设备Switch A下接设备Switch B。

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

·     Host A属于VLAN 2,与Switch B的端口GigabitEthernet1/0/3相连;Host B属于VLAN 3,与Switch B的端口GigabitEthernet1/0/1相连。

由于Host A和Host B属于不同的Secondary VLAN,Host A和Host B之间二层隔离。通过在Switch A上启用本地代理ARP功能,可以实现Host A和Host B之间的三层互通。

2. 组网图

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

 

3. 配置步骤

(1)     配置Switch B

# 在设备Switch B上创建VLAN 2、VLAN 3和VLAN 5;添加端口GigabitEthernet1/0/3到VLAN 2,端口GigabitEthernet1/0/1到VLAN 3,端口GigabitEthernet1/0/2到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 1/0/3

[SwitchB-vlan2] quit

[SwitchB] vlan 3

[SwitchB-vlan3] port GigabitEthernet 1/0/1

[SwitchB-vlan3] quit

[SwitchB] vlan 5

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

[SwitchB-vlan5] isolate-user-vlan enable

[SwitchB-vlan5] quit

[SwitchB] interface GigabitEthernet 1/0/2

[SwitchB-GigabitEthernet1/0/2] port isolate-user-vlan 5 promiscuous

[SwitchB-GigabitEthernet1/0/2] quit

[SwitchB] interface GigabitEthernet 1/0/1

[SwitchB-GigabitEthernet1/0/1] port isolate-user-vlan host

[SwitchB-GigabitEthernet1/0/1] quit

[SwitchB] interface GigabitEthernet 1/0/3

[SwitchB-GigabitEthernet1/0/3] port isolate-user-vlan host

[SwitchB-GigabitEthernet1/0/3] quit

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

(2)     配置Switch A

# 创建VLAN 5,添加端口GigabitEthernet1/0/2到VLAN 5。

<SwitchA> system-view

[SwitchA] vlan 5

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

[SwitchA-vlan5] quit

[SwitchA] 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,实现Secondary VLAN之间的三层互通。

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

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

 


4 ARP Snooping配置

4.1  ARP Snooping简介

4.1.1  作用

ARP Snooping功能是一个用于二层交换网络环境的特性,通过侦听ARP报文建立ARP Snooping表项。

4.1.2  工作机制

设备上的一个VLAN使能ARP Snooping后,该VLAN内所有端口接收的ARP报文会被重定向到CPU。CPU对重定向上送的ARP报文进行分析,获取ARP报文的源IP地址、源MAC地址、VLAN和入端口信息,建立记录用户信息的ARP Snooping表项。

ARP Snooping表项的老化时间为25分钟,有效时间为15分钟。如果一个ARP Snooping表项自最后一次更新后15分钟内没有收到ARP更新报文,则此表项开始进入失效状态,不再对外提供服务,其他特性查找此表项将会失败。当收到源IP地址和源MAC与已存在的ARP Snooping表项IP地址和MAC均相同的ARP报文时,此ARP Snooping表项进行更新,重新开始生效,并重新老化计时。当ARP Snooping表项达到老化时间后,则将此ARP Snooping表项删除。

如果ARP Snooping收到ARP报文时检查到相同IP的ARP Snooping表项已经存在,但是MAC地址发生了变化,则认为发生了攻击,此时ARP Snooping表项处于冲突状态,表项失效,不再对外提供服务,并在25分钟后删除此表项。

4.2  配置ARP Snooping

表4-1 配置ARP Snooping

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

使能ARP Snooping功能

arp-snooping enable

必选

缺省情况下,关闭ARP Snooping功能

 

4.3  ARP Snooping显示和维护

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

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

表4-2 ARP Snooping显示和维护

操作

命令

显示ARP Snooping表项

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

清除ARP Snooping表项

reset arp-snooping [ ip ip-address | vlan vlan-id ]

 

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

新华三官网
联系我们