在CentOS上清理djbDNS DNS服务器 - dnscache和tinydns - A到Z
什么是djbDNS? 为什么要使用djbDNS? 服务于dns服务有一个新的观点 - 每个dns服务器功能都是一个单独的服务,如权限,缓存,转发等等。 另一个区别是守护进程工具,它将迅速重启服务以防止僵尸。
要求:
CentOS 5.4清洁安装
以root用户身份登录
# yum update
# yum install gcc
# mkdir pkg
# cd pkg
第一步是安装守护进程工具:
# cd ~/pkg
# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
# gunzip daemontools-0.76.tar
# tar -xpf daemontools-0.76.tar
# rm -f daemontools-0.76.tar
# cd admin/daemontools-0.76
# vi src/conf-cc
在gcc行的末尾附加以下行:
-include /usr/include/errno.h
# ./package/install
另一个我们需要为djbdns做准备的软件包是ucspi:
# cd ~/pkg
# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
# gunzip ucspi-tcp-0.88.tar
# tar -xf ucspi-tcp-0.88.tar
# cd ucspi-tcp-0.88
# vi src/conf-cc
在gcc行的末尾附加以下行:
-include /usr/include/errno.h
# make
# make setup check
下一步是文件出版物:
# cd ~/pkg
# wget http://cr.yp.to/djbdns/doc.tar.gz
接下来我们将在/ doc
下解压缩文档:
# gunzip < doc.tar.gz | (cd /; tar -xf -)
使用以下脚本在系统文档中合并:
#!/bin/sh for i in packages commands cfunctions fileformats do sort -f /dev/null `find /doc/merge -name $i.html` > /doc/$i.new mv /doc/$i.new /doc/$i.html done
将脚本保存到文件中: script.sh
# chmod +x script.sh
# ./script.sh
# cd ~/pkg
# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
# gunzip djbdns-1.05.tar
# tar -xf djbdns-1.05.tar
# cd djbdns-1.05
# vi src/conf-cc
在gcc行的末尾附加以下行:
-include /usr/include/errno.h
# make
# make setup check
所有编译完成。
下一步是dns服务器配置。
DNSCACHE
创建两个系统用户帐户:
# useradd -d /var/dnscache -s /bin/false dnscache
# useradd -d /var/dnscache -s /bin/false dnslog
配置缓存:
# dnscache-conf dnscache dnslog /var/dnscache/dnscache <listen-IP>
示例: dnscache-conf dnscache dnslog / var / dnscache / dnscache 192.168.20.1
允许网络的其余部分查询dnscache:
# touch /var/dnscache/dnscache/root/ip/<Net-ID>
示例: Touch/var/dnscache/dnscache/root/ip/192.168
将dnscache添加到要由svscan监视的服务列表中:
# ln -sf /var/dnscache/dnscache /service/
如果你喜欢ms-windows ...你可以重新启动,以确保所有的世界都到位。
这里有一点是,您的缓存服务器仍然无法查询,因为您的客户端现在能够以反向模式解决。
如前所述,它是dns缓存安全功能之一,用于反向检查客户端。 所以在接下来的一步中,我们将为tinydns工作,为我们行事。
DNSTINY
再次,我们需要两个系统用户帐户:
# useradd -d /var/dnscache -s /bin/false tinydns
# useradd -d /var/dnscache -s /bin/false tinylog
# tinydns-conf tinydns tinylog /var/dnscache/tinydns 127.0.0.1
现在是时候将节点添加到dns数据库中:
# cd /var/dnscache/tinydns/root
# ./add-ns internal 192.168.20.1
# ./add-ns 20.168.192.in-addr.arpa 192.168.20.1
# ./add-mx internal 192.168.20.2
# ./add-host ns.internal 192.168.20.1
# ./add-host mail.internal 192.168.20.2
# ./add-alias unagi.internal 192.168.20.2
# make
这些节点转到可以手动编辑的数据库文件/ var / dnscache / tinydns / root / data
。
最后一步是dns服务启动:
# ln -sf /var/dnscache/tinydns /service