Установка DNS · 3 min read · Nov 28, 2025

Как установить и использовать сервер имен djbdns на Debian Etch

Как установить и использовать сервер имен djbdns на Debian Etch

Версия 1.0
Автор: Фалько Тимме

djbdns — это очень безопасный набор инструментов DNS, который состоит из нескольких частей: dnscache, кэш DNS, который можно использовать в /etc/resolv.conf вместо серверов имен вашего провайдера и который пытается отсортировать неправильные (вредоносные) ответы DNS; axfrdns, служба, которая работает на основном DNS-сервере, к которому подключаются слейвы для передачи зон; и tinydns, собственно, DNS-сервер, очень безопасная замена BIND.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Я тестировал djbdns на системе Debian Etch с 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 из-за его “лицензии” (до 28 декабря 2007 года djbdns был программным обеспечением без лицензии), однако в репозиториях есть пакет djbdns-installer, который можно использовать для установки djbdns. djbdns зависит от daemontools и ucspi-tcp; опять же, для этих программ доступны только установочные пакеты. Установщики доступны в contrib и non-free репозиториях Debian Etch, поэтому сначала мы должны убедиться, что они включены в наш /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 (убедитесь, что вы заменили 192.168.0.100 на внешний IP-адрес вашей системы):

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 на 127.0.0.1, IP-адрес, на котором слушает dnscache.

Создайте резервную копию /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 

Если все пройдет хорошо, он должен отобразить IP-адреса www.google.com:

server1:~# dnsip www.google.com
66.249.93.104 66.249.93.147 66.249.93.99
server1:~#

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.