两种方法实现DNS主从服务器数据同步_第1页
两种方法实现DNS主从服务器数据同步_第2页
两种方法实现DNS主从服务器数据同步_第3页
两种方法实现DNS主从服务器数据同步_第4页
两种方法实现DNS主从服务器数据同步_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

两种方法实现DNS主从服务器数据同步为了保证更好地进行域名解析服务,一般在网络中设置主、从两台DNS服务器。由于当前各ISP间的桥接存在带宽瓶颈,为了使不同ISP的用户快速访问高校内部网站,很多学校在配置域名服务器时都采用了BIND9的VIEW功能。其实现原理如下:对于发出域名解析请求的不同源IP地址,针对同一域名解析到不同的目的IP地址,即用户通过最短路径到达欲访问的网站。举例来说,对于校内同一台服务器,教育网用户发出的访问请求解析到的域名IP地址是位于教育网上的服务器地址,网通用户解析到的域名IP地址是网通上的服务器地址,这样使用户能够访问到最快的服务器。主域名服务器使用的VIEW分界,按照不同查询来源地址来回应不同的答案,这对于一般的查询工作是非常高效的。但是当从服务器进行SOA查询或者做Transfer时,如果主服务器看到客户端请求,只能回应该客户端所在的VIEW,而不能顺利完成其他VIEW的同步。保证主从域名服务器的数据同步,就是为域名服务正常工作提供保障。因此,如何保证域名系统的主从服务器的数据同步性,就显得极为重要。本文分别利用BIND9的TRANSFER-SOURCE功能和TSIGKEY功能,阐述了这一问题的两种不同的解决方案。触发同步的过程首先介绍主从服务器的同步过程。触发同步过程的原因有4种:1.从域名服务器刚刚启动;2.主域名服务器的Serial值增大;3.执行了rndcreload命令;4.到了主从服务器的同步更新时间。主从域名服务器开始同步(见图1):主服务器向从服务器发送notify消息从服务器收到主服务器发送notify消息,向主服务器返回一个notifyresponse消息。从服务器向主服务器发送SOAquery消息。主服务器向从服务器返回SOAresponse消息。从服务器收到SOAresponse消息后,比对自身的Serial值,如果发现主服务器的Serial值大于自身的Serial值,那么就发送Zonetransferrequest消息。主服务器返回Zonetransferresponse消息。主服务器执行Zonetransfer。两种主从服务器的数据同步法根据主从服务器的同步步骤,要解决域名服务器的同步问题,主要问题是如何标识主服务器的notify消息,即notify消息隶属于哪个VIEW、从服务器如何识别notify消息。同样,notifyresponse消息、SOAquery、SOAresponse消息、Zonetransferrequest消息、Zonetransferresponse消息、Zonetransfer的数据也存在类似的问题。Bind9提供了两种标识此类信息的方法:1.利用TRANSFER-SOURCE功能,从服务器需要设置和VIEW一一对应的IP地址;2.利用TSIGKEY功能对消息进行加密。利用TRANSFER-SOURCE功能环境假定:授权domain是;主DNS的IP地址是6(DNS包含Internet和Cernet两个VIEW);从DNS的IP地址是7(对应CernetView)和8(对应InternetView)。对主DNS的配置include"/etc/cernet.cfg”;//指定教育网地址文件,可以根据自己的配置来进行灵活配置。view“cernet”(//定义了一个Cernetviewmatch-clients{!8;cernet;};//cernet是cernet.cfg定义的教育网ACLzone"."IN{typehint;file"named.root";};zone“”(typemaster;file“cernet.zone”;allow-transfer{7;};//使用7作Cernetzonetransfer};};view"internet"{match-clients{!7;any;};recursionno;zone"."IN{typehint;file"named.root";};zone""IN{typemaster;file"internet.zone";allow-transfer{8;};//使用8作Internetzonetransfer};};对从服务器的配置include"/etc/cernet.cfg”;//指定教育网地址文件,可以根据自己的配置来进行灵活配置。view“cernet”(match-clients{cernet;};//cernet是cernet.cfg定义的教育网ACLzone"."IN{typehint;file"named.root";};zone“”(typeslave;file“slave.cernet.zone”;masters{6;};allow-source{7;};//和主DNS配置对应};};view"internet"{match-clients{any;};recursionno;zone"."IN{typehint;file"named.root";};zone""IN{typeslave;file"ernet.zone";masters{6;};allow-source{8;};//和主DNS配置对应};};配置分析在主服务器端配置VIEW中的match-client和allow-transfer标示信息,在从服务器端配置VIEW中的masters和allow-source标识信息,这样做可以解决主从服务器同步问题。利用TSIGKEY功能环境假定:授权域domain是;主DNS的IP地址是6(DNS包含Internet和Cernet两个VIEW);从DNS的IP地址是7。对主服务器的配置include"/etc/cernet.cfg”;//指定教育网地址文件,可以根据自己的配置来进行灵活配置。view“cernet”(//定义了一个Cernetviewmatch-clients{keycernetkey;cernet;};//范围是匹配这些用cernetkey加密的以及cernet地址(?)allow-transfer{keycernetkey;};〃只允许用cernetkey加密过的zonetransfer请求server7{keyscernetkey;};//向从服务器发送消息时,用cernetkey加zone"."IN{typehint;file"named.root";};zone“”(typemaster;file“cernet.zone”;};};view"internet"{match-clients{keyinternetkey;any;};recursionno;allow-transfer{keyinternetkey;};//只允许用internetkey加密过的zonetransfer请求server7{keysinternetkey;};//向从服务器发送消息时,用internetkey加密zone"."IN{typehint;file"named.root";};zone""IN{typemaster;file"internet.zone";};};对从服务器的配置include"/etc/cernet.cfg”;//指定教育网地址文件,可以根据自己的配置来进行灵活配置。view“cernet”(//定义了一个Cernetviewmatch-clients{keycernetkey;cernet;};//范围是匹配这些用cernetkey加密的,以及cernet地址allow-transfer{none};//禁止任何zonetransfer请求server6{keyscernetkey;};//向主服务器发送消息时,用cernetkey加密zone"."IN{typehint;file"named.root";};zone“”(typeslave;masters{6;};file“cernet.zone”;};};view"internet"{match-clients{keyinternetkey;any;};recursionno;allow-transfer{none};//禁止任何zonetransfer请求server6{keysinternetkey;};//向主服务器发送消息时,用internetkey加密zone”.”IN{typehint;file"named.root";};zone""IN{typeslave;masters{6;};file"internet.zone";};};使用dnssec-keygen命令生成TSIGkey。具体命令如下:/usr/sbin/dnssec-keygen-aalg-bbits[-ntype][options]name配置分析使用TSIG对主从DNS配置,VIEW和KEY一一对应,从而解决了主从服务器间的消息标示问题。两方法的优缺点两种方法比较而言,使用TRANSFER-SOURCE功能,需要多设置几个IP地址,配置相对简单,原理容易理解,但是造成一定的IP地址浪费。使用TSIGKEY方法,要准备KEY文件,并且KEY文件和VIEW要一一对应,做起来比较繁琐。配置技巧配置过程中的技巧及常见问题:在配置文件中使用include语句,增加文件的可读性。像各种ACL,KEY文件都可以使用include语句,在很大程度上减小了主配置文件的大小。例:include”/etc/cernet.cfg”;开始配置服务器时,关掉Linux的SElinux功能,因为SElinux功能会带来意想不到的麻烦。遇到问题时,多使用tail-f/var/log/messages查看日志。BIND工作不正常时,如果发现日志中有permissiondenied的字样,可以把所有的配置文件权限改大,规避问题。使用rndc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论