Конфигурация на услуга за имена и преобразувател

Ръководство на мрежовия администратор на Linux
обратноНапред

Функциите четат конфигурационния файл. Той казва коя услуга да се използва и в какъв ред. Старата стандартна библиотека на Linux, libc, използваше файла /etc/host.conf, но библиотеката GNU версия 2, glibc, използва файла /etc/nsswitch.conf.

Тази опция определя реда, в който се повтарят всички налични услуги. Стойността hosts обвързва сървърните заявки с /etc/hosts търсения на хост, свързва се с посочения пакет и nis с NIS търсения. Всяка или всички стойности могат да бъдат дефинирани наведнъж. Редът, в който се появяват в редовете, определя последователността, в която услугите ще бъдат повторени.

Тази опция може да бъде включена или изключена. Ако е разрешено, всички опити за подправяне ще бъдат регистрирани в syslog.

Тази опция приема като аргумент името на домейна, което трябва да бъде премахнато от името на хоста преди търсенето. Това е полезно за информационни елементи, където искате да посочите име на хост с локален домейн. Търсенето на хост с локално име на домейн ще премахне това име на домейн. Така че е лесно да търсите в /etc/hosts. Името на домейна, което добавяте, трябва да завършва с точка (.), като например linux.org.au. .

Опцията за изрязване ви позволява да третирате вашия хост като локален за множество домейни.

Примерен файл за vlager е показан в Пример 6-1.

Пример 6-1. Примерен файл host.conf

Настройките във файла host.conf могат да се променят с помощта на редица променливи на средата:

Указва файла, който да бъде прочетен вместо /etc/host.conf.

Заменя опцията за поръчка в host.conf. Услугите, посочени като hosts, bind и nis, се разделят с интервал, запетая, двоеточие или точка и запетая.

Указва действията, които трябва да се предприемат срещу спуфинг. Тази настройка е напълно деактивирана с опцията за изключване. Стойностите warn и warn off включете проверката за подправяне, но съответно включете и изключете влизането. Стойността * включва проверка, но оставя регистриране, както е дефинирано във файла host.conf.

Тази променлива може да се използва за отмяна на мулти опцията от host.conf. Валидните стойности са включени или изключени.

Указва списък с трим домейни, който деактивира зададените в host.conf.

Дефинира списък с трим домейни, които се добавят към тези, дадени в host.conf.

Версия 2 на стандартната библиотека на GNU включва по-мощен и гъвкав механизъм от стария host.conf. Концепцията за услуга за имена е разширена, за да включва редица различни видове информация. Конфигурационните опции за всички функции, които заявяват бази данни, са преместени в един конфигурационен файл, nsswitch.conf.

Налични са следните опции:

nis или nisplus

Редът, в който са изброени услугите, определя последователността, в която се анкетират. Списъкът с поръчки за запитване е в описанието на услугата във файла /etc/nsswitch.conf. Услугите се анкетират отляво надясно и по подразбиране анкетата спира, когато преобразуването приключи.

Прост пример за спецификацията на хост и мрежови бази данни е показан в Пример 6-2.

Пример 6-2. Примерен файл nsswitch.conf

Този пример принуждава системата да търси компютри първо в системата за имена на домейни и ако не успее, във файла /etc/hosts. Търсенето на име на мрежа използва само файла /etc/networks.

Можете да манипулирате справочната таблица по-точно, като използвате „елементи за действие“, които описват какво действие използва резултатът от предишното търсене. Елементите за действие се появяват между спецификациите на услугата и са включени вквадратни скоби ( [] ). Общият синтаксис тук е:

Има две възможни действия:

Контролът се връща към програмата, която е поискала разрешаването на името. Ако опитът за търсене е успешен, резолверът ще върне подробни данни, в противен случай нула.

Резолверът ще премине към следващата услуга в списъка и ще се опита да я използва.

Наличните стойности на състоянието, които можем да използваме, са:

Исканият запис беше намерен без грешка. Действието по подразбиране за това състояние е return.

Услугата е недостъпна. Файлът с хостове или мрежи не се чете от услугата за файлове, сървърът за имена или NIS сървърът не отговаря на заявки от услугите dns или nis. Действието по подразбиране за това състояние е продължи.

Това състояние означава, че услугата е временно недостъпна. За услугата за файлове това обикновено означава, че файлът е заключен от някакъв процес. За други услуги това може да означава, че сървърът временно не може да приема връзки. Действието по подразбиране за това състояние е продължи.

