专注服务于当下互联网基础设施建设与云计算、大数据时代的各种需求!

动态ARP检测原理及应用

在一个局域网中,网络安全可以通过多种方式来实现,而采取DHCP snooping(DHCP 防护)及DAI 检测(ARP 防护)这种技术,保护接入交换机的每个端口,可以让网络更加安全,更加稳定,尽可能的减小中毒范围,不因病毒或木马导致全网的瘫痪。 下面将详细的对这种技术的原理和应用做出解释。

一、 相关原理及作用

1、 DHCP snooping原理

DHCP Snooping技术是DHCP 安全特性,通过建立和维护DHCP Snooping 绑定表过滤不可信任的DHCP 信息,这些信息是指来自不信任区域的DHCP 信息。DHCP Snooping绑定表包含不信任区域的用户MAC 地址、IP 地址、租用期、VLAN-ID 接口等信息。

当交换机开启了 DHCP-Snooping后,会对DHCP 报文进行“侦听”,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP 地址和MAC 地址信息。另外,DHCP-Snooping 允许将某个物理端口设置为信任端口或不信任端口。信任端口可以正常接收并转发DHCP Offer 报文,而不信任端口会将接收到的DHCP Offer报文丢弃。这样,可以完成交换机对假冒DHCP Server 的屏蔽作用,确保客户端从合法的DHCP Server获取IP 地址。

2、DHCP snooping作用

DHCP snooping的主要作用就是隔绝私接的DHCP server,防止网络因多个DHCPserver 而产生震荡。

DHCP snooping 与交换机DAI 技术的配合,防止ARP 病毒的传播。 建立并维护一张DHCP snooping的“绑定表”,这张表可以通过dhcpack 包中的ip 和mac 地址生成的,也可以通过手工指定。它是后续DAI (Dynamic ARP Inspection)和IP Source Guard 基础。这两种类似的技术,是通过这张表来判定ip 或者mac 地址是否合法,来限制用户连接到网络的。

3、DAI 的原理及作用

DAI 全称为Dynamic ARP Inspection,译为动态ARP 检测。思科 Dynamic ARP Inspection (DAI)在交换机上提供IP 地址和MAC 地址的绑定,并动态建立绑定关系。DAI 以DHCPSnooping 绑定表为基础,对于没有使用DHCP 的服务器个别机器可以采用静态添加ARP access-list实现。

DAI 配置可以针对VLAN ,对于同一VLAN 内的接口即可以开启DAI 也可以关闭。通过DAI 可以控制某个端口的ARP 请求报文数量,来达到防范DoS 攻击的目的。

二、 DHCP snooping及DAI 的应用

1、DHCP snooping的应用

Switch (config )#ipdhcp snooping

Switch (config )#ipdhcp snooping vlanid /* vlan id 为vlan 号。

Switch (config-if )#ipdhcp snooping limit rate number /*dhcp包的转发速率,超过就接口就err-disable ,默认不限制;
Switch (config-if )#ipdhcp snooping trust /*这样这个端口就变成了信任端口,信任端口可以正常接收并转发DHCP Offer 报文,不记录ip 和mac 地址的绑定,默认是非信任端口。交换机上联端口必须为trust 端口

Switch#ipdhcp snooping binding mac-addressvlan

idip-address interface interface /*这样可以静态ip 和mac 一个绑定。mac-address 为设备物理地址,ip-address 为设备IP 地址,interface 为设备所接交换机端口号。

Switch
(config )#ipdhcp snooping database tftp://

10.1.1.1/dhcp_table /*因为掉电后,这张绑定表就消失了,所以要选择一个保存的地方,ftp 、tftp 、flash 皆可。Dhcp_table为文件名,并且在服务器端也要建立一个相同文件名文件。

2、 DAI 的应用

Switch(config)#ipdhcp snooping vlanid /* vlan id 为vlan 号。

Switch(config)#ipdhcp snooping

Switch(config)#iparp inspection vlan id/* 定义对哪些 VLAN 进行 ARP 报文检测 。

Switch(config)#iparp inspection validate

src-macdst-macip-addres s /*对src-mac (源mac 地址),dst-mac (目标mac 地址)和ip-address (ip 地址)进行检查

Switch(config-if)#iparp inspection limit rate number /* 定义接口每秒 ARP 报文数量。

Switch(config-if)#iparp inspection trust /*信任的接口不检查arp 报文, 默认是检测。上联端口必须设为trust 。

三、DHCP Snooping 和DAI 在应用中的问题及解决办法

当一台交换机启用DHCP Snooping 和DAI 时,该交换机的所有下联端口都具备了这种防护功能。但是默认情况下,DCHP 包的检测和ARP 包检测的数值都相对较低,若新接入一台设备,向整个Vlan 发送ARP 包进行查找。这样的话会使交换机端口进入Err-disable 状态。这时,我们就必须要在相应端口更改相应的数值。

当发现有端口Err-disable 时,先在交换机上查看端口err-disable 状态:

Switch(config-if)#show interface interface status

err-disabled

通过这条命令,可以看到端口err-disable 的原因。根据这一条,我们可以在交换机配置中添加命令来解决这个问题: Switch(config)#errdisable

/*err-disable恢复原因。

这里产生err-disable 的原因有很多种,但就ARP 包产生的问题,这一条要慎用。因为不确定下联设备是否是完全可信,针对这个,我们可以在相应端口上添加如下命令:

Switch
(config-if )#ipdhcp snooping limit rate number Switch

(config-if )#iparp inspection limit rate number 这里的数值默认为30,最大值为2048,我们可以根据实际情况更改。在端口完成配置后,必须要对端口进行shutdown 和no shutdown 操作,否则端口状态不会改变。

此外,还有一条命令,配置后可以缩短故障恢复时间:

Switch(config)#errdisable recovery intervaltime /*time为时间,区间为30-86400秒,默认为300秒。

通过对原理的理解和相关参数命令的配置后,不仅能提升我们网络的安全稳定性,而且还可以对一些特殊端口采取特殊的配置以实现更为丰富又安全的应用。