Как в GNU/Linux работает резолвинг DNS? Как система превращает имя DNS в IP-адрес?

Почти все программы слинкованы с системной glibc (libc.so.6). Когда в glibc поступает запрос на резолвинг имени хоста, поочередно опрашиваются плагины NSS (Name Switch Service), прописанные в /etc/nsswitch.conf в строке hosts. В случае

rosa-2016 ~ # cat /etc/nsswitch.conf | grep ^hosts
hosts:     mdns4_minimal files nis dns wins myhostname mymachines mdns4 
rosa-2016 ~ #

сначала будет попытка разрешить имя через Avahi по протоколу multicast DNS (mdns4_minimal), затем через файл /etc/hosts (files), затем через nis (устаревшая штука), затем, собственно, сам dns. Кто первый ответит, тот ответ и принимается.

Отправить ответ

avatar
  Subscribe  
Сообщать по почте