Прост пример за това как можете да използвате този механизъм е показан в Пример 6-3.

Пример 6-3. nsswitch.conf файл с команда за действие

Когато конфигурирате библиотеката на резолвера да използва услугата BIND за намиране на хостове, трябва да посочите кое име на сървъра използвате. Има отделен файл специално за това, наречен resolv.conf. Ако този файл не съществува или е празен, тогава резолверът ще вземе името на сървъра, дефиниран за вашия локален хост. Ако изпълнявате сървъра на вашия локален хост, трябва да зададете това име отделно, както ще бъде обяснено по-късно в следващия раздел. Ако локалната мрежа има възможност да използва съществуващаиме на сървъра, трябва да е за предпочитане.

Това е само целта на израза за домейна. Позволява ви да посочите име на домейн по подразбиране, което да се добави, когато DNS не успее да търси име на хост. Например, когато се даде името гаус, резолверът не може да намери машинния гаус. в DNS, защото няма такъв домейн от първо ниво. Когато се даде mathematics.groucho.edu по подразбиране, резолверът прави повторен опит за заявка за гаус с домейна по подразбиране.

Но след като излезете извън областта на математическия факултет, хубавият живот свършва. Разбира се, вие също бихте искали да имате записи като quark.physics за компютри в отдела по физика.

Това става с помощта на списъка за търсене. Списъкът може да бъде уточнен с помощта на опцията за търсене, която е обобщение на оператора за домейн. Той определя списък с домейни, които ще се използват за търсене на машини с кратко име.

Изявленията за търсене и домейн се изключват взаимно и не могат да се появяват повече от веднъж. Ако не е дадена опция, резолверът се опитва да вземе домейна по подразбиране от локалното име на хост (име на хост) със системното извикване getdomainname(2). Ако локалното име на хост няма част от домейна, домейнът по подразбиране ще бъде взет като основен домейн.

Ако поставите оператор за търсене в resolv.conf, трябва да внимавате кои домейни отиват там. Библиотеката Resolver преди BIND 4.9 създаде списък за търсене по подразбиране от име на домейн, когато не беше зададен списък за търсене. Този списък по подразбиране се състои от домейна по подразбиране и всички родителски домейни до основния. Това създаде проблеми, тъй като DNS заявките бяха изпратени до сървъри, които никога не са работили с правилния домейн.

Да приемем, че сте онлайнВиртуалната пивоварна иска да отиде на foot.groucho.edu. Но погрешно въвеждате foo вместо foot, което не съществува. Сървърът за имена на GMU ще ви каже, че не познава такъв компютър. Със списък за търсене в стар стил резолверът ще продължи да се опитва да намери името с добавени vbrew.com и com. Последното е проблематично, защото groucho.edu.com може да бъде истинският домейн. Техният сървър за имена може дори да търси foo в техния домейн. В резултат на това ще се качите на кола, към която изобщо не сте се стремили! Малко вероятно е да се регистрирате в него, но ще бъдете напълно объркани.

За някои приложения тези фалшиви главни справочни таблици могат да представляват проблем със сигурността. Следователно, обикновено трябва да ограничите домейните в списъка си за търсене до местната организация. В математическия факултет на университета Граучо Маркс списъкът за търсене обикновено е зададен на maths.groucho.edu и groucho.edu.

Ако домейнът по подразбиране създава проблеми, вижте частта resolv.conf на Virtual Brewery:

Когато се поиска име на vale, резолверът търси vale и ако не успее, vale.vbrew.com.

Ако работите с LAN в по-голяма мрежа, трябва по всякакъв начин да използвате централните сървъри за имена, ако са налични. Това има предимството, че те имат богати кешове, тъй като всички заявки са насочени към тях. Тази схема има недостатък: когато основният кабел в нашия университет изгоря при пожар, беше невъзможно да се работи по-нататък в LAN на нашия отдел, тъй като резолверът не можа да достигне до нито един от сървърите. Нямаше влизане на X терминали, печат на принтери и т.н.

Въпреки че не е добре да се наведете пред огъня в кампуса, всеки е длъжен да спазва предпазните мерки, за да избегне инциденти като тези.

Един от методитезаобиколете това: настройте локален сървър, който разрешава имена от вашия локален домейн и препраща всички заявки за други имена към главните сървъри. Разбира се, това важи само когато използвате собствен домейн.