Как стать автором
Обновить

Комментарии 69

НЛО прилетело и опубликовало эту надпись здесь
Bind — более каноничен, насколько я понимаю.
Не спамит запросами, как я специально сделал, не дает нарушать правила работы с TTL :-)
Т.е. работает правильно, но медленнее.
Bind — большой и тяжелый монстр.
Если вы держите полноценный NS сервер с кучей зон — то конечно да, альтернативы бинду нет.
Если вам нужен просто днс-кэш с некоторыми доп. фишками — pdnsd будет в самый раз.
Серьезно нет?
А как же NSD, PowedDNS?
Я уже забыл когда последний раз bind ставил…
А чем 8.8.8.8 от 8.8.4.4 отличается?
Просто 2 разных IP гуглового DNS. Надеюсь у них они будут падать по очереди, а не одновременно.
А NameBench долго должен работать? Что-то у меня он уже полчаса думает.
Это смотря как настроить, можно отключить галочку «Include best regional servers» — тогда он не будет проверять все 4000 DNS серверов из базы )
Как оказалось, это проблема версии для mac os, когда зависает на строке Waiting for wildcard cache queries
Проблема и решение описано вот тут. Все решение, собственно — замена одного параметра в одной строке.
Добавили бы тогда от Level 3 (4.2.2.1), вместо второго гугловского. Чтобы совсем fail-safe. :)
Также еще есть легкий DNS\DHCP сервер dnsmasq, давно им пользуюсь и никаких проблем!
Возможность отправлять запрос сразу на все серверы у него есть (--all-servers), а вот ttl override — только если исходники патчить.
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.
+ в убунте он есть и работает из коробки, кажется с версии 12.04. Правда настраивает и запускает его NetworkManager, для смены конфигов придётся с ним договариваться.
Спасибо за поднятие интересной темы. Никогда не задумывался о скорости работы ДНС серверов. Поизучаю свой роутер теперь на вопрос сабжа.
PDNSD сильно систему нагружает (для роутера актуально)?
Сильно сомневаюсь, он прост как топор. Вопрос лишь в памяти и месте для хранении кеша. Под Ubuntu x64 — жрет 16Мб резидентной памяти.
Краткое содержание статьи: «локальный кэширующий dns быстрее любого dns в интернете. © К.О.»
Поставьте «локальный кеширующий dns» с дефолтным конфигом и покажите картинку NameBench ;-)
Результат быстрее не из-за локального кеша.
Не поверите, стоит локальный на Windows 2003 и мне NameBench сказал что: Your current primary DNS server is
Fastest

От гугла средний ответ 88 мс.
Локальный какой?
Естественно что на кешированных запросах он будет быстрее. Вы покажите результаты когда посылается fresh запрос.
Посыпаю голову пеплом и как можно тише удаляюсь обратно в свой угол: Вы были правы, мой домашний bind, стоящий в 50см от главного компьютера, работающий на п4 3гГц с гигабитной локальной сетью почти в 2 раза МЕДЛЕННЕЕ вторичного dns Гугла. Поражен!
Никто не сравнивал pdns и PowerDNS Recursor по производительности? Последний приходится перезапускать раз в месяц-полтора, но работает очень быстро и мало памяти кушает. Может, стоит на pdns заменить?
Ну, не знаю… За год pdnsd ни разу перезапускать не приходилось… Жрет как писал выше 16Мб.
По производительности — не уверен, что есть куда быстрее — тут нас ограничивают родительские DNS сервера.

PowerDNS Recursor работает по другой схеме.
Он полноценный рекурсор, он не ходит за подачками к другим рекурсорам.
как вариант, можно powerdns или bind оставить для клиентов, а за него вынести PDNSD.
Какие-то грустные результаты. Yota


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


