如何在Debian Etch上安装和使用djbdnsNameservers
版本1.0
作者:Falko Timme
djbdns是一个非常安全的DNS工具套件,由多个部分组成:dnscache,可以在/etc/resolv.conf中
使用的DNS缓存,而不是您的ISP的Nameservers,并尝试排除错误(恶意)DNS答案; axfrdns是在主DNS服务器上运行并且从站连接到区域传输的服务; 和tinydns,实际的DNS服务器,非常安全的替代BIND。
我不会保证这将为您工作!
1初步说明
我已经在Debian Etch系统上测试了djbdns,IP地址为192.168.0.100
。 我将解释如何使用dnscache和tinydns(作为主DNS服务器),但不是如何使用axfrdns - 也许我将在另一个教程中介绍。
dnscache会听本地IP地址127.0.0.1
,tinydns上的外部IP地址为192.168.0.100
。
2安装djbdns
djbdns由于其“许可证”而不能作为Debian存储库中的二进制包(到2007年12月28日,djbdns是免许可证软件),但是存储库
中有一个djbdns-installer
软件包可用于安装djbdns 。 djbdns依赖于daemontools和ucspi-tcp; 再次,这些程序只有安装程序包可用。 Debian Etch contrib
和非免费
存储库中提供了
安装程序,因此我们必须确保首先将这些包含在我们的/etc/apt/sources.list中
:
vi /etc/apt/sources.list
[...] deb http://ftp2.de.debian.org/debian/ etch main contrib non-free [...] |
之后更新您的包数据库:
apt-get update
接下来我们安装daemontools-installer
:
apt-get install daemontools-installer
现在我们可以这样安装daemontools:
build-daemontools
你会被问到几个问题。 您可以随时按ENTER键
接受默认值:
输入您想要执行此操作的目录[/ tmp / daemontools]
< - ENTER
您想要使用哪种格式?
[fD]
< - ENTER
按ENTER继续...
< - ENTER
要删除/ tmp / daemontools中的所有文件,
除了daemontools_0.76-9_i386.deb现在?
[Yn]
< - ENTER
您要立即安装daemontools_0.76-9_i386.deb吗?
[Yn]
< - ENTER
你现在要清除daemontools-installer吗?
[yN]
< - ENTER
要安装ucspi-tcp
,我们运行
apt-get install ucspi-tcp-src
接着:
build-ucspi-tcp
您将再次询问几个问题,并再次接受默认值:
输入您想要执行此操作的目录[/ tmp / ucspi-tcp]
< - ENTER
按ENTER继续...
< - ENTER
要删除/ tmp / ucspi-tcp中的所有文件,
除了ucspi-tcp_0.88-10_i386.deb现在?
[Yn]
< - ENTER
你现在要安装ucspi-tcp_0.88-10_i386.deb吗?
[Yn]
< - ENTER
现在要清除ucspi-tcp-src吗?
[yN]
< - ENTER
最后我们安装djbdns如下:
apt-get install djbdns-installer
build-djbdns
再次,您会被问到几个问题 - 接受默认值:
输入您想要执行此操作的目录[/ tmp / djbdns]
< - ENTER
按ENTER继续...
< - ENTER
要删除/ tmp / djbdns中的所有文件,
除了djbdns_1.05-11_i386.deb现在?
[Yn]
< - ENTER
你现在要安装djbdns_1.05-11_i386.deb吗?
[Yn]
< - ENTER
你现在要清除djbdns-installer吗?
[yN]
< - ENTER
接下来,我们配置dnscache,axfrdns和tinydns(确保用系统的外部IP地址替换192.168.0.100
):
mkdir /var/lib/svscan
dnscache-conf dnscache dnslog /var/lib/svscan/dnscache
axfrdns-conf axfrdns dnslog /var/lib/svscan/axfrdns /var/lib/svscan/tinydns 192.168.0.100
tinydns-conf tinydns dnslog /var/lib/svscan/tinydns 192.168.0.100
ln -s /var/lib/svscan/dnscache /service
ln -s /var/lib/svscan/axfrdns /service
ln -s /var/lib/svscan/tinydns /service
然后我们启动djbdns:
/etc/init.d/djbdns restart
3使用dnscache
要使用dnscache,我们将/etc/resolv.conf中
现有的Nameservers替换为dnscache正在监听的IP地址127.0.0.1。
备份/etc/resolv.conf
:
cp /etc/resolv.conf /etc/resolv.conf-original
然后运行以下命令创建一个新的/etc/resolv.conf
(确保用你自己的域替换example.com
):
echo "domain example.com" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
要测试dnscache是否正常工作,我们可以尝试解析主机名,例如www.google.com
:
dnsip www.google.com
如果一切顺利,应显示www.google.com的IP地址:
server1:~# dnsip www.google.com
66.249.93.104 66.249.93.147 66.249.93.99
server1:~#