使非法DHCP服务自动失效的方法和装置及DHCP服务器转让专利

申请号 : CN200910000236.4

文献号 : CN101465756B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王军

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种使非法DHCP服务自动失效的方法和装置。该方法包括:一DHCP服务器维护合法DHCP服务器列表,周期性广播DHCP Discover报文并识别接收到的DHCP回应报文;如果一发送DHCP回应报文的节点不在合法DHCP服务器列表中,则该节点为非法DHCP服务器,启动DHCP报文侦听;如果侦听到一客户端发送的、目的地址为该节点的DHCP Request报文,则向该客户端发送DHCP请求失败消息。本发明还公开了一种DHCP服务器。本发明有效降低了网络管理员的工作量,可及时有效的阻止非法DHCP服务器提供DHCP服务。

权利要求 :

1.一种使非法DHCP服务自动失效的方法,其特征在于,一DHCP服务器维护合法DHCP服务器列表,并执行以下步骤:步骤S1:周期性广播DHCP Discover报文并识别接收到的DHCP回应报文;

步骤S2:如果一发送所述DHCP回应报文的节点不在所述合法DHCP服务器列表中,则所述节点为非法DHCP服务器,启动DHCP报文侦听;

步骤S3:如果侦听到一客户端发送的、目的地址为所述节点的DHCPRequest报文,则向所述客户端发送DHCP请求失败消息。

2.根据权利要求1所述的使非法DHCP服务自动失效的方法,其特征在于,所述DHCP服务器为主DHCP服务器。

3.根据权利要求2所述的非法DHCP服务自动失效的方法,其特征在于,还包括在网络配置的合法DHCP服务器间协商主DHCP服务器的步骤;其中,如果网络中仅存在一台DHCP服务器,则所述DHCP服务器为主DHCP服务器;如果网络中存在一台以上DHCP服务器,则通过比较DHCP服务器优先级或者比较接口IP地址大小,选择一DHCP服务器为主DHCP服务器。

4.根据权利要求1-3任一所述的使非法DHCP服务自动失效的方法,其特征在于,所述DHCP服务器维护合法DHCP服务器列表的步骤包括:所述DHCP服务器将其他合法DHCP服务器的MAC地址和IP地址信息记录到所述合法DHCP服务器列表中;其中,如果网络中仅存在所述DHCP服务器,则所述合法DHCP服务器列表为空;

或者,所述DHCP服务器将网络中所有合法DHCP服务器的MAC地址和IP地址信息记录到所述合法DHCP服务器列表中。

5.根据权利要求1-3任一所述的使非法DHCP服务自动失效的方法,其特征在于,还包括在步骤S2之后或者每隔预设时段,将识别出的非法DHCP服务器信息发送到日志服务器的步骤。

6.一种使非法DHCP服务自动失效的装置,设置于DHCP服务器中,其特征在于,包括:IP地址请求广播单元,用于周期性广播DHCP Discover报文;

合法DHCP服务器列表维护单元,用于维护合法DHCP服务器列表;

接收识别单元,与所述合法DHCP服务器列表维护单元连接,用于接收并识别DHCP回应报文,如果一发送所述DHCP回应报文的节点不在所述合法DHCP服务器列表中,则触发DHCP报文侦听单元;

DHCP报文侦听单元,用于接受所述接收识别单元的触发,启动DHCP报文侦听;如果侦听到一客户端发送的、目的地址为所述节点的DHCP Request报文,则触发DHCP发送单元;

DHCP发送单元,用于接受所述DHCP报文侦听单元的触发,向所述客户端发送DHCP请求失败消息。

7.根据权利要求6所述的使非法DHCP服务自动失效的装置,其特征在于,还包括主DHCP服务器协商单元,用于与网络中配置的合法DHCP服务器协商主DHCP服务器,并在所在DHCP服务器为主DHCP服务器时,触发所述IP地址请求广播单元和合法DHCP服务器列表维护单元。

8.根据权利要求6或7所述的使非法DHCP服务自动失效的装置,其特征在于,所述合法DHCP服务器列表记录其他合法DHCP服务器的MAC地址和IP地址信息;其中,如果网络中仅存在所述DHCP服务器,则所述合法DHCP服务器列表为空;

或者,所述合法DHCP服务器列表记录网络中所有合法DHCP服务器的MAC地址和IP地址信息。

9.根据权利要求6或7所述的使非法DHCP服务自动失效的装置,其特征在于,还包括非法信息上报单元,与所述接收识别单元连接,用于即时或者每隔预设时段,将所述接收识别单元识别出的非法DHCP服务器信息发送到日志服务器。

10.一种设有权利要求6-9任一所述的使非法DHCP服务自动失效的装置的DHCP服务器。

说明书 :

使非法DHCP服务自动失效的方法和装置及DHCP服务器

技术领域

[0001] 本发明涉及通信网络技术领域,尤其涉及一种使非法DHCP服务自动失效的方法和装置,还涉及一种DHCP服务器。

背景技术

[0002] 随着网络规模的不断扩大和网络复杂度的提高,计算机的数量经常超过可供分配的IP地址数量;同时,随着移动PC及无线网络的广泛使用,计算机的位置也经常发生变化,其相应的IP地址也必须随之更新。
[0003] 为了解决上述问题,可以采用DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)进行计算机IP地址和网关等参数的自动分配,其工作原理为:采用客户端/服务器通信模式,由客户端向DHCP服务器提出配置申请,DHCP服务器向客户端返回为其分配的IP地址等配置信息,从而实现了IP地址等信息的动态分配。
[0004] 但是在实际的组网环境中,并不能排除非法DHCP服务器(也称伪DHCP服务器)的存在,其可能是私自架设的DHCP服务器,也可能是原本作为客户端的用户不小心启用了计算机的DHCP服务功能。如图1所示,显示了一个存在非法DHCP服务器的网络拓扑示意图;这种情况下,当客户端申请IP地址时,这台非法DHCP服务器就会与DHCP客户端进行交互,导致客户端获得错误的IP地址,从而影响网络的正常运行。
[0005] 目前常用的解决方式为:在合法DHCP服务器上使能DHCP服务器检测功能进行DHCP报文侦听,并在侦听到siaddr字段不为0的DHCPoffer报文时,在日志中记录该siaddr字段的值(即发送该DHCP offer报文的DHCP服务器的IP地址)以及接收该DHCP offer报文的接口信息。可以看出,在使能了DHCP服务器检测功能以后,合法DHCP服务器会在其日志中对网络中所有DHCP服务器都加以记录,其中既包括合法的DHCP服务器,也包括非法的DHCP服务器;合法DHCP服务器定时将日志发送到日志服务器(log服务器),这样网络管理员通过查看日志服务器,可以实现对非法DHCP服务器进行排查和处理。
[0006] 上述处理方案虽然能够实现对非法DHCP服务器的识别和干预,但是存在以下明显缺陷:
[0007] 1、由于日志信息中同时记录了合法DHCP服务器和非法DHCP服务器,因此需要网络管理员进行一一核对,导致了非常庞大的工作量;
[0008] 2、网络调整必须由网络管理人员在识别出非法DHCP服务器后手工进行,由于在出现非法DHCP服务器后网络管理员即时发现、即时处理的可能性基本不存在,因此绝大多数情况下,在网络管理员进行网络调整之前非法DHCP服务器已经为一些DHCP客户端提供了错误的IP地址,导致这些客户端无法正常使用网络;
[0009] 3、现有的DHCP服务器检测功能仅仅针对每个DHCP服务器进行一次日志记录,如果这唯一的记录在发送到日志服务器的过程中丢失,网络管理员就无法获知非法DHCP服务器的存在,因此存在可靠性问题。

发明内容

