• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. сървър
  3. Глава 7 Мрежова информационна услуга (NIS) (Общ преглед ...

Глава 7 Мрежова информационна услуга (NIS) (Общ преглед ...

Rsdaa 25/12/2021 1807

Глава 7 Мрежова информационна услуга (NIS) (Общ преглед)

Тази глава предоставя общ преглед на мрежовата информационна услуга (NIS).

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

Тази глава обхваща следните теми.

Въведение в NIS

Чрез стартиране на NIS, системният администратор може да разпространява административни бази данни, наречени карти, между различни сървъри (главни и подчинени). Администраторът може да актуализира тези бази данни от централизирано местоположение по автоматичен и надежден начин, за да гарантира, че всички клиенти споделят една и съща информация за услугата за именуване по последователен начин в цялата мрежа.

NIS е разработен независимо от DNS и има малко по-различен фокус. Докато DNS се фокусира върху опростяването на комуникацията чрез използване на имена на машини вместо числови IP адреси, NIS се фокусира върху това да направи мрежовата администрация по-управляема чрез предоставяне на централизиран контрол върху разнообразна мрежова информация. NIS съхранява информация не само за имената и адресите на машините, но и за потребителите, самата мрежа и мрежовите услуги. Тази колекция от мрежова информация се нарича NIS namespace.

Забележка –

В някои контексти имената на машини се отнасят до имена на хостове или имена на машини. Тази дискусия използва машина, но някои екранни съобщения или имена на карти на NIS може да използват хост или машина.

Архитектура на NIS

NIS използва схема клиент-сървър. NIS сървърите предоставят услуги на NIS клиенти. Основните сървъри се наричат ​​главни сървъри и за надеждност те имат резервни или подчинени сървъри. И главният, и подчиненият сървър използват NIS софтуера за извличане на информация и съхраняват NIS карти.

NIS използва домейни, за да подреди машините, потребителите и мрежите в своето пространство от имена. Той обаче не използва йерархия на домейни; пространството от имена на NIS е плоско.

По този начин тази физическа мрежа ще бъде подредена в един NIS домейн.

NIS домейн не може да се свърже директно към интернет само с NIS. Все пак организации, които искат да използват NIS и също да бъдат свързани към Интернет, могат да комбинират NIS с DNS. Можете да използвате NIS, за да управлявате цялата локална информация и да използвате DNS за търсене на интернет хост. NIS предоставя услуга за пренасочване, която препраща търсенията на хост към DNS, ако информацията не може да бъде намерена в NIS карта. Операционната среда на Solaris също ви позволява да настроите файла nsswitch.conf, така че заявките за търсене на хостове да отиват само към DNS или към DNS и след това към NIS, ако не бъдат открити от DNS, или към NIS и след това към DNS, ако не бъдат намерени от NIS. Вижте Глава 2, Превключвателят за услуга за имена (Общ преглед) за подробности.

Типове NIS машини

Има три вида NIS машини.

Главен сървър

Починени сървъри

Клиенти на NIS сървъри

Всяка машина може да бъде NIS клиент, но само машините с дискове трябва да бъдат NIS сървъри, главни или подчинени. Сървърите също са клиенти, обикновено сами по себе си.

NIS сървъри

NIS сървърът не трябва да бъде същата машина като NFS файловия сървър.

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

Можете да посочите допълнителни NIS сървъри в домейна като подчинени сървъри. Подчинен сървър има пълно копие на главния набор от NIS карти. Всеки път, когато картите на главния сървър се актуализират, актуализациите се разпространяват между подчинените сървъри. Подчинените сървъри могат да се справят с всяко препълване на заявки от главния сървър, свеждайки до минимум грешките „сървърът е недостъпен“.

Обикновено системният администратор определя един главен сървър за всички NIS карти. Въпреки това, тъй като всяка отделна NIS карта има името на машината на главния сървър, кодирано в нея, можете да посочите различни сървъри, които да действат като главни и подчинени сървъри за различни карти. За да сведете до минимум объркването, посочете един сървър като главен за всички карти, които създавате в рамките на един домейн. Примерите в тази глава предполагат, че един сървър е главният за всички карти в домейна.

NIS клиенти

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

Елементи на NIS

Услугата за именуване на NIS се състои от следните елементи:

домейнът на NIS

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

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

NIS демони

NIS услугата се предоставя от пет демона, както е показано в таблица 7–1.

Таблица 7–1NIS демони

Демон

Функция

ypserv

Сървърен процес

ypbind

Процес на обвързване

ypxfrd

Високоскоростен трансфер на карта

rpc.yppasswdd

Демон за актуализиране на парола за NIS

** Вижте ЗАБЕЛЕЖКАТА по-долу.**

rpc.ypupdated

Модифицира други карти като publickey

Забележка –

rpc.yppasswdd счита всички черупки, които започват с r, за ограничени. Това означава, че потребителите, които имат обвивка, която започва с r. Например, ако сте в /bin/rksh, нямате право да променяте тази обвивка на друга. Ако имате обвивка, която започва с r, но не е предназначена да бъде ограничена като такава, вижте Глава 10, NIS Отстраняване на неизправности за заобиколно решение.

Помощни програми на NIS

Услугата NIS се поддържа от девет помощни програми, както е показано в Таблица 7–2.

Таблица 7–2NIS помощни програми

Помощна програма

Функция

makedbm

Създава dbm файл за NIS карта

ypcat

Изброява данни в карта

ypinit

Изгражда и инсталира NIS база данни и инициализира списъка ypservers на клиента на NIS.

ypmatch

Намира конкретен запис в карта

yppoll

Получава номер на поръчка на карта от сървър

yppush

Разпространява данни от NIS master към NIS slave сървър

ypset

Задава обвързване към определен сървър

ypwhich

Изброява името на NIS сървъра и таблицата за превод на псевдоними

ypxfr

Прехвърля данни от главен към подчинен NIS сървър

NIS карти

Информацията в NIS картите се съхранява във формат ndbm. ypfiles(4) и ndbm(3C) обясняват формата на картата.

NIS картите са проектирани да заменят UNIX /etc файлове, както и други конфигурационни файлове, така че съхраняват много повече от имена и адреси. В мрежа, работеща с NIS, NIS главният сървър за всеки домейн на NIS поддържа набор от NIS карти за други машини в домейна за запитване. NIS slave сървърите също поддържат дубликати на картите на главния сървър. Клиентските машини на NIS могат да получават информация за пространството на имената от главни или подчинени сървъри.

Картите на NIS са по същество таблици с две колони. Едната колона е ключът, а другата колона е информация, свързана с ключа. NIS намира информация за клиент чрез търсене в ключовете. Част от информацията се съхранява в няколко карти, тъй като всяка карта използва различен ключ. Например, имената и адресите на машините се съхраняват в две карти: hosts.byname и hosts.byaddr. Когато сървър има име на машина и трябва да намери нейния адрес, той търси в картата hosts.byname. Когато има адреса и трябва да намери името, той търси в картата hosts.byaddr.

NIS Makefile се съхранява в директорията /var/yp на машини, определени като NIS сървър по време на инсталиране. Изпълнението на make в тази директория кара makedbm да създава или променя NIS картите по подразбиране от входните файлове.

Забележка –

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

По подразбиране NIS карти

Набор по подразбиране от NIS карти се предоставя в операционната среда на Solaris. Може да искате да използвате всички тези карти или само някои от тях. NIS може също да използва каквито и карти да създадете или добавите, когато инсталирате други софтуерни продукти.

Картите по подразбиране за NIS домейн се намират в директорията /var/yp/domainname на всеки сървър. Например картите, които принадлежат към домейна test.com, се намират в директорията /var/yp/test.com на всеки сървър.

Таблица 7–3 описва NIS картите по подразбиране, информацията, която те съдържат, и дали софтуерът се консултира със съответните административни файлове, когато NIS работи.

Таблица 7–3 Описания на картите на NIS

Име на картата

Съответен административен файл на NIS

Описание

параметри за зареждане

параметри за зареждане

Съдържа имена на пътища на файлове, от които клиентите се нуждаят по време на зареждане: root, swap, евентуално други.

ethers.byaddr

етери

Съдържа имена на машини и Ethernet адреси. Ethernet адресът е ключът в картата.

ethers.byname

етери

Същото като ethers.byaddr, с изключение на това, че ключът е името на машината вместо Ethernet адреса.

group.bygid

група

Съдържа информация за сигурност на групата с ID на групата като ключ.

group.byname

група

Съдържа информация за сигурност на групата с име на групата като ключ.

hosts.byaddr

хостове

Съдържа име на машина и IP адрес, с IP адрес като ключ.

hosts.byname

хостове

Съдържа име на машина и IP адрес, с име на машина (хост) като ключ.

mail.псевдоними

псевдоними

Съдържа псевдоними и имейл адреси, с псевдоними като ключ.

mail.byaddr

псевдоними

Съдържа имейл адрес и псевдоним, с имейл адрес като ключ.

netgroup.byhost

мрежова група

Съдържа име на група, потребителско име и име на машина.

netgroup.byuser

мрежова група

Същото като netgroup.byhost, с изключение на това, че ключът е потребителско име.

мрежова група

мрежова група

Същото като netgroup.byhost, с изключение на това, че ключът е името на групата.

netid.byname

passwd, хостове

група

Използва се за удостоверяване в стил UNIX. Съдържа име на машина и имейл адрес (включително име на домейн). Ако има наличен netid файл, той се консултира в допълнение към данните, налични чрез другите файлове.

мрежови маски.byaddr

мрежови маски

Съдържа мрежова маска, която да се използва с подаване на IP, с адреса като ключ.

networks.byaddr

мрежи

Съдържа имена на мрежи, известни на вашата система, и техните IP адреси, с ключа addressas.

networks.byname

мрежи

Същото като networks.byaddr, с изключение на това, че ключът е името на мрежата.

passwd.adjunct.byname

passwd и сянка

Съдържа информация за одит и информация за скритата парола за C2 клиенти.

passwd.byname

passwd и сянка

Съдържа информация за парола с потребителско име като ключ.

passwd.byuid

passwd и сянка

Същото като passwd.byname, с изключение на това, че ключът е потребителски идентификатор.

protocols.byname

протоколи

Съдържа мрежови протоколи, известни на вашата мрежа.

протоколи.по номер

протоколи

Същото като protocols.byname, с изключение на това, че ключът е номер на протокол.

rpc.по номер

rpc

Съдържа номер на програма и име на RPC, известни на вашата система. Ключът е номер на RPC програма.

services.byname

услуги

Изброява интернет услугите, известни на вашата мрежа. Ключът е порт или протокол.

services.byservice

услуги

Изброява интернет услугите, известни на вашата мрежа. Ключът е името на услугата.

ypservers

Няма

Изброява NIS сървърите, известни на вашата мрежа.

Нови ipnodes карти (ipnodes.byaddr и ipnodes.byname) се добавят към NIS. Картите съхраняват както IPv4, така и IPv6 адреси. Вижте страницата с ръководство за ipnodes(4). NIS клиентите и сървърите могат да комуникират чрез IPv4 или IPv6 RPC транспорти.

Използване на NIS Maps

NIS прави обновяването на мрежовите бази данни много по-лесно отколкото с файловата система /etc. Вече не трябва да променяте административните /etc файлове на всяка машина всеки път, когато променяте мрежовата среда.

Например, когато добавите нова машина към мрежа, работеща с NIS, трябва само да актуализирате входния файл в главния сървър и да стартирате make. Това автоматично актуализира картите hosts.byname и hosts.byaddr. След това тези карти се прехвърлят към всички подчинени сървъри и се предоставят на всички клиентски машини на домейна и техните програми. Когато клиентска машина или приложение поиска име или адрес на машина, NIS сървърът препраща към картата hosts.byname или hosts.byaddr според случая и изпраща исканата информация на клиента.

Можете да използвате командата ypcat, за да покажете стойностите в карта. Основният формат на ypcat е следният.

където mapname е името на картата, която искате да разгледате, или нейния псевдоним. Ако картата е съставена само от ключове, както в случая с ypserver, използвайте ypcat -k. В противен случай ypcat отпечатва празни редове. Страницата за ръководство на ypcat(1) описва повече опции за ypcat.

Можете да използвате командата ypwhich, за да определите кой сървър е главният на определена карта. Въведете следното.

където mapname е името или псевдонима на картата, чийто капитан искате да намерите. yp, който отговаря, като показва името на главния сървър. За пълна информация вижте справочната страница на ypwhich(1).

Псевдоними на картата на NIS

Псевдонимите са псевдоними за пълни имена на карти. За да получите списък с налични псевдоними на картата, като например passwd за passwd.byname, напишете ypcat -x или ypwhich -x.

Псевдонимите се съхраняват във файла /var/yp/nicknames, който съдържа псевдоним на картата, последван от напълно определеното име за картата, разделено с интервал. Този списък може да бъде добавен или модифициран. В момента има ограничение от 500 псевдонима.

Команди, свързани с NIS

Услугата NIS включва специализирани демони, системни програми и команди, които са обобщени в следващата таблица.

Таблица 7–4 Резюме на командите NIS

Команда

Описание

ypserv

Обслужва заявки на NIS клиенти за информация от NIS карта. ypserv е демон, който работи на NIS сървъри с пълен набор от карти. Поне един ypserv демон трябва да присъства в мрежата, за да функционира NIS услугата.

ypbind

Предоставя на клиентите информация за свързване на NIS сървър. Той осигурява обвързване чрез намиране на процес ypserv, който обслужва карти в рамките на домейна на искащия клиент. ypbind трябва да работи на всички сървъри и клиенти.

ypinit

Автоматично създава карти за NIS сървър от входните файлове. Използва се и за конструиране на първоначалния файл /var/yp/binding/domain/ypservers на клиентите. Използвайте ypinit, за да настроите главния NIS сървър и подчинените NIS сървъри за първи път.

направи

Актуализира NIS картите чрез четене на Makefile (когато се изпълнява в директорията /var/yp). Можете да използвате make, за да актуализирате всички карти въз основа на входните файлове или да актуализирате отделни карти. Справочната страница на ypmake(1M) описва функционалността на make for NIS.

makedbm

makedbm взема входен файл и го преобразува във файлове dbm.dir и dbm.pag—валидни dbm файлове, които NIS може да използва като карти. Можете също да използвате makedbm -u, за да разглобите карта, така че да можете да видите двойките ключ-стойност, които я съставят.

ypxfr

Изтегля NIS карта от отдалечен сървър към локалната директория /var/yp/domain, като използва самата NIS като транспортна среда. Можете да стартирате ypxfr интерактивно или периодично от crontab файл. Също така се извиква от ypserv за иницииране на трансфер.

ypxfrd

Осигурява услуга за прехвърляне на карти за заявки ypxfr (обикновено подчинени сървъри). Изпълнява се само на главния сървър.

yppush

Копира нова версия на NIS карта от главния NIS сървър към неговите подчинени устройства. Стартирате я на главния NIS сървър.

ypset

Казва на процес на ypbind да се свърже с назован NIS сървър. Това не е за случайна употреба и използването му не се препоръчва поради последици за сигурността. Вижте man страниците на ypset(1M) и ypbind(1M) за информация относно опциите ypset и ypsetme за процеса ypbind.

yppoll

Показва коя версия на NIS карта се изпълнява на сървър, който посочите. Той също така изброява главния сървър за картата.

ypcat

Показва съдържанието на NIS карта.

ypmatch

Отпечатва стойността за един или повече посочени ключове в NIS карта. Не можете да посочите коя версия на картата на NIS сървъра виждате.

ypwhich

Показва кой NIS сървър клиентът използва в момента за NIS услуги или, ако се извика с опцията -m mapname, кой NIS сървър е главен за всяка от картите. Ако се използва само -m, той показва имената на всички налични карти и съответните им главни сървъри.

NIS обвързване

NIS клиентите получават информация от NIS сървър чрез процеса на обвързване, който може да работи в един от двата режима: сървър-списък или излъчване.

Списък със сървъри. В режим на списък със сървъри процесът ypbind отправя запитване към списъка /var/yp/binding/domain/ypservers за имената на всички NIS сървъри в домейна. Процесът ypbind се свързва само със сървъри в този файл. Файлът се създава чрез изпълнение на ypinit -c.

Излъчване. Процесът ypbind може също да използва RPC излъчване, за да инициира обвързване. Тъй като излъчванията са само локални подмрежови събития, които не се маршрутизират по-нататък, трябва да има поне един сървър (главен или подчинен) в същата подмрежа като клиента. Самите сървъри може да съществуват в различни подмрежи, тъй като разпространението на карти работи през границите на подмрежите. В подмрежова среда един често срещан метод е да направите подмрежовия рутер NIS сървър. Това позволява на домейн сървъра да обслужва клиенти на всеки подмрежов интерфейс.

Режим на списък със сървъри

Процесът на обвързване в режим на списък със сървъри работи по следния начин:

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

ypbind търси във файла /var/yp/binding/domainname/ypservers списък с NIS сървъри за домейна.

ypbind инициира свързване към първия сървър в списъка. Ако сървърът не отговори, ypbind опитва втория и така нататък, докато намери сървър или изчерпи списъка.

ypbind казва на клиентския процес с кой сървър да говори. След това клиентът изпраща заявката директно до сървъра.

Демонът ypserv на NIS сървъра обработва заявката, като се консултира със съответната карта.

ypserv изпраща исканата информация обратно на клиента.

Режим на излъчване

Процесът на обвързване в режим на излъчване работи по следния начин:

ypbind трябва да се стартира със зададена опция за излъчване (излъчване).

ypbind издава RPC излъчване в търсене на NIS сървър.

Забележка –

За да поддържате такива клиенти, е необходимо да имате NIS сървър във всяка подмрежа, изискваща NIS услуга.

ypbind инициира свързване към първия сървър, който отговаря на излъчването.

ypbind казва на клиентския процес с кой сървър да говори. След това клиентът изпраща заявката директно до сървъра.

Демонът ypserv на NIS сървъра обработва заявката, като се консултира със съответната карта.

ypserv изпраща исканата информация обратно на клиента.

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

За да разберете кой NIS сървър в момента предоставя услуга на конкретен клиент, използвайте следната команда.

%ypкое име на машина

Където име на машина е името на клиента. Ако не е споменато име на машина, ypwhich по подразбиране е локалната машина (т.е. машината, на която се изпълнява командата).

Разлики в NIS Solaris 2.6 NIS и по-ранни версии на NIS

Следните функции на NIS са нови или различни в Solaris 2.6.

NSKit е прекратен

Последните версии на Solaris не включват NIS услуга. Досега услугата NIS трябваше да се инсталира от необвързания NSKit. NIS вече е включен в Solaris 2.6 и няма 2.6 NSKit.

Тъй като услугата NIS вече е част от Solaris 2.6, пакетите SUNWnsktu и SUNWnsktr вече не съществуват. Вместо това NIS сега се инсталира чрез клъстера NIS Server (съдържащ пакетите SUNWypu и SUNWypr).

NIS услугата вече не се стартира със скрипта /etc/init.d/yp, който вече не съществува. Със Solaris 2.6 първо конфигурирате NIS картите на вашия главен сървър със скрипта ypinit и след това стартирате NIS с ypstart. NIS услугата се спира с командата ypstop.

Ypupdated Daemon

Последните версии на NSKit не включват ypupdated daemon. Демонът ypupdated вече е включен в тази версия на Solaris.

Файлът /var/yp/securenets

Както при предишната версия на NSKit, файлът /var/yp/securenets сега се използва за ограничаване на достъпа до NIS услуги. Ако такъв файл съществува на NIS сървър, сървърът отговаря само на заявки или предоставя карти на машини и мрежи, чиито IP адреси са изброени във файла. За файловия формат вижте securenets(4).

Следното е пример за файл на securenets.

255.255.255.10 192.168.0.1host13.13.14.1host13.13.14.2

където 255.255.255.10 е мрежовата маска, а 13.13.13.255 е мрежовият адрес. За настройката в ред 1, ypserv отговаря само на онези адреси в обхвата на подмрежата 13.13.13.255.

Ако промените записи във файла /var/yp/securenets, трябва да убиете и рестартирате демоните ypserv и ypxfrd.

Поддръжка на многодомни машини

Както при предишната версия на NSKit, процесът ypserv осигурява поддръжка за машини, които имат повече от един мрежов адрес. Когато машинните карти са създадени, Makefile създава запис YP_MULTI_HOSTNAME в картата за всяка машина, която има повече от един адрес. Този запис изброява всички адреси за тази машина. Когато е необходим адресът на машината, се прави опит да се използва най-близкият адрес в списъка. Вижте man страницата на ypserv за повече подробности.

Определянето на най-близкия адрес е аритметично и като такова няма проверка за валидност на адреса. Да предположим например, че многодомна машина има шест IP адреса и само пет от интерфейсите на машината работят нормално. Машините в мрежа, която не е пряко свързана с тази многодомна машина, могат да получат IP адреса за интерфейса надолу от ypserv. По този начин този хипотетичен клиент не може да достигне до многодомната машина.

Забележка –

Всички адреси за многодомна машина обикновено трябва да са активни. Ако определен адрес или машина няма да работи, премахнете ги от картите на NIS.

Режим на съвместимост на SunOS 4

NIS поддържа файлове за конфигуриране на пароли както във формата на парола SunOS 4 (Solaris 1), така и във файловите формати за парола и сянка на Solaris 2.

Режимът на работа се определя от съществуването на файла $PWDIR/shadow, където $PWDIR е макросът Makefile, зададен във файла /var/yp/Makefile. Ако shadow файлът съществува, NIS работи в режим Solaris 2. Ако този файл не съществува, NIS работи в режим SunOS 4.

В режим SunOS 4 цялата информация за паролата се съхранява във файла passwd. В режим Solaris 2 информацията за паролата се съхранява в shadow файла, а информацията за потребителския акаунт се съхранява във файла passwd.

Ако макросът make PWDIR е настроен на директорията /etc, NIS може да работи само в режим Solaris 2 поради изискванията за обработване на Solaris 2 passwd. Въпреки това, ако PWDIR сочи към която и да е директория, различна от /etc, потребителят има опцията да запази конфигурационните файлове на passwd или във формат SunOS 4, или във формат Solaris 2. Демонът rpc.yppasswdd разбира и двата формата на паролата. Препоръчва се формат Solaris 2.


PREV: Как да настроите IP и базиран на порт виртуален хостинг (Vhosts) с ...

NEXT: Множество SSL уеб приложения на порт 443

Popular Articles

Hot Articles

Navigation Lists

Back to Top