Может ли кто-нибудь порекомендовать облегченный DNS-сервер Linux, который подойдет для дата-центра?
РЕДАКТИРОВАТЬ: Обычно мы говорим о дата-центре в пределах 10-20 серверов, максимум до 100. Для большего количества действительно есть смысл использовать BIND.
Я ищу что-то более легкое, BIND (если есть что-то подобное).
Если он включен в обычные репозитории YUM для CentOS 5.4, тем лучше.
dnsmasq может быть хорошим вариантом. Он может работать как с dns, так и с dhcp. Просто использует файл хоста и имеет простую конфигурацию. И это должно быть в репозиториях по умолчанию для вашего дистрибутива.
Изменить: позвольте мне уточнить свой ответ, так как он получает несколько голосов и комментариев. Вопрос не ясен в отношении всего варианта использования и масштаба. Так что, хотя вы можете не согласиться с этим, dnsmasq является вполне допустимым решением при правильных обстоятельствах. OP должен будет выяснить, что подходит их конкретному случаю, поскольку в их вопросе немного не хватало деталей.
Я бы рекомендовал это только как жизнеспособное решение, если оно предназначено для внутреннего разрешения DNS в сегменте частной локальной сети центра обработки данных. При условии, что мы не говорим о сотнях серверов. Если вы хотите запустить свой собственный общедоступный DNS, вам лучше подготовиться к запуску взрослого DNS-решения как минимум в двух географических центрах обработки данных.
Взгляните на DNS DJB (djbdns и tinydns) из http://cr.yp.to/djbdns.html? Можно даже использовать файлы зон BIND.
Какой DNS вам нужен? Вам нужен рекурсивный преобразователь для клиентов в центре обработки данных? Авторитетный сервер для некоторых доменов, которые вы размещаете? Вы хотите удалить зависимость (внешний рекурсивный поиск DNS) со своих серверов?
Краткий ответ (и это что-то вроде религиозного вопроса, так что отнеситесь к нему с недоверием):
запускать рекурсивные преобразователи на локальном хосте каждого сервера, каждый сервер использует себя для рекурсивного DNS. PowerDNS создает резолвер, работающий в Windows и UNIX; Dnscache DJB, часть пакета tinydns, также на 100% защищен от пуль, но вам, возможно, придется настроить его, чтобы он мог следовать очень длинным цепочкам cname (акамай, я смотрю на вас).
запустите отдельный DNS-сервер для принадлежащих вам адресов. Опять же, PowerDNS - это выбор, используемый Википедией. У него есть всевозможные прекрасные серверные части от файлов зоны привязки до баз данных postgresql. Tinydns тоже хорош, хотя и немного странный, если вы приехали из привязанной земли. Запустите эти DNS-серверы на интерфейсах "не локального хоста" и опубликуйте эти адреса у своего регистратора. Будьте хозяином своего домена!
если вы предоставляете рекурсивную службу другим хостам в центре обработки данных, запустите dnscache или pdns-recursor на машине, которая в других случаях не предоставляет службы DNS, и установите ACL для резолвера только на запросы обслуживания из центра обработки данных. Случайные хосты в Интернете могут проводить дурацкие атаки с отравлением кеша против DNS-серверов, поэтому им не стоит доверять, если у вас есть выбор.
PowerDNS, вероятно, проще всего установить из пакета; в далеком прошлом DJB был очень параноиком в отношении третьих лиц, портящих его детей, поэтому у него были странные лицензионные ограничения на двоичные дистрибутивы; с тех пор они были удалены, но недобрые чувства к набору утилит DNS DJB остались.
я использую нсд для авторитетных серверов имен я админ. Имейте в виду, что все nsd действует как авторитетный сервер имен, поэтому я использую "несвязанный" (от тех же разработчиков) для внутренних рекурсивных запросов от самих серверов.
Для справки (несколько бессмысленной) один первичный сервер имен, обслуживающий полдюжины зон, примерно по 20 записей в каждой, имеет объем резидентной памяти около 1,1 МБ.
Я обнаружил, что nsd очень стабилен. Единственная проблема заключается в том, что передача зон между серверами может быть сложной задачей, конечно, не такой простой, как между двумя серверами BIND. В итоге я использовал сценарий rsync для обновления / перестройки / перезагрузки записей моего вторичного сервера имен.
Другой вариант, который я пробовал, - это MaraDNS, который дает хорошие результаты, но ненамного легче BIND.
ИМХО «вес» службы DNS - это не само программное обеспечение, а обрабатываемый им трафик и работа, которую он должен выполнять, чтобы разрешить адрес. Вы можете развернуть несколько DNS в своем центре обработки данных, чтобы минимизировать нагрузку и уменьшить возможную единую точку отказа. Но имейте в виду, что низкая производительность DNS может снизить производительность других служб.
С тех пор, как был задан этот вопрос, в ландшафте DNS произошли изменения, о которых стоит упомянуть. Похоже, что запрашивающий ищет рекурсор DNS. Стоит обсудить следующие варианты:
Возможности легкого авторитетного DNS-сервера сейчас значительно шире, чем в прошлые годы. Knot, NSD, tinydns и Yadifa имеют слабые или нулевые уязвимости безопасности (бонусные баллы к tinydns, так как он был выпущен намного дольше), очень легкие демоны. Все 4 работают очень хорошо, каждый из которых обладает определенными эзотерическими способностями.
Другое требование - решение должно быть HA, то есть серверы DNS будут синхронизировать данные между собой. И последнее (желательно, но не обязательно) - иметь простой веб-интерфейс для всего.
Только PowerDNS имеет веб-интерфейс, «связанный» с DNS-сервером. Для веб-интерфейс для управления авторитетным DNS, есть несколько вариантов. NicTool, безусловно, мой любимый, так как его можно использовать с tinydns, BIND, Knot, NSD, Yadifa или любой их комбинацией.