Skip navigation.

A new Page of Sealinger

Maybe I was a Bird in another Life !

安装DNS缓存服务器-djbdns


公司服务器集群想搞个DNS缓存服务器,以提高DNS解析速度。本来rhel4自带的BIND9默认配置就是缓存服务器了,老大说搞个其他的,用BIND好像有点小题大作````提供给我了一些资料,里面有个djbdns。

我了解了一下,原来djbdns是qmail作者写的一个简单、高效和安全的DNS cache Server,下面是一些网上介绍:

djbdns 是一個由 Qmail 的作者所設計的新一代 DNS server ,這套djbdns採用了跟BIND不同的思考方向,在程式的架構上也和BIND一手撐天的做法完全不同。它採用模組化的方式,將DNS運作上的各個角色都適當地分配到不同程式上面。採用UNIX的設計哲學,堅持讓一個程式做好一件事的方式,將DNS中最主要的Cache Server、Content Server的角色分離開來,由不同的程式來負責不同的事。

本人本来就非常喜欢qmail,这样爱屋及乌,马上着手研究安装djbdns!

下面给大家介绍一下安装方法:

安装环境:
redhat enterprise linux 4
daemontools 0.76
ucspi-tcp 0.88
djbdns 1.05 (http://cr.yp.to/djbdns.html)

1. 安装djbdns前,需要安装两个工具,即daemontoolsucspi-tcp

1)daemontools是一个收集管理UNIX进程的工具.用它来监听djbdns进程

     mkdir -p /package
     chmod 1755 /package
     cd /package
     gunzip daemontools-0.76.tar
     tar -xpf daemontools-0.76.tar
     rm daemontools-0.76.tar
     cd admin/daemontools-0.76
     package/install

很简单吧,这样就安装完了;下面来安装ucspi-tcp:

2)ucspi-tcp软件包由一组工具组成。它们用来简单的建立客户机-服务器tcp后台程序。TcpServer是一个比inetd安全性更好的选择。它内建有基于规则的连接控制,能完善地在达到预定义的最大系统负载时将连接推迟,这点比 inetd好。

     gunzip ucspi-tcp-0.88.tar
     tar -xf ucspi-tcp-0.88.tar
     cd ucspi-tcp-0.88
     make
     make setup check


2. 真是简单,现在我们来安装我们的主角-djbdns

1) 如果你想把参考文档安装在本机,以便方便使用elinks来查看,则:

   gunzip < doc.tar.gz | (cd /; tar -xf -)

然后运行slashdoc-merge脚本来生成 /doc/commands.html index文件就可以啦````

2) 安装djbdns-1.05

     gunzip djbdns-1.05.tar
     tar -xf djbdns-1.05.tar
     cd djbdns-1.05
     echo gcc -O2 -include /usr/include/errno.h > conf-cc
     make
     make setup check

哈,真是简单````

3. 配置djbdns让它成为你的网络的DNS Cache Server

1) 首先以root用户创建两个系统账户,名字为Gdnscache and Gdnslog;

2) 以root用户来建立/etc/dnscache 服务目录(命令的最后接你机器的IP)

dnscache-conf Gdnscache Gdnslog /etc/dnscache 10.53.0.1

这个目录包含一些日志文件和一些配置文件。

3) 以root用户,告诉svscan这个新服务,并使用svstat命令检查运行状态

     ln -s /etc/dnscache /service
     sleep 5
     svstat /service/dnscache

4) 以root用户,在/etc/dnscache/root/ip目录建立文件,限制只有你希望的客户端IP才能使用这个DNS CACHE,如:

    touch /etc/dnscache/root/ip/10.53.0

这样10.53.0.*的IP客户端才能使用你的DNS CACHE。

5) 在/etc/resolv.conf中设置DNS为本机,加nameserver 10.53.0.1 为第一行。测试一下:
     dnsip www.cnn.com
     dnsip www.fsf.org

看能不能返回IP地址?哈哈```恭喜你,成功了!

6) 默认djbdns使用1MB的内存作为它的cache,你可以调整为100MB:

     echo 100000000 > /service/dnscache/env/CACHESIZE
     echo 104857600 > /service/dnscache/env/DATALIMIT
     svc -t /service/dnscache    #重启dnscache

目前最全的网通和电信IP段网络安全工具介绍

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies