如何在Debian Etch上安装和使用djbdnsNameservers

如何在Debian Etch上安装和使用djbdnsNameservers djbdns是一个非常安全的DNS工具套件,由多个部分组成:dnscac ...

如何在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:~#