Бібліотеки клієнтів DNS роблять.
Бібліотеки C містять клієнтів DNS, які завершують пошук імен на адресу в протоколі DNS і передають їх проксі-серверам DNS, щоб виконати всю грубу роботу з вирішення запитів. Таких клієнтів DNS дуже багато. Той, який знаходиться в основній бібліотеці виконання C вашої операційної системи, швидше за все, буде випущений з BIND ISC. Але з dns
бібліотеки Даніеля Дж. Бернштейна через c-ares до adns є цілий ряд інших .
Хоча декілька з них містять свої власні механізми конфігурації, вони, як правило, мають режим сумісності бібліотеки BIND, де вони читають resolv.conf
, що є файлом конфігурації для клієнтської бібліотеки BIND C ISC.
NSS шарується поверх цього і налаштовується nsswitch.conf
. Однією з речей, до яких запити NSS можна викликати внутрішньо, є клієнт DNS, і nsswitch.conf
він читається кодом NSS у бібліотеці C, щоб визначити, чи і куди передаються запити клієнту DNS та як боротися з різними відповідями.
(Існує незначне ускладнення цієї ідеї, спричинене кешем служб імен Dæmon, nscd. Але це просто додає додатковий клієнт верхнього рівня в бібліотеці C, говорячи про ідіосинкратичний протокол на локальному сервері, який, в свою чергу, діє як DNS-клієнт, що говорить протокол DNS на проксі-сервері DNS. systemd-resolved
Додає подібні ускладнення.)
systemd-resolved
, NetworkManager
, connman
, dhcpcd
, resolvconf
, І інші регулювання конфігурації клієнта файл BIND DNS для перемикання DNS клієнтів , щоб поговорити з різними проксі - серверами DNS на льоту. Це не відповідає цій відповіді, тим більше, що на цьому веб-сайті WWW є багато відповідей, які вже стосуються візантійських деталей, які передбачає такий механізм.
Більш традиційний спосіб здійснення справ у світі Unix - це запуск проксі-сервера DNS або на самому апараті, або в локальній мережі. Звідси йдеться в посібнику FreeBSD про нормально налаштовані системи, де дія за замовчуванням бібліотеки клієнтів DNS за відсутності resolv.conf
відповідності звичайним адміністраторам Unix, що є проксі-сервером DNS на 127.0.0.1. (Посібник FreeBSD для resolv.conf
насправді doco, який також походить від BIND ISC, і, звичайно, також можна знайти там, де клієнтська бібліотека BIND DNS була включена в інші місця, такі як бібліотека GNU C.)
Подальше читання