登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

djbdns安装使用方法  

2009-01-06 04:11:45|  分类: DNS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

 

   djbdns是用来代替bind的很好的software。
    是一個由Qmail 的作者所设计的一个轻量级DNS server,我们使用它提供的dnscache服务作为本地邮件发送的DNS查询缓存,用于加快邮件的转发速度。
  我今天在FreeBSD上安装了一下,觉得它的确是很好用,我只能这么说。我只用来解析了一下别的域名。
  以下是我安装djbdns的一个过程:
  
一:.安装daemontools(in FreeBSD):
    %whereis daemontools
    %cd /usr/ports/sysutils/daemontools
    #make install clean
   这时会弹出个对话框让你选择。在这里你不要选择MAN,因为如果选上了会在下载MAN的时候找不着,会一直停住。我就这样,最后我只能通过源码安装。安装如下:
  #mkdir -p /package
   #chmod 755 /package
   #cd /package                //以上三部是新建一个目录来放daemontool
   #wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz   //下载daemontool源码
   #tar xzvf daemontools-0.76.tar.gz     //解压
   #cd admin/daemontools-0.76
   #package/install              //安装
   安装完后它会自动创建一个/service目录
二:2.1安装djbdns
  %cd djbdns
   %cd /usr/ports/dns/djbdns
   #make install clean

2.2. 设置dnscache:

 2.2.1 新建两个帐号,一个给dnscache使用,而另一个记录日志信息
  #adduser -s /bin/false dnscache
    #adduser -s /bin/false dnslog

 2.2.2 决定将dnscache放到哪个接口上。如果只想服务你主机本身的话就选127.0.0.1(这是dnscache默认使用的地址),
    若要服务内部网络的话则选择与内部网络相连的IP地址(如192.168.1.100)

 2.2.3 选择一个存放dnscache服务文件的目录,如/etc/dnscache(这不用你创建,有稍后的执行命令中会自动创建)。
 
 2.2.4 执行指令:
    #dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1       //只供个人使用的IP
  or
    #dnacache-conf dnscache dnslog /etc/dnscache 192.168.1.100  //供内部网络使用的IP
  前两个参数是先前创建的系统帐号,第三个参数是服务目录,最后一个参数是dnscache所要绑定接口的IP,该地址的UDP port 53会被dnscache占用。
 
 2.2.5 修改ICANN服务器(*.root-servers.net)的地址列表。列表文件位于/etc/dnscache/root/servers/@里面(这是你选择的服务目录是/etc/dnscache)该文件的每行代表一个根服务器地址。你可直接到http://www.internic.net/zone/named.root取得最新地址列表。然后动手修改/etc /dnscache/root/servers/@文件。还有一个更好的办法就是用djbdns的工具:
#dnsip `dnsqr ns . | awk '/answer:/ {print $5 ;}'`| sort > /etc/dnacache/root/servers/@
这样就会有好几个ip 在你的/etc/dnscache/root/servers/@里面了

 2.2.6 让daemontools 开始管理新的server
       #ln -s /etc/dnscache /service

 2.2.7 如果服务内部网络,那还得让内网能访问高速缓存数据库:
     #touch /etc/dnscache/root/ip/192.168.1.100
       如果你只用来服务本身主机的话就不用这一步了。

 2.2.8 编辑/etc/resolv.conf,将第一个nameserver 指向dnscache所在的地址,使resolver使用新的dnscacheserver,
     当你的服务范围是你本身主机的话,那就:nameserver    127.0.0.1
     如果是内部网络的话:nameserver    192.168.1.100

 2.2.9 默认djbdns使用1MB的内存作为它的cache,你可以调整为100MB:
     echo 100000000 > /service/dnscache/env/CACHESIZE
     echo 104857600 > /service/dnscache/env/DATALIMIT
     svc -t /service/dnscache    #重启dnscache

 2.2.10 到这里就算是完成了,你可利用djbdns 的 dnsqr, dnsip, dnsname等工具查询,不过避免使用nslookup测试以,因为在这种情况下会产生一些无法预料的事情会发生 


三: 接下来就是架设区域授权服务器,那就得设定tinydns。安装的步骤如下:
3.1. 创建一个新的用户: tinydns
  #adduser -s /bin/false tinydns

3.2. 为tinydns选取服务目录和公有IP,注意,dnscache和tinydns必须分不同IP,否则它们会抢占同一个UDP port 53.
  #tinydns-conf tinydns dnslog /etc/tinydns 公有IP
  这个指令跟上面设置dnscache的目的其实是一样的。

3.3. 创建符号链接,使svscan自动启动tinydns服务
 #ln -s /etc/tinydns /service

四:. 在这里算是完成啦。不过还得借助tinydns的辅助工具来进行设定:

  4.1. 成为root并切换到/etc/finydns目录下:
   #cd /service/tinydns/root

  4.2. 指定区域的主授权服务器(NS记录)
   #./add-ns  M-gtuiw.com   192.168.1.1

  4.3. 指定区域次授权服务器(NS记录)
   #./add-childns  M-gtuiw.com  192.168.2.1

  4.4. 设定主机名称与IP addr 的对应关系(A记录)
   #./add-host  OS.M-gtuiw.com  192.168.1.1

  4.5. 设定地址别名(CNAME记录)
   #./add-alias  www.M-gtuiw.com 192.168.1.1

  4.6. 指定邮件交换站(MX记录)
   #./add-mx mail.M-gtuiw.com 192.168.1.1

  4.7. 公开先前增加的记录:
   #./add-data

 说一下吧,从第二步到第六步的add-* script将你给定的参数回到data文件中。./add-data 会将该 文件换成data.cdb数据库文件。 tinydns会关注data.cdb 的变化,并自动加载新版区域数据

  到这里算完成了一部分啦。


 

[root@mail01 root 22:32:31]# pwd
/service/tinydns-global/root
[root@mail01 root 07:57:39]# ls -l
total 84
-rw-r--r--  1 root root   51 May 11  2007 Makefile
-rwxr-xr-x  1 root root   84 May 11  2007 add-alias
-rwxr-xr-x  1 root root   86 May 11  2007 add-childns
-rwxr-xr-x  1 root root   83 May 11  2007 add-host
-rwxr-xr-x  1 root root   81 May 11  2007 add-mx
-rwxr-xr-x  1 root root   81 May 11  2007 add-ns
-rw-r--r--  1 root root 1624 Nov 10 15:28 data
-rw-r--r--  1 root root 1730 Nov  6 16:11 data.20081110
-rw-r--r--  1 root root 4651 Nov 10 15:28 data.cdb
-rw-------  1 root root    0 Sep 24 19:04 data.new

[root@mail01 root 07:59:16]# cat ./add-*
#!/bin/sh
exec /usr/local/djbdns/bin/tinydns-edit data data.new add alias ${1+"$@"}
#!/bin/sh
exec /usr/local/djbdns/bin/tinydns-edit data data.new add childns ${1+"$@"}
#!/bin/sh
exec /usr/local/djbdns/bin/tinydns-edit data data.new add host ${1+"$@"}
#!/bin/sh
exec /usr/local/djbdns/bin/tinydns-edit data data.new add mx ${1+"$@"}
#!/bin/sh
exec /usr/local/djbdns/bin/tinydns-edit data data.new add ns ${1+"$@"}
[root@mail01 root 07:59:27]#

 

  评论这张
 
阅读(1649)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018