[0010] 本发明的实施例旨在克服上述现有技术中的缺陷,提供一种能够使非法DHCP服务自动失效的技术方案,以简单、及时、可靠地实现对非法DHCP服务器的自动处理。
[0011] 为实现上述目的,本发明的实施例提供了一种使非法DHCP服务自动失效的方法,一DHCP服务器维护合法DHCP服务器列表,并执行以下步骤:
[0012] 步骤S1:周期性广播DHCP Discover并识别接收到的DHCP回应报文;
[0013] 步骤S2:如果一发送所述DHCP回应报文的节点不在所述合法DHCP服务器列表中,则所述节点为非法DHCP服务器,启动DHCP报文侦听;
[0014] 步骤S3:如果侦听到一客户端发送的、目的地址为所述节点的DHCPRequest报文,则向所述客户端发送DHCP请求失败消息。
[0015] 较佳的,所述DHCP服务器为主DHCP服务器。
[0016] 较佳的,还可以包括在网络配置的合法DHCP服务器间协商主DHCP服务器的步骤;其中,如果网络中仅存在一台DHCP服务器,则所述DHCP服务器为主DHCP服务器;如果网络中存在一台以上DHCP服务器,则通过比较DHCP服务器优先级或者比较接口IP地址大小,选择一DHCP服务器为主DHCP服务器。
[0017] 较佳的,所述DHCP服务器维护合法DHCP服务器列表的步骤可以包括:所述DHCP服务器将其他合法DHCP服务器的MAC地址和IP地址信息记录到所述合法DHCP服务器列表中;其中,如果网络中仅存在所述DHCP服务器,则所述合法DHCP服务器列表为空;
[0018] 或者,所述DHCP服务器将网络中所有合法DHCP服务器的MAC地址和IP地址信息记录到所述合法DHCP服务器列表中。
[0019] 较佳的,还可以包括在步骤S2之后或者每隔预设时段,将识别出的非法DHCP服务器信息发送到日志服务器的步骤。
[0020] 本发明的实施例还提供了一种使非法DHCP服务自动失效的装置,设置于DHCP服务器中,包括:
[0021] IP地址请求广播单元,用于周期性广播DHCP Discover报文;
[0022] 合法DHCP服务器列表维护单元,用于维护合法DHCP服务器列表;
[0023] 接收识别单元,与所述合法DHCP服务器列表维护单元连接,用于接收并识别DHCP回应报文,如果一发送所述DHCP回应报文的节点不在所述合法DHCP服务器列表中,则触发DHCP报文侦听单元;
[0024] DHCP报文侦听单元,用于接受所述接收识别单元的触发,启动DHCP报文侦听;如果侦听到一客户端发送的、目的地址为所述节点的DHCP Request报文,则触发DHCP发送单元;
[0025] DHCP发送单元,用于接受所述DHCP报文侦听单元的触发,向所述客户端发送DHCP请求失败消息。
[0026] 较佳的,还包括主DHCP服务器协商单元,用于与网络中配置的合法DHCP服务器协商主DHCP服务器,并在所在DHCP服务器为主服务器时,触发所述IP地址请求广播单元和合法DHCP服务器列表维护单元;
[0027] 较佳的,所述合法DHCP服务器列表记录其他合法DHCP服务器的MAC地址和IP地址信息;其中,如果网络中仅存在所述DHCP服务器,则所述合法DHCP服务器列表为空;或者,所述合法DHCP服务器列表记录网络中所有合法DHCP服务器的MAC地址和IP地址信息。
[0028] 较佳的,还包括非法信息上报单元,与所述接收识别单元连接,用于即时或者每隔预设时段,将所述接收识别单元识别出的非法DHCP服务器信息发送到日志服务器。
[0029] 本发明的实施例还提供了一种DHCP服务器,其设有上述使非法DHCP服务自动失效的装置。
[0030] 由上述技术方案可知,本发明的实施例通过合法DHCP服务器进行客户端模拟来发现非法DHCP服务器,采用针对性发送DHCP请求失败消息来干预非法DHCP服务器的DHCP功能,具有以下有益效果:
[0031] 1、无需核对大量日志即可实现对于非法DHCP服务器的识别和处理,简单易行,有效降低了网络管理员的工作量;
[0032] 2、在网络管理员人工干预之前,即可及时有效的阻止非法DHCP服务器提供DHCP服务,保证网络的连续可用性。
[0033] 通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。

附图说明