Вывод — пусть живет.
Неймбенч показал, что неймсервер в моей локалке (с обычным роутером-китайцем) быстрее Google Public DNS. Мне повезло с провайдером?
Тоже решил попробовать у себя. Но у меня в роли сервера стоит xubuntu 12.04 и dns порт уже занят dnsmasq…
При попытке его удаления:
Пакеты, которые будут УДАЛЕНЫ:
dnsmasq-base lxc lxctl network-manager network-manager-gnome
При этом lxc мне нужен. Дайте совет.
Удалить dnsmasq, поставить 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-скрипт. Подробнее про бэкенды можно почитать тут.
Кстати, именно этот бекенд позволил мне реализовать т.н. Geo-aware authoritative DNS в краткие сроки, причем намного дешевле чем любой другой вариант. Аптайм почти полтора года, пару тысяч req/s, ноль проблем. Вещь.
Не понял, что вместо айпишек 85.21.192.5 и 213.234.192.7 у себя прописывать?
Свои DNS-сервера от провайдера.
Большое спасибо за статью и особенно за namebench.py.
Давно уже пользуюсь PDNSD в линуксе (по совету с Arch Wiki), но только в статье узнал про параллельный опрос DNS серверов (наверно невнимательно читал man).

Кстати, рекомендую взять рекомендуемые NameBench сервера (наиболее быстрые и географически близкие) и добавить их в список опрашиваемых PDNSD. Я добавил еще два, помимо DNS от Google, прогнал NameBench еще раз и разница была заметна невооруженным взглядом.
В роутере стоит DNSMASQ, после теста NameBench оказалось, что DNS роутерский и есть самый Fastest)))
Прошивка Wive NG всячески рекомендую
Вы на dnsmaq кэш сбросили?
Москва, провайдер ОнЛайм + dnsmasq (all-servers)

Под виндой воспользовался Acrylic DNS Proxy, позволяет указать до 4х DNS серверов. Оставил провайдерские, гугловский и ближайший из результатов NameBench.

В результате получил ускорение в 4 раза:


Acrylic прописался сервисом, есть 4 мегабайта памяти, процессор не грузит.
Спасибо за совет, раньше при загрузке страниц были ужасные задержки.
Спасибо за софт под Windows=)
У меня 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.

Все смешалось: линуксойды, виндовские нубы.
Пардон, по молодости лет упустил факт кроссплатформенности самого NameBench.
пробовал ставить pdns на FreeBSD.
Вечером, в часы пик не успевала отвечать на запросы. (примерна 300-400 запросов в секунду).
В итоге вернулся на Bind
Хороший у вас вечерний серфинг…
это сервер интернет-провайдера.
чувствую, что график врет, ибо должно быть больше раз эдак в 300.
8.8.8.8 и 8.8.4.4 — это anycast-адреса, а сервера, за ними стоящие, могут быть разные, так что результаты теста могут отличаться.

Попробуйте unbound, в нем еще есть возможность подмены некоторых ответов на свои. Очень облегчает жизнь, не говоря уже о классе самого ПО и его устойчивости к нагрузкам.
Вот первая проблема. Перестает работать видео ютуба. Сайт работает, а вот видео не запускается. Очистка кеша не помогла.
Я слышал что сегодня ютуб побывал в говнореестре «по ошибке», и вроде его уже убрали «но».
Если что — мопед не мой, я в Украине обитаю, не сильно отслеживаю что именно происходит у вас, только тенденции.
С гуглоского днс-а открывается, с провадерского открывается, с локального нет. Точнее не открывается, видео показывает. Открывается-то со всех.
Ну такой проксирующий DNS рассчитывает на синхронность серверов, а в реалиях говнореестра это может нарушаться.
Для более точной диагностики нужно проверить какие именно адреса резолвятся с другими серверами, и не резолвятся с «ускорителем». Проверить что там отдается неправильно (т.е. какой ответ то реально отдается, может там 127.0.0.1 вообще). Определить какой именно сервер опрашивается для получения ответа. Сверить его ответ с ответом «ускорителя».
Возможно поймаете глюк, а возможно реально окажется что какой-то
supervideoserver10050042.youtube.com именно на ns123434.fanat-govnoreestra.ru не резолвится, а он зараза у вас самый быстрый для ютубы оказался.
ютуб работает классно. У меня на FreeBSD он перестает резолвить новые адреса через определенное время. хотя из кеша отдает нормально
Народ. подскажите. А можно как то вставить туда свои локальные адреса (сайты) ?! Реально он быстрый но надо еще свои прописать.
Можно. По-умолчанию (в сборке под Ubuntu) он из вашего /etc/hosts берет записи и раздает их.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории