Комментарии 69
Bind — более каноничен, насколько я понимаю.
Не спамит запросами, как я специально сделал, не дает нарушать правила работы с TTL :-)
Т.е. работает правильно, но медленнее.
Не спамит запросами, как я специально сделал, не дает нарушать правила работы с TTL :-)
Т.е. работает правильно, но медленнее.
Bind — большой и тяжелый монстр.
Если вы держите полноценный NS сервер с кучей зон — то конечно да, альтернативы бинду нет.
Если вам нужен просто днс-кэш с некоторыми доп. фишками — pdnsd будет в самый раз.
Если вы держите полноценный NS сервер с кучей зон — то конечно да, альтернативы бинду нет.
Если вам нужен просто днс-кэш с некоторыми доп. фишками — pdnsd будет в самый раз.
А чем 8.8.8.8 от 8.8.4.4 отличается?
Просто 2 разных IP гуглового DNS. Надеюсь у них они будут падать по очереди, а не одновременно.
А NameBench долго должен работать? Что-то у меня он уже полчаса думает.
Добавили бы тогда от Level 3 (4.2.2.1), вместо второго гугловского. Чтобы совсем fail-safe. :)
Также еще есть легкий DNS\DHCP сервер dnsmasq, давно им пользуюсь и никаких проблем!
Возможность отправлять запрос сразу на все серверы у него есть (--all-servers), а вот ttl override — только если исходники патчить.
PS. Покажите вашу картинку с NameBench :-)
PS. Покажите вашу картинку с NameBench :-)
Выложу в понедельник, сейчас маленько далеко от него!
--neg-ttl=Разве не оно в dnsmasq?
Negative replies from upstream servers normally contain time-to-live information in SOA records which dnsmasq uses for caching. If the replies
from upstream servers omit this information, dnsmasq does not cache the reply. This option gives a default value for time-to-live (in seconds)
which dnsmasq uses to cache negative replies even in the absence of an SOA record.
Negative replies from upstream servers normally contain time-to-live information in SOA records which dnsmasq uses for caching. If the replies
from upstream servers omit this information, dnsmasq does not cache the reply. This option gives a default value for time-to-live (in seconds)
which dnsmasq uses to cache negative replies even in the absence of an SOA record.
+ в убунте он есть и работает из коробки, кажется с версии 12.04. Правда настраивает и запускает его NetworkManager, для смены конфигов придётся с ним договариваться.
Спасибо за поднятие интересной темы. Никогда не задумывался о скорости работы ДНС серверов. Поизучаю свой роутер теперь на вопрос сабжа.
PDNSD сильно систему нагружает (для роутера актуально)?
PDNSD сильно систему нагружает (для роутера актуально)?
Краткое содержание статьи: «локальный кэширующий dns быстрее любого dns в интернете. © К.О.»
Поставьте «локальный кеширующий dns» с дефолтным конфигом и покажите картинку NameBench ;-)
Результат быстрее не из-за локального кеша.
Результат быстрее не из-за локального кеша.
Не поверите, стоит локальный на Windows 2003 и мне NameBench сказал что: Your current primary DNS server is
Fastest
От гугла средний ответ 88 мс.
Fastest
От гугла средний ответ 88 мс.
Посыпаю голову пеплом и как можно тише удаляюсь обратно в свой угол: Вы были правы, мой домашний bind, стоящий в 50см от главного компьютера, работающий на п4 3гГц с гигабитной локальной сетью почти в 2 раза МЕДЛЕННЕЕ вторичного dns Гугла. Поражен!
Никто не сравнивал pdns и PowerDNS Recursor по производительности? Последний приходится перезапускать раз в месяц-полтора, но работает очень быстро и мало памяти кушает. Может, стоит на pdns заменить?
Ну, не знаю… За год pdnsd ни разу перезапускать не приходилось… Жрет как писал выше 16Мб.
По производительности — не уверен, что есть куда быстрее — тут нас ограничивают родительские DNS сервера.
По производительности — не уверен, что есть куда быстрее — тут нас ограничивают родительские DNS сервера.
PowerDNS Recursor работает по другой схеме.
Он полноценный рекурсор, он не ходит за подачками к другим рекурсорам.
Он полноценный рекурсор, он не ходит за подачками к другим рекурсорам.
Какие-то грустные результаты. Yota

С pdnsd веселее чуть-чуть.

Вывод — пусть живет.

С pdnsd веселее чуть-чуть.

Вывод — пусть живет.
Неймбенч показал, что неймсервер в моей локалке (с обычным роутером-китайцем) быстрее Google Public DNS. Мне повезло с провайдером?
Тоже решил попробовать у себя. Но у меня в роли сервера стоит xubuntu 12.04 и dns порт уже занят dnsmasq…
При попытке его удаления:
Пакеты, которые будут УДАЛЕНЫ:
dnsmasq-base lxc lxctl network-manager network-manager-gnome
При этом lxc мне нужен. Дайте совет.
При попытке его удаления:
Пакеты, которые будут УДАЛЕНЫ:
dnsmasq-base lxc lxctl network-manager network-manager-gnome
При этом lxc мне нужен. Дайте совет.
Забавный набор доменов для «censorship check»:


Коллеги, а есть сейчас что нибудь из DNS серверов, которое позволяет написать к себе плагин / предоставляет API чтобы в рантайме на некоторые запросы отвечать не результатами других серверов / содержимым конфиг файлов — а что я ему API верну? Я в свое вермя смотрел — но как-то эта область слабо окучена, если и есть техническая возможность то реализована она обычно «ну вы поменяйте программно текстовичок с именами и перезагрузите DNS — он и будет новое отвечать… через некоторое время». А хочется в реалтайме — чтобы как только моя программная часть решила, что «vasya» это не «1.2.3.4» а «4.3.2.1» — то следующей же запрос к DNS получил в ответ «4.3.2.1».
Вариантов как минимум два — MyDNS, который хранит инфу в MySQL базе, и есть реализация сервера на Perl — там просто поменять в исходнике обработчик запросов, и можно хоть википедию в ответах слать.
PowerDNS — безумный комбайн, который может работать с несколькими бэкендами одновременно, включая mysql, postgresql, mongodb (вроде пока экспериментально) и даже так называемый pipe-backend, когда для получения данных для ответа запускается пользовательская программа, в том числе и bash-скрипт. Подробнее про бэкенды можно почитать тут.
Не понял, что вместо айпишек 85.21.192.5 и 213.234.192.7 у себя прописывать?
Большое спасибо за статью и особенно за namebench.py.
Давно уже пользуюсь PDNSD в линуксе (по совету с Arch Wiki), но только в статье узнал про параллельный опрос DNS серверов (наверно невнимательно читал man).
Кстати, рекомендую взять рекомендуемые NameBench сервера (наиболее быстрые и географически близкие) и добавить их в список опрашиваемых PDNSD. Я добавил еще два, помимо DNS от Google, прогнал NameBench еще раз и разница была заметна невооруженным взглядом.
Давно уже пользуюсь PDNSD в линуксе (по совету с Arch Wiki), но только в статье узнал про параллельный опрос DNS серверов (наверно невнимательно читал man).
Кстати, рекомендую взять рекомендуемые NameBench сервера (наиболее быстрые и географически близкие) и добавить их в список опрашиваемых PDNSD. Я добавил еще два, помимо DNS от Google, прогнал NameBench еще раз и разница была заметна невооруженным взглядом.
Москва, провайдер ОнЛайм + dnsmasq (all-servers)


Москва, тоже ОнЛайм, на домашнем шлюзе стоит Kerio.
habrastorage.org/storage2/c2b/4f9/793/c2b4f97931e1400ca15122acdffadc00.png
habrastorage.org/storage2/c2b/4f9/793/c2b4f97931e1400ca15122acdffadc00.png
Под виндой воспользовался Acrylic DNS Proxy, позволяет указать до 4х DNS серверов. Оставил провайдерские, гугловский и ближайший из результатов NameBench.
В результате получил ускорение в 4 раза:

Acrylic прописался сервисом, есть 4 мегабайта памяти, процессор не грузит.
Спасибо за совет, раньше при загрузке страниц были ужасные задержки.
В результате получил ускорение в 4 раза:

Acrylic прописался сервисом, есть 4 мегабайта памяти, процессор не грузит.
Спасибо за совет, раньше при загрузке страниц были ужасные задержки.
У меня DNS сервер по умолчанию всего на 25% медленнее гугловского. Менять, я так понимаю, смысла нет?
Когда я использовал pdnsd пару лет назад, наткнулся на очень неприятный баг — некоторые домены третьего уровня (а конкретнее, у которых в CNAME ссылка на CNAME) разрешались им неправильно, в частности, широко известный i.imgur.com; в рассылке bugs.debian баг висит уже третий год. Интересно, починили его уже или нет.
Сейчас вроде все работает без проблем:
host i.imgur.com 192.167.0.98
Using domain server:
Name: 192.167.0.98
Address: 192.167.0.98#53
Aliases:
i.imgur.com is an alias for wpc.4220.edgecastcdn.net.
wpc.4220.edgecastcdn.net is an alias for gsb1.wpc.v2cdn.net.
gsb1.wpc.v2cdn.net has address 68.232.34.133
А если прописать pdnsd-сервер основным и ткнуться туда, например, wget'ом?
Тоже все работает:
c:\my\tools\wget\bin>wget i.imgur.com SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = c:\my\tools\wget/etc/wgetrc --2012-11-19 06:05:13-- http://i.imgur.com/ Распознаётся i.imgur.com... 68.232.34.133 Устанавливается соединение с i.imgur.com|68.232.34.133|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 302 Found Адрес: http://imgur.com [переход] --2012-11-19 06:05:15-- http://imgur.com/ Распознаётся imgur.com... 23.23.110.81, 23.23.110.58, 54.243.206.51 Устанавливается соединение с imgur.com|23.23.110.81|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 200 OK Длина: нет информации [text/html] Сохраняется в каталог: `index.html'. [ <=> 2012-11-19 06:05:15 (166 KB/s) - `index.html' сохранён [66854] c:\my\tools\wget\bin>nslookup i.imgur.com 192.167.0.98 Server: UnKnown Address: 192.167.0.98 Non-authoritative answer: Name: gsb1.wpc.v2cdn.net Address: 68.232.34.133 Aliases: i.imgur.com wpc.4220.edgecastcdn.net
«Удалось достичь 120 миллисекундного ускорения!!! Интернет летает!!!» Под Windows поиск наиболее шустрого для вас DNS DNS Benchmark.
Все смешалось: линуксойды, виндовские нубы.
Все смешалось: линуксойды, виндовские нубы.
пробовал ставить pdns на FreeBSD.
Вечером, в часы пик не успевала отвечать на запросы. (примерна 300-400 запросов в секунду).
В итоге вернулся на Bind
Вечером, в часы пик не успевала отвечать на запросы. (примерна 300-400 запросов в секунду).
В итоге вернулся на Bind
8.8.8.8 и 8.8.4.4 — это anycast-адреса, а сервера, за ними стоящие, могут быть разные, так что результаты теста могут отличаться.
Попробуйте unbound, в нем еще есть возможность подмены некоторых ответов на свои. Очень облегчает жизнь, не говоря уже о классе самого ПО и его устойчивости к нагрузкам.
Попробуйте unbound, в нем еще есть возможность подмены некоторых ответов на свои. Очень облегчает жизнь, не говоря уже о классе самого ПО и его устойчивости к нагрузкам.
Вот первая проблема. Перестает работать видео ютуба. Сайт работает, а вот видео не запускается. Очистка кеша не помогла.
Я слышал что сегодня ютуб побывал в говнореестре «по ошибке», и вроде его уже убрали «но».
Если что — мопед не мой, я в Украине обитаю, не сильно отслеживаю что именно происходит у вас, только тенденции.
Если что — мопед не мой, я в Украине обитаю, не сильно отслеживаю что именно происходит у вас, только тенденции.
С гуглоского днс-а открывается, с провадерского открывается, с локального нет. Точнее не открывается, видео показывает. Открывается-то со всех.
Ну такой проксирующий DNS рассчитывает на синхронность серверов, а в реалиях говнореестра это может нарушаться.
Для более точной диагностики нужно проверить какие именно адреса резолвятся с другими серверами, и не резолвятся с «ускорителем». Проверить что там отдается неправильно (т.е. какой ответ то реально отдается, может там 127.0.0.1 вообще). Определить какой именно сервер опрашивается для получения ответа. Сверить его ответ с ответом «ускорителя».
Возможно поймаете глюк, а возможно реально окажется что какой-то
supervideoserver10050042.youtube.com именно на ns123434.fanat-govnoreestra.ru не резолвится, а он зараза у вас самый быстрый для ютубы оказался.
Для более точной диагностики нужно проверить какие именно адреса резолвятся с другими серверами, и не резолвятся с «ускорителем». Проверить что там отдается неправильно (т.е. какой ответ то реально отдается, может там 127.0.0.1 вообще). Определить какой именно сервер опрашивается для получения ответа. Сверить его ответ с ответом «ускорителя».
Возможно поймаете глюк, а возможно реально окажется что какой-то
supervideoserver10050042.youtube.com именно на ns123434.fanat-govnoreestra.ru не резолвится, а он зараза у вас самый быстрый для ютубы оказался.
ютуб работает классно. У меня на FreeBSD он перестает резолвить новые адреса через определенное время. хотя из кеша отдает нормально
Народ. подскажите. А можно как то вставить туда свои локальные адреса (сайты) ?! Реально он быстрый но надо еще свои прописать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Делаем свой локальный DNS (PDNSD), с блэкджеком и быстрее Google Public DNS