一、接纳DHCP效劳的常见问题? 架设DHCP效劳器可以为客户端自动分派IP地点、掩码、默认网关、DNS效劳器等网络参数,简化了网络设置,提高了治理效率。但在DHCP效劳的治理上保存一些问题,常见的有:
·DHCP Server的冒充
·DHCP Server的DOS***,如DHCP耗竭***
·某些用户随便指定IP地点,造成IP地点冲突
1、DHCP Server的冒充??? 由于DHCP效劳器和客户端之间没有认证机制,以是若是在网络上随意添加一台DHCP效劳器,它就可以为客户端分派IP地点以及其他网络参数。只要让该DHCP效劳器分派过失的IP地点和其他网络参数,那就会对网络造成很是大的危害。
2、DHCP Server的拒绝效劳***
通常DHCP效劳器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地点。正常情形下该CHADDR字段和发送请求报文的客户端真实的MAC地点是相同的。***者可以使用伪造MAC的方法发送DHCP请求,但这种***可以使用Cisco 交流机的端口清静特征来避免。端口清静特征(Port Security)可以限制每个端口只使用唯一的MAC地点。可是若是***者不修改DHCP请求报文的源MAC地点,而是修改DHCP报文中的CHADDR字段来实验***,那端口清静就不起作用了。由于DHCP效劳器以为差别的CHADDR值体现请求来自差别的客户端,以是***者可以通过大宗发送伪造CHADDR的DHCP请求,导致DHCP效劳器上的地点池被耗尽,从而无法为其他正常用户提供网络地点,这是一种DHCP耗竭***。DHCP耗竭***可以是纯粹的DOS***,也可以与伪造的DHCP效劳器配合使用。当正常的DHCP效劳器瘫痪时,***者就可以建设伪造的DHCP效劳器来为局域网中的客户端提供地点,使它们将信息转发给准备截取的恶意盘算机。甚至纵然DHCP请求报文的源MAC地点和CHADDR字段都是准确的,但由于DHCP请求报文是广播报文,若是大宗发送的话也会耗尽网络带宽,形成另一种拒绝效劳***。
3、客户端随意指定IP地点??? 客户端并非一定要使用DHCP效劳,它可以通过静态指定的方法来设置IP地点。若是随便指定的话,将会大大提高网络IP地点冲突的可能性。
二、DHCP Snooping手艺先容
DHCP监听(DHCP Snooping)是一种DHCP清静特征。Cisco交流机支持在每个VLAN基础上启用DHCP监听特征。通过这种特征,交流性能够阻挡第二层VLAN域内的所有DHCP报文。
DHCP监听将交流机端口划分为两类:
·非信托端口:通常为毗连终端装备的端口,如PC,网络打印机等
·信托端口:毗连正当DHCP效劳器的端口或者毗连汇聚交流机的上行端口
通过开启DHCP监听特征,交流机限制用户端口(非信托端口)只能够发送DHCP请求,扬弃来自用户端口的所有其它DHCP报文,例如DHCP?Offer报文等。并且,并非所有来自用户端口的DHCP请求都被允许通过,交流机还会较量DHCP?请求报文的(报文头里的)源MAC地点和(报文内容里的)DHCP客户机的硬件地点(即CHADDR字段),只有这两者相同的请求报文才会被转发,不然将被扬弃。这样就避免了DHCP耗竭***。
信托端口可以吸收所有的DHCP报文。通过只将交流机毗连到正当DHCP效劳器的端口设置为信托端口,其他端口设置为非信托端口,就可以避免用户伪造DHCP效劳器来***网络。DHCP监听特征还可以对端口的DHCP报文举行限速。通过在每个非信托端口下举行限速,将可以阻止正当DHCP请求报文的广播***。
DHCP监听尚有一个很是主要的作用就是建设一张DHCP监听绑定表(DHCP?Snooping?Binding)。一旦一个毗连在非信托端口的客户端获得一个正当的DHCPOffer,交流机就会自动在DHCP监听绑定内外添加一个绑定条目,内容包括了该非信托端口的客户端IP地点、MAC地点、端口号、VLAN编号、租期等信息。如:
Switch#show?ip?dhcp?snooping?binding
MacAddress???????? IpAddress?????? Lease(sec)??? Type???????? VLAN????????? Int
00:0F:1F:C5:10:08 192.168.10.131??? 682463???? dhcp-snooping?? 10?????? FastEthernet0/1
这张DHCP监听绑定表为进一步安排IP源防护(IPSG)和动态ARP检测(DAI)提供了依据。说明:
I.?非信托端口只允许客户端的DHCP请求报文通过,这里只是相关于DHCP报文来说的。其他非DHCP报文照旧可以正常转发的。这就体现客户端可以以静态指定IP地点的方法通过非信托端口接入网络。由于静态客户端不会发送DHCP报文,以是DHCP监听绑定内外也不会有该静态客户端的纪录。
信托端口的客户端信息不会被纪录到DHCP监听绑定内外。若是有一客户端毗连到了一个信托端口,纵然它是通过正常的DHCP方法获得IP地点,DHCP监听绑定内外也不有该客户端的纪录。若是要求客户端只能以动态获得IP的方法接入网络,则必需借助于IPSG和DAI手艺。
II.交流机为了获得高速转发,通常只检查报文的二层帧头,获得目的MAC地点后直接转发,不会去检查报文的内容。而DHCP监听实质上就是开启交流机对DHCP报文的内容部分的检查,DHCP报文不再只是被检查帧头了。
III.?DHCP监听绑定表不但用于防御DHCP***,还为后续的IPSG和DAI手艺提供动态数据库支持。
DHCP-SNOOPING设置
DHCP-snooping设置使命
DHCP-snooping的使命就是对DHCP报文举行判断,避免伪造的DHCP效劳器提供DHCP效劳,维护接口上MAC地点与IP地点的对应绑定关系。凭证MAC地点与IP地点的对应绑定,可以完成DAI(动态ARP监测)和IP?source?guard功效。DHCP-snooping功效主要包括侦听DHCP报文、动态维护MAC地点与IP地点的对应绑定表,二层交流机过滤非信托端口的不知足这种对应绑定关系的报文,避免不法用户对网络的***。
·开启/关闭DHCP-snooping功效
·在VLAN?上启动DHCP-snooping
·设置接口为DHCP信托接口
·在VLAN上启动DAI功效
·设置接口为ARP监测信托接口
·在VLAN上启动IP源地点监测功效
·设置接口为IP?源地点监测信托接口
·设置DHCP-snooping绑定备份的TFTP效劳器
·设置DHCP-snooping绑定备份的文件名
·设置DHCP-snooping绑定备份的时间距离
·手工设置添加绑定关系
·DHCP-snooping的监控与维护
·设置DHCP-snooping的示例
Switch(config)#ip dhcp snooping????????//翻开DHCP Snooping功效
Switch(config)#ip dhcp snooping vlan 10????//设置DHCP Snooping功效将作用于哪些VLAN
Switch(config)#ip dhcp snoopiing verify mac-address????//非信托端口收到的DHCP请求报文的源MAC和CHADDR字段是否相同,以避免DHCP耗竭***,该功效默认即为开启。
Switch(config-if)#ip dhcp snooping trust????????//设置接口为DHCP监听特征的信托接口,所有接口默以为非信托接口
Switch(config-if)#ip dhcp snoopiing limit rate 15????//限制非信托端口的DHCP报文速率为每秒15个包(默认即为每秒15个包)若是不配该语句,则show ip dhcp snooping的效果将不列出没有该语句的端口,可选速率规模为1-2048
建议,在设置了端口的DHCP报文限速之后,最好设置以下两条下令
Switch(config)#errdisable recovery cause dhcp-rate-limit????????//使由于DHCP报文限速而被禁用的端口能自动从err-disable状态后,经由30秒时间才华恢复
Switch(config)#ip dhcp snooping information option????????//设置交流机是否为非信托端口收到的DHCP报文插入Option 82,默认即为开启状态
Swtich(config)#ip dhcp snooping information option?? allow-untrusted ????//设置汇聚交流机将吸收从非信托端口收到的接入交流机发来的带有选项82的DHCP报文
Switch#ip dhcp snooping binding 000f.1fc5.1008 vlan 10 192.168.10.131 interface fa0/2 expiry 692000????????//特权模式下令:手工添加一条DHCP监听绑定条目;expiry为时间值,即为监听绑定中的lease(租期)
Switch(config)#ip dhcp snooping database flash:dhcp_snooping.db????????//将DHCP监听表生涯在flash中,文件名为dhcp_snooping.db
Swtich(config)#ip dhcp snooping database tftp://192.168.2.5/Switch/dhcp_snooping.db????????//将DHCP事先确定可达。URL中的Switch是tftp效劳器下一个文件夹;生涯后的文件名为dhcp_snooping.db,当更改生涯位置后会连忙执行“写”操作。
Swtich(config)#ip dhcp snooping database write-delay 30????????//指DHCP监听绑定表爆发更新后,期待30秒,再写入文件,默以为300秒;可选规模为15-86400秒
Switch(config)#ip dhcp snooping database timeout 60????????//指DHCP监听绑定表实验写入操作失败后,重新实验写入操作,直到60秒后阻止实验。默以为300秒;可选规模为0-86400秒
说明:现实受骗DHCP监听绑定表爆发改变时会先期待write-delay的时间,然后执行写入操作,若是写入操作失败(好比tftp效劳器不可达),接着就期待timeout的时间,在此时间段内一直重试。在timeout时间事后,阻止写入实验。但由于监听绑定表已经爆发了改变,因此重新最先期待write-delay时间执行写入操作,一直循环,直到写入操作乐成。
Switch#renew ip dhcp snooping database flash:dhcp_snooping.db????????//特权级下令:连忙生涯好的数据库文件中读取DHCP监听表。
显示DHCP Snooping的状态
Switch#show ip dhcp snooping????????//显示目今DHCP监听的各选项和各端口的设置情形
Switch#show ip dhcp snooping binding????????//显示目今的DHCP监听绑定表
Switch#show ip dhcp snooping database????//显示DHCP监听绑定命据库的相关信息
Switch#show ip dhcp snooping statistics????//显示DHCP监听的事情统计
Switch#clear ip dhcp snooping binding????? //扫除DHCP监听绑定表;注重:本下令无法对简单条目举行清晰,只能清晰所有条目
Switch#clear ip dhcp snooping database statistics????//清空DHCP监听绑定命据库的计数器
Switch#clear ip dhcp snooping statistics????//清空DHCP监听的事情统计计数器
DHCP Snooping实例
1、单交流机(DHCP效劳器和DHCP客户端位于统一VLAN)
情形:Windows 2003 DHCP效劳器和客户端都位于Vlan 10;效劳器接在F0/1,客户端接在F0/2
ip dhcp snoopiing vlan 10
ip dhcp snooping
!
int f0/1
switchport access vlan 10
spanning-tree portfast
ip dhcp snooping trust
!
int f0/2
switchport access vlan 10
spanning-tree portfast
ip dhcp snooping limit rate 15
说明:
·本例中交流机关于客户端的DHCP请求报文插入选项 82信息;也可以通过设置no ip dhcp snooping information option下令选择不插入选项82信息。两种情形都可以。
·客户端端口推荐设置spanning-tree portfast下令,使得该端口不加入天生树盘算,节约端口启动时间,避免可能由于端口启动时间过长导致客户端得不到IP地点。
·开启DHCP监听特征的vlan并不需要该vlan的三层接口被建设。