[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Как работает локальный DNS кеш?



On 2015-11-23, Eugene Berdnikov wrote:

>> которые считывает GLib. Как я понял GLib также умеет общаться с DNS серверами
>> (так как это делает dig, есть ощущение что nslookup использует
>> getaddrinfo(3)).
>
>  В "ltrace nslookup localhost |& fgrep addr" ничего не ловится,
>  значит, getaddrinfo(3) там не используется. Было бы странно для
>  писателей bind9 использовать такие вызовы, ибо их модули
>  извлекают из пакетов гораздо больше информации, которую через
>  API для getaddrinfo получить никак невозможно. С другой стороны,
>  от gethostbyname/getaddrinfo невозможно оторвать просмотр hosts
>  и прочей описанной в nsswitch.conf хни, а dig/nslookup делают
>  исключительно обращения к dns, и ничего более. Поэтому nslookup
>  просто не может работать через getaddrinfo(3).
>
Ясно, я забыл что nslookup из проекта BIND.

>> У меня только сомнения по поводу наличия кода в GLibc работающего с DNS
>> серверами на подобии как это делает dig.
>
>  В чём подобие-то? В glibc есть лишь резолвер, а dig имеет гораздо более
>  широкий функционал.

Я не знал в том что glibc содержит частичную реализацию
протокола (как Вы сказали резолвер):

  https://www.ietf.org/rfc/rfc1035.txt

Было удивительно что glibc не просто прослойка к ядру, но также выполняет
прикладные сервисы как разрешение имен.

Я наивно полагал что этим занимается ядро или сторонняя служба...

-- 
Best regards!


Reply to: