LINUX.ORG.RU

Какой локальный DNS-резолвер вы используете?

 


2

2

Резолверы DNS играют важную роль в быстрой и надёжной работе сети, обеспечивая преобразование доменных имён в IP-адреса.

В зависимости от задач и предпочтений, пользователи могут выбирать различные резолверы. Например, systemd-resolved неплохо работает из коробки. DNSCrypt-proxy обеспечивает шифрование DNS-трафика, фильтрацию, скрытие IP-адресов, и балансировку нагрузки между наиболее быстрыми вышестоящими серверами. CoreDNS удивляет простотой настройки при высокой гибкости и отличной производительности, достигаемой благодаря многопоточности Go и оптимизации со стороны сообщества Kubernetes.

Поделитесь своим выбором!

  1. systemd-resolved (встроенный в systemd) 125 (32%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Не использую локальный DNS-резолвер (пользуюсь серверами провайдера напрямую) 92 (23%)

    *******************************************************************************************************************************************************************************************************************************************

  3. dnsmasq (часто используется в комбинации с другими сервисами) 89 (23%)

    ***********************************************************************************************************************************************************************************************************************************

  4. Не использую локальный DNS-резолвер (прописываю альтернативные сервера - cloudflare/google/yandex/другие) 88 (22%)

    *********************************************************************************************************************************************************************************************************************************

  5. BIND (традиционный DNS-сервер с полным функционалом) 41 (10%)

    ********************************************************************************************************

  6. unbound (мощный и гибкий DNS-резолвер) 34 (9%)

    ***************************************************************************************

  7. dnscrypt-proxy (резолвер с поддержкой DNS шифрования) 23 (6%)

    **********************************************************

  8. Другой (укажите в комментариях) 20 (5%)

    ***************************************************

  9. AdGuard Home (блокировка рекламы и трекеров на основе кода adguard-dns.io) 19 (5%)

    ************************************************

  10. Pi-hole (адблокинг и резолвинг в одном флаконе) 18 (5%)

    **********************************************

  11. PowerDNS Recursor (резолвер с возможностью расширения) 7 (2%)

    *****************

  12. CoreDNS (модульный и лёгкий DNS резолвер) 5 (1%)

    ************

  13. Knot Resolver (резолвер от CZ.NIC) 3 (1%)

    *******

Всего голосов: 564, всего проголосовавших: 395

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

systemd-resolved (встроенный в systemd)

Jaeger1999 ★★★★
()
Ответ на: комментарий от ei-grad

Это когда системная библиотека шлёт днс запрос и ждёт днс ответ от сервера, прописанного в /etc/resolv.conf

Собственно, у тебя есть пункт «не использую резолвер, использую сервера провайдера» - так не бывает. Чтобы к ним обратиться, резолвер уже нужен.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

после предыдущего сообщения разбил на два) что имеется ввиду под «так не бывает» и чем это «не бывает» отличается от «система шлет запрос серверу прописанному в resolv.conf» - не понимаю

ei-grad ★★★★★
() автор топика

вообще хороший вопрос, что из этого реально занимается резолвингом, а не проксирует запрос на вышестоящий сервер

ei-grad ★★★★★
() автор топика
Ответ на: комментарий от ei-grad

Открой man resolv.conf - там будет указано что это конфиг системного резолвера.

Не бывает отправки запросов без резолвера, так как шлёт их как раз резолвер - функции gethostbyname(), getaddrinfo() и подобные из libc.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Попытаюсь пофиксить рассинхрон в терминологии и убрать неясность, поэтому тоже немного побуду кэпом: libc не умеет в рекурсивный резолвинг - gethostbyname и прочие только обращаются к серверу указанному в resolv.conf (после других методов указанных в nsswitch.conf). Термин «резолвер» можно трактовать довольно широко (aka «любая хрень которая участвует в разрешении имен»), но в рамках этого топика я бы предпочел не доходить до уровня библиотечных функций, а остановится на сетевых сервисах которые могут реализовывать обработку DNS запросов, как через полноценный рекурсивный резолвинг (unbound) так и просто проксировать dns запросы на вышестоящий сервер указанный в конфиге :-).

ei-grad ★★★★★
() автор топика
Последнее исправление: ei-grad (всего исправлений: 1)
Ответ на: комментарий от ei-grad

libc не умеет в рекурсивный резолвинг

Тогда укажи рекурсивность в заголовке опроса и двусмыслнность исчезнет.

просто проксировать dns запросы на вышестоящий сервер указанный в конфиге

Собственно чем это отличается от libc резолвера, кроме способа получения запросов?

А, тогда так - замени «не использую» на что-нить типа «использую только обычный резолвер без доп софта» или «не использую дополнительный расширенный резолвер». Потому что говорить что gethostbyname() - это «без резолвера» - однозначно неверно.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от ei-grad

Попытаюсь пофиксить рассинхрон в терминологии и убрать неясность

Я, кстати, когда правил стилистику, думал и о терминологии (но дальше дум дело не пошло, и наверное, это к лучшему). В английской Википедии есть статья Public recursive name server, где прямо написано:

A public recursive name server (also called public DNS resolver) is a name server service that networked computers may use to query the Domain Name System (DNS), the decentralized Internet naming system, in place of (or in addition to) name servers operated by the local Internet service provider (ISP) to which the devices are connected.

То есть похоже, что у англоязычных, если уж говорят про resolver, то именно recursive и подразумевают. К сожалению, в русском разделе Википедии аналога этой статьи нет…

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Не думаю что «also called public DNS resolver» стоит трактовать настолько строго :-). Уверен что 1.1.1.1 и 4.4.4.4 вполне попадают под определение «public DNS resolver», при этом между ними и собственно recursive resolver’ами по-любому стоит какой-то кеширующий сервер.

ei-grad ★★★★★
() автор топика

Очень странно, всегда думал что резолвер это dns клиент. Судя по голосовалке это dns сервер. Хм.

mx__ ★★★★★
()
Ответ на: комментарий от ei-grad

что из этого реально занимается резолвингом, а не проксирует запрос на вышестоящий сервер

Так все что не является NS'ом будет проксировать запросы, но никто же не мешает мне на локалхосте поднять бинд и указать апстримы или отдавать записи из /etc/hosts каким-нибудь системдшным резолвером на сервере, который указан в DNS ответственным за мою зону. Я хочу сказать что это от роли зависит, а не от выбранного ПО.

micronekodesu ★★★
()
Ответ на: комментарий от micronekodesu

Это всё-таки про реализацию рекурсивного резолвинга - в bind например есть recurision yes, а у половины списка ничего подобного нет, только список upstream / параметры кеширования / и возможность гибко это настроить для разных зон.

ei-grad ★★★★★
() автор топика

Pi-Hole на серваке под столом. Локально - только systemd-resolved. Проголосовал за оба варианта.

der_fenix
()

hobbit может всё-таки исправишь эти фейковые «не использую»? Функция gethostbyname() из libc сама по себе резолвер, и не использовать её невозможно.

Возможно вопрос стоит уточнить как кеширующий/рекурсивный/дополнительный/ещё какой-то резолвер, или же исправить эти пункты, заменив их на «использую системный без доп прослоек».

firkax ★★★★★
()
Ответ на: комментарий от mx__

Верно, резолер это клиент, а автор устроил кашу из терминов, о чём я ему ещё месяц назад написал но меня проигнорили.

firkax ★★★★★
()
Ответ на: комментарий от hobbit

Но я месяц назад писал же, не верится что ты не видел.

А чуть подправить хотя бы текст вопроса, чтобы уточнить этот аспект, по-моему можно и в уже начавшемся.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

В домашней лабе - bind хостит зону и ловит ddns от dhcpd, апстримом к нему гугл.

На личном ноуте руками прописан гугл + есть пачка зон, которые обернуты в маковский /etc/resolver.

Всем остальным wifi/lan клиентам гугл раздается по dhcp.

l0stparadise ★★★★★
()
Ответ на: комментарий от firkax

Опрос именно про то что написано, сетевой сервис отвечающий за обработку запросов по протоколу DNS, а не про функцию gethostbyname.

ei-grad ★★★★★
() автор топика
Ответ на: комментарий от firkax

Подправить на это?

замени «не использую» на что-нить типа «использую только обычный резолвер без доп софта» или «не использую дополнительный расширенный резолвер». Потому что говорить что gethostbyname() - это «без резолвера» - однозначно неверно.

Пожалуйста не надо, это только добавит путаницы :-).

ei-grad ★★★★★
() автор топика
Последнее исправление: ei-grad (всего исправлений: 1)
Ответ на: комментарий от firkax

Какое вообще отношение функция gethostbyname имеет к DNS? Что если хост вообще только с NetBIOS-NS умеет работать?

ei-grad ★★★★★
() автор топика
Ответ на: комментарий от ei-grad

сетевой сервис отвечающий за обработку запросов по протоколу DNS

называется днс-сервер, а ты пишешь про резолвер - это другое, и gethostbyname как раз оно

firkax ★★★★★
()
Ответ на: комментарий от ei-grad

Такое, что с её помощью все проги резолвят имена в айпи-адреса, и в подавляющем большинстве случаев она это делает с помощью отправки днс-запросов.

firkax ★★★★★
()
Ответ на: комментарий от ei-grad

что из этого реально занимается резолвингом, а не проксирует запрос на вышестоящий сервер

То что делает вот так (linux-doc.ru).

sinaps ★★
()

Пару лет уже на тв-боксе adguard home крутится с DNS-over-HTTPS апстримом.
До этого пробовал заводить Pi-hole, но как-то не прижилось.

devl547 ★★★★★
()
Ответ на: комментарий от firkax

Под DNS-сервером можно так же понимать авторитативный DNS-сервер. DNS-резолвер, это то что во вариантах ответа, и это не gethostbyname.

ei-grad ★★★★★
() автор топика
Ответ на: комментарий от firkax

в подавляющем большинстве случаев она это делает с помощью отправки днс-запросов

на указанный ей dns-резолвер который может не быть рекурсивным :-)

(либо не с помощью отправки dns-запросов, из чего следует что называть конкретно функцию gethostbyname dns-резолвером - не корректно)

ei-grad ★★★★★
() автор топика
Ответ на: комментарий от ei-grad

Да что ж такое? Ещё раз, резолвер - это клиент. От того, что сервера бывают разных видов, смысл слова «резолвер» не меняется.

Некоторые сервера (если они не чисто авторитативные) могут резолвить домены с помощью внешних запросов, некоторые - нет. Но это не определение слова «резолвер» никаким образом.

firkax ★★★★★
()
Ответ на: комментарий от firkax

резолвер - это клиент

Этот «клиент» чем-то отличается от, скажем браузера, который тоже клиент? Или нет?

sinaps ★★
()
Ответ на: комментарий от windows10

Если не секрет - зачем мне знать, какой локальный DNS-резолвер я использую?

Исходя из твоего ника думаю тебе не надо…=)

Shprot ★★
()

Какой локальный DNS-резолвер вы используете?

Пф-ф-ф… Глупый вопрос. Конечно же виндовс икс пи…=)

Shprot ★★
()
Ответ на: комментарий от ei-grad

В бинде это имеет смысл потому что там разные ACL'и есть, я могу разрешить перенаправлять запросы от 192.168.0.0/24 в апстрим, но не разрешать для 192.168.1.0/24, при этом описание зоны для них одно. В случае dnsmasq например все входящие запросы обрабатываются одинаково, я не смогу части клиентов прописать какую-то кастомную логику.

Опять же, сравнивая bind и dnsmasq (я просто с другими и не знаком то) - я в бинде могу одну и ту же зону написать по-разному для разных подсетей, и я встречал реальное использование такого подхода, а в dnsmasq такого нет (в рамках одного конфига, не рассматривая вариант запуска нескольких серверов и «маршрутизации» запросов iptables'ом), так что это прям действительно разного уровня сервера, но все равно нельзя сказать что один только для хокалхоста, а второй только для NSов.

micronekodesu ★★★
()

Резолверы DNS играют важную роль в быстрой и надёжной работе сети, обеспечивая преобразование доменных имён в IP-адреса.

Резолвер - он один. А тут список DNS-кэшей локальных, когда в конфиге резолвера пишут «nameserver 127.0.0.1».

AS ★★★★★
()
Ответ на: комментарий от firkax

В современных браузерах кстати своя реализация резолвера, да, я что-то и забыл.

Прикольно. И кэшируют сами по себе, отдельно? Интерено, нафига. Чтобы людей запутать, что ли...

AS ★★★★★
()
Ответ на: комментарий от anonymous_sama

Я апстримом DoH от Гугла и Cloudflare использую.

devl547 ★★★★★
()

dnsmasq. Так как возможность добавлять в ipset адреса по домену - это киллер фича сильно облегчающая проблемы с блокировками. Не надо искать готовые списки.

as_lan ★★
()
Ответ на: комментарий от sinaps

Нет, они шлют запросы настроенному в системе или в браузере днс серверу.

firkax ★★★★★
()
Ответ на: комментарий от AS

Ну вообще смысл то есть. Например, системным резолвером не получится запросить параллельно пачку доменов без мультитреда (или даже один домен, на завесив остальное исполнение программы на это время). А в последнее время они стали туда ещё всякие doh и прочую гадость добавлять, которых в системном вообще нет.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

У меня dnsmasq на т.н. роутере, а он уже дергает днс провайдера. Что мне отвечать?

И это, что делает лЁнькин systemd-resolved, просто заменяет собой системный резолвер с его /etc/resolv.conf?

yaba ★★★
()

Ожидаемо. А по началу вони от хейтеров было - хоть топор подвешивай :-D

zabbal ★★★☆☆
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.