djbdns

Поделись знанием:
Перейти к: навигация, поиск

djbdns
Тип

DNS-сервер

Разработчик

Дэниел Джулиус Бернштейн

Написана на

Си

Операционная система

UNIX

Последняя версия

1.05 (11 февраля 2001)

Лицензия

общественное достояние [1]

Сайт

[cr.yp.to/djbdns.html o/djbdns.html]

К:Википедия:Статьи без изображений (тип: не указан)

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

на 2004 год, входящая в набор djbdns компонента tinydns была вторым по популярности DNS-сервером по количеству обслуживаемых доменов.[3]

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





Компоненты djbdns

Серверы:

  • dnscache — кэширующий DNS сервер
  • tinydns — полномочный DNS сервер
  • walldns — «reverse DNS wall», обеспечивает только преобразование между IP-адресами и доменными именами.
  • rbldns — сервер, разработанный для RBL.
  • axfrdns — сервер для переноса зоны.

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

  • axfr-get — клиент для переноса зон.
  • dnsip — простое разрешение FQDN-имени в ip-адрес.
  • dnsipq — разрешение неполных имен на основе правил изменения (дополнения) имен.
  • dnsname — простой поиск имени по IP-адресу.
  • dnstxt — простой поиск TXT-записи.
  • dnsmx — поиск почтового обменника (mail exchanger).
  • dnsfilter — параллельный поиск имен для IP-адресов, считываемых из стандартного ввода (stdin).
  • dnsqr — рекурсивный поиск записей.
  • dnsq — нерекурсивный поиск записей, удобен для отладки и поиска проблем.
  • dnstrace (и dnstracesort) — всесторонняя проверка цепочек полномочий (chains of authority).

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

В 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=;dnsip $name; done

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

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

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

Напишите отзыв о статье "Djbdns"

Примечания

  1. Daniel J. Bernstein. [cr.yp.to/distributors.html Frequently asked questions from distributors] (англ.). Проверено 7 марта 2010. [www.webcitation.org/68AXGdPD1 Архивировано из первоисточника 4 июня 2012].
  2. Daniel J. Bernstein. [cr.yp.to/djbdns/guarantee.html The djbdns security guarantee] (англ.). Проверено 7 марта 2010. [www.webcitation.org/68AXH4q38 Архивировано из первоисточника 4 июня 2012].
  3. Moore, Don [mydns.bboy.net./survey/ DNS server survey] (2004).
  4. [securityandthe.net/2009/03/05/security-issue-in-djbdns-confirmed/ Security issue in djbdns confirmed] (англ.). Проверено 7 марта 2010. [www.webcitation.org/68AXHUSJp Архивировано из первоисточника 4 июня 2012].
  5. cr.yp.to/djbdns/djbdns-1.05.tar.gz

Ссылки

  • [cr.yp.to/djbdns.html Официальная страница djbdns]  (англ.)
  • [lifewithdjbdns.org/ Henning Brauer. Life with djbdns]
  • [lithium.opennet.ru/ Перевод книги «Life with djbdns», а также статьи и FAQ о djbdns]  (рус.)
  • [unix.nordcomp.ru/articles.html?page=1&id=10 Григорий Ситкарев. DJBDNS или как убить BIND]
  • [djbdns.faqts.com/ FAQ о djbdns на faqts.com]  (англ.)
  • [homepages.tesco.net./~J.deBoynePollard/FGA/djbdns-problems.html Jonathan de Boyne Pollard. The known problems with Dan Bernstein’s djbdns]
  • [homepages.tesco.net./~J.deBoynePollard/FGA/djbdns-myths-dispelled.html Jonathan de Boyne Pollard. Some of what is said about djbdns is wrong]
  • [anders.com/projects/sysadmin/djbdnsRecordBuilder/ Веб-утилита для создания новых DNS-записей для tinydns]  (англ.)
  • tinydns.org/
  • djbdnsrocks.org/

Отрывок, характеризующий Djbdns

Солдаты французской армии шли убивать русских солдат в Бородинском сражении не вследствие приказания Наполеона, но по собственному желанию. Вся армия: французы, итальянцы, немцы, поляки – голодные, оборванные и измученные походом, – в виду армии, загораживавшей от них Москву, чувствовали, что le vin est tire et qu'il faut le boire. [вино откупорено и надо выпить его.] Ежели бы Наполеон запретил им теперь драться с русскими, они бы его убили и пошли бы драться с русскими, потому что это было им необходимо.
Когда они слушали приказ Наполеона, представлявшего им за их увечья и смерть в утешение слова потомства о том, что и они были в битве под Москвою, они кричали «Vive l'Empereur!» точно так же, как они кричали «Vive l'Empereur!» при виде изображения мальчика, протыкающего земной шар палочкой от бильбоке; точно так же, как бы они кричали «Vive l'Empereur!» при всякой бессмыслице, которую бы им сказали. Им ничего больше не оставалось делать, как кричать «Vive l'Empereur!» и идти драться, чтобы найти пищу и отдых победителей в Москве. Стало быть, не вследствие приказания Наполеона они убивали себе подобных.
И не Наполеон распоряжался ходом сраженья, потому что из диспозиции его ничего не было исполнено и во время сражения он не знал про то, что происходило впереди его. Стало быть, и то, каким образом эти люди убивали друг друга, происходило не по воле Наполеона, а шло независимо от него, по воле сотен тысяч людей, участвовавших в общем деле. Наполеону казалось только, что все дело происходило по воле его. И потому вопрос о том, был ли или не был у Наполеона насморк, не имеет для истории большего интереса, чем вопрос о насморке последнего фурштатского солдата.
Тем более 26 го августа насморк Наполеона не имел значения, что показания писателей о том, будто вследствие насморка Наполеона его диспозиция и распоряжения во время сражения были не так хороши, как прежние, – совершенно несправедливы.
Выписанная здесь диспозиция нисколько не была хуже, а даже лучше всех прежних диспозиций, по которым выигрывались сражения. Мнимые распоряжения во время сражения были тоже не хуже прежних, а точно такие же, как и всегда. Но диспозиция и распоряжения эти кажутся только хуже прежних потому, что Бородинское сражение было первое, которого не выиграл Наполеон. Все самые прекрасные и глубокомысленные диспозиции и распоряжения кажутся очень дурными, и каждый ученый военный с значительным видом критикует их, когда сражение по ним не выиграно, и самью плохие диспозиции и распоряжения кажутся очень хорошими, и серьезные люди в целых томах доказывают достоинства плохих распоряжений, когда по ним выиграно сражение.
Диспозиция, составленная Вейротером в Аустерлицком сражении, была образец совершенства в сочинениях этого рода, но ее все таки осудили, осудили за ее совершенство, за слишком большую подробность.
Наполеон в Бородинском сражении исполнял свое дело представителя власти так же хорошо, и еще лучше, чем в других сражениях. Он не сделал ничего вредного для хода сражения; он склонялся на мнения более благоразумные; он не путал, не противоречил сам себе, не испугался и не убежал с поля сражения, а с своим большим тактом и опытом войны спокойно и достойно исполнял свою роль кажущегося начальствованья.


Вернувшись после второй озабоченной поездки по линии, Наполеон сказал:
– Шахматы поставлены, игра начнется завтра.
Велев подать себе пуншу и призвав Боссе, он начал с ним разговор о Париже, о некоторых изменениях, которые он намерен был сделать в maison de l'imperatrice [в придворном штате императрицы], удивляя префекта своею памятливостью ко всем мелким подробностям придворных отношений.
Он интересовался пустяками, шутил о любви к путешествиям Боссе и небрежно болтал так, как это делает знаменитый, уверенный и знающий свое дело оператор, в то время как он засучивает рукава и надевает фартук, а больного привязывают к койке: «Дело все в моих руках и в голове, ясно и определенно. Когда надо будет приступить к делу, я сделаю его, как никто другой, а теперь могу шутить, и чем больше я шучу и спокоен, тем больше вы должны быть уверены, спокойны и удивлены моему гению».
Окончив свой второй стакан пунша, Наполеон пошел отдохнуть пред серьезным делом, которое, как ему казалось, предстояло ему назавтра.
Он так интересовался этим предстоящим ему делом, что не мог спать и, несмотря на усилившийся от вечерней сырости насморк, в три часа ночи, громко сморкаясь, вышел в большое отделение палатки. Он спросил о том, не ушли ли русские? Ему отвечали, что неприятельские огни всё на тех же местах. Он одобрительно кивнул головой.