домену. Пошук
хоста з добавленим локальним доменом дозволяє його відсікти,
що дозволяє успішно проводити пошук в /etc/hosts.
Опції trim накопичуються що робить можливим вважати ваш
хост як локальний для кількох доменів.
Простий файл для vlager показано нижче:
# /etc/host.conf
# We have named running, but no NIS (yet)
order bind hosts
# Allow multiple addrs
multi on
# Guard against spoof attempts
nospoof on
# Trim local domain (not really necessary).
trim vbrew.com.
7.1.2 Змінні середовища для resolver
Значення встановлені в host.conf можуть бути змінені за допомогою змінних середовища :
RESOLV HOST CONF Описує файл конфігурації який буде читатись замість
/etc/host.conf
RESOLV SERV ORDER Пепреписує порядок звернення описаний в host.conf.
Опціями можуть бути hosts, bind та nis розділені пробілом,
комою, двокрапкою чи крапкою з омою ';'.
RESOLV SPOOF CHECK Регулює реакцію системи на spoofing. Повністю
відключається опцією off. Значення warn та warn off вмикає
перевірку на spoof та вмикає або не вмикає запис в лог
відповідно. Значення * вмикає перевірку на spoof а запис в
лог залишає як було описано в host.conf.
RESOLV MULTI Значення on та off можуть використовуватись для
переозначення опції multi з файлу host.conf.
RESOLV OVERRIDE TRIM DOMAIN Ця змінна середовища описує список доменів
якими буде замінено список взятий з host.conf.
RESOLV ADD TRIM DOMAIN Ця змінна середовища описує список доменів які
буде добавлено до відповідного списку з host.conf.
7.1.3 Конфігурування звернень сервера назв --- resolv.conf
При конфігуруванні бібліотеки звернень (resolver) для використання служби назв BIND для пошуку хостів, ви повинні також вказати який сервер назв буде використовуватись. Для цього існує спеціальний файл - resolv.conf. Якщо цей файл відсутній або пустий resolver вважатиме що сервер назв знаходиться на вашій локальній машині.
Якщо ви використовуєте сервер назв на вашому локальному хості ви повинні сконфігурувати його окремо як буде описано в наступній секції. Якщо ваша машина знаходиться в локальній мережі то значно кращим варіантом буде використання існуючого сервера назв.
Найбільш важливою для resolv.conf опцією є nameserver в якій вказується IP адреса сервера назв для вашої машини. Якщо ви задасте кілька серверів імен то вони будуть викликатись в порядку розташування. Тому першим ви повинні подати найбільш надійний сервер. На данний момент підтримується до трьох серверів назв одночасно.
Якщо опцію nameserver опущено то resolver спробує з'єднатись з сервером назв на локальному хості.
Дві інших опції - domain та search - вказують домен який буде по замовчуванню додаватись до назви хоста у випадку якщо BIND не зможе успішно вирішити перший запит. Опція search описує список доменів розділених пробілами або табуляціями.
Якщо не вказано опцію search то список по замовчуванню формується з локального домену використовуючи його безпосередньо плюс всі батьківські домени до кореня. Назва локального домену можна задати використовуючи команду domain. У випадку якщо жодної з команд не вказано resolver отримує цю інформацію через системний виклик getdomainname(2).
Якщо це звучить для вас незрозуміло, розгляньте цей приклад файлу resolv.conf для Virtual Brewery.
# /etc/resolv.conf
# Our domain
domain vbrew.com
#
# We use vlager as central nameserver:
nameserver 191.72.1.1
При пошуку назви vale, resolver спочатку спробує знайти vale, а при його відсутності vale.vbrew.com і після нього vale.com.
7.1.4 Захищеність від помилок resolver-а
Якщо ваща локальна мережа знаходжиться всередині більшої, ви однозначно повинні використовувати сентральний сервер назв (якщо він доступний). Перевагою цього буде те, що центральний сервер буде тримати великий кеш, так як всі запити будуть переправлені до нього. Все ж ця схема має один недолік - коли недавно пожежа зруйнувала центральний кабель в нашому університеті, то була припинена будь-яка робота в нашій локальній мережі, так як resolver не міг з'єднатись з жодним сервером назв. Це не дозволило працювати ні з X терміналами, ні прінтерами, то що.
Хоча пожежі в університетському містечку трапляються нечасто, все ж варто передбачити і таку можливіть та прийняти запобіжні міри проти подібних випадків.
Одним з варінтів вирішення цієї проблеми може бути встановлення локального сервера назв для пошуку назв хостів локального домену та переадресації інших запитів на головні сервери. Звичайно, це можливо якщо ви маєте свій власний домен.
Іншим виходом може бути підтримка резервної таблиці хостів для вашого домену чи LAN в /etc/hosts. В /etc/host.conf ви пованні включити стрічку `order bind host' для того щоб resolver звертався до файлу hosts у випадку неможливості зв'язатись з центральним сервером назв.
7.2 Використання named
Програма яка забезпечує службу назв доменів на більшості Un*x машинах називається named (вимовляється name-dee). Це програма-сервер спочатку розроблена для підтримки в BSD служби назв клієнтами та можливо іншими серверами назв. Біжуча версія яка використовується зараз в Linux називається BIND-4.8.3. Нова версія, BIND-4.9.3, на зараз перебуває на beta тестуванні і скоро повинна бути доступна в Linux.
Ця секція потребує деякого розуміння основ роботи DNS. Якщо наступна інформація буде незрозумілою для вас - то ви можете звернутись до глави 3 повторно (там описано основи DNS).
Частіше усього named стартує під час завантаження системи та працює поки працює машина. Головним конфігураційним файлом для named є /etc/named.boot та інших файлів які містять данні відносно зв'язків між доменними назвами та адресами і т.п. (такі файли називаються файлами опису зон). Формат і семантику цих файлів буде описано в наступній секції.
Для запуску named просто наберіть :
# /usr/sbin/named
у відповідь на запрошення. named завантажить конфігкраційний файл named.boot та всі файли зон вказані там, запише номер процесу в /var/run/named.pid, завантажить інформацію з усіх вказаних primary серверів (якщо