[0034] 图1为现有技术中一存在伪DHCP服务器的网络拓扑图;
[0035] 图2为本发明提供的使非法DHCP服务自动失效的方法一实施例的流程图;
[0036] 图3为图2所示方法一较佳实施例的流程图,由主DHCP服务器使非法DHCP服务自动失效;
[0037] 图4为图2所示方法一具体实施例的网络拓扑图;
[0038] 图5为本发明提供的使非法DHCP服务自动失效的装置一实施例的框图。

具体实施方式

[0039] 下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。
[0040] 本发明的主要构思在于简单有效的检测出网络中存在的非法DHCP服务器,并在人为干预前对检测出的非法DHCP服务器进行自动干预处理,使之不能有效的提供DHCP服务。这样,为帮助读者更好的理解本发明下面将详细介绍本发明所提供的使非法DHCP服务自动失效的方案。
[0041] 首先,对本发明提供的使非法DHCP服务自动失效的方法加以描述,该方法应用于通过DHCP服务器动态提供IP地址等信息的网络环境。
[0042] 请参考图2,示出了该使非法DHCP服务自动失效的方法一实施例的流程图,需要在先加以说明的是,本实施例是以一台DHCP服务器的处理过程为例加以描述的;但本领域技术人员可以了解,网络中可能存在多台DHCP服务器同时进行非法DHCP服务的失效控制,那么每一台的控制方案都如本实施例所示,在此不再赘述;
[0043] 图2所示实施例包括以下步骤:
[0044] 步骤S0:一DHCP服务器维护合法DHCP服务器列表;
[0045] 需要说明,网络中无论采用一台DHCP服务器还是采用多台DHCP服务器来进行失效处理,其必须都是合法的DHCP服务器,即维护合法DHCP服务器列表的必须是合法的DHCP服务器;
[0046] 需要进一步加以说明的是,上述在合法DHCP服务器上维护合法DHCP服务器列表的操作对于本领域技术人员而言是完全可以实现的。这是由于,网络中的合法DHCP服务器由网络管理员指定;因此,合法DHCP服务器列表既可以由网络管理员主动下发到各合法DHCP服务器,也可以由网络管理员为合法DHCP服务器设置同样的密钥或者口令,这样合法DHCP服务器间通过协商进行身份验证,从而一合法DHCP服务器能够获知网络中其它的合法DHCP服务器并加以记录和维护;
[0047] 显然,当网络管理员更新了网络中的合法DHCP服务器时,维护有合法DHCP服务器列表的DHCP服务器将随之刷新其合法DHCP服务器列表,因此可以说,对于合法DHCP服务器列表的维护是根据网络中合法DHCP服务器的变化情况动态进行的;
[0048] 此外需要加以说明的是,DHCP服务器所维护的合法DHCP服务器列表可以记录有网络中所有合法DHCP服务器的信息;但由于本发明的技术方案是基于其它DHCP服务器的反馈实现的,需要使用到的仅仅是其它合法DHCP服务器的信息,因此较佳的实现方式为:合法DHCP服务器列表仅记录本机以外的其它合法DHCP服务器的信息;具体的,可以记录其他合法DHCP服务器的MAC地址和IP地址信息。这种情况下,如果网络中仅存在一台DHCP服务器,显然该DHCP服务器的合法DHCP服务器列表为空;
[0049] 基于本步骤S0维护有合法DHCP服务器列表的任一台DHCP服务器都可以通过以下步骤实现对于非法DHCP服务的失效,具体如下:
[0050] 步骤S1:该DHCP服务器周期性广播DHCP Discover报文并识别接收到的DHCP回应报文(DHCP offer报文);
[0051] 具体来说,就是该DHCP服务器定时广播DHCP Discover报文,来模拟DHCP客户端请求DHCP服务器;因此,网络中除本机以外的所有合法DHCP服务器和非法DHCP服务器都会反馈DHCP offer报文,以便后续为其分配IP地址等信息;通过识别DHCP offer报文的来源节点是否合法,就可以判断网络中是否存在非法DHCP服务器;
[0052] 其中,可以通过控制DHCP Discover报文的广播周期来调整对于非法DHCP服务器的识别粒度;具体的广播周期可以由本领域技术人员根据经验值设置,以达到系统资源消耗和识别实时性的平衡,比如,可以采取每秒钟广播一次DHCP Discover报文,则新出现的非法DHCP服务器就可以在一秒钟之内获得识别。
[0053] 步骤S2:如果一发送所述DHCP offer报文的节点不在所述合法DHCP服务器列表中,则可以判定该节点为非法DHCP服务器,本机启动DHCP报文侦听;
[0054] 本步骤S2是基于合法DHCP服务器列表和DHCP客户端模拟,对非法DHCP服务器的识别步骤。在本步骤S2中,对于DHCP offer报文的判断过程可通过如下步骤实现:
[0055] 识别发送所述DHCP offer报文的节点源MAC地址是否为所述合法DHCP服务器列表中记录的MAC地址;是则,发送所述DHCP offer报文的节点在所述合法DHCP服务器列表中,所述节点为合法DHCP服务器;否则,发送所述DHCP offer报文的节点不在所述合法DHCP服务器列表中,则网络环境中存在非法DHCP服务器;
[0056] 较佳的,在识别出存在非法DHCP服务器之后,可以即时向LOG服务器发送非法DHCP服务器信息进行报警,或者,可以每隔预设时段将这一段时间内识别出的非法DHCP服务器信息统一发送到LOG服务器;前者更有利于网络管理员的及时处理,后者则占用更少的系统资源和带宽;
[0057] 其中,发送的非法DHCP服务器信息包括非法DHCP服务器的MAC地址和IP地址,网络管理员可以根据获得的非法DHCP服务器信息直接对非法DHCP服务器进行针对性处理,而无需翻查海量的网络日志。
[0058] 步骤S3:如果侦听到一客户端发送的、目的地址为所述节点的DHCPRequest(DHCP Request报文),则向所述客户端发送DHCP请求失败消息;
[0059] 本步骤S3是基于对非法DHCP服务器的识别来对非法DHCP服务进行干预,具体包括:
[0060] 侦听到DHCP Request类型的报文时,识别该报文中Server Identifier字段携带的IP地址;
[0061] 如果该IP地址为步骤S2检测出来的非法DHCP服务器的IP地址,则发送DHCP请求失败消息(DHCP NAK报文),从而干扰DHCP客户端与非法DHCP服务器之间的交互,使DHCP客户端无法从非法DHCP服务器处获得IP地址;
[0062] 具体来说,(1)即使非法DHCP服务器先发送了DHCP ACK报文,由于DHCP客户端会发送ARP报文询问所分配的地址是否存在冲突,需要等待一段时间;如果其在等待的这一段时间内又接收到了DHCP NAK报文,则会返回到重新申请DHCP地址的初试状态,开始新一轮的地址中请;
[0063] (2)如果DHCP客户端首先接收到DHCP NAK报文,则会直接返回到重新申请DHCP地址的初试状态,开始新一轮的地址申请;
[0064] 可以看出,步骤S3中针对特定DHCP客户端进行DHCP NAK报文的发送,能够有效避免其获得非法DHCP服务器分配的IP地址,让非法DHCP服务器失去了为客户端提供DHCP服务的能力,从而达到保护网络正常运行的目的;
[0065] 相应的,如果该IP地址不是步骤S2检测出来的非法DHCP服务器的IP地址,则其必定向合法DHCP服务器请求IP地址等信息,因此合法DHCP服务器无需执行任何操作,DHCP客户端能够获得合法的IP地址等信息。
[0066] 通过上述步骤S0~S3可以看出,采用本发明提供的使非法DHCP服务自动失效的方法,网络管理员无需核对大量日志即可实现对于非法DHCP服务器的识别和处理,简单易行,有效降低了网络管理员的工作量;
[0067] 特别是,在网络管理员人工干预之前,即可及时有效的阻止非法DHCP服务器提供DHCP服务,保证网络的连续可用性;
[0068] 正是基于对非法DHCP服务器的自动干预,即使非法DHCP服务器信息在传送到LOG服务器的过程中发生丢失,其DHCP功能也会一直被合法DHCP服务器所阻止,因此保证了网络环境的可靠性;
[0069] 同时,上述使非法DHCP服务自动失效的方法仅针对非法DHCP功能加以抑制,对于一些不小心启用DHCP服务的终端来说,是不会干预非法DHCP服务以外的其他应用的;
[0070] 此外,作为可能出现的情况之一,如果新启动的DHCP服务器尚未被网络管理员进行有效DHCP服务器的配置,那么同样会被网络中的其他合法DHCP服务器所阻止;但当管理员收到报警后,可以相应执行配置,各合法DHCP服务器上的合法DHCP服务器列表相应刷新,该新启动的DHCP服务器可以正常投入工作;
[0071] 作为可能出现的另一种情况,如果在下一次发送DHCP Discover报文发现原有的非法DHCP服务器消失,其原因可能是网络管理员进行了处置或者非法DHCP服务器被主动关闭,那么则停止DHCP侦听,直到下一次发送DHCP Discover报文发现新的非法DHCP服务器。
[0072] 进一步的,上述图2所示实施例并未局限是由某一个合法DHCP服务器来进行非法DHCP服务功能的干涉,还是由多个合法DHCP服务器同时进行。
[0073] 由多个合法DHCP服务器同时进行非法DHCP服务功能的干涉时,网络管理员仅需配置合法DHCP服务器即可,其他的工作由合法DHCP服务器自动完成,因此实现上更为简单;但是,由多个合法DHCP服务器分别进行DHCP Discover报文的广播,以及同时侦听并针对特定非法DHCP服务器发送DHCP Request报文,其失效非法DHCP服务的效果与由一个合法DHCP服务器完成上述操作相比并无不同,而且还会增加网络的资源占用和处理开销;因此,较佳的技术方案为由网络中的某一个合法DHCP服务器来进行非法DHCP服务的失效,该DHCP服务器被称为主DHCP服务器,该主DHCP服务器可以由网络管理员指定,较佳的,可以通过合法DHCP服务器之间的协商选举产生,这可以保证原有的主DHCP服务器出现故障时,可以立即产生新的主DHCP服务器来保证网络的正常运行。
[0074] 如图3所示,显示了主DHCP服务器使非法DHCP服务自动失效的方法的流程图,包括以下步骤:
[0075] (a)在网络配置的合法DHCP服务器间协商主DHCP服务器;
[0076] 其具体实现方式为:如果网络中仅存在一台DHCP服务器,则所述DHCP服务器为主DHCP服务器;如果网络中存在一台以上DHCP服务器,则通过比较DHCP服务器优先级或者比较接口IP地址大小,选择一DHCP服务器为主DHCP服务器;
[0077] (b)在协商选举出的主DHCP服务器维护合法DHCP服务器列表,记录整个网络中全部合法服务器的MAC地址和IP地址信息,或者,仅记录其他合法DHCP服务器的MAC地址和IP地址信息;上述信息可以在合法DHCP服务器交换信息选举主DHCP服务器的过程中获得;
[0078] 需要指出,如果该合法DHCP服务器列表仅记录其他合法DHCP服务器的MAC地址和IP地址信息,那么在网络环境中只存在一台DHCP服务器(主DHCP服务器)的情况下,则合法DHCP服务器列表为空,不需要维护该列表;
[0079] (c)主DHCP服务器定时广播DHCP Discover报文来模拟DHCP客户端,请求建立与网络中DHCP服务器的连接;这时会有两种情况发生:
[0080] (d)第一种情况:没有收到DHCP offer报文回应,则说明该网络中不存在非法DHCP服务器,只有一个主DHCP服务器;
[0081] (e)第二种情况:有DHCP offer报文回应,则查看该报文的源MAC是否是合法DHCP服务器列表中的MAC地址;
[0082] 是则,说明发送DHCP offer报文的节点是合法DHCP服务器;
[0083] 否则,则说明网络中有非法DHCP服务器,即时或者每隔预设时段向LOG服务器发送告警信息,告之该非法DHCP服务器的MAC地址和IP地址;
[0084] (f)以及,开始侦听DHCP报文;当侦听到DHCP Request类型的报文且该报文中Server Identifier字段的IP地址为非法DHCP服务器的IP地址时,就向DHCP Request报文的客户端发送DHCP NAK报文,使DHCP客户端与非法DHCP服务器交互失败,从而达到保护网络正常运行的目的;
[0085] 可以看出,在采用主DHCP服务器来使非法DHCP服务自动失效时,同样能够简单有效的检测出非法DHCP服务器,无需人工介入即可使非法DHCP服务器失去DHCP服务器的功能,因此即使网络中存在非法DHCP服务器,如果有DHCP客户端进行IP地址的申请,也只有合法DHCP服务器能够进行地址分配,保证网络的连续可用。
[0086] 再进一步的,为了更形象的描述本发明所提供的使非法DHCP服务自动失效的方法,通过下述具体实施例来加以示例性说明,其网络拓扑如图4所示:
[0087] 在拓扑中存在两个合法的DHCP服务器A和B;
[0088] 选举主DHCP服务器,选举的方法包括但不仅限于比较A和B的优先级或接口IP地址的大小;假设在此实施例中DHCP服务器A是主DHCP服务器;
[0089] 在选举的过程中,DHCP服务器A和DHCP服务器B通过交互报文得知彼此的MAC地址和IP地址,那么在主DHCP服务器中也就是DHCP服务器A中建立一张合法DHCP服务器列表,该表项的内容记录了其他合法DHCP服务器的IP地址和MAC地址,即记录着DHCP服务器B的IP地址和MAC地址;
[0090] 主DHCP服务器也就是DHCP服务器A间隔一段时间就发送DHCPDiscover报文,来探测网络中是否存在非法DHCP服务器;
[0091] 假设此时网络中因为某种原因存在了一台非法DHCP服务器;
[0092] 非法DHCP服务器和DHCP服务器B收到该DHCP Discover报文后,它们都会回应DHCP Offer报文;
[0093] 主DHCP服务器收到DHCP Offer报文,查看该报文的源MAC地址,由于非法DHCP服务器发送的DHCP Offer报文,其源MAC地址在合法DHCP地址列表中不存在,因此意味着网络中存在非法DHCP服务器;
[0094] 主DHCP服务器也就是DHCP服务器A把该非法DHCP服务器的MAC地址和IP地址发送到LOG日志服务器中,通知网络管理员进行处理;
[0095] 由于此时网络中存在非法DHCP服务器,假设管理员尚未处理,如果有DHCP客户端来通过DHCP服务器申请IP地址,为了使DHCP客户端不至于获得非法DHCP服务器提供的错误地址,主DHCP服务器还要采取如下措施:
[0096] 主DHCP服务器侦听网络中的DHCP报文;
[0097] 如果发现DHCP Request报文,则识别该报文中Server Identifier字段的IP地址是否为检测出来的非法DHCP服务器的IP地址;
[0098] 如果是,就向该客户端发送DHCPNAK报文,这样就会导致DHCP客户端与非法DHCP服务器交互失败,让DHCP客户端无法从伪DHCP服务器处获得IP地址;
[0099] 间隔一段时间后,主DHCP服务器重复发送DHCP Discover报文,如果还存在非法DHCP服务器,就再向LOG日志服务器发送该非法DHCP服务器的IP地址和MAC地址;如果不再存在非法DHCP服务器,则取消DHCP报文侦听。
[0100] 上面通过几个实施例对本发明提供使非法DHCP服务自动失效的方法进行了描述。同时,本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,在一DHCP服务器中维护合法DHCP服务器列表,并执行以下步骤:
[0101] 步骤S1:周期性广播DHCP Discover报文并识别接收到的DHCP回应报文;
[0102] 步骤S2:如果一发送所述DHCP回应报文的节点不在所述合法DHCP服务器列表中,则所述节点为非法DHCP服务器,启动DHCP报文侦听;
[0103] 步骤S3:如果侦听到一客户端发送的、目的地址为所述节点的DHCPRequest报文,则向所述客户端发送DHCP请求失败消息;
[0104] 所述的存储介质包括:ROM/RAM(Read Only Memory/Random-Access Memory,只读存储器/随机访问内存)、磁碟或者光盘等。
[0105] 继续。下面对本发明提供的使非法DHCP服务自动失效的装置加以描述。
[0106] 图5显示了一使非法DHCP服务自动失效的装置500的框图,其设置于DHCP服务器中,包括:
[0107] IP地址请求广播单元510,用于周期性广播DHCP Discover报文,其他的合法/非法DHCP服务器反馈DHCP Offer报文;
[0108] 合法DHCP服务器列表维护单元520,用于维护合法DHCP服务器列表;其中,合法DHCP服务器列表可以仅记录其他合法DHCP服务器的MAC地址和IP地址信息,如果网络中仅存在所述DHCP服务器,则所述合法DHCP服务器列表为空;或者,合法DHCP服务器列表记录网络中所有合法DHCP服务器的MAC地址和IP地址信息;进一步的,合法DHCP服务器列表维护单元520可以根据网络管理员的配置刷新合法DHCP服务器列表;
[0109] 接收识别单元530,与合法DHCP服务器列表维护单元520连接,用于接收并识别DHCP Offer报文,如果一发送DHCP Offer报文的节点不在合法DHCP服务器列表中,则触发DHCP报文侦听单元540;
[0110] DHCP报文侦听单元540,用于接受接收识别单元530的触发,启动DHCP报文侦听;如果侦听到一客户端发送的、目的地址为所述节点的DHCP Request报文,则触发DHCP发送单元550;
[0111] DHCP发送单元550,用于接受DHCP报文侦听单元540的触发,向所述客户端发送DHCP NAK消息,从而使DHCP客户端与该非法DHCP服务器之间的交互失败;
[0112] 上述使非法DHCP服务自动失效的装置500中各单元的工作原理请参见本发明提供的使非法DHCP服务自动失效的方法,在此不再赘述。
[0113] 上述使非法DHCP服务自动失效的装置500能够简单有效的实现对于非法DHCP服务器的识别,降低了网络管理员的工作量;同时,即使网络管理员的人为干预滞后,也能够通过对非法DHCP服务器与DHCP客户端之间交互的干扰,保护网络正常运行。
[0114] 较佳的,还可以包括非法信息上报单元560,与接收识别单元530连接,用于即时或者每隔预设时段,将接收识别单元530识别出的非法DHCP服务器信息发送到日志服务器,以便网络管理员对非法DHCP服务器加以处理;
[0115] 由于可能有新的非法DHCP服务器出现,以及,原有的非法DHCP服务器可能由于网络管理员的处理或者其他原因消失,因此,接收识别单元530当识别出原有的非法DHCP服务器不再存在时,触发关闭DHCP报文侦听单元540,直至下一次检测出新的DHCP服务器。
[0116] 进一步的,上述实施例并未限定DHCP服务器中使非法DHCP服务自动失效的装置500的使能场合,因此,如果网络中存在多台DHCP服务器且都使能了其使非法DHCP服务自动失效的装置500时,将有多台DHCP服务器同时作用于非法DHCP服务器,不但不会带来效果的更加优化,同时还会增加网络开销;
[0117] 因此,较佳的实施例是,使能某一个DHCP服务器的使非法DHCP服务自动失效的装置500;
[0118] 该DHCP服务器可以由网络管理员指定,但更佳的实施例是使非法DHCP服务自动失效的装置500可以包括主DHCP服务器协商单元570,用于与网络中配置的合法DHCP服务器协商主DHCP服务器,并在所在DHCP服务器为主服务器时,触发IP地址请求广播单元510和合法DHCP服务器列表维护单元520。
[0119] 再接下来,本发明还提供了一种设有上面任一所述的使非法DHCP服务自动失效的装置的DHCP服务器,当网络中设有这种DHCP服务器时,能够简单有效的无效非法DHCP服务器为客户端提供DHCP服务的功能,从而保护网络的正常运行。
[0120] 虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。