1、动态ARP检测原理及应用 在一个局域网中,网络安全可以通过多种方式来实现,而采取DHCP snooping(DHCP防护)及DAI检测(ARP防护)这种技术,保护接入交换机的每个端口,可以让网络更加安全,更加稳定,尽可能的减小中毒范围,不因病毒或木马导致全网的瘫痪。 下面将详细的对这种技术的原理和应用做出解释。 一、 相关原理及作用 1、 DHCP snooping原理 DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域
2、的用户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作用 DHC
3、P snooping的主要作用就是隔绝私接的DHCP server,防止网络因多个DHCPserver而产生震荡。 DHCP snooping与交换机DAI技术的配合,防止ARP病毒的传播。 建立并维护一张DHCP snooping的“绑定表”,这张表可以通过dhcp ack包中的ip和mac地址生成的,也可以通过手工指定。它是后续DAI(Dynamic ARP Inspection)和IP Source Guard 基础。这两种类似的技术,是通过这张表来判定ip或者mac地址是否合法,来限制用户连接到网络的。 3、DAI的原理及作用 DAI全称为Dynamic ARP Insp
4、ection,译为动态ARP检测。思科 Dynamic ARP Inspection (DAI)在交换机上提供IP地址和MAC地址的绑定,并动态建立绑定关系。DAI以DHCP Snooping绑定表为基础,对于没有使用DHCP的服务器个别机器可以采用静态添加ARP access-list实现。 DAI配置可以针对VLAN,对于同一VLAN内的接口即可以开启DAI也可以关闭。通过DAI可以控制某个端口的ARP请求报文数量,来达到防范DoS攻击的目的。 二、 DHCP snooping及DAI的应用 1、DHCP snooping的应用 Switch(config)# ip d
5、hcp snooping Switch(config)# ip dhcp snooping vlan id /* vlan id 为vlan号。 Switch(config-if)#ip dhcp snooping limit rate number /*dhcp包的转发速率,超过就接口就err-disable,默认不限制; Switch(config-if)# ip dhcp snooping trust /*这样这个端口就变成了信任端口,信任端口可以正常接收并转发DHCP Offer报文,不记录ip和mac地址的绑定,默认是非信任端口。交换机上联端口必须为trust端
6、口 Switch# ip dhcp snooping binding mac-address vlan id ip-address interface interface /*这样可以静态ip和mac一个绑定。mac-address为设备物理地址, ip-address为设备IP地址,interface为设备所接交换机端口号。 Switch(config)#ip dhcp snooping database tftp:// 10.1.1.1/dhcp_table /*因为掉电后,这张绑定表就消失了,所以要选择一个保存的地方,ftp、tftp、flash皆可。Dhcp_table为
7、文件名,并且在服务器端也要建立一个相同文件名文件。 2、 DAI的应用 Switch(config)#ip dhcp snooping vlan id /* vlan id为vlan号。 Switch(config)#ip dhcp snooping Switch(config)#ip arp inspection vlan id /* 定义对哪些 VLAN 进行 ARP 报文检测 。 Switch(config)#ip arp inspection validate src-mac dst-mac ip-address /*对src-mac(源mac地址), dst
8、mac(目标mac地址)和ip-address(ip地址)进行检查 Switch(config-if)#ip arp inspection limit rate number /* 定义接口每秒 ARP 报文数量。 Switch(config-if)#ip arp inspection trust /*信任的接口不检查arp报文,默认是检测。上联端口必须设为trust。 三、DHCP Snooping 和DAI在应用中的问题及解决办法 当一台交换机启用DHCP Snooping 和DAI时,该交换机的所有下联端口都具备了这种防护功能。但是默认情况下,DCHP包的检测和
9、ARP包检测的数值都相对较低,若新接入一台设备,向整个Vlan发送ARP包进行查找。这样的话会使交换机端口进入Err-disable状态。这时,我们就必须要在相应端口更改相应的数值。 当发现有端口Err-disable时,先在交换机上查看端口err-disable状态: Switch(config-if)# show interface interface status err-disabled 通过这条命令,可以看到端口err-disable的原因。根据这一条,我们可以在交换机配置中添加命令来解决这个问题: Switch(config)# errdisable recovery ca
10、use reason /*err-disable恢复原因。 这里产生err-disable的原因有很多种,但就ARP包产生的问题,这一条要慎用。因为不确定下联设备是否是完全可信,针对这个,我们可以在相应端口上添加如下命令: Switch(config-if)#ip dhcp snooping limit rate number Switch(config-if)#ip arp inspection limit rate number 这里的数值默认为30,最大值为2048,我们可以根据实际情况更改。在端口完成配置后,必须要对端口进行shutdown和no shutdown操作,否则端口状态不会改变。 此外,还有一条命令,配置后可以缩短故障恢复时间: Switch(config)#errdisable recovery interval time /*time为时间,区间为30-86400秒,默认为300秒。 通过对原理的理解和相关参数命令的配置后,不仅能提升我们网络的安全稳定性,而且还可以对一些特殊端口采取特殊的配置以实现更为丰富又安全的应用。






