Djbdns | это... Что такое Djbdns? (original) (raw)

djbdns

djbdns
Тип DNS-сервер
Разработчик Дэниел Джулиус Бернштейн
Написана на Си
ОС UNIX
Версия 1.05 (11 февраля 2001)
Лицензия общественное достояние [1]
Сайт http://cr.yp.to/djbdns.html

djbdns представляет собой простой и безопасный набор программ для обслуживания и разрешения (resolving) DNS зон, разработанный Дэниелом Бернштейном. Автор программы создал его после обнаружения многочисленных ошибок в коде BIND. Он пообещал премию в $1000 тому, кто найдёт ошибку в коде djbdns. [2]

В 2004 году стал вторым по популярности DNS сервером.

В 2009 году Матью Демпски (Matthew Dempsky) нашёл уязвимости в dnscache. [3]

Содержание

Компоненты djbdns

Серверы:

Клиентские программы:

…и несколько сопутствующих инструментов конфигурирования.

В djbdns различные функции и сервисы, такие как передача зон через AXFR, разделены между отдельными программами. Разбор файла зон, кэширование DNS-записей и рекурсивный поиск записей также выполнены в виде отдельных программ. Результатом этого дизайнерского решения стало чрезвычайное уменьшение объёма кода и сложности программ-демонов, которые отвечают на клиентские запросы. Даниел Бернштейн (и многие другие) осознают, что этот подход хорошо согласуется с духом UNIX, и делает проверку безопасности более простой.

Пример использования клиентских утилит

Обратный резолвинг нескольких хостов из файла:

root@host[/root]# cat file-with-list-ip.txt | dnsfilter 194.87.0.50=www.ru 87.118.90.81=ns.km35112.keymachine.de 93.158.134.8=ya.ru

Содержание файла file-with-list-ip.txt:

194.87.0.50 87.118.90.81 93.158.134.8

Получение ip адреса по имени, для нескольких хостов из файла:

#!/bin/sh

Use: ./h2ip.sh dns-list-file.txt

Example output:

www.ru=194.87.0.50

ns.ru=87.118.90.81

ya.ru=93.158.134.8 77.88.21.8 213.180.204.8

echo "Using DNS file list: $1"

for name in cat $1; do echo -n $name=; dnsip $name; done

Использование:

chmod +x h2ip.sh; ./h2ip.sh dns-list-file.txt

Для bash, в консоли:

for name in cat dns-list-file.txt; do echo -n name=;dnsipname=;dnsip name=;dnsipname; done

Ситуация с лицензией

Ранее пакет распространялся как программное обеспечение без лицензии, что не согласовалось с Open Source Definition. Это мешало djbdns быть включённым в некоторые дистрибутивы Linux, такие как Debian GNU/Linux. Использование djbdns было бесплатно для всех; исходный код был общедоступен и мог быть загружен бесплатно всеми желающими; он был открыт для проверки и изменения всеми желающими. Единственное ограничение состояло в том, что нельзя было распространять модифицированную версию djbdns; изменения могли распространяться только как заплатки к исходному коду.

28 декабря 2008 года djbdns (точнее файл djbdns-1.05.tar.gz [4], чья хеш-сумма MD5 равна 3147c5cd56832aa3b41955c7a51cbeb2) перешёл в общественное достояние.

Примечания

  1. Daniel J. Bernstein Frequently asked questions from distributors (англ.). Проверено 7 марта 2010.
  2. Daniel J. Bernstein The djbdns security guarantee (англ.). Проверено 7 марта 2010.
  3. Security issue in djbdns confirmed (англ.). Проверено 7 марта 2010.
  4. http://cr.yp.to/djbdns/djbdns-1.05.tar.gz

Ссылки

cdb | daemontools | djbdns | qmail | ucspi-tcp

Wikimedia Foundation.2010.