Установка 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-installerbuild-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 restart3 Использование 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:~#
Get new posts in your inbox
No spam. Unsubscribe anytime.