一种实现DNS动态IP服务的方法及装置与流程

文档序号:16149720发布日期:2018-12-05 17:19阅读:318来源:国知局

本发明涉及互联网技术领域,尤其涉及一种实现动态域名系统(domainnamesystem,dns)动态ip服务的方法及装置。

背景技术

当前互联网架构,dns系统是重要的一环也是最薄弱的一环,dns系统也成为网络攻击集中发生的环节。

现有技术中存在以下缺点:

一,目前dns系统使用静态ip服务,除非dns服务器出现故障需要更换,一般不会整体更换服务ip,静态模式下黑客很容易收集全dns服务器的全部ip地址,攻击门槛很低。

二,目前dns系统在服务器被攻击后,攻击消除后基本不会更换服务器ip,有被攻击历史的服务器ip如果继续提供服务,很容易发生二次攻击,降低整体dns系统的健壮性。

三,当前dns服务器一般采用单ip进行服务,被攻击时、被攻击后想要更换ip效率低,人工成本高。



技术实现要素:

为了解决上述技术问题,本发明提供了一种实现动态dns服务ip的方法及装置。

本发明提供了一种实现dns动态ip服务的方法,包括:

监控dns设备的运行状态,根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数;根据dns设备的可用时长参数和不可用时长参数更新dns配置文件,加载更新后的dns配置文件并根据新的dns配置文件提供dns解析服务。

上述实现dns动态ip服务的方法还具有以下特点:

根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数包括以下方式中的至少一种:

在dns设备的运行状态为正常状态时,根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数;

在dns设备的运行状态为故障状态时,设置dns设备的不可用时长参数的值为表示故障状态的值,在dns设备的运行状态从故障状态转为正常状态,设置dns设备的不可用时长参数的值为不可用周期值;

在dns设备的运行状态为被攻击状态时,设置dns设备的不可用时长参数的值为表示下架状态的值。

上述实现dns动态ip服务的方法还具有以下特点:

在dns设备的运行状态为正常状态时,根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数包括:

以预设运算周期更新dns设备的可用时长参数和不可用时长参数,

当dns设备的可用时长参数大于0时,将旧的可用时长参数与所述预设运算周期的差值作为新的可用时长参数,当新的可用时长参数小于或等于0时,将可用时长参数置为0,将不可用时长参数设置为不可用周期;

当dns设备的可用时长参数等于0时,将旧的不可用参数与所述预设运算周期的差值作为新的不可用参数,当新的不可用参数小于或等于0时,将不可用时长参数置为0,将可用时长参数设置为可用周期。

上述实现dns动态ip服务的方法还具有以下特点:

根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数包括:根据dns设备的运行状态更新dns设备状态表,所述dns设备状态表包括dns设备的可用时长参数和不可用时长参数;

根据dns设备的可用时长参数和不可用时长参数更新dns配置文件包括:根据dns设备初始列表和所述dns设备状态表更新dns配置文件。

上述实现dns动态ip服务的方法还具有以下特点:

根据dns设备初始列表和所述dns设备状态表更新dns配置文件包括:结合dns设备初始列表和dns设备状态表,计算出ns名称、可服务网络区域、可服务ip列表的映射关系,可服务ip列表为存在于dns设备初始列表中并且不可用时长参数的值不为表示下架状态的值和表示故障状态的值且大于0的dns设备ip,根据可用时长参数由大到小进行排序形成更新后的dns配置文件。

上述实现dns动态ip服务的方法还具有以下特点:

所述方法还包括:dns设备的不可用时长参数的值为表示下架状态的值时,执行此dns设备的ip的下架任务,此dns设备的ip的下架任务包括:判断此ip是此dns设备的唯一ip时,执行此ip下架并为此ip重新分配配置路由,判断此ip不是此dns设备的唯一ip时,使用此dns设备的备份ip替换此ip。

本发明还提供了一种实现dns动态ip服务的装置,包括:监控模块、动态运算模块,dns模块;

所述监控模块用于监控dns设备的运行状态;

所述动态运算模块用于根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数;根据dns设备的可用时长参数和不可用时长参数更新dns配置文件;

dns模块用于加载更新后的dns配置文件并根据新的dns配置文件提供dns解析服务。

上述实现dns动态ip服务的装置还具有以下特点:

所述动态运算模块还用于根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数包括以下方式中的至少一种:

在dns设备的运行状态为正常状态时,根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数;

在dns设备的运行状态为故障状态时,设置dns设备的不可用时长参数的值为表示故障状态的值,在dns设备的运行状态从故障状态转为正常状态,设置dns设备的不可用时长参数的值为不可用周期值;

在dns设备的运行状态为被攻击状态时,设置dns设备的不可用时长参数的值为表示下架状态的值。

