一种同步自动化的智能DNS系统及配置方法技术方案

技术编号:22756705 阅读:15 留言:0更新日期:2019-12-07 04:40
本发明专利技术公开了一种同步自动化的智能DNS系统及配置方法,包括步骤1:每个BIND服务器上的配置接收模块向中心配置节点发起连接请求,验证密钥,若验证成功则建立长连接;若验证失败则断开连接;步骤2:当中心配置节点的配置文件更新时,配置节点自动生成最新的配置文件,并将配置文件和本机服务器的当前时间戳推送至消息通道;步骤3:配置接收模块收到配置后,校验上一次收到的时间戳与本次的时间戳,若本次时间戳与上次一致或时间比上次旧,表明配置异常,则丢弃本次接收的配置;若本次时间戳较新,计算并比较本地配置与接收配置的哈希值,若不一致则更新本地配置;步骤4:配置模块更新配置后,控制BIND服务器进行配置热加载更新最新配置。

A synchronous and automatic Intelligent DNS system and its configuration method

The invention discloses a synchronous and automatic Intelligent DNS system and a configuration method, including step 1: the configuration receiving module on each bind server sends a connection request to the central configuration node, verifies the key, establishes a long connection if the verification succeeds, disconnects the connection if the verification fails, step 2: when the configuration file of the central configuration node is updated, the configuration node automatically generates the latest Push the configuration file and the current time stamp of the local server to the message channel; step 3: after the configuration receiving module receives the configuration, verify the last received time stamp and the current time stamp. If the time stamp is the same as the last time or the time is older than the last time, it indicates that the configuration is abnormal, then discard the current received configuration; if the time stamp is newer, calculate and compare Compare the hash values of the local configuration and the receive configuration, if not, update the local configuration; step 4: after the configuration module updates the configuration, control the bind server to configure the hot load update the latest configuration.

【技术实现步骤摘要】
一种同步自动化的智能DNS系统及配置方法
本专利技术涉计算机网络领域,具体的说,是一种同步自动化的智能DNS系统及配置方法。
技术介绍
在IP网络中,DNS是最关键的基础服务之一,其主要功能是将域名与IP地址作转换。通过DNS服务器的查询服务,可以找到站点或资源的入口,进而进行访问。BIND(BerkeleyInternetNameDomain,伯克莱网间名域)是目前最常用的DNS服务器软件,其配置文件包括:named.conf文件:记录BIND安装路径、acl文件的存放路径、view文件的存放路径、日志的存放路径;view文件:包含多个view(区域),每个view记录了地区信息、运营商信息、域名信息的组合对应的zone文件的存放路径;zone文件:记录view对应的解析记录信息;acl文件:记录view对应的IP地址信息。这四个配置文件控制了一台bind服务器完整的DNS解析策略,若DNS集群存在配置不一致的情况,则会导致域名解析异常。现有技术中,BIND软件的配置同步多半采用配置主从服务器的方案,即将一台BIND服务器作为master,其余的作为slaver与master保持同步;现有技术配置BIND主从服务器的重点流程如下:生成密钥用于主从服务器的身份验证;修改主服务器配置,将自身角色配置为master,添加生成的密钥,在允许复制配置选项中加入从服务器的ip地址;修改从服务器配置,将自身角色配置为slaver,添加生成的密钥,并添加master服务器的ip地址;使用传统方案的配置同步流程提取重点部分如下:主服务器配置文件中增加一个序列号用于记录文件是否变更;若主服务器的配置进行了变更,将序列号的值加1,用于标识配置以及发生变更;重新加载主服务器的配置文件,主服务器主动发送notify给从服务器,告知从服务器自己重新加载了配置;从服务器验证notify的时间,若与本地时间差距超过60s,则验证失败,从服务器丢弃该notify;时间验证成功后,从服务器验证密钥,若密钥验证失败,从服务器丢弃该notify;密钥验证成功后,从服务器对比本地配置序列号与notify中的序列号,若主服务器的序列号较新,则从主服务器复制新的配置文件完成同步;同时,从服务器也会定期向主服务器查询序列号以便完成同步;根据实际操作和测试,总结上述步骤中存在的缺陷如下:修改配置文件后,需要手动增加配置文件中序列号的值,每次修改之后都需要reload主服务器,忘记修改序列号或忘记reload均会导致从服务器无法获取到最新的配置;在集群部署模式下,主从服务器的本地时间大多存在差异,这种情况下即使主服务器成功发出notify也会因时间不同步导致配置同步失败,且原因难以排查。
技术实现思路
本专利技术的目的在于提供一种同步自动化的智能DNS系统及配置方法,用于解决现有技术中修改配置文件后需要手动增加配置文件中序列号,每次修改之后都需要reload主服务器以及在集群部署模式下主服务器成功发出notify也会因时间不同步导致配置同步失败且原因难以排查的问题。本专利技术通过下述技术方案解决上述问题:一种同步自动化的智能DNS配置方法,所述方法包括如下步骤:步骤1:每个BIND服务器上的配置接收模块向中心配置节点发起连接请求,验证密钥,若验证成功则建立长连接,配置接收模块主动监听中心配置节点的消息通道接收消息;若验证失败则断开连接;步骤2:当中心配置节点的配置文件更新时,配置节点自动生成最新的配置文件,并将配置文件和本机服务器的当前时间戳推送至消息通道;步骤3:配置接收模块收到配置后,校验上一次收到的时间戳与本次的时间戳,若本次时间戳与上次一致或时间比上次旧,表明配置异常,则丢弃本次接收的配置;若本次时间戳较新,计算并比较本地配置与接收配置的哈希值,若不一致则更新本地配置;步骤4:配置模块更新配置后,控制BIND服务器进行配置热加载更新最新配置。优选地,所有的BIND服务器地位均等,彼此之间不互相访问,每台服务器的配置文件均从中心配置节点获取。优选地,所述中心配置节点下发配置时间为自己的时间戳,配置接受模块收到的时间戳即为该时间戳。优选地,所述中心配置节点用于存储、管理和配置以及向所有BIND服务器自动下发配置。优选地,所述配置接收模块部署在每个BIND服务器上,用于从中心配置节点拉取最新配置。还包括一种同步自动化的智能DNS系统,包括:配置同步服务器:用于连接中心配置数据库所在的服务器和所有DNS节点服务器;中心配置数据库:用于存放所有DNS服务器共同的view、acl、zone文件,通过数据库监控程序和配置同步服务器连接;至少一个智能DNS节点:各个DNS节点与配置同步服务器保持网络连通,从中获取配置信息。优选地,所述DNS节点包括BIND服务器以及配置管理程序。本系统以及方法引入了中心配置节点和配置接收模块,中心配置节点用于存储和管理配置以及向所有BIND服务器自动下发配置,配置的更改均在中心配置节点进行,配置接收模块部署在每个BIND服务器上,用于从中心节点拉取最新配置,这样可以解决需要每次动手修改配置序列号的问题;同时取消了同步服务器以及主服务器,有中心配置节点下发配置时下发自己的时间戳,配置接受模块保存每一次收到的时间戳并与上一次的时间戳进行比对,时间戳异常则丢弃本次的配置,能在各个节点时间不同步的情况下完成配置的校验与更新,以解决时间不同步导致的配置同步失败问题;系统中的所有BIND服务器不分主从,地位均等;彼此之间不相互访问,每台服务器的配置文件均从中心配置节点获取,简化了系统架构,很好的解决了现有技术中所存在的问题。本专利技术与现有技术相比,具有以下优点及有益效果:案简化了配置同步的整体流程,在保持数据校验的基础上解决了传统配置同步方案需要人工重启主服务器的问题和节点之间时间同步失败造成的配置同步失败问题;并且只需一次部署,之后的配置同步完全自动进行,在解决问题的同时提升了BIND服务器的智能化。附图说明图1为同步自动化的智能DNS配置方法的流程示意图;图2为本专利技术的同步自动化的智能DNS系统架构示意图。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:结合附图1和2所示,一种同步自动化的智能DNS系统及配置方法,首先部署中心配置数据库,用于存放所有DNS服务器共同的view、acl、zone文件等;可用mysql建表实现;然后部署配置同步服务器可用kafka,etcd等实现,配置同步服务器连接中心配置数据库所在的服务器(但不直接与数据库连接,通过数据库监控程序连接)和所有的DNS节点服务器;并设置两个变量分别保存最新的配置内容和配置的最后更新时间;在中心配置数据库服务器上部署监控程序(可通过python程序实现)并本文档来自技高网
...

【技术保护点】
1.一种同步自动化的智能DNS配置方法,其特征在于,所述方法包括如下步骤:/n步骤1:每个BIND服务器上的配置接收模块向中心配置节点发起连接请求,验证密钥,若验证成功则建立长连接,配置接收模块主动监听中心配置节点的消息通道接收消息;若验证失败则断开连接;/n步骤2:当中心配置节点的配置文件更新时,配置节点自动生成最新的配置文件,并将配置文件和本机服务器的当前时间戳推送至消息通道;/n步骤3:配置接收模块收到配置后,校验上一次收到的时间戳与本次的时间戳,若本次时间戳与上次一致或时间比上次旧,表明配置异常,则丢弃本次接收的配置;若本次时间戳较新,计算并比较本地配置与接收配置的哈希值,若不一致则更新本地配置;/n步骤4:配置模块更新配置后,控制BIND服务器进行配置热加载更新最新配置。/n

【技术特征摘要】
1.一种同步自动化的智能DNS配置方法,其特征在于,所述方法包括如下步骤:
步骤1:每个BIND服务器上的配置接收模块向中心配置节点发起连接请求,验证密钥,若验证成功则建立长连接,配置接收模块主动监听中心配置节点的消息通道接收消息;若验证失败则断开连接;
步骤2:当中心配置节点的配置文件更新时,配置节点自动生成最新的配置文件,并将配置文件和本机服务器的当前时间戳推送至消息通道;
步骤3:配置接收模块收到配置后,校验上一次收到的时间戳与本次的时间戳,若本次时间戳与上次一致或时间比上次旧,表明配置异常,则丢弃本次接收的配置;若本次时间戳较新,计算并比较本地配置与接收配置的哈希值,若不一致则更新本地配置;
步骤4:配置模块更新配置后,控制BIND服务器进行配置热加载更新最新配置。


2.根据权利要求1所述的同步自动化的智能DNS配置方法,其特征在于,所有的BIND服务器地位均等,彼此之间不互相访问,每台服务器的配置文件均从中心配置节点获取。


3.根据权利要求1所述的同步自动化的智能DN...

【专利技术属性】
技术研发人员:文有庆杨川常清雪
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1