Chinaunix首页 | 论坛 | 博客
  • 博客访问: 111583
  • 博文数量: 12
  • 博客积分: 1581
  • 博客等级: 上尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-12 14:10
文章分类

全部博文(12)

文章存档

2011年(1)

2010年(6)

2008年(5)

分类: BSD

2008-06-05 23:37:29

  djbdns是用来代替bind的很好的一个高速DNS缓存服务器。
  我今天在FreeBSD上安装了一下,觉得它的确是很好用,我只能这么说。我只用来解析了一下别的域名。
  以下是我安装djbdns的一个过程:
  资料上说过安装一个标准的djbdns就必须安装daemontools,因为daemontools是一个companiaon package, 是djbdns必需的。它提供了一些支持djbdns开始和管理的程序给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 //下载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)该文件的每行代表一个根服务器地址。你可直接到取得最新地址列表。然后动手修改/etc /dnscache/root/servers/@文件。还有一个更好的办法就是用djbdns的工具:
#dnsip `dnsqr ns . | awk '/answer:/ {print $5 ;}'`| \
  sort > /etc/dnscache/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 的 dnsqr, dnsip, dnsname等工具查询,不过避免使用nslookup测试以,因为在这种情况下会产生一些无法预料的事情会发生 

以下是一些安装好djbdns的一些command:

  dnsqr - 是要求输出域名的类型。
      格式是: dnsqr t domain
 t 就是类型,而t有以下几种: any, a, ns, mx, ptr, txt, cname, soa, inifo, rp, sig, key, aaaa, axtr.

  dnsip - 解析域名的IP地址!
      格式是: dnsip domain

  dnsname - 用IP来解析域名!
       格式是: dnsname IP


三: 接下来就是架设区域授权服务器,那就得设定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 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 的变化,并自动加载新版区域数据

  到这里算完成了一部分啦。
  说真的,我并没试过,我只用来解析过域名而已。




阅读(3014) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~