上述实现dns动态ip服务的装置还具有以下特点:

所述动态运算模块还用于在在dns设备的运行状态为正常状态时,使用以下方式根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数:

以预设运算周期更新dns设备的可用时长参数和不可用时长参数,

当dns设备的可用时长参数大于0时,将旧的可用时长参数与所述预设运算周期的差值作为新的可用时长参数,当新的可用时长参数小于或等于0时,将可用时长参数置为0,将不可用时长参数设置为不可用周期;

当dns设备的可用时长参数等于0时,将旧的不可用参数与所述预设运算周期的差值作为新的不可用参数,当新的不可用参数小于或等于0时,将不可用时长参数置为0,将可用时长参数设置为可用周期。

上述实现dns动态ip服务的装置还具有以下特点:

所述装置还包括配置管理模块;所述动态运算模块还包括dns设备状态表维护单元和dns配置文件维护单元;

所述配置管理模块用于将dns设备初始列表发送至所述动态运算模块;

dns设备状态表维护单元用于使用以下方法根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数:根据dns设备的运行状态更新dns设备状态表,所述dns设备状态表包括dns设备的可用时长参数和不可用时长参数;

dns配置文件维护单元用于使用以下方法根据dns设备的可用时长参数和不可用时长参数更新dns配置文件:根据dns设备初始列表和所述dns设备状态表更新dns配置文件。

上述实现dns动态ip服务的装置还具有以下特点:

dns配置文件维护单元还用于根据dns设备初始列表和所述dns设备状态表更新dns配置文件:结合dns设备初始列表和dns设备状态表,计算出ns名称、可服务网络区域、可服务ip列表的映射关系,可服务ip列表为存在于dns设备初始列表中且不可用时长参数的值不为表示下架状态的值和表示故障状态的值且大于0的dns设备ip,根据可用时长参数由大到小进行排序形成更新后的dns配置文件。

上述实现dns动态ip服务的装置还具有以下特点:

所述装置还包括ip下架模块;

所述动态运算模块还用于dns设备的不可用时长参数的值为表示下架状态的值时,向所述ip下架模块发送执行此dns设备的ip的下架任务;

所述ip下架模块用于在收到dns设备的ip的下架任务,执行ip的下架任务,包括:判断此ip是此dns设备的唯一ip时,执行此ip下架并为此ip重新分配配置路由,判断此ip不是此dns设备的唯一ip时,使用此dns设备的备份ip替换此ip。

本发明中定期更换dns服务ip、动态更新dns配置文件,使dns系统实现动态化,提高系统的健壮性;还实现被攻击dnsip自动下架功能,保障整体dns系统的稳定运营;绑定多ip服务,提高dnsip下架的效率,降低人工成本。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中实现动态ip服务的方法的流程图;

图2是实施例中实现动态ip服务的装置的结构图。

图3是实施例中实现动态ip服务的装置的另一结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是实现动态ip服务的方法的流程图;实现动态dns服务ip的方法包括:

步骤101,监控dns设备的运行状态;

步骤102,根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数;根据dns设备的可用时长参数和不可用时长参数更新dns配置文件;

步骤103,加载更新后的dns配置文件并根据新的dns配置文件提供dns解析服务。

其中,

步骤101中的dns设备的运行状态包括以下三种:正常状态、故障状态、被攻击状态。

步骤101中,可以在系统初始化后自动执行监控dns设备的运行状态的任务,也可以是收到监控任务指示后再开始执行监控dns设备的运行状态的任务。监控的任务包括可用性监控任务(用于监控dns设备处理正常状态还是故障状态)和攻击监控任务(用于监控dns设备是否处于被攻击状态)。

本方法中,dns设备的可用时长参数和不可用时长参数设置为动态运算参数的一部分,或者,还将dns设备的相关参数设置为动态运算参数的一部分。

典型的动态运算参数包括:

预设运算周期:人工指定计算一次dns配置文件的周期,例如6小时。

服务域列表:dns系统可服务的域列表。

区域ns个数:dns系统的ns个数。

区域ns记录的a记录个数。

可用周期:例如1小时。

不可用周期,例如2小时。

本方法中可以在系统启动时获取动态运算参数,在系统运行中自动或手动更新动态运算参数。或者在系统初始化时加载固定的动态运算参数。

可用周期是指dns设备ip可连续在线上服务的时长,线上服务是指在dns配置文件的ns记录的a记录里的时间,可用时长参数的值为[0可用周期]。不可用周期指dns设备ip不能在线上服务的时长,可用时长参数的值为[0不可用周期]、或者表示故障状态的值(例如-1)、表示下架状态的值(例如-2)。当可用时长参数的值减为0时,dns设备ip进入不可用周期,不能提供线上服务;生命期大于0时,可用时长参数为剩余可以线上服务的时间。当不可用时长参数的值减为0时,设备进入可线上服务状态,可用时长参数的值为可用周期。当不可用时长参数的值为表示故障状态的值(例如-1)时,设备进入维修期,此时dns服务器不论可用时长参数和不可用时长参数的值为多少,都不会被应用到线上服务。当不可用时长参数的值为-2时,设备进入攻击黑名单,此时dns服务器不论可用时长参数的值生命期和不可用时长参数的值为多少,都不会被应用到线上服务。当不可用时长参数的值大于0时,不可用时长参数的值为剩余不可作为线上服务的时长。

步骤102中,根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数包括以下方式中的至少一种:

方式一,在dns设备的运行状态为正常状态时,根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数;

方式二,在dns设备的运行状态为故障状态时,设置dns设备的不可用时长参数的值为表示故障状态的值(例如-1),在dns设备的运行状态从故障状态转为正常状态,设置dns设备的不可用时长参数的值为不可用周期值。

方式三,在dns设备的运行状态为被攻击状态时,设置dns设备的不可用时长参数的值为表示下架状态的值(例如-2)。

dns设备的运行状态为正常状态时,可用时长参数的值为0至可用周期值,不可用时长参数的值为0至不可用周期值。可用周期值和不可用周期值是预先设置的固定值,此值也可以根据系统运行需要进行人工手动修改。

为实现步骤102,本方法中通过维护dns设备状态表的方式实现。dns设备状态表包括dns设备的ip列表以及各dns设备的可用时长参数和不可用时长参数。dns设备状态表中还可以包括服务服务域列表(即dns系统可服务的域列表)、区域ns个数(dns系统的ns个数)、区域ns记录的a记录个数。具体的,根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数包括:根据dns设备的运行状态更新dns设备状态表中的dns设备的可用时长参数和不可用时长参数。

本方法中在根据dns设备的可用时长参数和不可用时长参数更新dns配置文件时根据dns设备初始列表和dns设备状态表更新dns配置文件。其中,dns设备初始列表是系统初始化时设置的dns设备初始列表,包括所有可以作为dns设备使用的设备信息,此dns设备初始列表的内容可通过人工手动设置。

例如:

dns设备初始列表包括ns名称、可服务网络区域、ip地址

例如:dns设备列表包括两个dns设备的信息时,包括:

ns1北京联通/上海联通1.1.1.1

ns2北京电信/上海电信2.2.2.2

设置dns设备初始列表时,为每个dns设备配置1个服务ip和2个备份ip,备份ip为服务ip同网段或者不同网段的ip,dns设备初始列表中ip为服务ip,在服务ip失效时,更新dns设备初始列表,使用dns设备的备份ip替换服务ip。此多ip备份的方式可以提高ip下架的概率,降低人工维护成本。

在方式一中,dns设备的运行状态为正常状态时,根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数包括:以预设运算周期更新dns设备状态表中dns设备的可用时长参数和不可用时长参数。当dns设备的可用时长参数大于0时,将旧的可用时长参数与所述预设运算周期的差值作为新的可用时长参数,当新的可用时长参数小于或等于0时,将可用时长参数置为0,将不可用时长参数设置为不可用周期。当dns设备的可用时长参数等于0时,将旧的不可用参数与所述预设运算周期的差值作为新的不可用参数,当新的不可用参数小于或等于0时,将不可用时长参数置为0,将可用时长参数设置为可用周期。

在方式二中,判断dns设备的运行状态为故障状态,修改dns设备状态表中相应dns设备的dns设备ip的配置,将不可用时长参数设置为-1,判断dns设备的运行状态为正常状态并且dns设备状态表中相应dns设备的不可用时长参数设置为-1时,即判断dns设备的运行状态从故障状态转为正常状态时,修改dns设备状态表中相应dns设备的dns设备ip的配置,将不可用时长参数设置为不可用周期,将可用时长参数保持不变。

在方式三中,判断dns设备的运行状态为被攻击状态,修改dns设备状态表中相应dns设备的dns设备ip的配置,将不可用时长参数设置为-2,此ip不能被加入到dns配置文件的ns记录的a记录中,作为线上服务ip。

在上述方式二和方式三,当dns设备的不可用时长参数的值为-1或-2时,在dns设备状态表中相应dns设备的ip不进行运算。

根据dns设备初始列表和dns设备状态表更新dns配置文件具体包括:

一,收到dns设备初始列表后,将dns设备初始列表中存在但dns设备状态表中不存的ip新增加到dns设备状态表中,将此ip的可用时长参数设置为可用周期,将此ip的不可用时长参数设置为0。

二,在需要进行dns配置文件更新时,结合dns设备初始列表和dns设备状态表,计算出ns名称、可服务网络区域、可服务ip列表的映射关系,可服务ip列表为存在于dns设备初始列表中并且不可用时长参数的值不为表示下架状态的值和表示故障状态的值且大于0的dns设备ip,根据可用时长参数由大到小进行排序形成更新后的dns配置文件。

步骤103中还包括:更新dns配置文件后判断dns配置文件是否产生更新,如果产生更新将更新后dns配置文件下发至dns设备,由dns设备加载,如果未产生更新则不下发dns配置文件。判断dns配置文件是否产生更新方法为计算dns配置文件的md5值,如果dns配置文件的md5值发生变化表示dns配置文件产生更新。

本方法中还包括:dns设备的不可用时长参数的值为表示下架状态的值时,执行此dns设备的ip的下架任务,此dns设备的ip的下架任务包括:判断此ip是此dns设备的唯一ip时,执行此ip下架并为此ip重新分配配置路由,指向流量清晰节点,可以继续做防攻击分析,判断此ip不是此dns设备的唯一ip时,使用此dns设备的备份ip替换此ip。即本方法中,如果探测到dns设备被攻击后,根据被攻击的设备容易被连续攻击的规律,直接使被攻击的ip永远不会再被线上使用,有效防止二次攻击。

图2是实现动态ip服务的装置的结构图。此实现dns动态ip服务的装置包括:监控模块、动态运算模块,dns模块。

监控模块用于监控dns设备的运行状态;

动态运算模块用于根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数;根据dns设备的可用时长参数和不可用时长参数更新dns配置文件;

dns模块用于加载更新后的dns配置文件并根据新的dns配置文件提供dns解析服务。

其中,

动态运算模块还用于根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数包括以下方式中的至少一种:

在dns设备的运行状态为正常状态时,根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数;

在dns设备的运行状态为故障状态时,设置dns设备的不可用时长参数的值为表示故障状态的值,在dns设备的运行状态从故障状态转为正常状态,设置dns设备的不可用时长参数的值为不可用周期值;

在dns设备的运行状态为被攻击状态时,设置dns设备的不可用时长参数的值为表示下架状态的值。

动态运算模块还用于在在dns设备的运行状态为正常状态时,使用以下方式根据dns设备的正常运行时长更新dns设备的可用时长参数和不可用时长参数:

以预设运算周期更新dns设备的可用时长参数和不可用时长参数,

当dns设备的可用时长参数大于0时,将旧的可用时长参数与所述预设运算周期的差值作为新的可用时长参数,当新的可用时长参数小于或等于0时,将可用时长参数置为0,将不可用时长参数设置为不可用周期;

当dns设备的可用时长参数等于0时,将旧的不可用参数与所述预设运算周期的差值作为新的不可用参数,当新的不可用参数小于或等于0时,将不可用时长参数置为0,将可用时长参数设置为可用周期。

如图3所示,实现动态ip服务器的装置除了包括上述模块还包括配置管理模块和ip下架模块。

配置管理模块用于将dns设备初始列表发送至所述动态运算模块;动态运算模块还包括dns设备状态表维护单元和dns配置文件维护单元。

dns设备状态表维护单元用于使用以下方法根据dns设备的运行状态设置dns设备的可用时长参数和不可用时长参数:根据dns设备的运行状态更新dns设备状态表,所述dns设备状态表包括dns设备的可用时长参数和不可用时长参数。

dns配置文件维护单元用于使用以下方法根据dns设备的可用时长参数和不可用时长参数更新dns配置文件:根据dns设备初始列表和所述dns设备状态表更新dns配置文件。

dns配置文件维护单元还用于根据dns设备初始列表和所述dns设备状态表更新dns配置文件:结合dns设备初始列表和dns设备状态表,计算出ns名称、可服务网络区域、可服务ip列表的映射关系,可服务ip列表为存在于dns设备初始列表中并且不可用时长参数的值不为表示下架状态的值和表示故障状态的值且大于0的dns设备ip,根据可用时长参数由大到小进行排序形成更新后的dns配置文件。

动态运算模块还用于dns设备的不可用时长参数的值为表示下架状态的值时,向所述ip下架模块发送执行此dns设备的ip的下架任务。ip下架模块,用于在收到dns设备的ip的下架任务,执行ip的下架任务,包括:判断此ip是此dns设备的唯一ip时,执行此ip下架并为此ip重新分配配置路由,判断此ip不是此dns设备的唯一ip时,使用此dns设备的备份ip替换此ip。

本发明中定期更换dns服务ip、动态更新dns配置文件,使dns系统实现动态化,提高系统的健壮性;还实现被攻击dnsip自动下架功能,保障整体dns系统的稳定运营;绑定多ip服务,提高dnsip下架的效率,降低人工成本。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1