CN110545207B - 一种同步自动化的智能dns系统及配置方法 - Google Patents

一种同步自动化的智能dns系统及配置方法 Download PDF

Info

Publication number
CN110545207B
CN110545207B CN201910864552.XA CN201910864552A CN110545207B CN 110545207 B CN110545207 B CN 110545207B CN 201910864552 A CN201910864552 A CN 201910864552A CN 110545207 B CN110545207 B CN 110545207B
Authority
CN
China
Prior art keywords
configuration
timestamp
time
server
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910864552.XA
Other languages
English (en)
Other versions
CN110545207A (zh
Inventor
文有庆
杨川
常清雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201910864552.XA priority Critical patent/CN110545207B/zh
Publication of CN110545207A publication Critical patent/CN110545207A/zh
Application granted granted Critical
Publication of CN110545207B publication Critical patent/CN110545207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种同步自动化的智能DNS系统及配置方法
技术领域
本发明涉计算机网络领域,具体的说,是一种同步自动化的智能DNS系统及配置方法。
背景技术
在IP网络中,DNS是最关键的基础服务之一,其主要功能是将域名与IP地址作转换。通过DNS服务器的查询服务,可以找到站点或资源的入口,进而进行访问。BIND(Berkeley Internet Name Domain,伯克莱网间名域)是目前最常用的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程序实现)并连接数据库和配置同步节点,定时获取数据库中的配置文件。
接着,对每个节点上的DNS BIND服务器,容器化部署配置管理程序,程序负责最新配置文件的生成和加载,为acl,view和zone文件分别构建模板文件,程序可通过获取到的配置内容调用相应模板生成符合BIND格式的配置文件;需要生成密钥对用于配置管理程序和BIND软件的通信;
数据库监控程序定时计算所有配置的MD5值,若MD5值改变,则从数据库取出最新的配置信息(acl,view,zone),并将配置更新时间设置为当前时间,一并推送到配置同步服务器;
各个DNS服务器上的配置管理程序持续监控配置同步服务器的更新时间变量,并与本地保存的最后更新时间对比;若变量值改变,则从配置同步服务器保存配置内容的变量中获取最新的配置内容,并更新本地的配置最后更新时间;
当获取到新配置时,DNS服务器上的配置管理程序首先备份当前使用的配置,备份完成后调用相应的模板文件生成最新的acl、view和zone文件;
最后,配置管理程序使用生成的密钥对与BIND程序通信,调用BIND提供的格式检查工具检测最新生成的配置文件是否正确;若文件格式正确,删除当前所有配置,将生成的新配置移动至BIND相应的配置目录;若文件格式有误,则将当前配置回滚至备份文件;配置管理程序调用BIND提供的rndc工具控制BIND热加载新配置,返回调用结果。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

Claims (3)

1.一种同步自动化的智能DNS配置方法,其特征在于,所述方法包括如下步骤:
步骤1:每个BIND服务器上的配置接收模块向中心配置节点发起连接请求,验证密钥,若验证成功则建立长连接,配置接收模块主动监听中心配置节点的消息通道接收消息;若验证失败则断开连接;
步骤2:当中心配置节点的配置文件更新时,配置节点自动生成最新的配置文件,并将配置文件和本机服务器的当前时间戳推送至消息通道;
步骤3:配置接收模块收到配置后,校验上一次收到的时间戳与本次的时间戳,若本次时间戳与上次一致或时间比上次旧,表明配置异常,则丢弃本次接收的配置;若本次时间戳较新,计算并比较本地配置与接收配置的哈希值,若不一致则更新本地配置;
步骤4:配置模块更新配置后,控制BIND服务器进行配置热加载更新最新配置;
所有的BIND服务器地位均等,彼此之间不互相访问,每台服务器的配置文件均从中心配置节点获取;所述中心配置节点下发配置时间为自己的时间戳,配置接收 模块收到的时间戳即为该时间戳;所述中心配置节点用于存储、管理和配置以及向所有BIND服务器自动下发配置;所述配置接收模块部署在每个BIND服务器上,用于从中心配置节点拉取最新配置。
2.一种同步自动化的智能DNS系统,其特征在于,包括:
配置同步服务器:用于连接中心配置数据库所在的服务器和所有DNS节点服务器;
中心配置数据库:用于存放所有DNS服务器共同的view、acl、zone文件,通过数据库监控程序和配置同步服务器连接;
至少一个智能DNS节点:各个DNS节点与配置同步服务器保持网络连通,从中获取配置信息;
配置节点将配置文件和本机服务器的当前时间戳推送至消息通道;配置接收模块收到配置后,校验上一次收到的时间戳与本次的时间戳,若本次时间戳与上次一致或时间比上次旧,表明配置异常,则丢弃本次接收的配置;若本次时间戳较新,计算并比较本地配置与接收配置的哈希值,若不一致则更新本地配置。
3.根据权利要求2所述的同步自动化的智能DNS系统,其特征在于:所述DNS节点包括BIND服务器以及配置管理程序。
CN201910864552.XA 2019-09-12 2019-09-12 一种同步自动化的智能dns系统及配置方法 Active CN110545207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910864552.XA CN110545207B (zh) 2019-09-12 2019-09-12 一种同步自动化的智能dns系统及配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910864552.XA CN110545207B (zh) 2019-09-12 2019-09-12 一种同步自动化的智能dns系统及配置方法

Publications (2)

Publication Number Publication Date
CN110545207A CN110545207A (zh) 2019-12-06
CN110545207B true CN110545207B (zh) 2021-06-22

Family

ID=68713488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910864552.XA Active CN110545207B (zh) 2019-09-12 2019-09-12 一种同步自动化的智能dns系统及配置方法

Country Status (1)

Country Link
CN (1) CN110545207B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111030870A (zh) * 2019-12-20 2020-04-17 北京知道创宇信息技术股份有限公司 一种服务配置更新方法及装置
CN112650537B (zh) * 2020-12-30 2024-02-02 平安证券股份有限公司 服务器配置方法、装置、设备以及计算机可读存储介质
CN116647732B (zh) * 2023-07-27 2024-04-19 深圳市华曦达科技股份有限公司 一种基于智能电视盒安全的更新配置方法和装置
CN117240711B (zh) * 2023-09-15 2024-05-24 合芯科技有限公司 一种集群管理工具配置文件自动更新方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255752A (zh) * 2011-06-30 2011-11-23 北京新媒传信科技有限公司 一种服务器集群的配置管理系统和方法
CN103297459A (zh) * 2012-02-28 2013-09-11 腾讯科技(深圳)有限公司 应用配置信息的同步系统、接入服务器、客户端和方法
CN106059825A (zh) * 2016-07-08 2016-10-26 福建天晴数码有限公司 一种分布式系统及配置方法
CN109842497A (zh) * 2017-11-24 2019-06-04 贵州白山云科技股份有限公司 Dns服务器的配置更新的方法及装置、终端设备和配置更新系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243515A (zh) * 2013-06-13 2014-12-24 中兴通讯股份有限公司 一种配置信息处理方法及装置
CN105991720B (zh) * 2015-02-13 2019-06-18 阿里巴巴集团控股有限公司 配置变更方法、设备及系统
CN107040396A (zh) * 2016-02-03 2017-08-11 博雅网络游戏开发(深圳)有限公司 配置信息获取方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255752A (zh) * 2011-06-30 2011-11-23 北京新媒传信科技有限公司 一种服务器集群的配置管理系统和方法
CN103297459A (zh) * 2012-02-28 2013-09-11 腾讯科技(深圳)有限公司 应用配置信息的同步系统、接入服务器、客户端和方法
CN106059825A (zh) * 2016-07-08 2016-10-26 福建天晴数码有限公司 一种分布式系统及配置方法
CN109842497A (zh) * 2017-11-24 2019-06-04 贵州白山云科技股份有限公司 Dns服务器的配置更新的方法及装置、终端设备和配置更新系统

Also Published As

Publication number Publication date
CN110545207A (zh) 2019-12-06

Similar Documents

Publication Publication Date Title
CN110545207B (zh) 一种同步自动化的智能dns系统及配置方法
CN110138588B (zh) 配置文件自动化管理方法和系统、配置管理平台和客户端
JP4732661B2 (ja) クライアントのデータベースとサーバーのデータベースとを同期させる方法
CN111291000B (zh) 基于区块链的文件获取方法、设备及存储介质
CN107231400B (zh) 一种数据的同步方法和装置
CN110825408B (zh) 程序版本的更新方法、自助设备和版本控制服务器
CN111786893A (zh) mesh组网中无线路由器软件版本的同步方法和装置
CN111628886A (zh) 私有云环境下组建区块链网络的方法、装置、计算机设备
US20220326940A1 (en) Service Upgrade Method, Apparatus, and System
CN107016075A (zh) 集群数据同步方法及装置
CN113157812A (zh) 一种分布式多集群状态类数据的同步方法及系统
CN108509296B (zh) 一种处理设备故障的方法和系统
CN110912979B (zh) 一种解决多服务器资源同步冲突方法
CN109344202B (zh) 一种数据同步方法及管理节点
CN108933681B (zh) 一种云计算系统配置更新方法、控制中心及云计算节点
CN108108372B (zh) 一种数据冲突自动校正处理方法及装置
CN111416842B (zh) 一种资源集群自动分发及热更新系统及方法
CN115129468A (zh) 一种pdms/e3d服务器间的数据库同步方法、装置及介质
CN110750277B (zh) 一种分布式维护系统的更新方法及系统
CN111090648B (zh) 一种关系型数据库数据同步冲突解决方法
CN114661231A (zh) 电网监控主站系统参数变更记录的存储同步方法及装置
CN112667449B (zh) 一种集群管理方法及装置
CN116088913B (zh) 整车升级软件的集成设备、方法和计算机程序产品
CN109582288B (zh) 一种生产配置回流的方法、系统和存储介质
CN114442947B (zh) 跨域桶删除方法、系统、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant