LINUX.ORG.RU

Ответ на: комментарий от targitaj

я хочу сказать, что тот же пинг делает gethostbyname() который предоставляет glibc, дальше в зависимости от содержимого /etc/nsswitch.conf делается запрос к следующему по порядку nss модулю

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

То есть, из коробки, в debian 10, например, нет отдельной службы для резолва имён хостов? Верно?

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

Ну не только для дебиан, для лбого дистра с glibc. Насчёт службы, тут надо смотреть реализацию nss, как минимум обычно вертится кеширующий демон nscd, но он не только для резолва, он для всех NSS сущностей: пользователи, группы, сети и пр

https://www.gnu.org/software/libc/manual/html_node/NSS-Basics.html

Upd: главное то забыл, в последнее время часто ставят sssd который, пытается рулить NSS функционал самостоятельно, но сути это не меняет

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

Можешь явно здесь озвучить возможную цепь сущностей? Мне понять как на практике искать и понимать что в конкретной машине есть.

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

Посмотри в /etc/nsswitch.conf, за ресолв отвечает hosts, у меня например выглядит так:

hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname

Значит сначала Glibc спросит /lib/libnss_files.so.2 (по простому, сходит в /etc/hosts), потом /lib/libnss_mdns4.so.2 (эт я хз что, никогда не ковырял их), дальше, даже если mdns4 ничего не нашел [NOTFOUND=return] вернуть этот рузультат, т.е. запрос дальше не пойдёт

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

Погоди, я про цепь процессов. Вот я запускаю свой конечный пользовательский продукт. Процесс. В конфиге моего продукта указано ходить на host:port. Как будет происходить резолв?

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

Как будет происходить резолв?

Спросит getaddrinfo(). Ну, или если по старому, gethostbyname()

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

Oleg_Iu
()
Ответ на: комментарий от targitaj

Тогда я вообще не понимаю смысла существования всех этих systemd-resolvd и прочих.

Они не должны волновать конечный прикладной продукт. Это вещи, которые должны волновать админа.

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

Зачем существуют работающие службой программы-резолверы? Цель какая? Кто и зачем слушает 127.0.0.1:53

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

Зачем существуют работающие службой программы-резолверы? Цель какая?

Может затем, что системные библиотеки знают как, но не знают, где. Где-то должна быть записана информация по хосты, как-то эта информация должна попасть к конечному потребителю. Вот этот процесс и называется резолвингом.

Кто и зачем слушает 127.0.0.1:53

DNS сервер. Если резольвер попросите спрашивать у 127.0.0.1:53 - он у него спросит.

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

DNS сервер? Какой? Я никакого не ставил.

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