企业内部轻量级DNS首选方案: dnspod-sr

1.4 解析过程

上图是一次典型的域名解析过程,如果dnspod-sr已经在本地缓存了解析结果,则会直接返回解析结果,如果没有缓存结果,则会从根开始逐级递归进行解析,递归解析过程可以参考dig +trace <domain>的解析结果,当然如果中间某一级的结果已经在本地缓存中存在,则会直接从该级进行递归解析。

在典型的解析过程之外,尚存在一些其他一些非典型操作,如在第一个quizzer线程中,每次循环都会检查用于自动刷新的记录的TTL时间,,如果TTL剩余时间小于3秒,就该将记录添加到quizzer列表中,在下次解析时进行刷新。但是目前自动刷新功能尚存在问题,暂时关闭了所有解析记录的自动刷新功能,只对root.z文件中的记录进行刷新。

1.5 尚存在的问题

目前dnspod-sr尚在修改维护中,还存在一些如下问题,将会在之后的版本更新中进行解决,如:

二、dnspod-sr 快速开始

2.1 dnspod-sr 安装

下载源码(推荐):

#gitclonehttps://github.com/DNSPod/dnspod-sr.git#cddnspod-sr

或者下载压缩包:

#wgethttps://github.com/DNSPod/dnspod-sr/zipball/master

编译源码:

#cddnspod-sr/src#make#不需要makeinstall步骤,安装过程很快速

运行

#pwd:dnspod-sr/src./dnspod-sr

备注:切记一定要在相对路径下执行

程序报了一个异常:set affinity fetcher failed, may be the cpu cores num less than (FETCHER_NUM + QUIZZER_NUM + 1)

setaffinityquizzerfailed,maybethecpucoresnumlessthan(FETCHER_NUM+QUIZZER_NUM+1)[DBG:]dnspod-srissuccessfulrunningnow!![DBG:]max_ele_sizeis1000000-1808[DBG:]servermaycontain332730usefulrecords[DBG:]hash_table_sizeis65536[DBG:]wehave10hashtables[DBG:]wehave2fetchers,2quizzersfor(i=0;i<QUIZZER_NUM;i++){CPU_ZERO(&cpuinfo);CPU_SET_S(i+FETCHER_NUM+1,sizeof(cpuinfo),&cpuinfo);if(0!=pthread_setaffinity_np(apt[i],sizeof(cpu_set_t),&cpuinfo)){printf(“setaffinityquizzerfailed,maybethecpucoresnumlessthan(FETCHER_NUM+QUIZZER_NUM+1)\n”);//exit(0);}}enum{FETCHER_NUM=2,SERVER_PORT=53,};

然后重新,编译一次

#makeclean#make

2.2 dnspod-sr 配置

一、如果你仅仅需要一个dns转发器(DNS缓存服务器),那么什么都不需要配置,直接可以使用。

[root@skype~]#dig@127.0.0.1;<<>>DiG9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.2<<>>@127.0.0.1;;globaloptions:+cmd;;Gotanswer:;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:34337;;flags:qrra;QUERY:1,ANSWER:3,AUTHORITY:0,ADDITIONAL:0;;QUESTIONSECTION:;INA;;ANSWERSECTION:689INCNAMEwww.a.shifen.com.320INA61.135.169.121320INA61.135.169.125;;Querytime:781msec;;SERVER:127.0.0.1#53(127.0.0.1);;WHEN:SunApr1900:33:352015;;MSGSIZErcvd:90

##安装1、下载bind-9.x.x#wget?version=tar.gz不知道为什么,这个文件下载完成后的名字是这个,index.html\?version\=tar.gz,改个名字,然后解压。2、解压#mvindex.html\?version\=tar.gzbind-9-8-7.tar.gz#tarxfbind-9-8-7.tar.gz切换到contrib目录,bind自带的第三方软件全在这个目录里面,我们要用到的queryperf也在里面。3、安装切换到:bind-9.8.7/contrib/queryperf#./configure&&make4、生成queryperf可执行文件#cpqueryperf/usr/bin/

#vimlist.txtxx1.dev.netAxx2.dev.netAxx3.dev.netA…………..xxn.baidu.comA有希望在的地方,痛苦也成欢乐

企业内部轻量级DNS首选方案: dnspod-sr

相关文章:

你感兴趣的文章:

标签云: