内网非法DHCP的处理
现在的企业网络结构,基本上都是内网外网并存。那么在使用DHCP服务器的时候,就有可能出现内网非法DHCP服务器等相关的问题。所以这里我们就来详细探讨一下有关内容。如果公司内网由于用户自行安装了Windows Server版本的操作系统而小心启用了DHCP服务,或其他因素在内网中出现了非授权的DHCP服务器,会给网络造成什么样的影响呢?
DHCP server可以自动为用户设置网络IP地址、掩码、网关、DNS、WINS 等网络参数,简化了用户网络设置,提高了管理效率。但是,此时如果服务器和客户端没有认证机制,网络上存在的非法的DHCP服务器将会给部分主机的地址分配、网关及DNS参数照成混乱,导致主机无法连接到外部网络。出现这种情况,如何解决这些问题呢?
作为客户端计算机来说,可以尝试使用ipconfig /release释放获得的网络参数后,然后用ipconfig /renew重新尝试获取正确的DHCP服务器配置服务,但这种方法很被动,往往要十几次甚至几十次才偶尔有可能成功一次,不能从根本解决问题。
另外一个解决办法,在windows系统组建的网络中,如果内网非法DHCP服务器也是用Windows系统建立的话我们可以通过“域”的方式对非法DHCP服务器进行过滤。将合法的DHCP服务器添加到活动目录(Active Directory)中,通过这种认证方式就可以有效的制止内网非法DHCP服务器了。原理就是没有加入域中的DHCP Server在相应请求前,会向网络中的其他DHCP Server发送DHCPINFORM查询包,如果其他DHCP Server有响应,那么这个DHCP Server就不能对客户的要求作相应,也就是说网络中加入域的DHCP服务器的优先级比没有加入域的DHCP服务器要高。这样当合法DHCP存在时非法的就不起任何作用了。
授权合法DHCP的过程如下:
第一步:开始->程序->管理工具->DHCP
第二步:选择DHCP root, 用鼠标右键单击,然后浏览选择需要认证的服务器。
第三步:点“添加”按钮, 输入要认证的DHCP服务器IP地址, 完成授权操作。
但是该方法只适用于内网非法DHCP服务器是windows系统,需要用到域和活动目录,配置较复杂,另外对于非Windows的操作系统,就显得力不从心了。
还有更好的方法,就是利用交换机的DHCP监听,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,也就是过滤掉非法DHCP服务器向网络上发送的数据包。首先定义交换机上的信任端口和不信任端口,将DHCP服务器所连接的端口定义为信任端口,其它连接到普通客户端的端口全部定义为不信任端口,对于不信任端口的DHCP报文进行截获和嗅探,drop掉来自这些端口的非正常 DHCP 报文,从而达到过滤内网非法DHCP服务器的目的。
基本配置示例:
switch(config)#ip dhcp snooping vlan 100,200
/* 定义哪些 VLAN 启用 DHCP 嗅探
switch(config)#ip dhcp snooping
switch(config)#int fa4/10 /* dhcp服务器所在端口
switch(config-if)#ip dhcp snooping trust
switch(config)#int range fa3/1 - 48 /* 其它端口
switch(config-if)#no ip dhcp snooping trust (Default)