Текст
                    Эвu Немет, Тарт Снайдер
Скотт Сuбасс, Трент Р. Хей н


дnя ,ПРОФЕС,СИОI:IАЛОВ


UNIX


РУКОВОДСТВО
СИСТЕмноrо
АДМИНИСТРАТОРА


. ТРЕТЬЕ 'ИЗДАНИЕ .


(jh\{
ппTEP"


Москва . Санкт
Петербурr . Нижний Hoвropoд . Воронеж
POCTOB
Ha
ДOHY . Екатеринбурr . Самара
Киев. Харьков. МИНСК
2002





Эви Нвмвт, repm Снвйдвр. Скотт Сибвсс. Трвнт Р. Хвйн UNIX: рУКОВОДСТВО системноrо администратора Для профессионалов Литературны" pe.llJ1nop ТеХllическиR редактор Х)'lIО>l:JIИК Е. КурбатD.II о. JanЛUЛl"ина Н. 6IfрЖQ.КОIf ББК 32.973.2 01 8.2 УДК 681.31 Немет Э., Снайдер r., Сибесс С., Хейн т. Р. Н50 UNIX: руководство системноrо вдминистрвтора Дл лрофессионвлов I Пер. с анrл. СПб.: Питер; К: ИздвтельсК8 rрулла BHV, 2002. 928 с.: ил. ISBN 966 552 1 06 3 ISBN 5 318 00754 6 Третье 11311Вlше уже СТВlшrro )iласси..:оJl бестселлера. 'Эта IClшra 0,11..1111 И1 неМИDПIХ, лред"азlillчеtl IIЫХ не ЛЛI WHpoKoro K1')'r8 ПОJlЬЗОВ8теnсП. D ДЛJl. C.ICТC"'HblX ВДlo4l1ШIСТрПУОроО, рвБОlНlОЩНХ 11 среде UNIX. И:lЛожеНIIЫН МlI.тернал будет полезен К8К лрофессJ.lОНIlЛВ""', TIII\ l' Т'СМ. кто еще тОЛЫ;О IIОСТИraeт ТОНКОСТИ поЯ )'tL!JСIC&теЛЫIOА н TP)'llIIOR работы. Друшын ОIl.8ИИ. перед ЧНТUТСJUl.МII исчсрl1ыDIDшссc РУКОВОllСТ80, 11 котором подробно 011llC811Ы ШОПlе нспоаьзуемые ОПЫТНЫМII ВJlМИllllстраТорllМИ npllCMbl работы с РВЗ- нообраэнымн p )'pcaMII talCTeblIoI UNIX, Как создвть фаПпы 8:0нфиrУРВШIИ. ПОВЫСКТЬ БЫСТ])Оllсi1ствис 11 IllIlIСЖllОСТЬ CI1CTCMIoI, орrВШ-lэоват. работу В короораТИВtlоR сети, иaJ1l1l1НТ" обмен эпСlПpOlIlIОЯ почтой, ПОДIШЮЧНТЬ HOBWC УСТРОЙСТВ8. oт Веты 118 'ТИ н мноrис дpyrмc 88ЖНlolС ВОПросы читатели наАдут 11 даШlоА КlIHrc. Кроме Toro, 3НВ'IIIтельное ВНИМВНИС удепеllО оБС:1)'ЖII1l8ШIЮ TeXII11'I KHX средств, 11 ТDкже ПрllВНЛnМ роботы 8ДМИIIНС1р8ТОроВ н поль- 30118теJlеА. Кнш-а снаБЖIШ8 боm.wнм ":ОJlичеством npllMcpOB, взятых 113 рсII..'1ыlАR жюшt 11 отtlОСЯщltхся к поп)' .'.рнсЯwим IICPCi!.M UNIX: 501ari., HP-UX. Red НВI Linux и FreeBSD. P,entlce Hall PТR 2001 = Издательская rpynne BHV, Киев, 2002 = ЗАО И3Д8теnьски ДОМ .ЛитеР)j, 2002 n .... I0I.l 3A8I<И8 nOI1)""8liW ПО соrп.ш.IOIЮ с РnlnUl:e H.II PTR 8и ПР." "ЩI!Щ. . НИIЦIIЦIJI "IIIС'Т" Р....Оi'\III<ИI'\'I ... "011(.' б..,т- 80С/1роИИ8А81!8 8 КlKOi\ e 1D "1'1 ri ло форм. Ota nl4Cb1lol8нworo 1).:IIР8Ш8" .ладеП.I.I8. .-тором,,", np.l. И"фоРМ-ЦI411. CO,EI8jVК8ЩIII01'l . ДIIM"'oill llИиr.. ПОП)""8на ИСТCIЧ" КCI' IWIОQМ8ТРИII.8М J: JIIUI'."1oC18aM ICIoМ IIC W.. Т.м .... М.101" ИМ8". 1"дУ 8ОаhtаЖНlol. "'''О,.ЧIICIiIoll ИЛ"' Т.J:НИ"'8CIШt OWI40 ",. I'IIДIТIЛ ТIIO м. MO)l(8T rIp8"Tl!pa"TII lOool\IOТМ)'IO TO«I'IClCT. JIII1OJ"I ОТУ npl'l8QAI'I"'IIIM a88l1,8HJlliII и н. "ес8т O''''C'I.Н'"OC'Т'Io'' .a3MaIllH . DШи6кI'l. CllJl3IH"III. С исnОПwО.."и.... lDIиrи. ISBN 866-552-106-3 ISBN 5-316-00754-6 ISBN 0-13-020601-6 (енrл-) ОООI(ПИтерПр,, , 196105, Camcт.Петербурr,УJI. Б.'lroдаТИ.JI,.D. 67.. ЛкцсюlU ИдNl 0,7&4 ar 07.09.01. ооо.ицаТOJlЬClWl' 11Jymu. ВНV» CaIшcтc:uocnоо JlНIIC8НИМ. rОС)'AlpcncнНWЙ pooqтp Depи.DJ(" 175 от 13.09.2000. HaпoroJaJl i1W"DТI оl5щеросснАCltиА lUIасаlфlUl&ТОр I1pQltYkUНИ ок 00,.9), том 1: 9S300S .1ИТeplТ)'1>l учебнап. ПО.АПНС8110. печат" 18.09.02. Форdт70)(1ОО'16. Усп п.л. 1",82. Дол. тмраж)ООО ЭIC]. ЗIi.IC&З .-'1302. Oтnl'llnНОСфотофоРМ IФ[),П ItПеч.1"ИW POpt ИМ. А. М. rOp.kOro МмннстсрстА РФ подс.18М лClЧlТМ, тслеplAНО8еШ8.НН' HCpeдCТJ МlCCOIW:\ ICONW)'юtICIWlJ:l. l!i11110.Санп-nетсрбурr, Чх.лОIСICиЯ.пр., 1,.
Мы посвяшаем это издание ламlI1'Н трех rиrантов мира UNIX и Internet: ДЖону Л8Йонзу, ДЖону ПОCТeJlу И Ричу Стивензу. ДЖон ЛаАонз (John Lions), лрофессор университета штата Новый Южный Уэльс (Австралия). написал замечательные комментарни К исходным текстам UNIX в середиие 70 x rr. Он объяснил назначение примерно 10000 строк кода, из которых в то время состояла операuионная система. Кни.ra Джона испольэовалвсь на учебных курсах ло UNIX во всем мире. Проб",емы с авторскими правами привели к тому, что кииra перестала и.цаваться. но еше в течение мноrnх лет онв циркулировала в студенческой среде в виде ксерокопий с ксерокопий. Те. которые дошли до нас. с трупом можно лрочестъ. Джон умер в пекабре 1998 r. ,., ДЖОН Поcтe.n (John Postel) бblJl реll8КТОром серии RFC noкyмeHToB (и автором мноrих документов), великодушным диктатором сети Intemet и ее технической совестью. MHorO лет он был поводырем. который вел сообшество lntemet на пути от иrpовой плошадкн АЛЯ университетских умннков до основной социальной и экономической движушей силы эпохи компьютерной революuии. Джон умер Н октябре 1998 r. (www.p05tel.org) ,., Рнч Сmвенз (Rich Stevens) широко извеcreн о акапемических Kpyrax блаrо.даря своим чудесным книrам по сетям и проrpаммиронанию в UNIX. Студенты любили эти книnl. поскольку Рич приводил при меры, в которых максиМально наrлЯ1lНО пояснялись те ИЛИ иные конuеПЦИИ и особенности сетевых протоколов. Щедрый вклад Рича в сообшество Iпtеrлеt ЗЗКJJючanСА в ответах на мноrочисленные вопросы по ТСР, часто поя.влЯ8шнеся в телеконференциях. Трудно пpe.nстввить себе более доступный и авторитетный источник информаuии Второй том книrи Рича TCP/IP /l/us/ra/ed считается неформальноА покумеНТ8llИей ло ТСР. Рич умер в сентябре 1999 r. (www.koha1a.com) 5
Предисловие Мне приятно поздравить сообшеСТ8Q Linux с появлением книrи "UNIX: руководство сиcrемноrо администратора". В предыдушем ИЗдании КНlпt оIlисыалосьb шесть вариантов UNIX. все из которых были KOMMCP'ICCKi-I'l.tlt. Следуя современным тенденuинМ. нынешнее издание охватывает Dcero четыре снетеМЫ. причем две И3 них (полоnина!)  бесплатtlые. Столь сушественны(' изменения произошли Bcero за пять лет. Такие системы. как Linux и FreeBSD. доказали жизнеспособность моде.'Нt oткpblToro распространения ПО с исходными текстами. Они являются таКИМI'1 же стабильными и полнОФункuионалЬНЪJМИ, как и их коммерческие aH3JlorH Но преимущества мкрытых систем заключается 8 ТОМ, что сообшеСТ80 рвзработч.иков в сжатые сроки устраняет выявляемые ошнбки и добав..Т'lяет поддержку популярных техиолоrий. Сколько традИliИОННЫХ постаишиков MOryт похпистаться эти.,(! Как с.:,едует ИЗ ю....IП1. системное адМИНl1стрирование не Bcerдa хорошо вписывалось в традИliИОННУЮ модель разрабarки Поставшики делают ТО, ЧТО им заблаroраССУllИТСЯ (по ПРИLJинам. далеко не 8cerna очевидным). и anминистраторы вынуждены принимать удар на себя. Сложность их работы состоит и том, что проrpзммное обеспеl.Jение поставляется в виде бо.'1ЬШИХ интеrpированных систем. Затронешь один компонент  ..полетят" дрyrие. СИ1)'иция улучшается по мере Toro, как мы учимся строить полноФунк- ЦИОНaJтьные системы из множества отдельных компонентов. Действительно. почему бы anМИНllстрЗТОрУ не выбирать, к примеру, систему аyrентификзuии так же. как секретарша выб(lрает наиболее удобны ДЛЯ себя текстовый редзJo..'ТОР'! OllblT показывает что возможность выбора ведет к победе ХОрОllШХ nporpaMM над плохими. Просматривая новое издание КJ-Iиrи. я убежпаюсь, что существуют способы сделать администрирование UNIХсистем удобным, леrким и понятным. Первые ПрИЗН8юt э.rоrо появились 8 прошедшем десятилетии. В ближайшие ro...l1bI нас наверняка ОЖlшает ПРОРЫ8 R данной области. А лока наслаждзйтесь книrой. Нет предела совершенству Линус ТорвалtoiJс ИЮНЬ 2000 r. 6 
Предисловие ко второму изданию Б послеДliее вре\-IЯ ПОЯВИЛОСЬ \iНожеСТ80 юшr, по":вЯШt'ННЫХ СИСТffl,ШОМУ ад\НtНИС1рИрОRaНJ1Ю. Но эта, на наш взrJlЯЛ, HleeT два с}шеСlвеllВЫХ nрСllмушества. Боnервых. это хорошая кюи-а. Ее авторы 8 сноеи lIовседнеВI-IO1 деятеJ1ЬНDСП1 J3liИМЗIОТСЯ решеllНС1 реа.1ЬНЫ>' адНtlll1страТИВliЫХ ЫД"Ч н реальных систе1ах, с которыми работают ТЬ!СЯ'Ш 1I0;lыовате:IСП 11 rпе осущеСТlLlяеrся orpOMHoe I':О.lичесТlIO сетевых соединеНII11 Авторы HJtl.LIII заННМ3ТЬСJl JПIМ 04eflb давно и до сих пор поМНЯТ, 'ITO Тз"-ее 3Jl,,)1I rep ljllibo и в 'ICM Jаключалась проблема DZll (не IlоддеРЖJlИJ...1НСЬ преРЫВ.i:JНI-tiil. 01111 ЖI-IВyr И работают в мире, в КОТОрОМ сушестнуют песяткн ОIIраШIOНIIЫ" систем, созданных разными ПРОIl3ВОдlпелям.и. и \нюжеСТ80 uерСИll кс.1ЖДО1 систе",ы. Это  не I1риятвое подарОЧIf ИЗДЗllиf:. преднаJН3 1 .Н:Нlюе д-ля aKKypi1THOIO. Чl.1стоrо tИра. Это  "lюке.lая ....IH1ra нarН1санная для СУРОВOI.О мира. Бовторых, 31"0 исчерпыоаюшая книrН. К настояшему ВрС\lени выпушено MHoro ХОрОШllХ I1ЗД3НИЙ. ПОС8яшеJ-lНЫХ раЗ.rIII'IНЫ\.1 aCrle....-т3м работы с lJNIX. (наПрИ!l.tср, на\.1 11звестно uмечательное 1I0собие по системе JЛекrрОННOIi по'пы sendmail). 1-10 t:ушествует oLlellb 1a.IO книr, раСС!l.ШТрIIВJ.IОШИХ проб;]е\.I систе\Аноrо ап.ННШСтрllроваНI1Jl в ue.lo""'1 и СТОЯШII\ сотен срублеНIЫХ раДII них деревьеА. РУКОI1ИСЬ ПСрLюrо ИJшtЮ1Я .поЙ Кllипt I1МС18 Ba18aНl1e "УС.;IOЖНСНIIOС CllCTeMHDe администрироваНllе в LINLX". н 10 СООт8f'ТСТRОПЗ.10 деиствше.'1ЫIDСПI: в KHI-1("LIX ПlПа ..упрошеНное..... УПУСКз"'10\:.Ь всеrпа так \1I-Ioro дета.llсt1, ЧТО, вопреки названию. это fОЛЬКО УС. Т 1ОЖШI.l0 работу. Факт остается фа...."ТоМ. Сl1сте;о.нще аД\IНt'НlСТРIIРОВ3J.ше  ClО:Ж:UОН задача. LINIXCHCTe\'lbI ИСК'1Юlительно \tошны, а подобное !lОСтОИНСТВО всеrдз сопроно;.КДается. поиышением степени С.10ЖНОСТI1. CtCTeMbI на базе персо Ha.rlbtlbIX компьютеров тоже буд},т УС.ilОЖНЯТЬСЯ. коrда ВЫ "Чllете подк.1ЮЧi'lТЬ их К ССТЯ!l.-I. мопе.М3!1.t. принтсраt и внеШНlI1 ДИСКОВЫI наКОП1НеJlя.1 11 ПОИ\lсте, что нужно ззБОТИТЬСJ! О та....lIх вопросах, кзк резервное ....ОlшроН.шие 11 безопС1СНОСТЬ, И вот lIаС1)'ПИТ !l.ЮМСIIТ, КОrда происсс }'праВ.IСIIШI nt:pco Ha.'lbHbIM КОМПЬЮlерО!l.1 CTaliCT здорово смахивать 11C1 clд\IItIНIlрироиаllllе L;NIXcl1CTetbI: "Это OlleHb просто ШСJlкаешь TJMTO. IIOТОМ ИЫКIЮ1lаешь принтер. ШLаче lIе будет доступа к сети (Быбllраешь тут. ОlКрbJuаешь :но меню, щеЛКdешь на КllorlKa\: DiabIe и ApplYI. ЗЗТС\-I открываешь С.7Iедуюшее меню. выбираешь лот пункт. -.шесь DМОДИШЬ Н\lЯ своеЙ МctШИl-lЫ. ПОТОI ше'1каешь Bor ryт, ту'- и БЫПОЛЮlешь Д80ЙНОМ щеlЧОК тут (заКРОJ1 ::)'[0 диа.Т]оrовое окно. оно Бсеrда появляется, не .шаю, поче\tу...). потом пере'\о дишь сюда. ныбllраешь :зто меню. аКПIВll1ируешь CCTeBYIO подсистеfУ, переходншь в :пот кта.пOl. J3IIУСК3СШЬ ПРllложеннС' TCP/I р, зaH'1  ОИ ЗаБЫЛlI установить сетевуlO "":lCKY. Нщ,з...."х проБЛС\t. просто 113...1l0 нернпь,,:я tJNIX  ПО 13Jk'IИ("Трllро8.iН13Я I"OpI06.1J1 "1.I}1K..1 KOMIl.lНllll Opl.'ll (JIЩIР К СН)А I прУПI\ стр;II.ЫХ. 7 
в третье меню и изменить часку  черт, а ceTЬTO отк.'1ючилась, придется все исправлять (щелкаем. переходим, шелкаем...). Отлично. теперь опять залускае" лриложение TCP/I Р (шелкаем), и можно вызывать lelnel! Видишь. как все просто!" В UNIХсистемахt в отличие от пеРСОН8.1ЬНЫХ компьютеров, сетевые средства входят в стандартную поставку ОС. Они настраиваются один раз, 1-1 большинство пользователеЙ не видят, как выполняется конфиrypИрОВ8ние. К сожалению. системные адМИНИСТраторы не относятСЯ к .fбольшинству пользователей", поэтому им приходится ПРОделывать эт)' неблаrодарную работу от наЧ8J1а и до конца. у авторов есть TaIOКC Ч1'о npе.nложить вам для тех редких спокойных минyr, коrда )' вас ПОЯ8J1яется всзможность поразмыwлять о том, как 06леrчить себе жизнь и ),лучшить конфиryрauию системы. Эта книrа, например. поможет вам настроить систему так. чтобы она раБОТW18 с маКСИМ8J1ьноА производительностью. позволит сократить до минимума за держки и Haвcer.na избавиться ОТ некоторых проблем. Вы получите советы относительно roro. как отличить хороших пользователей от ЗЛОУМЫШ'1енников. Koerne еше используются изолированные UNIХсистемы. ф)'НКllиони рую.шие без сетей, принтеров. модемов и даже внешних дисководов. Если ВЫ Ol1ИН из приверженuев таких IoAзшин ИЛИ считаете, ЧТО rpaфическиЯ' интерфейс вас полностью устраивает (и не хотите узнать, что происходит З8 ero кулисами), эта книrа вам, наверное, не нужна. Здесь в деталях рассматриваются такие мудреные веши. которые вам просто никоrда не понадобится. Однако подобные пользователи встрачаются достатоЧНО реДКО и, HaдeeM ся, постепенно исчсзн}'т совсем. Наша книrа предназначена для всс). остальных пользователей. Эрик Оllлмаll Маршалл Керк Маккузик ABJ)'CT 1994 r. 8 
Предисловие к первому изданию Вопрос)' администрирования UNIХ систсм всеrда уделяли недостаточно ВНН!\.i8НИЯ. На моЙ взrJ1Яд, такое отношение обусловлено рядом причин, связанных с различными аспектам н необычноЯ' истории UNLX. Во первых. система СО3давалась и развнвалась среди ее ревностных ПоКЛОННИКОВ, которые скоро изучили все ее особенности и нюансы. Этих людей часто раздража.:rIИ порядки, установленные в больших компьютерных иснтрах. которые в 10 x rодах были основными поставшиками вычис.'1итеЛЬ НЫХ ресурсов. поэтому они изобрета.:rIИ собственные кол.п.овСЮН ад!\.tи нистративные реиепты , иrнорируя популярные справочные руководства. Bo втopыx. типичная UNIХ система занимает в компьютерном "1ире несколько обособленную нишу. Чаше Bcero такая систе а препстаВ.'1яет собой .'tибо машину CpeJ1HerO К.-18сса. обслуживающую опин отдел фирмы ИJ1И факультет университета, либо рабочую СТаНUИЮ, используемую одним чеJlО веком. но соединенную через сеть со мноrими 'nр}ТИМИ систе\1ами. Большей частью (сейчас появились исключения) uNIх системы это ни I\lэйнфрей мы с профессиональным штатным пеРСОН8J10М. прошедшим полrотовку у производителя или в большом компьютерном иентре, ни пеРСОН3.1ьные компьютеры, принаД..'lежашие отдельным ПОЛЬЗ0вате-'1ЯМ. Большую машину, как правило, обслуживают профеССИОН8ЛЫ. Для персональных компьютеров производитель пишет руководство ПОЛЬЗ0ватс:..'IЯ с перечнем советов, предназначенных для оrраниченноrо Kpyra прИl0жеНIIЙ. Покупателн же машин среднеrо класса неожиданно DJ1Я саМI1Х сеБSI сталкн ваются с необходимостью выполнеНl1Я обязаннOt.'Тей обслуживаюшеrо персо нала. И стаНОВИтСЯ ПОЧТl1 так же одиноко, как еС..1И бы они кут-IЛII персональный компьютер, но при ЭТОМ им прИХОДИТСЯ следить за !l.mожеСТ801\.1 пользователеn, иметь дело с одной И.1И неСкоЛЬКИМИ сеТЯ'1И и решать друrие ужасные rоловоЛО КИ. Наконеи, UNIХ системы поступают к нам из разных источников. Нес!l.fOТрЯ На наличие в стандартном комплекте поставI01 РЯ.ilа полезны). административных yrи.тшт, не все поставшики систем в достаточной степени обеспечивают их техНичес....'УЮ ПОДllержку. Кроме Toro , мноrие орrанизаuии получают значите.1ьные объемы проrра мноrо обеспечен:ия 1'13 университетов, сети Usепеt и ДРУПfх источников, не предусматривающих вообще никакой поддержки. Несмотря на все эти проблемы. мноrие поставll.ШКИ UNIХ систем все таки рассказывают своим клиеmам о ТОМ, как раБОТаТЬ с их продуктами. Тем не менее, исчерпывающая книrа по ад\iинистрированию определенно неоБХOllима. Представление производителя о том, что Ba\i нужно, не вcerna совпадает с ВВШи!l.{И желаниями, а докуменТ8UИЯ часто находится 8 разных местах. К тому же ваш ПОСТавщик может быть более 11l..1антлив в производстве аппаратуры, нежели в составлении руководств по ее использованию. И вы. воз ож-но, будете работать с популярными проrраммами. которые не входят в КО!l.шлект поставки. Поэтому данная книrв вам наверняка приrодится. ДеНlfис Ритчи Октябрь 1988 r. 9
Введение Коша ь сере..'lине 80\: rr. \.lbI IОТОIЗИlН псрпое II1ДOllll1С ЮН-Н 11, II3f1..i не TepnC:lOCb сраЯНIПЬ нашу рукопись с п.руrи!l.Ш KJ-шra\НI, ПОСНJ1ще,IIIЫМIt адМl1lнн,,:трнрованию LINIХсисте", К C80ety УДОВО_lhСТН1Ю. МЫ СМОIЛII наЙТII ТОЛЪКО трн поп.обны\ издания СсrОдliЯ сушеСТ8ует !l.iИI-Jt1МУМ пятьдесят I\Ю1f на эту тему. ВОТ u че1 ОТЛliЧПельные oc06cHtloCn1 trашеrо издания. Книrа яв.IЯеТСJl практичеСКИ"1 РУКОВОДL,IЮМ. ue.lb КОТОрOl"О  tl{" песказынать содержанне ДОкy?l.-lентаuии. а попелиться с вам 11 наШl1 м КDллеКТИВНЫ1\.1 ОПblТОМ сиетемноrо аДМИI-IIIСТРI1РОН3НI1Я. Она соперЖ1П множество праJ<..iИLlеских ПрllмерО8 и совеТОВ. В книre подробно И.1Л8r3юrся НОПрОСМ. СRflзанныс с работоl1 LIt\IXCICTC\1 в СТЯХ. ЗТО самыА трVПIIЫR аспект ап.МИНI1СТРI1РОШН.IИJI в UNIX, It И\fСННО здесь наш;, ПОМОШL. скорее Dcero. окажется lСIЯ lIас нзиБО.lее ПО.IС1110Й l\-1aтcp'1a.1 КНИПI не подается R }прошеIIНО1 ВИД НаШ1 прltмсры. в БО.1ЬШИl'lстве СЛУ'lав взятые ИЗ праКТI1К1-i JКСП'lУi!таШI11 систем IlрО'IЫШ леlноrо уровня,  pe8.JlbHbIe жизненные СИТ)'3UIIII со BceНI ИХ ПОДВОk ныtи камнями 1-1 нюансами. Внимание Читате.1Я акuентируется НЗ ИСПО.lbJОDЗНIIIf ш[струмента.1ЬНЫХ проrрзммных средств. Каждая УПОЧSlliУI.ая в кнш.с npOrpaM\t3 IlреДl-'В .'lЯеТ собой либо стандартное средство UNIX, :ш60 \.южет БЫIЬ заrружеtl из Il1:terl1L. В некоторых СЛУЧJЯХ nporpaMM3 О.lнuспtя к обеllМ ){II\I катrорИЯМ. 110TOM\. ЧТО мноrш flОСПIRШИКl1 L:NIXcHCTeM не }ТРУЖД:lЮТ себя н Ile СlеДЯI J3 ПОЯ[L1Сtlнеr-.'1 IIO(ih(:\ ncpcl111 прод}кroА. В КlI11rc рассмотрены все О(;llошые иерСIВ1 LINI\ Четыре примера операционных систем СУUlсетвуют две ОСНОВНЫе РilJНОВИДJ-lОСП1 UNlл: ОДНа 111 HII}.. (opI1rHHa..lb ная. IlJнестная ПОД оБШИ!\.1 наJВЗШlе System \.') раJработаli КОМШНlI1СИ лТ&Т, а вторая (бо.lее свежая)  в Ка..тIИфОРliиr,ском Уlши('рситете в ,'ороде БеР"-Лt 01lвестнз ка.- BSD). Ни АТ&Т, ни Ка.JН1фОрШ1ЙСКIIИ Y1l118epCIIТC"1 ЖС tlC работют "13 рынке UNIX. 110 теРМIIНЫ "ЛТ&Т LINIX" 11 .'Be-rkeley lJNIX.. ПО I-1СТОр1'1е-КIIМ Ilрl1Чl1Нп.м coxpalllflllCb. В этои ....НиР: раССlаТрИ8а1ОТСЯ leTbJpe Оllераrнюнные CIICTC\lhl Sоlапs 2. 7 HPUX 11.00: Red HaI LiПU), 62:: FrecBSD !-.4 (1-1 частично 4 О). 10 
Мы выбрали ЭТИ системы ПОТОМУ, что они наибол поnyлярны и, кроме TOro, позволяюТ показать весь спектр попходов к вопросу администрирования UNIXсистем. Первые ДБе системы проИЗОШЛИ от АТ&Т UNIX, FreeBSD является лрямым потомком Berkeley UNIX, а Red Hal LiЛLlХ лредставляет собой некую смесь. При рассмотрен ни каждой темы мы даем подробную инфораuню об этих системах. Комментарии. относяшиеся к тои ИЛИ иной операиионной системе. отмечены в книre эмблемой ПроИЗВОДИТeJ1Я. Сушествует MHOro друrих версий ОС UNIX. БО.%ШIfНСТВО из нИХ является какимлибо вариантоМ одной И3 вышеупомянутых систем. 11 .leKoтopble (налример, AIX и SCO) отлнчаются от остальНЫХ в такой степени, что требуют спеuифическоro подхода к их рассмотрению. Структура книrи Книrа включает Б себя три большие I..!8СТИ: . '.Основы 8Д\iинистрирования", . .. Работа в сетях". . "Разное". В первом разделе лрИБОДИТСЯ ООшlIЙ обзор ОС UNIX, сле.lа""ЫЙ с точки зрения системноrо администратора. В rпaвax 3Toro раздела описаны rn..HOBHbIe факты и методы, которые необходимо lHaTh для управления автономной UNIХсистемой. В разделе '.UNIX в сетях" рассмотрены протоколы, ИСПО.lь]уе1ые в UNIХсистемахl а также способы построения. расширения и сопроnoжn.ения сетеЙ. Кроме Toro, описывается ВЫСОКОУР08невое сетевое проrраМ\tliое обеспеl..lение. Среди перечня тем можно БыдеЛlПЪ систему ДО"'lенных имен (DNS), сетевую файловую систему (NFS), метолЫ маршрутизации. систему электронной лочты sendmail и др. Раздел "Разное" содержит массу вспомоrате.1lЬНОЙ информзuии. Здесь рассматриваются дополнительные проrpамуные пакеты. 8 l..!3стности система печати в UNIX (правильнее сказать, системы печати). В rJlaBaX этоrо раздела дaHы рекомендации по оБСJlуживанию аппаратных среДСТ8, прИНLНшам орrанизации UNIХсистем и Т.д. ИнформаJия ,ц.ля контактов в этом издании кннrи мы бы хотели поБJlаrо-дзрнь Адама Боп-са (лdаП1 Boggs). Роба Брауна (Rob Вrоwл), Неда Макклейна (Ned МсClаiЛJ. Линлу Мак",нли (Lупdа МсGiп1еу) и Тодда Миллера (Todd Mille.r). которые Вliесли своЙ авторский вк..l8Д 8 ее СОJдание. Мы обраЩaJlИСЬ к III-!M, ПО.1ЬЗУЯСЬ и). знаниями в самых раЗНblХ областях. Полученная от них ИНфОр\.13LlИЯ ЗНаl..lИl"ельНО обоrатила нашу книry и наш коллективный ОПЬП, которым MbI делимся с нами. ЗамечаниЯ. преД.'lожения, комментариИ и сообшения об ошибках. оБНil рУА<енных в это книrе. присылате ло адресу: sabookadmn .com 11 
Мы отвечаем на всю корреспонденuию. ио, пожалуйста, будьте терпели вы: иноrда возможность заняться пОЧТОЙ появляется не сразу. Чтобы получить список обнаруженных на данный момент опечаток, а также ДРУI)'Ю свежую инфорМauию по данной книrе, обрашайтесь ло адресу: www.adrn1n . сот Нsдеемся, что книra вам понравится, и желаем удачи в системном администрировании. З_и Немет Fapm Снайдер Скотт Сибасс Трент Р. Хейн Июнь 2000 r: Обозначения и лоroтипы, встречаюшиеся в КНИfe , яВЛЯЮТСЯ собственностью соответствую ших в.IIВделъцев и используются с их разрешения. В частности: Red На! и Red На, SНADOW MAN это зареrистрировонные тoproBbIe марки КО'Алании Red Но., Iлс. Авторские лрава нв иэоБРOJКeние демона BSD (С 1988) лрИНaдJ1ежот МаРШ8il.1У Керку Мnккyэику (Мапhо11 Кirk McKusick). Дополнительную информаuию о демоне можно получить ло адресу h!.p://www.mckusick.comfbeBs.ie. Полное название операuионной системы, которую мы называем "SoI8ris". звучит так: "[he Solaris Ореra!iлg Епvlrолmеп,". Приносим извинение ребятам И3 Sun. 12
Блаrодарноcrи с момента выхода в свет nepBoro и BToporo изданий ЭТОЙ книrи сотни читвтелей ПРИ<:JI8.1И нам сообшения об обнаруженных ими ошибквх, KO" ментарии и критические замечания. Мы хотели бы поблаrодарить всех. У Koro нашлОСЬ время написать нам, и надеемся. ЧТО учли все замечания. Системное администрирование в UNIX эв ПОCllедние одиннадllать .1ОТ УCJIОЖНИJlОСЬ, поэтому технический уровень этой кииrи существенно возрос. Научные редакторы, раБОтавшие над раз..1ИЧНЫ"И разлелами книrи, помоrlИ нам во мноrих acnek.IBX: от уточнения исторических и технических подроб ностей до редактирования неудачноrо юмора. ЭТИ .1Ю.iI.И зас.Т'lУЖИu.aют отдельноrо упоминания: Эрик ОЛЛМ8Н СТИВ rэд (Eric Allman) (Slev. Ga.de) Пит Барб.р Эндрю rОllЛан (Pet. В.шr) (Алdr.w Gоll.л) Дэйв Б.рр Боб rр.й фаv. В.,,) (ВОЬ Gray) Джефф Моу (J.IT Мое) Х.рб Моррилъ (Н.", Mom.le) Ласло Немет (Laszlo N.melh) ДэИв Клементс Aнnpeac r уставссон Т оби Утикер (Dav. СI.mелlS) (A"d..... Оustaf5lOЛ) (ТОЬ; O..iker) ДэвИд Конрад Джсфф Холлрин Рэй Пльэак (D.vid СОЛЛid) (Gcoff Наlрпл) (R.y Plzak) Дрю Экхарш ДЭНИСЛ Каррснберr Эшrn Рудофф ф...w Есkh.пЩ (D.лiсl Кarr.nberg) (Алdу Rudom РЭIШИ Эле Крикет Л иу r р:эr Шапиро (R.ndy EI..) (Crick.l Liu) (0"'8 Sh.piro) Бим ФСIЛlСр Билл Маннинr Дэние..'l Салли (ВilI F.лп.r) (ВilI Маплin8) фалl.1 Sully) ПеlТИ Феннер ЛИНда Макrиили ПО.IJ. ВИ КСИ (P.ggy F.лл.r) (Lулdа McOinJ.y) (Раиl Vixic) Дж.фф Фор"с Хол Миллер (Jcff Fory.) (Н.I MilI.r) Мы выражаем особую признвтельность Бврб Дийкер (BBrb DUker) э. ее усилия по реllензироввнию книrи, в твкже Пвт Пврсеrян (Ра! Parseghian). которая проделалв такую же работу во втором издании книrи и продолжила оказывать нам моральную поддержll..)' в этом издании. Мэри ФраНll (Мв!)' FrBntz). редактор настояшеrо издания, ЗВCllуживвет не тОЛЬКО блаrодарности. но и нsrpалы за успешное обуздание темперамент ных авторов. Мэри была бесконечно терпелива к нам. даже коrД8 мы этоrо не заС..lуживали, и сделала все возможное. чтобы заставить нас сконuентри роваться на повышении качества книrи. 13 
Блаrодарим TitК'JКe реД3J.i.iора пеРПОJ.О издания, ДжонCI Уэйта (John \Vait). Большое спасибо Тайлеру Кертину (Туlеr Сшtаil1), KOTOPbIii заНИМ<L1С>l дизайном nepBOI"O и 8Toporo изданий ЮНlПI и остался с HaMII n качестuе штатноrо кар1кзryриста. Мэри Лу Нор (Mary Lou Nollr) проделала оrpОМI1УЮ рабоry 110 офор,, лен ию настоящеrо издания. Мы высоко цеНИ""1 се усилltя. ДЭl1НИ Савард (DаI1ЛУ Savard) из He\\'lettPackard и Знди Рудофф из Suл Microsystems заслуживают блаrодариости за то, что убедили свои орrзниззшllt предоставить нач 060рудонаНJtе. Наконец, мы искренне признательны сотрудиикам фаКУ:lьтета ПЫЧltС.'1It тельной техники университета штата Колорадо, которые na.ilН нам ВОlМОЖ иость воспользоваться СВОИМI ВЫЧИСJlительными ресурсами и помоrНI проверитъ множество примеров. 
Об авторах Эви f/e.4fem работает npeno.aaBaTCJleM на ФаКУ.lьтсте ВЫЧIlс.1НТf:J1ЬНО" техники университета штата КолорitДО и внеШТilТНbJ\.j COТPYдlHIKOM СА} ОА (Cooperative Association for Intcrnet DHt8 Al1alysis) н иентре суперКQМПЫQтерО8 в Сан Диеrо. Она собирается покинуrь мир UNIX и отправиться в круrосиетное пyrешеСТ8ие на яхте. evi@cs.colorado.edu Тарт С"айдер работал 8 компаниях NeXT и Suп Jt имеет степень баК8Шl.8ра '3..1ектротехникИ в колледЖе Суортмор (S\Ло'аr1111110rе). штат ПеНСН..lьваНllfI. В настоящее время ОН является аспнраНТО\1 D университете Рочестсрct (Rochester), штат Нью Йорк. qarth@cs.colorado.edu Скотт Сибасс спеuшulИСТ по UNIX. который работа, во \нюпtх компаниях. вкmoчаSI Inter.active SУЯСI11S и Xinu. В настоя шее время он Я8.1Яется reнеральным исполнительнЫМ директором КШl,Ш3НI1И Xillet, занимающейся разработкой проrpаммноrо обеспечения д.1Я систем допечатной подrотовки Скотт имеет степень бакanанра компьютерных наук н статиспtКII в универ ситете Беркли. штат Калифорния. scot.t@y. net .com Треllт Р. Xeilll является PY,,-ОИОДlпеле\.! теХНliческоrо отдела компаниИ XOR Inc.. р.азрабатываюшсй полнофун,,-uиональные решеlНIЯ н об.lс1СТII з.пектронной коммерuии. Т рент получил наrpаду Liretiтe Achle\'el1lent A\....ard ОТ аССОШ1аUИИ USENIX за разработки, сделанные 11М в vни"ерСilтете Беркли. Он И jеет высшую степень технической сеРТИфl1кащН1 Cisco. trent@xo[".com 15
Часть I ОСНОВЫ администрирования
7 с чеrо начать Мы задались целью HaтrncaTЬ книry. которая была бы на.,чеЖI-IЫМ ПоМОШНИКОМ системноrо aRминистратора и служила бы ИсТОI.JНIfКQМ практи 'IесКИХ советов и полезных сведений по теОрИII системноrо аДМIIНИ":'ТрIlРО".а HIHI, недь их далеко не всеrла МОЖНО найти на страНИIIJХ IIIпераJ:ПШlfоrо руководства. Таким образом. наша КНШ"З дополняет, но IН' 8 кое\-! CI)'LI;lf Ie заменяет ,nокумеитаlЛiЮ, ПОСТ3R.JlЯемую с В lшсf1 СIIСТСМОЙ. Эта КlШr3 поможет читатеЛЮ. . узнать о различных компонентах СИСТ М aIlМIfНIIСlрНрОRЗlIIlЯ 11 ПОНЯТЬ прИНUJ.fПЫ JIX совместной работы: познакомиться с обшими методаМ1-1 администрирования, tl.oтopMe "еоб ХОДИМЫ при практическоЙ работе; научиться внедрять T3JGle решеl-rnЯ, которые н дальнейшем не ПОМСIU:.UOТ расширпть и УСПОЖИ-ЯTh структуру системы, . иаучиться отделять хороши идеИ от плохих и разобраться EI особ IIНОt,;тЯ:\ системных решений различных Фирм постаВIЦJ{КОИ: усвоить КОМПЛfJ(С основных приемои работы. что изБЗИJ.rr от нсоб\:(1'Ш МОСТИ рьrться и ,nокументзuии, пьпаясЬ узнать, как ВhlllОЛllllТЬ простую задачу. Перечисленные задачи невозмоЖНО решить С абсолюТlIОЙ CTellC'HL>(Q объектИlIНОСТИ. ПОЭТОМУ по хону книru: мы постарались маКСИМШ1Ыlo I.JcrKC} сформулировать сиои субъе""iивные взrляды и предпочтения. ОсобенносТl. системноrо адМИНИСтрИрOllания заЮlючается и ТОМ, что ОI1ЫТ!-lые адМlflнlt:т раторы MOryr иметь совершенно разные представления о пршшлзх н проuедурах управления СИС1емами. Вам придется самостояте;IЬНО р шать. какой именно материал и в какой стеllени соотиетствует той среде, 11 которой 8Ы работаете. r l'1Ово 1 С чеrо ...ачоТh 19
1.1. Что необходимо знать Мы предполвraеw., что У читателя сеТЬ определенный опыт работы с UNIX. В чвстности, необходимо иметь обwее npедстввление о том, жак выrлядит и ведет себя система с ТОЧКИ зрения пользователя. ЛИШЬ при ЭТОМ условии можно переходить к изучению принципов администрирования. Книrи, перечисленные в пвраrpвфс 1.9, помоryт заложить необходимый фундамент знвний. Большинство зaJtвч администрирования решается путем редактирования файлов конфкryрвuии и нвписвния сценариев, позтому читатель должен быть знакоМ с какимнибудь текстовым редвхтороМ. НастоЯТельно рекомендуем изучить редактор vI. Он ЯllЛяется стандартным мя всех UNIХсистем и, хотя выrлядит несколько "бледным" нв фоне более мощных nporpaмм (в частности, emacs), вбсолютно притоден ДЛЯ работы. Если ОТдаТЬ предпочтение друтому редактору, очень быстро надоест устанавливать ero В каждой новой системе. К разочврованию мноrих, ИСПОllЪзование Microsof\ Word в качестве универсальноrо TeKcToBoro редакторв является серьезноЙ помехой нв пути эффективноro системноro администрироввния. Один из важнейших инструментОв вдминистрвторв UN IХ  ЭТО сценарии, предназначенные для автоМВТИЗ8UИи основных задач. Примеры TRKOro РОда сценариев приводятся нв протяжении всей книrи. Чтобы стаТЬ профессио налом. необходимо научитьСЯ читать и модифицироваТЬ сценарии, написаН иые на языке Bourne shell (sh). Сценарии, которые пишутся "с нуля", моЖНо составлять на командноМ языке или любоМ доступном языке сценариев. Для новых проектов МЫ рекомендуем применять язык Perl. Как язык проrpвммирования, он несколько необьrчен, однако включает IdИoro средств, полезных ДЛЯ администратора. Кроме Toro, советуем изучить ЯЗЫК системы expect, который более подробно рассмвтривается в парвrpвфе 18.2. Этот язык можно ОСВОИТЬ доствточно быстро. 1.2. Краткая история UNIX Опервuионная системв UNIX зародилась в 1969 r. в рамках научноис следовательскоro проектв лаборln'ОРИЙ Вell Labs корпорации АТ&Т. В 1976 r. онв сталв бесплатно рвспрострвняться В университетской среде, что послужило основой ДЛЯ мноroчисленных курсов по опервuионным систеМаМ и, cooтвeT ственно, ДЛЯ дипломных проектов. В конце 70x rr. в АТ&Т былв создана rpуппа поддержки UNIX (UNIX Suppon Group, USG), впоследствии преобразованная в систему пвбораторий UNIX (UNIX System Laboratories, USL). 3адачей rpупrты былв "раскрутха" U N IХ как коммерческоrо npОду1<Та. Разработху системы продолжвли и в Bell Labs, и в USG, но в разных наnpввлениях. Версии USL  S}'1ilem 111 и Syslem V  получили широкое раcnрострвнение и оказвли большое влияние на развитие современных операционных систем. ОС Вerke1ey UNIX былв создана в 1977 r., коrда Исследовательская rpynna ПО вы'!и.mrreлъныыM системам (Computer S}'1ilems Research Group, CSRG), орraнизованная в Калифорниltском университете в Беркли, приобрелв лпuензию на исходный код системы у комnвнИИ АТ&Т- Версии, выпускаемые этой rpуппой, coкpвweннo назывались В50 (Berke1ey SOf\wBrc Dislribution). Их выпуск нвчался в 1977 r. с версии IВSO дЛЯ мвшины POP 11 и досmr КУlIЪминamm в 1993 r., коrда вышлв версия 4.4В50. 20 Чость I ОСНОВЫ одминистрирО80НИ 
Для коммерческих пользователсй лииензии А Т& Т на исходные тексты всеrда СТОИЛИ дореro. Для унивсрситетов они сначала бьши дешевыми или вообше бесnлвтными, но по мере завоевания системой UN LX коммерческоro признвния ценв быстро росла. В конце концов, специалисты Беркли принял>! решение убрвтъ "од АТ&Т из BSD. Работв предстояла долraя, yrомительная и кропотливая. Незадолro до ее завершения университет лишился финвнси роваIOtЯ в области исследований операционных систем и Исследовательскую rpуппу по вычислительным системам рвсформировали. Перед рвсформироввнием rpуттлв выпустилв финальную версию системы без KOдll. АТ&Т под названием 4.4BSDLite. Большинство современных Bepc 8SD UNIX (включая BSDjOS, Free8SD. NetBSD и ОрелВSD) ведут свое начало именно от этой системы. Хотя системы BSD и System V лежвт в основе большинства дрyrих версий UNIX, сами они нихоrда не имели коммерческоrо влиЯ't-{ИЯ, ОбыtlНО поставщики выбирали 01IНY из таких систем в качестве исходноrо варианта. нв основании Koтoporo разрабатывали свою собственную ос. Иноrда на свет ПОЯВJlялись rибрилы. соеДИНЯЮI.I..Ше в себе черты обеих базовых систем. Неудивительно. что со временем версии U N 'Х стали достаточно существенно отличаться друт от друта. Нвстоящим потрясением для мирв UNIX стало появление ядра Linux. которое сеrодня внедрено во мноrие UNIХсисте"ы. Разработка LiПLlХ началась в 1991 r. и БЫJl3 личной инипиативой финскоrо аспиранта Линуса ТорвалЬдса (LinLlx To",alds), который задался 1tслью лереписвть стандартное ядро UNIX. Со временем к проекту подютючилось множество разраБОТЧ"ИКОR. пользователей и прочих энтузиастов. В результате было соз.дано полноф HI< llИОН8Льное ядро системы премышленноrо уровня, ПОДllерживаемое мноrнми поставщиками. Для среды Linux уже напИсаны версИJ1 крупных коммерческих пакетов (к примеру. Oracle) 1.3. Современные UNIXnpoAYкrы в данной книrе в качестве примеров для изучения используются четыре популярных варивнта UNIX: Solaris 2.7, HPUX 11.00, Red На! Linu, 6.2 и FreeBSD 3.4. Они столь распространены. что едва ли найдется сервер UNIX. на котором не БЬL'Iа бы установлена хотя бы olIНa из этих систем. Операuионная система Solalis компании Sun М icrosys(ems ОтНОСIfТСЯ к семейству System V, но обладает множеством расширении. SLln UNIX (так она называлась в серепине 80x rr.) пеР80началъно Я-ВЛЯJ1ась ПОТОМ ко'" Вerkeley UNIX, но альянс (уже прекрвтившийся) ..ежд,у SLln " АТ&Т привел к изме нсниlO платформы. ос HPUX компании HewlettPBckBrd является rnбрИдОМ меЖдУ System V и Berkeley UNIX. но со своими собственными "странностями". Существует несколько систем UNLX дЛЯ платформы Iлtеl. "оторые распространяются бесплвтно. Свмая популярная из них  LinLl". Она реализована в ВИде ядрв, к которому требуется добавить набор команд. yrилит и демонов, чтобы получитъ законченную UNIХсистему. Ядро Liлuх постав nястея вместе с дрyrими компонентами в ВИде дистрибутива. преДН83нвченноrо для полноuенной инсталляиии. Компании, занимающиеся распространением Linux, используют разные подходы JC реализаuии системы. поэтому RСрСИИ Система Unux была перенесена иа множестВО друrих платформ, 8J<JUOчая иrpoвыс ПРИСТilБКИ N Iпtепdоб4. r лова 1, С чеrо ночать 21 
Lioux MOryr весьма отличаться друт от друта. Некоторые компании (включая Red Hal, SuSE и Corel) ПОСТВВIIяют системы промышленноrо уровня, снабженные всеМ комплексом технической поддержки. FreeBSD  это версия UNIX, основанная на системе 4.4BSDLile Подобпо Lioux, онв работает нв плвтформах 101el. Коммерческий вариант системы распространяе1<ОЯ компвнией 8SDI. 1.4. Шрифты 101 условные обозначения Именв файлов. комвнды и Bpryмeнты комвнд, которые следует нвбирать па КЛВ8ивтуре без изменений, даны жирным шрифтом. Переменные пара метры, вместо которых необходимо подст-.lВЛЯТЪ конкретные значения. выделены "урсивом. Например. в команде ер файл каталоr предполаl'8ется. что apryмeнт файл будет заыенен именем реальноrо файла. 8 apryMem каталоz  именем реальноrо К8талоr8. Результаты рвботы команд. а также фраrменты сuенариев и фвйлон конфиryрации набраны моноширинным шрифтом. Комментарии к интерак тивным ссвнсам выделены курсивом, например: , grep воь /pub/pbonelist j* НаЙТИ номер телефона Боба ... / ВоЬ Клоwlеs 55528З4 ВоЬ Smith 5552Зl1 При описании синтаксиса команд мы. как правило, используем те же обозначения, что и в интервктивном руководстве пО UNIX: . текст, заключенный в квадратные скобки ('[' и Т), ЯRЛяется необязател ь ны;; текст, после KOToporo следуe-r мноrоточие ('. _,. "), можно повторять; . фиrypные скобки ('(' и '}') указывают на то. что необходимо выбрать Один из элементов, разделенных вертикальноЙ чертой ('I'J Нвпримср, залиси bork. (x1 ton I or:t} иияфайла . _. соответствует любая ИЗ следующи:х комаtЩ: bork. оп /etc/pasBwd bork. x or /etc/pas5wd /еtз/tеrmсар bork. orr /uer/libIt:mac в выражениях с шаблонами поиска применяются сле.цуюшие метасимволы: звездочка (''''') обозначает нуль или более символов; . вопросительный знак ('П обозначает ОДИН символ; тильда ('') обозначает начальный К8талоr текущеrо пользователя. а выражение "ОЛЫО6атель  начальный каталоr указаНRоrо пользователя, Нвпример, иноша вместо названий сценариев запуска BSD /etc/rc /e't.c/rc.boot /etc/ rc . 10са1 можно использовать сокращеннъni шаблон /etcjrc*. 22 " Чость I Основы ОДМ...,НИСТРИРОВOI-IИЯ 
Информация по конкретным системам Привсденные 13 книrе снедения относяrся. как правило. КО всем }'ТlОМЯli}iЫМ системам, есt]И не имеется соответстауюших указаний. Подроб ности, касаЮlIlIIеся конкретной системы, помечаются эмблсмоЙ поставщика:  Solaris 2.7 p] HPUX 11 О  Red Нв( Liлuх 6.2  Fre"BSD 3.4 l' Эти эмблемы использованы с разрешения их влaneJ1ЬUС8. ОтмеПIМ. что фирмы не рецензировали эту книry. 1.5. Как пользоватьСЯ интерактивным руководством в документ.аuии 110 UNIX МОЖНО н.аИТIf нее, IITO I-IСllU"\ОЛИМО ЗНЗIЪ 1V1S1 обеспечения работоспособНОСПI СlIстемы 110 Иllоrдз Л}' IllIф"РМ3IlИЮ СЛОЖIIО отыскать, кроме тoro. часто 01-1.3. подана в трудной дл::.1 fЮI,:IIРИЯТНЯ форме. у иас обязательно должсн быть В Нз..rШЧIIIt 11O!II-IЫЙ Jo.:OM'flIO Т локументаШfl1 ПО TO верСfИ UNIX. которю аы используете. НО .:ПО НО1lсе не ОJначаст. что нужно ПОКУП8ТЬ печатные Iвдания. Большинство ДОI()-МОПnЦИИ ДОСТ)'ПI-ю в элеll.-ТРОННОМ ВИДе либо в самой системе, либо на \\"ebYJ.'11.:' t:'e постаншика. Докумеmация, поставляемая иместе с UNIX. кож "раНI1ЛО. бывает ниу:" типов. mапстраIOfиы (ИХ название rОВОрlП о том, ЧJQ Iти cтpalllfllbI предназначены для rJpOCfoтpa С ПОМОIllЫО команды Ш:IП) 11 'IOПОЛНlпельныс статьи. Первые сонержзт полное оmlС311ИС отдельных l<оч.IIIД, формаТОR файлов If библиотеЧIIЫХ подпроrрамм. ОБЫ1.JНО они ДОСТ)IIНЫ Н l1IflOrol.O\f реж.име. но Ifllоrда 1I0стаНЛЯЮТОI и в распеЧ;:П3I1НО),f "lI...1 r .:. Статьи  )ТО более объемные AOJo.:YMeHTbI. u которых 1)..1110 подробllое ОПlfсаl---ше ТОЙ или иноЙ темЫ. Они с.'IУ'...кат ДЛЯ УI'л,,"б'III"lOrо IПУ1lеlllШ материал и поt.lОЩIl и решении практическнх Jaдa'--l. Со МIЮПiМИ КоМПоНfll. тами проrраммноrо обеспечения связана каК m;шстраННU<I. raK и стзп.я Например, mапстраниuа редактора vi СОДСрЖ11т IllIфОрМi.ВIIПО о(> apl)'MCIITC\'\: JCОМ3.lUJ,ноЙ СТроЮ-f. НО для Toro чтобы узнать. как рс.пт...'..ПIРUИ;JП. Kotlkpe-ПIМn файл, придется обратиться к прилаrаемоЙ статье. Поскольку mапстраН"ILlЫ тесно спязаны с IIporp;J.MMHloJr..f оfiССПС[lfНИС"I. которое ОlfИ описывают. поставшики стtiраются НС сшrыIO 11'\ менять и дс.,IШОl :по тfШЬ при модификашш самих nporpat..JM.. С ДОПО"lI-lСНИЯМИ дело оБСТОl1I иначе. так как мноrие поставщики ПОЛIIОСI.ЬЮ ji:lMCII1Unl lрДИI(IIOIIIIЫ руководства ноиыми книпlми И ДОКУf,.lеlпаМI-!. Ряд важ.неИllШХ компонентов UNIX IlOдnеРЖltиастся crOPOHIII-IМИ OpIIII заuиями. такими как ISC (Iщеmе( Sof(v.'are Сошюrtшm  Io..OHt:0PIIIIY..1 разраБОТЧИКОII проrpаммноrо обеспечеНllЯ для II,terneO н ASF ,,\Р3С)lе SоВ\\"ап' Founda[iol1  орrаюпация р3.3рабо'ТЧикои npO'lJ3MMHOI о об('СIIC:,чеНIIЯ ,Д...1'Я Apache). Эти орrаниз.аuии обычно предоставляют и ДОКУМСНI<ШIIЮ К pacllpo страняемым пакетам. Некоторыс постаВЩИЮ-f ПРОд;lЮТ ПрОI"р.з\п"шое оБССrl(.' чеНIIС без документации. поэтому в TКlIX СJIУЧ&JЯХ необ"О1ШМО ш-tiсрссоваП.С)1. ,"Iмеются .:IW ДОПОJn-tитеЛЫlме мз replaJlbI" Однако так пронсхолнт не вcerna. КО:\1Il3IЫЯ He,,IeIlP.lckilrd. II;tnpIlMC'p. IlрО.D".....а:ы 011'0\1 ную работу по редаt.."'ТllроиаIНlЮ IШ'"СТР;]fIIllI r лово 1. С чеrо ночать 23 
Дрyrим цcHным ИСТОЧНИКОМ информвuии О проrpвммных пакствх UNIX является серия документов RFC (Requesl for соmmел!s звпрос нв KoММeH тарии), в хоторых описываются протоколы И проrpвммное обеспечение сети In!emet (см. пврarpвф 13.1). Орrанизация страниц руководства Во всех UNIX системвх mвп страНИUЫ делятся нв разделы, однвко точное определение каждоrо раздела зависит от системы. Базовая орrанизация mвп стрвниu представлена в табл. 1.1. т обл цо 1.1. Разделы mол строн ц . UNIX 5010rl. HP UX !dл ' FreeB5D Содержание 11 I I KoMIuulы И прил.ожеиия nOJ1Ь3OB8TeJ1ьcкoro уровня 1 2 Системные вызовы И коды ошибок ЯдРа Э Э Библиотечные функции 4 S Сп.ндартные форматы файлов s 7 Раз.личны( файлы и документы 6 6 иIl'.ы И демонстраиионные IIporpa.м.мы 4 Драйверы устроАств и C Bыe протоколы 1т 8 Команды Clo1cтeWforo а.п.м:и.н.истрирования 9 9 Внутренние юrrерфейсы и спеuифихаиии ядра Во мноrиx системах осушествляется разбивка разпелов m8п страниц на подразделы. Например, подраздел 3т чаСТО содержит mап страниuы с информвцией о библиотеке мвтематичесЮIX функций системы. Сушествуют тзюке значительные различия в распределении mап страниц ПО разделам: в некоторых системах раздел 8 оставлен пустым, а комаlШЫ системноrо администрирования помещены в первы1! рвздел. Во MHOrnx системах O'I'Cутствуют иrpы и демонстрационные при меры. поэтому рвздел 6 пуст. Большинство систем ПозвОЛЯЮТ создавать раздел руководства под назва нием 'С)" ШlЯ mап страниn. которые имеются только На данной машине (локальныe mал стрвниuы). Дрyrое общепринятое обозначение раздел .оп" д.тrя описания тех nporpaMMныx средств, которые не являются cтporo локальными. но и Не ВI01ючены в стандартную поставку. Неформатированная информanия для mап страюЩ традиционно хрвнится в каталоf'8Х /usr/mап/mапХ. rдe х цифра от 1 до 9 либо буква Т И!ТИ 'л', и выводится иа экран с помощью проrpаммы trorr. отформвтироввнныe версии руководств находятся в квталоre /usr/mвп/свIX. Командв mвп форМВ тирует mвп стрвницы "нв лС1)''' (непосредственно в процессе отображения). Если в каталоrn са! можно записывать информвuию. то этв комвнда сохрвняст отформвтироввннъ.е страницы по мере их создвния, помещая наиболее ЧВСТО читаемые стракиuы в кэш. Если в каталоre достаточно ecтa, то, восполь зовавЩИСь комвндой catman, можно одновременно отформвтировать все maп стрвницы. В некоторых системах, нвпример во FreeBSD, mвп стрвницы перемещены в каталоr /usr/shаrе/mап. Часто стрвницы крвнятся сЖаТЫМИ (с помощью утилиты compre!ili или кzip) с целью экономии места. 24 ЧОCl"в 1. ОСНОВЫ О'nМИНИСТРИРОВОНИfl
 в Solaris языком формвтирования mапстраниu ЯТ\Ляется SGML (Slалdвrd Genera\Jz Markup Language  стандартный обобщенный зык разметки). Страницы, отформвтироввнные с помощью yrилиты Irolf, подаерживаются, но ХРВНJrТся в отдельном катапоте,  Чтение страниц PYKoBoAcrBa: команда man Команда mап заzолов"" формвтирует конкретную странниу руководства и посыпает ее на терминвп пользователя посредством nporpaMMbI more (или друтой проrpаммы постраничной разбивки, З811анной в переменной среды PAGER). Apryмeнт заZОЛОВОК  зто, как правило, имя "аманды, устройства нли файла, о которых необходимо получить справочнуто информаuию. Поиск по разделам руководства осуществляется в ПОРЯдке возрастания номеров, но разделы, описыl!8щиеe комвнды (1, 6 и 8), обычно просматриваютс в первую очередь. Командв mап раздел заzо,JОВОК вызывает mапстраниuу из указанноrо раздела. Так, команда mап Ity BЫllacт на зкран страниuу руководства по КОМВНдс tty, а команда тап 4 tty  страницу для драйвера послеДОВ8ТeJlЪноrо порта. В Solaris номер раздела необхоJIИМО предварять флаrом s, например mап ! 4 tty. Почти все версии КОМЗI-ЩЫ тап проверяют, определена ли переменная среды МANPATH, которая должна СОllсржать ра3l1еленный двоетоЧ1lЯМИ список каталоrов. С ПОМошью переменной MANPATH можно отменить юи расширить список кзталоrов. в которых по умолчанию ПрО80ДИТ ПОИСК команда mап. Например, размещенная в файле .1og1п запись setenv МANPATH /hоmе/зhаrе/lосаlmап: /usr/man указывает команде man на то, что требуется вести поиск сначала в каталоrе локальных mапстраниц, а затем в каталоre /usr/maB. Версия зтой команды длЯ интерпретатора Воиrnс shcll будет иметь тахой вид: МANPATH=/home I зhаrе/l0саlmaп: !usr /man export МANPATH в некоторых системах переменная MANPATH полностью отменяет П}1'Ь поиска, заданный по умолчанию. Поэтому слелует указать стандйртный каталоr ЯВНО, если необходимо продолжать просмотр mапстраниu. пол}'чен Hых от поставщика системы. Команда man k к.лЮ'iевоеСЛО80 печатает сшtсок шапстраннu. в строке пояснеIOfЙ к которым имеется указанное кrnoqeBoe С.ттово. Например: , man k trапзlаtе 9ftype (lL)  transla.t.e 4 font. f1.1e for humans t.o read pktype (1L)  translate а packed fолt file tr (1)  translate cha.ra.cters База данных кточевых слов обычно хранится в файле wharis R "корневом каталоre иерархии mапстраниn (/usr/mап ит, /usr/shаrе/mап). Если в систему вводятся дОполнительные mапстраницы. то. возможно. потребуется ncpccтpo ить этот файл с помощью команды саtmап w. r лово 1. С чеrо ночоть 25 
1.6. Основные задачи системноro администратора в .:rrOM париrрафе содержится обзор некоторых задач, реш(:ние которых оБЫ'ЛiО В(ПllRШСТСЯ на СИСТемнОrО администратора. Совсем не обязательно. 1'f()Бы JП{ ФУIIКUIII,I UЫIlQЛНЯЛ ОДИН человеl':. Во мноrи'\: орп:шн'ЗаШIЯ)( работа распределяется среди нескольких aAMl-1 НИС1-р3ТОрОВ. В любом случае необхо лим Jt..ОТЯ бы ОДИI-I человек. который понимал бы все поставле..rnые lад.3ЧI{ и DБСCnС1IИВал ИХ реализацию .nрyrими людьми Добавление и удаление пользователей 0' Ба 1('[' lJодробllРО UllфОРАlаи.шо о добавЛf'lllШ новых п.О.1ыовотедеЙ .4Ш,ll('Щ) I'ОЛУ'ЩпJh в zлоис 6. СОJдаЮIС учетных записей ДJ1Я 1I0BbD.: пОЛЬJОВJ.ТСТJеи и Yll,L:leHlie учетных ЗiiffiН.'"СИ тех пользопзтмея. которые У'...кс не работают 8 Сliстем, 8J1яется оБЯ3ЗIIIIОСТЬЮ СIIСТСМI-юrо администратора. I Jропесс управления записями можно аl.Поматизировать. но ряд решений, связанных с включением в систему HOUorlJ ПОЛhJоваТCJIЯ (rAe следует разместить ero началыIый каТШ10r, на каком КОМlIЬЮтерс будет создана учетная запись и т,д.), должен ПРJtИJlмать адМИIIНСТР.ПОР_ r \ ли необходимо прекратить доступ пользователя к системе. следует отключить ero учетную запись. Все фai1flы' опюсяшнеся к JTOMY lIолыопа телю, нужно удалить, чтобы OHJ1 не заНIfМ3.ЧII места на Дl-1ске. Подключение и удаление аппаратных средств 0' ДотыltuтеЛhНйЛ UllфОр.мйи.uя по данной тe/.fe npиBeaf'Ha в l.1OBax 8, /2 и 13. В сл}'чае Прl-lOбретения I-IOBЬL'X аппаратных средств или подключения 'Же имеюшихся устройств к llрyroй маШ-Иl-lе CltCTeMY нужно персконфиryрl-Iровать таким образом. Ч'Т'обы ОНа распознаflЗ и 8КТИВИЗl-lровала эти устройства. Иlменени КОНфltrураllИИ может быть как простой задачей (наПРl-lмер. ПОдключение Пр51нтера), так 51 более сложной (скажсf'.!. подключеЮ1е жесткоrо диска) Резервное копирование 0' ПоdробllСС О рсзсрвно.м копировании вы можете узнать в i!ЛОВе /0. Резрr'lное копироnaюtе является одной из нан более важных задач систеf.ШJ.lХ администраторов. которую они. к сожалеНI-IIО. чащ вcero ипlO рl-IРУЮТ или ВЫПОЛНЯЮТ спустя руксша. Проuе.nyра pelepBHoro КОПllрОВ<lНIIЯ llО80ЛЫlO }'ТОМJПСЛЬШl И занимает MHoro opeMelHl, но осущеСТВЛJIТЬ ее необходи.мо Этот проuесс можно автоматизировать НЛI-I ПОруtIИтЬ подчинеl-l Hы,' но все равно системныЙ адмИlrистратор обязан убедиться в том, 'fТO резершюе копирование RЫПОJlнено правильно 11 по rpафику_ Инсталляция новых проrрамм После приобретеtrия HOBoro проrpаммноrо обеспечения ero нужно ИllсталЛИРОВiiТЬ 1-1 протестировать, часто в раЗIIЬJ\': всрСИЯХ UNIX и на раIШ(IНОМ оборудованпи_ Если nporpafMы работают нормально, пользовате лям необходимо сооБШIНЬ об их наlJlIЧИИ и меСТОllахОЖденин. локалыlее 26 Часть I ОСНОВЫ администрировония 
проrpаммное обеспечение с.ледует инсталлировать туда, rAe ero можно будет леrкО отличить ОТ nporpaMMHЫX средств, постаВJlяемЫХ 8 сОставе tINIX. Это значительно упрошает задачу расширения операUl-IOННОЙ системы, поскольку исчезает опасность уничтожения локальныХ nporpaM в хОде ПОllоБНQI-О расширения. Мониторинr системы Сушествует великое множество обязательных для ИСIIОJlнения ежеlШf"IIЫХ Оllераuий, например: ПрОверка пранильности фIНКl1ионироваНI"Я эле....--троннои почты и телеконференuий, просмотр реп,страuионных файлов на предме '" нaJtИ1.mя раю"mx I1ризнаков неисправностей; контроль за подключением локальных сетей; контроль наличия системных ресурсов (в частности, проверка наличия свободноrо пространства на диске). Поиск неисправностей Системы UN1X и аппаратные срепства. на которых 01-111 работают. премя от времени выходят из строя. Задача адМЮ.ll-lстрзтора  ДIщпюстировать сБOlI в системе и в случае неоБХОДlIМОСТl-1 вызывать спеuиалистов. Как прзнило. найти I-Iеисправность БL:.rвaет HaMHoro сложнее, 1.(ем устраиlПЬ ее Ведение локальной документации 0" Рекомендации, касающиеСJl веdения дОК)'iЧешпациu. даны в tlараi'рафе 27./0. Настранвая конфиryраuню систе).fы под конкретные требоваНIIЯ. вы вскоре обнаРУ'..кИТf. что она значительно отличается от базоlЮИ конфш)раUI-Ш, которая описана в документаuИl.{. Поэтому снстемный адf',IИНl-lстратор llо.ажен документировать все IНlсталЛl-lр'емые проrpаммные средства. не ВХОllящ1-tе 8 стандартный кш..mлект поставки. документировать разводк\' кабелей. вести записи по обслуживанию всех аппаратных срепств. реП1стрировать состояние резервных копий. ДОI<..,'меНТl-lропать локальные проuсД}ры и праВl-lЛа работы с системой. Слежение за безопасностью системы 0" Вопросы 6езопасноспш рассматриваются в laвe 2 J. Системный администратор Отвечает за реа'шззuию стратепш JаШIiТЫ Ii должен периодически проверять, не нарушена ли lашита (1-lСтеМhI В система.х ( НИЗКИМ ypOBl-lем безопасности 'Эта проидура может быть сведена BcerO лишь к нескольким текушим проверкам на предмет несаНКЦИОНИРОВaн.J-lOrо доступа. В система.х с высоким уровнем безопасности оБЫЧliO ПРl1меняется СЛОжная система ловушек и проrpаым контроля. Оказание помощи пользователям Пун"". "оказю-rnе помощи пользователям в решении РЗЗ-тIичных Ilроблем" редко включается в должностную IfIIСТРУКЦИЮ системноrо altMl-tНI-IСтратора. несмотря на то что выполнение подобноrо рола обязанностей "съедает.' большую ЧСТЬ рабочеrо времени. Системных i:IДМИНl-lстраторов бомбардируют самыми рЗJНЫМИ вопросами. НЗ1.fиная от '.Вчера моя nporpaMMa работа:lа. а сеrоДНЯ нет! Что Вы поменяли-:>" дО "Я пролн.л8 кофе на КJlапиатуру Нужно ли теперь полить ее водой. 1.fтобы смыть кофе?" r лово 1 С чеrо нО40ТЬ 27 
1.7. Как искать файлы в Internet Информвuия по вопросам системноrо администрирования ДOcтynHB в больших количествах и в разных формах. Список ресурсов, к которым может обращаться начинающий администратор, приведен в rлвве 27. Основным истоЧНИlCOм информвuии IIВЛ>1стся (п!сmе!. Вопросы, касаю щиеся систсмноrо администрирования. можно вводить даже в таких поиско вых системах. каК www.yahoo.com. www.al!avista.com и www.webopediB.com. Мноrис wеьузлы иепосредственно посвяшены lIВнной теме. Вот HeKO торые из НИХ: . freshmca!.com  оrpомная коллекuи проrpаммноrо обеспечения ДЛ Liпuх; . www.ugu.com  аббревиаrypа "иgи" расшифровывается как "UNIX Guru Univcrse  вселеиная IYPY UNIX"; нв этом узле содержится MHoro информвuии для системных администраторов; www.s!okely.com  хорошая коллекция ссылок нв ресурсы, связанные с системным администрированием; www.tucowS.com  качественное проrpаммное обеспечение для Windows и Macintosh; . slashdo!.org  место, rдc пуБЛИJ()'ются новости для особо любознательных; . www.cpan.org  uентральный ИСТОЧНIIК сuснариев и библиотек Pcrl: . securi!yfocus.com  WсЬузел, посвященный вопросам безопвсности; оrpомнвя поисковая база данных. 1.8. Издержки профессии Системные адмmrnстрзторЫ  это люди, сидящие на нескольких с'I)'лъях. Они чвсто имеют друтую работу просто их попросили присмотреть за несколькими компьютерами "на стороне". Если вы один из таких людей. подумайте о ТОМ, к чему, в Koнue КОНЦОВ. ЭТО может привести. Чем больше вы будете знать о UNIX, тем больше пользователи будут зависеть от вас. Сети неуклонно разрастаются, и, следовательно, вЫ бlдете вынуждены тратить все больше и больше времени на выполнение ФУНКUI-IЙ администратора. Вскоре окажется. что вы  единственный человек во всей орrанизаuии. который знает, как решить uельrll ряд важнейших проблем. Если КОJ1леrи стали считать вас лока-Т1ЬНЫМ системным алМИНl-lстратором, от зтой роли уже трудно отказаться. Мы знаем нескольких людей, которые вынуждены был.и лаже поменять место работы, чтобы избавиться от дополнительной нarpУ3КИ Поскольку крут обязанностей системноrо адМI-IНИ стратора четко оrраничить нельзя, от вас, скорее Bcero. потребуют, чтобы вы были не только штатным администратором, но и шrатным инженером, писателем. а также секретаре.м. Чтобы прекратитъ поток просьб со стороны своих коллеr. некоторые администраторы начинают плохо выполнять CBOI-I обязаННОСПl, становяТСЯ раздражительными или вообше иrнорируют большинство просьб. Не peKO мендуем вам приперживаться такой политики, иначе У вас MorYT возникнуть дополкительные проблемы, в том числе и в отношениях с окружаюЩI-IМИ. Вместо 3Toro предлaraeм следующее. ведите работу на должном уровне. одновременно реrистрируя время, затрачиваемое на Cl-lстеМНОе адмииистри рованис. Собирайте JlОКазательства. которые можно будет использовать, KOrJIa вы попросите освободить вас от обязанностей администратора. В БОЛЬШИlJстве орrаниэаuий для TOro. чтобы добиrься замены, приходится упрашивать руководство полroД8. а то и roд, так что учитывайте ЭТО в своих планах. 28 Чость 1. Основы ОДМt.<1Нt.<1СТрt.<1рОВОНt.<1Я 
С дрyrой стороны, может ОКВ-1ВТЬСЯ, что системное администр"роnaние вам нравится, и вы захотите стать I1fТBTHЫM администратором. В зтом CJJyЧ.вс npoблем с поиском работы у вас не будет. К сожалению, самв работа от зтоro не станет леrче. О том, какие ужасы вас ждут нв данном лоприщс, рассJCВ3Ывается в rnаве 27. Синдром храническоrо администрирования ОДНОЙ из малоприя1'ны,' но, увы, рвспространенных болезней, COllpOBO Ждающих человекв, который работает системным администратором, является синдром хроническоrо администрирования. Признаки заболсваНIIЯ обычно ПРОЯВJIяются на третий rOA после начала рвботы администратором 11 MOlyr привести к преЖдевременному уходу нв пенсию. Ниже перечислен неПОЛlJЫЙ список ХВр8ктерных симтrrомов. . Острая ПСЙдЖерофобия  раздрвжвющес ощущение TOro, что у вас срвботал пеЙдЖер и ваш мирный вечер с cynрyroй внезапно п;>ерван. Вам JCIIЖется, что вас срочно вызывают для устранения лослсдствий Ч П И вам придется работать 72 чвса подряд без перерывов на еду. . НВIIЯ3чивая пользователемания  маниакальное стремление протыатьь иroлхами кухольныc фиryрки отдельных представителей ПОЛЬJовательско ro племени, которые не понимают. что постоянное отсyr(,:твие rpaMOTHoro планирования является ПрИ'fИНОЙ Toro, что они называют непраВИ1!ЬНЫМ администрированнсм. . Идиопатическая лентоплексия  внезапно проявлmощееся поздней НОЧЬЮ стремлеЮiе смонтировать леНТОЧl-lЫЙ накопитель для рсзервноrо копиро вания, чтобы убедиться в том I ЧТО ом читается и маркирован правильно. . Интеллектуальная шизоидн&я нетерпимость  непреодолимое желание C'JYIOfY!Ъ знакомото системноrо sдминистрвтора, который никоща не применял нвучных методов администрирования. Для лечения болезни MOryr яспользоваться различные тералсвтическис метоДИ1<И. Наиболее эффективными являются принудительное развитие чувства юморв и орrанизаuия небольщоrо, но хорошо оборудованноrо ВИIIНоrо поrpeбка в офисе. Допускаются также более медитвтивныс методы, нвпример молчалнвобезучвстнос рвзrnЯдыванис окружвющсrо пространства, коrда РЯдом с вами раздвется очере.дной rневный возrлас "Что? Сервер снова упал?!" Если ничеrо дрyrorо не nOMorBeT, возьмите omYCK. 1.9. Рекомендуемая литература . Anderson, GBII, впд Pau1 Алdеrsоп. Тhe UNIX С She/l Field Gllide. EngJcwood CliJfs, NJ: Pren!icc HaU. 1986 . Hcwlet!PackBrd Сотрапу. The иliiта/е Guide /0 /he VI and ЕХ Тех/ Edi/ors. Redwood Ci!y, СА: ВепjamiпjСummiлgs. 1990, . Abrahams, PBUJ W., впd Bruce А. Larson. UNIX for /he lтpa/ien/, 2nd Edilion. RеadiП8, МА: AddisonWcslcy. 1995. . Peek, Jerry, Tim O'Reilly, and Mikc Loukides. UNIX Power Tools, 2nd Edilioп. Sebas!opol, СА; O'Rellly & Associa!cs. 1997. . MOn!jomc\)', John, Влd Woody Leonвrd. Тhe Underground Guids /0 Unix: SI/gh/ly Askew Advice from а ип/х Guru. ReBding, МА: AddisonWcsJey. 1995. . Reichвrd, Кеvlл, алd Eric Fos!erJohnson, ип/х in Plain Eпglish, Зrd Edi/ion. Fos!er Ci!y, СА: IDG Books Worldwide. 1999, . Rankln, ВоЬ. Тhe No BS Gиlde /0 L/nиx. No S!Brch Press. 1997. . Wв1I, Larry, Тот Chris!iansen, Bnd Raлdal L. SChWBrtZ. ProgrammmB Реrl, 2nd Ed///on. Sebas!opol, СА: О'RсШу & As'ociBles. 1997. r Л080 1. С чвrо начать 29 
2 Запуск и останов системы UNIX  t.:'!l(Jжная Оllер.аЦllOllная CIICTe\la. н процсд)ра ее ПК-lючеННSI/ВЫ I<.JlючеИIISI не СИОДlнея к прОСтому li8жаПIIO кнопки ПIПiШI-IЯ. Поэтому ееЛ,",1 81>1 хотитс. чтобы система работала корректно, 8ЫПО.'lняйте операции заПУСJal и оаанооа по всем пра"И.13М. Проuесс начальной заrрузки cHcTet"fы исеrда казаrrся заrадо'шым, но 011 БЫIl проше D те времена, коrда один пронзподите..тIЬ постаШIЯJl неликом ка}.; аППttрЗТНУЮ. так и проq>аммную часть СИL-темы. Сейчас, Korдa UNIX работает иа персональнык компьютерах, необходимо Прl-lДсржнваться правил, YCTaHOB ленных Компанией Microsoft, [ПО порожлает существонание мноrочllсленныx КОНфl-ll)'раций. Несмотря на то, что МЫ paCCM8tpl-Iваем особенности заrpУЗКlI 8СС'Х тестоиы)" систем. вы УВИдlПС, что rораздо БО.lьше Dtlнмания уделяется системам, vстановленным на персона'1ЬНЫХ компьютерах, чем CIICTeMaM, ВЫllОЛНЯЮШl-lМСЯ на оборудоваНИl-1 собственноrо ПоетаВШI-IК3. ХО1"Я данная [лава 8 книrе  одна 1-13 первых, в ней мы I-шоrдз оперируе ПОIIН[Ю1МИ, которые подробно рассматриваются лишь 'Iерез несколько сотен страllИU. ПО..JТОМУ рекомендуем также ознакомиться с rлзва\IИ 5, 12 и 28. Если ваша система заrpужается без проблем. можно ПРОПУСТlпь эту rлаву и 8СрН}'1'ЬСЯ К ней позже. От\tСТИМ, что прОТСК8НI-IС проиесса НаЧальной заrрузки заВl1сltт от TI-Ina ИСПОJlьзуемоrо оборудования. Приведенная lЛесь 11 НфОрМ3ШtSl верна Д.1Я оОшсrо СЛ)'Чая. однако н конкретной системе MorYT ПрОЯ8J.1ТЬСЯ некоторые OT:lI-IЧI-IЯ. 2.1 . Начальная заrрузка Под начальной ззrрузкой подраЗУ'lевается сало]апуск КО!l.шыоrера при Н....лючсНI-IИ питания. Поскольку средства onepi:1Ul10HHoh Cl-lстеМbl на данном этапе недоступны, компьютер должен в буквальном CMbIc.Tle "оБСJ1УЖIПЬ сеБJ:l сам". Процесс ВКЛЮ'lает заrpузку cllCTeMHorO ядра в память и ero последую шую a.....,.l-lвl-lJ.aЦию. Затем ВЫпОЛШlется ряд I-Iниuиализаuионных за.д.ач. после чеrо система rOTOBa к обслужипаниlO пользователеЙ. 30 Часть 1. Основы адмИНИСТР"'РОВОIIИЯ 
Начальная заrpузка  ЭТО перl-IOД особой уязвимости в жизни Cl-lстеМbl. Ошибки в конфиrypauионнbIX файлах, сбои в работе оборудования. по.реж llения фай.новых систем MOryr помешать компьютеру нормально начать работу. Настройка режимов заrрузки во мноrих случаях ЯВJISlеТСSI одиой из первых задач, которую приходится решать администратору в новоЙ системе. К He счастью, эта задача  одна из наl-Iболее сложных, и для ее решения необходимо хорошо знать UNIX. KorHa прОl-lСХОАl-1Т ВКJ1ючеНl-lе питания, запускается на выполнение заrpузочный код, храняшийся в ПЗУ. В ero обязанность ВХОдИТ запуск '!дра Ядро опрашивает состояние оборудования, а затем запускает системныи процесс init, идеНТИфllкатор Koтoporo вcerдa равен 1- ПреЖде чем на экране ПОЯВJlяется реrистраUНОliное приrлашеНl-lе. про исходит uелый ряд событий. Файловые Cl-IСтеМbl должны 6ыть проверены 51 смонтированы, а системные демоны  запушены. Соответствующие npoue дуры ревлизуются с по,,-fOШЬЮ Cuehapl-Iев I-Iнтерпретатора slleH. которые ОДI-IН за друrим запускаются проиессом init. Стартовые Сllенарl-IИ часто называют "rсфайлами", поскольку они имеют префикс " fC ", Он расшифровывается как .Iси" command"  .'команда запуска'.  и ЯШlяется пережитком, доставшимся UNIX в наследство от оперauионноЙ системы CТSS. Конкретная cтpyкrypa стартовых Сllенариев 1-1 способ их выполнеЮ1Я зависят от ..:истемы Все зти вопросы будут рассмотрены в данной rлаве. Автоматическая и ручная заrрузка БОЛЬШИНСТ80 UNIХСI-IСтем может заrpУЖЗ1ЪСЯ 11-160 В автоаТИ'lеском. либо 8 ручном реЖl-lме. В перВО1 СЛУ4ае система ззrружается C3MOCTOSITC!lbHO. без какоrолибо вмешательства извне. Во втором с.rIlЧае она также ззq>У.iКаетсJ.! автоматически, но до определенноrо момента: перед выполнением основных иниuивлизируюших Cuehapl-Iев УПРЗВJlение передается оператору (челоВе....у. сидящему за терминалом). В это время система находится в так называемом "однопользовательском режиме". Большинство Cl-lстеМНbIХ "роиессов не выполняется, и вход дрyrих пользователей 8 систему невозмож.ен. В повседневноh работе почти всеrла применяется автоматическая заrруз ка ТИПl-lчная проuедура заrр'ЗКИ выrлЯillIТ так: пользователь вк,lючает питание и Ждет (жnет...), пока снстема перейдет в диалоrовый реЖЮ.I. Системный администратор. однако, обязан не только поннмать. как проходит проиесс авТОматической заrpузки, но 11 знать. как заrрузl-IТЬ CI-Iстему BPY'-jНУЮ. 3arpужать Cl-lСтему вручную чаше Bcero ПРI-IХОДИТСЯ при возникновении проблем. вызывающих прерbIваНl-lе автоматнческоrо C1pouecca заrрузкн. Это MOryr быть, например. повреждения фаh1080А системы или ошибки в конфнryрации сетевой платЫ. Этапы заrрузки Обычно проuесс начальной заrpузки состоит из шеСПI этапов: заrрузка и инициa.rшзаuия ядра . распознаванllе 11 КОНфllryрИРОБаНl.е УСТРОЙСТR; запуск самовыполняющихся Cl-lстеМНbIх проиессов: . выполнение команд оператора (только при ручноh заrРУJке); выпО.lнение стартовых сuенариев; . переход в МнОrопользовательскии режим. r лОва 2. Запуск и останов системы 31 
Почти все этвnы проходят без контроля со стороны администрвтора. Можно управлять процессом заrрузки, редактируя стартовые сценарии. Инициализация ядра 0' ПодробllО О ядрt РОССI<a:Jыеается е zлоеl 12. Ядро UNIX са\о10 по себе является проrрвммо!\, 11 первы!\ этвп начвлыlO!\ эаrpУ3КИ заключается в считывании этой nporp8MMbI в память ДЛЯ послеДУЮ R шеrо выполнения. Имя файла ядрв определяется разраБОТЧIIКОМ КОIIКРетной системы, но традиционное ero название /Bnix или /vmBnlx. в нветояшее время разрвботчикн не придерживаются cтporo этоrо соrлвшения. В большинстве систем заrрузкв lIдpa осушсствляетея в два этапа. Снвчвлв в пвмять маШIIНЫ с диска или мвrнитно!! ленты считывветея (с помошью кода, З8Лисанноrо в ПЗУ) небольшая проrpаммв нвчвльно!! зarрузки, которая затем выполняет собственно заrpузку ядра. Весь процесс ПРОIIСХОДИТ еше вне UNIX, поэтому в разных системах он реализован порвзному_ Ядро выполняет тестовые проrpвммы, позволяюшие определить, сколько пам.тн IIмеетея в наличии. БО,lЬШИНСТВО внутренних структур ядра обладают фиксироваННЫМ размером, поэтому ядро точно знает, сколько памяти нужно зарезервировать для CBMOI'O себя. Эта память будет недоступно!\ по,lЬЗОВВ теЛЬСКИМ проиессам В большинстве систем Я1lро выдает на кОНСОЛЬ сооБLUе нис об обшем объеме ф",нческой памяти 11 объеме памяти, не занятоЙ Ядром Конфиryрация аппаратных средств Одна из первых задач. СТQЯШI-IХ перед ЯдРОМ,  выявление компонентов аппарзтиоrо обеспечения. Создавая ядро ДЛЯ своеА системы, ВЫ можете указать, какие устройства оно должно проверять. KornB ядро нвчинает ВЫПОЛНЯТЬСЯ, ОНО пытается наЙПI 1-1 иниuиал.изировать все устройства. о которых ему было сообшено. Большинство Ядер выводЯТ на консоль краткую информаuию о каждом обнаруженном устройстие. Информацня об устройствах, задаваемая при конфиryРИРОВВНIIИ Ядра, зачастую Я8JIЯется неполноА. В таЮfХ Случаях ядро пытается ПОЛУЧI-IТЬ неоБХОДl-lмые сведеНI-IЯ. опрашивая системную шину на предмет наличия устройств и запрашивая нужную информацию У соответетвуюших драйверов_ Драйверы отсутствуюших или не отвсчвюших на контрольный сиrнал устро!\ств отключаются. Даже если позже устройство подключить к системе, оно будет недоступно для UNIХпроцессов до тех пор, пока вы не персзаrpузит. машину. Системные процессы После завершения базово ИНИUИ8..1изаuии ядро создает в области памяти. выделенной для проuедур пользователя, неСКО.1ЬКО '.самовыпо.'1НЯЮЩИХСЯ" процсссов. Это пРОИСХОДIIТ В обход CTBHлapтHoro системноrо вызова fork (см. параrpаф 4.2). COBpeMellHble CIICTeMbl рlus-влd-рlву позволяют ЛОДКЛlOЧВТЬ псрифериl\ное оборудование 80 BpeMSI работы компьютера. Несмотря на то что эта технолОrия llостаточно широко распространена, боЛЬШl-lНСТВО систем попре)К}olему требуют перезаrрузки. чтобы новое устройство бы.."Iоo корректно распознано и ИНИUШlЛИЗИРО8ПНО. 32 Часть 1. Основы администрирования 
Чясло и ,арвктср таких проиессов определяются типом опсраuионной системы. В ВSD системВJ{ создаются 11>И npouecca: . swapper (идентифИl<ВТОР О); . 1"11 (идентификатор 1); раиеdвето" (l1дентиФикатор 2). Число саМQВЫПОЛНЯЮWl-lХСЯ проиессов в системах семейства SyS(em \" вары.руется: . sched (идентификатор О); 1"11 (идентификатор 1); . различные обработчики сиrнвпов ядра. В Lioux процесс с НДСНТИфlll<атором О отсутствует, а обшее ""сло самовыполнЯIOШИХСЯ проиессов завис",. от версии япра: . 1"11 (идентификатор 1): . рвзличныс обработчllКИ сиrналов ядра (kf1ushd, kupdale, kpiod, kswapd). Из всех упомянутых проuессов ТОЛЬКО 1"lt является полноuенныM пользоват ьским процессом; остальные фактически представляют с060Й части ядра опсрвuионной системы, которые были преобразованы в проиессы из конuеnтyвлы.ых соображений. После зтоrо ядро больше Не прннимвет учвстия в nроuспурс начальной звrpузкн CIICTeMbl. К этому моменту, однвко, еше не создан ни один из процессов, ynраВJ1ЯIOШИХ базовыми опсрвl[ИЯМИ (нвпример, lIOCадом полЬ30 вателей в систему), и большинство демонов не запушено. Обо всех этих за.аачах позаботится (в некоторых случаях косвенно) ПРОllесс init. Действия оператора (только при ручной заrрузке) o Если систему нужно запустить в ОДНQПОЛЬЗ0вателЬСКQМ режиме. оператОр указывает при запуске спеuиальный флаr в коман..п.ной строке, а ядро передает эту IIнформаuию "роисссу inil. При за'1'УЗКС в однополъзовательском режиме обычно вымется приrлашение ввеСТИ пароль пользователя root. Если он нвелен правильно, запускается команДНЫЙ интерпретатор с правзми пО!1Ь30 вателя 'ооl. Можно не задавать пароль, а просто нажать <Clrl D>. после чеrо за'l'узка продолжится в мноrопользовательском режиме. В Rcd Наl KOMaнд ны1й интерпретатор запускается без ввода пароля. Более подробная информация о привuлezuя:x пользователя тоос содержuтСJl в ?.лаве 3. В однопользовательском режиме оператор может выПолНЯТЬ команды почти так же, как и в мноrОПОJlыователъском. Однако оБЫ'fНО автоматически монтируете" ТОЛЬКО раздел диска с корневым каталоrом. Дрyrnе файловые системы оператор должен смонтировать вручную ШlЯ Toro. чтобы использовать nporpaммbl, НВJ{опяшиеся вне каталоrов jbi", /sbIn нли /eIC.. Демоны в однопользовательском режиме не запускаютсЯ', поэтому команды, заВI-ICящие от некоторых ссрверных "роиессов (нвлример, mall), работать не будут. 0' Подробнее о файловых системах и их монтировании читайте в zлаве 5. Во мноrИJ< однополъзовательсКIIX средах корневая файловая системв монтируется постytlНОЙ только дlIЯ чтения. Если каталоr /tmp ,"",яется частью КОрневой системы, множество проrpвмм, работаюших с временными фаllлами в некоторых CI-Iсте iах МОIOируетСЯ также каталоr /usr. r ЛQВО 2. Запуск и останов системы зз
9 (например, редактор "). откажутся вылолнmься. Чтобы исправить подобную ситуаиию, необходимо в самом начале О1IНопользовательскоrо сеанса CMOI-I тировать К8талоr I в режиме чтения/записи. Как ЭТО сделать. зависит от системы. В большинстве случаев достаточно выполнить команду mounL /. а всю необходимую информаuию комаllда ВОЗЬМСТ из файла rsLab или .rstвb. в Red Hat система ведет себя He,-rnoro 'аrpессивнее" в од.НОТlОЛЬ30ва телъСКDМ режиме. К тому МDментуу Korna отобразится приrлашение I-IНTep претатора shell. система попытается смонтировать все локальные файловые системы. На первый взrляд. это кажется удобиьrм. но если с каКОЙI.шбудь файловой СllстемОЙ чтото не в пормке, возникают проблемы. Команда rsck, которая проверяст и восстанавливает поврежпенные файловые системы, обычно выполняется 8 проиессе автоматической заrp}'зки. Если система запускается в ОДНОПОЛЪЗОВlЛ'елъском режиме, команду rsck нужно "проrnать" вручную. Подробно даниая команда описанв в лвраrpафе 8.4. Коrда интерпретатор команд, ВЫПоЛНЯЮЩIIЙся в однополъзователъском режиме. завершит работу, система продолжит зarpузку в мноrОПОЛЪЗО8атель ском режиме. Выполнение стартовых сценариев К тому моменту. Korдa система окажется rOTOBa выполнять стартовые сuеНВРllИ. все "заraдочные" этапы лроuесса зarpузки будут завершены. Перед нами еще не полностью заrруженная система, но это уже UNIX. Файлы сценариев, по СУТИ, лредставляют собой обычные командные файлы, которые запускаются "роuессом init по определенному алrоритму. Точное местонахождение. содеРЖlOе и орrанизаuия стартовых сценариев заCII)'JКИвают отделъноrо изучения (см. параrpаф 2.4). Работа в мноrоnользовательском режиме 0' Детоль,ше uписа,ше "рацесса реzистрации в системе дано в lIараzрафе 7.8. После выполнения I-Iниuиализаuионных сuенариев система полностью roтoвa к работе, за одним исключением: никто не может в нее войти. llilSI Tora чтобы с КОНКретното терминала можно БЫJlО попасть в систему. иеобходимо, чтобы терминал имел свой "роиесс getty, ОЖИ1lаюший поступ пения запросов от этоro терминала". По окончании работы последнеrо cтapтoBoro сuенария проuссс init порождаст все неоБХОДIIМЫС происссы getty, завершая проuссс зarpузки Если система сконфиryр"рована для работы н rpафическом режиме. проиесс ini.. также порождает СООТRеТСТВУIOШl-lе реrист рационные процессы. такие как xdrn. gdш IIЛИ dtlol1in. Необходимо помнить, что ПрОllесс init продолжает IlrpaТb важную роль даже после занершения начальноh заrpУ1КИ В ВSDсистемах он имеет пееrа дна состояния: ОДНОПОJlьзователъское и мноrОIlОЛЬЗ0вательское. В ДРУПIХ системах у Hero есть ОДИН однопользователъский и несколько Ml-lоrа110ЛЬЗО вателЬСКИХ "уровней вьmолнения". определяюших. какие ресурсы системы будут доступны пользователю. УрОвни вьтолнения описаны в парarрафе 2.4. в Solaris используется более сложная npone.дypa реrистраuии. 34 Часть I Основы ОДМИНИСТРИРОВШ-lИЯ 
2.2. 3аrрузка системы на персональном компьютере До cero момента описывапась обшап процедура заrpузки. Теперь HeKO торые наиболее важные (и сложные) ее этапы необходимо рассмотреть попробно, проанзлизировзв особенности работы каждоfl из тестовых опера ШЮНиЫХ систем. А l-13чнеМ мы опять с JТапа ВЮ1l0чения питания и заrpузкн япрз. На 1l'адиционном UNIХоборудоваIПIJ.1 ЭТО IIрОСТОИ проиесс. заслуживающий Л"IШЬ нескольких строк описания. Однако еСШ1 система установлена на персоналъНQМ компьютере, то все значительно СJlожнее. Нам придется п.атъ MHOro ВВОДНОЙ ИНфОрМ3UИИ, чтобы ВЫ смоrли ПОНЯТЬ cyrь ПРОИСХОДЯШ1fX событий. Ест'! вы не работаете на пеРСQН3ЛЬНQМ компьютере. переходите непо срепственно к параrpафу 2.3. Чем персональный компьютер отличается от фирменноrо оборудования Korna кошьютер зэrружается. наЧl-tиает RЫIlQJIIIЯТЬСЯ код, записанныи Б ПЗУ Точное ero местоположеll..lе и структура за8ИСЯТ от пша обор}дования. В компьютерах. созданных спеuиarrьно для UNIX, код "прошивается" разрабоПfКОМ, который заранее задает алrоритм ПОДКЛЮчения устройств, базовой J1нициализаuии сети и распознанания локальных файловых систем. Это очень удобно для системноrо администратора. Ему достаточно 8вести JIMJf HOBoro файла ядра. а код ПЗУ автоМатически обнаружит -и прочитает этот файл. На персоналыtlхx компыoрахx код начальноn заrpузки предстзwтен в виде базовой лодс"стемы 8ROпавЫНОда  BIOS (Basic Il1рш/Оutput System), которая чрезвычайно ynpQ[uclli1 в сравненшt с фирменным кодом UNIXMa UШН. В действятельносП1 в BIOS сушествует несколько уровней КОЛ.а" одr.IН ДЛЯ caMOI"O КОМТlьютера. друrой lL'IЯ иидеоплаты It еше ОДШ1 для SCSI адаптера. есля таковой имееТСЯ. ВL'Троенный коп BIOS знает о некоторых устройствах, расположенных на материнскои плате, в частности о контроллере IDE rи жеСТК"IХ писках), клавиатуре, последовательны'\ и параллельных nopTa.'I.:. А SCSIaдamepbI раСПОlнают только те vcтponcma. кот()рые ПОПЮIЮЧСНЫ непосредственно к НIIМ. Выявление конфлИk'"ТОВ между ра w"lчными УРОВНЯМ"I BIOS может стать наСТОЯЩl1М кошмаром Сложнее все."о "онять то. как происходит выбор устройства. с которою ДОJlЖl13 быть IIрOJпвепена li.lI1JY"JKit. Процесс заrрузки ПК В COBpeMellHblX KOMllblOTCpa'l.: ВJOSlJpOl1JaMMbI "умнее", чем раньше Они позволяют на этапе заrpУJКIf ВХОДИТЬ в режш.i КОНф"lryрирования. удеРЖ"IВ3Я нажатой одну I1Л..1 Две клаВНШJt. Как праВI1ЛО названия этих клавиш отображаются На "Экр3l-Jе. чтобы их не нужно было 11скать в документаШ1l-1" В режш.tе конфиrypщюваН1IЯ МОЖНО выбрать. с K3Koro устройства требуется IIРОИ]ВОП..IТЬ заI1JУ]КУ" Как правило. это ДltСКоВОд д..'1я rиБК1fХ llI-IСКОВ. лервый 10En"cKoBOn COROM иш, перпый жесткий писк 'ОЕ. Нам бы хотелось объясиить вам, Kal\ псе работает, но, к сожалению. это невозможно, так как панная стадия процесса заrpул.,,'}! находится под контролем про-изво .пителей перСОН3!1ЬНЫХ компьютеров н нх мноroЧ"lсленных ВIОSпроrрамм. r rЮ80 2. Зопуск И остонов ccтeMЫ 35 
Они устанав.тrnвают свои собственные правила иrpы. которых прИХОДИТСЯ придерживаться. Korдa компьютер определил, с KBKOro устройства следует заrpужаться, производнтся считыввкие ПСрВЬD< 512ти байтов с дискв. Этот cerMeHT д>,ска известен как i!JIaBНilJ/ заZРУЗ0чная за1lись (rзз). в неЙ содерЖИТСЯ проrpаммв, которая сообшаст компьютеру о том, в какоМ разделе Al-tСка наХОДl-t7СЯ проrpамма вторичной заrpузки (заrpузч"к ОС). Дололн"тельнвя "нформаuил о разделах дисков на персональных компьютерах и rлавной заrpузоtlноi\ записи ПРl-tВОДИТСА в rлаве 8. Стандартная проrpаммв rзз двет компьютеру указание извлечь заrpузчика ОС из первоro разделв диска. Linux и FreeBSD поддерживают более сложные проrpвммы, которые знают, как рвботать с "ссколькими опервuиониымИ системаМJI и ядрами. Коrдв проrpвммв rзз находит раздел, с KOTOporo будет вьrполнснв заrpузка. она пытается запустить заrpузочную проrpамму. связанную с ЭПtМ разделом. В случае успеха этой проrpамме передаются ПОЛНОМОЧl-tЯ по дальнейшей звrpузкс ядрв. LILO: эоrрУЭЧИК Llnux Звrpузчик LI LO неверояпlO сложен и в то же время ужасно бестолков. В нем подnерживается множество возможностей, отсутствующи>\ У nрyrих зarpузчиков, НО нет некоторых элементарных свойств. Зarpузчик LILO входит в состав првктически всех д"стрибутивов Liлuх, включая Red Hat. При первой установке системы I-tнсталляuионные сuенарии создают копию LILO со СТВНдартНhIМИ пара метрам" заrpузки. KaKTO повлиять нв этот процесс нельзя. LILO не так уж необходим для заrpузки Lioux. но это часть системы. Придется науч.иться ее любить... LILO может быть установлен в rлавную заrpузочную заПl-tСЬ диска или в заrpузочную запись KopHeBoro раздела Linux. КОНфl-п),рирование и ИнС7алля ция заrpузчика осушс<:.твляется с ПОfOшью ПРО'lJаммы Шо. которая извлекает параметры конфиryрациИ из файла /еtсflilо.солr Чтобы >t3менить настройки заrpузчика, достаточно отредактировать этот фаЮl J1 110ВТОрНО заПУСПIТЬ проrpвмму Шо. эту процедуру необходимо лроделыввть всякий раз пр" измененИИ проиесса заrpузки  в частносП1. ка.ждыfl РаЗ. коrда добавляется новый 'larpузочный раздел или создается новое ядро. KOl-lфиryрИрОВОl-lив LILO Ниже привсдено содержимое файла lilo.conr lI:JЯ с"стемЫ. в которой имеется рабочее и резервное ядро' boot""/dev/hda root.../ dev /hdal install,../boot/boot .Ь map../boot/map delay-20 r:OMel.Laew. З8rрузЧИК з rзз ., задаем 1(орн:е:вой Dаэдел image-/vmlinuz label-ll.nux readonly image"'/vml inuzbackup l,sbel-backup readonly 2сехундная задержка, дающая пользозателю возможность вы.ешв'!'ься эв:,ружаеыое ядро ыетха. ядра ., реэереное ядро 36 Часть I ОСНОВЫ ОДМИНИСТррОВОНИfl 
Каждому еозможному сценарию заrpузки "азначается метка. Введя метку на этапе заrpузКИ, мОЖНО сооБШ1ПЬ модулю LILO о том, какой из сце"ариев следует выбрать. Тот сценарий, который указан в файле Illo.conr первым, выбирается ПО умолчанию. В стаНдартном сценарии (меткв linu,,) заrpужвстся файл jvmlinuz. Флвr reaQonly указывает на ТО, что ядро монтирует свою файловую систему в режиме "только чтение". Этот флаr должен всеrда присутствовать; стартовые сuенарин позаботятся о ТОМ, чтобы повторно смонтировать раздел в режиме "чтение/запись", коrД8 возникнет такая I-tсобходимость. Система СКО"lф"lry рироваИ8 таким образом, чтобы в случае неудачи заrpузить зервное ядро (файл jvmllлuzЬасkuр). Подобивя возможность является очень удобной. Если запусnпь проrpамму 1110 без BpryMeНТOB, онв создаст и инсталлирует заrpузчпка, сообшив о том, какие ядра доС1)'ПНЬ!. Рядом с названием OCHOBHOro ядра будет отображена звездочкв. При иалич1П! ошибок в файле Illo.conr они не будyr обнаружены до тех пор, покв проuедурв "нсталляции заrpузчика не .nостиrнет середины. Система окажется в переходном состоянии. Не перезаzружаuте ее, пока проrpамма liIо не завершится успешно. Чтобы не попасть в подобную ситуаuию. запускайте nporpaMМY с Qпuией t. которая позвоЛЯет протеСТИРОВ8ТЬ файл. ие ВЫпоЛНЯЯ инсталЛJfUИЮ, Ест-I ошибок не выивлено. можно пере.ходитъ к пропедуре инствлляuии. Честно roвopJf. непонятно, почему проrpaмма 1110 не делает такую проверку автоматически. В нашем случае результаты работы nporpaMMbТ будут вытллпетъ так: 11 li.lo Added liЛJХ'" Added backup При заrpузке системы модуль LI LO выдаст приrлашение следующсrо B..llla: LILO: После пвузы д-wной 2 секунды (парвмC'fJJ delay, рввный (, соответствует 1/10 ce,,')'НlIЫ. в в рассматриваемом файле lIIo.conr он рввен 20) будет заrpуже,1O ядро jvmllnuz и СМОНПlрован первый раздел nepBoro (DEWlCKB в качестве KopHeBoro раздела. СП"IСОК сuенариев ззrpузки можно просмотреть, нажав клввишу <ТаЬ>: LILO: <ТаЬ> llflUX backup LILO: Чтобы заrpУЗ"IТЪ резервное ядро, введите ero метку в строке приrлашения. Заrрузчик FreeBSD MoдyJ1Ъ заrpузки во FreeBSD прост и эффективен. Он разделен на две часпt: одна нахОДИТСЯ в rлавной заrpузочиой записи, а вторая  в корневом разделе FreeBSD. Обе части инсталлируются раздельно. ПервиLfНЫ-И заrpузчик инст.а.лШfРУется с поt.юшью команды bootOcrg НаПР"lмер. команна j bootOcf"g B /dev/."dO помешает перв}ю часть заrpузчика в rзз первоrо I DЕдиска системы. Здесь практически ничеrо не нужно менять (а чаше Bcero это сделать просто r лово 2. Зоnуск 1-1 остонов Cl-1стеМbl 37 
невозможно). Б проuессе заrpУЗКl.1 модуль просматривает список доступных дисков (И3W1екается ИЗ BIOS) 1-1 находИТ разделы. которые, по c:ro мнению, являются зarpузоtJныи.. Перечень разделов отображается в виде небольшоrо меню: Fl F1:"eeBSD F2 W:l.ndows Default: Fl Дополнительную информаUl-1 ю о TOHKOi1 настроике первичноrо заrpУЗЧНКi1 можно получить на стрвниuе интерактинноrо РуководствCt. посвпшенноЙ проrpвмме bootOcrg. Второй модуль непосредственно отвечает за ",rpузку FreeBS D и позволяет пользователю пере.naть ядру дополнительные парзметры. Инсталляuия модуля осущеСТRЛЯется с помощью команды disklabel B. Проrpамма disklabel является достаточно мошной: она обладает множеством опций 1-1 поддерживает почти все дисковые накоml"feЛИ. ВОТ как она обычно вызыпается: *" disk.label B /dev/wdOsl Здесь вторичныft "JЗrpузчю.,: записывается в первыft раздел первоrо IDЕдискв. Параметры конфиryраuии вторичный ззrpузчик ИЗW1екает 1-13 слеДУЮШJ1\ файлов: . /bootfloader.conr . jboot/loader.cOBr.locBI . jboot/deraulls/loBder.conr ПоследН11'Й файл содержит стандартные YCTaHORКJI lаrpузчика и не должеll никоrда МОДl-lфицироваться. Все эти установки можно переопредеЛl-lТЬ с помошью файлов loader.conr 1-1 loader.conf.locaJ. а та...--же ItJ командноft CтpOKJ1 на этапе зsrpузки системы. Информаuию о параiеТрi:LХ заrрузчика вы можете найти на страниuах руководства ЬооЦ8) 11 loader(8). Мультисиcrемная эаrруэка Поскольку на одном персональном компьютере MOтyr работать несКоЛЬКо операUl-lOННЬrx систем. ПрltВЫЧНОН ЯRJlяется опуаuия. коrда компьютер заrpужается в мультисистемном режиме. Чтобы добиться этоrо. необходимо правильно сконфиryрJ1роВ3ТЬ модуль за!lJУЗКИ. позволив ему распознатLo имеющиеся на локалЬНЫХ дисках операuионные системЫ. В каждом разделе диска может располаraться собствеННЬНf вторичныlt заrpузчик. однако rлавная заrpузочная запись TO'1bKO OnHd. Поэтом).' необхо димо решить, какой из заrpУЗЧl-lКОВ будет rлавньrМ. Как правило, выбор диктуется особенностями имеюшихСЯ операuионных систем. Если ОДНОЙ 1-13 иих ЯW1яется lJлuх. то лучше Bcero в качестве rлавноrо J8!lJузчика выбрать LILO. ИСЮlючение составляет случай. коrпа np"cyrcTByeT Windows NT/2000. Заrpузчик этоft оперauионной CI-IС"feмbl вceдa ДО.'IЖfН по,,-tешаться в r зз. Проблемы при мультисиcrемной эаrруэке Орrанизаш1Я мультисистемной заrpузки toЖеТ быть болезненным про иессом. Ниже излаrаеТСJf информаНl-tя. которая позволит вам сберечь множество нервных I01еток. 38 Чость 1. ОСНОВЫ одминистрирования 
Коrда на компьютере с мультисистемнои заrpузкон планируется ycтaHO вить одну из клиентских версий WiлdоW5 195. 98 иш, Ме). это должно быть сделано до тО20, как будyJ I-IНСТаллированы остальные системы. Данные версии Windows СЛНШКОм rлупы и не предполаrают. что на компьютере может быть установлена какаЯНllбудь дрyrая ос. Они всеrда занимают первый раздел nep80ro диска. перезаписывast в проuессе инсталляиии сушествуюшие проrpаммы заrpузки. Аналоrnчное правило при меняется в отношении Windows NT/2000. Wil1dows Bcerna инсталлируется перооft. Причины этоrо MOryт быть разными. .10 результат Bcerna один. Заrpузчик NT /2000 очень хочет инсталлировать себя в rлавную заrpузочную запись и быть Самым rлзвны.. СОПРОПlмение бесполезно. Чтобы заставить этоro заrpузчикв распознавать разделы UNIX, необхо дима предварительно инсталлировать UNLX и заrpузиться С дискеты или комттактдиска. Затем нужно прочитать первые 512 байтов раздела U N IХ (заrpузочный сектор раЗдела) и записаТь их в файл. Это можно сделать с помощью команды dd. Вот пример ее использования в Linux: j C!d i'L=/dev/hda2 o'L=linux.bin Ьв==512 count=l Далее следует скопировать этот файл в раЗдел NT/2000 и добавить в файл конфиryрации заrpузчика NT запись а том, как заrpужаться с использованием данноrо фаnла. Все. по д.Тfя :поrо требуется.  поместитЬ в ф3ltJl C:\boot.ini строку с указанием пyrи к файлу и метки. В случае Liпuх эта строка будет выrлядетъ так; с: \ linux. Ьin....Liлuх.. Дополнительную информаuию О структуре файла boot.ini можно 110ЛУ<JloIТЬ в интерактивной базе знаниЙ на WebY3J1e suppol1.microsoft.com. Еслп Lil1ux " Windows NT/2000 сосущеc-rnуют вместе, заrpузЧИК LILO должен быть инстanлl-lрОван в раздел Linux, так кзк rланная заrpузочная запись уже занята Для этоrо достаточно в файле lilo.conr поместИТЬ 8 пара метр boot ссылку на раздел Linux. Наl1ример. если ОС Linux ИНСТaJUJИрована на втором разделе первоrо I DЕдиска, строка будет иметь следующий вид: boot::/dev/hda2 Это действие должно быть проделано до тО20, как вторичный заrpузчнк будет заПl-lсан 8 файл и скопирован в раздел NT. По сути, весь проuесс должен повторяться каЖдЫЙ раз, Коrда требуется повторный запуск nporpaM мы lilo. Мультисистемное конфиryрИрОВQние LILO Если LILO является rлввны" заrpузчиком (например, иа компьютере установлены системы Linux и Windows 98). начните со cTaндapтHoro процесса конфиrypирования LILO, описанноro выше. Затем 110 мере необходимости можно добавлять записи для друrnх операционных систем в файл /etcj1ilo.conr. Вот как будет выrлядеть запись, пред"азнвченная ДЛЯ заrpузки Windows из переоro раздела Псрвоro IDЕдиска: other; "'" /dev/hdal label :: windows table  /dev/hda r лово 2. Зопуск и остонов сис.темы 39 
Ниже привепен полныЙ текст файла lilo.COBr дJ1Я с..1}'Чая, коrда Windows заrpужается из первоro раЗдела. Lil1ux  из aтoporo, а FreeBSD  из тpeTbero: defaul t .. 1 i!'J.u>o:  ilOt.teDlaew ЗАrрузчи!( в !'ЗЗ nepeoro IDЕписка j 2секундная за.пержка. Дi!Пдi!Я пользова.те:I10 ЕОЭЫО.НОСТЬ выешатьсЯ УNолч:анию заrружаетс L:l'1uX из B'1'oporo раз.nела boot .. / dev /hda del"y - 20 1mage =-- /Ьооt/vm11пuz2.З.41 root - / dev /hda2 1аЬеl :8 l:lnux ree.don1y :.mage ,. /dev /hdal " за::,руЗКi!I Wlndaws из r.epBoro ре.здеr.а li!.be1 "" w.lndows t8ble .. /dev/hda mage '"" /ciеv/hdаЗ  заrрузr<:.а FreeBSD из тре':'ье!'о раздела labe1 - reebsd table - /dev/hda После модификаuии файла 1II0.conr nporpaMMa 1110 должна бытъ вызвана повторно. Не забудьте препварительно выполнить ее в тестовом режиме с ПОМОШЪЮ опuии t. Мультисиcrемное конфиryрировоние FreeBSD 3аrpузчик FreeBSD вcerna пытаетсЯ автоматически обнаружить заrpузоч ные разделы. Но можно саМОСТОЯТС:IЪНО сообщитъ ему о них, восполъзовав шись опцией m маска nporpaMMbI bootOcrg. Параметр _"аека содержит битовую маску разделов, из которых требуется звrpужаться. Первый раздел лрсдстав ляется Д80ИЧНЫМ кодом 0001 (шестнадцвтеричный эквивалент  Охl), второй раздел  кодом 0010 (эквивалент Ох2) и т.д. Налример, команда . bootOcfq B .. Ох1 инсталлирует первичноrо заrpУЗ 1 fИка и сообшает ем)' о ТО", что разделы 1. 2 и 3 являются заrpужаемы"и (Ox7=0111) В "РОllесее 181"рузКli ни э"ране отобраЛfrСЯ \tеню с тремя эле!оо1ент3'\Н1  по Одному ЛJ1Я каждоrо разле.lа. 2.3. Заrpуэка в ОДНО пользовательском режиме в следующих параIJ]афах описываются особенности однопользователъ ской заrpузки 8 каждой ИЗ тестовЫХ операционных систем. Solorls Чтобы прервать проиесс заrpузки и воЙти в ПЗУ на компьютерах Suп. нажмите одновременно ютаВИШl-1 < LI > и <А>. На современных к.павиатурах Sun клавиша <LI > иноrда обозначается ка" <STOP>. ПереЙllЯ в ПЗУ, введите boot s, для Toro чтобы ПрОДОlDК1ПЬ заrpузк:,,/ в ОПНОIlО;1ьзователъском режиме. Если в системе Solaris требуется ЛI.I"ру-зИТЬ альтернативное ядро. необ\:о .димо задать полный путь к YCтpOtkTBY И фаflлу. Имя устройства  JTO длинная заrалочная строки. которую можно увилеть. выполнив команду 15 I по отношению к соответствующему файлу /de v \ 1& l /dev/rdsk./cOtOdOsO lrwxrwxrwx 1 roo't raot 55 .Jan 15 1998 lae.../rdsk/cOtOdOsO . ./ . . !devices/sbus@lf, O/SUNW, fase. 8800000,' .sd@Or о: а. raw 40 ЧОСТь I ОСНОВЫ одминистр",РОВОНИЯ 
Чтобы заrpузитъ ядро, хранпшееся на JIИске в фвйле jkemeljbackllp, нужно ввести следующую комаfЩY: boot /dev1ces/abus@lf,O/SUNW,r_.O.,8800000/sd@O,O:a, raw/1c8rn81/b&ck.up В твбл. 2. J rrеречислен ряд rrолезных комаид, которые можно вводить R режиме конфиrypирования П3У на компьютерах 5110. Таблица 2.1. КОМОНДЫ КОнф",ryРИРОВОI-IfI ПЗУ ДЛIiiI компьютеров Sun probe....1 w . Выполн"емое действие Заrpузкв aпьтepнвrJ<IIНOro JlДPa Заrpузка в О.DJiOnOJlЬЗOватеп:ьском режиме ПсреКDИфИI)'pИроваимс я.дра И поиск НОВЫХ устройств УвеДОМJIсние и.цр.а о необходимости чтения файла j'lc/I)'...m.bak, а не /.Ic/ayat.m Выдача списка nОдкJlЮченных SCS]YC11IORcтв Комондо Ьооl //r)Iт.кФОЙЛУRдРQ bool.a Ьооl T Ьооl a /.tc/l)'lI.m,bak HPUX Проuедура ОДНОПOJlьзователъской зarpузки нв компьютере HPUX зввисит ОТ типа Машины. Приве.аенные ниже сведения ОТНОСЯТСЯ к компьютеру HP 9000Л35, После выда'rи соответствующеro сообщения rrрервите проuесс заrpузки. Появится строка rrриrлвшения. Введите boot p' sl, чтобы отобразить расширенную строку приrлашения. Онв будет выrЛядетъ лримерно твк: ISL> prompt: Следуюшая комвнда выираетT требуемое ядро и заrpужает систему в однопользовательском режиме; ISL> prompt.: hpux 1a Istand/vmul'I.ix Llnux Перейти в однопользовательский режим в Liпиx можно с помощью звrpузчика LILO В строке ПРИl'Лвwения LILO введите метку ядрв, которое требуется заrpузитъ (заданв в файле lIIо.сопl), а затем ОПUию . или II"gJe. Например, стандартное ядро, поставляемое в составе Red Hat, имеет метку "linux", поэтому, чтобы заrpузитъся в одноrrользовательском режиме, необ. ходимо задатъ твкую комвfЩY: LILO: l1nux 8ing18 Заrpузчик LILO понимвет различные опuии комвндной строки (табл. 2.2). т Dблицо 2.2. Примеры ОЛЦий зоrрузчико lllO Оrщия НазнчеН-е .. root-/dev/foo Со06шаст JlДPy о том, ЧТО КОрНСJlЫМ RШUlСТСИ устройство /d..jloo Зl.лglе Зад.ает режим ОДКОЛOJ1Ъ3Oвате:льской 38.rp)'зхи init-/sbin/nit Сообщает ядру пyrь к проrpамме 1011 ether-O, О, echl Заставляст upo осуществить поиск адаптера Ethernc[ 41 r лова 2. Зопуск и ОСТОНО8 системы 
в однопользонательском режиме система Red Hat особенно ЧУВСТlштеЛЫ-f8 к ошибкам. ПреЖде чем ВОЙТИ в ЭТОТ режим. Red Hat пытается выполнить коман.ny rsck и смонтировать все локальные файловые системы, причем практически ни одна из системных команд не J(оmонуется статичеСКl-1 Если в результате ошибок монruрования нужные бибЛI-Ютеки фую..'Uий оказаJШСЬ не ПОДЮlЮченнымJt. динамически компонуемые команды не будут ПЫПОJl няться. Даже баз08ые команды маНИПУЛИР08aJНIЯ ф3luшми, сетеные ТШJlПЫ и текстовые peD.alo..JopbI требуют наШIЧИЯ совместно используемых библиотек ФункuиR. По этой причине работать в ОПНО1l0льзовательском режиме в Red H3t. R общемто. бессмысленно. НеоБХОЛIIМО будет Bcerдa держать пол рукоЙ спасательную заrpузоЧ"ную дискету. Обычно МП решеНl-lЯ незнаllительны\ проблем удобнее заrружаться в режиме подтверждения илн непосредственно со спасательной дискеты. FreeBSD Чтобы перейти в однопользовательский режим. прежде BCCI"O RыбеРl-lте FrееБSD из меню первиЧ"ноro JаrpУЗ'fИка: Fl FreeBSD Defaul t: Fl Затем, получив соответствующее приrлашеНJ1е. прерuите процесс заrpУЗКII и введите boot s: Hit [Enter] to boot immediately, or апу other key for the command prompt _ Booting [kernel] iл 9 seconds... <Проб8Jt> Туре '?' for а list of commands. 'help' for more detailed help. disklsla:> boot 8 Система IlРОДОЛЖI-IТ заrpузку до Toro момента, Korlla потребуется нnести пyrь к командному интерпретатору. Если нажать < El1ler>. будет RЫ1RЗН интерпретатор fbinfsh Вторичный заrpузчик ПОНlfмает Р33Ш1Ч"lIые ОПШfИ командной СТрОКII. Например, чтобы наити и заrpузить альтернативное ядро, вьшОлните С!Jепую щую последовательность команд: dskls1a:> 1. d var d st.and d etc kerne 1. SYNACK kernel. LMC ke rпе 1 disklsl&:> unloAd dsklsla:> load lcerne1.SYNACК disk151a: > boot Здесь демонстрируется, как оператор получает список файлов КОрllевой файловой системы, выrpужвет стандартное ядро (fkcrnel), заrpужает новое ядро (fkernel.SYNACK) и продолжает проuесс заrрузки. 42 Чость 1. Основы одминистрировоня 
2.4. Стартовые сценарии После выхода из интеРЗI<...тивноro режима (ИЛИ при автоматической ззrpУ1КС. KorHa завершает рабо1)' командный интерпретCiТОР. запущеНI'IЫЙ с правами пользователя root) проrpаММ8 init выполняет сиеН8рЮl запуска системы. Они янлmoТСJf сuснзриямИ интерпретатора Bourl1e shell (sh). а их точное местоположение н содержимое J8ВИСЯТ от CIfCTeMbI. Наиболее широко распространены два способа орrанизаЦИJf работы со стартовым..! СllснарI-IЯМJ1. ухоnяшие КОрНЯМJf в историю. В ВSDсистема.'( ЭПI файлы хранятся в каталоrе /etc J1 их "IMeHa наЧl-lнаются с префl-Iкса "rc". В системах семейства System V фаЯ_=1Ы сuенариев располаrаются в каталоrе /etc/illiCd, а ССЫЛКИ на ШfX созданы в к8талоrа:\ jetc/rcU.d, /etc/rcl.d (,1 Т.Д Второй ВЗРI-t8НТ орr3Н1паUlfИ ЯRляется более чеТI-:ИМ 11 по]воляет аКJ..1'р.пнее выполнять остаН08 СlIстемы Ниже привепен перечень ]ацач. которые часто RЫnОЛНЯЮТСJf IfНИUlfaJlIf ззцион.нъrМff сuенаР"IЯМИ: . задание имени компьютера; . установка Ч8С080rо пояса; проверка дисков с ПОfOшью KOMaHДbJ fsck (только в автоматическом режиме); монтиронание системных дисков, . удалН"lе файлов И] К:iталоra /tшр; . КОНфИllfрировзние сетевых плат: запуск проuеССОR!lемонов 11 сетепы'\ служб БОЛЬШ"IНСТВО стартовых сuензрисв ВЫВОДlrr Н::!. l-:оНсОЛЬ подробllУЮ инфорМ3UIIЮ О выполняемых "IМИ 13.дачзх. Это может оказТI:. сушественную помощь при отладке шtи ПО"lске причин зависания в проиессе начально'Й заrpузки. В старых системах нередко IIРИХОПШlОСЬ мо"цифиuировать стартовые сuенарии. чтобы настроить ..1); .DЛЯ конктнои cpeды Сеrодня сuенарин. rюстав.Jlяемые разработчиком системы, ДО:IЖНЫ быть ДОСТdТОч.но оБШИМ"I, чтобы работать в системах любой i'\онфшураuии. Сведен..tя о локальной конфиry.-раШtи системы не ЗiJДаются в СаМОМ сuеНИРlfl-l. а помешаются в отдельный фаИ:1 (ЮН1 набор фаЙ!lОВ). КонфиryраШlOнные файлы. как правило, предстаВЛЯЮI собой неБОЛЬШ"lе сuенарШ-i Bourнe llell. включаемые 8 CTapTO вые сuенарии для получения доступа к некоторым переменным командноro интерпреТ:iтора. Стартовые сценарии в системах семейства System V СеrОДН)l СIlнаРИ1 в стиле System \1 наиболее раСПРОСТР:iнены. Они использ)'ются в тре)( из четыре р:iссматриваемых нами операuионных систем. Мы R первую очередь ОП"lшем оБUDfе ПР"IНUИПЫ запуска системы, а затем пейдем к анаШI1У особенностей конкретных ОС. В CllCTC"-tа.Х ceMeicTвa Systeln \1 nporpaMM3 iпit определяет 7 "уровней BЫ полиепия". IШ каждом 113 которы"). должен RЫПОJIНЯТЬСЯ конкретный набор системны), сервисов Уровень О rOnOpltT о том, -по C"lcTeMa полностыо прекраПlЛа рабо'l)'. Уровень I или S ОJЮlчает однопользовзтельскиЙ режим. . УРОВШ-I 25 предназначены штя мноrопользовательскоrо режима. . УровеllЬ 6 определяет этап перезаrpузки системы. 43 r пова 2. Зоnуск  останов системы 
Уровни О и 6 отличаЮТСfl тем, что система в деЙСТ81нельности н(' может 8 них оставаться. Переход на эти уровни означае.т, что система либо завершает рабmy. либо пере.заrpужается. В мноrополъзователъском реЖ"lме Llаш Bcero установлен уровень выполнеЮlЯ 2 или 3; уровни 4 и j используются peJD(o. УРОВЮI 1 И S различны п.ля каждой систеМЫ. ОДНОПОЛЬЗ0вательскому режиму традиционно соответствует уровень 1. На этом уровне запрещены все мноrополъзовательские сс.э.нсы и проuессы удаленной реrистрации. а в системе выполняется минимальный набор проrpамм. Поскольку в данном режиме дocтyn к C"lcтeMe осушестwтется с правами полъзователя root, администратора.м необходимо. чтобы при заrpузке в таком режиме система выдавала приrлашение lIa ввОд пароля. Для этой uели предназначен уровень s: в нем создается отдельный праиеес. выдаюшиА требуемое притлашение нв экран. В Solaris уровень S является ВПО,lне самостоятельны,' но 8 Linux он НОСJП nереходный характер и завершается сразу после ввода пвраля. Создается впечатление, что уровней выполнеНИJf больше, чем нужно. Обычно ЭТО объясняется тем, ЧТО в телефонном KOMfYТaTope 7 уровней, поэтому в UNLXсистемс ДОЛЖНО быть как минимум столько же. В Red Наl поддерживается до IОти уровней, хотя уровни 79 не опреде.оены. В файле jetejlnltUb содержатся пвраметры, определяюшие. что должна делвть проrpвммв Iлll на каждом из уровней, Формат фай.lа зависит от системы, но основная ..шея состоит в том, что в нем задаются }о:оманды, которые должны бьпь выполнены (или продолжать выполняться), I<оrдз системВ переходит нв конкретный уровень, В проuессе заrpузки проrpамма Inlt последовательно ПрО!lвиrаеТСJf от уровня О к уровню, заданному по умолчанию в файле jelcjlnlllab. Чтобы осуществить переход между соседниМ""И уровнями, проrpЗММ8 illl1 ВЫПО.'1ня('т Команды ИЗ этоro файла. АН8Лоrичные действия I1РОИЗВОДЯТСЯ 8 обратном порJUIКС при осТанове системы. К сожвлеЮlЮ, структура фвйла jetejlnlttab довольно сложна и не Bcerna соrласуется с тем, как на самом деле происходит запуск и останов серВИСОВ в UNIХсистемах. Чтобы сд.елать этот файл более полезным, '\IНОПlе СИСТе'l.IЫ семейства Syslem V ревлизуют дополнительный, абстрактный уровень. Он обычно представлен в виде комвнды, которая запускается из файпа jelcjlnillab и осуществляет смену уровней. На этом уровне выполняются сиенарии ..1] каталОr8, зависяwеrо ОТ целевоro уровня; они перенодят систему в новое состояние. Системным IДминистраторам обыч но нет необходимости рвботать не ЛО средственно с файлом jetcjlnlttab, так как сywествуюшие сиенар"и ЛОJD(ОДЯТ для большинства случаев. Далее в rлаве мы не будем упоминвть этот файл и все те механизмы I которые связывают nporpaMMY '"It со cтapтoBbIM"1 сценариями. Просто Korna мы roворим о том, что проrpаММ8 Inlt выполняет такоЙТО сиенарий, ну.кно nоннмать: связь со сиенаРllем может быть косвенной. Основные копии стартовых сиенарнеп хранятся в каталоrе init.d. Он, в свою очередь, может рвсполаrаться в каталоп /etc. но это не вссrда так. каждый сuе"lарий отвечает за запуск одноrо демона ил"l определснно подсистемы. Сuенария-м можно передавать apf).,.,embl зtаrt и t.Op. которые означают, что соответствуюший сервис должен быть либо запушен, l"lбо остановлен. Большинство сценариев понимают также арrумент rеs'!:В,rt., который эквивалентен связке stор+зtаrt. Обладая правами систе?t.lноrо администратора, можно вручную запускать ини останавпивать отдельные ссрвисы, вызывая нужный сиенврий из катало... Inlt.d и передавая ему требуемый ар!)'"ент. 44 Чость 1. ОСНОВЫ одминистрировония 
Ниже показаН простой сценарий, ПОЗВОnЯЮШИЙ заnyскать, останаалИВ8ТЬ пли перезапускать демон sshd: '! /bin/sh test f /usr/local/sbin/sshd 11 exit О case "$1" in start} echo n "5tar'tlng sshd: sshd" /us!" /loca.l/sbin/ ssho echo stop) echo n "Stopping sshd: sshd" kill .Cilt /var/run/sshd.pid' echo restart I echo n "Stopp1.ng 5shd: sshd" k1.11 .ca.t /varJrun/sshd.pld echo echo n .'Sterting 5shd: sshd" /из}: /local/sbin/ зshd echo ") echo "Usa.ge: letc/init .d/sshd start I st.op I restart" еХl t 1 еsас Чтобы лерейтИ на требуемый уровень, лроrpамма Inil JlOJ1Жна получить 'nОПOJlнительную инфорМ811ИЮ о том, какис Сllенариl'!. и с какиМи арIYМСнтами запускать. Но она не просматри.васт непосредственно J(8талоr Inlt.d, в обрашаетея к КRталоry rеуровеиь.d, rJlС уровень  это номер требуемоrо уроиня иылолнения, к которому осушествляется лереход (reO.d. rcl.d и т.JI.). В каталоrах rcypoвeHb.d обычно со.nержвтся СИМАолические ссылки на Сllенарии в К8талоrе inlt.d. Имена ссылок начинаются с префикса S или К. за КОТОРЫМ идет номер и ИМЯ сервиса, управляемоrо Сllенарием (например. S34named). Есл nporpaMMa init переходит к более АЫСОКОМУ уровню. она вьmолняет все Сllенарии с префиксом S ("start"  заnyск) А порядке возрастания номерОА, причем каждому сценарию передается apryмeнт start. Korna осуществляется перехo.n к более низкому уровню, запускаются сценарии с префиксом К ("kill"  уничтожить) и порЯдке убывания номеров. и все" им лсреJlаетея apryмeнт .top. В зависимости от системы, лроrpамма 1"11 может просматривать только каталоr rcypOBeHb.d, относящийся к целевому уровню, либо Асе каталоrи ив пути от исходноrо к llелевому уровню. Чтобы сообшить системе. котда следует заnyскать ТОТ или иной .nемон. необходимо создать символическую ссылку в соответствуюшем 'К8талоre. В большинстве систем основная часть сетевы); .nемоНОВ запускается на уровне 2. Следующие командЫ информируют систему о том. что демОН sshd .полжен быть запушен на уровне 2 и остановлен при занершении работы системы: :1 ln . l_tc/1n1t.d/..hd /etc/rc2.d/S99..h2 fI l.n . /_tc/1nit.d/..hd /etc/rcO.d/1t2Sa.b2 45 r лово 2. ЗОПУСК .., остонОВ системы 
Первая ссыJOOl rOBopHr о rOM, ЧТО сцснарJПi jetcjiniLdjsshd с.чеnyет запустить в саМОМ конце этап;) перехода На уровень 2 '" передать ему арrумеlП st,a,rt. Вторая ССЫЛКа сообщает. что в процессе завершения работы системы сценарнl't jetcjinit.djsshd должен бьrrъ запушен относнтельно рано, причем с apryмeнтoM stop_ В некоторых системах процессы останова и перезаrрузки трактуются поразНОМУ. поэтому необходимо также помесrnть симвопичеСII:УЮ ссылку в Каталоr /etc/rc6.d. чтобы обеспечить корректный остаНОВ демОна при перезаrpузке сисrеМЫ. Soloris Системы Solaris. HPUX и Red Hal используют сuенариJ..l 8 СТllле System V. которые хранятся R ката:юre iпit.d. В Solaris ЭТОТ каталоr. ка..: и каталоrи rСЯJOвень.d. НЗ,\ОДJПСЯ в Кзталоrе /etc. Раньше стартовые cueHaplOt Solaris обраШaJШСЬ к конфиryраuионным файлам, разбросанным ПО всей системе. ЧТО приlЮДИЛО к невообраlJtМОЙ пyrанице. В после.nних версиях системы КОМПаНИЯ Sll[] устранила болъшин ство проблем. Стартовые сценарии теперь знаЧительно улучшены и бош.шей частью самодостаточны . Некоторые конфнrypацнонные файлы собраны в каталоrе jetcjderaulls (табл. 2.3), однако обшее число настраиваемых парамеТРО8 Не так уж велико. о(,'"т3.льны' файлы попрежнему распределены между ра.зличНЫМJt каТаПОI'ами. Таблица 2.3. Конфиrурационные фаилы стартовых сuенариев Solaris Файл jetcj_UNCONFIGURED Ноэначение Сообшает стартовым сценариям о необходимости nOJl НОС'rью nереконфиrypировать систему (обычно исnол..ь зуется только в npoиессе и.нCТ8.JU1иции) Содержит имя узла, связанное с указанным сетевым интерфейсом (сетевой платой) Сообщает о том, что сетевой интерфейс должеJt быть сконфиrypироlW::l С помошью rlротО.кол.а ОНСР Содержит имя узла 11 адрес cr.Iндартноro lШlюза: /е.tс/Ьostnаmе..интерфейс /еtс/dЬср.Шlтерфейс /etc/defaulb'ouler HPUX в HPUX стартоиые сценаРJtи хранятся в каталorе /sbin/init.d. Каталоrн сJ.lмволичес....их ссылок также находятся и каталоre /sbin. КОtlфиrypauионные файлы размещаются в каталоre jetejrc.eonlig.d. Их нмена соответстяуют именам стартовых сценариев. Например. сценарии /sbin/ini t. d/SnmpМaster измекает КОНфИf)'рационную ннформацию нз файла /etc/rc. conf1q. d/SnmpMaster и иызывается проrpаммой iпit с помощью TaKJtX ссылок: /5bin/rc2. d/SSБОSпmрМаst:еr /5bn/rcl. d/K440SnmpMaster Результаты работы стартовых СllеJшриев сохраняются п ф.1Йле jetcjrc.log. Если ка'Който из сценариеи не CMor выполниться, просмотрите ЭТОТ ф.1Jiл 46 Чость I Основы одминистрировония 
на предмет наличия сообщений об ощиБКaJ< илн друrой информаuии, позволяющей выявить суть проблемы. Зто настолько полезная инесложная в реализации особенность, что просто удивительно. поче't-fY поставщики црyrиx систем Не доrадались сделать нечто по.n.обное. Конфиrypационные файлы MOryr быть сложны для понимания, ХОТЯ ОНИ снабжены хорошими комментариями. В табл. 2.4 оrrисано назначение файлов. KOfopbIe модифиuируются чаще друтих. Тоблицо 2 .4. Конфиrуроционны. фойлы HP-UX (котолоr /etc/rc.conllg.d)  18"" Но,ночени. 11\ SDПфМastеr Вк.точает или ОТКJlJочает поддержку протокола SNMP Sпm,* Друrие параметры. СВЯ38.НJ{ые с протоколом SNMP ассl Включает или отключает подсистему учета процеССО8. СМ. ассй( 1 М) аuditiпg УПРЗВJlЯет работой подснетемы аудита; СМ. 8UdsyS( I М) и aude _eDt(IM) с... Содержит наетроt!xи CDE (Соmmоп Desktop Environmеп!  единая настOJIЬНая среда) clean* desktop ЬрЬ...\ OOco.f hp.lhercDm U.I Шod. Ip шailып, паmesens nddCODf DetCODr пеЫаешопs D.ttl nfsconf pd VI жfо УпраВJlЯет операциями очистки, выполняемыми на этапе заrpузки Определяет, какой из имеюШИХСR рабочих столов бу.nет аыБР8Ji по умолчанию Конфиrypирует устройства F as! Ethernel КОНфИIурирует Etheme(nпaTbl; СМ. laoadmio(IM) Управляет отображением меню стартовой заrpyзки Включает или oтк.rooчaет подсистему буферизации печати Запускает утилиту seDdmal1 или задает почтовый сервер Конфи.rypмрует или запускает д.емои службы имеи Задает параметры мра, устанавливаемые на этапе заrpузки с помощью демона пdd Задает параметры КОНФИJ1lPauии сети (lPaдpec и т_п.) УказЫВaf1 на ТО. какие сетевые д.емОНЫ следует 3аnyстить Коифи.rypирует подсистемы сетевой трассировки и рс:rистрauи.и: СМ. neШ(IМ), nettlcom(lM) и Dett1g.lLconr(4) Задает параметры NFS (NelWork File System  сетевая файловая система) Конфи.rypирует сервис распределенноА печати HPиx Запускает демои wtdaemoD ВКJIJOчает и отключает сервис шрифтов Х Windows Для больщинства эти" файло" вполне подхОДЯТ cTa>mapTHbIe установки. Чаще Bcero модифицируются файлы netconf, netdaemons и, возможно, nddcon[ Red Hat Стартовые сценарии  это то, что отличает ,nистрибyrивы Linu.x .npyr от ,npYI'a. Например, сценаРI{И ОеЫап очень lIапоминают сценарии Solaris. а сценарии Slackware сходны со своими "ро,nственниt<3МИ" во FreeBSD В Red Hat используются rиБри'nныe Сllенарии. сочетаlОЩl1 и себе черты сценарися 47 r nово 2_ Запуск и останов Clктемы 
Sys[em V И FreeBSD плюс еше несколько '.наворотов". нобавленных только IlЛЯ Toro, чтобы сделать жизнь администраторов сложнее. В спснариЯХ Rcd На! достаточна сложно разоБР8'1ЪСЯ, так как в них MOryт присyrствовать комментарии вша . .пура.UICИЙ прием, но должеН рв.СЮ'l'ать или t это неnрв.:вильно! Проrpямма tnl! в Red На! в основном соответствует своему яналоry в Sys!em У. На каждом уровне вЪП!олнения проrpямма вызывает сценариЙ /etc/rc.d/rc, псреllаеая ему номер уровня в качестве apryMcнтa. Этот сценариЙ МОЖeL вьmолияться как в обычном режиме. ТаК И 8 режиме подтверЖдения, в котором перед выполнением каждоro CTapTOBoro Сllенария выдается запрос. Управлятъ символическими ссылками на стартовые сценарии можно с ломошью команды chkconlig. В Red На! имеется также сценарий rc.local, налОlli1НЯЮШИЙ Оllноименный сценарий во FreeBSD. В проuсссс заrpуэки он въmолняется лослеllННМ. Не стоит добавлятъ в Hero собственные команды; лучше воспользоватьсЯ среllСтвами System У. Вот пример сеанса эarpузки в Red На!: [инфориация о ядре) INIT: vеrзiоn 2. 77 bootn9 Welcome to Red Hat Linux Рrезз . 1 I to enter interactve зtаrtuр. Mount1nq proc filesystem Setting c10ck (utc): Fri МВ" 10 07: 16: 41 MST 2000 LOadinq default keymap Act1vatinq swap partit10ns ОК ОК ОК ОК Korдa ПОlffiИТСЯ сообшснис "Wclcomc 10 Red Наl Liлuх", можно иажать клавишу <1>, чтобы продолжить заrpузку в режиме ЛОllтверЖдеиия. Однако подтверЖдение о нажатИИ самоЙ клавИ-ШИ выдано не бу.nет. Red На[ спокойно продолжит монтировать ЛО'КaJ1ьные файловые системы, активизирОвать раз делы диска подкачки, заrpужать таблицы клавиш И весТ11 поиск модулей ядра. Только после перехо.na на уровень 3 проrpамма Ini[ начнет 8Ы.д3ватъ запросЫ: Welcome to Red Hat LinuK Press '1' tO enter interact1 v e startup. Mountinq proc fileeystem ОК Settinq clock (utc): Fri Mar 10 07:16:41 MS'r' 2000 ОК Loadinq default keym.ap оК Activatinq swap partitions ОК Setcinq hostname redhat.synack.net t ОК ) Check1nq root filesystem /dev/hde1: с1ееп. 73355/191616 fйеs. 2145361383032 blocks ОК Remountinq root filesystem in readwri се mode Ок Findinq module dependences Ок Checking filesystems ОК Mountinq local filesystems оК Turn1nq оп user and qroup qиotas for local filesystems ОК Enablinq 8 wa p ерасе ОК INIT: Enterinq runlevel: 3 48 Чость 1. ОСНОВЫ админиСТрИрОВОНИ 
Еnt.еI::l.лq ),n'terac'tive зtаr'tuр Star't serV:l.ce kudz.u (У) еа/ IЮ о/ СС) ont.1nue? (У] Режимы интерaкrивиой и однопользователъской зarpузки начинаются с одноro и Toro же места. Если в процессе зиrpузки вознИКЛИ серьезные проблемы и этой тоЧКИ достичь невозможнО. воспользуйтесь спасательной заrpуз01fНО'А дискетой. Можно передать зarpузчику LILO napaмe'l1J init/bin/sh, чтобы заставить ero вызвать командны'й интерпретатор опнопользовательс коrо режима еше .по TOI'O. ка'К будет запущена ПрОтр8.М'МО ini(. В ЭТОМ случае нсе действий по звnyску системы прядется промзводмть вручную. включая выполнение проrpаммы rsck и монтирование локальных фОЙЛО8ЫХ систем. Повлиmъ на процесс заrpузки в Red На! можно путеМ МОДИФИК8uнJ..I КОНфНI)'P8Uионных фаl\л08, расположенных в катало'" /еtс/sysсо"Пg. Прин uипы работы с ними такие же, каК и с фойламя в каталOfe /etc/rc.config.d в HP UX, хотя СВIo\IIX файлов меньше, а опциЯ в них больше (табл. 2.5). фО(I/ПОДlCотоnоr _рт" Тоблица 2.5. Фойлы и ПОДICОТQлоrи t:.оталоrQ /etcjsyвconflg в Red Hot clock console bwtonf 118" ЫI teyboanl mowe ""twork пеtwоn'.хrtptl рсшс1а ...dmaП н e. или со ежимое СnИCQК вptyИСНТО8 .пл. демона rIQДСИстеы.ы АРМ (Advanced PQwer Man.qemeDt  расширенное упрамекие питанием) Залает тип системиых часов (почти Bcerдa trrC) Заraдоl.(НblЙ ха.талоr, который вcerдa П)'ст ВКJUOчаст всю и.нфориauию о системноМ оборудовании; ис ПOJlblустся сервисом Kudzu Содержит реrиокальиые устан.оВJCИ сис:темы (формат представ пения даты/времени, ЯЗЫК и т.д.) ОпредtJUlСТ, как отоброаются сообwения, ПOC1)'I1вюшие от стартовых сuеиарИС8 Зап.ает тип клавиа'l)'pЫ (используйте Идентифихвтор -115" JL7UI cтa.ндaJ1l1'!oR 10 1 клавишноR хпавиа1УР Ы ) Залает тип мыши: испоJIb3УeтcJI системой Х Windows и nроrpаммой IPm Задает rпобa.ru.кые сетевые опции (I04JI узла, 1.WlI03, марWpyrи З8.UИA И TJI,.) Каталоr, в котором содержатся вспомоraтельные сuснари..и и сетевые КОИФЮУР&цИОНИЫС: файлы Сообшвет, c.nслуст JDt запускать ,"ионы РСМСlA, и содержит иеоБХОдИЫЫС опuии Залает naраметры Д1UI yrилиты ICDdmall Некоторые элементы списка заслуживают дополнительных комментариев: Файл hwconf просматривается сервисом Kudzu, который npоверяет, было Л1I добавлено или удалено КJlJ(оенибудь устройство, и запрашивает У пользователя .noполнителънь:rе инстрyкuии. В промъrwлеЮfЪtx системвх Однюкды в нашей системе был поврежден фай.'1, содержаwий таблиuy клавиш, и ПОСКО.1ЬКУ система Red На! заIl'уж&Ла ЭТОТ фай.'1ll8Же в однопользоватсльск.ом режиме, дaHH режим ока:J8J1СЯ бесполезным. Передача заrpyзчИ1СУ парамe-rp8. Inlt..Jbln/lh оказалось единствеННЫМ способом зarpуэить систему в безопасном состоянии и исправить ошибку- r 11080 2. ЗОnУСI( и OCТOI"OB системы 49 
этот сервис можно деаКТИБИровать. поскольку он сильно задерживает процесс заrpузки. КaждhlЙ раз, Korna обнаРУ.А<ивается изменение аппа ратной конфиryрации. возникает залержка в 30 с. . Каталоr network-scripts содержит 8СПОМOI'ательные файлы. связанные с сетевой конфиrypаl.{Ией. Все. что может потребоваться 8 нем изменить.  это файлы с "менами irсrguнтерфейс. Например, файл ne[Work scripts/ircrgethO включает параметры ПlаТЫ с идентификатороr-.! ethO. в частности ее lPaдpec. О конФшурироваНllИ сетевых плат рассказЫВilется в лаР3ll'афе 13.10. . Файл sendma сонержит нве переменные: DAEMON и QlJEUE. EcJ110l пере менная DAEMON равна yes. система запустит yrи.mпу se8dmail в лроцессе заrpузки. Псременная QUEUE информирует утилиту scяdmаil о том, сколько времени после возникновения ошиБКJI сообшеЮlе должно находиться в очереди. прежде чем будет пре1IЛрИНЯТ8 поrrьпха повторной отправки, FreeBSD Представленная ниже информация касается FreeBSD. но общие ПРИНU"'1 пы орrанизаl.{ИИ стартовых сценариев применимы ко всем BSDCHcTeMaM. Проrpамма iпit 80 FreeBSD выполняет только один. ,'лавныи сценариЙ  /etc/rc. Он, в свою очерель. запускает остальные Сllенарии. которые расположены в каталоrе /etc и носят имена вида rС.U:\fЯ. Сценарии запускаются в определенном порядке. а КОНIIепЦИЯ уровней выполнения не поддержива ется. Сценарий /etc/rc начинает свою работу с 8ЫПОЛ..lения трех сценариев. определяющих конфиryрauИОНJ-IУЮ информаuию: / etcjderaults/rc.conf . jetc/rc.conr е /etcjrc.conr.local В этих файлах задаются друrие каталоrи. в которых необходимо искатЬ стартовые сценарии (имена каТ8.Jюrов заносятся в переменную local.star tup). Кроме Toro, в ни>. опренеляется ряд леременных интерпретатора shell, используемых последующи,П! сценариями. Сценарий /etc/rc применяет комаму source (точнее. ее орип{налъньrй псевдонИМ' . '), чтобы преобра..l0вать конфиryраl1ионные и все последующие Сllенарии в единый поток въmолнения Эта процедура включает в себя конкаТенаuию файлов в один большой Сl1енарий. Файл /etc/dcraults/rc.conr содержит оrpомныи перечеllЪ всеХ конфиryра- ционных параметров и ИХ стан.о.артных значений. [ro нельзя редактировать. Если требуется изменИть Jначение кзкойлибо переменной, просто переоп ределитс ее в файлах /etc/rc.conr и /etc/rc.conr.local. На страннцах интерак тивноrо руковонства, посвященНЪ!Л файлу /etc/rc, npиведен исчерпыяающий список переменных, которые можно менять. Зarлянув в каталоr /etc. вы можете обнаружить в нем MHora различныХ сценариев: , 111 /etc/rc* re rc. di5klessl rc. atm re. d5kle5s2 rc.conf rc.firewall rс.iЗВб rC.network rC.1sdn rc .local rc.ser1al rc. shutdown re. pccard се. сеsите rc.devfs сс. susрелd 50 Часть 1. ОСНОВЫ администрировония 
Если япро сконфиryрировано как беЗДИСJ<:ОRыk клиент. в первую очереДl. вызывается сценарий rC4disklcssl. Затем вызываютс,.1 сценарии rc.sysctl, rC4serial, rC4pccard и rС4псtwоrk, после чеrо сuенарий /etc/rc перехo.nит к вьmолненИю служебных функuий. В качестве завершаюшеro аю<орда запус кается сценарий rc.local. Если какоЙТО сценарии не определеи, он просто npoпускается (в ПРИDеденном выше списке сценарий rc.sysctl отсутствует). Стандартный сценарий rc.serial ЮfЧеro не делает. а лищь определяет набор функций. которые пОЗВОЛЯЮТ иниuиализировать последовательные порты и устройства на этапе заrpузки. Если в одном из файлов rc.eonf задана поддержка интерфейсов PCMCIA/CardBus. сценарий rc.pccard заrpужаe-r модули ядра, связанные с КО1iТpOллером PCMCIA. и запускает немон pccardd, упрамяющий динамиче ским конфиryрироваIOlем устройств PCMClA по мере их подключения и отключения. Сценарий rc.network инициализирует сетевую среду компьютера. Он использует переменные. опpe.nеленные в файлах rc.conf, ДЛЯ КОНфИJ)'рI1РОВЗ IOIя сетевых интерфейсов, протоколов ОНСР и РРР, маршрyrnзаторов и брандмауэров. Редактировать этот сценарий нет необхопимости. так как БСС параметры содержатся 8 файлах rc.conf. Он вызывает дpyrne сетевые стартовые сценарии; rc.atm, rсJsdп и rc.firewall. Для конфиrypирования ceтeBoro интерфейса во FreeBSD предназначеНhI три переменные; hostname. defaultrouter и ifconfigu"т tf!Ie uнт  ИМЯ интерфейсноrо устрОЙL'"ТВ3). Переменная ifсоnf1gШlт полжна coдep жать строку опций, передаваемых коман.де ifcorlfig при инициализаии-и устройства. Например, в строках сценария hostname"my. fullyqиall.fied .narne" ifconfiqdeO""'''1net 192.168.1.2 netmask Oy.ffffffOO" defaиltI:outeI:" 192 .168 .1.1" узлу назначается 1 Paдpec 192.168.1.2 и задается стаИдартный адрес шлюза 192.168.1.1. ЕСЛ>l данное IIнтерфейсное устройство должно конфитурироваться JIИНaм>lчсски по протоколу ОНСР, задайте строку след)'ющеrо вида: ifconfig deO""'DHCP" Сервер ОНСР автоматически назначит узлу rpaдpec. доменное имя и маршрyr по )'Молчанию. 2.5. Перезаrpузка и OcrOHOB сиcrемы UNIХсистемы хранят буферы изменений в памятИ '" лишь изред'Ка записЫВают их на диск. Это ускоряет выполнение операций писковоrо B80дaBЫOOдa. но также нелает систему более подверженной потерям данных в случае внезапных зависаний. Раньше UNIХсистемы были очень щепетильны о ОТНОШНJ.П( ПРШlедуры ВЫКJ1ючения. Современные системы более терпимы. но псе же по возмож ности лучше кoppeкnio завершать работу. Неправильное выклюЧ'ение системы может привести к появлению труднообиаружиnаемых. неочеВИ)1НЫХ ошибок. а ИНОfда и к полному краху. Перезаrpузка операционной системы на персоналъном компьютере  средство решения поЧТ>l всех лроблсм. Но при работе в UNfX советуем снаЧала ПОllумать и только потом перезarpужаться. Проблемы, возникающие в этой системе. как правило, скрытые R сложные, поэтому перезаrpузка дает r лово 2. Зоnуо: и останов системы 51 
ожинаемый результат rоразло реже. чем в цpymx системах. Кроме Toro. процесс перезаrpузки UNIX звнимает больше времени, что создаст неунобства для пользователей. ПереЗ8тружаться необходимо в том случае, KorHB ПОJIК..1'Jючается новое устройство или рвБОТRюшее устройство зависает тик. что ero невозможно сброситъ. Если МОНИфШlируется файл конфиrypацни. который используется только при начальной заrpузке. то изменения вступят в силу лишь после перезаrpузки. И H3KOHeu, если систему "заклинило" таК. что в ней НевозмоЖНО зареrистрироваТЬСJ1. иноrо выхола. кроме k:aK перезаrpУJИТЬСЯ. просто не сушествует. В отличие от начальной зarpузки. которая осymестВJТЯется однимедин cTBeHным способом. ОСТанов и перезаrpузку сиcrеыы можно выполнить поразному: выключить питание; . пать команду shutdown, исполъзоватъ команды halt и reboot (в ВSDсистемах и Linux); послать протрамме Inlt сиrнал TERM; изменить уровень выполнения проrpаммы init с помошью комаНlIЫ telinit (в системах семейства Syslern V); . унпчтожитъ процесс inlt. Выключение питания Даже в небольщих UNLXсистемах такой способ останова неприемлем. Он может лри-вести не только 'к потере панных и повреЖдению системных файлов. Вы рискуете испортить писковод, если он относится к числу тех, На которых перед отключением питания необходимо установить в соответствую щее положение заn.mтный переI01ючатель либо произвести парковку rоловок. В некоторых компьютерах (например, НеwleпРасkаrd) присутствует КНОПКа праrpаммноrо ОС'Танова, при нажатии которой ВЫПШ'lняется ряд команд. осушествляющих корректное завершение работы системы. Если вы не уверены, поддерживает ли ваш компьютер такую возюжность, не нажимайте кнопку выключения питания в процессе раБо1ы1 системы. Бупет меньше проблсм, если остановить систему вручную. Конечно, в случае наводнения или пожара лучше отключить питание, если вы не успеявете корректно остановить систему. В машинных запах и сейчас иноrпа встречается аварийная Юiоп'Ка, которая позволяет вьrключить все 050рунование одновременно. Команда shutdown: корректный способ останова системы Комвнна shutdown  самый безопасный н наиболее корректный способ остановить иля перезаrpузить систему либо вернуться в однолользовательский режим. К сожалению. трудно найти постs.вшика, который бы "не приложил руку" к ее apIYМeнтaм. Мы рассмотрим эту комаину в обшсм, а затем привсдем сводку синтаксиса и арryмеитов. которые приrодятся при работе в ка'Койлибо из ОПИСLrВаемых систем. Можно .пап кома..нле shutdown указание делать паузу переп остановом системы. Во время ожинания команна ПОСЫЛает зореrистрированным поль зователям через постепенно укорачива.юшиеся промежутки яремени сообше иия, предупрежпая их о приближающемся останове. По умолчанию 8 52 Часть I ОСНОВЫ ОДМИНИСТРИРОВОния 
сообщениЯХ rоворится о том, что система заканчивает работу. и указывается время, оставшееся до останова. При желании a.Ilминиcrратор может побавить собственное короткое сообщение, В котором поясняется, почему система останавливается и сколько примерно временп придется подождать, прежде чем пользователи ВНОВЬ CMOryт ВОЙТИ В систему. Мноrие версии командЫ shutdown позволяют задать, 'сто конкретно должна сд.елать система: остановиться. перейти в однопользовательский режим или переза'l'УЗИТЪСЯ' ИНОl'да можно таюке ухазать, необходимо ли после псрезarpузки проверитъ ДИСКИ с помошью команды rsck. в современных системах с большими дисками такая проверка займет мното времени, поэтому в общем случае ее можно не вьmолнlIТЪ, если работа системы была перед этим корректно завершеиа. В некоторых системах этап проверки дмскоН автоматически проттускаеТСЯ 1 ссл,", файловые систеМЫ были правильно демонтированы. В твбл, 2.6 перечислсны aPIYМeнты KOMaIU!НO!! строки командЫ shutdown для шеС"Т'"И рассматриваемых с,",стем. П рочерк означает вариант по умолчанию. т обnицо 2.6. Мноrоnи ко. комОНДО shuldcwn СИСТ'Вмо Путевое ИМЯ Поузо П 1 О в Без Isck SoIaria /UI1'/IЫп/ohutdоwn 8C01C)'Нaы t6 .10 .18 HPUX /еtс/ohuldowп ,,,,,унаы r b Red На\ /Iыn/ьutdowп .р..... , b r F",.BSD /IЫО/lЬutdOWП +....нуты , b I n  переэa.rpУЗК8, О  OCT8JtOB, В  ВХОД В однопользовательски.й режим. Комонда halt: балее простоЙ способ останова Команда halt вЫПОЛНJIет все основные операции, необходимые для 0С1'8НОва системы. Чтобы вызвать эту lCoMaнny, моЖНО в командной строке ухазать shutdown -Ь или непосредственно halt. Команда halt реrистрирует в журнальном фаl\ле событие оствиова, уничтожает несущественные процессы, выполняет lCoMaнny synс (она. В свою очерeJIЬ. осуществляет системный вызов synс), дожидается завершения операци!! дисковой записи, а затем прскрашает работу ядра. При указании коман.n.ы halt -о системный ВЫЗОВ synс подавляется. Эта команда используется после восстановления KopHeBoro раздела командой rsck. чтобы ядро Не моrло затереть исправления старымИ версиями раздела, хранящимиСЯ в кэше. Команда haJt q инициирует почти немедленный останов без синхронизации, уничтожения процессов и реmстрsu"и собы'тия. Флвr q исполъзуетея редко. Комонда reboot: быстрый перезапуск Команда reboot поЧТИ идентична команде haJt. Разница заключается в том, чro система перезаrpужается, а не останавливается. Режим перезаrpузки вызывается также комаНlIОЙ shutdown -r. Помимо этоro. команда shutdown поддерживает флаrn -п и q. r лово 2. Запуск и остонов с....стеМы 53 
Передача проrpамме init сиrнала TERM Результаты уничтожения nporpaMMbI iпil непре,nсказуемы '" в БОЛЬШИI-tCТRе случаев очень вредны. Перед тем как посылать этой nporpaMMe каКОЙЛI...бо СllfНал, обрапrrесь к .nокументauии. Коrда ВSDверсия nporpaMMbI init получает сиrнал TERM. она обычно уничтожает Все ПОЛhЗовательские процессы, демоны, процессы getty и переводит систему в ОдНОПОЛhЗователь ский режим. То же самое .nелает комзJ-Щa shutdown. ДЛЯ Toro чтобы послать процессу сиrнал. нужно с ПОМОЩЬЮ команды ps узнать идентификатор этоrо процесс-а. ПроrpаММR init  ЭТО 8cerдa прошсс номер один. С целью отправки сиrnала ВОСПОJIbЗуйт«ь КОМ31tд.ой kШ; . вynс i .ync , kHl Т&RМ 1 0' Подробная иНфоР'Аацил о СUi!налах u команде k i 11 привеоена в zлаве 4. Комонда telinit: изменение уровня выполнения праrраммы init В системах, rne nporpамма iпi[ поддерживает несколько УРО8неН "ьrпол нения. можно с помощью команды tеliпit дать проrpамме указание переЙТII на конхретный уровень. Например. команда , tel1.ni.t S лсреводит систему в однопользовательсю1l1 режим в Solaris и HPUX В Red На! необходимо ухазать J, а не S, нначе будет залущен иитерпретатор shell с правами пользователя root, а сам }'ровенъ изменен Не будет: telini. t 1 То же самое можно с.nелатъ с помощью команды .Ьutd.о1fП i.l которая. поМИмо Bcero прочеrо, может ВЫДать предупреж.пающее сообщение и сделать неболъшую паузу перед переходом на новый уровень. КомаlШа tеliпit наиболее полезНа при проверке изменений. внесенных в файл iпittaЬ. При наличии флаrа -q Команда заставJ.П Проrpамму iпit повторно лрочитать зтот файл. Уничтожение процесса init Проuесс iпit настолько важен IUlЯ работы системы, что еСШ1 ero уничтожить с помощью команды kill  KILL ИЛИ kill 9. то большинетво СИСТt'М автоматически перезаrpУJИТСЯ (некоторые ядра при этом просто АыпзlОТ сообщение о панике  фатальной ошнбке). Это очень "rpубыЙ" сrlOсоб перезarpузки. Лучше Пользоваться комаlШами shutdown и rehoot 54 Часть 1. Основы одмиl-tL1СТР"'РОВQНИЯ 
з Сила привилеrий Каждый файл и процесс R UNIX принадлежат определенном)' полыoа телю. Не имея соответствующих при8иле....ий. друrl1С пользователи не MOIyr получить доступ к чужим объектам. Подобная схема ПОJВОЛЯет защитить полъзователе дрyr ОТ друта и предотвраппь иесаНКЦИОНllрованный доступ. случайный или злонамеренный. Системнымн фаЙлами и пронессамн нладеет фи}..-тивныЙ ПОЛhЗопатель root. известны также как суперпОJlыователь. Все ero ресурсы l"ып-еЖНQ ззщ-ишены ОТ ВМешателЬСТВа. Чтобы иметь возможность UЫПОJlНЯТЬ anМИНИ страти-БНblе зада'LИ. необходимо зареrнстрироозться 8 системе как суперrrОЛh З0взтелъ. о чем и по'Й.nет речь в настояшей fлаве_ СynерПQЛЬ30В3Телъ обладает нескоЛblo.."ИМИ "волшебными" возможностями. В частности, ОН имеет право BЫC1YТl3ТЪ в роли владеJIьuа lIюбоrо файла или проuесса fJ выполюrrь действия, недоступные рядовым пользователям. Привилеrированный пользователь  очень ответственная должность, а в руках новичка или злоумышленника  очень опасиая. В этон rлаве рассматриваются основы ПРИВllлеrированноrо ДОСТУП8 к системе_ О том. как предотвратить несанкционироваНllыti поступ на УрО8не сynерполъзователя. рассказывается м rлапе 21. В rлаnе 27 описьшаютси политические и администраnlВные аспекты этоrо Ilроuессз. 3.1. Владение файлами и процессами Каждый файл в UNIX принадлежит владельпу и rpуппе. Владелеu файла имеет ТОЛЪКО одну привилеrию. которая друrl1М пользователям системы недоступна: ему разрешено изменять права Постуllа к файлу. В чаСТНОСТ't. нла.д-елец может установить права доступа так, что никто, кроме Hero. не сможет обращаться К данному фалу._ Мы еше вернемся к теме прав д.оступа в rлаве 5. OO_lee Toro. можно сд.елать так. ЧТО фай;] станет ICHOC1YflHbIM даже ДЛЯ влanеlbt{а_ r лово з. Сило привлеrий 55 
Владслеu фвйлв  это вcerдa один человек. В rpynny MOJyf входить несколы<о пользоввтелей. Сведения о rpyrmax хранятся в фвйле /elc/group. 0' Дополнительная инфор.чацWl о ZpY'lflax приведена в пар(Jрафе 6.1. Вла.пелец файла определяет, какие операпии MOryr ВЫПОЛНЯТЬ им. файлом члены rpyтmbJ. Такая схема допускает коллеКТИвное исполъзование фаАлов членами од.ной rpУППЬJ. Узнать о ТОМ. кому ПРИНадЛежит файл, можно с ПОМОЩЬЮ команды 15 ' имяфаi1/1Q. Напрнмр: , 1. l l.taf'f'/8CQtt/tod.o "'W] scot.'t 5t.aff 1258 Jun ., lB:lS /staff/scott/todo Несложно заметить. ЧТО влаа.ельнсм файла является ПOJJЪЗоватслъ "5C01t". а rpуппа, которой ои ПрИН8..lIЛежит, называется "statr'. UNIX ОТслеживает не символьные имена влa.nельuем и rpynп. 8 их идентифm:аторы. Идентифm:аторы лользователей (сокрашенно UlО  User 10) и соответствующие им нменВ хранятся в файле /elc/passwd, а идентифи каторы и имена rpyrm (GIO  Group 10)  в файле /elc/group". Символьные экмие8Ленты ПрИС88Иваются идентификаторам ИСКЛЮЧительно для удобства пользователей снстемы. Чтобы команда вроде Is моrла BbIвecnt: информацию о ПРИН8..lIЛежностн файла в упоБОЧИТ8МОМ виде, она должна просмотреть базу данных и.nентификаторов н найти в ней нужные нмена. Что касается проuессов, то с ними связано не два, 8 четыре идеНiИфИ катора: реальный и эффективНblЙ полъзоввтельскиI! (UIO). а таюке реальный и эффективный rpупповой (ОIO). Реальные номера применяются ДЛЯ учета испопъэова.кия системных расурсов, 8 эффективНblС  для определения прав доступа. Как правило. реальные и эффективные ИlIентификаторы совпадаюТ. Влаа.елец процессв может посылать ему сиzналы (см. параrpаф 4.3). а также понижать приоритет процеСС8. В прннuипе, проuесс не может ЯВно изменить ни одноro из своих четырех идентификаторов, но есть одна особая ситуация, KOf1l2 происходит косвенная устаномка новых эффективных идентификаторов Дело в том, что сушествуют ДВВ слеuи8ЛЬНЫХ бита, устаНВВЛИ88емьrx в мвске прав доступа к файлу: S UI о (Sel User ID  бит смены идеНТИфИJ<аторв ПОЛЬЗО88теля) и SGID (Sel Group 10  бит смены идентификвтора rpупnы). Korna ПОЛЬЗО88тель или лроuесс запускает исполняемый фал, у KOToporo установлен ОДнн из этих битов, файлу временно назначаются права ero влаа.ельца или rpyrmbJ (В зввиснмости от TOro, какой именно бнт lадаJl). Таким образом. пользователь может даже запускать файлы1 от нмени суперполъзователя. Бит SUID позволяет обьrчным пользователям мыполнятъ nporpaMMы. осушествляюшие 8.ltМ11н:истративные действия или обрашзюшиеся к снетеме на низком уровне. Это не мызывает проблем безопасности. так как авторы nporpaWof ",есттсо реrламеmируют их работу. Например, команда pBsswd. с помощью которой пользователь меняет свой паролъ, должна обрвшаться к файлу /er.:/passwd. лрннадле",ашему сynерПОЛЬЗО88телю. Вследствие этоrо у нее установлен бит SUIO. Она модифиuирует файл CTporo определенным образом и завершает работу. Конечно, даже столь простое действие МОЖСт стать причиной злоynотреблений. поэтому. прежпе чем выпОЛнЯТЬ запраши ваемые и]менеН1iЯ. команда passwd проверяет, знает ли пользователь СВоЙ текуши-й паролъ. в некоторых системах -па ИНфоРМ8НИЯ БО.lьше не хранится 8 ТС:КСТОВОМ формате (см rлаау 18) 56 Чость 1_ Oc.....OB администрирования 
3.2. Суперпользоватвль Определяюшей характr.ристикой УЧТНО записи супеРПОЛЬЗОВЗRЛЯ ЯВJlЯ ется значение UID. равное О. LI:'>JIX не запрещат менять ИМИ этой учетноЙ записи или создавать прутую запись с нулевым ипентификаТОРО"1. НО Т3К1lе действия НИ к чему хорошему не при ведут. Их с.'Тед.СТ811ем будет ВОЗНИI.::НО вение новых брешей в системе З8ШIПЫ. а также растерянность J.РУУИХ ПО"Jьзователе, которым припется разбираться с осо&нностя...ш КОНфИr)"РИ РОВ8ЮfЯ такой системы. UNIX позволяет привилеrированному ПОЛЬ-ЗОВ8Телю (т.е. всякому проис су, у KOTOporo эффективныfl ндентификатор ПО'1ьзов.ате.1Я равен О) ВЫПОЛН)IТЪ нМ фамом или проuессом любую ПОПУСТИМУЮ операuию.. Кроме TOro. некоторые снстеМНЫе вызовы (обрашения к ядру) может осушествлять ТО J 1ЬКО суnерполъзователъ. Вот при меры операuи, постjтlных лишь супрполыова телю: . измененИе корневОТО каТ8Лоra проиесса с помощью команды cllroot. создание файлов YCтpOCТB; установка системных часов; увличение ЛИМИТОВ использования ресурсов If П08ышеНlft IlplfOpl1Te 108 "роиессов; . зan.ание ceTeBoro нени систе\lЫ: . конфитурирование ceTeBblX интерфейсов: останом системы. Проuессы супеРПО;1ьзома'IЯ об.1адают способвостью изменять СВЩ1 идеНТНфИ1<8ТОрЫ. Один из таких процессов  это проrpамма logill. которая выдает притлашение ввести пвроль при входе 8 систему Если BBeHCI"lIIbJe паролъ и имя попьзоиателя ПРЗВII:IЬНЫ. то nporpa.MM<\ li\меНяеТ C'80I идентификаторы соотвеТСТn\'ЮШИМJI ИДСIIТ1fфикаrорами yt<al3HHoro IIOJlbJOBa ТI:.1Я и запускает ннп:рпретатор КО\llIНД. ПОС.lе 101.0 как проuесс с}перIЮilЬ. зователя. изменив свою ПРИНадЛl:ЖНОСТЬ, станет оБЫЧНIМ ПОЛЬЗОВ<l.теЛЬ"':КН\1 процессом, восстановить свое предыдwееe приюrлсr.ИРОВdнное СОСТОЯI-IНI: он не сможет. 3.3. Пароль суперпользователя Пароль полъзователя root д.олжен состоять "-.1'" МIН-ШМУМ 10 ВОСЬ\fИ символов; сеМИСИМВО.1ьные паро-тш взламываК)1СЯ ДОСfal.ОЧIIO леп.::о. В иеко торы'\( системах задавать более .D..IlfННЫЙ паРU.IЬ не ш",еет С!\.1ысла, потом\ что обрабатываются тол-ько перные восемь СИМЕЮ.lО8. 0' Подробнее о вЗЛО.J,fе паРО.1ей l.tuтaiJтe в zлаве 2/ Паролъ суперПОJlьзоваП:lIЯ Сlедует выбllрать так, чтобы ero ltе'IЬ3Я б....ло определить методом перебора. Теоретически наlfБОlее беЗОП.iСНЫfl паро.1Ь состоит из случайной послеДОВJ.П:.IЬНОСТIf букв. знаКО8 ПРСПИll3НИЯ If uифр TaKO пароль, однако. тяже'"ю запомнить И, как праВIЛО, тр)ЛlIO вводить. Поэтому. если систе'l.fIIЫЙ МИlII",сrр.пор )апн,-ывает пароль I-С'Ш вводит ero слншко\{ мелленно, об ОПТИ-М(lОТЬНОМ pOBHe беЗОlli3СНОСТII СlIстемы rоворпть не ПРI1ХОДИТСЯ. Обр;питl:' ИНИJ\.131'lие на СЛОВо .'ДОЛlИ\iУЮ". Helo-оторbJе операUШJ (Н.Шрllмер. запускфайлз, 'n"'lЯ KOToporo не установ.lен бит I:IЫПО.lIiСIIШI} "Llпрешены даже сперПО.1ЬЗО8JТс:.lI0. r лово З. Сило привилеrий 57 
До немвнето времени достаточно надежным и удобным для запоминания считапся пароль. состоящий из двух случайно мыбранных спов, разделенных знаком препинания. К сожалению. теперь такие пироли взламываются очень быстро. н мы ие рекомендуем НХ применять. Сеroдня наибольшее распространение ПОЛУ(IИЛ подход, заключаюшийся в выборе фразы по прннuипy "шокирующеro абсурда". Этот ПРИНЩffi был определен rради Уордом (Grady Ward) в paHHe версии FАQдокумента. посвящеююro выбору идеНПlфикаllИОННО фразы для PG Р: Прultциll "шокирующеzо абсурда" заключается в составлении короткой фразы (или предложения), которая лишена смысла и в то же время вызывает шок }' пОЛhЗователя в данной "ультурной среде. То есть о"а дОЛЖllа содер.жать совершенно lIепрuли l /ные или расистские высказывания либо состоять из абсолютно не стыкующuxся между собой выражений. Прu_ценять такой подход не пpeaocyдume.'lbHO, поскольку подразумевается. что пароль нш.:'Оlда не стаНет известен ЛlOдя..w, чьи чувства мосут быть U}r' оскорблены. Маловероятно, чтобы под06IlЫЙ пароль был повторен Ke.мтo еще, так как Оll Уllи"о.лен по своей сути. При этом он леzк.о запоминается, "отому чmо uweem яркую эмоциональнуlO окраску. Сдержанный пример шокиРУlOщеzо абсурда выzлядит так; 'М()JlJlюски отzрызли .ши lаРЧУlOщие енитшши" Любоu читатель без труда придумает zораздо более шокирующие фразы_ Сократить фразу до мосьмн символов можно, записав только первые буквы К3ЖДоrо слова или применив какоенибудь лруrое пerкo запоминаю- щееся преобразование. Безопасность пароля значительно мозрастет. еспн включить в Hero цифры. знаки препинания и ПРОП1fсные буквы (некоторые системы теперь 'ЭТоrо требуют). Пароль привилеrированноro пользона.теля следует менять: . минимум раз в три месяuа; · каж.п.ыl% раз. KOrдa ктолибо. знаюший пароль, увольняется из ваше орraнизаuии; коrда, по вашему МНению, безопасность системы поставлена под yrpозу: если вы планируете провесПI вечер так бурно, что на следуюшее утро рискуете не вспомнить пароль. З.4. Как стать суперпользователем Поскольку пользона.тель root ЯШ1яется таЮfМ же членом системы, как и дрyrnе ПОЛЬЗ0матели. можно войти в систему непосредственно IIОД этим именем. Однако оказывается. что это достаточно иеудачное решение. ВопервbIX. не будет сделано никаких записей о том, какие действия выполнял суперПОЛЬЗ0ватель. Соrласитесь, не слншкомто приятно выясюпь, ЧТО вчера ночью в 3:00 вы сделали чтото не так. но никак не можете вспомнить. что нменно_ Еше хуже, если тако", доступ был неавторизованиым и необходимо понять. какой ущерб сиcrеме нанес нарушитель. Bonтopыx. сценариЙ реrистрац-ии суперпользователя не предnолarает сбора ннкакой друroй идентифицируюше"А информацин. Коrда под именем root в систему MOryт входить несколъко пользователей. не существует способа определить. k.IO из НИХ и коrда ЭТО сделал. По этим причинам м большинстве систем реrистрация под именем root запрещена на терминалах и по сети. т.е. везде. кроме системной консолн. Мы рекомеощуем лридерживаться дaннoro правила (см. параrpаф 2].6. в 58 Чость 1. ОСНОВЬ! одминистрировонt.1Я 
котором рассказывается. какие CHCTMНhle файлы потребуется дЛя :поro отредактировать) . Команда su: замена идентификатора пользовател Лучше воспользоваться командой 5О. Будучи вызванной без apryMcHTOB, она выдаст приrлашение на ввод пароля сynерПОЛblователя, а затем запустит командный интерпретатор с правами пользователя root. Интерпретатор будет выПОЛНЯТЬСЯ 8 привилеrированном режиме. пока не завершит рабmy (по команде exit или при нажатии клавиш <ControlD». Команда SU не фнксирует дествия. выполняемые R среде Иlперпретзтора. но добавляет запись в журнальНЫЙ файл. ннформирующую о том. КТО и KorHa ROшел в снстему под паролем суперпользователя. Команда 5U способна также подставлять вместо имени root нмена дрyrих пользователей. И ноrда единственны способ реШИ1'Ь проблему полъзова теля  воти С помощью команды su в ero среду. Зна.я чеилибо параль, можно непосредственно зареrистрнроваться в системе под ето именем, выполнив команду su uмяпОЛЬ30вателя. В одних системах параль пользователя root позволяет реrистрироваться с помощьЮ команд su или login под любым именем, а в дрyrиx сначала нужно стать суперлолъзователем. воспользовавшисЬ комаНдОЙ 5U. а затем с по",юшью этой же комаlШbl перейти в ДРyrjю учетную запись. Рекомендуем взять за правнло прн вводе команды использовать полное путевое имя. например jbin/su ИЛИ /Bsrjbin/su. а не просто ... Это в какойто мере зашитит вас ОТ тех проrpамм с именем su. которые преднамеренно были прописаны в переменной РАТН злоумышленником, намеревавlШfМСЯ "co брать хороший урожай" паролей. Во мноПfX снетемах выполнять комаtЩY su имеют праRO только члены rpyпnы wlleel. Проrрамма sudo: оrраниченный вариант команды su Поскольку полномочия приnилеrированноro пользователя распределить нельзя. трудно предоставить КШ'fYто право вьmолнятъ конкретную операuию (например. СОЗдание резервных копий), не давая возможности свободной работы в системе. Если же учетная заm1СЬ root доступна целой rpyтme 3.JThiИНJ.fстраторов. ТО вы и понятия не будете "меть о том. к-то ею пользуется и что он при этом делает. Предлаrаемое нами решение заключается в НСПОЛЪЗОВdН1fIi nporpaMMbI sudo, которая в настояшее время распространяется Томом Миллером (он является одним из соавторов настоящей кннrи). Проrpамму можно получить на WеЬузле www.сош1еsап.соm. Протрамма sudo в качестве арryмента принимает командную СТРОКУ, которая подлежит выполнению с правами пользователя root (или Hpyroro уполномоченноrо пользователя). Проrpамма обрашается к файлу jetc/sudoers. содержащему список пользователей. имеюших разрешение на ее выполнение, и перечень команд. которые они MOryт использовать на конкретной машине. Если предлаraемая команда разрешена. проrpа1\.lМа sudo прнrлашает пользо вателя ввести f!ZO собственll.ЫU пвраль и выполняет команду от имени сynерпользователя. До истечения ПЯТИМИнyfноrо периода бездействия (ero продолжитель HOCTh можно менять) проrpзмма sudo позволяет выполнять дрyrие команды. r лово з. СИl10 привилеrl-tЙ 59 
не вводя пароля. Такая мера  зашита от тех привилеrированных пользома толей, которые бросают свои терминалы без присмотр". Проrpзмма sudo ведет файл реrистраUJП1 выполненных команд и вывав ших ИХ пользователей. а также каталоrов. из которых запускалисъ команды. и времени их вызова. эта информаuия может реrистрироваться с помоШЬЮ снстемы syslog "ли размещаться в любом журналъном файле по усмотренню пользователя. Мы рекомеНдУем напрамитъ ее на "безопасную" uентралъную машину. Строка фвйла реrnстр"ции, содержашвя двиные опользоватоле r"ndy, который выполнил команду jbln/cBt etc/sudoers, может выrлядетъ следуюши м образом: Оес 1 10:51:19 ti9ger sudo: randy: TTY-=ttурО TTY-ttурО; PWD=/ti9ger/users/randy; USEH==root; COММAND-/bin!ca.t letc!sudoers Файл /etc/sudoers сушествует в единственном варианте и используется на всех компьютерах. Ои вытлЯДИТ примерно так: . ОnределяеN лсевдоиИWbl .DЛЯ KOUnblDTepHoro и фИЗИЧ8СIC:оrо факультеТО8 HostAlias CS" ti9чеr, anchor. piper, moet, sigi HostAlias PHYSICS" ерriлсе, ppxnce, icaruB # определ.яеw наеор команд СmndА-liаs OUМP'" /usr!sbin!durnp. /usr/sbin!restore СmndА-1iаs PRINTING" !usr!sbin/lpc, !usr/sbin/lprm СmлdJ,l1а" SНELL5  /bin/.h, /bin/tc"h, /bin/c"h , Прl!l:8а ДОС'l'упа ml1rk, ed PHYSICS ;а ALL herb CS ... !usr/loclIlJbn/tcpdump PH':{SICS - (operaor) DUMP lynd .ALL .. (A-LL) ALL, ! SHELLS \wheel ALL, ! PHYSICS - NOP.ASSWD: PRINTING Первые пять незакомментнрованных строК определяют набор комnьюте ров и команд, на которые осушествляются ссылхи в спепификauиях прав ДОС1УПа. Списки элементов можно вК1DOчатъ в спеuификации в полном виде, но работать с псевдонимами проще, к тому же они делают файл sudoers понятнее. и ето nеТ'Че будет обновлЯТЬ в будущем. Разрешается также соз.п:аватъ псевдонимЫ для различных rpупл пользователей. В каждую спеuификвцию прав доступа включается следуюшая информация; пользователи. ]с которым относится даНJolRЯ запись; . компьютеры, на которых пользователям разрешено МЫПQJlНЯТЬ какието действия; . команды. которые MOryr выполняться ПОЛЬЗ0вателям-и; пользователи, ОТ имеЮf которых MOryт выполняться команпы. Первая строка спеuифнкапий применяется к пользователям Пlаrk и ed. реrnстрируюшимся в системе на компьютерах rpynпы PHYSICS (ерппсе, ррппсе и Icarus). Вcrpоенный псевдонпм ALL разрешает им вьmолнять любые команДЫ. Поскольку дополнительный списоК пользователей в скобках не указан, проrpамма sudo будет выполнять команды толъко от имени полъзо вателя root. Пользователь herb может выполнять команду tcpdump на машинах rpynпы CS, а также комаНдЫ оперативноrо контроля на компьютера-..: rpуппы 60 Чость 1. Основы ОДМИНИСТРИРОВОНИJl 
PHYSICS. Звметьте. олнвко, IfТO вторая rpYnn8 команд в 118HHOM случае будет иметь привилеrин не полыователя root, а пользователя operator. Реальная команда, которую пришлось бы вВести пользователю herb, выrJ1ЯДИт примерно так; , 8udo y operator /u8r/8bin/dwtrp Ои /dev/rзdО. ПОЛЪЗ0ватeJJЪ Iynda имеет право Выполнять команды от имени любоro пользоваТeJТЯ на любой машине. но не может запусх.атъ некоторые распро страненныс командные икrерnpетаторы. Означает ли это. что она не может залустить интерnpе1'8ТОр. будучи сynерполъзователем? Конечно, нет: , ер p /btn/e.h /tЛJp/е.Ь , 8udo / tznp/ С8Ь Вообще rО80ря, попьrтка разрешить "все команды, кроме..... обречена на провм. по крайней мере с RХJfИ'Ческой ТО\fXИ зрения. Тем не менее, имеет смысл создавать фаАл sudоеп в таком ВИДе. так как ЭТО послужит хотя бы напоминанием о том, что вызывать команднЫЙ интерпретатор в режиме сynеРПОЛЬЗО8аТеля Не рекомендуется, и предотвратит случайные попытки "ызова В последней строке пользователям uNIх rpynпы whee/ разрешается выполнять KOM8.Н.дbl печати Ipc и Iprm от имени сynерпользовв.теля на всех компьютерах. за исключением машин rpynпы PHYSICS. Более Toro, от НИХ не требуется вводить лароль. Обрвтите вНИМание нв то, ЧТО комвнды В фвl\ле /elc/sudoers даются с полными путевыми именами. чтобы пользователи не моrли выполнять свой собственные nporpaMMы и сценарии от именн суперполъзователя. Разрешается также указывать ДОП)'С11iмые aprYMembJ для каждой команды. Вообше. ВОзможности файла sudoers очень велики, а показанный пример иллюстрирует лишь основные из них. Для моnификаuии файла /etcjsudoers предназначена специальная команда vlsudo. Она лроверяет, не редактируется ли файл KeM TO дJJYfИМ, затем открывает ero в редакторе. а перед инсталляцией файла 8ьmолняет синтак сический контроль. Последнее действие особенно важно, поскольку ошибка 8 файле sudoers может не по]воmпъ повторно вызвать nporpaммy sudo для ее исправления. Использование проrpamfы sudo имеет следующие преимущества: блаrодаря реrистраuии команд значительно повышается степень контроля над системой; операторы MOryт выполнять рутинные lЗД8LIИ, не имея неоrpаниченных привилеrnй; настоЯD.IКй пароль суперпользователя знают Bcero оДин лма ..,елоиека; · вызывать nporpaммy sudo быстрее, чем ВЫnолюrrь кочанду su или входить в систему под нменем root; · у пользователя можно отобрать привилеrии без изменения пароля сynерПОЛЬЗОВ8Теля, ведется СПИСоl<: всех пользователей с правами пользователя root · меньше вероятность Toro. что интерпретатор команд, запушенный сynерполъзователем. приведет к непреДСl<:8Зуемым последствиям; · управлять доступом КО всей сети можно с помощью одноro файла r nово з. Сило nривилеrий 61
У nporpaMMbI есть и свои недостатки. Самый большой из них заключается в том. что любая брешь в системе безопасности таТО или иноrо привилеrи рованноrо пользователя эквивалентна нарушению защиты самоЙ учетноЙ записи root. Противостоять этому нелеrко. Можно лишь предупредить тех, кто имеет право выполнять nporpaммy sudo, о необходимости зашиш3тЬ СВОI1 учеТНblе записи так. как если бы они были сynерпользовзтелями. Дрyrо недостаток  это возмоЖность обманyrь проrpаmfУ slldo с помощью таких уловок, как време,.rnыи выход в komaHllI-IbI интерпретаТОJ) И3 разрешенной проrpзммы 1Ли выполнение команд sudo csll юrи sudo SIJ, еслн ОИ11 попустимы. 3.5. Друrие псевдопольэователи Пользователь с нменем root  единственный. кто имеет для ядра UNIX особый статус. Есть, однако. еще нескольКО неперсонифицнруеМЪ1Х per1-lСТ рацИОННЫХ имен, которые используются ДJ1я системных uелеЙ. Пароли этих псевдопользователей в файле /etc/passwd обычно заменяЮт звездочко. чтобы нельзя было войти в систему под их именем. Влоделец непривилеrированных системных проrрамм: dаеmоп Учетиая запись daemon. как правило, имеет идентификатор пользователя, равный 1. Файлы н проиессы, которые должны ПРШlадЛежать оnераШЮIIНОИ системе. а не конкретному пользователю, часто назначаютсЯ данноЙ У'.lетной записи, а не полкюватеЛю root, чтобы уменьшить УI""})ОЗУ безопасности системы. Имеется также UNIXrpynna с имен('.м daemol1. которая создаетСfl по аllалоrинЫМ причинам. Владелец системных команд: Ып в некоторых системах пользователь Ып является владельuем большинства снстеМНЫХ команд. а тaК--JКe каталоrОR, в которых они хранятся. Назиаченне О'Тдельноrо пОЛЫОRЗтеля для ЭТИХ uеле часто считается избыточным (и паже небезопаСI-lЫМ). поэтому в современных системах соотвеТСТ8УЮШУЮ роль берет на себя пользователь root. Владелец образов дpa и памяти: sys в HCKOТC.1J)hD< снстемах пользователь sys влал.ест спеuиальными файлаМIf. такими как /devjkmem, jdev/mem " /dev/drum нт, jdev/swap. которые содержат образы aдpecHoro пространства ядра, фнзической памяти снстемы и файла подкачки соотиетСТRенно. Доступ к 'ЭТИМ файлам имеют лишь НСМНОПlе проrpаммы, и все они изменяюТ эффеКТIi"ВНЫЙ идентификатор пользоватеЛЯ И8 5У5. И HorHa вместо пользовате.ля sys создается трvnпа kmem или sys. Общий сетевой пользоватепь: поЬоdу В БОЛЬШJ.rнстве версий UNIX определяется пользователь 1I0bQd' с идеllтификатором  1 или <!. РазрабоТ'--lИКН Solaris выбрали 11деНТИФIIкатор 60001 (слеДУIOШIiЙ идентификатор 60002 назначается спеLlНальному nоль]о ватслю noaccess). 62 Чость 1. ОСНОВЫ администРИрОВОНИЯ 
o Сетеnая файловая система  NFS (Nelwork File System)  ислолыует учетную запись nobody для nредстав..чения сynерполъзователе в друrИJi системах. Чтобы лишить супеРПОJ1ьзователей их ИСЮJючнтельных прав при доступе к удаленным машинам, N FS ДОJIжна заменить нулевой идентификатор чеМТО д-рутим. Этой uели как раз и служит учетная запись nobod)'. Дополнительная uнфор."'ОЦUЯ об учетной записи поЬod}' приведена в пapa рафе П./. Пользователю nobody не нуА<ны специальные права доступа. и он не должен владеть никакими файламн. Сетевая фаЙловая система использует ЭТО средство для зашиты файловых серверов в сетях. rHe 6езднсковые ютиеНТЫ МОТУТ пере.зarpужатъся в олнополъзавательском режиме всеt.fИ. КТО имеет физический доступ к НИМ. С правами пользователя nobod)' работают и некоторые демоны, например fingerd. Идентификаторы пользователей  это короткие uелые числа. следова тельно. значение -1 бул.ет представлено как 32767_ В алroритмах определения следуюшеro доcтynноro идентификатора, которые используются мноrими проrpаммами adduser, это не учитывается. 
4 Управление процессами \ ..... npouecc  это абстракuия, при меняемая в UNIX дЛЯ описания 8ыполняюше"'ся nporp8MMbJ. Это системный объект, посредством Koтoporo МОЖliО контролировать обрашения nporpaMMbI к памяти. ПРОl[ессору и ресурсам ввопаВЫ801lа. Коннеnuия, соrласно которой как можно БО.1ьше работы д.ОЛЖнО выполняться В контексте проuессов. а не в ядре, является частью философии UN1X. Она []ронизывает все системные команды UNIX Системные и пользовательские проuессы пОДЧИНЯЮТСЯ ОДНИМ и тем же пр8ВИJI8М, блаrодаря чему ynрав.l"Jение имИ осушествляется с помощью одних и тех же комаНд. 4.1. Компоненты процесса npouecc состоит И] aдpeCHoro пространства н набора сТру....'Тур д.анныХ. содержашихся внутри ядра Адресное пространство f1редстав..1яет собой совокупность страНИLl памяти.. которые ядро выпелК10 для UЫпО.lнеюtя проиесса. В Hero заrружается код пронесса и ИСПО.1ьзуемые им библиотеки ФУНКllИЙ. переменные, стек и различная вспомоrатс:льная информаuшr. необходимая ядру во время рвботы лроцесса. Поскольку в UNIX лоддер"''' вается концепция виртуально памяти, страниuы aдpecHoro пространства процесса в конкретный момент времени MOryт либо на.'юпиться в физическо памяти неликом ИЛИ частично, либо вообше отсутствовать там. В структурах данных Ядра хранится раз.1ИЧНая информация О каждом пронессе. К наиболее важным сведениям относятся: . таблина распределения памяти процесса; текушнй ста1УС проuесса (неактивен. приостановлен, выпО.'1няется и т.п.); . приоритет 8ыполнення пронесса; информация о ресурсах, которые ИСПОЛЬЗУЮТСЯ проиессом; \t8СКЗ сиrналов про цесса (запись о ТОМ, какие сиrнarrы блокируются); Страницы  это базовые б.10КИ памяти размером. как ПравИЛО. от I по 8 Кб. 64 Чость 1. OCHOBbl ОДМИНИСТрИРОВОН"'1f1 
. идентификатор ВЛ!\дeJlbца процессв. В традиционных UNlXсистем8Х процесс также отслеживает. 1<8кме инструкции центральны npоцессор выполняет от ero имени. В ряде современных систем код "роцесса может выПОЛНЯТЬСЯ несколькимИ .'проиес серами" (реальными или имитируемыми. в зависимости от 1<онфю)'рашfИ системы). При ЭТОМ информаuия О каждом контексте выполнениЯ содержится в объсnе, называемом 1I0токоМ. Т.оретически два потока MOтyr управляться системным плвнировшиком совершенно независимо , даже будучи частью O.JIНoro проиеСС8. На праКТИ1<е библиотекв потоковых функций, распространяемвя большинством поставши КОВ, не поддерживает такую возможность. Почти все 38lI8ЧИ планирования решаются на уровне проиессов, поэтому MHoronOToxoBoe проrpаммирование ие особо звботит системных !\дминистрвторов. ' Мноrие хара.ктеристихи процесса непосредственно влияют на ero ВЫПОЛ нснис. Имеет значение, СКОЛЬКО времени выделяется этому проиессу иeH тральным npоцессором, к каким файлвм он имеет доступ и Т.д. В следуюших пврarpвфах мы рвесмотрим нвиболее интересные с точl<и зрения системноrо 8.JIМинистраторв хаРВkТериCТИl(И процессов. Они ПОд!Iержнввются во всех версиях UNIX. Идентификатор працесса (РID) Каждому иовому процессу. созданному ядром, присваивается уникальны идентификатор (Process 10, PIO). Большинство комвнд и снстемных вызовов, работаюших с процессами. требуют указания KOHKpcTHOro идентификатора, чтобы был ясен контекст операиии. Идентификационные номера присваива ются процессам по поря.nку по мере их создания. Korдa номера 38каНЧ1ПIа ЮТСЯ. ЯlIpO сбрасывает счетчик в единиuy и снова нвчинаеТ присваиватЬ их по порядку. пропуская те идентификаторы, которые еше исполъзуются. Идентификатор родительскоrо процесса (РРID) в UNIX нет CHcтeMHoro вызова, KOTOpьrA создавал бы новый процесс дпя выполнения конкретной nporpSMMbl. Вместо этоrо сушествуюшнй прошсс должен КЛQНИРОвать сам себя, чтобы породить новый процесс. Путь, по которому осуществляется клон, может отличаться от пути выполнения породившеro ero процесса. Исходны процесс в термииолопП! UNJX называЮТ родительским, а cro клон  ПОрОЖIlенным или дочерним. Помимо собствеиноro идентификвтора. к8жды процесс имеет втрибyr PPJO (Parenl Proce.. 10), который равен идентификвтору родителъскоro процесса, породившеro дaHHЫ процесс.. Идентификатор пользователя (UID) и эффективный идентификатор пользовотеля (EUID) UlО (User 'О)  это идентификатор пользователя, создавшеro дaHHЫ процесс, ИЛИ, точнее, это копия значения EUI D родителъскоrо процесса. Вносить изменения в процесс MO ТОЛЬКО ero создатель (владелец) '" пользователь root. По крайней мере, первоначaJIЪНО. Если родитсльскиR процесс по KaKoATO ПрИ4ине пре кращает работу, nporpaMмa init (проиесс номер 1) подстзвляет себя на Место предка (си. лаpaI])аф 4.2). r лова 4. УПрОВЛ81-'1ив процессомlo1 65 
 Детальная информация об идентификаторах пользователя I1риведеuй в lIa раzрафе 6./. ЕШО (Effective User IО)  это "эффективный" ПОЛъзовательскнй идентификатор процесса. Он используется для TOro. чтобы определить. к каким ресурсам и файлам у процесс. есть право достула в данный конкретный момент. У большинства процессов значения UID и EUID будyr одинаКОIJЫМН Исключение Составляют проrpаммы с установленным битом смены ИД(:НПI фикатора пользователя (SUID). Зачем нужны два идентнфикатора? Просто ПОТОМУ. ЧТО имеет смысл разrpаничитъ ПОНЯТИЯ персонификаини и прав доступа. ПроrpаММ8, у KOTopoti установлен бwт SUID. не ncerдa хочеТ ВЫПОЛНЯТЬСЯ с расширенными привилеrиями. В большинстве систем значение EUID МОЖНО устанавлнRCПЬ и сбрасывать, чтобы предоставить процессу llополнительные ПОЛНОМОЧНJI или отобрать их. Идентификотор rpYnnbl (GID) и эффективный идеНТI1фикатар rpYnnbl (EGID) GID (Group 'О)  зто идентификатор rpуплы, к которой ОТIЮСlfТСЯ владелец процесса. Эффективный нлеНТИфНК8ТОр rpуплы (Effective Group 10. EGID) связан с атрибyrом GID так же. КаК значение Еl1IО  с UID Если проиесс попытается обратиться к файлу. который ему не принадлежнт. sщро автоматически проверlП, МОЖНО ли предостапить проиессу соответствующне разрешения на основании зффективноro идентификатора rpyппы..  Дополнительную информацию о zpyппa:x вы найдете в парazрафе 6./. В некоторых сИстемах процесс одиоnpеменно может ОТНОСИТЬСЯ 1( несколъким rpуппвм. В '>Том случ8С атрибуты GID " EGID преДСТ8R!1ЯЮТ собо списки идеmификаторов [pyтm. Если Пользователь пытается получить доступ к каКОМУ1ТИбо ресурсу. весь список проверяется на предмет Toro. принадлежит ли этот пользователь к [pyтme. члены которой имеют право использовать данный ресурс. Приаритет и значение nice от Приоритета npouecca завнсИi. какую долю времени uентралЫlOrо процессора ОН получит. Ядро применяет динамический алropитм назна'Iения приоритетов. учитывающий, С1(ОЛЬКО времени цеН1l'8ЛЪНОro процессорii уже использовал процесс и сколько временн ОН ожидает своей очереди. Кроме тoro. учитывается заданный адМИнистратипным nyreм так называемый фактор ycтYIlивocти (устанавливается с помошью командЫ nice). опредсляюшнЙ. R KaKO cтenellli nporpaMM8 может "делиться" проиессором с дрyrими nporpaM мами. Чем пыше ЗНачение nice. тем '.устуттчпвее" nporpaMM8. ПОllробl-lсе эТоТ механизм рассматривается n параrpафе 4.6. Управляющий терминал Большинство процессов имеют спязанный с ними упраШlЯЮШИН терми нал. Он определяет базовую конфиl)'pацию станлартных канало. ввод.1, вывода и ошибок Korдa пользователь вводит какуюлибо команду в интерпретаторе shell. ero терминал, как правRЛО. становится управляющим 66 Чость I ОСНОВЫ ОДМИНИСТрL1рО80I-iИЯ 
тер",mналом проиесса. От управляющеro терминала также заПJ..lсит рзспреде леНJ..Iе сиrна..тюВ. О чем пойдет речь в парarрафе 4.3. 4.2. Жизненный цикл процессо Для СОJдаНIIЯ Honoro npoHecca сушеСТВУЮШlf11 npouecc I010Н11рует C3Moro себя с помошью системноru НЫЗОR3 rork Результзтом является IЮ-'Iучеюtс копии исходноro npol1ecca, Itмеюшей лишь tleKOTOpbIe отличия. В частности. нопому проuессу прис"аива.ется В08ЫЙ 11деНТИФJiкатор. и учет ресурсов ведется ЛJlЯ Hera ...еЗ8ВНСИМО от предка. Снстемный пызоп fork оБЛ3дilет уникальным своЙством: он возпришает сразу два значеНJ..IЯ. В ПОРОЖJlенном процессе эта функuия noзиращает О. а n родительском  идеmификатор потомка. Поскольку в остальном процессы идентичны. они должны IlрОнерятъ это значение, чтобы опредеЛJrrb, в какоЙ роли следует выступать дальше. После выпо.тn-rения системноrо вызова fork новый процесс обычно запускает ноную IJросрамму С ПОt.ЮШЬЮ OHHoro IП системных вызовов семеЙСТffiI схсс. Все ВЫЗОВbI семейства ехес ПрОИЗ80ДЛТ прнБЛИЗltтелыю одинзконые деЙст"ня: ОНИ .tмешают cerмeHT кода проuеСС8 11 устанаВЛНR3ЮТ cerMemLI дзнных и стека в исходное СОСТОЯlUlе. Формы пызопов ехес отлнчаются ТОЛЬКо способамн )"ка.lания aplJMemon командная строки If переменных среды, передаваемых ноной проrpамме. Коrда снстема заrpужается, ядро самостоятельно создает несколько проиеСС08. Наиболее пзжt1ЫЙ из ННХ  праиеес init, идентифнкатор KOToporo всеrда равен 1. ПроrpаММ8 init отвечает за ВЫЗОВ командноrа интерпретаТОрit для выполнения стартовых сиенариеп. если они используются в системе. Все npoцессы. кроме тех. что создаются ядром. являютея потомками проuесса init. 0" Подробная иUфОРЯЙI(U11 о нйч.а.'ЫIОЙ зйzрузке ' де...,оне j лi t приведенй в ZЛQве 2. Проrpамма init иrpает и друryю важную роль в управлении проuессами. Korna процесс lавершаетея, он пьпыаетT ФУНКlIИЮ exitO. чтобы уведомить ядра о своей rотовности прекратить работу. В качестве параметра функшtll exitO передается "од зйверщения  целое число, УК8Jыва.ЮlUее на прн'шну останова процесеа. По соr.'18шению нулевой код запершения означает, что праиеес ОкОНЧЮlея успешно. В UNIX требуется. чтобы, преЖде чем npoueec ОКОН'Iательно исчезнет. СТО ул,але......е было подтверждено родительским проиессом с помошью cHCTeMHora ПЬПОR3 wait. Данная ФУНКlI1'Iя возвращает кад запершения потомка н, если требуется. статистнку нспользования реСурС08. По этой причине ядро llОЛЖНО хранить f(ад завершения. пока родительский проиесс не запросит ero. 110 ОКОНЧ311ИИ дочернеrо проuесса ero алресное простра",ство освоБОЖд3ется, время uентралъноrа "роиессора ему ...е выпеляется. однако n таБЛl1uе процессов ядра сохраняется запнсь о нем. Проuесс в этом состоянии называетсЯ Jо.\lбu Опнсанный мехаНIПМ работает нормально, если рО.'lительскин "роиесс занершается позже порождеНIIЫХ им npoueccon и добросовестно пыполняет системные ВЫ30АЬ! wait для Toro. '-побы все проuессы-зомбlf были уни'поже ны Еслн же родительский проuссс lанершается 11epHы.. то ядро ПОIOlмает, 'ITO вьповн wai[ не послдует. и пере назначает все проuессызомб... nporpaMMe На саМОМ деш все ш-ш. Кро\.!С OAHoro, являются бltб.Т'IиотеЧНblМИ фунКшlяМ.... r пава 4. Управление процессоми 67 
i.nit. Она обязана принять I.осиротевшис" процессы и ликвидироваTh их. осушествив ДЛЯ каждоro из ЭТИХ процессов вызов walt. Раньше npоrpвмма Inlt не BCCfдa выполняла свои обязанностн как следует и зомби оставались а системе. В последнее время, однако, подобнъrx проблем мы не замечали. 4.3. Сиrналы  СиrнaлЬJ  это запросы иа лрерЫllaIOlе на уровне процессов. В UNIX определено свыше тридuати различных снrnвлов, J..I онИ находЯт самое разное применеиие: . сИТн8ЛЫ MOryr посылаться от ОДноro прош:сса к дрyrому как средстпо межзадачноro взаимодействия; . ситнaлЬJ MOryт посылаться драйВером терминала для уничтожения ИЛИ Т1риостанова проиессов, коrда пользователь нажимасТ спеuивлъмые ком- бииации клавиш, такие как <СолtrоlС> и <СОЛlrоlZ>.; . сиrналъt MOryr посылаться пользователем ИЛJ.I allМИIOlстратором С помо ШЬЮ команДЫ klll; . сиrnaлЪJ MOryr посылаться ядрам, коrда процесс выполняет нелеraльную инстрyкuию. например деление нв ноЛЬ. Котда поступает сиrнал. возможен один из двух вариантов рВЗUИТШI событий. Если процесс Иl\3начил данному снrналу подлроrpамму обрабОТК1l, то оиа вызывается, и ей предоставляется информаuия о конте:ксте. в котором был сreнерирован сиrнвл. В противном случае я.цро выполняет от имеl-lИ процесса действия, определенные по умолчвнию. Эти действия разли'ПJЫ для разных сиrналов. Миоrие ситналы лриводят к завершению работы процесса. а в некоторых случаях при этом еше выполняется дамп оператИl!НОЙ памЯТJ..I Дамп памятu  это фййл, содержащий образ памяти процесса; eZfJ .можно ис",ользовать для целей отладки. Проuе.nypy вызова обработчика НВЗЫl!аюТ "'epexвamo.'t4 сиrнала. KorD.l.I выполнение обработчика завершается, проиесс возобновляется с той ТОIIКИ. rдe был получеи сиrнlIJТ, Чтобы сиrнв..,ы не постynаЛl в проrpимму, можно указать, что 01111 должны иrнорироватьсЯ или блокироваться. Иrнорируемый сиrнал npOCTU пропускается и ие оказывает I-Ia процесс никакоro влияния, Блокируемыi l ситнал ставится в очередь на обработку, но ядро не требует от лроцесс" никаких действий до явиоrо разблокирования ситнала. Обработчик nы]ыШl- ется для разблокированноro сиrнала только одии раз, даже если в течеНIIС периода блокировки поступило несколько таких сиrнвлов, В табл. 4.1 перечмслены сиrнвлы. представляющие интерес шя систем- HOro администратоРВ. Традиционно имена сиrналов зоnисываются ПрОП1lС ными буквами. В проrpаммах на языке С к именаМ добавляется прсфию..: SIG (нвпример. SIGHUP). ФуНКUИJ..l, связанные с этими комбинаuиями к.1авиш, MOryт назначаться лр)'rим К.1iiIШШ;I'\1 с ПОМОllibЮ команды stty, 1-10 иа практике такое с.qyчиется ОЧСl-lЬ редко. В этой rл:ш(' "'11.1 подразумеваем. что с паниыми клавишами связаны их стандарТl-lbIе функшш. ДОПОЛНlпе:1I.- ную Иl-lформацию можно получить в пара.rpпфе 7,10. 68 Часть 1. ОСНОВЫ аD,министрИр080НИ 
Таблto1ца 4.1. Сиrнопы, которые допжны быть а.1звестны каждому администратору Na Имя Оп",соние Реокцн" по Перехваты Бпокиpye-roo? Домп . у Мапча......ю 8Qется памяти 1 HUP Отбой ЗввеРШСЮlе да да НС'Т 2 INT Преры- Завершение Да Да НС'Т ваиие QUП Выход Завершение Да Да Да KILL Уни\fТO ЗавершеIOtе НС'Т Нет Нет жен.ие BUS Ошибка на Завершение Да Да Да шине SEGV Ошибка Завершеюu: да Да Да cerмeH тauии IS TERM nporpaM Завершение Да Да НС'Т м...ое 38  вершение STOP ОстаНОВ Останов НС'Т НС'Т Нет "" TSTP Сиrнал ос- ОстанОВ Да Да Нет таиова, по- сылаемыЙ с кл.аНИ81)'рЫ CONТ Продол ИrнорируетСII Да Нет НС'Т _скис по- еле oc:raнo ва W\NCН Изменение ИrнорнруетСJil Да Да Нет окна USRI Олред<ля- Завершение Да Да НС'Т С'Тся ПQЛЪ- зователем USR1 Оnределя Завершение Да Да Нет с'тся ПQЛЪ- :ювателем В разны.х системах разный (см. файл /usrflnclude/!ligna.l.b ШUf раздел тап signal интерактивиоro руководства). Имеются и дрyrие сиrналы. не показаJfНые в табл. 4.1, большинство IH которых сообшает о пся....их заraлочных ошибках, например .....еВерная инструкция". По умолчанию такие сиrналы. как праRИЛО, прНROllЯТ к завершению проrpаммы и С01Д3trnЮ дампа памЯТИ. Перехват и блокирова...не обычно разрешены. так каК есть достаточно "умные" проIl'3ммы. которые 8ссrда стараются устранять послеДСТ8НЯ ВОЗJПlКаюших ошибок Сип,а.тIЫ BUS 11 SEGV также посылаЮТСЯ в случае ошнбок Мы включилlt их В таблицу. поскольку ОНИ чрезвычайно распространены: 8 99% СЛУ1lаеп nporpaMM3 аваРI1Й...О занершается мменно изза I-IМ>". Сами по себе Jпt сиrналы не нмеют пиаrностмческой цнности. Они лмшь указывают на то. ЧТО БЬUIа произведена попытка непрапильноro обращения к памяти. Большинство эмуляторап терминалов посылютт сиrнал W[NCH. Korna промсходит нзмененне их конфиryрационных пар8метров (например. числа линнА на Щfртуа.-IЬНОМ терминале). Зто позполяет IlporpaMMaM. которые тесно r лова 4 Vпровпеl-lие працессоми 69 
связаны с терминалами (в Основном текстовым редакторам), автоматическн переконфитурнровать себя в ответ на нзменения. Снrналы КI LL и STOP нельзя JП!' перехватить. ни блокировать, ни проиrнорировать. Сиrnал KILL уничтожает процесс. которому он посылается, а сиrнал STOP прмостанавлнвает выполнение npouecca .по полученмя сю"нала CONТ. Сиrнал CONT можно перехватить и проиrнорироватъ. 1-10 нельзя блокировать. Ситнал TSTP представляет собой "облеrченную" версию снrнала STOP. Проще веето описать ето как запрос на останон. Он rенернруется драйпером терминала прн нажатИ1f пользователем комбинзнии клавиш <ClrlZ>  Про rpзммы, обрабатывающие этот сиrнал, обычно пыполняют операuин очисткн. а затем посьmают сами себе сиrнал STOP. С друтой стороны, сиrнал TSTP можно просто проиrнормровать, чтобы сделать nporpafМY невосприимчивой к случайным нажатиям клавиш. Может показаться. что сиrналы КlLL. INT, HUP. QUIТ н TERM означают одно и то же, но на самом деле ою!' используются совершенно поразному: Сиrнал KILL не может блокироваться и ПрИnОЛИТ к безуеЛОRНОМУ завершеI01Ю проuесса на уровне операuиоЮiОЙ системы.. В пействитель ноети npouecc не может принять ЭТОТ сиrнал, так как уничтожается раньше. . СиrН8.J] [NT посыпается прайвером терминала при нажатим пользователем клавиш <CtrlC>. Он запрашивает заверweнме текущей операиии.. Простые nporpaMMbI должны прекратить свою работу (еCJDI онн перехва тывают этот сиrнал) илн позволить УНИ'ПQЖИТЬ себя стан.парТlЮМУ обработчику сиrнала. Проrpаммы. n которых есть режим Командной строки, должны прервать текущую операuию. произвестн очистку и снова перейти n режим ожидания. . Сиrнал TERM представляет собой запрос на полное завершение про rpзммы. Предполаraется. LIТO проuесс, который получмт этот сиrнал. пронзведет очистку и прекратит работу. у сиrнала HUP есть две распространенные интерпретаUI1Н.. Воперных. МНОпtе демоны понимают ero ка..: команду сброса [сли демон способен повторно прочитать свой конфиrypационный файл н а.аапrироваться к н]мененJ.fЯМ без перезапуска, снrнал HUP Позволяет менять ero попеде ние. Boвтopыx. данный сиrнал ИНОfда тенерируется црайвером теРМlшала при попытке "очистить" (т.е. удалить) проиессы, связанные с конкретным терминалом. Это происходит. напрнмер. при завершенин сеанса работы с терминалом или коrда модем внезапно рllЗрЬrвaет соединение (отсюда название "hangup"  отбой). Интерпретаторы семеЙства С shell (0511. tcsh и др.) обычно делают ФОНО8ые процессы невосприимчивымн к сиrналу HUP, чтобы они мотли продолжать свою работу, даже кош;) пользователь выходмт из системы. Пользователи интерпретатороп сеМсЙ ства Bourne shell (sh, ksh, bash) MOryr эмулнровать данное повеДСIIНС с ПОМОUIЬю команды nohup. . Сиrнал QUIT напоминает смrнал TERM, но отличается от нета тем, что по умолчанию стандартный обработчнк создает дамп памятИ. Cиrналы USR I и USR2 не имеют стандарпюrо назнвчения. Ими можно пользоваться в различных ситуациях. Например, демон named интерпретирует их как запросы на выбор уровня отладки. 70 Часть I ОСНОВЫ дминистрирования 
4.4. Отправка сиrналов: команда kill Команду kill чаще Bcero НСПОЛЬЗУЮТ дЛЯ прекрашения выполнения npouecca. Эта кома.нда может послать процессу любоЙ СНfНал. но по умолчанию это сиrnал TERM (nporpaMMHoe .1звершение). Команду kill МoIУТ пыполнять КаК оБЬNНые пользователи (для СВОИХ собственных проuессоп). таК и пользователь root (для любоrо проиесса). Она имеет следуюш ий синтаксис: kill 'снrнал] Иllеитификатор rде сие1lал  ЗТО номер или символическое имя посылаемоrо сю"нала (см. табл. 4.1), а идеllтифu"йтор  это номер проиессаадресата. В некоторых снетемах идентификатор I 03НdЧает широковешательную передач)' СJ..trнал& всем проиессам. кроме cHcTeMHыx н текушеro интерпретатора команд. KOMaHДn kill без номера сиrнала ие raрантирует, что процесс будет уничтожен. потому что сиrнзл TERM можно перехпатывзть. блокмровать и иrнориропать. Команда kill 9 pid "безусловно" уничтожает "роиесс. потому что сиrnал номер 9, К1LL. не перехватывается. Мы напИсали "безусловно" в кавычках. так как иноrда npоцессы попадают в состояния, n которых их нельзя запершить даже ТUЮiМ способом (обычно это связано с блокмровкой BвoдaBьrвoдal например ожиданием жесткоrо дИска. который перестал прашаться). Остается однн пьr<од  перезвrpузка. 4.5. Состояния процессов Факт сушеСТ80вания проиесса не дает ему автоматическоro права на получение ДОС1)'Т1а к центральному проuессору НеобхоШfМО знать о четыре" состояниях пыполнення процесса, которые перечислены в табл. 4.2. ТаблИЦQ 4.2. Состоянlo1Я процесса . Cocrояние Описание Выполнение Процесс можно ВЫJIОЛНЯТЬ ОJКИ.д8кие Процесс Ждет выделения ка.коroJUlбо pecYJX.Н Зомби Процесс пытается завершиться Останов Процесс Прl1остановлсн (не имеет разрешения на ВЫПOJ1J-lеиие) ВЫПW1няемый проиесс получил все необходнмъrе ресурсы И ждет, пока снстемный планиропшик предостапит ему доступ к центральному проиессору WIЯ обработки данных. Если процесс выполняет системный пызов. который нельзя осушествнть немеШ1енно (например, чтенмс части файла), снетема переводит ero в состоянне ожидания. Ожидаюшии процесс ждет наступления определенноrо события. Иlпер претатор команд и системные ДемонЫ провошrr n этом состоянии большую часть CBoero BpeMeНl, ожидая постуrulIiМЯ данных с терминала илн нз ceTeвoro соединения. Поскольку ожидающий npouecc фактически блокиро ВаН. то доступ к процессору будет npедостаRЛен ему только в случае получения ситнала. r паво 4. Управление процессами 71 
Остановленному процессу 8.lIМНI1истратор запретил ВЫполняться. Проиеt:- сы останаR!lнваются при получении сиl'НалВ STOP или TSTP и DOзоБНО8J1ЯЮТ раБOl)l по сиrналу CONT Это состояние анвлоrичио ожиданию, но Jlыйти из Hero МОЖНО ТОЛЬКО С помошью HPyroro проuеСС8. 4.6. Изменение приаритета выпалнения: каманды nlce и renlce 3наченне лlсе (фактОр устynЧИJlОСТИ) подсказывает ЯдРУ. как следует относиться к данному процессу по сравнению с дрyrими проиессамн. конкурирующими за право доступа к центральному проuессору. Чем ниже Значение nice, ТеМ выше приориrет проиесса. Диапазон допустимых значений меняется от системы к системе. Как правило, О" прастирастся от 20 до +19, в иноrДа  от О до 39 (см. табл. 4.3). Несмотря на различия в ДИапазонах значений nice, все системы трактуют фактор уступчивости примерно ОЛИНаково. Еслн пользователь не предпринн мает особых мер, то дочерний процесс наследует прноритет cBoero роднтель cKoro "роиесса. Владелеи проиесса может увеличить значение nice. но не может уменьшить ero. Это не дает БОЗмОЖНОСТИ процессам с низкнм приоритетом порождать 8ЫСОКОПриоритетных потомков. ТОЛЬКО суперполЬJО вателъ имеет ПОЛНУЮ свободу в установке значений nice и даже может присвоить проиессу такой высокий пр"'оритет. что все остальные проиессы не СМOIут работать. В некоторых системах ядро автоматическн повышает значение nice процессов, которые Достаточно долrо работал", с центральным проиессором или переведены в фоновый режнм. Установка приориrетов проиессов пручную быстро уходит в прошлое. Korдa ОС UNIX работала на слабых машинах 7080x rr., нв лронзводи тельность больше ncero влияло то, какой процесс занимал основн}ю часть времен", центральноro процессара. Сеrодня, Коrда на рабочих столах CTOJIT HaMHoro более быстродействующие КОМПЫO'fеры. планировшик UNIX, как правило, обслуживает все процессы весьма оперативно. К сожалению, уровень ПРОИЗВОдиТсльности подсистемы BnoдaBывoдa растет не так быстро. как быстродействие центральных "роиессоров. поэтому жесткие диски стали основным ..узким местом" n большинстве ос. o о пРОUЗ80дительности читаите также в ,zлаве 25. Фактор уступчивости процесса можно установить во время ero создания. Это делается с ПОмощью команды nice. Команда rCllice позuоляет НJменять значеЮ1'е nice во премя ВЫПОЛНения процесса. Первая из этих команд принимает в Качестве apryмeH1'a команлную СТРОКУ. а вторая  Н.ilентифн катар проиесса л",бо (п некоторых случаях) имя пользователя. Приведем примеры: 15 nice +10 /bJ.n/1ongt..1.sk: % renlce s а829 Следует отметить. что в разных СИстемах нет четкоro СОrлашеНШI относительно TOro. как задавать требуемый приоритет. Обычно даже команды nice и renice одной системы нмеют ра.злнчный сннтакс",с. Иноrда НУ''+:НО указывать только прирашение, а нноrда  абсолютное зиачснне. В одних случаях значению должен предшестповать дефис, в друrих  флаr п. а в третьих  вообше Ничеrо. 72 Часть 1. ОСНОВЫ ОДМИНИСТРl-1раВОНI-1Я 
Чтобы все было еше сложнее. существует версия команды nire, встроенная в ИНТСРПре'1'атор С shcll и некоторые дрyrие (но не в sh). Если не указать абсолютное пyrевое имя, бупет вызвана именно встроенная версия, а не СRстемная. Это очень неудобно. так как сннтаксис их В большинстве случаев различен (иноrда отличаются даже пиалазонЪ1 3Н8ченнА). В табл. 4.3 перечислены основные варианты. Параметр приор  это абсолютное значение пlсе, тотда как параметр инкр определяет прирашение приоритета по отношению 1( значению nice текушеro интерпретатора КомаНД_ Чтобы ввести отриuателъное значение, необходимо поставить два дефиса (например, 10). Знак '+' нужно указывать только во 8строенной 8ерсии команды nice. т 06лицо 4.3. СИНТОКСИС ЗОДОf-iиfl приоритвТ08 В РОЗЛИЧf-iЫ)( верСИАХ КОманд nice и renice l ' ОС Диапозон С1crемноя команда nice КОМОI-IДО nico . csh Командо I"enice SоlaПв 0---39 иH"p или B ин"р +иHI<p или иl/I<p иннр или n иннр HPиx 0---39 -приор ИJDt п приор +LINКP или иllкp -а пpиoi Red Hat 20---20 -инкр или b инкр +инкр или иHкp приор FreeBSD 20---20 -приор +инкр или uнкр "риор I Ухаэы.вается абсолютный приоритет. но к введенному ]начению LLобанляе'ТСЯ 20. Самый распространенный из высокоприориrстиы); процессоп n COBpeMeH ном мире  xntpd, демон тактопой сннхронизаuии. Поскольку для пыпол...е ния ero миссии быстрый доступ 1( центральному проиессору имеет очень большое значение, этому npoиессу обычно назначается фактор усТ)'Т1ЧИВОСТИ  12. Если какойлнбо процесс займет столько времени центральноrо проиес сора, что доведет показатель среднеА эаrpуженности системы до 65, то перед выполнением команд, необхолимых для исследования этой проблемы, может понадобиться запуск с поf<olOШЪЮ KOMat{ДЫ nice выокоприоритетноrоo ютер претатора shell. В противном случае весьма нероятно, что у команп не будет ни ма..'lеишеrо шаНса быть выполненными. 4.7. Текущий КОНТрОЛЬ процессов: КОМОНДО pS Команда ps  основной инструмент, которым системнЫЙ адмюшстратор пользуется Ш1я текушеrо КОНТрО..'IЯ проиессов. Верени этой команды разли  чаются арrуменТ8МИ и выходным форматом. но. по сути, выдают одну и ту же информацию_ Все персии можно разбить но два осноаны." лаrеря: cHcTeMы семеАства System V (Solaris, HPUX) и системы семейства BSD (Red На!, FreeBSD)_ Кроме Toro, поставшики MOryт настраивать эту команду с учетом конфнryраиин системы, так как она тесно связана с особенностям,", обработки проиессов в ядре и поэто,"у часто отражает нзменення 8 ядре. С помошью КомаНДЫ ps можно полyчwrъ ииформацию об ндентифика торах, приоритете. упра8Ляюшем терминале тorQ или иноrо процесса и MHOroe друтое. Она также позполяет узнать о том, какой объем памяти использует процесс. сколько времени иентралъноro прош:ссора он затребовал. каково ero текушее состояние (выполняется. остановлен, простаипает м т.д.). Процессызомбн в 1Пfстинrе команды ps обозначаются как <ехitlпq> нлн <defunct>. rЛОRО 4. VпровлеНloIе процессомt.1 73 
A1rмИНИLLpClТОр должен наУЧИТЬСЯ поннмать 8ЪJJЮДНУЮ кнформаuию кошн ды ps. Посмотрев на полученкъrй ЛИCПIнr. можно опредeлwrъ (помимо вcero проl.fеro), какие процессы выполняются в системе, сколько ресурсов иентраль HOro проuессора и памяти они используют и кому принадлежит КаЖДЫЙ из HIIX, Команда ps стремительно УСЛОЖИЮIась за последнне иесколько лет. Некоторые поставшики бросили попьrтЮI стандартнзироватъ выхолной фор мат этой команды и сделалп ее полностью конфиryрируемой. Про.едя небольшую настройку. можно получить практически любые требуемые результзТЪ1. В Red Hat команда ps является настояшнм хамелеоном м ПОНlIмает наборы опuий из иелоro ряда друrих систем. Имеется также спеUlальная переменная среды, с помошью котороЙ можно пыбрать IIУЖНЫЙ набор. Не пyrайтесь подобной сложности: пусть ЭТО будет кошмаром разработ чиков ядра. а не системных ап.ммнистраторов! Несмотря На Частое прнмснt:"f-ше команды ps. достаточно знать лишь несколько маrических эаклинанмй. В Red Нзt и FreeBSD получить список все)( "роиессов, выполняюшихся в системе, можно с помошью комаJШЫ ps аих. Н иже показаны результаты работы этой команды во FreeBSD (в Red На! они будyr HeMHoro друrиМJ<). @ . Р. 8ш. USER PID 1;CPU '<EМ vsz RSS тт ST-'.T STARТED 'Т!НЕ COММAND соос О 0.0 0.0 о о .. ОС. 8:35РМ О:ОО. ОБ (S"4P[") root. 1 0.0 о.. 208 12. .. 5. 8:3SPH О:СО.20 1.1"11.t. -о rODt 2 0.0 0.0 О 12 " oL 8:]PM О:(lО.ОЗ tpo!I@da@monJ rоФ[. '6 ..0 0.0 160 112 5. В:ПЕ'r-! 0:01.45 вуз10qd root Ь. о.. 0.0 228 1::::' I 8: "I."1PM 0:00. /J. ct'"OI"l 75 ... 0.0 :t:b 1.4 "- '"" в'тРм О:О(;.О2 'рС1 roo .00 5.5 0.0 2.' ., '" 8::ПРМ 0:1)[1.1Q lY1etd evi 1251 ..0 ..0 ]20 256 р8 ... !:5С1РМ o:og.41 e:9h (csh. Bvi 15011 0.0 о.. 128 6. р8 5. 3:11РН 0:0(1.03 "'"" lqer 1520 0,0 0.0 ЗJ2 224 р' R' 3:11PH 0:00.04 р. ilU.x Опмсание Каждоro поля приводится в табл. 4.4. Fше один полезный набор apryмemoB команлы ps в Red На! н FreeBSD  lax. Команда ps lax nыдает более спеtlиалиЗНРОRilННУIO информацню и пыполняется быстрее. поскольку не осушествляет сопоставлен-ия IIДСНПiфИ каторов процесс оп с "Iменами rтОЛЫОRателей. Зто может оказаться RеСЬ\,tБ важным фактором. если снетема уже серьезно заrpужеl-13 какимто IIроцессом Ниже n сокрашенном Шfде показаны результаты работы команды. Обратите пни манне на дополнительные поля PPID (илеНТllфJ.lкатор роднтельскоrо npouecca), NI (зна'1енне ";00) " WCHAN (ресурс, KOToporo ожидает npoueccl. . ра 1"" UID РТО PPID ,:Ри PR!" NI V5Z RSS WCHAN STAT тr Т rHr t:OloIo!1\ND . . . о -18 . О . i!5e€ic ОС. .. О:(IО.О6 r:!lw.шреrJ . 1 О О 1. . 2.' 120 wa.lt. ТО .. 0:00.20 .lПJ.t -. О О О -'8 О о 12 .а203с OL .. 6:00. ОЕ. pёiqpd.aemQn О .6 1 о } О 160 1:;'2 ;Jele,::1" '. .. О:Vl.П sysloqd . 71 1 . О -.. .. select '"" .. (1:00.0 I роr::ПI':'Р . 8' о О 26. 20., select [Но ?1 С:СО.2"1 fIIOJntd 74 ЧоClЪ 1. Основы одминистрирования 
Поле Таблица 4.4. Поясне...ия " ВЫХОДI-IОи информоции комонды рз OUX (во FreeBSD) ..... USER PID 'СРП 'НЕМ VSZ RSS ТТ STAТ STARTED TlМE COММANO Содержимое Имя в.ладельца лроuесса Идентификатор процесса Доля времени цситральнoro проuессора (В проuситах). ВЫделенная данном)' проuесСу Часть реальной памяти (8 процеиrax), используемая д&нным прouессом Виртуальн.ый размер лроuессэ в килобakrax Размер резидентноro набора (количество стрвн.щ памяти ра..змером 1 Кб) Идентифкxaroр УЛРaвJUUOшеro терминала Текущий CТ'd1)'C проueсса: R  выпалияется D  ОЖИдает заffilСИ на д.иск 1  неахтнвен « 20 с) S  неактивен (> 20 с) т  ПРИO(;J'RНомен Z  зомби ДOnО.1П-lительные флarи: >  процесс имеет повышен.н.ы.й приоритет N  проuесс имеет пони.женн.ы.й прноритет <  процесс прсвысил лроrpaммКhIЙ JШМКI' на использование памяти А  проuесс запросил замену ПрОИЗDОЛhНОЙ страницы S  процесс 3.il.просил замену стрвнШ!ы по принцнпу FlFO v  процесС лрностаномен на BPC"UI выполнения вызова vfort Е  процесс nытве-rcfl Вbl.ЛOJlНИТЬ вызои exlt L  некоторые страннцы блокированы в оперативно" памяПl Х  процесс находится в состоянни трасснровки НJ1.И отл.а.дк..н S  прouесс ЯВJIяется ЛИZ1ером сеаиса (ВJЩIleJ1Ьцем управляющсro терминала) W  процесс выrpужен на lDICK +  процесс нахQДИТСЯ в интерактивном режиме своею уПрав1lяющеl'О терминала Время запуска процесса Время центральноro npouессора, затребованное процессом Имя и apryMeНYbl команды I 1 Список apryMCtffOB может бьпъ неполным. Добавьте опцию ww. чтобы запретить усечение. p]  Б Solaris и HPUX ПОЛУЧIIТЬ информацию о выполняемых процессах можно С помошью коt.13НДЫ ps er (они работает н в Red Hat): . рв e' СID prD PPID с STlМE ТТУ ТlМE СОМО root. О О ВО Dec 21 0:02 :srled root I О 2 Dec 21 4: ]2 /et..cl1n1L  тоос 2 О В Dec 21 0:00 paqeou t. хаос IТJ 1 ВО Dec 21 0:02 /us[/11bIsentr.a11 bd t.rent. 11482 В4Н з5 Н:З4:Н) ptsll 0:00 05 ef trerlt B.II4 8422 20:! H:32:SCl pts/"1 0:01 csl-: Пояснения к ЭТо\tv листинry даны в табл. 4.5. 75 r ЛОВо 4. Упровление процессоми 
Т абпицо 4.5. Пояснения к ВЫХОДНОЙ информации команды ра ef (5ala,is, HP-UX и Red Hal) Пап" UID PID PPIO С STlМE ТТУ TlМE сомо Содвр>Ю1мое Имя ВJU!дельш процесса Иа.снтифккатор проuесса Идентификатор родитCJlbCХОro проuесса Информauия об использовании uентрально ro происссора и плaюtРОВ8ИЮ1 Время эапуСК8 проuесса Упрвв.ruuoщи:А: терминал Время uс:нтральн-оrо проuессора. эатребов.ан.мое проuессом КомаНда и apl')'Mcmw Подобно команде ps lax в Red Hat и FrееБSD, ps .elf позволяет в системах семейстпа System V увидеть и друrие интересные нанные: . Р. .lf F S UID PID ?!:'ID С Р lП ADDR sl W-:ИАN т [МЕ' CGtD " Т rсю't О О "О О БУ fOClc2fd8 О 0:02: 5ched " . root. 1 О 65 1 ,О f:26aBOO "" ff2ii2c8 4:)2 1:"\1.t.  " s root. 1<2 1 .1 1 20 f!"2eSOClO 11. {ООс:Ь69 О:ClCI sys load Столбцы STIME и n'Y здесь опушены, чтобы ЛИСТJlнr Y"-fеСТW1СА по ширине страниuы; они идентичны СТQлБU8М. вы.З.8ваемыМ команной ps er. Поля листинrа описаны В табл. 4.6. Таблица 4.6. Пояснения к ВЫХОДНОЙ ИНфОРМаЦИИ KOMQt-IАbI р& --elf 15010';'. HP'UX, IRIX и Red Но'\ Поле F s с со е жммое Флarи процесса; возможные значени.в зависят от системы (редко нспользуются си.стемны.ыи администраторами) Статус проuесса: о  в текуший моыею выло.лня.ется S  невктивсН (ОЖИдает события) R  разрешен к lIыnолиениЮ т  останомеи или отлвж.иваетси Z  :юмбн О  нсвктивСН И не может быть прерван (обыч-но ОЖИд8ет записи на днск) ИнфорЫamlЯ об использованИИ uентрa.JtbНОro проuессора (применя стек ДЛЯ nлaиирования. проuессов) Приоритет планировании (BHyrpeHHee значение IIдPI, ОТ1lИЧаеТ'Ся от значения nlее) Значение nlее или константа sy ДЛЯ снстемных проuес сов Адрес проuесС8 в памяТИ Число страниц. занимаемых проuессом В оnеративноR памяти АцреС ресурса, KOTOporo оЖJ.Iдает процесс Р NI AODR SZ WCНAN 76 Часть 1. ОСНОВЫ администрирОВаНИЯ 
4.8. Улучшенный текущий контроль процессов: проrрамма top Команда ps позволяет сделать только разовый, моментальный "снимок" системы. НО получить полную картину Bcero проис"одящеro в ней довольно сложно, Существует бесллатная лроrpамма top, которуЮ можно установJПЬ в систем&)( мноrиx типов, чтобы получать с ее помощью реryлярно обновляемую сводку активных лроuессов и используемых ими ресурСОВ. Автором этой проrpаммы ЯWlяется Уильям Лефевр (William LeFebvre). o Проzрамму 'ор .можно зоzрузuт. с WеЬузло www.group.!)l$.coт. Вот примерные результаты ее работы: 148t. pid: 2.:1314; l"d 8.ver.age.s: 2.91. 2.95, 2.89 15;5:51 15 proceslle8: 71 5eepinQ', 3 rur:r.1Щ}. 1 :lo:r\l:Jle cpu et.&t.e.s: 4".5\ \J8er. 0\ nlce. 23.9" 8УВСerII, 31.6\ .!.diI!I Merr.ory: 113М aVlII.ll. HIBM 1п se. 4972J< tree, 62321'1 lQcked PiD USER PRi. NICE SIZE """ ST"E ПН>: ИСfU с.и СОММДND 1313 root. 1 19 291К Н8!< 81eep 0:00 9.З:t 0.7' erpcd 2858 roct 1 О lSб41< б7Ei}( B!.IIIIP 0:20 5.4' О."П sl!:-<dm& 1310 root 2Т О B12 .авв}( соn 0:00 1.6' 0.3\ 8endm4 981 root 29 О 21521<. 232K cun 0:03 0.0\ 0.01 <ар В2 соо< 1 О 44" 2161< 81eep 0:48 6.0' 0.0\ 1n.ro 778 UUcp 2Т О 2441< 508" сип 0,04 0.0' 0.0' UUCICO 5298 randy 15 О 2281<. 1161': s1eep 0:00 0.0' О.()' c.h 151 roct lS О 12К 8" 81eep 54:40 0.0' 0.0' 1JpdiВ te М62 tr.nt IS О 212!< О" ele.p о: ОС 0.0\ 0.0' c.h 5843 t>et.h lS О 208!< ОК 81eep 0:00 О.О' 0.0' ceh 1БТ I"OOt IS О 100К О" _leep 0,00 0.0\ 0.0' lpd 1311 r..ndy 5 О 2241<. 40ВК sleep 0:00 0.0' 0.01 prev По умолчанию эта информаuия обновляется кажпые десять секунд. Наиболее активные лроuессы указываются первыми. Проrpaмма top ЛОЗВо ляет также посылать проиессам сиrн8лы и использовать команду renice, Ч'Тобы пользователь Mar иаблюл.ать З8 тем, как ero действия влияют на обшее состояние системы. Для Tol'O чтобы обновлять информаш<ю каждые десять секунд, лроrpамма top должна занимать некоторую часть времени uентральноrо проuессора. По этой причине ее следует -использовать только дrlя диаrностически'l( иелей, а не как протрвмму. постоянно работаюIЦYЮ в отдельном окне. Пользователь rool может запустJПЬ лроrpамму lор с олш<ей q, чтобы обеспечить ей максимально возможный приарwreт. Это очень удобно, если какието проuессы уже сушественно замедлили работу системы. 4.9. Процессы, вышедшие иэпод контроля Ииоrда в системе поЯW1яются проиессы, которыми по той или иной причиие должен заниматься администратор. Неynравляемые проuессы бывают дВУХ видов; пользовательские. потребляюшие слишком MHoro системныx ресурсов (например, времени uентральноrо проuессора или дисковоrо про странства). и системные, которые внезапно "ападают в буйство" и начинают вести себя непрелс:казуемо. П роиессы nepвoro ти па мOIУТ быть вполне работослособными, лросто они некорректно обращаются с ресурсами. В то же время системные проиессы всеrла должны работать в соответствии с определенными правилами. r лово .4. Уnровление процессоми 77 
0' Об обработке неуправляе.wых процессов читаите также tl параlрафе 25.4. Проuессы. занимающие чересчур MHoro времени централъноrо проиес сора. можно выявить, проан8ЛИЗИРОвав pely1lbT3TbI рабоТЫ комзнлы ps. Еспн оqеаилно. что какойлибо пользовательскнй проuесс потребляет больше ресурсов, чем ему лействитс.'Тьно необходимо, ero нужно J.lсслеловать. СамыЙ простой способ разобратьсЯ в снтуаuии  связаться с nлanелъцем проиесса и СПрОСIПL, что происхолит. Если .по неIЮЗМОЖНО, прндется деЙствонаТL 1.-13 свой страх и риск. Хотя в обычной ситуаuии системны"А администратор старается не за.ходить а каталоП1 пользователей. ::по лопускается. ecmt нужно изучить исхолный текст неуправляемоrо проuесса н ВЫЯСИИТЬ, что же он делает. Это может понадобиться по двум причинам. Вопераых. проиесс может быть леl;iСТВlпельно важным WlЯ пользователя Уничтожать каждый проuссс. который занимает MHoro времени J..tempaJlbHOrO проuессора. не сопсем разумно. Boвтopыx, проuесс может оказаться леСТРУlo..'ТНВI-IЫМ. написаннЫМ хакеромзлоумыruленником. В этом случае нужно точно ]1I8ТЬ, что он натворил, иначе исправить положение не удастся. Если причину пояплеНИSI неуnравлясмоrо проuесса определlПЬ не улается. приocraновите ero сиrнмом STOP Ii аrпр..'шые R.тJаделыуy по JлеКТРОl-lноii почте сообщение о том, что СЛУЧИЛОСЬ. Проuесс можно впослеДСТВIIИ перезаnyстить Снl'НалоМ CONT. Помните о том, что некоторые проuессы перестают нормально функuионировать в случае СЛИШКОМ долrоrо ПрОСТQЯ, поэтому 0I1ИС3Н1-IЫИ ПОдХол не вcerna приемлем. I-Iапример, проuесс Mor осуществлять обмен ланными через сетевое соединение, а после "проБУЖде иия" обнаруживается, что соелинение уже разорвано. ЕCJП1 проuесс использует слиШКОМ MHoro ресурсов проuессора, 110 лелет нечто обоснованное и работает правильно. необходимо с помошью команды renice понизить ero приоритет и попросить БШlделЫ1d в будушем запускать проuесс с более низким приоритетом. В систеМа.'\. rде не реалНJОВ8НЫ каоты, ре.JУЛЪТ3ТЫ работы НС}l1равляемых проuессов МOIут заполНlПЬ всю файловую систему н. таким образом, ПОnЛСLIЬ за собой бесчисленные проблемы. Прll переполненин фаЙЛОIlОЙ снстемы на консоль выдается множество сообшений. и попытки записать чтолнбо на диск вызывают появление сообшений об ошибках. Первое, что нужно сделarь в такой ситуauии.  ЗТО остановить проиесс. который переполняe-r диск. Если на лиске было спеuиальНо зарезервировано свободное пространство, то в случае ero внезапноrо заполнения можете быть уверены: тут чтото НеЛanно. Не существует средства, аН8ЛОI'ичноrо команле ps, которое сообшило бы о том. кто использует дисковое пространство. Но есть ynшиты. позволяюшие получить список oTкpьrrыx файлов и проuессов, работающих с ними; описанне УТИЛИТ ruser и Isor приведено в параrpафе 5.2. Можно приостановить все полозрителъные проueссы, пока не обнару жится источник проблем. В этом случае не забудьте после ВЫЯВЛСНltя нар)Wнтеля удалить все созданные им файлы и перезалустить неВИI.ювные проиессы. Старый и хорошо известныЙ трюк  запуск из интерпретатора комаlШ бескоtlечноrо UИЮlа:: while 1 mkd1.r adir cd adir 78 ЧОСТЬ 1. 0о-1ОВЫ одминистрировония 
touch afil.e end Такое иноr.nа происхо.nит. если злоумышrтею-rик проник в систему через незащищенную учетную запись или зареПlстрированный в системе терминал, брошенный без присмотра. Созданное .nерево каталоmв не занимает MHoro Места на ДИСКе. просто переполняется таблица индексных дескрипторов файловой системы, и пруте пользователи теряют возможность создавать новые файлы. Единственное. что можно сделать R по.nобноЙ ситузиии.  устранить лоследствия И предупредить пользователей о необходимости зашиты своих учетных записей. Поскольку .nерево каталоrО8. остапленное таким малены<им nporpaMMHblM '.перлом". может оКазаться слишком большим для 'Команды пn r, ПРИдется написать сuенарнй, который спустится по дереву вниз. а затем. возвращаясь. удалJП все К3Т8Лоm. Если проблема ВОЗНИЮlа в каталоrе /tmp, а он был создан как отдельная файловая система, то вместо Toro чтобы пытаться удалять файлы, можно проинициализировать каталоr /trnp С помощью комаlщы newfs. Более лодробно об управлении файловыми системами рассказывается в rлаве 8. 
5 Файловая система Ответьте, не раЗДrAЫR8Я, на вопрос: ЧТО из HL-IжепереЧL-lсленноrо можно встретить в файловой системе? Процессы . Пос..lеДОВ8те..lьные порты . Каналы межзадачноrо взаимодействия Совместно используемые сеrментЫ памяти Если речь илет о UN!X, ответом булет "все вышелеречисленное". Ну и. конечно, в фаловую систему BXOHT собственно фа.lЫ. ХОТЯ ОСНОВНЫМ предназначением файловой системы является орrаНl1за uия хранимых ресурсов системы (Т.е файлов), проrраммистам не хотелось каждый раз заново изобретать колесо при ynравлсни 11 объектами лруrих ТИПОВ Очень часто ОК8ЗЫВ8ЛОСЬ улобным преДСТ8ВЛЯТЬ такие объекты в виле элементов файловой систеМbI Полобный УННФИllИРОВ8ННЫ':' ПОДХОD и.fеет как преимушества (едины':' проrpам.мный интерфеVlс, .1еrки':' доступ из Команлноrо интерпретатора). таК и недостатки (реализация фаl;iЛО8ЫХ систем по методу ЛОl<тора Франкенштейнв). Но незввисимО от TOro, нравится он вам или нет. имеН1iО такой nOДXOn применяется в UNIX. Фаf:lловую систеу можно предcrавИ1Ъ состоящей из четырех основных компонентов: пространство И\.1ен  методы именования объектов и орrзнизаuии их в виде иерархий: . API-  набор системных вызовов, предназначенных д,'tЯ перемещения между узлами системЫ и упраn'7Jения ими; Интерфейс проrpаммироваиия ПРИ..10жений (АррliсаLIOП Programming Iпlеrfасе. API)  это обший теfИИ ДЛЯ описания набора noдnporpaмM. орrаНН30В8ННЫХ В ВИД(! библиотеки или совокупности биб:Jиотек и доступных ПРО[JW.ммистзм. 80 ЧООt> I ОСНОВЫ одминистрировония 
. модель безопасности  схема зашиты. укрывания и COBMCCТHoro исполъ зования об'Ьектов реализация  проrpаммный код, который связъrвает лоrические MOДe.тrn с JIИсковой подсистемой. Современные файловые систеМЫ в UNrx олределяют абстрактный интерфейс уровня ядра, лозволяюший работать с различными алла ратными интерфейсами. Некоторые чвсти файловоro дерева обрабать,вaIOТСЯ традиuи. онной дисковой лодсистемой, дрyrие ynравляются отдельными драйверами ядра. Например, за работу сетевых файловых систем (NFS) отвечает драйвер. который перенаправляет запросы серверу на дрyroй комттьютер. К сожалению, архитектурные rpаюfUЫ иечстко очерчены, и имеется слишком MHoro "особых" случаев. Скажем, фаЙJ1Ы устройств позволяют проrp8Ммам взаимодействовать с драйверами ядра. Они не явлmотся файлами данных, но обрабатываются бвзовыми средствами файловой системы, а их характеристиЮl записываются на диск. Навериое, имело бы смысл переписать олераuионную систему с учетом опыта последнеro десsmrnетия. Дрyrим услоJКНЯJOшим фактором является то, что coвpeMeнныe версии UNlX поддерживают несколько типов файJтовых систем. Помимо бвзовоrо варианта  4.3BSD, рвспознаваемоro большинством ОС, сушествуют фаЙJТО вые систсмы. обладаюшие повышенной надежностью или упрошенными средствами восстановления лосле сбоев (нвлример, VXFS в HPUX). системы, поддерживаюшие иную семантику (налример, расширения, связанные со списками лрав доступа в Solariь и HPUX), и системы, построенные на друrих типах носителей (в частности. жестхие JIИски DOS или компаКТllИСКИ формата ISО9ббО). Все они MOryr отличаться от стандартноЙ файловой системы UNIX, описывемойй в настоятей rлаве. 5.1. Путевые имена Файловая система  это единая иерархическая структура, которая начинается с KaтaJ10ra I и разветвляется. охватывая произволъное число подкаталоrов. КaTВJ10r caMOro Bepxнero уровня именуется корневым. Uепочтеа имен каталоroв, через которые необходимо пройти для доступа к заланиому файлу, вместе с именем этоro файла называется путевым иMeHt.\I. Пyrевые имена MOryr быть абсолютными (налример, /tmp/anle) нли относи тельНЫМИ (скажем, ЬооkЗ/Шеsystеm). Последние интерлретируются, наЧ1<Ная с текушеro каталоra. Некоторые СЧlfТaIOТ. что текуший KaтaJ10r задается коман.пным интерпретатором. На самом деле техуший кат8.ЛОТ имеется У каЖдоrо лроuесса. Термины файл и u.I,4Я файла. а также путевое имя и путь в большей или меньшей степени ЯВЛЯЮТСЯ взаимозаменяемыми. Понятия имя файла и путь можно употреблять как для абсолютных. так и для относительных пyrевых имеН. под путевым именем, как правило. подразумевают абсолютный путь. Слово файл часто используется в случаях, KOflla нужно сконuентрировать внимаЮfе на содержимом файла, а не на ero имеЮf. Файловое дерево в UNIX может быть произвольноrо размера. Однако существуют определенные оrpаничения: имя каталоra D,ОЛЖJiО состоять не более чем из 255 символов, а в OTДHOM путевом имени не должно быть более 1023 символов. Чтобы получить доступ к файлу, абсолютное пусевое имя KOTOporo не удовлетворяет этим требованиям. необходимо с помоwью r ЛОВО s. ФОЙЛОВОЯ системQ 81 
команды cd перейти в промежуточный каталоr а затем Воспользоваться относительным путевым именем-. На имена файлов и каталоroв не накладывается никаких оrpаНИ-l.fений. за исключением тoro, что длина имен не должна Превышать заданный предел и в Имена нельзя включать СИМВОЛЫ '(. В чз-стности, теоретически лоnyска IOТся имена, содержашие пробелы. Но на самом деле по давней традиции apryмeHTЫ командной строки в UN IХ разделяются пробелами, поэтому старые проrpаммы интерпретируют пробелы в именах файлов как признак конца ОДНоrо имени и начала дpyroro. Учитывая количество всевозможных файловых систем. сywеств}1ОШИХ на сеrодняшний день, нельзя полаrать, "IТO вам никоrда не встретятся имен файлов с пробелами. Даже еCJrn вы не взаимодеlkтвуете с компьютерами. работаюшими под упраnлением Macinlosh или Windows, все равно есть MHoro пользователей, ПрИВЫКШИХ давать своим файлам сложные имена. О подобноl;i возможности Не следует забывать при написании любъrx сценариев, Rзаимо действуюших с файловой системой В общем случае имена с пробелами надлежит просто заключать в Лl30йные кавычки. Например KOMaнna \ mor. "Ну exc.118nt :fi1.. txt" будет ВОСПРIOlЯта как попытка передать Проrpамме more единыЙ apryMem Му excellent file.txt. 5.2. Монтирование и демонтирование файловой системы Файловое дерево формируется из отдельных частей, называеМЫХ файло выми системами, Каждая из которых СОD.ержнт один каталоr и список ero подкаталоrов и файлов. Термин '.файловая система", по сути. нмеет два значения. С одНой стороны, это составная часть файловоrо дерева, а с дрyrой  все файловое дерево и алторитмы, с помощью которых UNIX управляет им. Как правило, значение термина становится ясным из контекста. Большинство файловых систем являются разделами диска, но, как уже упоминалось раньше. файловой системой может быть все. что ПОlIЧliняется определенным функциональным правилам: сетевые файловые систеf..rъf. KOM поненты ядра, резидентные диски и т.д. Файловые системы прикреrтяются к файловому лереву с помошъю команды mount Эта Koмaнna берет из сywествующеrо фа.йловоro дерева каталоr (он называется точкой монтирования) и лелает ero корневым каталоroм присоединяемой файловой системы, На время монтирования доступ к содержимому Точки монтирования становится невозможным. Как правило, точка МОНТИРОDания  пустой катал-оr. Например. команда I lIIOunt /dJaV/8d.1.C /u..rJJ монтирует файловую систему, размешенную на устройстве /dev/sdlc. лод ИМенем /users. После монтирования моЖно с помошьJO комаtщы Is /users посмотреть, что содержит эта файловая система. Список файловых систем, которые бьurи смонтированы пользователями. хранится в фаме /elc/rstab, /elc/vfslab или /etc/checkJisl, в заВItСНМОстlt от Здесь необходИМО дать пояснении Сама дИСКовая подсистема не накладывает никаких оrpaничеинй на D.'JИН)' пyrевоro Иf..feИН. Но системные вызовы. получаюшне доступ к ФаЙЛО80Й системе. не позволяют свонм apf)'Meктaм иметь длину более чем 1023 СИМВола. 82 Чость I Основы О,д"ЛIo1Нlo1стр"'ровония 
 операционной системы. Блaroдаря этому станоВЯТСЯ возможными автомати '/еская лроверка (fsck p) и мо.rrиpование (mount a) файловой системы На этапе начальной зarpузки. а также выполнение коротких команд наподобие mouBt /usr. Точное местоположение монтируемой файловой системы ишетСЯ в фаhле fstab (см. лараrpаф 8.3). Демонтируются файловые системы командой UП10uпt. Б большltНСТhе систем занятую файловую систему лемонтировать неВОЗМQЖIIO. В ней не ДОЛЖНО быть открытых файлов и ВЫПОЛНЯЮШJ-lХСЯ проuессов. ЕсJП! Л"ЮНТИ руемая файловая систеМа солержит исполняемые nporpaMMbl, ОНН не лоЛЖНЫ быть запущены. Во FreеБSD допускается применение команды UП10UП[ r, которая прину ДИ'l'eJ1ЬНQ демонтирует занятую файловую систему. Это не лучший ВЫХОД И3 положения, потому что лроrpамма, работающая с данной файловой системой, мож.ет зависнуть или начать вести себя HeHopMWIЪHO. Использовать команлу umount r МОЖНО только на свой страх и риск. В Solaris 8 также имеется команла umount r. хотя в более ранних версиях системы аналоrичноrо результата можно было добиться в два 'папа. Сначала выполнялась команда lockfs b точка },fOнтllроваНIIЯ, которая ставила на файловую систему "жесткую блокировку". Затем вызыпалась обыч-наи команда umount. Если ядро "жалуется" на то, что демонтируемая фаЙловая система занята, можно запустить КОМ8IЩУ fuser, которая позволит узнать, :кто работает с файловой системой. Команда fuser c точкаАIOНlпир08Dllия выводит иденти фикаторы всех npoиессов, обрашаюшихся к файлам или каТ8Лоraм указанноЙ файловоЙ системы. К этим идентификаторам добавлиются специальные символьные коды, обозначаюшие выполняемые действия. Например: ( , f'u.8r c /u.r /и5С: 157tm 315ctom 414tom 5049tom 84tm 49бсtоm 490tm 16938с 16902ctm 358ct.om 484tm Точное количество СИМ80ЛЬНЫХ кодов зависит от системы. Нанболее распространены следуюшие коды: с текущий каталоr npoиесса раСЛOJК»Кен в файловой систеNе; о ОТlCjJыт файл; t вылолняется nPОl1'амма; по.дключен файл (обычно совместно ислользусмая библиотека); корневой каталоr процесса нахоnится в файловой системе (задается сломощью KOЫ8.J-UlЫ cbroot). Чтобы определmъ. какие проrpаммы связаны с этими проuессамн, вызовите КОМ8НДУ ps, передав ей список ннтересуюших вас идентификаторов "роиессов. о которых сообшила команда fuser. Например: % ре rp "157 315 50.9" UID PID PPID С STlМE ТТУ TlМE root. 5[).g9 490 О Oct 14 0:00 root 157 1 О Jun 21 5:26 1р 315 1 О Jun 27 0:00 смо lusr/bin/Xll/xdm /uзr/зЬiп/паmеd /uзr /liЫlрзсhеd Список идентификаторов взят в кавычки, 'ЧТобы интерпретатор shell передал ero команде ps как один артумент. 83 r ЛОВО 5. ФаЙЛОВОЯ октемо 
KOMaНZIa fuser может также Bыавать статистику использования отдельных файлов, а не всей файловой системы. Синтаксис ее вызова в этом СЛ-Iае ДOJDКeH быть таким: @ fuser f ИUJlфайла Указав оnuию -k, можно заставить команду Fuser послать всем найпенны проuессам сиrнал KI LL. Это очень опасное лействие, и W1я ero выполнения следует иметь прпвилеrии ПОЛЬЗ0вате."IЯ root (им можно стать с помошью команды _udo). В RedHa! команда luser. разработанная Вернером Алъмсберrером (Wemcr Almesberger), использует вместо опции c опuию -m Если нужно получить статистику по отдельным файла.\of. прОСТО опустите опuию -m. Имеется также полезиая опuия VI которая застввляет команду fuser выдавать результаты своей работы в стиле команды ps: , :fu..r шv /u_r USER PID lusr root 1 root 125 root 214 root 321 ACCES S '.. .m COММhND ....т ....т " ..m .1.nt epmd portmap sysiogd  Во FreeBSD нет коман.nы fuser, но есть командв fstat с аналоrичными возможностями. Альтернативой комаНде lu_cr является бесплатная лроrpамма 1_01 ("Us! 01 ореп files"  список открытых файлов), которая формирует список дсскрнл торов открытых файлов По лроuеосам и именам файлов. Проrpамму Isol наш.сал Вик ЭйБCJU1 (Vic ЛЬеН) из университета Пердъю. штат ИНдиана. Получить ее можно на FТPY:L1e ftp: Ilvic. се .purdиe. edи/pиЬ/tools/unix/lso! Она работает во всеХ рассматри ваемых нами СИстеМах. 5.3. Орrанизация файловой системы Файловая система в UNIX никоrда не была хорошо орraнизована. Лоскольку не существует единой системы присвоенJl.Я имен. Оl1новременно используется MHOro разных. не соrласованных между собой правил имено вания файлов. ВО MHOJ11X случаях фвйлы rpуппируются по выполняемым функuиям. независимо от Toro. как часто они изменяются. Это затруl1няет модификаuию операuионной системы. Например, каталоr /etc содержит файлы. которые ннкоrЛ8 не меняются. а также полностью локальные файлы. Такие нововведення, как каталоr /var. помоrли справиться с рядом проблем. но файлы большинства систем все еще не упорядочены. Тем не менее, для вcero находпrся CB место. Большинство UNIXnporpaмм можно инсталлировиrь с минимальными усилиями в плане переконфиryрнрования системы, если ее настроили стандартным способом. Однако попытка улучшить СТРУКТУРУ. задаваемую по умолчанию, может привести к неприят ностям. Корневая файловая система вк..тIючает в себя корневой Kaтa...rтor и минимальный набор ф3ЙJlОВ и ПОllКаталоrоВ. В ней располаrается ядро, которое обычно НОСИТ имя /unix или /vmunix. Этот фаfl.J '\lOжет быть лополнительно скрыт в подкаталоrе fkernel или /stand. Корневая файловаSI 84 Чость I Основы ОДМlo1нИСТРИРОВОНИf! 
системв также содержит каталоr /dev для файлов устройств, каталоr /elc для системных конфпrypапионных фaJlлов, катало", /sbln и /bln ДЛЯ важнеЙШИХ yrилит и иноща каталоr /trпр дЛЯ временнъ", файлов. В некоторых системах совместно используемые библиотечные файлы, а также фвйлы препроцессора язЬ1К8 С хранятся В каталоl'e /llb. В дpyrкx системах этой же цели служит каталоr /usr/lib, а каталоr /Ilb являетСЯ символической ССЪUIXОЙ. Очень большое значение имеют также К8Талоrn. /usr и jvar. В пероом хранится большинство стандартных nporpamt и дрyrие полезные КОf.fПоненты. например электронная документаuия. СОБсем не обязательно, чтобы каталоr /usr был отдельной файловой системой, однако для удобства аамииистриро вания ето. как правило. СОЗдают именно ТаК. В каталоrе /var содержатся буферныc катало"" файлы реrnС1]Jации, учетная ИИфорМ8UИЯ и прочие компоненты. которые быстро разрастаются и изменяются. Ка.ж,.п:ый компьютер имеет СВОЙ список таЮiХ компонентов. Каталоrn /usr и /var должны существовать, чroбы система моrла заrpузиться в мноrополъзователъском режиме. Большая часть содержимоrо К8талоrа /lIar первоначально находилась в каталоre /05r. В своей системе вы. вероятно, еще обнаружпте соответствующие символические ссылки. RВЛяющиеся остатками прежней ЭПОХИ. Начальные каталоrи пользователей следует держать в отдельной файловой системе. которая обычно монтируется в корневом каталоre. а иноrда  в каталоrе /usr. Некоторые файловые системЫ можно использовать и Ш1я хранения больших ИИфоРМRUИОННЫХ массивов, например библиотек исходных текстов проrpамм и баз данных. Наиболее важные стиндартныe каталоrи перечислены в табл. 5.1. Путевое ими /ып или /""Iп Таблица 5.1. Стондартные котолоrи и t.1)( содержимое /d.. /.1. jllb /tшр /fIYI /proc /Itaпd /ur/biD /шr/рПIa /ur/lп.lud. /ur/5Ып /ur/аЬlп Содержимое Комвнды. необходимые для обеспечеюtЯ миниыальноro уровня рвбarocпособности системы  Файлы устроАств: ТСрМИНВJ10В, дисков. модемов и т.д. Вюк.ны.е файлы запуска и конфиrypauИJol Библиотеки комl1ИJlЯТOрВ языка С Временные фвй1lы. удаляемые в процессе neрС3llrpузки Рабочая облacrь JIЛJI построения lIдPa. фllйJ1ы конфиrypaции (BSD) Образы всех работаюших процессов (в tlекоторых новых систеыах) Автономные yrилиты, проrpaмыы фор."атировании дисков и др. Испол.н.яемыс файлы Иl']Ювыс н развлекательные проlp8.NМbl (60льшсА частью не очень веселые) Файлы 38fOJIOBKOB Спроrpамм KoМ8JiДЫ, обеспечивающие совместимость с я.п:рам Sysr:em V в ВSDсистемах Служебные системиые команды Еспи есть К8.Т8Лоr /lblп, то каталоr jbto обычно представ.л.яет собой символическую ссылку на каталor /usr/Ып. r лова 5. Фоиловоя системо 85 
 Путевое ими Содержимое /usrfllb ВсломOl1!reльныс фаltлы JIЛJI cтaндaP'fНh!X UNlXлроrpaмм ,.../man Сrрвницы: ЭJlсктроикы.х руково.дств /usr/sbJtre Элементы, обшие для различных систем (часто сюда И,,;Од.slТ CJP8.IOWbl электронноЙ документauии) Учетные файл.ы, журналы ИCnOJIЪ3Oвани.я ресурсов рa.31Dlчныс сиcreмнwе журналъные файлы (в некоторых системах) Буферные каталоrи для принтеров, UUCP. электронной почты и T.JI. /_or/аdш /var/log /_"/5рооl /_,,/tшр /usr/ucb /....flocal /usr/local/adm /..../localfЫn /..../local/.tc /usr/local/llb /....flocal/sbln /..r/local/flrc jkerncl Каталоr lI1U! времен.ноro хранении файлов (после перeэarpузки файлы не исчезают) Утилиты и лроrpаммы BSD ЛОICaJIЪКOe проJl)аммное обеспечение (все. что инсталлируется лольэовзтелями) Лока.л.ьные учетные файлы и файлы реrистраuIOl Локa.rrъные ИСПОJ1Н.Яемыс файл.ы: Локальные системные комаНДЫ и файлы конфиrypацИI1 Локальные всломоnm:льные файлы Локальные служебные системные команды Исходные тексты JIЛЯ проl'p8ММ каталоroв /шrfloa.l/* Файлы, необходимые для зarpузки upa (в Solaris) 5.4. Т Io1ПЫ файлов в большинстве файловых систем поддерживается семь типов фаЙЛОВ: обычные файлы; каталоrи; файлы байторнентированных (символьны-,:) устройств; файлы блокориентировaJiНЫ' (блочных) устройств; CQKeТbJ; именованные каналы (F1FO); символические ССЫЛКИ. В некоторых системах Не реализована подпержка таких типов файлов. как сокеты или именованные каналы. Обычные файлы Обычный файл  это ПрОС1"о последовательность баltтов. В UNIX не нахладьmается оrpaничений На ero СТРУК1У'РУ. Тс'Кстоные документы. испол няемые nporpaMMbI, библиотеки функuнй и MHoroe дpyroe  все ЭТО \,;ранится в обычных файлах. К НИМ возможен как последовательный. так и прямой доступ. Каталаrи Каталоr содержит именованные ССЬL'IКИ на дрyrие файлы. Он создается командой mkdir и УJIаляется (если пустой) комаlillОЙ nndir. Каталоrи. в которых есть файлы, МОЖНО .улалить КDмаlillОЙ nn r_ 86 Часть I Основы ОДМt1ниcrРИРОВQНИЯ 
Спеuиалъные ссылки '.' и ...... обозначают соответстнеllНО сам каталОI и ero родительский каталоr. Их нельзя удалить Поскольку у KopHeBoro катзлоra нет родwrеля, ссылка ".:' в ием эквивалентна ссылке ','. Имя файла хранптся в родпreлъском каталоre. а не в самом файле. На файл можно ссьтаться из нескольких каталоrов опновременно и лаже из иескольких элементов одноrо и Toro же КRталorа. причем У всех ССЫЛОК MOryr быть разные Имена. это создает иллюзию тоro, что файл в одно и то же время нахОДИТСЯ в разНЫХ К81'3ЛОrax. Ссылку неВОЗМОЖНО ОТJ1ИЧJ.rrъ ОТ имени файла. на который о.на указывает: в UNIX они идентичны. UNIX подсчитывает коmiчестпо ссьток, укаJЫваю ших на каждый файл, и при упалеНIOf фаЙла не освобождает блоки данных по тех пор. пока не бупет увалена ero последнЯJ.У ссылка. ссыл......, МОЖНО задавать только в пределах одной файловой системы. ссылюt тaKoro рода обычно называют "жесткими.'. чтобы ОТЛIIЧИТЬ их ОТ символических ("мяrких") ссылок. которые описаны ИИЖе. Жесткие ссьuncи создаются командой In. а удаляются командой пn. Синтаксис комаНдЫ In леrко запомнить, так как ОНа повторяет работу команды ер. Команда ер oldfile newfile создает копию файла oldfile под именем newfile. Точно так же, комаНда ln oldfile newf1.1e создаст новую ocьmкy new1ile на файл oldfile. Важно понимать. что жесткие ссылки не ЯВЛЯЮТСЯ отдельным типом файлов. Просто файловая система позволяет создавать ссылки на один и тот же файл в разных каталоrax. Атрибуты файла, в частности права доступа и ИJlентификатор ВЛ3ДeJ1ьuа. являются общими для всех ССblЛок. Файлы байтариентировонных и блокориентировонных устройств o Подробна устройства и драйверы рассматриваются в l.laвe J 2. ФаЙлы устройстп ПОЗВОШIЮТ UNIХпроrpаммзм взаимодеЙСТROR3ТЬ с аппаратНЫМИ средствами и периферий:ными устройcrвaми системы. При конфиryрировании ядра К нему подключаются те модули. которые знают, как взаимодействовать с каЖдЫМ из имеюшихся устройств.. За всю работу по управлению конкретным устройством отвечает спеuизльная nporpaMM3. называемая драйвером устройства. Драйверы устройств образуют стандартный коммуникаuионный И1Пер фейе, который выrJIJllIИТ для пользователя как обычный файл. Коrда ядро получает запрос к файлу байт--ориентированноrо или блокориентированноrо устройства. оно просто передаст ЭТОТ запрос соответствуюшему драйверу. Важно отличать файлы устройств от драЙверов устройств. Файлы сами по себе не являются драЙверами. Их можно представить как шлюзы. через которые драйверу передаются запросы. Файлы байториентированных устройств пОЗИОЛJoуют связанным с ними драйверам выполнять свою собственную буфсризаuию BnoдaBЫBoД8. Файлы блокориентироваН}fЫХ устройств обрабатываются драйверами, KOTOpbIt: Во мноrих систеМах возможна также динаическая заrpузка этю: МОllулей ядром r ЛОВо 5. Фоилов01I система 87 
осуществляют вводвывол большими ПОрШtями (блоками) и возл-аraют обязанности по вьmолиению задач буферизаuии на ядро. Аппаратиые среДСТRЗ некоторых типов, такие как накопители на жестких дисках и маrнитных леН1'ЭХ, MOryт быть представлены файлвми любоrо тилв. В системе может присyrствовать несколькО однотипных устройств. Поэтому файлы устройств характеризуются двумя номерами: старшим и младшим. Старший номер устройства rоворит ядру о том, к какому драйверу относится данный файл. а младший номер сообшает драйверу, к какому физическому устройству следует обрашаться. Например, старший номер устройства 6 в Linux обозначает драйвер пвраллельноrо порта. Первый параллельный порт (fde.f1pO) будет иметь старший номер 6 и младшиЙ номер О. Некоторые драйверы используют младший номер устройства нестанларт НbrM способом. Например, драйверы накопителей на маrнитных лентах часто руководствуются им при выборе плотнОсти заПJlСИ и ДJlЯ определения Toro. необходимо ли перемотать леmy после закрытня файла устройства. В HeKO 7'орых системах "драйвер терминала" (который на самом деле управляет всеми последовательными устройствами) применяет младшие номера устройстn для 7'oro, чтобы отличать модемы, используемые для вызова упаленных систем. от модемов, рsботаюl1IИХ На прием сообшений. Файлы устройств можно СОЗдавать команлой mkпod, а удалять  KOMaH дой пn. В большинстве систем имеется командный сuенарий I'vIAKEDEV (обычно находится в каталоrе fde.) , который создаст стаидартные наборы управляюших файлов для основных устройств. ПреЖде чем беЗдУМНО вызывать этот cuенарий, просмотрите ero текст, чтобы понять. что конкретно он делает в вашей системе. Сокеты Соксты инкanсулируют соединения между проuессами, позволяя им взаимодействовать, не подверraясь влиянию дрyrnх проиессов. В U N I Х поддерживается несколько видов сокетов. использование которых в большин стве своем предполarает наличие сети. Соксты UNIX локальны для KOHKpeт Horo компьютера. Обрашеиие к ним осуществляется через объект файловой систеМbl. а не через сетевой порт. НесмотpiI иа 7'0 что лрyrие проиессы распознют файлы сокетоп как элемепrы каталоra, проиессы. не участвуюшие в соединении, не MOryr осуществлять над этими файлами операuии чтения и записи. С сокстами работ8IOТ система печати, система Х Window и система Syslog. o Дополнительная информация о системе Sys/og приеодится е Маее J J. СОКСТЫ создаются с помощью системноrо вызова socket. Коr.па с обеих СТОрОН соединенне закрыто, сакет можно упалить посредством комаl-ШЫ rm либо систсмноrо вызова unllnk. Именованные каналы Подобно сокетам, именованные KaHaJIbI обеспечивают взаимодействие двух "роиессов, выполняемых на одной машине. Именованные каналы создаются команпой mknod. а удаляются командой rm. 88 Чость I Основы одминстррОВОНIAЯ 
Символические ссылки Символическая, или '.мяrкая". ссылка обеспечивает возможность вместо nyreBoro имени файла )1Сазьmать псеRl1DНИМ. Копш ядро сталкивается с символической ссылкой при поиске файла. оно извлекает из нее храняшееся в ней путевое имя. Различие мeжJIy жесткими и символическими ССЫffi(ами СОСТОИТ в ТОМ, что жесткая ССblЛка  прямая, Т.е. указывает непосредственно на индексный дескриптор файла. ТОТД8 как символическая ссылка указывает на файл по имени. Файл, адресуемый символической ссылкой. и С8ма ссылка физически являются разными объектами файловой системы. Символические ссылки СОЗдаются командой 10 s. а удаляются командой rm. Поскольку ОНИ содержат произвольное путевое ИМЯ, 7'0 MOryr указывать на файлы, храняшиеся в дрyrих файловых системах, н даже на несущеСТ8УЮ шие файлы. Иноrда нескоЛЬКО символических ссыокк образуют uикл. Символическая ссылка может содержать либо абсолютное, либо относи тельное путевое имя. Например, команда ln 5 ../. ./ufз /uзr /include/bsd/sys/ufs связывает имя /usr/includ./bsd/sys/urs с каталоrом /usr/include/urs с помошью относительноrо пути. КаТRЛоr /usr/lnclude можно переместить куди yrодно, но символическая ссылка, тем не менее, остаНетсЯ корректной. Остереraйтесь использовать обозначение 11.... В путевых именах. вк.'1ю чающих символические ссылки, поскольку по символическим ссылкам нельзя проследовать 8 обратном направлении. Ссьтка и ..11 всеrда обозначает исти-ннъrй родительский каталоr ланноrо файла или каталоra. Например, в привеленноА выше ссылке П)7Ь /usr / include/bsd/9ys/ufs/ . ./param.h раскрывается как /usr/include/param. h а не /usr I i:1clude/bsd/ sys/param. h Распространенная ошибка  д)'мать, будто первый ар'умснт команды In s KaKTO связан с ТеК)'ШИМ каталоroм. На самом деле он не раскрывается командой 111, а записьrвае-тся в си",волическую ссылку буквально. 5.5. Права доступа к файлам Каждому файлу' соотнетствует набор прав доступа. представлеНI-IЫЙ в вине Деняти битов режима. Он определяет, какие полъзователИ имеют право ч",тать файл, записывать 8 Ht:ro данные или выполнять ero. Вместе с друrnми тремя битами, ВЛIIЯЮШI-fМИ на запуск I.lсполняемых файлов, этот набор образует код ре:ЖU/tfQ docmYl1a к файлу. Двеналuaть битов режима хранятся В 16бито"ом воле индексноrо дескриптора вместе с четырьмя нополнительными бнтзми. опренеЛЯЮlllИМИ тип файла. Посленние четыре бита устанавливаются при создании фаЙла 1.1 не пошrежат изменению. Биты режима MOryт .вменяться влап.е.l1l.uе". файла или суперпользователем с ПОfo.fOшью команды cllmod ("chal1ge mode"  изменить режим) Просмmp значениЙ- этих БИТОR осуществляется с по\ющью команды 15. r лово 5. Фойлшюя системо 89 
Биты SUID и SGID Биты, которым в коде режима JIоступа соответствую! Rосьмери1.JНЫС значеНIIЯ 4000 и 2000.  зто биты смеНЫ идентификатора пользовате.rIЯ (SUlD) и смены идентификатора rpутлты (SGID). Они позволяют лроrpам"ам получать лоcтyn к файлам и проиессам. которые при прочих обстоятельС'Тв,а,\ неПОС1)"ПНЫ пользователю. Rьmолн.я:юшему ЭТИ nporpaMMbl. Подробнее даНнЫЙ механ-изм был описан R параrpафе 3.1. Если бит SG I D установлен лля каталоrа, то СQЗl1знаемые в нем файлы при запуске будут принимать Иде,IПИфИкатор rpynnbI каталоra. а не rpYnnbl. в которую входит пладелеu файла. Это упрошает совместныЙ JIОСТУП к K8TaJ10r3M D)lЯ пользователей. ПРI1f-шдлежаших ОДНОЙ rpуппе. Попобная возмОЖНОСТЬ подn.ерживаетСJl не ПО всеХ версиях UNIX (это не отноСитСЯ 1\ нашим тестоВЫМ системам). Следует также учитывать. что установка бита SGID nля исполняемоrо файла перс:крывает анзлоП!чную устаНО8К} ,lU1Я каталоrа. В некоторых системах бит SGID МОЖНО устанавливать дЛЯ файлов. не яМЯЮШНХСЯ испопняемыJ,.Ш. Тем самым запрашивается спеuи:з..льиыЙ режим блокировки файлов при их открытии. Stiсkубит БIП, которому 8 коде режима доступа соответствует восьмеричное Зliaчение 1000. назьmается stiсkубитом ("sticky"  липучка). Это ,ОРОШlfn пример 'Toro. как UNIX по мере взросления избавляется от ру,nиментов, но ОНИ продолжают следовать за системой по пятам. В системах с небольшо памятью, например PDP11/70. rле UNIX работала в СВОИ ранние rоды. требоналось. чтобы отлельныС nporpaMMhI постоянно остаВ8..,'lИСЬ в памятИ. TOI.т s(iсk)'бит был очень важен, rdK как Jilпрешi\.'1 ныrpузку проJ1Л!ММ IB памяти. Сеrодня в мире 25110JlЛCiрОIlЫХ мопулей памяти и быстроле'kТRУЮШИХ лИсК08ЫХ tlакОПlпслей !!оliсkубtп ННКОМУ не нужен, и современные я.nра llonpOCTY ип-юр"!руют ero. Если Sliсkубит устанавливается .для KaTaJ10ra. то БОЛЬШИНСТ80 версиИ UNIX ПОJВОЛЯЮТ улалять и nереименовывать ero файлы только в том случае, если пользователь является владельцем кзталоra, влзде.Jтьuем файла или nО!1Ъзователем root. Иметь одно лишь разрешение на записЬ в K3TaJ10r недОстаточно. Такая мера нanравлеН2 на то. tЛ"обы сделать каталоrи "роле Itmp более зашишениыми. rh Системы Sotar;s и HrUX не столь строrи в отношеНИl1 K3Td.Jl0rOB с a:.. установленным Sliсkубитом ПользователЬ. имеюШии право З3ШIСII R Ta-..::oi К3Т.1Лоr, может удалять Iз Hero файлы. лаже еслп он не я [\.....шетс)! ю. владельцем. Биты режимо Девять битов режима ПРС!lН31начены для Toro. qтобы опредеЛl.ПЬ. кто l' какие операции может выполнять над файлом. В UNIX нельзя устанавливать биты прав лоступа от.nельнО д.Ilя кaжD.оro пользователя.. Сушествуют разные Есп..! быть более ТОЧНЬTh!В. то этоrо не ПОЗROляет ДС:.18ТЬ траШ111ионная МОl1е.'1Ь безопасности UNIX. В Sol.ar;s и HPUX есть расширеНI-IЯ. изменяющt\е мноrие .аспекты традиuнонноА модt'ШI. Срелt\ npolt'ro В НИХ подnерживаются списки управлеНliЯ ДOCTYТIOM Теч не менее, .rП1 расшрения здесь не оЛl1СЫВ3ЮТСЯ 90 Частъ 1. ОСНОВЫ одминистрировония 
размер. врс:мя после1[Неrо обрашения. время последней модификации и тип файла. Всю эту информацию можно получить с помощью команды 1. I. ДЛя каждоro файла хранятся таюке сведения о времени последиеrо изменения а1lJибyrов, Т.е. caMoro индексноro дескриmора. Название данноrо атрибута ("ctime") вводит мнОrих люлей в заблуждение. так как они полаrают, ЧТО ЭТО время создания файла. На самом деле в нем хранится время послеmrеrо изменеиия onHoro из атрибутов файла (например. вла.иелеuа. кода режима), но не cro содержимоrо. Рассмотрим пример: , 1. 1 /01n/.h rwxrxrx 1 root Ьiл 85924 Sep 21 1991 IЬл/sh В первом поле задается тип файла и маска режима лоcryпа к нему. Поскольку первый символ  пефис, 3н8чloIт. переп нами обычный файл. Различные типы файлов обозначаются опносимвольными копами (табл. 5.2). Таблица 5.2. Кодировоние типов фоилов В листинrе комонды  т Hn фойnо о...МВО" Создоется УДОЛRется  J( мандой КОмОНДОЙ Обычный файл редакторы, ер и др. nп Каталоr d mkdir nпdlr. rm r Файл байториситироиаи.ноrо с rпkПod nп устройства Файл блокориеJiтироваIOюrо о mknod nп устройства Сохет ooctet(2) nп Именованный канал р шlmod nп СимволичесJC8.Я ссыпха 1 In . nп Следующие девять Сю'fВОЛОВ в ЭТОМ поле  ЭТО три набора битов режи ма. В листинre KOMa.ндhI 15 они прелстзмяются буквами r, w И х (соотвеТСТ8енно чтение, запись и въmолнение) В дан-ном случае илалелеu имеет все праиз дoc:ryпа к файлу, 3 остальные пользователи  только право на чтеНl1С и выполнение. Если бы был установлен бит смены идентификатора пользователя (SUID), то вместо буквы Х, оОозначаюшей право владелЬ1l8 на выполнение. стояла бы буква 5. Если бы был устаномен бlП смены илентификатора rpуппы (SGIDJ, то вместо букны х дЛя rpynпы тоже стояла бы буква 5 Последниi бит режима (право выполнения лля остальных пользователей) nрелставляется буквой с, Korna NЛЯ файла зала н Sliсkубит. Если биты SUID/SGID ЮIlf s(ickyбит установлены. а надлежашии бит 8ьmолнеиия  нет. эти биты предстамяются соответственно символами S и Т, указывающими на наJ1J.Iчие ошибки и иrнорироваНl1е ланны): атрибутов. Далее раположено поле со счеl"lИКОМ ССЫЛОК на файл. В нашем при мере ЗДесь стоит единица. свилетельствvющая о том. ПО /bin/sh  епинетвенное имя, под которым извеcreli ланный фаАЛ. Всякий раз при создании жесткой ссылки на фаил этот счетч-мк Уtlсличииается на единицу 92 Чость 1. ОСНОElЫ ОДМJ1НИСТрИрОВОНИ 
КаЖдЫЙ каталоr имеет минимум lIВe жесткие ссылки: одну из родитс:ль CKoro K8TWIOra и одну из специальноrо файла ': внутри caMoro кaT8J10rR. Символические ссылки в счетчике не yqитьrВaIOrся:. Следуюшие два поля  влaJlелеu 11 rpуппа фallла. В данном случае влsд.ельцем файла является пользователь root. и файл ПРИНадЛежит rpynпе Ып. В дсйствителъности ядро хрвиит эти данные не как строки, а как идентификаторы пользователя и rpуппы. Если символьные версии имен определить невозмоЖНО, в этих полях будут отображаться числа. Такое может случиться, если золись пользователя или rpуппы была удалена из файла /etc/pBsswd или /etc/group соответственно. Не исключено также, что возкикла ошибка в сетевой 8.lIМинистраТИ1\ИОЙ базе данных (см. rлаву 18). Затем следует поле, отображаюшее размер файла в байтах. Рвссмаlpивае мый файл имеет размер 85924 байта, Т.е. почти 84 Кбайт.. Далее указывается дата последнеrо изменения: 27 сентября 1997 r. В последнем поле листинl'3 содержится имя файла: /bln/oh. Для файла устройства комаlШа 10 выдает нескольКо иную информаuню. Нолример: , 1. 1 /d.8v/tty. crwrwrw 1 root daemon 12. О Dec 20 199В Id_v/tty.a В основном ПОЛЯ те же, но Вместо размера в байтах показаИЬJ старший и мЛaJltm!й номера устройства. Имя /dev/ttya относится к первому устройству, управляемому драйвером устройства 12 (В данной системе это драйвер терминала). При ПОИСКе :жестких ссылок может оказаться полезной команда Is -1. отображаюшвя для КlLЖIIоrо файла номер иидексноro дескриnторв. Н е вдаваясь в летали реализации файловой системы, скажем, что этот номер представляет собой индекс таблиuы, в которой перечислены все файлы системы. Жесткие ссылки, указывающие на один и тот же файл, булут иметь один и тот же номер. Система автоматичесКИ отслеживает время изменения. число ссылок и размер файла. С друтой стороны, правв доступа и lШентификаторы ПРИНaJl лежности файла изменяются явным образом с ПОмОШЬЮ команд cllrnod. chown и cl.grp.  Дополнительные флоrи 80 FreeBSD Во FreeBSD и дрyrnх системах, построенных на ядре 4.4BSD, имеется ряд дополннтелъных флаrов, которые MOryт бытъ установлены для файлов. эти флаrn связаны с расширею!Ой семантикой файловой системы. Например, флаr sappnd делает файл дoCl)'ТlНЫМ только для присоединения (это может быть полезно при создании журнальных файлов). А блarодар флаry schg файл становится неизменяемым и неУll8Ляемым. Узнать о наличии этих файлов поможет команда 15 -10: , 1.  10 /k.:rn.l. rX1::X=X 1 root wheel SChg 2019В230 No' 30 23: 51 /kernel "К" обозначает "кило"  метрическую приставку, которой соответствует миожитс.1Ь 1000. В вычислительНОЙ технике- этот символ имеет несколько ИНой смысл: 1 килобайт равен 21 О, или 1024. баАтам. Аиалоrичным образом меrnбвйт  это ие миллион байтов, а 220, или 1048S76, баllтов. r nОвО 5 Фойловоя системО 93 
Упраалятъ флаraми можно с помошью команды сhЛаgs chf1ag8 n08chg /ken.1 18  10 /k.rn_l rKrxrx 1 root wheel  2498230 Nov 30 23:51 fkernel Список доступных флаrов вы можете ПОЛyчJ{ть на страниuе И'НТерактип HOro руководства сhПаgs( 1). КОМОНДО chmod: изменение ПрО8 доступа Код режима доступа к файл можно изменить с помошью команды chmnd. Это право предоставлено только влацелы1У файла и пользователю root. В ранних UNIХсистемах код задавался в виде восьмеричноrо чнсла. В современн-ых версиях пода:ерживается также система мнемонических 060 значений. Первый способ удобнее для системноrо адМинистратора, но при :ЭТОМ можно залать только абсолютное значение режима доступа. А используя мнемонический синтаксис, вы можете сбрасывать и устанавливать отлельные биты режима. Первым apryMemoM комнины chrnod I1ВЛЯется спеuифи-каШ1Я прао доступа. Второй и последуюший apryмeнты  имена файлов, права доступа к которым подлежат изменению. При ИСПОЛЬЗОl:lании посьмеричной нотauии первая цифра относится к владелъuy, нторая  к rpyтme, а третья  к остальным пользовател..... Если необходимо задать биты SUlD/SGID или stiсkyб"т, следует указывать не три, а четыре восьмеричные цифры. Первая ш!фра н ЭТОМ случае будет соответствовать трем спешtaJ1ьныM битам. В табл. 5.] ПОказано восемь возможных комбинаций для каждоrо трехбиroпоrо набора, rде сим полы r. w И х обозначают соответстпеннО чтение. запись и выполнение. т аблица 5.3 КОДЫ пров доcrynо в KOMOI,Ae chmod Восьмеричное ч",оlО Двоичное ЧИ010 Мао:о режимо доступо о 1 2 3 4 000 001 010 011 100 101 110 111 rW rwx Например. команда cllmod 711 rnyprog предостзWlЯСТ W1адельuy все права, а всем Остальным пользователям  только право выполнения.. в табл. 5.4 представлены некоторые примеры мнеМОНllческих спеuифи каций. Если фаЙл, myprog является сценарием интерпретатора shell. ДО!lЖнО быть также зманО прано чтения Ш111 оста..'1ЪИhIX пользователей. Файлы сценариев, :JanycкaeMыe интерпретатором, открываются и чита.ютСII в текстовом виде. Двоичные файлы вьmолняются неПОСРС:ДС1'8еННО ядром, поэтому пля HI1X не НУЖНО змаВJТЬ право чтения. 94 Чость 1. ОСНОВЫ ОДМИНИСТРИРОВОНИЯ 
Таблица 5..4. Примеры мнемоническиХ спеЦИФИkОЦИЙ команды d1mod <J'""U Смысл Владельцу файла доnoлкнтcn:ьно дается. право ВЫI10JUiСНИЯ Владельцу м IpУППС I1peдocтa.вJ1Aeтc.51 I1paвo чтения/записи. ос. тальн.ым 11000000ват  право чтения Все пользователи лишаются прв.ва 8ыпалнения Влацельцу и l1'ynпe дается право чтения/выполнения. )'Cl'aHa.в JDtВ8СТСИ также бlП' SU1D; остальным I1OJlЬ3OВЗтелям запрещен ДOC'I)'II к файлу rpyrrne назначаются такие же прана. что и 8.118.дС11ЬЦУ Спецификация u+w ug'""rw,o""'r иg""'srx, О" СИМВОЛ и ("user") обозначает владеЛbUа файла, симвоЛ 9 ("group") rpyrmy, символ о ("others")  дрyrих пользователей, .си,пюл а ("аН")  всех лолъзователей сразу. Команды chown 11 chgrp: смена владельцев Команда сЬоwn предназначена ДЛjl изменения владелъua файла. а комаНда chgrp  Ш1я изменеНШI rpуппы. которой ПРИНадЛежит файл. ПерВЫМ apryмeнтoM обеих комам ЯВЛjlеТСjl ИМjl HOВOro владельua или новой rpynпы соответственно. Для Toro чтобы выполнять KOMaJ-ШУ chgrp. необходимо либо быть владельцем файла и входить В назначаемую rpуппу. либо быть пользователем root. В большинстве версий команд chO\\oll и chglp прелусмотрсн фЛЗI- R. который задает смену владельца или rpуппы не только C8MOro 1<:аталоra, но и всех ero подкаталоrов и файлов. Например, последовательность kOM(lHn: chmod 755 ........tt сЬоwn R aaatt ""'ПI4tt cbgrp R .tat't' ""'ШiLtt можно использовать ДЛjl конфитурирования началЬRоrо К8Т3ЛОr3 HOBor"O пользователя после котrnpоваНИjl в Hero стандартных файлов сuенариев. Не следует пьrrаться вьmОЛНjlТЬ команду сhowп д.ля файлов, имена которых начинаюТСjl с точки; chown R matt "'1Utt/. * Указанному шаблону поиска соотвеТСТВует также файл matt/.., ВСJlедст вис чеrо команда JlЗменит и влanелъца роднтельскоrо каталоr3. В неkОТОрых системах посредством команды chO\\oll можно изменять владельца и rpуппу файла одновременно. Ее синтаксИС в этом случае такоВ: chOWt\ пользователь: rpynпa фdЙЛ... Например: chcnm R matt: suft' ""'ПI4tt Версии U N 'Х. ОТНОСjlшиеся к семейству System V. часто позволЯЮТ пользователям ОТkазываТЬСjl от владения своими файлами с помощью команды chO\\oll. тоrда как в ВSDсистемах комаl-ЩY сhowп может вьmолнятЬ ТОЛЬКО суперполъзователь. Пра..,.ика показывает, что возмоЖНОСТЬ свободно....о изменеНШI ПРИНадЛежности фаЙлов привоlIИТ к мноroчисленным проблемам. r ла80 5. Файловая системо 95 
в частности к превышению дисковых квот. Лучше нcero, если выполнять эту команду разрешается только пользователю root. Команда umaslc задание стандартных прав доступа Встроенная shеl1команла umask позволяет меняТЬ ст8ндвртный режим доступа к создаваемым файла... Значение umask задается в виде трехразряд HOro восьмеричноro числа, которое соответствует отнимаемым прапам доступв. При сoздjl.нии файла код доступа устанавливается равным разнице между величиной. которую звпрвшиваст СOЗДjl.юшая фвйл проrpa"ма, и значеннем umask. В табл. 5.5 перечислены возможные комбинации битов режима для комвнды umask. Таблица 5.5. Схема КО.DИDОВОНИJ! значения umask Восьмеричное число Двоичное чисr.1O Маска режi-iма дас!уnо 2 3 4 000 001 010 011 100 101 110 111 rwx rw <x < wx w Например, команда wпask 027 лредоставляет все првва владельцу файла, запрешает читать файл rpуппе и не дает никаких прав осталЬНЪfМ полыопа теЛЯМ. По умолчанию значение umask равно, как правило, 022, Т.е. выполнять модифиК&uию фаliлв разрешается тОЛЬко ero владельцу. Не существует способа, которым можно было бы заставить пользователя придерживаться KOHKptTHoro значения umask, так как он В любой момент может изменить ero. Возможно, Оllнако, задание CTBH.aapтHoro значения umask в тех КDПИЯХ файлов .cshrc и .profile, которые предоставляются новым пользователям системы. О стандартных файлах сценариев читайте 8 lлаве 6. 0" 96 Часть 1. Основы одминистрирования 
Подключение новых пользователей ! k4aY W в большинстве СИСТМ подключение НОВЫХ ПОfJъзоваТе.Тlей и ула.чение старых  обычное llе.ТIO_ Операции. С8Я]dнные с ЭТИМ, просты. НО УТОfII- тельны. поэтому мноrие администраторы создают средства автоматизации даНt!оrо процесса. а затем переllоручают реальную работу своему ПО1\ющНН....lo' или оператору. Прзвильное управление t(СТНЫМИ заШIСЯ\Ш j!Н!1jlется заJlоrом беjOlI.lСНО сти системы. Редко используемые учетные записи становятся rлзвнымН мишенями атак хакеров, как и те ззmlСИ. пароль к которым леrко подобрать. Даже если Ш1Я подключения и уllа....lеНю:1 пользователей примеНЯЮТСjl CTaH дартные систеro.'lные >,,,ИЛИТЫ. важно понимать, какие при этом происходят ИзменеНШI R СИСТеме. 6.1. Файл /etc/passwd Файл passwd  ЭТО СПИСОК по'ьзователей. которые 11Jоестны системе В проиессе реrистраuии пользователя система обращаеТСjl к ланному файлу в поисках идеНiИфНl<атора пользователя, а та...."Же с целью проnерки BxollHoro пароля. Каждая строка файла описывает олноrо пользователя и содержит семь полей. разделенных J[80еТОЧИИJ\.f1i: . реrистраuионное имя; . зашифрованный лвроль (если не ислользуется файл скрытых паролсй; см. ниже); идентификатор пользователя: . идентифихвтор rpуппы по умолчвнию; . поле GECOS (лол ное нмя, номер офиса. ра60ЧНЙ и домашний телефоны); . начальный каталоr; r flOI!O 6_ Подключение новых пользовотелей 97 
. реrистраuионнътй интерпретатор команд. Вот лримеры лравильно составленных C'l'JIOK файла /elc/passwd: root: jsg8Y. lp6uWМo: о: о: The System.. х6096. : /: /kan/csh jl: НwехБЬМ8сТЗ/Е: 100: о: Jirn Lane, ЕСТ8З, I : /staff /jl: /Ьiл/sh dot.ty:oPOvdZ/s93ZiY: 101 :20: : /home/korbe1/dotty: /b1n/csh Файл /etc/passwd часто исполъзуетСjl несколькимн системами через СУБД. такую как N IS или N IS+. Более лодробную информаuию на эту тему вы найдете в rлаве 18. Ниже рассматривается назначение отдельных полей файла /etc/pass","d. Реrистрационное ИМЯ Реrиcтpauионные имена (называемые Т'o:lкже пользовательсКИМИ именами) должны бьnъ уникальными. Как правшю. онИ содержа'Т не более восьмн символов.. Если используется база данных NIS или NIS+, длина имени оrpаниченз 8 символами независимо от операuионной системы. Ранее реrистрационные имена моrли состоять только из алфаВИТНОЦllф рОБЫХ си-мволов. В современных система.х допускаются любые символы. кроме двоеточий и символов новой строки. Тем не менее, лучше придерживаться старых правил и ие создавать имена .длиной более 8 символов. Это позволит избежать конфликтов с почтовыми системами н стаРЫ1\'IИ проrpаммrt1\Щ, а также raрантировать, что пользователи cMOIyr Иметь ОДИl-lаковые реrистраци онные имена на любой маШИне. Помните: сеrОДШI у вас одни КОМПЬЮТt:ры. а завтра MOIyr бьrrь дрyrие. Реrистрационные имена MOIyr содержать как строчные, так и ПРОПll(:;lIые буквы Правда, большинство ПОЧТО8ЫХ систем (включая sendmail) nредпола raeT. ЧiО исполъзуются ТОЛЬКО строчные буквы. По этой причине мы рекомендуем избеraтъ употребления прописныХ букв В реmстраuионных именах за исключением случая. Koraa пользователям не нужно работать с электронной почтой. Следует выбирать такие реrистраuиoнные имена, которые можно леn<о запомнить, поэтому имя, состоящее из случайной последовательности бyl\."Е, является не совсем удачным вариантом. Избеrайте также юrичек и ПРОЗRИЩ. Поскольку реrистрauиоtfные имена часто используют 8 адресах электронной почты, полезно установить стандартную процедуру их ФОРМИРОВ8ННjl. ПОЛk зователям должна быть предоставлена RОЗМОЖНОСТЬ зелать оБОСНОRi:!.ННЫf' доrадки о реrистрauионных именах дрyr лруrв. Имена, фамилии, инициалы и сочетания этих элеменr08  БОТ приемлемые варианты для схем форми рования имен. Любая жестко заданнаjl схема в конечном итоrе приводит к пояnлt:IIИIO дубликатов имен или СЛИШКОМ ДЛИННЫХ имен. поэтому иноrда придеТСjl делать исключения. В случае ПОЯ1Шения длинноrо имени можно в фаиле /etc/m8Jl/aliases задать две версии одноro и Toro же имени, по крайней мере, для 'Электронной почты. o Подробно О почтовых пceBdOHUMtJX раСС1t"аЗШIО в парарафе /9.4. Например. схема имеНОRания может быть такой: nерRЫ-Й ИНИШI.Ul н фамилия К8жцоrо сотрудншса. Пользователь Брент Браунинr (Вrеп( BrO\\llliI1 S J. таким образом. превратится в "bbrowning", но девять символов  СЛИШКОМ Во FreeBSD нопускаются имена дЛиной До 16ти символов, а в Red Наl  до 32x. 98 Часть I Основы ОДМИНlo1стрировония 
MHoro. Лучше присвоить этому пользователю реrистрационное имя "Ьrеп(Ь". а "ЬЬrownшg" сделать элементом файла aliases: bbrowninq: brentb o Если в орrанизаЦ1f1f есть rлобальныЙ файл почтовых псевдонимов, то все новые реrистраuионные нмена полжны отличаться от любоrо псеВдонима. указанноro в этом файле. Б противном случае почта бупет доставляться не новому пользователю. а пользователю с таким же псевдонимом. Korдa пользователь работает за несколькими машина"rи, то ре..истраци онные имена должны быть уникальным в ПВУХ аспе....."Тах. Бо первых. необходимо, чтобы имя KOHKpeтHoro пользователя на всех 1\'lашинах было оn.ним I тем же. Это предусматрипается rлot.ВНЫМ образом для удобства C8Moro пользователя и ацМlfнистратора. Бо вторых, конкретное реrистрационное имя нсетда должно относиться к одному и тому же лицу. Ес!ш В сетевой среде одно ИМjl принадлежит ДЕ}')..! разным ПОЛЬЗОR8телям, ЭТО приводит к возникновению слабых мест в системе защиты. Например. если записи SCo((@bolllder и sco((@refuge относятся к разным ПОЛhЗователjlМ, ТО при определенных обстоятельствах оба пользователя MOIyr ЛОЛ)'ЧИl'b 1l0С1)'П к файлам друт друта. Вопросы эквutJалентностu ре uстрацuо,шы.х. имен рассматриваются в пapa рафе 21.6. Опыт также показывает, что дублируюшиеся имена сбивают с толку пользователей по'rrовых систем. Сама почтовая СlIстема различает. кому IfМeHHo прина.длежат имена, однако ее пользователи при отправлении писем чзсто ошибаются адресом. Зашифрованный пароль Пароли хранятся в файле /etc/passwd в зашифрованном 8Ю!е. Если только вы Не производите D ЕS кодирование в уме (в этом случае мы очень хотели бы с вами познакомиться), необходимо либо установить содержимое этоrо поля с помощью команды passwd (или yppasswd. если используется база данных NIS), либо скопировать CтpoJ...'Y. содержащую Зi:1шифроваННЫII пароль, ИЗ друroй учетной записи.. Редактируя файл /e(c/passwd д.I1Я создания мовой учетной запнси. в поле З3.lJЛlфрованноrо пароля поставьте З8еЗДОЧJ...'У (*). Она воспрепятcrвует HecaHK ционированному использованию учетноА записи до установки реальноro пароля. Ни){оrда не оставляйте это поле пустым. иначе в системе защиты возникнет оrpoмная брешь, поскольку для доступа к такой учетной записи пароль не требуется. Б системах. rде применяются станлартн:ые DЕS пароли. длина незашиф pOBaHHoro пароля не может превышать 8 символов. Более длинные пароли допускаются. 1i0 значащими в них будут только первые 8 символов. Зашифрованный пароль будет иметь дЛину 13 СИМ80ЛОВ неЗ<lIШСИМО ОТ длины исходиоro пароля. Б ВJ1rоритме- используется случаиная ДDУХСИМНОЛЬН3J.I "примесь". чтобы одному ИСХОДJIOМУ паролю соответствовало несколько зашифрованных форм. Таким обра.:юм, факт выбора пользоватетlМИ одина КОВЫХ паролей не может быть 8ыявлен путем просмотр8 файла pВSS\\o'd. Не во всех системах пзролн Шl1фр}ЮТСЯ с помошьюа.'Irорю'ма DES. Закодированные пароли МОЖНО копировать TO.l'JbКO межлутеми ко"mьютсраМН, на которых используется олинаковый а!1rори-тм UD1фрования. r лава 6. Подключение новых пользОвателей 99
(ьв] в HPUX сушествует "поверительньrfll режим". при которОМ llопускают,"я пароли любой дЛины. Это лостиraется пyrем MHorOKpaTHoro приro.'lснеЮ-IJI алrоритма DES. по одному разу для кажлоrо 8симnoльноrо cerMeHT3. {f:'\  в Red На! и FreeBSD лоддерживаются ларол.. МО5, которые также MOrvт  t-  иметь произвольную цлину. зашltфрованны такИМ спосоБО""1 парОЛII леrl(О . распознать, так k8K ОНИ имеют дnину 31 СИМВОЛ и вcerna начинаются с лоследовательности "$1$". С ПШlвлением быстродействуюших аппаратных срепств и эффективных алторитмоn шифрования все более очевидной стаНоШПСjl необходим<Х. ть прятать зашифрованные пароли nyreM помещения ИХ в отдельный файл. нсл.оступныA мя всеобшеrо чтения. Зто называется механизмоМ теневых паролей. Полное описание теневых паролей привелено в парarpафе 21.3. В Solaris теневые пароли обязательны. Необходимо МОllИФИЦИРОВU1 ь ф.lfi.'1 теневых паролеА при подключении и отключении пользоватлеА. чтобы он был соrласован с файлом /elc/paS5Wd. Структура файла Sl18dow . Solaris олисанв в параrpафе 6.4.  ИдеНТИфИКQТОр ПОЛЬЗОВQтеля в большинстuе современных систем идентификатор поЛl>301J31I:...'lЯ (UID)  это 32разрядно. иелае число. пиал,зоне от О по 2147483647 НО МЯ обеспечения совмести.мОСПI со старыro.'IИ CCTeMaMI.' мы peKO"CI-Iдем. чтобы значение caMoro старшеrо идентификатора по возмаЖНОСПi НС:: превышало 32767. В теJ...'УШИХ версиях Liпuх максимальное значение L'I D равно 65535. но подобное положение может измениться в будушем. По определению пользователь root имеет идеНТИфНКiПОр О. В большинстве систем естЬ также псевлопользователи Ып (J.шентификаrор 1) Ii dat"tnon (идентификатор 2). Как правило, псеlШоимена помешаютСЯ в начало ф;1ЙЛfl /etc/passwd, и им НaJначаЮТСjl низкие идентификаторы. Чтобы JарезерВJ.lрО вать побольше номеров ДЛЯ неперсонифиuированных пользователей, pel(O менпуем присваивать реЗJ1ЬНЫМ поль.:юватеЛЯi'<1 дентификаторы, haLHfl-lilЯ с номер. 100. Нежеllательно создавать более одной учетной заПИСН с идентифик.;tТо ром О. Может пока.заться улобным иметъ несколько суперПОЛЬЗ0нате..'1ЬСКI-II,,; записеЙ с разными интерпраторами комаид и паротlМИ, но в лейсПшТI....lь ности это создает llополнительные бреши в системе зашиты " ПРИ80Л 1 П к лишним ТРУllНОСТЯМ. Если нсколькнм ПОЛЬЗОlJатетlМ необходнмо .':')ыть anминистраторам'И, пусть они примеНjlЮТ команду sudo. Избетайте nORТopHoro использоваНШI идеН111фикаторов, nв.же ИllеНПlфИ каторов тех пользователей, которые уволились из ортанизвuии и учетные записи которых удалены. Такая мера предосторожности позволит ИJбсл::ать пyrаниuы. если фаA.iIЫ впослепстпИИ будут восстанавливаться из резерШIЫХ копий, rlle пользователи илентифицируются по номерам. 8 не по реrИСТрil uионным и.менам. ИllентиФш(вторы llОЛЖНЫ быть уникальными в предслах осей ОрПlllitЗа цни. Иными словами. неоБХОllИМО, чтобы ЗalIанный идентнфикатор COnТl'T ствовал опному и тому же реrистраuионному имени Я физическому Лlшу на k8Ждой маШИне. Нарушение уникальности I-шенrификnторов приведет к появлению про6лем безопасности в такой системе. как NFS. а также может вызвать замешательство у пользователей. переход.ящих из одной риБO"l'СЙ rpуппы в lIPyryю. o Бол.е оеталЬНоЯ информация об N FS предстамена . ..о.е /7. 1 00 Чость 1 OCOBЫ ОДМИИСТРИР()80НИR 
Трудно соблюдать уникалънос,-ь идtНТИфИkаторов. KorllB rpуппы ко"'ШЬ ютеров апминистрируются разными 'nИЦ8МИ и .паже орraнизаuиями. Это проблема К8_К техническая, так и пQЛИТИЧесnя. Лучшим решением булет создание uентральной базы данных, содержашей ДJllI каЖдОro пользователя свою уникальную записЬ. Мы у себя самостоятельно создали такую базу данных и назвали ее Uniquid. Проше ncero назнвчить хаждой rpуппе в пределах орrанизаиии свой диапазон идеlПИфИкаторов и позволять раcnоря жаться им по своему усмотрению. Проблема не решИ'Тся ПQЛкостыо. но вероятность совпапений значительно уменьшитСЯ. nd Идентификатор rpYnnbl по умолчанию Идентификатор rpуппы (G l О) предстамяет собоlt 16 или 32разрядное цt:лое число со знаkОМ или без. Идентификатор О зарезервирован дnя rpynпы с именем root или wheel. а идентификатор 1 обыч-но принадлежит rpуппе dаеrnол. Имя wheel было анаЛОlOМ учеnlllОЙ заnUСIJ root tJ ОС TOPS20. rрутшы определяются в файле /ete/group. в старых версиях UNIX пользователъ Mor быть членом только одной rpуппы. Для выбора эффекти-в Horo идеНТИфИ'J(атора rpуппы. используемой по умолчанию при входе в систему, брали знвчение пол" GID из файла /etJ:/passwd. Новейш"е версни UNIX позволяют пользователю быть членом До 16 трупп одновременно, лоэтому поле GШ в файле /ete/passwd ннкоrда не используется и. ло сути дела. ЯВIlяется рудиментом старой эПоХИ. Тем не менее, значение ПОШI продолжают включать в СПИСОk rрупп пользователя. В HPUX список rpупп пользователя ИННЦИ3JlИэируется во вреМ51 реrnстрации на ооновании файла /еtсjlоgiлgrоuр, а не /elc/group. Мы рекомендуем сделать файл /etcjlogillgroup символической ссылкой на файл /ete/group, чтобы ОС HPUX вела себя так же, как" прутие системы лри работе n неСКОЛЬkИХ rpуппах. Единственный раз. коrда эффС"'-ТНВlfЫЙ идентификатор учитывается,  при создании ноВЫХ файлов и каТ8ЛоrоВ. Если используеТСjl семантика BSD, новые файлы наследуют значение GID у CBoero родительскоro К8талоrа. В противном случае им назначается текуший эффективный идентификатор rpупп--ы, которой принадлежит мааелец. Изменить этот lUlеmификатор можно с помощью комаНдЫ newgrp. Большинство систем по умолчанию не ИСПОJIЫУЮТ семантиJ...'У BSD, но ее можно активизировать с 1l0МОШЬЮ опции grpld KOMaН1llif mount либо путем установки для нужных каталоrоn бита SGID (2000). Во FreeBSD этот режим всеrда ВJC.11ючен. так KdK R данной системе нет kоманды newgrp_ 111 Поле GECOS'. Поле GECOS Не имеет четко опреnеленноrо синтаксиса. Первонзчально в ВеН Labs ero ИСПОЛЫОВRЛИ ШТЯ реrистраuин ИRформации. необ'l(одимоА прн лередаче лпкCтtIЫХ заааннй из UNIХсистемы мэйнфрейму, работаюшему ЛоД ynравленнем G ECOS. Сейчас осталось одно название. Она дОСТ)'ПЮI ло адресу !\p://ftp.colorado.edujits/ullixjsrc/uniquid.tnr.gz. Korna фирма НопеywеU приобрела комльютернсх лодразде.'1СНИС компании Gепеral Electric, название GECOS поменяли На GCOS. В настоя-шее время испо.1ЬЗУЮ1"СЯ об". варианта написанИJ{. r лово 6 Подключеие новых пользователей 101 
Как правило. это поЛе rсполЬJУЮТ для хранения персональной инфор маuии о каждом пользователе. Некоторые nporpaMMLI )8меняют символ '&' в поле GECOS реrnстраuионныМ именем пользователя, 'по позволяет HeMHoro сократить объем вводимых .ваННЫХ В частности. это относится к проrpаммам liлgеr и sendrnail. Лучше Не ПОЛaJ'аТЪСjl на подобную возможность. n porpaMMa linger интерпретирует разделенные запятыми элементы ПОЛjl G ECOS в слелуюшем порядке: . полное имя (часто используетСjl ТОЛЬКО это поле); номер офиса; рабочий телефон; помашН-ИИ телефон. е помощью коro.'Iа.нды сhfп (passwd .g в Solaris) можно изменять инфор маuию, сопержащуюся R поле G ECOS. Эта команла полезна МЯ ведения и обновления списка телефонвbl'( номеров. но еЮ часто злоупотребляют: пользователь может изменить информauию так, ЧТО она станет нецензурной или некорректной. В нашем факультетском кш.mыотерном центре, КОТОрЫЙ посещают толпы старшекурсников. эту команду пришлось отключить. Начальный каталоr При вхоле R систему пользователь попадает 8 свой начальный каТ3ЛОf. Если на момент реrистрации у пользователя нет начальНоrо каталоrа, ВЫIЮЛИТСjl сообщение Н3ПOllобие "110 home direсюry" (начальный катв.лоr отсутствует). В некоторых системах поnyскается продолжение ПРОllедуры реПfстраuии, и пользователь попадает в корневой К8талоr. Есть системы. R которых ретистраuия без начальноrо каталоra не разрешена. Если начальные каталоrи используются КОJD1екrивно посредством сетевой файловой системы, то в случае проблем с сервером юrи с самой сетью они MOryr оказаться Rедоступными. 0" Реrиcrpацианный интерпретатор команд В качестве реrистраuионноrо интерпретатора, Как правило, задаетСjl Вoume _Ьеll или С shell (соответственно /Ыл/sh или /Ыл/сsh), но в принципс это может быть любая ПРОll>амма. В большинстве систем по }'Молчанию используется иmерпретатор Boume shell, которыА запускается. если COOTвeт ствующсе поле в файле /etc/passwd не указано. К друrим распространенным интерпретаторам относятся ksh (Кот shell). bash (ВОllmе.gaiп shell) л Icsh (усоверщенствованная разновидность С shell). Мы реко.мендуе.ч для всех новых пользователей по у.чо.lчаниlO устанавливать интерпретатор tcsh во мноrих системах ПОЛЬЗ0ватели Maryт измеНИТЬ интерпретатор с помощью команды chsh. В Solaris m'lШЬ суперпользователь имеет право менять интерпретатор друrоrо пользоватеЛjl \С помошью команды passwd e). еслн ТОЛЬКо не используетс" база данных NIS или NIS+. Фаliл /etc/shells содержит список тех интерпретаторов. которые пользователь может выбирать с помощью команды chsh. Пользователь rool может применять 31)' команду без оrpаиичений. Проверьте, чтобы .лементы файла /etc/sbells содержали полные имена команд. 102 Часть I ОСНОВЫ администрирования 
6.2. Файл /etc/master_passwd во FreeBSD Во FreeBSD настояшИМ файлом паролей 'lВляется файл /ete/master.pas5wd. ФаАл /etc/passwd оставлен в пелЯ)( обратной СО8местНМОСТИ, но ОН тенери руется на основании ..rлапноrо" файла и НИJ(оrпа не редактируетСjl напрямую. Изменения. ПРОИЗВОДИМЫС в файле /etc/master.passwd с поro.ЮЩЬЮ команды "ipw, passwd. сЬСн. chsh или chpass. аВТО1\'18тически отражаются на файле /ete/passwd. rлавный файл создается с ломошью утилиты pwdmkdb_ Файл master.passwd выступает в роли TCHCBoro фаила паролей R T01\'1 смысле. что он доступен для llросмотра ТОЛЬКО ПОJlьзовате.J1Ю root (8 файле /etc/passwd не содеРЖИТСjl никаких парапей). Б нем И1\'lеется три пополtlИ тельных поля: класс релtстраuии; время изменения паром: срок пеЙСТВИjl учеТНоА залНС1-1. Поле класса реПlстраUИИ (если ОН задан) содержит ссылку на запись 8 файле /еtc/lоgiл.еолr. Клвсс реrистрации олредел"ет пользовательские квоты нв использование ресурсов и друrие пара метры реrистрации (см. следуюший параrpаф). Второе поле необходнмо для реалязации механизма. известноrо как устаревание lIаролеи. Это поле содержит BpeMjl (ЧlfСJlО секунп. прошедших от началв эпохи UNIX  1 января 1970 r.), ло истечении Koтoporo пользователь полжен будет изменить свой пароль. Если оставить поле nyстым, пароль никоrда не устареет. Нам не очень нравится идея }старевания паролеЙ (см. ruoраrpаф 21_3)_ В третьем поле хранится дата (в том же формате, что и 8 предыдущем случае), после которой учетная запись пользователя станет недействительноА и он не сможет зареrистрироваТЬСjl 8 системе. если только администратор не сбросит это поле. Поле также можно оставить пустым. чтобы учетнаjl запись НИkоrда не устарела. 6.3. Файл /etc/login.conf во FreeBSD Файл /еtе/lоgiл во FreeBSD содержит параметры учетных записеи llл" пользователей и rpупп. Ero формат напоминает формат файлов tепnсар и printcap. Файл состоит из разделенных дnоетОЧ:ШIМИ пар ключ/значение 'и булевых флаroв. Коrда пользователь реrистрируется в системе, поле класса рслtстраuии в файле /ete/master.pas5wd олределяет, какую зались из файла /еtс/lоgiл_солr следует применить. Еслн класс не был задан, подразrмевается класс default. Запись в файле /еtсflogiп.сопr может задавать следуюшие параметры: kВOТЫ ресурсов (маkСИМалъный размер процесса, ЧИСJlО открытых файлов и т.д.); реrиcrpационные оrpаничения (KOI.na можно RХОПИТЬ 8 систему и какова дЛительность сеанса); . стандартные значеНИjl переменны:х срепы; стандартные путевые имена (переменные РАТ Н , MANPAlli и др.); местоположение файла. солержашеrо сообшеНI!е лия; параметры доступа к узлам и терминалам: стандартное значение umask: r лова 6. Подключение новых пользователеи 103 
реrистраuионные пзраметры1 (минимальная wшна rшроля, срок устарева- ния пареля). В С.'Iедуюше примере ДЛЯ CHCTeMHoro ацминистрвтора переопредеJ1ЯСТСЯ ряд стандартных пар8метроn: sysadmJj: , : i9лоrеnоlО9iп: \ : requirehome@:\ : maxproc"u:'11 imi t.ed: \ : ореflеs"uлlmi ted: : tcdefaul t: Пользоиателяro.'I, имеЮЩII1 к:шсс реrистраШll1 sysacimirJ, разрешается реrистрироnаться. паже если их ",ыя упоt.lянуто n файле /\'ar/rull/nologin Они MOryт входить n систему, даже если У них нет Н8чальноrо K8T8J10ra (это ПОЗ80ляет релtСТрИРОватъся. коrда сетевая файловая система не работает). Пользователи класса 5 ysaciml n MOryт запускать любое ЧИСЛО проuессоn и открывать произвольное количестВО файлов.. В последней страке подключа eтcjl содержимое записи defaul t. 6.4. Файл fetcfshadow в Solaris и Red Hat ИСПОЛЪЗ0вание тeHeвoro фаАла паролей n Solaris ЯВШlется обjlзате.'lЬНЫf\l. В Red НЗI .3.JИI работы с ним требуется наличне пакета slladow. Файл /etc/shadow доступен для чтения только суперпользовате.I1Ю и препнnзначен Ш1Я хранения заuпlфрованныx "аралей попальше от любопыт HblX rлаз В нем также содержится учетная информация, которая недоступна n файле /ttc/passwd. в отличие от файла mas!er.passwd по FreeBSD. файл shadow не включает n себjl фаАл passwd. и последн-иА не reнерируется аВТО!\.1атически при изменении TeHeBoro фаЙ11а. Оба файла необходимо сопровождать неза8ИСИМО друт от дрyrз. Подобно файлу /etc/passwd. файл /etc/shadow содержит одну СТРО"-'У I!ЛВ каждоrо ПОЛЬЗ0ватеШI. Каждая строка состоит из 9 полей, разделеННЫ1< ..1nоеТОЧJ1J1МИ: реrш:траuионное имя; .Jашифрованныи пароль; вата последнеrо измененИЯ паро.1lЯ: lItнимаJIЬНО': число дней меЖJlУ IIЗМlIеI-lI1ЯМИ пароля: MaKCIIM8J1bHOe число .з.ней между изменеНI1ЯМИ пароля: число дней. которое должно остаться до истечеliШI срока деlkТ811Я пароля. чтобы бь1ЛО выдано прeдynрежденне: период ОТСУТСТИИjl активности, после KOToporo Уl.lеТllilЯ записЬ бупет отменена; ерш.: деистuия учетнои з.-IIlИL'II; флаrи. Лишь псрвы два поля полжны быть неll}СТЫМИ. ПО.'1я пат lад.lJ(l1''Я n внде LПlсла дliей (не секунд), ПрОШСДШII'< с 1 ro ЯНRаря 1970 r. Это ОТЛИЧi.lется Имеется жесткО(: оrpаничсние на ЧИС.'10 Ilроцессов И 01 крыты,< файлов. с каторыш \.южет работать JLдpo, но искусственно это orpaHl-I'Jение задать t-IС.1ЪJЯ 104 ЧОСТЬ 1. Основы админi'lСТррОВОНИЯ 
от стан.партноrо способа вычисления времени н u 'J IХсистемах. К счастью, задавать эти поля можно с помошью комАнДЫ usennod. Типичная запись вытляllИТ так: mi1lert: ir.NO. V1\sclWn. : 11031: : 180: 14: : 18621: Вот более подроби описан-ие каЖдОro поля: Реrnстраuионное имя берется из файла /etc/passwd. Оно СFlязывает запнси в фаR;шх passwd и shadow. Зашифрованный пароль идентичен тому. }\OTopыl ранее хранился н ФаЙlе /etc/passwd. Поле последнеrо нзменения содержит вре,""я. Korna пользоuзтель пос,ед ниА раз менял свой пвроль. Это поле оБЫ1IНО JаПО;IНЯе.тся ПрОI"рам\юЙ /ыл/asswd.. в четвертом поле задается число пней, которые должны nponnl. пржде чем пользователь сможет снова J.iзменить параль Эта ВО1МОЖНОСТЬ кажется нам бесполезной и даже опасно""'. если в течение указанноro времени будет обнаружено нарушение в систе\.fе ЗDШИТЫ. Поэтому "'Ы не рекомендуем устанавливать данное поле . В пятом поле задано максимальное число днеЙ между д-вумя изменеН"'ЯНf пвраля. Это пает возможность 8llминистраторам заставлять пользователем МеНЯТЬ свои пароли (СМ. параrраф 21.3). В 141nШ' максимальное время жизни пароля определяется суммой JН3ЧСНllft JliH.rHoro 11 седьмоrо полеЙ. . В шестом поле З811SНО количество пне}\. ОСТ8ЮШИХСЯ по момента устареязния параля, t.:orдa nporpSMM8 logi" .должна начать предупреждать пользователя о rpядушем изменениИ пароля. В Solaris и Lil1ux седьмое поле интерпретируется поразНОМУ. Solaris поступает так: ес.,ilИ пользователь не реrистрировался в системе в течение ух:азанноrо времени. ero учетная 13.пись будет отключена. Неисполъзуемые учетные записи являются любимой ""fИшсньЮ xaKe ров, а данное поле пает 8llминистратору 80ЗМОЖНОСТЬ своевременна предотврашать атаЮi. Оно. ОПНако. работает TO;lbKO R ТО\' случае. Korп.a ИМЯ пользователя можно наЙТI1 в фаf1Ле /var /аdшflustlOg. Пользователи, которые никоrда Ht реrИСтрl1рОВались 8 системе, не MOryт бьrrь отклюЧI':НЫ аНтоМатичес...."И. ОписаllНhll1 мехаНIПМ не очень хорошо работает в сетевой среде. поскольку на к3ж.Jloм "ОМПI.ютере имеетсЯ свой файл lastlog. В Lil1ux все осуществляется совершенно 11O.J.PyroMY. Данное поле залает, сколько .дней после устаревзния паралл необ1(ОдIOoЮ ждать, прежде чем отменить учетную запись. Зто СО8ершенн(\ неоправданное изменение, так как механизм. испопьзуемыЙ я Solaris. намното удобнее. Ситуация усyryбляется также тем. что n .дОКУ\fснтаШflf к Liлuх наJнаLlсние поля описано дополыю расплывчато и нечетко. Нам пришлось обраnlТЬСЯ к исходНым текСТ'3М СlIстеМЫ. чтобы понять. как она работает. . В восьмом поле задана дата. Korna учетl-1аи J3П1iСЬ б}дет отменена. После этоrо пользователи не CMOryr зпрепtстрироnаться R СИ{. TC\.fe. пока 8.lIМинистратор Не сбросит панное попе. Ес.'lИ поле остнмено пусты!. учетная запись всеrда будет 3I<1"ИВНОЙ. Девsпое поле в настоящее время всеrда остается п"сты;; оно зарезерпи ровано на БУД}1Uее. 105 r 110BO 6. Подкnючеие новы)( пользовотелей 
Теперь, коrда мы выяснили назначение полей. павайте вернемся к рассмотренному выше примеру: ml.llerr.: inNO. V,AsclWn. : 11031: : 180: Н:: 18621: в этой записи rоворится о том. что пользовзте'IЬ millert nослеПНI1П ра] менял свой лароль 14ro марта 2000 r. Следуюшиl1 раз Ilароль должен быть изменен через 180 дней. За две недели до этоrо пользователь начнет получать предупреждения о необходимости смены пароля Учетная запись деистви телъна до )\ro декабря 200\ r 6.5. Файл /etc/group Файл /ele/group содержит имена UNIХrpулп и списки членов каждом rpуппы. Например: wheel:'" :0: root, evi, 9arth, scot t, trent csstaff:*": }O:lloyd,evl. student:": 200 :dotty Каждая строка представляет одну rpynпу и содержит четыре поля: . имя rpYnnbI: . зашифрованный параль (устарепшее, редко использvемое поле). . ИJ1ентифи:катор rpуппы: список 'DIeHOB (разделяются запятыми). Как и в файле /etc/passwd. поля разделяются двоеточиями. В некоторых системах мина имени rpуппы не .должна превышать 8 символов. Несмотря на наличие поля пароля (с помоШьЮ KOToporo пользоиатели MOryr присое пиниться к rpуппе, выполнив команду newgrp), последниЙ задается редко. В большинстве случаев в это поле вводится звездоч-ка (.). но можно оставИТЬ ero пустым Будьте аккуратны. чтобы случайно не вставить пробелы между именамИ пользователей rpуппы. В большинстве систем любая ннформаuия после nepBoro пробела иrнорируется. Имена rpyпп и их Идентификаторы должны быть Сдliнаковыми на всех компьютерах, получаюших совместный дocтyn к файлам посредстпом N FS. Этоrо трупно постичь в reтероrеннои срепе, поскалы,]' разные операщюнные системы используют разные идентификаторы шIя одних и тех же rpупп. Мы считаем, что по умолчанию пользователь не .должен реrnстрировзться как eH системной rpynпы. Это также касается rpупп, создаваемых поставш" ками, в частности stаП. Чтобы избежать конфликтов, связанных с идентификаторами стандартных rpупn, рекомеНдУем выбирать идеитификаторы локальных rpупп. начиная с номера 100 иля последнеrо номера стандартной rpуппы. в завиСИмости от Toro, какой из них больше. 6.6. Подключение пользовcrrелей Прежде чем создавать учетную запись ДJlЯ ItoBOro ПОЛЬ10вателя. краЙне важно потребовать от Hero попписать соrлашение о правилах работы пользоиателей. (Как'?' У вас нет тaKoro соrлашения? Немедленно ПрО'-IПlте параrpаф 27.1. чтобы узнать, .nnя чсrо ну'..кно подобное соrлашение и как el'o составлять.) У пользователей нет особых причин ПOllписывать соrлашение. поэтому в ваших ннтереса.'( убедить их сделать это. После Toro ка" учетная :sаПИСЬ 106 ЧОСТI:. 1, ОСНОВЫ ОАМJ..1Н1СТрJ..1рШЮНИR 
создана. добиться ПОдПИСИ может оказаться пр06лематично. Так что лучше получить ее заранее. Процесс подключения HOnOro пользователя СОСТОИТ из целоrа ряда этапов. Три из них определяются системнымИ требованиями. два связаны с форМl1роваtmем полыовательскоfil срены. а еше несколькО Mor)'T понадобиться дня uелей системноro администрирования. Обязательные этапы: . отреда...'Тировать файлы passwd и shadow с uелъю со:шания учетной записи пользователя: установить исходный пароль: соЗдать НачалЬный каталш. .nля Honoro пользователя. ПОЛЬ30fJamелыжuе этапы: . скоппроизть В начальный кзталоr пользователя стаtlлартнЫС конфиryра uионные сценарии: установить катзлоr электрОННОЙ почты и создать почтовые псевдонимы. AdMUHucmpamUfJHble этапы: . .добавить запись HOBora пользователя в файл /etc/group; установить писковые квоты; провернть правИJТЪНОСТЬ создания учетной lаписи Кв.ждьrй постзвшlfК ОС предоставляет свои средства .nля аВ'ТоматиЗ8UИИ этоro "роиесса. НО ниже мы подробно опишем все дейСТВIfЯ так, как если бы их пришлось выпонять вручную. Все эти операции необходимо выполнять справами сynерпользователя, зареrИСТРИРОD8ВШИСЬ в системе ПОД именем root илJ.l' воспользовавшись проrpаммой sudo.   Редактирование файлов passwd и shadow Чтобы безопасно ре.nактировать файл passwd, выполните команду vipw, которая запустит текстоВЫй репактор с копией файла. Ло умолчанию выбран редактор vi. но эту установку можно изменить, задав новое значение переменноfil среды EDITOR. Существование временной копии файла служит cвoero рода блокировкой: команда vipw позволяет толЬко одному пользоиателю редактировать файл pass\\'d. Korдa пользователь выходит из редактора. команда vipw заменяет нсходный ф31t.1'J passwd оТрe.nа....'ТироВанной копией. В Solaris команда '.ipw спрашивает. хотите ли ВЫ отредактировать файл shadow после окончания работы с файлом passwd. Необхолимо ответитЬ "да". Во FreeBSD KOMat1дa vipw редактирvе-т файл п.аstеr.раss\\'d, а не /etc/passwd. После внесенИЯ изменений она вызывает утилиту pwdnlkdb. которая создает файл passwd .. лие версни файла п.аstеr.рasswd (oJIНa содержит зашифрованные пароли и доступна только пользователю root. а дрyraя не содержит паралей и .дocтyrтнa .nля всеобшеro обозрения). Например, .nля созпаНJ1Я учетной записи tyler необходимо добавить в файл /etc/passwd следуюшую строку: L.уlеr;*:lОЗ:lОО=7уlеr Stevens. ЕСЕЕ З27. х1919. :/home/staff/tyler: /bJ..n/csh Обратите Rнltмаllие на отсутствие ззшнфроваllНОro пароля. Если бы в системе ИСПОЛЬЗОВaJiСfl файл shadow, мы бы запиСали R соответствую шее поле символ 'х' и доБЗВIIЛИ В фай..'1 /etc/shadow такую строку: уlеr:''':==:::lВ621: r лова 6 Подv.лючение новы): ПОЛЬЗ0вотелеи 107 
В этой строке rоворится о ТОМ. что у пользователя 1)"ler нет зашифро BaHHoro парОЛJ1, 8 учетная запись деnСТRlIтельна по 31 ro декабря 2001 ..... Задание ио:одноrо пароля СУПСРПОЛЬ30В8ТeJТb может IIзмешпь ппроль любоrо пользователя с ПОМО шью следующей комаlillЫ: t p..."d пОЛЬ!JОВ",Тел. o Команда passwd запросит ноныА парОJ1Ь и потребует ПОRТОрИТЬ cro. Если введен короткий паролъ, состояший только ИЗ строчных букв, команда pasSl\'d попросит задать чтоtrnбуnъ nодлиннес. Система FreeBSD может принять тикой параль, если он введен три раза ПО11Ряд, но в большинстве дрyrих систем требуется придумать паро.'lЬ. состоящий из смеси строчных и прописных букв и имеюший длину около 8 симвОЛов. Если первая попытка не понравится комаlillе p8sswd. она, возможно, сообшит о том. какие праОИЛd lIейстnyют в КОН1<ретIЮЙ реализаuии UNIX. Правила выбора nаролв;' nрив.дены в nарйlрафе 2/.3. Иноrll8 полъзоваТeJ1ПМ требуется помошь при выборе параля. Мы рскомен.пуем заменить системный вариант команды passwd обновлен но"" версией, которая проверяет вводимые пароли на вероятность взлома. Т a!Gtx версий сущсстuует несколько. Мы пре.nлочитаем утилиту npasswd. ДОСТУПНУIO по слеlIУlOшему адресу: httр://www.Ulсxas.еdU/сс/uл iх/sоfiwаrе/лраsswd Проrpаммв passwd, имеющаяся в Red Hat. проверяет. не ВХQJIИТ ли пароль в систмнblЙ словарь. Это не столь надежная проверка. как тз. которую выполняет проrpaмма npaS5wd, но все же она пОЛезна. Никоrда не оставляйте бсз пароля новую учетную запись или З3ПН'Сh С .постynом к ШfТерпрtТ3тору комаl-Ш   Создание начальноro католоrа КажДЫЙ вновь создавасмый каталоr нзначально ПРИНадЛежит ПО:JЬ308а телю root. поэтому необходимо измеНИТЬ СТО влап-ельиа и rpуппу с помощыо команд chown и chgrp. Следуюwая rpуппа КОМВI-Ш СОЗlL8СТ началъны  каталоr для пользователя tyler. mkdir /home/Ilta.f'f'/tylBr сЬоwn tyler Ihome/Bta.f':f/tyler chqrp .t_f'f' /home/at.f'f'/tyler chznod 700 /home/st&f'f'/tyler Копировоние конфиryрационных фойлов Работу некоторых команд 11 УТИJlИТ можно настроить, поместив фа илы конфпryраuии 8 CBO наЧ8.ifЫ-IЫЙ каталоr. Имена таких файлов транИUIIОНIIО начинаются с точки. поэтому "oMatlдa 15 не включает их в листинrи катRJю....ОП. если только не указана аппия a. Некоторые наиболее часто встречаюшuе-ся файлы лсречислены в табл. 6.1. Если У вас еще нет набора универса.тrьных файлов конфиryрации, создайте "" 8 каталоre /usr/local/llb/skel с ПоIOIUЬЮ TeкcТOBOro реlIаl<Тора. Лучше ocero воспользоваться заrотовками, оставленными разработчиками СИС1СМЫ в к..талоre /etc/skel (/usr/share/skel 80 FreeBSD). если он есть. 108 Часть 1. OCHOB"I ОДМИНloo1стрирОA-Q...Иfl 
Таб.nицо 6.1. Типичные фои.nы конфиryроции  Утилита Имя Ф ойло ""Ь/IcllЬ .logjn .амс .I°lout .Ь .рroШе >1 .exrc ....... .emaCl.....Pro m.Ux .mailrc 110 .пеwис XnIb .Xdefaulu 118т .xlnitrc Типичное примвнение Установка типа tcр.tИН8J1В Установка перемснных среды Установка опиий bIff и шеза Установка псеuокимов команд YcтlНOaxa лером.иной среды РАТН Установка значс:ИИJI uшuk Установка строки при.rлaшения, формирование списка предыстории Вывод напоминаний Очистх.а экрана Aн8ll0r файлоа .lовJп и .csbre JLЛJI Воит. shell Установка опинА puaктopa у1 Ycra.нOBKa ОnUИЙ редактора ешаа ФункционалЬНИJI. прнвязка КJl.8.lIНШ редактора t:!mac.s ЗвдlUi.ИС персонan.ыtых почтовых Dct.8дон.ИМQВ Установка параме1рОВ лочтовоro I<lIнента ЗадаНие CmtClCa тслсконференuий Зuaнме параметров конфи.rypauии XII: шрифты, цвета И T..D.. Задание нач8JtЬКОЙ среды XII Убедитссь, '!то файлы конфиryрации содержат стандартные значения, приемлемые для непощотовленньrх пользователей. Не пытsйтесь, олнако, "защитить" поль-зователей от операuионной CJ1CтeMbl. Такие псевдонимы. как .а11.аз d1.r 15 l o.11o.s rm cm L 0.11.85 ер ер i считаются луриым Тоном. В ката.поrе Jetc MOryт содержаться системные конфиryрационные файлы, обрабатываемые раньше пользовательских. Например, 80 все>; наших тестовых системах интерлретатор ВоUПlе shcll читал файл /etc/pror.le, лрежпе чем начинать обрабатывать файл  /_pror.le. Последовательность КОМSI-Ш инстa..тmядии конфmyрационных файлов nля HOBoro ПО.:Jьзователя tyler будет выrЛR.nеть следуюшим образом: ер /uar/local/lib/.kel/. [azAZ]. /tyl8:r chmod 644 /tyl.r/. [..aAZ]' chown ty18r .../tyler/. [az.AZ] '* chQJ:P .ta:f:f .../tyler/. [azAZ]. Отметим, что нель-зя использовать команду chown ty18r .../ty18r/. '* иначе поль-зователь tyler станет владельце... не только своих собственных файлов, НО также РOllительскоrо ката.поra ".." (/hоп.е/S!JIП). 3;0 очень распространенная и опасная ошибка СИСТС:М'Ноrо администратора Назначение каталоrа для электронной почты Пользователи предпочитают получать электронную почту на К8КОЙТО одной машине. Это часто реализуется nyreM ЛnnИRJ1ения lаписи в файл r ЛОВО 6. Подключение новых пользовотелей 109 
rлобмънъrx псевдонимов /etc/mail/aliases или В пользовательскую базу данных системы sendmail. Информаuия об электронной почте приподится в rлаве 19, а способы орrанизаuии почтовых каталоrоВ рассматриваются начиная с пара'l'афа 19.3. Редактирование файла fetcfgroup Продолжая llобаалеиие HOBOro пользователя l)'ler. необходимо добавить ero реmстрauионное имя в список пользователей rpуппы С номером 100, поскольку именно эту rpyтmy мы назначили ему по умолчанию В файле /etc/passwd. Cтporo roворя, пользователь tyler бупет R rруппе номер 100 независимо от Toro, указан он 13 файле /etc/group или нет, потому ЧТО это членство уже предоставлено ему блаrодtlря записи файла passwd. Тем не менее. указанную информацию желательно впести В фал /etc/gronp. 'Чтобы можно было Bcer.na узнать, какие поль-зоватeJfИ к каким rpynnaM относятся-. Предположим. что нам нужно также ВЮJюч-ить пользователя tyler в rруппу wbeel. В некоторых системах только члены этой rpYnnbl MOryт пыполнять команду su. В этом случае следует внести такие изменения в файл /etc/group: wheel:": о: root,.ev1.,.qarth,scot-t, t-rent, tyler csstaff::lOO:lloyd,evi,tyler Установка дисковых квот Если В системе заданы дисковые квоты, их необходимо устанаВJlИШlТЬ .nля каждой новой учетной записи с помошъю команды edquota. Эту команду МОЖНО использовать Ш1я интерактивноro задания квот, но чаше вcero удобнее назначать новому пользователю такие же квоты, как я у сушествуюших пользователей. например: .f edquota. p nольsова7'ель  прототип новый  пользователь Такой метод ИсПОЛЪЗ0ВЗНИЯ команды edquota особенно полезен В сценариях adduser. Поскольку в Н8llЛf дни жесткие диски относительно дешевы. мы не ЯR11яемся сторонниками ДИСКОВЫХ КВОТ. ОЮf создают больше проблем, чем решают. и вызывают дополнительную roловную боль у администраторов. MHOro лет назад, коrда МЫ ИСПОЛЬЗОВали дисковые квоты. нам пришлось создать несколько учетных записей только .nля тoro, чтобы otrn служили прототипаm пользовательских КВОТ. Проверка HOBoro реrистрацнонноrо имени Чтобы проверить, правильно ЛИ сформирована новая учетная запись, сначала ВЫЙдИте из системы. а затем зареrистрируйтесь как НОВЫЙ пользо вателъ и выполните следуюшие команны: " pwd ,- проерка начальноrо каталоrа ,,/ " 18 la ,... npOBepl':a файлов I(онфиrураиии ПОЛЬЭОИdте.ля/rруппы .. / 111Я ядра в принципс не имеет знзчення. 'что содержится в ф<:lйлах /etc/passwd и /etc/group. Оно оперирует только идентификаторами пользователя J.I rpynпы. В файлах passwd и group хранится учетная иНФОРМ3LIИЯ. используемая высокоуровневым проrpaммным обеспечени ем. например проrpвммой login. Подробности процесса реrистраuии приведены R параr рафе 7.8. 110 Чость 1. ОСНОВЫ одминистрировония 
o Администратор должен сообшить новым пользователям об их репtстра ЦИОННЫХ именах и ИСХОДНЫХ паролях. Это также удобный момент для тoro, чтобы рассказать новичкам о ТОМ. какие традиuии существуют в данной орrанизации и какие есть дополнительные документы. реrламентируюшие работу пользователей. Если в орraнизаuии установлен порядок. соrласно которому пользователи должны подписать rrnсьменный контракт, ТО не забудьте выполнИТЬ эту процедуру ПО СОЗдания учеrnой записи. Это предотвратит возможные недоразумения и укрепит правовую базу санкuий I которые впоследствии anминистратору. ВОЗМОЖНО, придется применять. Подробнее о письменных контрактах С пОЛЬ30ВDтеля.ми рассказывается в параzрафе 27.1. Кроме Toro, не забудьте напомнИТЬ НОВЫМ пользователям о необходимо сти немедлениой заменЫ пвралей. 6.7. Удаление пользователей Коrда пользователь покидает орrанизauию. ero учетная запись и файлы должны быть удалены из системы. Эта проиедура охватывает удаление всеХ ссьuюк на реrистрauионное имя. которые были введены вручную или с ломошъю сценария addw;er. Иными словами. необходимо проделать следующее: сделать дисковую квоту удаляемоro пользователя (если таковые ИСПОЛIr- зуются) равной нулю; удалить пользователя из локальных баз данных и телефонных списков; . удалить пользовательские псеадОНИМbl из файла aliases , задать перена правлен.ие поступаюших ему сообшений; . стереть пользовательские задания из croпtabфаЙJ13 и из Qtrереди команды .at; уничтожить пользовательские процессы. которые еше выполняются; уничтож-итъ все ПРИН8lUJежащие пользователю временные файлы в каталоrах /var /tmp и /tmp; . удалить записи лользова'Л'Ля из файла passwd и group; . удалить начальный каталоf пользователя; удалить почтовый каталоr пользователя. Перед тем как уничтожить начальный каталоr пользоnзтеля, необходимо nepeMecrnть из нето Б llрyrие каталоrи все файлы, которые нужны остальным пользователям. Поскольку не 8cerдa можно с уверенностью сказать. какие файлы понаа.обятся. а какие  нет, лучше скопировать пользовательские начальный и почтопъlЙ каталоrи на матнитную ленту. После удаления пользователя убедитесь, что в системе не осталось файлов с ero идентификатором. Проще 8cero сделать ЭТО с помощью команды quot. Например. чтобы узнать. каким пользователям ПрИН8lUJежат фаЙЛЪ1 в каталоre fhome. задайте такую команду: . qoot /hOlll8 /dеv/rdsk/сОtЗdОs6 : 156254 millert 34520 hilbert 5512 'l1б1 без НОб9 r лова 6. Подключение новых попьзовотелей 111 
Эта команда не ТОЛЬКО сообшает ЧИСЛО п.ИСii:ОВЫХ блоков, ЗАНЯТЫ), файлами К8ждоrо пользователя, но тС\кже rоварит, что llБа идентификатора не обнаружены в файле letc/pssswd Чтобы YJHaTb точный путь к этим файлам, ВЫПОЛНИ7е следующую команду: :find x /home nou.er print Она будет выполняться rорз1.llО дольше, чем команда quot. Команда чоо. работает только с разделаМ1"l локальноrо JПfС1С8. Она не мож.ет анализировать фаА.YJовые системы, смонтированные через NFS. 6.8. Отключение реrистрационных имен Иноrда нужно временно отключить реrистраLIионное имя ПОЛЬЗ0ввтеЛR. До вторжения сетей в мир UNrx ностаточно было просто поставить звездочк) перед зашифрованным паролем, чтобы полъзоваtt.11Ь не cMor войти в систе'-f)' Тем не менее, он все равно имел возможность 8хола в систем)' по сети без указания пароля. поэтому данная метОllиха перестала быть полезной. Сеrо.дня мы заменяем командный интерпретатор пользовате:IЯ проrpа мой, которая ВЫдает сообшение. поясняюшее. почему данное реrнстраuион ное имя отключено, и сonержащее инструкuии по исправлению ситуаuии Такой псевдоинтерпретsтор не полжен быть указан R файле letc/shells. Мноrnе .аемоны, преllостаВЛJrЮшие нереrистраuнонныЙ доступ к системе (например, npd), проверяют, уломянут ли интерrтpетатор пользователя в файле lelc/shells; ес!ш он там не указан, вхон в систему будет звпрешен (именно это Ha и требуется). Прама, есть олна проблема. По умолчанию проrpaмма sепdmвll H доставляет почту тем пользователям, интерпретаторы которых не указаны 8 файле letc/shells. Чтобы изменить эту установку, добавьте в файл lelc/sl"lls ложный интерпретатор с именем ISENDМAII./A""/SHELL 6.9. Системные утилиты управления учетными записями В Solaris, Н р. UX н Red Hat имеетсЯ схожий набор \тилит, помоrаЮЩI.I" автоматизировать ПрОLItсс создания, удаления и \юдификаШfl1 rpупп J.t пользоввтельски'l( учетных записей. Во FreeBSD ИСПОfJьз)'r:тся дрyrОЙ набор утилит. Команда useradd добавляет записи о пользователях в фйл pass\!"d (и в файл shadow, если он есть). Она имеет Plнтерфейс командной строки и леп<о запускается вручную или из сцеFlария adduser. Команда usеnпоd изменяет записи фаllла pa..wd для существуюших пользователей Команда userdel удаляет полъзователя из системы, прИ необходимосПl уничтожая и ero начальный каталоr. Команды groupadd, groupnlOd и groupdel ВЫПОЛНЯЮТ аналОПfЧные действия по отношению к файлу jetcjgroup. ХОТЯ эТИ I<'OMaНlIbt Уllобны, в большинстве случаеь их недостаточно, чтобы реализовать все пра-вила ynраНlIС:НИЯ системой. Мы рекомендуем написать собстВt:'нные сuенарии adduser Jf П1шser. ДлJl этоrо хорошо nOдXQД1.fТ RЗЫК Perl. Вот как \южно нобавить в систе",,)' HOHoro nО:JьзоnaтеfJЯ hllber1 " u.8radd hilbert Эта команда создает 8 файле jetcjpasswd слеДУЮlI1)'1O зilпись: j-,ilbert: *: 1 05: 20: : /home/t"iilbfHt: /bin/sh 112 Чость. I ОСНОВ"'I ОДМt.1нистрирО80НИЯ 
Обрвтите внимание на то, Ч1'0 поле пареля содержит зве:щочку. Твким образом, доступ к учетной записи будет закрыт до тех пор, пока не будет иазнвчен реальный парQl\Ь, "" Команда useradd имеет ряд полезных apryмeHToB. В следующем примере мы указываем, Ч1'0 основной rpуппой пользователя bIlbert ямяется rруппв faculty; кроме Toro, он входит в rpynny famous. Помимо этоro, мы задаем АРУТОЙ начальнЫй каталоr и просим команду useradd со:щвть ero, если он еше не существует, * u..r_dd. c "D8Vid ВilЬ8rt П d /home/lD&th/bilbert 9 t_culty G famoU8 ID . /b1n/tc8b h1lbert в результате в файле /ete/paвswd появится такая записЬ: hilb_rt:.: 105: 30: David Hilbert: /horne/math/hilbert: /bln/tcsh  Кроме Toro, пользователь bIlbert будет добавлен в rpулпы faculty и 'атош в файле /etc/group; появится также каталоr /11ome/math/11llbert, заполненный нв основании содержимоro квталоra /etc/.kel. в 501ari. (и в Red На!, если в системе ИСПQl\ьзуется файл shadow) запись о ПQl\ЬЗОВ8теле bllbert будет ломешенв в фвйл /elc/.badow. Узнать текущие установки вы можете, выполния команду useradd -о. В HPUX и Red На! звдать нвчальные пвраметры можно в файле /etc/de- fau1t/useradd. Комвндв usermod модифицирует существующую учетную запись и при нимает те же опции, что и КOMBIIд8 useradd. Например. следуюшая KOMBIIд8 звдает конечный срок существования учеП!оЙ записи bilbert  4 июля 2002 r:: .. 11..rmod . ".:ru1.y .., 2002" bilbert Команда usenlel УНИЧ1'ожает учетную запись, отменяя таким образом нее изменения, сделанные komb,-ШОй useradd. Чтобы удалить пользователя hilbert, достаТОЧНО ввести . u.ardel h11bert Эта команда удалит все ссылки на учетную эались bllbert из файлов paвswd, .hBdow (если он есть) и group. По умолчанию начвльный каталоr пользователя не удаляется. (В своеЙ системе мы обычно не уничтожаем начальные каталоrи в течение несколькИХ недель, чтобы уменьшить число возможных восстаномений с резервных копий на мвrнитиой ленте.) Во FreeB5D имеются сuенарии Bdduser и rmuser, написанные нв Per1. Их можно либо использовать в неизменном ВИде, либо модифиuировать под снои нужды. Сuснарий rmuser отлично справляется с удалением полЬЭОRВ тельских файлов и проиессов (команда userdel даже не пытвется этоrо делать). В отличие от команд useradd и userdel, сuенврии adduser и rmu..r являются интерактивными проrpаммвми. fлобальные установки сuенария adduser хрвня-rcя в файле /elc/adduser.conf. По умолчвнию сuенврий addu"er копирует файлы конфиrypации из каталоrа /usr /share/"kel. в HP-UX это МОЖНО сде.'1ВТЪ. ТОЛЬКО если система СКDнфиrypирована в h.доверите...1ЬНОМ режиме" . r лава 6. Подключение НОВЫХ пользователей 113 
7 Последовательные устройство 9!/ Последовательные порты  это, без сомнения, самое удобное средство BBoдaBЫВOдa R UN[XCJ1CTeMax. Оня не СЛИШКОМ быстродействующие, но достатОЧ1Ю rибкие и прJ1Сyrствуют 8 любых машинах  от переанальных КОМТ1ьютеров до мэйнфреЙМОR. Последовательные порты можно использовать дnя СВЯЗИ С С8МЫМИ разными устройствами, R ТОМ числе пркнтерами. терминалами и дрyrими компьютерамИ. УстрОЙСТВО может подключаться J{ системе либо непосредст венно (с помоЩЬЮ кабеля), либо ПО телефонной ЛИНИЯ через модемы, обеспечивающие модyляuиюдемодулЯUИЮ последовательных сиrи8ЛОВ. В ЭТОЙ rлаве рассказывается о ТОМ, как подключать к системе последо ватеЛЬНЫС устройства и КQНфиrypировзть протраммное обеспечение с uелью максималъНОro использования возможностей этих устройств. В наших при мерах описано ПОдКЛЮчение терминалов, модемов и ПрИН1'еров; дрyrие последовательные устройства подключаются практически аналОПfЧНо. 7.1. Стандарты последовательной передачи данных Большинство последоватслъ.ных портов работает соrласно различным вариантам cтal-\!lapтa RS232 ЭтОТ стандарт определяет электрические харак- теристики и назначение каж,цоrо сиrнвльноrо провода. а также разводку контактов традиuионноro 25J{oHTaIcrHoro последоnaтельноrо разъемноro co единения, известноrо ках разъем OB25 (рис. A) Полный набор сиrнальнык проводов интерфейса RS232. чаще Bcero избыточен, так ка.к ОН предназначен .nnя распространения сиrиалов. мноrие из которых не используются в основных режимах передачи данных. Кроме тaro, разъемные соединения OB25 велики для установки в коммyrаuионнъrх панелях и портативных компьютерах. Поэтому сейчас широко применяются альтернативные модели разъемов (см. лара'1'аф 7.2). с техническоЙ ТОЧI01 зрения правмьнее называть ero стаНдартом EIA2J2E. Но есJПi вьт будете таК ro80рИТЬ, вряд ли вас КТОНI-,будь поЙмет. 114 Чость I Основы администрирования 
Разъем .. Номв  BЫД08  13 --.. . 0000000000000 000000000000  14  25 Рис. А. Разъемное coeAao1HeHi'le DВ.25 В трад:ицяонном иmерфейсе RS232 используется экранированная витая пара (обычно это мноrОЖИJIЬНЫЙ провод сортамента 22). Сначала в RS232 примен.ялись СИПIалы постоянноro тока напряжением :!::: 12 В. но сейчас больше распространено напряжение :!:::5 В. Иноrпа используют напряжение :!:З В. Все ЭТИ значения соответствуют спецификации RS232. поэтому допускается соединение устройстя с разными уровнями иапряжениЙ. иtrrepфeйс RS232 не является электрически сбалансированной системоЙ: в нем имеется отдельный провод .для передачи данных в каждом напрзвлении. Следовательно, применять витую пару нет необходимости. Преимушеством экранированной витой пары является само экранирование. позuоляюшее уменьшить риск 8неurнпx воздействий. Но Korдa два информauионных провода (тD и RD) скручиваются в одну пару, может произойти снижение надежнос'Пf и диапазона распространяемых ситалов, так что лучше зтоrо не делать. Нет общепринятоrо соrлашеиия о ТОМ, какие сиrналы стандарта RS2)2 должны совместно распространяться по витой паре. Некоторые источники рекомендуют спаривать проооя заземлениЯ с ПРО80дами ТО и RD. но, вопервых, это требует выделения дополнmе.льноro провода, а lЮвторых. ПОЯШlяется несколько путеи заземления. Насколько нам ИЗБеСПЮ, придержи ваться подобноro соrлашенИЯ необязаТeJ1ЬНО. Разъемное соединение OB25 состоит из вилки (разъем с торчашими urrырьками; обозначается как DB25P) и розетки, или rnезда ("материнскиЙ" разъем с соответствуюшими отверстиями; обозначается как DB25S). Возле urrыpЬKoB и отверстий нанесены ....l'ошеч-Ные числа от 1 ДО 25  ЭТО номера контактов. Лучше вcero они бу.nyт вилtlы' еслИ поднести разъем к све1)' и посмотреть на Hero под yrлом. Иноrnа маркируются только выпады 1. 13, 14 и 25. Вилка DB25 изображена Н8 рис. А. Во неех последовательны).; разъемных соединениях номера контактов на розетке зеркально отражают номера на вилке, чтобы при стыковке разъемов контакты с одинаковыми номерами совпадали. Обратите внимание: у разъема. изображенноI'O на рисунке, установлено вcero семь выводов. Именно так чаще всето и бывает. Снrналы интерфейса RS232 и соответствующие им контакты разъемноrо есенинении DB25 перечислены в табл. 7.1. На практике используются только сиrналы 1 8 и 20, остальнЫе можно проиrнорировать. r лова 7. Поcnедовотельные устро.:1ство 115 
Таблица 7.1. Сиrналы интерфейса RS2З2 и соответствующие ИМ кантакты DозъеМl-lоrо соеДИНВl-ltI!Я DPr25 J<\L>tr.Q ""  rl-4аlТ Фу нкц-" 1 FG 3ашитнос 3Iзсмлсн.ие . 2 TD Лередаваемые .пан.ные 3 RD Лриии.масмыс ЛIмные 4 KТS [отовность К передаче 5 CТS [OТOBHOCТ1t К приему 6 DSR fотовиость юа.н.ных 7 SG Зазс:м.nсние сиrнВЛ8 8 DCD Обнвру.жснне несуwей 9 ПonOЖJ.tтсльнос КОН1рольнос напряжсние 10 Отриuвтe.JlhНОС КОН1PQльнос нanpJDКсние II Не Н83начен 12 SDCD Вторичный сиrнaл DCD 13 SCТS Вторичный сиrиал CТS 14 SТD Вторичный СИI1iал TD 15 те СИНХРОКИ3&JJ.НR передачи 16 SRD Вторнчный си.rн.a.n RD 17 КС Синхрокиэauия: приема 18 Не назначен 19 SRTS Вторичный сиrнал RTS 20 DТR [отомность тери.ннВJUI. 21 SQ Детектор качества сиrнала 22 Rl Икаикатор вызова 2J DRS селектор скороС1'И персД8ЧМ ЛIИНЫХ 24 SCТE ВиеwНJUI си.нхрони3lUИЯ передачи 25 BUSY з....то Для последователЬНblJ< устройств сушествуют Д8е конфиrypаuии кабельной системы: DTE (Dara Terminвl Equipmcnt  терминальиое оборудование) и DCE (Dвta Communications Equipmeot  аппаратура передачи дакных). эти коифитураuии определяют, какие сиrнвлы устройство будет ожидать на тех или ИНЫХ KOНiaктax разъемноrо соединеиия. Каждое устройство конфиrypи руется лиБо как DTE, либо как DCE. хотя искоторые устройства поддерЖl< вают оба варианта (но не одновременно). Компьютеры. терминалы 1-1 принтеры чаше вcero относятся к типу ОТЕ, тоrД8 как МОдемы яв.'11!'ются DСЕустройствамт<. Последовательные устройства DTE и DCE "OI)"r ВЗ8И модействовать дрyr с друтом В ПРОИ3DОЛЬНЬrx сочаниях. но в разных случаях требуются разные каБели. Смысла в OДHOBpMeHHOM сушествовании двух коифнтураuий нет. по скольку ДЛЯ веста оборудования может использоваться одна и та же разводка контактов. Просто ЭТО одно из мноrиx бессмысленных исторических наследий стандарта RS-232. Ниже пере'lИслеиы особенности обеих конфиrypаuи1\: . Разводка контактОВ в любом разъемном соединении RS2)2 всеrда одинакова незаВисимо от Toro. вилка это или розетка (штыькнH всеrла 116 Чоcr.. I Основы админиcrрироВОНИЯ 
совпадают с СОOТ1lетствующими отверсrnями) н rде находится разъем: ив кабеле. DТE или DСЕустройстве. . Спеuификauия RS2З2 построена на модели сквозноro соединения DTE и DCEycтpollctВ. (Под "сквозным" понимается соединение, при котором линия TD DТЕустройства поnключается К линии TD DCEycтpol\cтвa и т.д. Все одноименные контакты соединяются друт с дрyroм.) . Именование сиrnaлов произведено примеmrreльно К DТЕустройству. Налример, название сиrналв TD (Lrвлsmillеd da!a  передаваемые дaH ные) в действительности означает '"ванные, передаваемые от OTEYCT РОl\ства К DCEycтpol\cYВY". Несмотря на название, контакт TD служит для лриема данных на DCEycтpol\cтвe. Аналоrичным образом, контахт RD является входным на DTEycтpol\cтвe и выходным на DСЕустройстве. Коrда кабелем соединяют два DTEYCTpol\cтвa (компьютер и терминал либо компьютер и компьютер), их нужно "обмануть", заставив думать, что дрyraя сторона ЯВJIяется DCEycтpolicTBOM. Поскольку оба устройства будут предполarать передачу дaHHых ло лннии TD и прием  по ЛИНИ Н RD, необходимо соединить провода кpeCTН8кpecт. связав выходной контакт OJIИoro устройства с ВХОДНЫМ контактом друтоro и нвоборот. Подобноrо рода "перекрещивание" при соединеюrn двух DТЕустройств требуется для трех rpупп сиrnaлов. вопервых' это сиrналы TD и RD, о чем rоворИJJОСЬ выше. Boвтopыx, Э1'О сиrнaлы RTS и CТS. Втретьих, KOНТВJ(Т DTR должен бbrrb связан с КОlПактами DCD и DSR на противоположном конис. . Кабель. соединяюший два DTEycтpol\cTвa, называется нульмодI!.МНЫМ. Подключать к нему модемы нельЗЯ. Кабель для модемов называется MoдeMHы,, прямым или обычным. Изначально предnолаraлось, что DТЕустройства оснашены вилками, а DСЕустройсТВ8  розетками. Со временем разработчики аппаратных средств ПОНЯЛИ, что ВИЛКИ являются более хрупкими и чаше подвержены поломкам. Сеrодня в дороroстояшей вычислителъной техни:ке. как правило. ставЯ1' розетки. а большинство кабелей с обоих кониов имеет вилки. На рис. Б изображена разводка контактов и схемы соединений нулъмо демн:ым и прямым кабелями. Показаны только "полезные" сиrналы. iаювнов обозначение Обычный НулЬ'-модвмный Защитное заземленtII8 FG Передаваемые данные TD ПрИИl1М8емые даНI-IЫ8 RD rOTrJBHOCТb к передаче RTS rOTOBHOCТb к приему СТS rOTOBHOC.Tb даниых DSR Зазвмпение СИПianв SG ОбнаружеtiИ8 несущеt1 DCD . . 1..0 Т е минала DТR 1  1 2  2 3  3 4  4 5  5 6  6 7  7 В  В 20  20 1  1 2 >< 2 3 3 4 >< 4 5 5 6  6 7 7 В В 20 20 Рис. Б. Розводка контактов и схемы саединена.1Я кобелей д.пя разъемов DB 25 r"OBO 7. ПаследовотеЛhные устройство 117 
7.2. Альтернативные разъемные соединения Ниже описываются наиболее распространенные альтернативные разъем ные соединения: DIN8. OB9 и RJ45. Несмотря на конструктивные различия, эти соединения обеспечивают доступ к тем же эле...'Трическим сиrnалам, что и разъем OB25. Устройства, в KOTOpbIJ( используются разные разъемы, вcerдa совместимы, ec.тrn правильно выбран кабельный переходник. Минирозъем DIN8 Разъемные соединения DIN8 применяются в ком"ьютерах МаСIП(оsh. в некоторых портативных компьютерах и на рабочих станuиях Эти почти круrлые и ИСКЛЮЧJПeJlЪНQ компактные разъемы имеют вьтоды ШIЯ семи иаиболее часто используемых сиrналов стандарта RS232 (рнс. В). Разъем Номера ВЫВОДОВ "'-... '" '" Рис. В. 8ил.о OIN8 у местных поставщиков компьютеров всеrда можно приобрести нераз борные кабельные переходнmcи DB25/DIN8. Не пьrr8ЙТесь сделатъ юс сами, потому что разъем DIN8 наСТОЛЬКО мал, что ero невозможио собрarъ ВРY'fJiую. Разводка контактов разъема DIN8 дана в табл. 7.2. Таблица 7.2. Разводка контактов дnя прямаrо кобельноrо переходо DIN8/DPr2S OIN--8 O25 СJ1rнал ФуНIЩИЯ 3 2 то Передаваемые даН.НЫС 5 3 RD Принимаемые данные 6 4 RТS fотовиость К передаче 2 crs [ОТО8НОСТЬ К npиему 4,8 7 SG 3азсмлсине сиrнала 7 8 ОСО 06ив.ружеиие иесуwеА I 20 OТR rOТOBHOCТh терминала Розъем DB9 Этот девятиконтаJCТНblЙ разъем (внешне напоминаю1.IIИЙ уменьшенную копию OB25) обычно применяется в персональных компьютерах. Он обеспеЧИ1lает передачу восььт наиболее часто используемых сиrнапов cтaH дарта RS232 (рис. П. 118 Часть 1. Основы администрt.1РОВОНИЯ 
Разъем Ном.е а выводов ,,' t,.' Р.с. r. В.".о 08-9 у местных IlOставщикоfl, персональных компьютеров обычtЮ МОЖIЮ приобрести фабричные кабеЛЫlые пере'ЮДllИКif OB9/OB25. Разводка }"OH тактов представлена В табл. 7.3. Таблица 7.3. Розводка контактов д.пя прямоro кобельноrо '-'ерехода ОВ-9/0В-25 09 ОВ-25 Сиrнол Фу нкция 3 2 ТО Передаваемые данные 2 3 КО Принимаемwс данные 7 4 RTS r OTOBtlOCТb к передаче 8 5 CTS rOTOBHOCТb t: приему 6 6 OSR roroBHOCТb данных 5 7 SG Зазсмление снrнала I 8 ОСО Обнаружеtше неt:ущей 4 20 ОТК 1 ОТОВНOl"ТЬ т р МИIIВJI.8 Разъем RJ--45 RJ45  'Это, в СУЩНОСПf. восы.шпроводнои МОдy:rlъныЙ телефонный разъем. Он напоминает станлартное соедннение RJ 11. ИСПОЛЬJуемое в телефонных аппаратах в США, но У последнеrо только 4 ипырька. а у разъема Ю45  8 {рис. Е). Разъемные соединеНIIЯ RJ45 оБы{ноo применяются R Elhemet, но MOryт работать 11 в ПОС;Jсдователъны)( JШШIЯХ. Номе ро выводав ..... . Разъем  ::::.-  ---. Вид сверху ...  B' 11111111 Р.с Д. 8.".0 RJ-45 rиеlда RJ45 практически не встречаются u КОМllьютера1( и обычном пос..ттедовате.льном обоРУllонаНJlJ1 Их часто ПрifмеНЯЮ1 D Кdчестне 11poMc>t<..yrOLJt1LI\: r лова 7. Последовательные устройство 119 
o соединителей при разводке последовательных ЛИНИЙ через коммyrаuионные пвиели. И Horдa их МОЖНО встретить в тех устройствах, rпe на небольшой плошали размешено MHOro портов (напримеРI в серверах рминапов). Разъемы Ю45, как правило, используются не с витой парой, а с плоским телефонным кабелем. но оба варианта допустимы 8 последовательных соединениях. Разъемные соединения RJ45 компактны и пешепы. Они закреrmяются На кабеле с помошью спеuиальноrо обжимноrо инструмента. Вся проиедура крепления длится менее минуrы. Сушествует uелый ряд станд.артов, определяюших соответствие контактов разъема Ю45 контактам разъема DB-25. Самый лучший из них  с"стема Дэйва Йоста (Dave YOSI), в которой каждое устройство снабжено rnездом RJ --45 и используются стаJ.Ulвртизированные кабели, ЛОЗ80ЛЯЮlШfе соединять как DCE, так " DТЕустройства. Стандарт Йоста для раэъемноrо соединения R45 Эту СlJецификаци/О разработал в и/Оне /987 е. Дэuв Йост (Dave@YIJIJ/.com). Для НQшей KHUZU он исnравuл и дОIJОЛНl1.Л ее. Вот схема, которая позволяет успешно справ.ляться с некоторыми трудностям" С'ЛIНдарта RS232: . Все кабельные разъемы  одноrо типа (BНJlJGI Ю45). DTE и DСЕустройства ничем не отличаются друт от друта. . Понапобится кабель толька oпHoro вила. Можно быстро rотоlППЬ кабели, используя вcero один обжимноЙ инструмент. Каждый последовательный порт на всех апп.ар3ТI-IbrХ устройствах получаст свой собственный, соотяетствуюшим обра.зом разведенный переходник OB 25/Ю45 или DB9/RJ45. Этот переходни. "навечно" лривинчивастся " порту. Теперь кажДЫЙ порт представ.ляет собой один и тот же соединительный разъем  розетку RJ4S, независимо от Tor0 1 каким бьU1 исходный разъем: DB25 или DB9, DТE или DСЕтипа, вилкой ил" розеткой. Установив переходнИЮf на порты RS2)2, можно подключать к последо вателъному порту различные устройства без использования нульмодемов ИЛИ нультерминал08, без изменения разводки контактов I-Ia кабельных разъемах и без и'ЗrОТОRЛения спеuиальных кабелей. С помощью кабеля OlIНoro пида вы сможете подключать модем к компьютеру, MOДM к теР"fИНалу, терминм к компьютеру. терминал к терминалу, компьютер" компьютеру и т.д. ИсrlOлъзуется восьмипроводной плоский кабель в оболочке. Выводы разъемов на обоих кониах прижаты к проводпикам кабеля спеuиальным обжимJiЬJМ устройством, поэтому паять и.х не нужно. Имеется тр" сиrnалъНЬL' лровода (один информационный и два ynрав ЛЯЮЩИ:Х) дЛЯ ка.жд.оrо направления плюс пара проводов заземления. Кабели разведены не обычным образом (т.е. Korдa каЖдЫй вывод разъема соединяется с соответствующим выводом на прутом конце кабеля), а с "перекрyrкой". "зеркальным отображением", '.обратной стыковкой"  иазывайте как утодно. Блаroдаря такому способу разводки кабель соединяет "передающий" штырек с соответствуюшим "приемным" штырьком на дpyroM коние кабеля. По.noбнпя схема работает потому, что расположение сиrнальных проволов в плоском кабеле СIOAметрячно, т.е. для JCаждоro провода, по которому передаются 120 ЧОСТЬ I Основы ОДМIo1НIo1СТрИРОВQНИfl 
данные, есть соответствуюший провод. по которому данные принимаются. Этот провод расположен зерlCВIТЪНО к первому относительно оси кабеля.. в фабрllчных "абелях RJ4S обычно используется сквозная разеодка, поэтому необходимо снять разъем С оmюrо кониа кабеля и вмонтировать HOBЬJ1::I: С обратной разводкой. Увеличивать длину кабеля можно С помоШЬЮ соenиmrrелей "розеткарозе11(а'" но помните: два перекрученньrх кабеля, соединенных таким способом, образуют кабель СО сквозным соединением. ПереходнИl<И DB2S/RJ4S производят МНОП1е фир."". Их внутренняя uвеТОВ8я кодировка не совпадает с uвeтзмм каблей. Переходники. соедини тели и провода сейчас можно свободно купить в маraзинах электроники, но, как это им печально, они ничем не MOryт помочь при работе с интерфейсом RS 232. Описанная схема была рассчитана на применение JU10CKOrO экраниро В8ННОro кабеля, в котором все провода расположены рядом. В npотивопо ложность этому в витой паре имеется четыре пары проводов, и в каждой паре провода скручены между собой по всей длине кабеля. Если используется витая пара (например, кабель катеroрии 5). разводка проводов будет не такоя, как в обычных соединениях RJ4S (IOBaseT, телефонная линия н т.д.). Нужно сделать так, чтобы провола 3:4 и 5:6 образовывали пары. Дрyrое сочетание может привести к возникновению пере крестных помех. РазВОJIКЗ остальных проводов не И'1еет значения. но оБыч1io спаривают провода 1:2 и 7:8. o ДОlJолнительная иНФОРМDция о кабеле KDmezopuu 5 приводится в параzрафе /5.2. Внутри переХОДIOlка находится rнездо RJ4S. из КОТОРOJ'О ВЫХОДЯТ восемь проводов. К этим про волам с помошью обжимноrо инструмента прикреплены штырьки (или. в зависИ"мости от сиТ).аuии, контактныс rнезда). Эти штырьки просто 8став.ляются в отверстия разъема RS232. а затем кожух переходника ззшелкивается. Таблицо 7.4. Разводка проводов переходников Йосто R.HS/DB2S и RJ.4S/D89 КонтоК1' ОСЕ Конто<т DТE  "'ал DI'r2.S OB9 Сн,нDЛ 4 RTS S 8 Кобел. 5 1 Коричневый (к серому) 1 [алубой (к оранж.СИОЫУ) 3 Желтый (К чс:рному) 4 Jеяен.ыJ;t (К красному) S крвскый (1(. зе.леному) 6 Чери....й (К желтому) 7 OpaH)kc8.blA (К rолуfюму) 8 Серый (к кор.иЧНС8UЧV) Пе р вХОА [олубой crs Оранжевый 10 4 DTR ОСО Чс:рны.й ТО RD Красный GNO GNO Зсленый GNO GNO ЖeJlТblЙ RD ТО Коричневый ОСО 20 4 OTR Белый crs RTS Дзив НС rоворит ои этом яина, НО нужно ПОI-tИмать, что физической "перекpyrки" кабелей быть Не 1.I0.'1ЖНQ. ПОСКО.'1ьку paтьe на ПРОl'ивоположНblX KOHUax налраRilеНbl в разные стороны, зффект llОСТИlllется автоматичесkИ. 121 r лаво 7 ПОО1-6ДОВQтеЛI:Iные устройство 
Имеется, о.nнзко. такая проблема: оба ПРО80да заземления должны быть зааедены в онно rнездо DB15 нли DB9 (контакты 7 и 5 соответственно). эти провода можно спаять либо обжать с помощью спепиалъных приспо соблений. Некоторые DТЕустройства требуют, чтобы лини. DSR была активна. преЖде чем они CMOIyr ПОСbL'Iать данные. Си-rнaJ1 DSR обычно выдается DСЕустройством. но можно совершить "подлоr", сведя вместе контакты 20 А 6 (или 4 и 6 в разъеме DB9). В этом случае DТЕустройство будет получать сиrнал DSR от caMoro себя при выдаче сиrнала DTR_ В некоторых DСЕЛРАнтерах контакт 7 переходника RJ45 (коричневый провод) должен быть подключен к Л>IН'Ш DSR (контакт 6 в разъем"" DB15 и OB9). Прочтите документаuию к принтеру. чтобы узнать, может Шl он вьщавать Сl<rналы квитирования по линии DSR. а не DСD. Спасибо 38 эту Идею ребятам из Беркли_ У них несколько иная разводка (ВИдИМО, по историческим причинам). но сама идея пришла именно ОnyДЗ. Если бы я мот узнать. кто конкретно является автором данной схемы, я поблаroп.арил бы здесь этоrо человеки персон8ЛЪНО. 0' Дэuв Йоспr, ЛосАльпrос, Калифорния. июль /999 z. 7.3. Аппаратная несущая и проrpаммная несущая При подсоединении и ВКJJЮчении устройства сиrнaл обнаружения Hecy щей (DСD) должен перейти на высокий уровень (+5 В). Этот сиrнал подается на 8й контакт разъемноro соединеffilЯ DB2S. Если в последовательном кабеле есть линия ОСО и компьютер .nействительно обрашает на нее внимание, значит. используется аlJnаратная несущая. В большинстве систем также допускается применение IJрОi!ра.МЛfllОЙ llеСУЩl'U, KOflla компьютер "делает ВИд... что сиrнал ОСО вcerAa пр'Исyrствует. Для некоторых устройств (В частносТИ. для теры.нналов) проrpаммная несушая  подарок судьбы. Она позволяет в каждом последовательном соединении обходиться Bcero тремя линиями: передаваемых данных, прини маеМЫХ даиных и заземления сиrнала. Но в модемных соединеииях сиrнал DCD обязателен. Если терминал ПОДКЛJочен через модем и сиrнал обнару жения несущей пропадает. то модем 'зависает", особенно при передаче данных на большие расстояния. Известно множестно сканд8.ЛЪНЫХ историй, KorHa модем "заклинивало" и линия ОСО долrо ие осво60Ждалась. а потом прихолили телефонные счета иа астрономические суммы. В различиъrх версиях UNIX обработка проrpаммноЙ' несywей ОСУJllеств nяется поразнаму. В ранних версиях системы нужно было ставить "заnлату" в драйвер терминала, что было ие только очень обременительно. но и просто rлynо. Во миоrиx современных системах эта проблема решена путем за.цания режима проrpаммной несушей Ш1Я последовательных портов по умолчанию в системных конфитураuионных файлах. Кроме Toro, можно использовать команду stty CWCAL. КОТораЯ заставит терминал предполаrать наличие проrpаммной несущей в работаюшей системе. Например, комаНда t stty CLOCAL < /dav/ttуОЗ включает проrpаммную несущую для порта tty03. В некоторых системах необходимо указывать оператор >. а не <; обратитесь к докумеl-lТ3ЦИИ по команде slty. 122 Частъ 1_ ОСНОВЫ администрирования 
7.4. Аппаратное управление потоком данных  Назначение сиrналОБ CТS И RTS  обеспеЧIПЪ такую скорость персD.3ЧИ данных, чтобы устройствоприемник успеRaЛО их обрабатывать. Например. если существует опасность переполнеffilЯ буфера модема (скажем. в том случае, Korдa соединение с улаленным узлом работает медленнее, чем последователъRЫЙ канал между локальной машиной и модемом), модем может приказать компьютеру С.замолчать". пока буфер не освобоДИТСЯ. Управление потоком данных п-меет большое значение для быстродейст вующю; модемов и очень rJOлезио для принтеров. В системах, rде аппаратное управление ПОТОКОМ данных OTCyrCn)'eT (либо изза Toro, что последователь ные порты ero не понимают, либо И338 TOro. что в послеповательном кабеле ВЫПОДЫ CTS и RTS не подключены), ero иноrда МОЖНО моделировать nporpaMMHbIM путем с помошью управляюшю АSС"символов XON и XOFF. Однако проrpзммное упраRЛение потоком данных должно явно поддержи ваться 8ысокоуровневым nporpaMMHbIM обеспечением. хотя даже в этом случае ОНО ФУНКПИОffilрует не очень хорошо.. В аппаратуре фирмы SUD режим ynравления ПОТОКОМ данных нужно включить с ПОМОШhЮ команлы eeprom. Большинство терминалов иrнорирует сиrналы CTS и RTS. Те немноrие терминалы, которые для установления связи требуют подтверждения по ЭТИМ линиям, МОЖНО обмануть. соединив перемьrчкой контакты 4 и 5 на тоМ коние кабеля, который подключается к терминалу_ KorAa терминал посылает сиrная на вывод 4, заявляя "Я rOTOB", ТО с вывода 5 он получает этот же сиrНал обратно. чrо означает "Начинай". Таким же способом МОЖНО решить вопрос с подrаерждением по линиям DТR/DSR/DCD. 7.5. Длина кабеля Стандарт RS232 определяет, что макси:м:альная длиНа кабеля при скоросnt лередачи 9600 ОIП/С должна составлять 75 футов (12,86 м). Стандарты обычно очень консерваТИRиъr. и RS232  не исключение. В повседневной работе нам приходилось про](Ладывать кабenь roраздо большей длины (иноrnа до 1000 футов). Опыт показывает, что предел находится rдeтo меЖ!IY 800 (243,84 м) и 1000 футами (304,8 м), причем по в значитеЛЬной степени зависит от KOHKpenrbIX моделей терминала и компьютера. 7.6. Файлы последовательных устройств Последовательные порты предстааляются в системе файлами устройств. расположенными в каталоrе /dev. У большинства компьютеров имеетсЯ два встроенных последовательных порта. Раньше Offil обычно называпись /dev/tt)'a и /dev/ttyb, но со временем соrлашения по наименованию изменились. Иноrда на один и тот же порт ссылаются сразу несколько файлов. Например, в Solaris с одним портом связаны фaйлЪJ /dev/cua/a и /dev/tепn/а, но у nepBoro младший номер ус-rpoйства дрyrой: \ 1. 1L /dav/t.rш/а /dev/cua/a crwrwrw 1 root sys 29. О Jan 15 1998 Idev/term/a crw 1 uucp uucp 29, 131012 Jan 15 1998 Idev/cua/a Сlмволам XON и XOFF соответствуют сочетания клавиш <ClrlQ> и <ClrlS> это представляет проб!1СМУ DJ1J1 пользоватлсй редактора emacs. rде при нажатии клавиш <ClIlS> по умолчанию вызывается команаа поиска. Решить эту ПJIOб..'1СМУ МОЖНО, связав КО\f3НДУ rJOIIСк..'1 с каКlIНl1будь др}'rим сочетанием клавиШ. r паво 7. Паспедоватеl1ьные устройство 123 
 Несколько файлов нужно МИ поддержки модемов, которые обслуживают как ВХОWlШ\lе, тах " "СХОWlШ\lе звоиlOl. В Solaris драйвер разрешает открыть файл /dev/tenn/a, только Korдa модеМ ВЫД81l Clfl'Н81I DCD. лодтвердив И81l"""е активНОro сое1IИНения (nредnолаraется, что для данноrо порта не задан режим лроrpаммной несущей). Файл /dev/cua/a можно открыть нсзависимо от СОСТОЯНИЯ линии ОСП. Он используется при подключении к модему. которому нужно сооБЩllТb о необходимости сделать звонок. Доступ к любому из файлов блокируется. если ОДИН из них уже ОТКРЫТ. Во FreeBSD МОЖНО задать начальное и заблокированное состояние портов в файле /etc/rc.serial. это удобно, если нужно переопределить ПО8Сдение плохо написанных nporpaмм, неправилъно коифитурируюши>: порты. Если попытаться задать параметры заблокированноrо порта и затем открыть ero в проrpамме, ядро про"пюр"рует попытку переконфиryрировать порт (см. раз дел дoкyмeHтau,," с;0(4». Как Bcerдa, имена файлов устройств не имеют особоro значеНИЯ. Их работа определяется старшим и младшим номерами устройства. 8 имена файлов являются лишь общепринятым соrлашением.. в табл. 7_5 переЧ11С.'1ены стандартные имена файла" последовательных портов в наших тестовых система.'\(. Показаны имена для первых двух портов, остальные именуются аналоrичным образом.  Таблице 7.5. Файлы vСТРОЙСТS дп первых двух последовательных портов Система Стандартные Дополнительные Назначение ...ойы ..ай.nы Solaris /dev/lenИ/[а. Ь ] /dcv/cua/[a,b) исходящие 3ИОНIOI HPUX' /dCV/ttyOp[O,l) jdcv/cuIOp(O.\ J модем .1UUI ИСХОДИШИХ 3SOНХО8 jdev/cu.Op(O,I] нсходящис .во""" по прямом)" соединению /dcv/ttydOp(O,1 J модем Д1UI вхОдя1UИX зионкон /dcv/cOpIO.I]lp послсдоваТCJlblibLЙ принтер Red На! /dev/tIj'S[O.\) /dcv/cua(O,11 НСКQдJШ1ИС звонки (существу только.п.пя совместимости) freeBSD /dev/ttyd[O.\) /dcvjcu..(O.\) модем .п.пя исходв:щих звонков /dev/cu.l.[o.l] модем дrlЯ НСХОДЯlWt.X звонков: заблокирован /dеv/сuaiз(О,I] модем дrlЯ ИСХОДЯЩИХ звонков: в начальном СОС'fОя.н.иJ1 I Подробные понснеккя приведены на crpанице руководства mksr(IM). 7.7. Конфиryрирование проrраммноrо обеспечения для последовательных устройств После подключения устройства с помощью соответствуюшеrо кабеля следует задать определенную конфитурauию rJроrpзммноrо обеспечеl"IИЯ. чтобы устройство работало зффектиuно В отличие от устройств. которые Это не значит, что их можно менять_ Большииство проrpЭ'-fМ предползrает. что системз придерживается cтaН.llapтHoro соrпашения о наименовании УСТроЙСТВ. 124 Чость 1. OClObЫ ОДМИНI-1crрИРО80НИЯ 
подключаются непосредственно к шине компыотра. последовательные YCT ройства не требуют конфиrypирования на уровне I\i1pa. . Тем не менее, проrpаммньтм средствам BbICOKOro уровня все равно нужно сообшить о НaJlfofЧИИ НОВЫХ устройств. Перечень конфиrypационных задач, которые необходимо решать при подк.пючеНIOl нoвoro устройства, завИСИТ от типа устройства и приложений. в которых оно будет использоваться: Ec.J1'М это аппаратный терминал, нужно Aa'IL системе указание ОЖИl[ать подключения пользователей к порту терминала. Задайте скорость пере дачи и пвраметры последовательноro соединеияя. Конфиrypаuия терми налов описанв в следующем параrpафе. . Модемы, приннмаюшие звонки, конфнryрируются аналоrnчно аппарат ным терминалам. В некоторых системах возможны незначителъные различия в перечне необходимых процедур. . для конфитуриропания RЫХОДНОro мопема, который бупет использоваться оператором, следует олисать этот модем в файле /ele/remOle Шlя команд lip н со. Как это сделать, объяснется в параrpафе 7.13. . ДЛя TOro 'побы использопать модем при установлении CCTeBoro соедине ння с удаленным пользователем по протоколу ррр. изучите материал, И3JJоженный в rлаве 13. Возможно, понадобятся дополнительныe про rpaMMHble средства. И нформаllИЯ о порядке и особенностях настроЙ1Gf последовательных принтеров приведена в rлаве 23. Опни принтеры ТОЛЬКО принимают данные, а дрyrие MOryr передавать серверу информацию о своем состоянии. Пользовательское последовательное устройство, которое обслуживается только с помощью CBoero проrpаммноrо обеспечения. не требует спеllИ а.пъной конфитурации. lLnя поступа к нему достаточно открыть файл устройства. Описание функuий семейства ioct1. с помощью которых устзнаWlивается скорость передачи, флеrи и режим буферизаuии после довательиоro порта. содержится на стрaюruе документацин, посвяшенной описанию комаНдЫ tenпiо или tty. 7_8_ Конфиryрирование аппаратных терминалов За послеlIНее деСЯТИJ[етие рабочие станции и Хтер"fИНалы постепенно вторrпись на территорию. [де коrдато единолично правили бал текстовые терминалы. Но даже консольные nporpaMMbI на rpафическом дисrшее ис пользуют те же дрвйверы и фвйлы конфяrypации, что и реалъные терминалы, поэтому системный а.цминистратор должен понимать. как они работают. При настройке терминале нужно решить две важные задачи: обеспечить закрепление за терминалом пропесса, который будет принимать постynаюшие от Hero реrистраШlOнные запросы, и обеспечить доС1УПНОC'l'b информации о терминале после входа полъзователя в систему. Процесс реrиcrрации в npouecce реrистрации задействовано несколько nporp8MM. Во время начальной заrpузки запускается демон 1011. Однв из ero ЗllДач  породить в дествите.IJЬНОСТИ сами ПОСЛСllовотельные порты все же требуют коифиryрирования нв уровне ЯЩЮ. но это всеrдв делает фирма-поставщик, а не администратор системы. r ловО 7. ПослеДОВО1'ельнwе УСТрОЙСТIО 125 
процесс. обычно getty (но не в So[aris), на каждОМ терминальном порте, которыЙ олределяется 8 файле /ete/llys нли /ele/inilt:lb (8 зависимости от системы). Проuесс getty устанавливает исходные харвктерисТИlCИ порта (В частности, скорость передаGИ и контроль четности) и выволит на экран реrистрациоиное приrлашение. Последовательность событий при полной реrистраuии следующая: IIOЛЬЗОВ3Те.,1Ь ВВОllИТ реrnC11J3ШlOнное ИМЯ ПО приrлашению проиесса gctty: проиесс getty запускает nporpaMMY login. передавая еЙ в качестве apryMeHT3 указанное ИМЯ учетной lЗПИСИ; nporpaMMa login запрашнвает пароль и Сllеряет имя и пароль пользователя с записями 8 файле /ele/passwd": · nporpBMM3 login ВЫНОШIТ на экран .'сообшение пня". хранящееся н файле /ele/mold: · nporpaMMa lпgin устанаВJlивает переменнyIO среды TERM и запускает ннтерпретатор команд интерпретатор ВЫПолняет соответствующие файлы запуска..; интерпретатор ВЫВОДЮ" на экран приrлашение командной строки и ожидает Ввода информации. Коrда пользователь выходит И3 системы. управленне возвращается пеt...Юну init. которым пробуждается и порождает НОНЫЙ проиесс gctty мя порта терминала. Файлы В каталоre jetc УПраWlЯЮТ характеристнками, связанными с каЖllЫМ портом терl\.rинала. Сюда ВХОДИТ наличие реrистраuионноrо приrла шения и проиесса gctty на порте. ожпдаемая скорость передачи в бодах и тип термннала. а также MHoroe пруrое. К сожалению, ПОДХОД ФирмrlOставшиков к вопросу конфиryрирования термина..'10В различен. Б табл. 7.6 переЧНСJlеllЫ фаЙлы, используемые п тестовых система\:. ТоБЛИЦQ 7.6. Ф аi1nы конфиryРОЦJ..1И терминалов ro.. cr eм o Включение! Т · · П .. \....i"I 8Ь1ключене ип терминало араметры Монитор Solaris l sactab васшЬ zsтоп/ ....,pmtab ttymon HP UX /e'c/inittab /c'c/ttytypc /C!c/gcnydcf. сспу Red н.! /etc/iDittab /c'c/tty!yp< /clc/gcttydefs СCl(у FrecBSD /e'c/ttys /e,c/ttys /ctc/gcttytab getly В SoIaПs конфиrypадионные файл:ы находятс'!! 11 каталоre jetc/sar и обрабаты.uaются ПРОf1laJ.(М'ОЙ sacadm. Файлы /etc/ttys и /etc/ttytab \t Венетемах нв базе ядра 43BSD (и более поздних версиЙ) информаuия о Тиле порта и терминала объепинена В ОДНн фаЙл. который называется ttyt:lb или Ilys (FreeBSD) Формат записеЙ ЭТОrо файла таков: устройство npOrpaI04rlJ. типтериинала IОЛlоffl [secure] в некоторых СИСТеМ..х фаЙл /etc/iJass",'d заменяется И.1J1 дОполняется алминистраТI18НОЙ СУБД, например NIS. По.npoбнее об этом рассказывается в rЛзве 18. Фай..l .рrоШе в интерпретаторах SII. ЬЬ И basb: файлы .I0giп и c5brc  в csb и tcsb. 126 Часть 1. ОСНОВЫ ОДМi1нистрироваНИR 
Поля разделяются пробелами. В поле пpOZPй.AWQ указывается управляю шиЙ процесс, запускаемыЙ демонОм init, если naHHbIit порт включен. В частности. для проrpаммы getty. которая обычно упоминается в этом поле. задается apryмeHT, которыЙ определяет скорость передачи и конфиrypаu иlO последовательноrо порта. В поле типтермиllQЛа указывается элемент баJЫ данных tcrmcap или Lerminfo (см. ниже). Коrда пользователь входит в систему, переменная среды TERM устанавливается равной значению этоrо поля. С помощью ключевых слов оп и off включается и ОТЮIючается ретистраuия на данном порте (т.е. эти слова определяют, можно ли запускать npolpa.мMY). Если присyrствует ключевое слово secure, ТО с T3KOro терминала можеТ входить 8 систему пользователь root. Во мноrиx орrанизациях вход суперполъзонателя в системV с терминалов. устаНОRЛенных в маШИННЫХ залах и подключаемых через коммутируемый канал, не ра-зрешается. ВОТ нескоЛЬКО элементов файла /elc/tlys: console ttydQ ttydl ttyd2 попе "/ur/libexec/getty st.d.9600" "/usr/l1.bexec/get.ty std.9БОС;Р' "/usr. 'libexec/getty std.9600" unknown off secure dJ.al ир off secure dialup off secure dialup off secure ApryMeHT команды getty содержит ссылку на элемент одноro из сле.nyюших фаЙлов: inittab, gettytab или gettydefs (о 'ЗависИМОсти от системы). Демон iпit читает файл ttys или [tytзЬ 8cero один раз. Если нзменяется файл конфиrураuии. необхолимо дать демону явное указание прочеt.jЬ фаЙл повторно. Д,'1Я ЭТоrо ему посылается снrнал отбоя (HUP). Демон iпit  Bcerna проиесс номер один, поэтому оБЫЧIIО подходит команда , ki11 1 1 выполняемая ОТ имени пользователя root. Смотрите. не ошибитесь и не пропустите дефис! Файл /etc/ttytype в некоторых снстемах информация о типе терминала отделяется от файла /elc/tlys и хранится в файле /elc/ttytype. Формат ero записей следующий: тип  терМИl-!ала устройство Здесь устРОЙСпJВО  это сокрашенное имя файла устройства, cooтвeтCT вуюшеro порту, а тип терминала задается ТаК же, как он ОШlсан выше в фаl1ле /elc/ltys. Вот ПРl1мер файла Itytype: wyse dia.lup dl alup vtЗ20 h19 dialout console ttyiO ttYJ.l ttyi2 ttуiЗ tt.yi4 Файл /etc/gettytab Файл get1)1ab предназначен для связывания символьныХ имен (таких как std.9600, использоаанное выше) с информauиеЙ О конфиryрации порта  r лово 7. Последовотельные устройство 127 
скоростью передачи, контролем четностн н строкой реrистраuионноrо приrлашения. НВПРlШер: . Стандартная запись, :!IIадаDlJ.а начальные параме'1'рЫ f ДЛЯ друrих записей; используется 11 случае, Jl::оrда f nporpawыa getty lIызьпsается еез указания :!4ПИСИ. defau1t: \ : ар: 1m-\r\n'h 10g1n\ 72 : sр*9БОО: * Записи, :!адаJ:ЦИе фМКСирОllаннуlO скорость 218td. 9600 19600b.ud: \ "рВ600: h I.td. 38400 138400b.ud: \ :врВ8400: Формат здось анвлоrичен формату файлов /etc/prlntcap н /еtс/tеrшсар. Строки с именами. разделенными вертикальной чертой, сопержат ИМС:На, ПОЛ которыми известна каждая конфиryраuия. В остальных полях задсtlотся napаме1'рЫ последовательноrо порта. В большинстве систем в файле gettytab уже имеются записи для разл нчных терминалов. Описание формата, обшеrо для всех указанных файлов, прнве дсно в параrpафе 23.3. И нформадию о конкретных переменных можно почерпнуть из документаuии. Файл /etc/lnittab Б Solaris. HPUX и Red Hat демон init II03.ll:ерживает раЗJшчные "УРОШIII выполнения". которые определяют, какие системные ресурсы залеЙСТВ)'ЮТСJ!. Сушествует восемь уровней выполнения: от О по Ь ПЛЮС уровень 5 пля однопользовательскоrо режима. При выходе нз ОДНОПОЛЬJовательскоrо рС:>к1fма демон init притлашает пользователя ввести Iшмер )Р08НЯ вьmолнення. есrти только в файле /etc/inittab нет поля inl tdefaul t (см. ниже). Затем демон просматривает файл inittab и ишет все строки. соответствующие УК8..lЗнному уровню. Уровни выполнения обычно устанавливаются таким образом, чтобы } пользователя был один уровень, на котором ПОcryrIна только системная консоль, и дрyroй уровень. на котором поступны все терминалы. Можно определять уровни вьmолнения так, как Toro требует конкретная система. но мы рекомендуем Не слишком отклоняться от значений. заданных по умолчанию. Записи файла iлlttаЬ Имоют следуюший формат: кдентифика тор: уровни  ВЫполнения: J:JеJi1ствие: проuесс Лриводем прнмер: : :sуsiпit:/еtс/зеtс1k </dev/conso1e >/dev/console 2>&1 со:2З<ll:rезраwп:/еtсlqllttу сопзо1е соnзо1е 11: 234: respA""n: /etc/qetty ttyl1 9БОО 12: 234: off: fe<cfqe<ty <ty12 9600 В этом формате идеNтификатор  OДHO ИЛИ двухсимвольнвя строка. ИДСНТИФИllИрующвя данную запись. Лоле идентификатора может быть nyстым. как в первой строке приведенноrо выше примера. Дття терминалов в качестве ИJlеНТНфИК8тора обычно используют номер терминала. 128 Чость 1. ОСНОВЫ ОДМИНIo1СТрIo1РО.ОИfl 
Поле УРОВNивыпОЛNения  ЭТО иомера уровней выполнения, к которым ОТНОСИ1'СJI данная зались. Если уровни не заданы (как в первой строке), то запись деЙС'ТВИiСЛЪН8 для всех уровней. В поле действие определяется, как следует тра:КТО88ТЬ поле процесс; наиболее распространенные значения npиеедены в табл. 7.7. Таблица 7.7. Возможные значениЯ ПОЛЯ действие файла /etc/lnlttob 3на'4внив Ждan.i in1tdefau1t boot Нет boot""ait Да ol'lce Нет wat Да respawn Нет powerfll.i1 Нет powerwlI.i t Да sуsiлit Да off Интерпретация Задает исхОДНЫЙ уровень вьшолнения Проuесс выnмняетс.ll при первом 'l1'eНИИ файла шittaЬ npouecc выполняется при первом 'Пении файла inittab Заnyскает проuесс оltRОlфатно Заnyскает rlpouecc однократно Bcer1l8 поддерживает прouесс 8 раБОТ8ЮШС)1 состоянии Проuссс ВЫПОJU-lяеТСJl при получении ДСМОНО)1 Init СИПiал8 сбоя ПИТВJ-IЮI Проuссс выполняется при получснии демоном iпlt сиrнала сбоя питания Проuесс ВЬПlолнястся псред обрашсЮlСМ к KOHCO:rn Завершает проиесс. если он выполняется Если одно из значений в поле УР08Nивыполнения совпадает с номером текушеrо уровня, а значение поля действие rоворит об актуальности записи. то немон init с помощью интерпретатора sh выполняет команду, заданную в поле процесс (или прекраша ее выполнение). В столбuе "Ждать?" табл. 7.7 )1<азано. в каких случаях немон init перен пponолжением ожидает завершения команды. В приведенном выше примере в первой строке устанавливаются систем ные часы. 80 второй и трьей строках ПОрОждaIOтсЯ' процессы getty, а последняя строка обеспечивает отсутствие процесса gelty нв порте (1)'12. Команда lellnlt q заставляет демон inlt повторно прочитать файл inittab. Файл /etc/gettydefs Как и файл gettytab, файл gettyders определяет различные варианты конфиryраuии портов, используемые процессом getty. В системе. как правило, присутствует толЬко однн из эти. файлов. Файл gettyder. выrляди-r следУЮШИМ образом: СОЛ801е' 89600 fШРСL , В9ЕОО SANE IXANY ji10qil'l: ftconsole 19200. В19200 HUPCL . В19200 SANE IXJ\NY 110q1": .9600 9600. В9600 HUPCL . В9600 5АЫЕ IXJ\NY HUPCL '1091" I Н800 4800. В4800 HUPCL . В4800 SANE IXJ\NY RUPCL 'loq1", 12400 2400. в2400 RUPCL . В2400 SANE lXANY fШРСL 'loq1": .1200 1200. В1200 HUPCL . В1200 SANE lXANY RUPCL 11091": fз00 300. взоо HUPCL' ВЗ00 SANE IXJ\NY ТАВ3 RUPCL tloq1": .9600 3впись Э'fоrо файла имеет такой формат: N's:rKati наvапЬНJJeфлаrн i КОJ.lеl,lнъzефлаrи . приrл.!шение "следующий r пава 7. Последовательные устройство 129 
Процесс getty проводит сравнение cBoero второrо apryMeHTa с записью. идентифиuируемой полем }.feтKU. Если ороиесс вызывается без BToporo apryмeHтa. ТО ПЛЯ 110добноrо сравнения используется первая запись фаила В поле нйчальныефлаlU переltJиCJlЯЮТСЯ флаrи системноrо вызова ioctl, ЗaJlаlOШlif конфиryРВЦIfЮ порта до выполнения nporpaMMbI login В поле конечные qJ..luu указаны флаrи, которые необхошt"'ю установить ПОС:lе завершения проrpаммы lоgiп. Должна существовать запись, которая задает быстроденствие соединения fI в начальных, и в КОНечных флаrах. Список возможных флатов отличается в зависимости от системы; обратитесь к разделу документации, касаюшемуся файла gettyders (обычно имена флrов те же. '11'0 задаются в Спро",аммах). Поле пРU2Айшенuе служит пля описаН1IЯ реПlстраUAонноrо приrлашения. которое мож 8ютючать символы табуляuии и новой строки. В полr следующuй указывается метка .!аписи файла gett'defs. которую иеабхопимо подставllТЬ вместо те....'}'щей пр" получении сиrнапа прерывания. Это было полезно десятилетия тому аззд, коrдз мопемы e корреКТliроВRШi скорость перепачи автомаТИчески и нужно было соrласовывать скорость "ручную с помощью серии сиrналов преръmaння. СеrоlIНЯ ")то 3HaXpOHJ1lM. Для 8П113 paTHoro терминала поле с..,едУlOlЦии полжно содержать метку текушей JаПИСli При каждом изменении файла gettydefs слепует выполнять команду gelty c gettydefs. которая проверяет синтаксис файла на предмет правильности всех заПИсей.  Канфиryрирование терминалов в 5alaris Вместо тралиmюнныx ШIЯ UNIX лроuессов gettJ. которые наблюдают за работой всех портов и Вblдают реrистраuионные. ПРlffлашения, в Solari существует залyrанная иерархическая система Service Access Facility (clfcTeM3 сервисноrо поступа) , которая ИСПОЛhJуется пля упрзмения мониторами терминалов, мониторами портов jI мноrими дрyrnми устройствами, при нося в плане функuиональНЫ1< возможностей мало ПО:1ЬЗЫ и MHoro осложнеииЙ. nля настройки последоваТСllьноrо порта на Бъшачу репtстрашюнноrо приrлашения необходимо сначала сконфИТ)'рировать "монитор". наблюдаю щий за статусом порта (nporp3MM3 tt)1IIon). Затем YA<HO сконфиryРJ1рОвать монитор порта. который следит за статусом MOHI-lтopa терминала. Например. чтобы настроить монитор порта НуЬ на скорость 9600 бод и вывоп реrистрационноrо приrлашения на терминал типа УТ100, требуется вьmОЛНI-fТЬ следующие KOMaI1дЫ: J аас&dш II. p myttymon t ttymon c /usr/lib/sa/ttymon v 1 .. ртаdш a. p myttymon в Ь i root и y 1 ID ..' ttyadm d \ /Mv/term/b l 9600 T vt100 в /usr/Ыл/lоgiл." ФаЙл /etc/ttydefs служит 8 ОСН08НОМ ДЛJil TOro же. 'n"IЯ чеrо в др} ПI система.х используется фаЙл gcttyde(s, т,е. для YCTaOBKII скорости передаЧII и контроля четности. Более подробную информаuию о иастройке этих -мониторов можно нип! на страиицах документации, посвященных утилитам sar, pacadm. pmadm. ttyadm и ttymon. а также в rлаве о терминала', справочника Solaris AI1Sv.'erBook. Подцержка терминалов: базы данных termcap и terminfo В UN IХ поддерживается MHoro разных типов терминалов, в отли"ше от ПРОll'зммноrо обеспечения некоторых крупных фирм, которые поддерживаlOТ 130 Чость 1. Оснавь! администрирования 
только термнзлы собственноro ПрОИЗ80дства. LJN IХ использует для этоrо спеuиальную базу данных. в которой содержатся хйрактеристики и свелеtlИЯ об особенностях проrpdММ1-1рОвания ШIЯ каЖдОИ молели терминала. В опних системах эта база Л8ННЫХ называется Lermcap, а я Hpyr1tx она имеет иной формат и н.нывается Lеm1iпrо. Иноrла для обеспечеНШJ M3KCII мальной совместимости в Сl1стеме ПрltСyrствуют обе базы ланных. Они обычно располаrаются в каТ8лоrе jetc или /usrjshare. Такие базы данных содержат Сllе'дения О сопtя:ti различных терминалов. Пользователю практически никоrда не прихопится составлять собственные оmrсания терминалов. Тем не менее, некоторые поставШl-rIOf систем ИастаJt вают. например. на переимеНОRi:1НИИ терминала "xterm". поэтому может понадобиться добавить новое имя для существующей заПиси_ Для Toro чтобы опре.делить, какая рd.Зновидностъ терминала используется. UNIXnporpaMMbI Jlроверяют шачение переменной срены TERM. Дополни телbtIУЮ информаuиlO об этом терминале можно J.aTeM найти в базе данных tem1cap или tnninro_ Кроме ТО'.О. можно поместить элемент базы данных temlcap непоср.дственно в переменную среды TER М САР. Как правило. установка переменных TERMCAP 11 TERM ПРОИЗIЮДИТСЯ ВО АреМJI реП1стра ЦИИ. Пodробнее о КОliфlli!)'рuровашlU тepWlImLlOIl o вре.wя реi!uстрациu рассказано fJ параzрафе 7. 1 J. СеrоlIНЯ, Korna аПl1аратные терминалы почти не используются. лишь несколько типов терминалов I1редстааляlOТ пра....,.ический интерес. Правило rласит: "Все nporpaMMbJ эмулируют терМltнал ОЕС VПОО, еслн не ноказано обратное .. o 7.9. Специальные символы и драйвер терминала ДраЙвер терминала ВЫПО.ilняет несколько спеuиалЫIЫХ функuии. доступ к которым ОС}'1UеСТВJIяется посрt:ДСТ80М особых комбшl3UИЙ клавиш (оБЫ1П-JО, в эти комбинашtи в.ходlП клавиша <Ctrl». То'ш}'lO привяз....у функций к клавишам можно задать с помошью команд tset и stt._ Некоторые из этИх функций и обозначення соотвеТСТВУlOших им КЛdRJiW приведены в табл. 7.8. СИМВОЛ Таблица 7.8 специальныe символы и функции драйвера терминала ERASE W[RдSE КlLL EOF Ii'TR QUrт STOP START DlSCARD S('SPE:>JD Lr\EXT ПО УМQЛЧ(]НИЮ ФуНICЦИА_ . н СТИр8Cl опин пилсННЫА СИ"IВО!I "W CТltpaCl ОЛ1Щ вв,деlшое слово . L Cl ирnеТ 11IУЮ строку -, О Посылает терМИНaJlУ признак КОНшt фаилз АС Прерывзст выrI0ЛН)lС\ol.ЫЙ rlpOllecc "\ Уни'пожаст Tei<.ylUltH "роиесс с СОЗ.lliIНl1ем дампа опсраТИВl-lоR l1a).Hlrn "'S ОСТ8наВJПнuет вывод 1'18 :>Кр31t '0 Пср('ззrlускзет 1"lpouenypy ВЫВОла на экран 'о О'IШl18СТ б)'фер 8Ъ1ХОЛlIЫХ пзltныx - Z Прио(..'танзвливает Тt:К)"ШНН IIрОll ес с . \!" ИrнОРJ1РУСТ Сl1СШt3..1ыюе ЗН3 t lение слеПУlUшеrо (;И\oI.вола 131 rлаво 7 ПоследовотеЛЬНЬJе устройства 
в зависимости от типа клавиатуры с символом ERASE может быть по умолчанию связана клавиша < Dele(e>. для которой в разных операuион ных системах сушествуЮТ различные текстовые представления. Это наrшшное сВИдетельство имеюшихся серьезных разноrласий между ПОСтaDшиками UNIХсистем, которые не MOryт прийти к соrлашению даже по поводу TOro, какоЙ код должен reиерирОваться клавишей < Backspace>. В самых ранних системах клавиши <#>, <@> и <Delete> по умолчанию были связаны со спсuиальиыми сИМВОЛами ERASE, KILL и INTR. Некоторые системы по сих пор тайно используют их по Toro, как производится реrистраuия в системе, поэтому не включайте их символьные представления в свои пароли. 7.10. Команда st1y: конфиryрирование терминалов КомstШ8 stty позволяет непосреl1ственно изменять и запрашивать значе ния рa.зJТИЧНЫХ параметров прайвера терминала. Сушествует множество оппий. о которых можно узнать, обратившись к разделу покументации. тде описы вается драйвер терминала (tty(4), tty(5). но не tty(l)  зто простая ПрOlрамма, которая сообwaет, на каком терминале или псевлотерминале зиреrистрирован текущий пользователь). За небольшим исключением указанные там опции совпадают с опuиями команды stty. Мноrие опики одинаковы для большин ства систем. но существуют и различия. причем даже среди ропстuенных вариантов, поэтому лучше посмотреть. что написано в руковопстве по имеюшейся операuионной системе. Опции комаНДЫ stty MOryт слеповать в любом порядке и в любы сочетаниях. Дефис перед опuией отменяет ее. Например. следуюшая КО)fаНШI настраивает терминал на скорость 9600 бит/с с про веркой четности и без аппаратной табуляции: " .tty 9600 evan tab. Вот хорошее сочетание опций для npocToro терМина.....I8: 11 .tty l.ntr АС ki11 "О era88 "Н tab8 Зпесь опцня tabs запрещает прайверу терминала зan.ействовать ВCтpOH ный механизм табуляции (во мноrИХ терминалах табуляция не реалИ30Вflна аппаратно), а остальные опuии назначают спеuиальным символву INTR, КlLL и ERASE сочетания клавиш <CtrlC>. <Ctr\U> и <CtrlH> соответственно. Команду stty можно использовать пля ана..'1иза тек)'ших режимов прайвер терминала и их установки. Команпа stty без apryмeHToB выдает та""ую информацию: , .tty speed 9600 baud. раП. ty nире1 rows .. 2. co1umns ... 80 er,,"se ... "h; swteh .. <undef>; b=knt iлрсk istrip crn1 iхалу maxbel ол1сr echo ech08 echok echoct1 echoke exten Более пеТальный O'J"Чет ВЫ можете получить с помощью комаНдЫ stty evcl')1hlng, stty B или stty all, в зависимости от конкретной систсмы. В зто" случае резулътвт будет приблизителъно таким: , .tty . apeed 96ао b8ud; 132 Чость I Основы ОДМИНIIIСТРИРОВОниР, 
rows ... 24; еоlumлs ... 80; yp1.xels ... 364; xpxe18 ... 739; eucw 1:0:0:0. 8Crw 1:0:0:0 intr .. "с; qut .. "11 eraS8 .. ....h; k1.11 .. "u; eof .. ....di во1 .. <undet>; eo12 .. <undef>; sW1.teh ... <uлdеt>; starr. .. ....q; atop .. ....9; susp - ":Z; ds\.Jsp .. ....':1; rрrпt ......r; flush .. ....0; weraS8 .. .......'; lnext ... ....v; parenb parodd езе cstopb hupcl cread cloc41 loblk crt!lct!l parext i9nbrk brknt iqлраr parmrk lnpck istrip inlcr i9ncr icrnl iuclc lXOn ixany 1.xo!! imахЬtй 1151.9 Jcanon кеазе echo echoe echok echonl nО:П!lh to8tOp echoctl 8ehoprt echoke defeeho flusho pendln lexten opost oleuc onlcr ocrnl onocr onlret ofl11 ofdel Формат вывала остался прежним, но отображена вся имеюшаяся информаuия. О содержании полученной выходной информвuи и мОЖНQ пОr8.д8ТЬСЯ ин"I)'итивно. Комакаа stty работает с файловым дескриптором CBOCro стандартноrо входноrо или выходноrо потока (в зависимоСТИ от конкретной системы), поэтому с поfl,.юшью операТоров переадресации, предусмотренных в интер преТ8торе команд (">1' и "("). можно устанаsливать и запрашивать режимы не тОЛЬКО текущеrо, но и др}'rnХ терминалов. В некоторых система.'\( изменять режимы терМ1iнала дpyroro пользователя имеет право ТОЛЬКО пользователь root. 7.11. Команда tset: автоматическое конфиryрирование Команда tset YCTaнas.rrllВaeT драЙвер терминала в режим. соответствуюший данному типу терминала. ТI01 терминала можно задать в командной строке: если он не указан, используется значение перемеиной среды TERM. Синтаксис команды tset предусматривает возможность изменеНИя значе ний переменной среды TERM. Это полезно, если вы часто входюе 8 систему через модем или коммутатор даНI-JЫХ и хотите, чтобы драйвер был сконфи ryри-рован В расчете на реальный терминал, который ИСПО.lьзуется На друrом конис соединения, а не на нечто слишком об шее и бесполезное вроде "коммyrируемоrо терминала" (тип "dialup"). 7.12. Как справиться с .эависшим. терминалом Некоторые проrpаммы tнапример, редактор vi) вносят в проuессе своей работы серьезные ИJменения в параметры драйвера терминала. Пользователь. как правило. этоrо не замечает, поскольку при завершении или приостановке проrpаммы состояние терМИН3..'1а полностью восстанавливается. Опнако cy шествует опасность, что проrpамма прекратит работу аварийно или ее ВЫJlолнение будет прервано но заl,ершения проuедуры ВDс.ста.новления. Если ЭТО случится, терминал может перестать правильно обрабатывать СИМIЮЛЫ новой строки, отображать вводимые символы и зш:кватно 8ЫПО;1ШПЬ комаНДЫ. Еше олин способ нарушить работу терминала  выполнить команду cat или more по отношеНliЮ к двоичному файлу В большинстве таких файлов содержится причудrrи8аЯ смесь ynраsляюших символов. которая наверняка окажется '.смртельнои" DJIЯ недостаточно устойчивых терминалов и эмуля- торов. Для решения проблемы можно воспользоваться комаНдОЙ reset или stty запе. В большинстве систем команда reset ЯВJ1яется лишь ссылкОй на команду tset и может ПРИНIOfать большинство ее apryмeнтoB, но, как правило, она rЛQВО 7. ПоспедовотеЛЬНЬJе устройство 1ЗЗ 
вызывается без apryмeнтoB. Обе команды. и reset. и 5tty sane, восcrананливают работоспособность драйвера TepM11Ha..1'Т3 и посьшзют терминалу соответствую ШИЙ код сброса из базы данных (еnnсар (или tCnninro). ест., таковая имеется. Во мноrих случаях сброс необходим потому. что терминал был оставлен в спеииалъном режиме. в котором BBoтfМыe пользователем символы не обрабатываются. В этом режиме БОЛЬШliНСТВО терминалов при нажатии клавиши <Retum> или <Enler> rенерирует только символ возврата каретки «CII1M». Символ перевода строки, после получения KOToporo текущая комаНда посылается на выполнение. не reнерируется. Чтобы ввести символ новой строки непосредственно, вместо клавиши < Retum> нажмите комби нацию клавиш <CtrlJ> или клавишу перевода строки (если она имеется). 7.13. Модемы Модем преобраlУет цифровой ПОСJlедовательньJЙ сиrнал компьютера в ана..тrorовblЙ. приrодный ДJ]я передl:!.ЧИ по стандартной телефонной линии. Модемы применяются при работе со мноrими ПРИJJожениямн. Типичный прямер лряведен в парвrpафе 13.8. Внешние модемы имеют rнездо RJ 1I СО стороны аналоrовоrо снrнала, в со стороны цифровоrо сиrналв  разъем ста!Шарта RS-232 (об""",о розетку OB25). На передней панели модема, как правило, есть ряд лаМпочек. сиrнализируюших о состоянии модема и происходящих в нем проuессах. Сам модем должен располаrатъся в области Прямой видимости, чтобы лампочки были хорошо замны. Внyrpенние модемы обычно применяются только в персоналъных KOM пьютерах. ПЛата модема вставляется в слот ISA. РСI ИJm PCMCIA и нмеет rнездо RJI 1, которое выведено на зan.нюю панелъ компьютера. Внутренние модемы пешевле внешних. но их ТРУ!lнее конфиrypИРОВ8ТЬ и У них нет mr.дикаторных лампочек. Если вы собрались покупать внутренний мопем. проверыt, ПОШlерЖИllа ется ли он в имеюшейся версии UNIX. Некоторые быстро.пействующие проиессоры берyr на себя часть функций модема, въmолняя обработку основных сиrналов. Для Taкoro рода в(,.-троенных модемов требуются СПеuИа лизированные драйверы. Маловероятно. чтобы они подперживались в PC версиях UNIX. Модемы различаются по обшей устойчивоcrи. но. не имея опыта, эту характеристнку оuенпть трудно. В прошлом опии модемы Бы1Iи более устойчивы к помехам в линии. чем прyrnе. Сеrодня в большинстве моделей стоит cfaндартный набор Мlfкросхем ОТ одноrо из основных произвопителей. поэтому различия между модемами не столь веЛИКИ. как раньше. БЫС1'рОдействуюшие модемы требуют наличия сложных микропроrрамм. а в IOfX часто встречаются ОlПибки. По мере возможности произвопители стараются Использовать один и тот же микрокод в ра-ЗНЪJ}( моделях, поэтому и хорошие. и lUюхие nporpaMMhI распространяются на uелые семейства модемов. По этой причине мы рекомеJШyем покупать модемы широко Известных марок. Протоколы модуляции, коррекции ошибок и сжатия данных В Былъle времена имело большое значение, какие именно протоколы полдерживаются модемом, поскольку стандарты поcrоянно менялисъ, а npoизвоmrre.rrn модемов не вcerдa реализовывали полный KOМIDleкт протоколов. 134 ЧОсть 1. ОСНО8Ы ОДМИ""ИСТрИРОВО,,"ИА 
Сеrодl-l.Я модемы, Иfеюшие одинаконую скорость, в ОСН08НОМ приnержива ЮТСЯ ОДНИХ и тех же стандартов. Единственное различие между моделями модемов  зашитые в них микропроrpаммы. набор электронных компоиентов и техническая поддержка. Скорость персда\.l"И в бодах  зто частота, с которой модулируется сиrнал несушей. Если имеется более двух уровнеЙ сиrнапа. то за о;шн переход можно передавать более onHoro бllта ИНфОрМJU1111 и скорость в битах будет выше скорости в бодах. Исторически СЛОЖIfJ1ОСЬ Та..... что скорость перепаGИ данных и частота перепа'lИ сиrналов модеt.-tами были ОДJшаковыми. что привело к непрепиамеренному слиянию терминов "бод" и "битjс". Самые быстроденствуюшие на сеrопняшний день модемы работают rlO стандарту V.90 "56К". которыЙ в деИСТВИТСJLЬНОСПI не соответствует пропу скной способности 56 КБI1Т/С В лучшем С:lучае 01-1 обесne'lивает скорость связи 33.6 Кбит/с между ко,-шьютером и rJропайдером и S3 Кбит/с в обратном направлении. Тем не меНее. стандарт V.90 позволяет очень близко подоЙти к теореТИ'lескоr.rу и практlt'Iескому преДС.1ТУ скорости распространения сиr налов по обы'IНЫМ rолосовым телефонным ЛИНlfЯМ. поэтому маловероятно, чтобы он был заменен 8 ближайшее вреМJI Два предьшуших стандарта "56К"  Х2 и S6Kf1ex  являлись попытками ПРОИЗiюдителей (US Robolics. теперь часть 3Сот. и Rockwell соответственно) внедрить модемы юшсса V.90 на рыно"К по Toro. как появился соответств}ю тии стандарт. Они попрежнему подцерживаются некоторыми провайдерами. но в ближайшее время наверняка окончательно ИС'IСЗН}'Т Большинство модемов Х2 и 56КЛсх можио обновить до уровня V.90, поэтому не выбрасьrваЙте такой модем. если он у вас естЬ. ПомеХIf е ЛI1НИИ передачи MOryr быть ПРИ'IИНоj;j возникновения Jна'lИ тельноrо количеC11lа ошибок 8 модемном соединен-ии Для УС11>анения подобных проблем раработаны рО"lJlич-ные протоколы коррекци-и ошибок. которые обеСПСЧIIВают формирование паКСТО8 передаваемых данныХ и исправление ошибок lIа осноuaНШI проперки контрольных сумм. Эти протоколы Jащищают ПОJlыоватеЛJl и прикладные проrpаммы от помех в линиях С8ЯЗИ И обычно не треб)1ОТ дополните.'lьноrо конфиryрирования. Anrоритмы сжатия данных обеспеч-ивают умеиьшение количества бито", подлежаших передаче МСЖЛ) аиалоrовыми оконечными источниками Коэф фиuиент сжатия варьируется от единиuы (ко..да передаются лаиныс, уже подвеРПllиеся сжатию) по 4: 1. l"ипичный покаlзте.llЬ  1.5: 1. Как правило. при 8ключенном режиме сжатия скорость пере1l3'IН 11ЗННЫХ увелlt'lивается. Выходная конфиryрация: файлы fetcfphones и fetcfremote KOt.-t3ННbl tip И со Позволиют ПОСblЛать Последовательным \'стройстм командЬ! с клавиатуры Чаще Bcero они используются с модемами. ио MOryr примеияться и для "обшения" с 1"lринтерами и терминалами. Команды tip If СО используют два файла конфш...раuии, в которых реrиС11>ИРУЮТСЯ номера телефонов (/etc/phOlles) и информаUI1Я о лослсдовательных лортах (/e!c/re то!е). Фанл /ctc/remole выпядит следующим обрюом: I /etc/remore: nараиетры модемов dJ.al19:00 119OO Ba\Jd :dv"/de.r сulО: br 119200:' CU.:.</dev/cul0: аt.=.hаУЗ :ои: dlаlЗВ400 I d1aler 138400 Baud:dv==/dev/eulO: br!! 38400: fЛОВQ 7 Последовотельные устройство 135 
cu-/dеv/сulО: 4t-hayes :du; УЗJlw, С которыми часто уС'l'енаВJiивается C8.F13b исс :рn-ЗЗЗ8118: tc--dаlЗ840D сс: pn-I: tc--dl.аlЗ8t.100 dca: dv-/dev 'tt.yhl. /dev/ttyh2: br'9600: pa-nor.e В первых двух записях ОПИСblваются характеристики вызывающеrо устройстве. В последних трех строках дана информация о связи с коикрет нымы компьютерами; ка.ж.д.ому соединению назначено краткое имя. Обратите внимание иа то. что в записи ее номер телефона звписан как РП 2 @. Это означвет, ЧТО номер (или номера) следует брать из файла /etc/phohes. letc/phones: в зТО.... ф.аЙJ!е Mory':' содержаться ноыера ыеж.пуrоро.пных и международных 'i'елефОНО8. а т.акже Cel':pe'I'HDIe ноыера, поэтому он должен быть досупныN толы':О суперПОЛЬ308а'l'елlO се 5552530 rnonet 8, , 510, 55S4567"" )(xx:кxxx Файл phones содержит описания телефонных номеров. которым назначе иъс символические имена. В ЭТОМ примере xxxxxxx может обозиачать номер междyrородной связи. Знаки npеnинания используются WIя обозначения задержек или ожидания BToporo тоиалъноrо сиrнала Переченъ и назначение таких управляющих сим:волов зависят от марЮI модема. Как правило. это запятые, знаки равенства и звездочки,  Дуплексные модемы Во мноrих случаях удобно КОНфШ'РИР08ать О..1IIН lOдем как на прнем, так и на переда'l}" данных. Для зтоrо требуется сnеUlfaJlьная настройка последовзтельноrо порта, поскольку ПlIOиесс getty 80 время И3'18..']ЬНОЙ заrpузки обычно принимает на себя полное ynрзаление последователъньrми портами. Друrие проиессы. которые хотят работать с модемом, остаются "вне иrры". ибо не MOIyr открыть порт даже тоrда. коrда модем фактически не используется. К СОЖ3Jlению, не приходится rоворИТЪ о высокой степени стандартизации в плане упрзаления пуплекснымloI модемами. В Solaris. 'Iтобы перевести последоватеЛЫIЫЙ порт в дуплексный режим. выполните следующие оперЗIlИИ' при подключении мон-итора порта укажите в команде ttyadm флаr b; в KiI.'ICCne apryMeffia команды tty8dm JaдaiH файл /de"ijcuaJa a t-te /dеv/tепn/а), отреllзктируйте фаЙл /etc/llucp/De".ice"i. ВКЛlO1lИН в Hero имя !lYnleKCHoro серlJиса. С примерамн R подробным описанием этоrо проиесса можно ознако митьс.я в разделе "How [Q SCI Up BidirecIlOna M()dcт SCr\'ice" СПРЗIЮ'IНИК3 Sоlапs AnswerBook. В HPUX и Red Hal с Д}Тlлексны"ш nopTaMIf можно применять специальный проиесс getty. называЮШIfЙСЯ uugelty. во избежание конфликтоrt проиесс uugett). использует файлы б.'lОКИрОВКИ совместно с такими проrpам мами. ка,,- cu. tip и uucico. (hP] g 136 ЧОСТЬ I ОСНОВЫ ОДМИНИСТрИрОВОНИЯ 
7.14. Отладка последовcrrельной ЛIo1НIo11о1 Наладить работу последовательной lИНИИ неСJlОЖНО. Приведе...' переченъ типичНЫХ ошибок. Вероятно. вЫ: забыли дать дечону il1it }"Кззанне повторно прочитать свои конфнrура UИQнные файлы; . забыли установПЪ режич проrpаммноЙ несуще"Й при ИСПО#1Ь30Б3НI'IИ трехпроводных кабе.lей: исполъзуете кабель с оборваЮоfЫМ Ну.lевым ПРОБОЛОМ; . лрн лайке или обжимании ЛРОВОДОВ персвсрнут! вверх HOral>rn разъем ОВ-25; по.пк..'1ючили устройство не к тому ПрОБелу (возможно. нзза Toro. ЧТО моитажные схемы оказаJIИСЬ неправильныии ИlИ неточными); неверно зма.llИ пара"'fетры rCpMHHaJI3. Отводная коробка  незв..tенимое срепспю устранения ПрОО..'1С\tl в кабельных системах. Коробка, которая ПОДК'1Ю'lвется к последовзте.1ЫЮЙ ЛИНИ"И. препнюна'lена ДJIR ннпикашtи на..l!ЧИЯ СИПlалов в люБО1 'В ПРОВО:l.Oн кабеля R данный момент времени. У .хороших отводных коробок на каждой стороне есть и ВН"1КИ. 11 розетки. поэтому они \lOr1'T подключаться С8\fЫ\1И разными способами. С каждым из представ..1ЯЮШИХ интерес контактов (8 '1менно, с контакта\.fИ 2, 3, 4. 5. 6, 8 и 20) связанЫ СElетоЛlЮДЫ. которые ПокаЗЫВaIOi, I(оrда контакт аlo.'Тивен. Некоторые OTBO;IHbIe коробки позво..1ЯЮТ просто наб.."1Ю:Iатъ 38 сиrнаJ1ЗМИ. а некоторые дают возможность осушествлять повторную развод1<."\' сое!l.1НСНИЙ и подтверждать наличие напряжеШiЯ на конкретном контакте. Нпример. если есть подозрение. 'ITO кабель ужно сделать НУЛЬfl.lOдемным. ТО можно с ПОf\ЮШЬЮ ОТВОlIНоЙ коробки изменить ичеюш,rюся разнодJ...")- Ii поменятЬ местами контакты:! и 3, 6 и 20. 7.15. Друrlo1е распространенные порты BBoдaBЫBoдa Ранее последовательные порты были безусловным стандартом !l.ТIЯ под ключения нIfзкоскоростныx периферийНЫХ vстройств к UNIXcJfCTeMaM. Но сейчас. по мере перехода llNIX на персона-'1ьные компьютеры. появ.1ЯЮТСЯ иовые возмоЖНостИ. ПаралЛС!lьные порты пеРСОН8.llьноrо 1(0lПьютера схожи по ap\"11TCKT)'pe с последовательнЪ1МИ портами. но передают за раз 8 БИТ08. а t-te 1. Это позволяет им работать rораздо быстрее. но усложняется структура кабельной системы и разъемных соединеНlfЙ. пара..']lелъныe Ifнтерфейсы широко прнменяются в принтерах, а также lL'1Я ПОШс..1ючения ZiРДИСКОRОДОВ н наКОПliте::lСЙ на маrнитноЙ ленте, так как им t-tужиа более широкая полоса пропускания. чем та. которую t.foryr обеспечить последотельные порты. В UNIX. однако. подnержка пара..ч.lельны1x устройств в основном оrpаннчена прннтера\.НI USB (Universal Serial Bus  унивеРСR.'1ьная послеДОНJте..lьная ШИI.13)  это нелавнее изобретение. устраняюшее необходимость 11 послеДОН8Те.'1ЬНЬ\Х If параллельных портах. Это быстрый 11 эффекпmныt\ интерфейс. в котором применяются стаНllартные дешевые и rlpocTLIe кабе.1Jt. К сожа..l1еНIIЮ. потребуются roды. прежде чем орrаНИЗ8tll11-f CMOryт IПо,ШI1ТЬСЯ ОТ сушествую ших последовательных 11 пара..ле.1ЫIЫХ устройстн. r паво 7. ПоследовотеЛЬНЬ1е устройства 137 
Параллельные парты В персоиалЬНЫJ( компьютера.\ парa.rmельные порты сушествOIали десяти летиями, НО лишь недавно ОНИ Н3'Iа.llИ проникать в UNIХсистемы. Коrда UN[X устанавливается на персональном компьютере, в системе коифиryри руется один параллелъный порт. но некоторые производители иаЧ8.J1И встраивать такие порты и в спеuиа.Т1Изированные рабочие станции UNIX. чтобы к ним МОЖНО было подк..'llOчатъ принтеры, сделанные ДЛЯ рынка Windows. За все время существованяя параллелъных портов было пять юm шесть различ1-lыx стандартов, оnределяюших ИХ работу, НО современные параллель ные интерфейсы совместимы СО всеми ЭТИМИ стзнпартами. Наил}'Чший из сушествуюших СТ81.шартов  IEEFJ284. совместимый с БОЛЪШИl-IСТ80М своих предшественников Для достижеиия максимальной пропускноА способности можно пере80 ДИТЬ современные параллельные порты в режим ЕРР (Елllапсеd P.rallel Port  расшнренныl\ п.раллельныl\ порт) нлн ЕСР (Ex!ended Capability Port  лорт с расширенными возмож.нОСТЯfl.fИ). В обоих режимах пocnrrается скорость 2 Мбит/с и Выше. эти режимы в основном зI(вивалентны друт J1pyry. но в режиме ЕСР дополнительно ПО1Шсрживаются DMAKaHaJlbl. Неясио, имеет ли .:JТO KaKoATO практический интерес. Параллельный порт обычно оснащен розеткой DB25. а на перифернйном оборудовании установлены 36штырьковые розетки CenLronix. Таким образом, параллельные кабели имеют на одном конце вилку DB2S. а на npyroM  ви.лку Centrol1jx. Сущестиует также разъемное соединение miniCentronix, описанное в CТRI-Шзрте IEEE1284. Паrалле.1ьные кабеJII.1 MOryт быть д;rIиной ДО 10 м. В отличие от среды Wil1dows. rne существует ВОЗМОЖНОСTh ПОПК...1ючения множеCТl!8 пернфернйных УСТРОI\СТВ к лараллелъному порту, в UNIX широко поплерн..иnaются лишь принтеры. Дрyrие устройства. например Ziрдисководы и Dилеокамеры, требуют наJlIfЧИЯ спеuиализиропанных прайнеРО8. Как правило, такие драйверы ПрИХОЛJПСЯ устанавливать ир\'Чную, хотя операlllЮН ная система LinLlx существеино проднинулась в данном направ.nени.и. Хорошо это или плохо, вряд ли UNIX обеспечит большую поддержку параллеЛЬНh1Х УСТРОЙСТ8. чем сейчас, поскольку в обозримом будущем усилия разработчиков будyr сосредоточены ". стандарте USB Интерфейс USB USB  это универсаJIЬНая система подключения периферийных YCT РОI\СТВ, разработанная компаниям н Comp.q. DЕС IBM. Inlel, Microsoft, NEC и Northem Telecom. Первыl\ стандарт шины USB был олубликован в 1995 r. В последние rоды поддержка USB стала стреоrrе!IЪИО внедряться в Windows системы, в результате чеro праКТJ<fчески 8се новые компьютры нача.rщ оснашаться USВпортами. Кроме Toro, совремеиные пt'риферийиые устрой стиа теперь выпускают в USBBapl1aHтax. USB  отпИ'IНЫЙ интерфейс. Мы думаем, что 01-1 приобретет большую популярность в UNIX и будет сушествовать мИоro лет. Вот ero основные характеристики: . можно ПОДКЛЮ'lать до 127 устройств: . в USВкабеле есть 8cero четыре провола: питание, зазСМ.1ение и два сиrналЫIЫХ провода; 138 Часть 1. ОСНОВЫ администрирования 
разъемные соединения стандартизированы: разъемные соединеНI1Я невелики 1"10 размеру, а сами кабеЩ,1 тонкие и rибкие; е устройства можно подсоединятъ и отсоединять без выкmoчения mпания; скорость передачи пi.1нныx достиrает уровня 12 МБJrтjс; имеется возможность подключать к USBnopтy старые последовательные и параллельные устройства через специаJlьные переХОДНИКIf. К сожалению, на момеит написания данной кииrи лишь компания HewlettPackard обеспечивает поцnерж:ку интерфейса USB: ее рабочие стамuии оснашаются USВклавиатурой R USВМЫIllЬЮ. Скоро такая подnержка должна появиться и в LiПIlХ. Не вызывает сомиений, что 8 ближайшем будушем интерфейс USB станет неотьешеМОЙ частью всех UN(Хсистем. 
8 Добавление HOBoro жесткоrо диска Места на диеКt: никоrда Не бывает постаточно. Только ПОдКЛЮЧИШЬ К системе новый ДИСК, а через минуту он уже наполовину заполнен или, по крайней мере. кажется заполненным. Заставить пользователя о'-rистить свой ДИСК так же трудно, как заставить полростка убрать у себя в KOМ1-i8Te. Поэтому администратору иноrда ПРИХОДИТСЯ устанамивать ДОПО.'Iнительные жесткие писки. В большинстве систем дисковые накопители ПОlIКЛючаются к стзнn.артной шине лернферийных устро!!ств, называемой SCSI (Small Соmршеr Syslems Interface  интерфейс малых вычислительных CRCrel'r: ПрОИЗНОСJtТСЯ "скази"). Альтернативны!! интерфейс ID Е (1 лlеgratеd Orive Electronics  встроенны!! интерфейс накопителей) поддерживается производителями персон8ЛЪНЬrx компьютеров. Мы начнем эту rnaBY с общеrо описания cTaRДapтoB SCSI н IDE и конструкции современиьrx жестких ДИСКОВ, после 'Iero перейдем к обшим механизмам форматирования и разбивки дисков на разделы, а также к проиедуре иниuиализации файловых систем. ХОТЯ почти все посrавшики используют стандартные дисковые интерфей СЫ, команды конфиrурирования iIЛЯ писков разных фИРМПРОИ]ВОДИТС'1ей ра3..i'ИЧНЪ1. По 310А при'шне в jl8HHOA rлапе сопержится подробная инфор мация по конкретным системам. Мы Попыталиеь описать каЖдую систему neraJlbHO, чтобы читатель Mor разобраться в используемых командах и. npl-1 необходимости, сумел найти нужную документацию. Мы также рассматриваем процедуру инсталляции, проводимую в к8.Ж1IОЙ системе при подключении KoнкpeтHoro ДИСКО80rо накопителя. 140 Часть I ОСНОВЫ одминстрироваНИR 
8.1. Дисковые интерфейсы Сначала 1С8.ЖJlЫЙ производитель вычислительной технИКИ предлвraл для подключения жестКИХ днсков н друтих пернфернйных устройств интерфейс собственной разработки. Отчасти зто было обусловлено незреПОСТhЮ интер фейсиой тех.нолоrиl1. Кроме Toro. производители стремились получить KOH тролъ над рынком периферийнътх устройств ПЛЯ своИХ маШПН. В конечном Иiоrе дрyrие фирмы начали выпускать лЯСICовые системы. кторые отличались высокоЙ экоиомической эффективностью и полной совместимостью, а кроме тoro. 80 мноПfX случа.ю: работали rораздо лучше, чем устройства крупных ПРОИ380дителей. ПрОИ3ВОlIИтелеЙ компьютеров такоЙ ПО80рОТ событий не слиШКОМ обрадовал. История знает иесколько весьма шумны>: судебных процессов ПО поводу зв.щиты спеuификаций интерфейсов как коммерческой тайны ИЛИ патентованной технолоrnи В конце кониов вопрос был СНЯТ, поскольку промъштенность переuта на стандартные интерфейсные технолоrии. Сеrодня широко используется Bcero несколЬКо интерфейсных стандартов. хотя на rОрИЗ0нте появился ряд новых технолоrий. Важно уметь выбрать жесткиЙ писк, соответствуюший интерфейсу той системы, в которой он булет устаиовлен. Если система поддерживает нескольКО интерфейсов, выбор нужноro должен быть сделан на основании критериев скорости. произвоп.и тельноСТИ и иены. SCSI  один 113 наиболее распространс:нных и широко rlOддержиемых писковых интерфейсов. Сушествует несколько erQ разНОВИдНостей. 06ec печ-и-ваюших разную скорость работы; все ОНИ ДОПУСК8ЮТ подключение к шине нескольКИХ дисков. IDЕ  это простая д.ешевый интерфейс для персональных компьютеров. Он был назван "встроенным", потому 'По предполаraл наличие аппарат Horo контроллера, размешенноrо непосредственно в корпусе жесткOl-О диска. Взаимодействие межnу проиессором и жестким днском осушест ВJIЯЛОСЬ на достаточно высоком }- рО8ие. Сеrодня это стандартная архи теК1Ура всех современных дисков. IDЕписки обладают средней скоростью работы, высокой емкостью и невероятной дешевизной. Тем не менее, особенности интерфеАса I О Е делают ero приrодным для использования только в рабоl.rих станциях с 'Iетырьмя и менее дисками. Волоконнооптический K8HaJ1 (ста март Fibre Channel)  это пос-ттедова тельный интерфейс, завоевьmaюший популярность в корпоративной среде блаrодаря высокой пропускной способности и большому '1ислу устройств, которые можно одновременно подключать к каналу. Устройства сое.пи НЯЮТСЯ между собой с помошьЮ 80локоююоптическоrо или KoaKCRaJ1v Horo медноrо кабеля. В настоя шее время интерфейс 06еспечив;ает скорость передачи данных 100 Мбит/с и выше. ВолоконнооптичеСl<ие сети Mor}"r строиться ло тололоrnн FCAL (Fibre Сhалпеl Arbitraled Loop  ответвление волоконнооmическоrо кaHaJla с арбитражной лоrи кой) или с помошью коммутаторов. Волоконнооrпическое устройство идентифиuируется аппаратныM номером, которое называется всемирным именеМ (World Wide Name) и Н8ломинает MACaдpec Elhemet. . USB  ставший популярным в послеJIНее время стаl-Шарт ПОДЮТЮ'lения таких устройств, ках клавиатура и мышь. Однако он обладает достаточной пропускной способностью lDlЯ обслуживания дисковых накопителей. в частности съемных жестких дисКоВ и лисководов CDROM. Интерфе'k r лова 8. Добавление HOBorO жеcn:оrо диско 141 
USB широко распростр.тсн IJ персоналЫIЫХ кочпьютерах и позволяет леrко перемешать диски между системами. интерфейсы SCSI и IDF ДОМИНIIРУЮТ на рын-ке дисковых СИLтем. поэтом только и.х мы будем подробно рассматривать. Интерфейс SCSI Выпускается несколько комплектов интеrpальных схем, реалич.ющих Иlперфейс SCSI. поэтому продавuЪ1 IlaCTO стаият микросхемы IЮDJlерЖКIf SCS I прямо на плату центральноrо ПрОllессора НJlIf пермферш.1НЫХ )'строиств. Стандарт SCSI опредеЛЯei оБШJlf! канал переД3ЧII данных. которым MOIYT пользоваться периферийные устроиства всех нидов. В большинстве случаев в SСSIварИ8нте выпускаются жесткне Ш1СКИ. ШКОПJПели на маrнитной ленте. сканеры и принтеры. Стандарт SCSI не задает КОНСТР)1<UIfЮ If компоновку диска. он лишь реrламентирует взаимодействие ШfСка С друrими устроЙствами. Стандарт SCSI прошел несколько стадий развития. и 8 настояшее время сушествует версня SCSIJ. Пер.оначальныll .ариаит, SCSII. бьт разработаи в 1986 [. на основании оммер1lсскоrо интерфейса системнои шины SASI (Shugart AssociBtes Syslem InterfaceJ н прннят В качестве cтaНJIapтa ANSI. Вариант SCSI2 появился в 1990 r. и был обратно СОRместим СО спеL1ИфИ кзuией SCSIl. но обладаЛ наполнительными средствами повышения произ 80Пительности В IlаСТfIOСТИ. 8 нем орrаНИ10nывалась очерепь команд, IITO позволяло УСТРОЙСТI:IУ переУТlОРЯДОlшвать очере.з..ь ПЛЯ ПО8ышеНШI ПР(}ИЗ80ДИ тельности. и поддержинался распрепелеННhlЙ 8BOДBЫ80n. С)rшествуют разновидности интерфеЙса SCSIl. называемые '.Fasl" (Бы СТРЫЙ) и '''\Vide'' fраСШI1ренный). IIТO означает СООТ8eiСТИС.IIНО УДJЮСllие скорости работы ШIНIhI и }'ВеЛИ1Iеllне 'IИС1Ш битов. одновременно переда8ае мых по шине (оБЫ11НО 16 или 32, i:I не 8).. СпеwtФикаUIIЯ \\lide SCSI допускаеl подключение до 16ти устрОЙСТВ. тоrпа как в оБЫЧIIОМ варианте интерфейса  только в. СКОрОСТЬ и ширина канала  неэависимые характеРИСТИЮf. которые MOryr присутствовать одновременно. SCSI3  это в действителыюсти семейство СТ3НИирто8. В Hero RХОПЯ1 спеШ.lфlкаuии РЗЗlIИ1IНЫХ ФИJllчеСКIIХ носителей, ВЮIЮЧi1Я траJIШIlЮIIНЫС rlараллельные шины и высо-коскоростные послеДОRзн'льные интерфеисы. такие как Fibre СIШlшеl I-t '[ЕЕ 1394 (Fire\Ar'lre) Опpe.nеж'ны также Ilаборы SСSI-команд и введены улучшения. связанные с ЗВТОКОНФJlrУР3Нltей YCT ройств. поддержкой м}льтимеllИЙНЫХ приложепий и IIOBhIX ТИIIОВ устройств. ХОТЯ раБОТbI над спеuификаuией SCSI3 продолжаются, м:ноrие ее элементы уже присyrств}'ют на рынке, часто под liMeHeM UI[ra SCSI СпеuификаJПIЯ SCSI3 охватывает стандарт SCSI2, поэтому их можио СI[Иrать совместимыми Но помните: ПОДЮlЮ1lенис cтaporo устройства к новой шине может замедпить работу всей системы. Кроме Toro, оrpаничивается iIJшна кабельной системы. В SСSIсистеt,.1ах иноrда применяется такая особепюсть. KK ()uффеР('II- цuрование. В оБЫ1IНОМ ("неСltммеТрИ1IНО\.(') SCSIYCTpoticT8e каждыЙ вывод заземлен с uелыо уменьшеН"IЯ llept:KpecТllbIX помех СИПIlР1ОВ... Такая Рiниодка 31разрядныс шины SCSI не ()I.lCHb pacllpocтpaНCllbl. В некоторых из IIИХ требуется несколь ко кабелей, обозначаемых как кабель Д и кабель Б. Перекрестные помехи особенно сказываются на рабоl"С Ilараллельной электрической ШИНЫ ОКИ не оказывают ВЛИЯНИЯ на последовательные и волоКotПЮОIIl1{ЧеСЮfе интерфе'kы. [де максимальная }Jдина кабеля roраздо вышс. 142 Часть I ОСНОВЫ ОДМИНИСТр\.1рО80НИЯ 
оrpаничивает wтину кабеля 6ю метрами в SCSI I и 3.JЯ метрами в SCSI2. В Ultra SCSI обшая nлина шины еше \{еньше и составляет 1,5 метра. При дифференцировании рядом с каждЫМ проводом вмесТО заземления проходит обратныЙ сиrНал. в результате 'Iero суммарное напряжение становитСЯ равным нулю и уровень шума существенно снижается. Блarодаря дифференuированию длина кабельной системы увеЛИ'lивается llО 25ти метров в SCSI2 н 12ти метров в LIILra SCSI. Дополннтельнвя длина  очень важное преимушество. если все дИСКI1 (или библиотеки на маrнитнЫХ лентах) расположены в разныx стойках. Но дифференuирование ие поддерживается обычными устройствами, поэтому необходимо убедиться в RaJIИЧИИ пифреиuиальноrо контроллера, lIИска, кабеля и терминатора. Необходимо маркировать Бсе устройства, чтобы случаЙно не соединить несовместимые устроиства В табл. 8.1 перечислсны различные версии SCSI с указанием характери стик шины и ПЛИtlЫ кабеля Таблица 8.1. ЭВОЛIOЦIAЯ интерфеисо SCSI ДпИНО Чостото РОЭРЯДНОСТЪ Скоростъ Длине В реж.име Версия (мr.ц IБКТЪ/) (Мбойт/с) (МI д><ффереН цироваНИR  SCSII 5 25 SCSI2 5 25 Fast SCSI2 10 8 10 3 25 Fast/wlde SCSl2 10 16 20 3 15 UI'11I SCSI 10 8 10 1,5' 25 Wide Ultra SCSI' 20 16 40 1,5' 25 Widc Ultra2 SCSI' 40 16 80 З 25 (В8Д)' 11 (НВД) Widc UII11I3 SCSI' 80 16 160  , 12 (НВД) Может меняться, СМ. ниже. Craндapты Wide Ultra SCSI и Widc Ultra2 SCSI иноrда называют Fast20 wide SCSI и FabL--40 widc SCSI соотвеТСТВСННО. В этю:. версиях SCSI используется ТОЛЬКО дифферснuированис. 4 ВВД  31'0 ВЫСОКОВОЛЬПlOе дифферснuирован.ие. а НВД  низкОВОЛЬТНО<:. Первое исполь:ювалось в ранних версИЯ}( SCSI и не подnерживается в спецификациях. C'I1Iрших UItra2 SCSI. j CTaн.napт Wide UltraЗ SCSI иноrда называют Uua160. Максимальная длина кабеля в несимметричных системах Ultra SCSI и \Ar'jde Ultra SCSI зависит от Чl1сла исполь.зуемых УСТРОЙСТВ. В случае 8H,I устроиств предельная fl.,ll1Ha составляет 1,5 м; если используются только 4 устроиства. шину можно }'13eJJИЧ-ИТЬ до З-х метров. В стандарте Wide Ultra SCSI подцержка 16ти устройств обеспечивается только R режиме пифферен uирования. В SСSIустройствах MOryr встречаться разъемные соединения различных типов. Они MOryт быть как инеШНIfМИ. так и внyrpенними. В оБЫ'IНЫХ r пово В. Добавление HOBOro жесткоro диСка 143 
SС51устройсТВ8Х установлены 50KoтaКТHыe разъемы, а в устройствах с расширенной разрsшностью  68-контактные. Внyrpенние устройства поп к.лючаются с помоwью SOKomaXТHoA "широкой" вилки ИЛИ 68КОНТ8ХПЮЙ ВИЛКИ "минимикро'l, установленны)( на ПЛоском кабеле. Внешние устроАства подключаются с ПОМОЩЬЮ 50 ИЛИ 68I(QmaКimrx разъемов высоКоА плат ности. Фирма Apple уменьшила число контактов с 50 до 25, объединив все линии заземления, чтобы 1( шине можно было подключать разъем DB2. Существует также интересный разъем SCA (5;ngle Conneclor Attachmenl  единое разъемное соединение), применяемый в ДИСКОВЫХ массивах Urорячей.t замены. Это 80-контвктное универсальное разъемное соединение, через которое МОТУТ подаваться все снrналы, в том числе напряжение mrrанмя. На рис. А изображены наиболее рвспространеиные разъемные соелине нии. 1 -) C.ntronlC8 S()...КОНТ8КТНЫЙ, SCSI.1п, внвшн'-'IЙ , Разъем Н8 Пl1ОСICОМ кабеле (РО38ТU) .1 :, ig1:;  5о-.:0НТ8КТНЫЙ. SCSI1f2. внутренний 50 50 \.; .. ... ...... ....... ..... .) ......................... MMHMMM.po (НО50) S()...КОНТ8КТНЫИ. SCSI2. внешний 50 \; ................................ ") .................................. WМрОf(И ммниммкро (НО66) 6sКоНТВктНый. SCSI.213. внвшний/внутренний .. Сее  C) SCA-2 S()...kohtaKTI-lЫЙ. SСSI--З2. внутренний - -, во Рис. А. Распространенные розъемные соединения стондорта SCSI (вид спереди; В51ЛКО, если не указано иноеl Кабели SCSI обычно имеют с обоих KOOillOB ВИJП<И. а SСSI-устройства почти всеrда оснашены розетками. Шины SCSI орrанизованы По принuипу uтейфовой uепоЧ1СИ, поэтому у большинства внешних )'\.-IpOЙСТВ два SCSI. Порта. Оба порта абсолютно одинаковые и взаимозаменяемые. любой можно использовать как ВХОдноЙ. По каКОйто неизвестной причине поставщики сканеров считают, что нормальные законы физики на них не распространя ЮТСИ, н lfНorna пелают в устройстве Bcero один SСSI-лорт (еслн внутренней оконечной наrpузки нет. то для таких устройств необходим особый тип терминатора). 8нyrрениие SCSI устройства обы'IНО Подключаются с помощью плоскоrо кабеля. Им нужен только один порт, поскольку разъемные соединения можно устанавливать посреди nлоскоrо кабеля. Необходимо убедиться, что контакт I шины SCSI Подключен к контакту I жеспсоrо диска.. Нв плоском кабеле первый контакт обычно помечается красной полоской. 144 Часть I Основы ОДМИНИСТРИРОВОН50IЯ 
Оконечная наrpузка (терминвтор) 110лжна предусматриваться на обоих кониах шины SCS 1. Терминаторы поrлошвют сиrналы, l1ОСТиraюшис коНца l1IИны, И предотврашают их отражение обратно в шину. Оконечные устройства различны по KOHcтpYКЦIrn. ОТ маленькЮ( наружных ВИЛОК, которые вставля ются в обьrчный разъем, до крошечных резисторны)( блоков. которые монтируются иа печатных матах. Некоторые устройстЦ8 содержат BнyтpeH нюю оконечную наrpузку. В SCSI 1 применялись терfto1ИН8.ТОрЫ дрyrоrо типа ПО сравнению с более поздиими специфик8.WiЯМН ('.пассивные". 8 не "активные"), поэтому оченъ старые терминаторы (и старые устройства с внутренней оконечной наrpyзкой) MOIyr не работать в современных шинах SCSI. На првктике такие устройства встречаются очень редко, поэтому проблем с терминаторами обычно не возникает. Олин канеи шины чаще Bcero располаrается внyrpи компьютера (либо на SСSI-контроллере, ;rnбо на внуrреннем SCSI-l1ИСКОВОl1С). Друтой конеи завершается на внешнем устройстве или SСSIконтроллере. Если на шине SCSI пеРИОJIИЧески возникают ошнбки. кажущиеся случайными, в первую очередь проверьте правилъность оконечной нarpузки на обоих концах. Неправилъное нспользование терминаторов  одна из наиболее частых ошибок в SСSIКОНфИJ'ураuиях. Эти ошибки не всеща очевИдНЫ и ТРУl1НО обнаруживаются. Каждое устройство имеет SCSIaдpec, или "uелевой номер", ПОЗВОЛЯ1Оший ОТJrnчать ето от дрyrнх устройств, подключенных к шине. UeneBLIe номера располаrаются в диапазоне от О до 7 или 15. в зависимости от TOro. какая шина в наличии: с обычной или расширенной раЗРЯдностью. Сам SCSI KOH троппер считается устройством и обычно имеет номер 7 (даже в шинах с расширенной разрЯдНОСТЬЮ, чтобы обеспечивалась обратная совместимость). Цепевые номера всех остальных устройств ДОЛЖНЫ быть уникальными. Распространенная оШИ'бка  забыть, что у контроллера есть номер, и назнащtТЬ этот номер HpyrOMY устройству. SCSI a.пpec присваивается ПроИЗБQЛЪНО. С технической точки зреНl'Я он определяет приоритет устройства на шине, но на практике ЭТО не имеет особоrо значения. В некоторых система.'( диск с младшим номером выбирается в качестве заrpузочноro, а в НРУПJХ системах требуется, чтобы заrpузочный диск И"мел llе,евой номер о. Еспи вам повезет, то на добавляемом к системе устройстве будет внешниЙ дисковый переключателъ Ш1я установки иепевых номеров. Сушествуют и нрyrие способы установки uелеВых номеров, в частности с помошью DIРпереКJlючателей и переМЪJчек. Если методика установки номера устрой ства не ясна. обратитесь к покументации, прилaraемой к аппараПfЫМ средствам. СТВЮIарт SCSI поддерживает 110ПОЛНИТельную форму адресаuии. назы ваемую "номером поrическоrо модуля". В каждом uелевом устройстве может быть несколько лоrических МОllулей. РеалъньrA пример  дисковый массив с о.llКИМ SСSIконтроллером. Однако на самом пеле номера лоrических модулей используются реl1КО. KOJ'l1a встречается термин "номер модуля SCSI", можно считать, ЧТО речь идет о uелевом номере, пока не будет сказано обратное. Если у SСSIустройства один '10rическиЙ модуль, он Bcerдa ИМеет номер о. ШИНЫ SCSI довольно просты в конфиrypировании, но при их исполь зовании может возникнуть uелый рЯд проблем. Вот некоторые из них. . Во МНOI'их рабочих станциях есть встроенные SСSIустройства. Леред тем как перезаrpужаться при включении HOВOro устройства, проверьте r лова 8 До60I!ле"lе I юноrо ,;..erт..oro диска 145 
переченъ текушltх устроЙств. Помните, что большинство накопителеЙ на маrнитной ленте. а также писковопЫ rибких дисков некоторых фирм (тпавным образом, HewlellPackard) относятся к SСSIустройствам. . Убедитесь. что к .nифференuиально'У SСSIкон-rpоллеру ПОl[К.Лючены только аналоrwrnые устроЙстна и терминаторы, а если имеется несим метричная SСSIuепочка. то в нее не ВХОДЯТ дифференциальные устрой ствз. Несимметричные и диффереНllиальные устрОЙства не совместЮАЫ. . ПОдКЛЮчив новое SСSIустроЙство. проверьте перечень устройств, выя&-- ленных операuионноЙ системой nplf перезаrp} зке. Все 1m устройства были обнару...кены? Большинство драйверов SCS 1 не обнаруживает устро'Йств. имеющих олин SCSIaдpec (подобная конфиrурация создает MHoro дрyrю: проблем)_ Некоторые расширительные коробюt (кожухи С источником питаниЯ и одним ил..и нескольким.и SCSI устройствами) имеют внyrpеннюю оконеч ную наrpузку. ЕсЛl1 к ним подключены внешние устройства, мотут возникнуть проблемы. Bcerдa проверяйте наттичие двух терминаторов и следите, чтобы оки были расположены на концах шины. . Иноrда дисковый перекточатель. используемый для установЮI SCSIaд ресов, при установке ориентирован неверно. В Таких случаях он будет, конечно, изменять SCSIaдpec, но совсем не так, как указано на переключателе. . Рассчитывая длину шины SCSI2. не забудьте учесть кабели внyrpи устройств и расширительных коробок (а ошi MOI)I быть весьма длинны ми). Помните также, что максимальная .nлина кабеля уменьшается при подключении старых SСSIустройств к шине HOВOro ТИПа. . Нltкоrпа не забывайте о том, что SСSIконтроллер имеет собственнъlЙ SCSlaдpec! Интерфейс IDЕ ИнтерфеRс IDЕ. также известныЙ как АТА (АТ Altachmenl  лодклю чение к А Т совместимым КОlоптъютерам J. по замыслу разработчИl<ОВ должен был быть npOCTblf It не1l0рОrим. Чаще вееro он применяется в переональнbJX компьютерах и дешевых рабочих стаНШfЯХ. IDЕконтроллер встроен непо средствеино в диск, что уменьшает стоимость интерфе'Йса и ynрошает микрокод контромера. ИнтерфеЙс I ОЕ завоевал популярность в KOHue 80x rf. Вскоре после зтоro появI01СЯ стандарт ATA2, удовлетворявший растущие запросы потребителей и фирмпоставшиков жестких дисков. В ATA2 бьши добавлены режимы РIO (Programmed 1/0  проrpамми руемый ВВОkВЫВОД) и DMA (DireCI Memory Ассе.,  прямой доступ к ламяти), в также расширена поддержка технолоrии Plug алd Play_ Кроме TOro, была реализована технолоrия LBA (Loglcal Block Addressing  лоrическая адресация блоков). которая (наряду с расширенными ВIOSлроrpаммами персональных компьютеров) позиоляла системе обрашаться не только к первым 1024 uилиндрам диска. Ранее изза 1l0добноrо оrpаничения макси мальный размер диска состаилял 540 Мбайт. В те времена никто и не думал. что коrпанибудь понадобится диски большей емкости' Поскольку BIOS ynрапляет процессом начальной заrpузки, иноrда необходимо создать маленький заrpузочный раздел в пределах первых 1024 uилиндров, чтобы rарантировать з8l1'УЗКУ ядра старой ВIOSnpоrpаммой. После таro как ядро зarpужено и начало выполняться. необходимость в BIOS 146 Часть I Основы ОДМl'tниcrрировони 
исчезает и появляется возможность поступа к оета.rIЫIOЙ части диска. Подобный обходной маневр tle нужен в сеrоднлшних системах. IIOCKOilbk'). технолоrия LBA не использует схему адреС8ШШ "UJ.lЛИН..'tPrОЛ08касектор". Совре'lенная схема адресt1.11ИИ яиляется 111.Iнейнои В стандарте ATA3 добаалены средства lIовышеюtя наДСЖНОСПl, упра8 пения питанием и самодиаrностикн CTatЩdpT АТ A4 все еше нвходится в стадии разработки. СпеЦИфllкаuия UltraATA ЯILТТЯСТСЯ попbtпои vстrанить разрыв между CTaMapT3t.m ATA3 и ATA4 за счет добзмения: пысокопрои] водите.льных режимов, НaJывающихся LIllra DМА/33 и LIltra DMAj66. В "'" полоса пропускзния шины расширяется с 16 Мбит/с iIO 33 Мбит/с и 66 Мбит/с соотвеТСТвенно. Станяарт ATA4 также преследует цель объединить интерфейсы ATA3 li ATAPI (АТА Packel Iлtеrfасе  лакетныl1 интерфеЙс АТА). Последни'Й представляет собой протокол, ПОlПО!1ЯЮШЮ1 !ШСКОRоn.ам CDROM и накопителям на маrlillТНОЙ ленте работать на шине 'ОЕ. IDЕД1tски Bcerlla яв.;IЯЮТСЯ ННутрСНВИМИ. МаКСf1МClльная Д,.'lнна Кitбе;ш .wтя ШИНЫ ATA2 состамяет Bcero 18 дюимов (45,72 см). ИЗJа чеrо диск бывает тру.nно установить даже в веРХНИ" отсек. Помимо оrpdНlrЧСliИЯ на длину кабеля. интерфейс IDE позволяет подключать к шнне только два устройства. Для преодоления этоrо недостатка некоторые ПрОJПИОiIJtте.:JИ оснзшaIOТ материнские платы несколькими шинами 'ОЕ Лоступ к I DЕустройствам ПрОИЗВОЛJfТся последовательно, Т.е. в опреде ленный момент времени активным может быть только ОДНО устройство Следовательно, nPОИ3ВОДlпелъность будет выше. еслИ распределить устройства по шинам. Разместите высокоскоростные устройства. например жесткие диски, на одной шине. а накопите.тt на маrнитнои ленте и ДIIСКОВО'nЫ CDROM  на .nрyrой. чтобы медленные устройства не сдерживали работу быстрых. В стандарте SCSI работа с несколькими устроАствами. подключен ными к одной шине, орrаНИJована rораздо лучше, '"leM н IОЕ 8 . В IОЕ используется 40контактныЙ разъем. размешенный на плоском "абеле, которыЯ: соединяет диск и интерфейсную l1.Т1ату. В новыХ I OECTal1 нартах, в чаСnюсти в Ultra ОМА/66, применяется npyrol'; кuбель с большим числом линий 'Заземления. вследствие чеrо уровень ШУМОR 1l00.lИжен Если кабель или жесткиi., диск не маркированы должным образом. убелитесь, чтобы первый KOtrraxт ЛИСКQвоrо разъема был соединен с первым контактом интерфейсной ПЛаты. KOl-пакт номер 1 обычно помечается МaJIенъко'Й пифрой I на разъемном соединении Fсли- 'Этой uифры нет, то воспользуйтесь праl:lЮЮМ. которое rласит. '"ПО l1ерлый контакт расположен ближе псеrо к разъему n:итaния. На кабеле првый контакт обозначен красным uвeTOM. Если к шине I ОЕ ПОдю1Ю'lено несколько устройств. необхо,nимо одно из них сделать rлавным. а остальные  подчиненными. Некоторые старые IDЕ!lИСКJI не MOryr быть подчиненными. в таком случае нужно попробовать поменять устройства РОЛП.МИ. Если 01-lИ попрежнему не работают. лучше поместить кажп.ое устройство на отдельную шину. Устанашпmaя IDЕустройС'ТМ.. необходимо помнить о СJlедуюLl..(If'\ момеНта\. Новые IDЕдиски работают со CTapbIMI'1 платами, а старые IOEДIlCК11 работают С новымн платами. ECTeCTneliHO, поддерживаются ТО."lЪКО те возможности. которые являются обшJ.lМИ МЯ обоих Tllrro8 устрШiСТВ. в SCSI поддерживаются такие возможности. как I1срекрываюшисся KOMaнnы, очередность KOMaнn. распределенный BВOДBьrвoд и высокие скорости передачи данных. Все это позво мет SСSIуC11IOЙствам л)'Чше функционировать в мноroПОЛЬЗОВ8тельскоА среде UN [Х. r пово 8. Добавление t-JОВОro жеCТJl;:оrо дltlСКО 147 
Длина кабеля слишком коротка. поэтому дополнительное устройство может подключаться к шине с натяжкой. Если устройство работает нествбильно, проверьте штину кабеля. . Иметь дело Со старыми ВIОSпроrp8ммами, которые "ВИДЯТ" ТОЛЬКО первые 500 Мбайт диска,  настоящий кошмар. Лроверьте в Iпtеrлеt, не выпустил ли производите.tfь новую версию BIOS. В противном случае лучше купить новую матер\olНСКУЮ плаТ}l. . Хорошие .nрaйDеры MOI)I сушестэенно повысить производительность и надежность жесткоro .писка, особенно если они ПОДI1ерживзют самые послеJIНие стандарты. Проверьте. располаrасте ли вы новейшей версией драйвера. Что лучше: SCSI или IDЕ? Это часто задаваемый вопрос. на который обычно отвечают, что 4С у каждоrо стандарта свои преимущества". Мы же рискнем дать простой ответ: SCSI лучше. Как правило. ПраВИJТbнее roворитъ о том, что стандарт SCSI превосходит 1 ОЕ по 8сем техническим параметрам, но стоимость SСSIоборудования CJ1И1UКОМ высока и часто оказьmается неприемлемой. Для о.n-нополъзовательской рабочей станции дешевый IDЕдиск высокой eMKOCrn обеспечит 85% производитель НОСТИ CBoero SCSI вналоra. Замена I DE!lIICKa SCSIRapllaHTOM в подобной ситуации не приведет к заметному повышению производителъности. Однако в некоторых случаях устанавливать SCS I устройство желательно I01и цаже необходИМО. Если требуется обеспеЧJПЬ максимально возможную ПРОJlЗВОДlfтельность, выбирайте SCSI. Частично рост ПРОИЗ80ДИтельности обусловлен техни чесIOtм превосходством интерфейса SCSI в сравнеtши с Иl-перфейсом IDE, но в основном он связан с политикой произвощпеле'Й жестких дисков, которые стремятся разrpаниl.fИТЬ возможности IDE и SCSlYCT ройств_ Это выrодно с маркетинrовой то(rки "Jрения. так как позволяет производителям разнообразить линии своих пропуктов. поэтому они сознательно не оснашают свои самые новые JI производительные дисковые мехаю{змы1 интерфеЙСО'1 I D Е. . В серверах и мноroполъзоватеЛЬСЮiХ система.х жателъно устанавливать SСSJустроАства. Интерфейс SCSI незаменим в ллане у'"еIШЯ эффеКnffiНО обрабатывать одновременные запросы. В заrpуженной системе замена IDЕ.nиска SСSIаналоrом приведет к ошутимому росту произволитель- ности. . Если нужно ПОДJ(J1ючать мното устройств. опятъ выход один: SCSI. SСSIустройства хорошо работают с УСТРОЙСТ8ами друrих типов, Torдa как IDЕ.nиски стараются захватить KOHTpO:Jb "Iал шиной. Иноrда требуются возможности, которые предоставляет только интерфейс SCSI. Например, нельзя созпать дисковый массив С возможностью .'rорячей" замены. соСТОЯШИЙ из IDЕ.nисков. 8.2 Конструкция COBpeMeHHoro дисковоrо накопителя Конструк.uия coopeMeHHoro жесткоrо диска и терминолоrия, используемая .nля обозначени.я ero состзвныx частеЙ. приведены На рис. Б. Эта информаuия дана rлаВным образом .nля Toro. чтобы читатель Mor наrлRд.НО представить. 148 Часть 1. ОСНОВЫ аДМИНИСТРИРОВаНИЯ 
как работает жесткий диск ПроrpаМ'lам, обрашаюшимся к диску. не нужно знать ero физическое устройство. ...&'&jI.1.i<o<Ж.. , .. .' () . Рис. Б. Урок ПО kОНСТРУКЦИИ ДИСКОВОro нокоnитеЛ'R Жесткий писк состоит из вращаюшихся крyrлых пластинок (дисков). покрытых маrнитным слоем Чтение и запись панных осушествляет маленькая rоловка, которая меняет ориентаtmю маrН'Итнъrx часnщ на поверхности пластинок. Корпус накопителя выполнен rерметичным, чтобы BHyrpb не моrЛ8 попасть ни пыль, ни rpязь. Это делает жесткие пиСКИ rораздо более належными, чем внешние носители. На самой заре раЗБИТИЯ ВЫЧИСJfИте.лъной техники в дисковых накопителях УС1'анавливалСR. ках правило, Bcero ОJIИН диск Рост емкости доcnп-ался за счет увеличения диаметра п.иска. На стене одноrо из наших кабинетов висит древний диск диаметром больше четырех футов (120 см), который KornaTo вмещал около 280 Кбайт данных  менее 101'6 емкОСП1 современноro rnбкоro диска с повышенной плотностью записи. Сеrодня в накопителях стоит не один большой диск, а неСкОЛЬКо маленьких. размещенных этажеркой. Для хранеIOfЯ данных используются обе стороны дисков, хотя одна и] них обычно содержит информацию Ш1я позиционирования, 8 не собственно ll3HHble. Емкость от.nельноro диска достиrает 10 rбайт, и не похоже, чтобы действие закона Мура- прекратилось в обозримом будущем. Диски врашаются с постоянной скоростью. Чтение и запись про изводят малень,,'''ие rоловки, которые СКОЛЬЗЯТ нал поверхностями дисков впередназадl подобно иrле звукоснимателя в проmpывателе rpампластинок rоловка перемещается очень близко к поверхности писка, но не Касается ее. Если roловка коснется .писка, произойдет то. что называют аварией roловки. Последствия этоm MOryr быть весьма неприятными. Скорость вращекия- дисков за последнее время существенно возросла. Старые диски делали 3600 или 5400 об/мин. Сеrодня стандартный лока затель  7200 об/мин, а диски со скоростями вращения 10000 и 15000 об/мин завоевывают все БО.1ЬШУЮ популярность в секторе устройств BblCOJ(Oro класса. Чем выше скорость вращения, тем меньше время доступа rоловки к нужному участку п.иска м бо.'т1ыle скорость передачи данных, но одновременно Закои Мура (Moore) rласит о ТОМ, что вычислительные мошности (частота npоцессоров, емкость писков и т.д.) удваиваются каЖJIЫе 18 меся.uев. r лова 8. Добавление ноВоЮ xeCТKoro диска 149 
увеличивается HarpeB дисков в связи с повышенным выделением тепла. Современные высокоскорuстные диски требую1 хорошей вентилЯUИИ. Для каждой поверхности ну..+.:на как минимм одна rоловка. В первых накопителях roловкам ПрИХОШU1ось "пробеraтъ" OrpoMHbIe расстояния. KOH СТРУКllИЯ современных дисков более раuиональна. Лиаметр диска продолжает сокрашаться. Лвадuать лет назад стандартным СЧlпаJlСЯ диаметр 14 ,nюймов. десять лет назад  5,25 ДЮЙ'lа. а сеroднЯ он составляет 3.5 дюйма и менес. Перемещение rолоВКИ 8 нужную ПОЗК1.(ию .nля чтенИЯ конкретной порuии данных называется nOиCKO.1Jf. Каждому дискретному положению, которое может занимать rоловка. соответствует дорожкй. Лорожки .nеnятся на секторы. которые обычно имеют размер 512 байтов. Совокупность дорожек разных дисков, нахо.nяшихся на равном расстоя нии от оси ШПИНделя, называется ЦWJuндром Если все roловки буnyr двиrаться вместе, то данные. записанные в ОДНОМ UИЛIIНЛре. можно будет читать без дополнительных перемещений. Хотя rолопки перемещаютсЯ достаточно быстро, ДИСКИ все равно вращаются rораздо быстрее. Поэтому обращение к диску, которое не требует от rолопок поиска новой позИUИИ, будет выполняться быстрее В файловой системе lfN IX этот факт используется для повыеtшпп произиопительности. К сожалеtПiЮ, в BSD стала обшепринято й неупачная теХНQЛоrия, известная как 30HQ.lJbUoe fIOз6uен.uе на секторы, при которои дорожки. расположенные ближе к краю диска, содержат больше секторов. чеМ внутренние. Чтобы ОnТИfl.fИЗировать рабо1У жесткоro писка. фаkповая система скрывает от nporpaмм подробности разбиения диска на секторы. Вместо этоrо вводится искусственная схема апресаl1ИИ "uилиндрrолонкасек тор". в которой емкость диска no.norHaHa к реальному показателю. Даже сеrодня алroритмы оптю.lизации ftfноrиx фаЙловых систеМ основаны на подобной фИКUИИ. 8.3. Обзор процедуры инсталляции Проuесс инсталляmrn HOBOro диска состоит из сле.n:уюших этапов: . подключение дисковоrо накопителя к компьютеру; . создание файлов устройств, через которые будет осушествлиться дocтyn К JIИску; форматирование диска: маркировка и разбиение диска на разделы; . создание лоrических томов создание файловых систем UN IX в ра.3делах диска; . орraнизаuия автоматическоrо МОНПfPования; создание разделов ПО1IКаЧКИ. Ниже этот процесс описан 8 общих чертах, без рассмотрения особенно стей. присущих конкретным системам. В параrpaфе 8.5 иНСТ8JUIяuия HoBoro диска описывается детально для каждой из тестовЫХ систем. Подключение диска Проuедура подключеl-rnя !lиска 'ЗаВИСИТ от ero интерфейса. Если ЭТО IDЕдиск, постарайтесь сконфитурировать систему так, чтобы к каждой шиtlе был попсоединен только опин дисК. Ilронерьте ориентаuию J<а.белей и 150 Чость I ОСНОВЫ администрированиЯ 
Прс18ИЛЬНОСТЬ установок "rлавный/подчиненныи.' на K8)tillOM .писке Если это SСSI,nиск. у15елитесь. что на обоих I':онцах lШ1ны присyrствуют терминаторы. wrиН8 кабеля не превышает 'nОП)'СТИМVЮ и целевой номер HOBoro устройства Ht конфликтует с номерами сушествуюших устройств. Создание файлов устройств 0' Подро6110 О фаuлах устройств раССКDЗQНО в .ЛЙ6е J 1. Прежл.е чем получить постун к ноному дисk.'У. нужно создать в K3TaJlOre /dc'l файлы УСТРОЙСТ8 для этоrо !lИСК3. Потребуются файлы как блокорнен Пlрованн.ых устройств (используются в основном для монтирования фаиловых систем), так и байториентированны>': (для реlервироRtl.ния и проверКl1 uелостности файловых систем). MI-lOrие версии UNIX нвтоматически создают файлы штя всех возможных SCSI YCТPOj'CТB. Подробная информ.ация об этом содержшся в параrpафе 8.5. ОJDЮЙ неосторожной операцией записи на диск можно за считанные се",'УНДЫ ПОЛностью разрушить файловую систему. поэтому права доступа к файлам дисковых устройств следует устанав.:тивать очень осторожно. Мы предоставляем права на чтение и запись вл.nелыJ..У (пользователю root) J.I права на чтение членам rp}'ППЫ operator. Это позволяет операторам выполнять проrpа'IМУ dump без нран суперпольюнателя и запрещает простым пользова те.1ЯМ осушестRЛЯТЬ прямоfi ДОСТ)11 к ШIСКУ. Форматирование диско И:U1ишне усердные фl1РJ\.lыпродавны часто указыпают емкость ДIII.:КО[l в баrlТах без учета форматирования. Как ПрaJIИЛО. около ] 0% eMi-:ОСТl1 уходит на маркировlI.:У поверхностеl1 дисков, КОТОР;;IЯ неоБХОДIIМ ЛЛЯ Toro. чтобы amlaparnbIe и nporpaMMHbIe средства моrли находить lаписзнные там д.анные. Покупая диск, всеrда оценивайте CI"O емкость R "фОр\13ПlрОFk1ННЫХ'. байта\ И соответствующи-м образом сра8lПfваiпе IleHbI. Еше одна популярная улонка  указывать емкость .писка в '.меrабайта",". С1IИПIЯ. что \tеrабайт равен миллиону байтов. На самом пеJlе меrабай,. равен 210, 1U1И 1048576 байтам, и эта потрясаЮШ8Я арифметика привошlТ ..: тому. что реальная емкость диска завышается почти на 5%. В процессе форматирования на .писк записывается апреСll8Я ИНФОРМaJIИЯ и метки си.tХРОНИЗ8UИ14 для разrpаничения секторов. Кроме то1'о, ВЫЯВЛЯЮТОI ".nефектные'" блоки  некачествеНllые участки носителей. которые HeROJ моЖно использовать Д,'1Я чтения и l';ШИСИ. В старых дисках tH том Чllсле ста.ндарта SM О) Ja обнарУ'..+:ение дефектных БЛotШR 11 переС:1llресаЦltю заПIfСII в них отвечает драйвер YCTpOCTBa UNIX. В SСSIнакопителях контроль дефеk.iJlЫХ блоков осушеСТRЛяет контроллер диска, поэтому о них IIC- нужно бсспокоитьсн ни пользователю, НII драйверу-. Bc жесткие диски, как Прi1ВИJIO. форматируются на заводе, и качество TaKoro форматировання часто нышс. чем то, KOToporo можно достичь в реальнъrx условиях Лучше избеraть Нltзкоуровневоrо форматироваНIIЯ. если оно не требу!:тся. Korna нач-инают возникать ошибки чтения/записи, 8 первую очере1IЪ проверьте кабели, терпfнаторы 11 номера устроЙcrв (для SCSIlU'CKOB). Все дефектные 6IOЮf. которые ПОЯВЯТСЯ после форматирования диска, Не будут обрабаты В8ться аВТОМ8тичс-еки. Их ИСI10Ль.JоваНI1С может привести к ошибкам при чтении и записи и даже к потере дatlHЫX. r nоnо 8 Добовnене новою жесткоrо nио:о 151 
так как появление таких ошибок не Bcerдa означает наличие пефектных блОКОВ. Если после Bcero ДИСК попрежнему работает неустойчиВо, лучше заменить ero, а не трапrrь MHoro часов на форматирование. IDЕдиски, как правило, не предназначены дnя самостОЯтельноro форма.rи рования. Тем не менее, сушествуют спеuиаJlъные nporpaмM'" форматярования. обычно работаюшие в Windows, которые предлarаются постаВIШfК8МИ дИсков. Убепитесь, что nporpaMMa работает с конкретным .писком. и тщательно следу1Пе ИНСТрУКЦИЯМ разработчиков nporpaMMbl. SСS[диски ФОРМВТИРУКYfся автоматически по команде, посылаемоЙ с rлавноro компьютера. Способ выдачи такой команды зависит от системы. На переанальном компьютере команну можно послать из BIOSnporpaMMbI КОнтрОJJЛера SCSI В SolaIis эта команда называется lоnпк!, а в Н p ux  medlaini!. В некоторых системах пользователь может проверитъ целостность диска, записывая на Hero произвольные комбинации данных, а затеМ счwrьrвая их_ Этот процесс обычно очень длительный, поэтому такую проверку peKOMeH дуется проводить толыю в том случае. если есть подозрение, что диск неисправен. Можете спокоЙ}tО остаВИТЬ машину, которая вьmолняет тесты, ВI01юченной на всю ночь_ Не беспокойтесь по поволу "износа" диска при слишком интенсивной эксплуатаuии или активном теСП!'ровании. Писки рассчитаны на непрерывную крyrлосуточную работу Разделы и метки После фОрfto1аТИрОваниЯ диска и маркировки дефектных блоков ero необходимо разбить на фраrменТЬJ, называемые рйздеllQМU. Разбивка на разделы позволяет рассматривать дИск как rpуппу независимых областей данных. 8 не как одно orpoMHoe пространство блоков. Кроме Toro, южно скрывать системные области диска (например. блоки начальной заrpузки и саму таблицу разделов) от BblCOKoypOBHeBoro проrpаммноro обеспечения (например, от файловой системы). О компоновке вcero диска 8 ислам знает TO..'JЪKo драйвер устройства. а остальные nporpSMMbl обращаются к разделам. Наличие разделов облеrчает выполнение резерВНОro копирования, не позволяет пользователям nосяraть на чужие области .писка, повышает производителЬНОСТЬ и оrpаничивает потенuиальныН ущерб, наносимый He }llравляемыми проrpaммами. В большинстве операционных систем таблиuа разделов (равно как и дрyrая информаuия о .диске) хранится на диске R записи, назьrваемоЙ метКой. Метка обычно занимает первые нескоЛЬКо блоков диска. Ее содержимое заВИСIП от типа системы. но в общем метка содержит достаточно информации ШТЯ тоro, чтобы проrpзмма начальноА заrpузки нашла Ядро ОС В ПРИНllипе. разде!Ibl имеют четкие rpаницы и отделены дрyr от npyra. но почти во всех системах о'nин раздел определен каК образ Bcero диска в uелом. Это позволяет командам пользовательскоrо уровня обращаться к дНе....)! "непосредственно n через обычный файл устройства. Например, пользоватеJlЬ ский процесс может записать \.1етку диска ИЛИ скопировать се содержимое на резервный диск с помощью команды dd. Конечно, этот спеuиа.1ЬНЫЙ раздел следует использовать очень остороЖ1iО. так как он позволяет MrH08eHHO испортить все разделы на диске. Разработчики некоторых систем If'nУТ еще na.'lbIlle и дают возможность определять несколько перекрываюшихся наборов разделов. Например, разде лы О, 1 и 2 .nелят .писк одним способом, а разделы 3 и 4  друrим. 152 Часть I Основы аДМИНИСТрИрОВОtiИfl 
Предполаraется, что полыоватслъ применяет один набор соrЛ8СОванных разделов, а дpymе просто иrнорирует. В ревлъной жизни такая конфиryрauия приводит к операторским ошибкам и повреЖдению данных. В cOBpeMeHHЬVC систеМaJ( по сравнению с их прелшествеН1iицами коли чество разделов сокращено, но большинство систем все равно имеют минимум три разделв. . Корневой рв:ueJI. В этом разделе содержатся все файлы, необходимые для перевода системы в однополъзователъский режим. Как мера предосто ро>кности на дpyroM диске чвсто создается копия этоro раздела. . Ра:шел подкачки. В области подкачки хранЯ1'СЯ страниuы виртуальной памяти. если они не помещаются 11 физичесКОЙ памЯТИ. В каждоЙ системе должен бьт хотя бы один раздел подкаЧК/1. Подробнее о виртуальной памяти читайте в ПВр8l-рафе 25.3. . Пользовательский раздел. Это обшее пространство для начальНЫХ катало rOB, файлов данных. библиотек исхОдНЫХ текстоВ nporpaMM и т.д. Существуют разные мнения о том, какой способ разбиения дисков на разделы является лучшим. Вот некоторые советы. . Если есть несколько дисков, сделайте на одном из них копию корневой файловой системы и проверьте, может ли система заrpужатъся с .писка. . Нарашивая память на своей машине, увеличивайте и раздел подкачки. Для нормальной работы размер этоro раздела должен как МИJшмум равняться размеру оперативной памЯТИ. что позволит в случае сбоя разместить в данном разделе файл ДЗJl.mа. . Распределив раздел подкачки между разными дисками. можно побиться повышения ПрОИЗВОЛJПелъности. Это касается и файловых систем. Помещайте интенсивно используемые файловые системы на отдельные диски. Замечания по этому поводу приведены в параrpафе 25.3. . При создаНИИ резервных копий ра.:шелов не делайте размер дисковоro раздела больше, чем позволяет емкость резервноro устройства. Читайте параrpаф 10.1. Данные. которые часто подверraются изменениям. uелесообразно разме щать в таких разделах. резервные копии которых делаются чаще. РеКО'lенпуем создать отдельную файловую систему для временных файлов иtmр). Таким образом. можно будет отнести для них оrpаниченную область ДИСК080ro пространства и избавить себя от необхQДИМОСТИ создавать ю: резервные копии. . Если система ведет файлы реrистраuии в каталоre /vвr, то лучше сделать лот каталоr отдельным ра.:шело:м диска. Во мноrиx системах каталоr /var является частью очеНЬ маленькоro кориевоro разп.ела, что приводит к быстрому заполнению последнеro и останову машины. Создание лоrических томов в некоторых системах есть "менеджер лоrических томов". который реализует особый БИЛ разБИВ"-"1 на раздел"ы. Мы не станем здесь описывать особенности всех сушестоуюuщх мене.nжеров, но у них есть рЯд общих характеристик. о которых следует упомянуть. (Тем не менее, далее мы расскажем о менеджере Vеriшs, сушествующем в HPUX.) Большинство менеджеров позволяют сrpуппировать несколько !lИСКОВ или разделов в ЛОluческuи том, или метадиск. который представляется для r лово 8. Добавление H080ro жеСТkоrо AI-1СkО 153 
полыователя единым виртуа..r1ЬНЫМ .писком. КОМПlJненты лотическоrо тома можно объединять разлJflfНыми способам..!. В режиме КОНК8тенаuии фИЗllче ские блоки каЖ1l0ro диска остаются неразрывныМ1i, а диски как бы соединяются npyr с дpyrOM. В ре)fo,.'име чередования соседние блоки виртуа.ль HOro диска MOryr на самоМ неле находиться на разных ФИЗlrчески'Х YCTpoI1CTBax. Некоторые 'Iенеджеры ТОМОВ rlOlJдержин.\ют стандарт RAJD5, в котором прнменяется режим чередования С ДОПОЛНlrrелъной проперкой контрольных сумм. Контрольные суммы обеспечивают необходимую избыточность, блаrо дари чему данные можно носстановить. даже ссли ОДIIН ИЗ днсков выходит ИЗ строя Менеджеры томов часто подпеРЖllвают и такую те"\.нолоrию. как JepKa.lb ное дублировйние. Зерю:lЛЬНЫЙ ТОМ связан с ДРУПIМ томом аналоrичноrо размера. l1IHllble. 13ШIсываемые в о.nнн том. дублируются в npyroM ECol1-1 n озном ТОМе ПрОИСХО!lИТ аппарЗТ1IЫЙ сбой. система 3ВТОМ3Тllчески nepea.:.tpecyeт запросы ero lеркалъному аналоry, не прерьmая их выполнения После устранения проблемы оба тома ДОЛЖНbI пройти проиедуру синхронизаuии. Veritas  зто мr:неnжер лоrических томов, попдерЖ1fмемыЙ как в Sоlапs, та" и в Н P UX. Фирм::! Suп прсдлаrает пля своих систем собственный менеджер под названнем Solstice DiskSuite. Vinum  зто менеджер с открытым кодом, ДОС1)'ПНый 80 FreeBSD и созданнЫЙ по.n влиmlИем менеnжера Verit8S. В Liпuх поддержка технолоrии RЛ. D реализована на уровне ядра. но имеется также отдельный менепжер томов, называюшийся LIПUХ LVM. Файловые системы Даже после Toro как жесткиЙ днск р.вбит на разде1Ъ1. он еше не rOToB к хранению файлов. Свою лепту в по.nroтовку днскз ДО.lжна внести и файловая система Для инсталлЯIIJfН фаловоЙ системы в олин из разделов диска исполь зуется команда mkfs или newfs. Команда newfs. по сути. является интерфейсной н.идстройкой к команде mkfs. В старых версиях UNIX нужно было MHoro знать о характеристиках диска. но сейчас эта необходимость отпа.'18. Чтобы создать файловую систему. достаточно правильно задать команду (mkfs или newfs) и указать имя раздела. П роиепура инсталляции 8 деталях будет описана ниже. Здесь же мы рассмотрим вопрос о том. как при построении файловой системы фаЙ.llЫ помещаются на диск Речь поi1дет о быстрои фЗИJJOИОЙ системе Беркли (Berkeley Fаы File SYS1cm). которая былО! разработана Маккузиком (McKusick), .1жоем IJoy) И Леффлером (Lemer) nЛЯ 4.2BSD Ее ислолы}'e-r болъ1UИИСТНО совремеllНЫХ версий UNJX Файловая снстема BSD состоит И1 ПЯТИ структурных компонентов: . СОDОК}ПНОСТЪ блоков ruПl индексных дес.....рипторов: совокутlOСТЬ распределенных "С}llербл о ков"; таблица распределения дисковых блоков в фаЙловой системе: сводка ИСПОЛЬЗОВанИЯ блоков: совокупность блоков данных. Каждый раздел фаЙловой системы разбит на rруппы, содержашие от I ло 32 UИ11индров. Такие структуры, как таблиuы Иl-lдексных дескрипторов. распределены по rpупnaм цилиндров так. чтобы блоки. используемые вместе. 154 Чость 1. ОСНОВ'" одминистрировония 
нахолились на писке близко друт к друту. Это позволяет сократить время поиска при доступе к блокам одноrо файла. Индексный дескриmор  это табличная запись фиксированноrо рЗJмера. содержашая информацию об одном фаиле. Поскольку пространство ДЛЯ индексНЫХ дескрипторов доЛЖНО вьаеляться, коrда UN1X выполняет началь ное С1l'уктурирование файловой системы, необходимо заранее решить, сколько l-fндексныJ( дескритrrоров должно быть создано Невозможно пред сказать точно. сколько файлов (индексных дескрипторов) понадобится 8 будушем. Используя эмпирическую формулу, UNIX оценивает это число на основании в(Мичины раздела и среднеrо размера файла При создании файловой системы МОЖRо увели'llfТЬ или уменьшить kО1ПfЧество индексных дескрипторов: в файловых системах со множеством мелких файлов должно быть больше индексных дескритrrоров, а в файловых системах с несколькими большими файлами  меньше Значение. заданное по умолчанию. позволяет заПОЛНlпь дИск 2048 файлами. Сynерблок  это запись, содержашая характерисТИlCЯ файловой системы. В сynерблоке храН}1ТСЯ информаuия о длине дисковоro блока, размере и расположении таблиц индексных дескрипторов, таблица распределения дис ковых блоков и информаuия об исполъ.зовз.ю.ш блоков, а также данные о размерах rpупп цилиндров и Hpyrne важны.. параметры файловой системы. Поскольку повреждение суперблока приводит к стиранию исключительно важной информаuиJ.t:. то в системе создается несколько копий сynерблокз, которые размешаются в разных местах. Так было не всеrда: рa.юrnе файловые системы при повреЖдении суперблока разрушались полностью. Теперь же при перестройке поврежденной файловой системы можно дать проrpамме rsck указание использовать дрyrой сynерблок О местонахождении резервных суперблоков сообшит команда newfs N. Один из них Bcerдa находится в блоке 32_ 0' ДопО.1нuтелыlO о nрОlра.име fsck рассказаnо в nораi!рафе 8.4. Для каждой монтируемой файловой системы UNlX делает одну копию сynерблока в памяти и несколько копий на диске. СистемНhIЙ вызов sync заПисывает кэшированные сynерблоки на их постоянное место на диске, делая файловую систему целостной. Это позволяет свести к минимуму ушерб. который был бы нанесен аварнйным остановом машины. если бы файловая система не обновила суперблоки. Вызов sync. кроме Toro, извлекает из буфера МОДИфЮ.1ированные индексные дескрипторы и кэшированные блоlrn данных. В большинстве систем вызов s)'nc выполняется к3..ждыIe 30 с, что позволяет минимизировать потери данных в случае сбоя системы. Таблица распределения дисковых блоков содержит сведения о размеще НИИ свободных блоков в файловой системе. При создании новых файлов эта таблица анализируется на предмет выбора эффективной схемы размешения. Сводка использования блоков отражает основную информацию о блоках, которые уже используются. Автоматическое монтирование файловой сиcrемы Для Toro чтобы сделать файловую систему ДОСТ}llНОЙ для UNIXnpouec сов. ее нужно смонтировать. Точкой монтироваН}1Я может быть любой каталОf. Ero файлы и подкаталоrи БУlIУТ недостулны. пока файловая система смонтирована поверх них. Подробно о монтированllИ файловых систем рассказываетея в параrpвфе 5.2. Необхопимо убепиться, '!'То раздел. который fЛОВQ 8. Добовление HOBoro жеСТl(Qrо Дf.1СКQ 155 
монтируется или проверяется. содержит корректную фаtt'lОВУЮ систему: если попытаться применить команду mount или fsck к разделу подкачхи, резулътат будет непредсказуем. После подключения Hoвoro диска необходимо смонтировать нопые файловые снстемы "вручную" С llеJrbЮ npoвepm правилыlOСТИ их работы Например, команда I lILOunt /d8v/.d1.a /-шt монтирует в каталоrc /т.1 фаЙJIОВУЮ систему, наХОllЯШУЮСЯ в рВЗlIеле, который ПРСllставлен фВЙJIом устройства /de./sdla (имена устройств неоДИ наховые в разных системах). Если файловая система абсолюто новая, то ее содержимое будет ВblТЛJШетъ приблизителъно так: . 1. /-шt lo3t+tound Ката.поr lO!!it+found автоматически СОзд8tтСЯ при построении файловой системы. Он используется проrpамtfОЙ fsck в экстренных случаях. поэтому Не удаляйте ето. В каталоft: lost+found заранее зарезервировано дополнитель ное место. чтобы проrpамма fsck моrла хранить там "неС8ЯЗ8нные"' файлы, не заботясь о выделении дисковой памяти в нестабилъно работающей файловой системе. В некоторых системах имеется KOM8.НlI8. mklost+fonnd. которая ВQCсозлает ЭТОТ специальный кaTa. r lOr. если он был случайно удален. Информаuию об использовании дисковоrо пространства, занимаемоrо файловой системой, можно получить с помошью команды df. Вот пример из ВSDсистемы: t dr /u.r File5ystem lKblocks Used Avail Capacit.y Mounted оп /dev/wdO.lf 610495 509516 236140 6а' /тпс [hP] [hP]  Размер блока. которым оперирует команда df, может составлять I КбаЙ1' ИIm 512 байтов в зависимости ОТ систеМЫ. В некоторых системах команда df k выводит ствтистику С учетом блоков размером I Кбвйт. В HPUX команда dr работает совершенно подртому. Чтобы получить показанные выше результаты, воспользуйтесь комаНдОЙ bdr ("БеРI01И8ерсня df'). В большинстве случаен ПОЛbJовптель пытается настроить систему так. 'Ч'Тобы лока..'lыше файловые снстемы монтировались во время начальной заrpузlrn. В конфиryРВIlИОННОМ фаиле в каталоre /etc перечислеRЫ. кроме Bcero прочеrо, имена устройств и точки монтирования всех дисков системы. В большинстве систем этот файл называется fstab (сокращение от "filesys.tern table 7 '  таблица файловых систем), но в старых версиях HPUX он носит имя eheeklisl, а в Solaris имеет друroй формат и называется .fstab. Далее мы будет называть ЭТОТ файл fstab. даже ест, в конкретной системе он нменуется nOlIpyroMY. Файл fstab. включаюшии описание указанной выше фаиловой системы, может выrnядеть так.  . Dev1.ce / dev / wd051b /dеv/wdОзlа /dev/wdOslf Moun[.ponJ:. поле / /usr FSt: уре Opr.ions swap uf. uf. D!Jmp Pa:ss-l О О 1 2 этот пример взят из FreeBSD. В дрyrиx системах, кроме Solaris, фаЙJI 8ыI'лядит праkТИчески так же. 156 ЧОСТЬ I Основы одминистрирования 
/ dev / acdOc / сшом proc Iproc server: /export Iserver сd9ббо procts nf. ro, noau to rw rw Каж.пая СТроК8 состоит из шести ттолей, разделенных пробелами, и содержит описание одной файловой системы. Для удобочитаемости поля обычно выравнивают. но делать это не обязательно. В первом поле указывается имя устройства. Файл rstab может включать имена точек монтирования удаленных систем. В этом случв.е первое поле будет содержать путевое имя NFS, как в последней строке. Запись ser ver: /export обозначает К8та..'Тоr /export На машине server. o Подробно об NFS рассказыоается о zлаое IZ В некоторых случаях в первом поле задается тип виртуальной файловой системы. Так. в показаННОМ выше примере в предпоследней строке описана файловая система proc, которая предоставляет информаuию о проuессах ядра пользовательским утилитам. Иноrда 8 качестве устройства указано имя swap  это резидентная файловая система, которая использует раздел подкачки для резервноrо храненJ.oIЯ данных (к примеру, в Solaris это файловая система типа t.mpfs). Во втором поле указывается точка монтирования. 8 третьем  тип файловой системы. В разных системах тип локальных файловых систем обозначается поразному: в Solaris и FreeBSD  ufs, в HPUX  VKfs или hfs, а в Liпux  eKt2. В четвертом поле задаются опuии монтирования (затrnсь rw обозначает чтенJo!'езаписы это установка по умолчанию). В пятом поле указывается "частота" создания файла дампа. Теоретичесlrn это поле может использоваться проrpаммами резервноro копирования. но обычно оно иrнорируется. В шестом поле указывается порядок проверки файловых систем nporpaM мой rsck. Файловые системы с одинаковым значением этоro поля проверяюiCЯ по возможности парЗJUlелъно. Нежелате!lЪНО. чтобы одновремен1O проверя лись файловые системы, расположенные Н8 одном диске. так как 8 подобном случае rоловка ДJlска будет столь часто пере мешаться впередназад. что производительность сушественно снизится. o Про'ромма ft<k оnисыоается о nара,рафе 9.5. Файл rstab читают команды mount, umount. swapon и rsck. поэтому очень важно, чтобы представ.ченные в нем данные были полными и достоверными. Команды mount и umount берут из этоrо файла недостающую информаllИЮ. если в командной строке было указано только имя раздела или точка монтирования. Например. при наличии приведенноrо выше файла rstab команда I 1Dount /cdxOflJ. будет интерпретирована так: t lILOunt t cd9660 o ro,noauto /d8v/acdOc /cdIOfIJ. Команда nюuпt -а монтирует все С'обьrчньте" файловые системы. пере численные 8 файле rstab. Она обычно выполняется из стартовых сuенариев во время начальной заrpузхи. Флаr I (Red Наl и FreeBSD) или -F (SOIBriS и HP-UX) оrpаничивает ее действие файловыми системаМИ определенноro ТИПа. Например. KOMaНD.8 t IILOUJ1t at Uf'8 r лова 8. Добавление новоro жвсткоrо ДИСКО 157 
монтирует нее ло.кальные файловые системы во FreeBSD. Команда mount Чlпает файл fstab последовательнО. Поэтому файловые системы. которые монтир\'loтся к друrим файловым СlIстемам. до.лжны следоватъ в фаi;!1е за своими родительскими разде..тl3МИ. Например, строка дJlЯ TC)l-1КИ монтировзния jusrflocal должна следовать за CTpOKOf1 д.1Я ТО'IКИ /uя, еслИ /usr  о.тдельная файловая система. Команда umo.unt, предназначеНI18Я lL'1Я демонтироnания фаиловых систем. нмеет похо.жий синтаксис. В большинстве систем невозмо.жно. демонтировать файловю систем)', в которой какойлибо. проuесс хранИ1" свой текущий катало.r или в КQТо.рои есть OfKpblThIe файлы. Имеются способы избежать лодобноrо оrpаничения (см. парвrpаф 5.2). СоздаНlo1е раздело подкачкlo1 Одно И3 r'.'13HHbIX ПРСlIмушеств UI'\JIX состо.ит в реаТlизаuии ко.НIlСПllШI шtртуаТIЬНОИ ШIМЯТlt. Эта особенность ПОlволяет опеРЗIlИОННОЙ системе делать IJIШ, что )' машнны больше памяти, чем естЬ на самом дсле. Ko.rna проиессы пытаются испо.льзо.вать "дополиитеJlЬН) ю" ПамЯТЬ. J3ПрОСЫ переадреСУЮТСJl к системным Д\lскам, кото.рые высryпают в роли очень медленноrо ОЗУ Переброска содеРЖJIмо.rо памяти на диск и обратно. называетсЯ 8ЫZР)'ЗКoU или перекач".:ои.. Для до.стижения максимально.й эффеJ...'ТИВНОСТИ при подкачке в качеСТRе запоминаюшеrо устро.йства о.БЫ'IНО ИСПОЛЪЗУlОтся нестру},.-турированные дис- ко.вые разделы (без файло.вых систем). Для управ..'lеиия содержимым о.бласти подкачки ядро подаерживает собственную, упрошенную схему соответствия б:IOКОВ па,\IЯТI-I дlICK08bIM б:юкзм. В качестве о.бласти по.дкачки можно ИСnО.;lЬЗОвать 11 обычный дисковый фС1.ЙЛ. но. в этом случае подкачка будет осушествлПIЪСЯ медлеНJ-Iее. 0' Подробнее о создЙlluи разделов tlодкачl\..U рас("казаllО 8 lJарарафе 25.3. Чем больше раздел ПОllкачки. те\' больше виртуально.й памsrrи доступно 1V1Я процессо.8. МаксимаТIЫI8Я эффективно.сть пот<зчки достиraется 8 случае распределения области подкачки между неско.лышми дисками (или. еше лучше. между иесколькими шинами SCSI). Разрешить подкачку на Ko.tfi...'PeTHOM устро.йстве мо.жно. вручную. но ЛУl:JШе, чтобы эта фую::uия ВЫПОJIНялась авто.матичес,,"11 80 время начально.й заf1''ЗКИ. В большинстве систем области подка'rки можно. указывать в файле fstab  то.м само.м. который содержит переченъ монтируемых файло.вых систем. Строка с НJ-i.формаllией о подкачке выrляДИТ таК..... /dev/da(jb 6wap в проuессе заrpУJКJf выполняется J(очанда (как правило.. s\\apon или s\\'ap), которая разрешает по.дкачку 1V1И нсех р3шелов. переЧJlслеIIIЫХ R фйле rstab. Конкретные команды н их синтаксис для каждоЙ из тестовых систем ОПllсаны в параrpафе 8.5. ВЫ1"'Рузка и перекач-ка  TCXJ-iИчесю( разные ПОЮIПUl. На даннам эп.п(: мы объединим их и назовем "подкачкой". Более подробное описание концеrшии ВИр1)'алънай памяти в UN IX приведено в параrpафе 25.3 Эта строка взята 1'13 FreeBSD; в остальных системах Offa будет др)тоЙ. 158 Чость I Осн08Ы аДМlliИСТрИро8аНИА 
8.4. Проrрамма fsck: проверка и еосстоновление файлоеых систем Файловая система UNIX на УЛИБление надежна J.f выполняет значитель ную работу. спраШ1ЯЯСЬ с неоЖ1fДЗННЫМИ сбоями системы и частыми отказами аппаратных средств. Тем не менее. сушествует ряд причин, вызывзюших повреждеНJtе файловых систем и нарушение их uелОСТНОСТИ. Каждый раз, Korna ядро выдает сообщение о панике или отказывает система Питания, 8 тех файловых системах. которые непосредственно перед сбоем находились в активном состоянии. происходят незначнте.rrьные H3PY шения. ПосКопы....у ядро хранит 8 памяти как блоlrn нанНых, так и управляюшую ИНФОРМ311ИЮ. то самый последниЙ образ файловой системы распределяется между диском и памятью. Во время сбоя часть образа. находяшаяся в памяти, пропадает. Храняшиеся 8 памяти блоки праКnlчески замешаются теми ИХ версияМ].{. которые были записаны на диск последнm.fИ. Имеются различные подходы к устранению этой проблемы. Небольшие поврeж.nеюlЯ обычно подnаются устранению с помошъю команды lsck (сокращение от "filesyslem consistency chcck"  проверка целостности фаИ ловой системы). с архитектурной точки зрения 'ЭТО не очень 'ЭлеrантныЙ подход, но он себя оправдывает в большинстве распространеНJ-IЫХ ситуаций. Файловые системы. в которых ведется журнал событий, записывают метаданные в послеДовательный журнальный файл, сохраняемый на диске Ilеред завершением каждой команды. Впоследствии метаданные переносятся из журнальноrо файла D соответствуюшее место фаЙЛ080Й снстемы. ЕС.1И пронсходит сбой системы, журнальныи файл просматривается в обратном порядке и находИТся точка. Kor1l8 система последний раз на..ходилась в соrласованном состоянии. Полная проверка файловой системы не требуется. Это очень полезно, если размер файловой системы очень велик. Ведение журнала событий поддерживается в файловой системе U FS в Solaris и в -файловой системе \'XFS в HPUX. Просмотрите описание ПрОllедуры инсталляции жесткоrо писка в HPUX. rHe объясняется, как включить журнальный режим. Если журнал событии не поnдерживаеrся. остается надеяться на nporpaM му fsck. Вот пять наиболее часто встречаюшихея ВИllов повреЖдений: . наличие индексных дескрюпоров. на которые нет ссылок; неоправдаН1-l0 большне значения счетчиков ссылок: неисполъзуемые блоки данных. не отраженные в таблнuах блоков; . блоки данных. указанные как свобоlIНые, но используемые в файле: неверная статистическая информаllИЯ в суперблоке. Проrpамма lsck устраняет все эти проблемы автоматически. Если nporpaMMa делает изменеНИЯ в файловой системе. ее нужно повторно выполнять до те>.: пор. пока файловая система не станет соrласованной. Диски обычно проверяются во время начальной заrpузки с помощью команды fsck p. которая исследует локальные файловые системы. перечис ленные в файле fstab, и исправляет вышеуказанные пять ошибок. Новые операuионные системы запоминают. какие файловые системы не бьU1И демонтированы корреJ...'ТНО. и проверяют ТОЛЬКО их. Если ведется журнаТI событий, проrpамма lsck сообшает о том. что поддерживается журнальный режим и восстанавливает последнее соrласованное состояние системы на основании записей в журнальном файле. [Ьр]  r лава 8 Добовление HOBOro .жесткоro д,,",ско 159 
Комвнду fsck p мОЖНО выполнить и для отдельной файловой системы, например: . f!.ck p lv/r.40q Проrpамма fsck обрабarывaет файлы и блокориентированных, и байт ориентированных устройств, но с послелними она рвботает бысrpее Korдa проrpaмма f.ck читает файл fstab, чтобы узнать, какие файловые системы npоверять. она придерживается последовательности, оБОЗН8чеНt-юй в последнем поле каждой записи. Файловые систеМbl пронеряются в порядке возрастания номеров. Если две файловые системЫ размещены из разных дисках, им может быть ПрИС80ен одИН порядковый t-IОмер. ЭТО 18CT881-1T nporpaMMY fsck проверитъ их OДНOBpeMeHHO при ЭТОМ миним-изируется оремя. затрачиваемое Н8 ожидание дисковоrо BвoдaBьmoдa. Первым нсеrда следует проверять корневой раздел. Ошибки. не относящиеся ни к ОДНОЙ из пяти вышуказан.ных катеrорий. потеюrимьно опасны. Они заставляют команду r5ck -р вывести сообшение u помощи и завершить свою работу. В этом случае нужно запустить проrpамм} fsck без опuии p. При протоне в ручном режиме проrpамма просит по.t:tТВeРЖдения на каждую восстановительную операuию, которую собирается выполнить. вот некоторые ошибки. которые IJporpaммa rsck СЧ1rraeт опаснып1:: . блоки, ПРИНa.wlежашие более чем Одному файлу; . блоки. находяwиеся вне диапазона файловой системы; слишком маленькие счетчики ссылок: неучтенныс блоки; . каталоrи, содержащие ссылки на невьщеленные индексные дескрипторы; . различные ошибки формата файлов. К сожалению. не имея rлубоких знаний о Cтpyi--тype файловой системы. восстаНОВИТЬ диск вручную невозМоЖНо Никоr.nа не пробуйте производитъ прRМ)'Ю запись в файловую систему через фвйлы устройс1'1l. Во мноПiX операuионньrx системах имеется отладчик файловых систем (часто называемый rsdbl, который позволяет проверять и моаифИШlровать .nанные на низком уровне, но .пля эффективноrо ero исполъзования НУ'...кно очень хорошо понимать. что он делает. Если оrpаничиться чтением файловой системы и не пытаться ее МОДИфИIlИРОвать. то можно избежать усуryблеНИJI проблем. На npахтике это означасТ, что выбор невелик и практически сводится 1<: принятию условий, поставленных проrpаммой fsck. Проблемы можно свестИ к минимуму путем тщательной реrистрации сообщений, выдиваемых про rpаммой. так как иноrда они дают ответ на вопрос о ТОМ, какой файл (ил., файлы) является сбойным. Естl проrpвмма запрашивает разрешение на удаление файла, попробуйте сначала скопировать еro в дрyryю файловую систему. а уж потом разрешайте протрамме продолжать работу. Но помните; каждый раз. пьпаясь обратиться к поврежденной файловой системе, ны рискуете вызвать в адре нервзрешимую ошибку. Если повреЖденная файловая систеМа содержит иенные данные, в проrpамма fsck не смоrла автоматичесКИ ее восстановить, не эксперимент" руй1'е с ней, не создав предварительно резервной котrnи. Можно попробо"",ь применить. к диску команду dump, но она пролаracт наличие неповреж денной файловой системы. поэтому в результате MOryт быть потеряны данные (или команда завершится вьщачей сообшения об ошибке). Лучше вcero 160 Чость 1. ОСНОВ"I QДМИНИСТрИрОВQНИfl 
перестраховаться и выполнить мя Bcero диска команду dd, чтобы создать резервный диск Если проrpзм"ма rsck знает ТОЛЬКО номер индексноrо дескриптора фаЙ.'1а, ТО .пля выяснения ero n}ieBoro имени в некоторых систеМах можно использовать команду Dcheck. для очистки дефСIo..'Тноrо индеКСНОfО дескрип тора. который nporpaMMa rsck не может восстановить. можно воспользоваться командой clrl (данные, естественно, будут потеряны). Коша ПРО!1>амма r.ck обнаруживает фaJ.\л, РОдительский каталоr KOToporo определить невозможно, она помешает такой файл в квталоr lost+round. находяшийся на верхнем уровне файловой системы. ПОСJCОЛЪКУ имя. присво енное файлу, реrистрируетея только в ero родительском каnлоте, имена файловсирот определить нельзя, и файлам. помещаемым в каталОf lost+round, ПРИСВ8ИВaIOтея имена, совпадающие с номерами их ИlшекснЫх дескр..тторов. 8.5. Особенности подключения дисков в различных операционных системах к сожалению. добавление новых дисковых накопителей  зто задача, которую каждый поставшm< UN(Хсистем трактует лосвоему. При описании этой процедуры для различных систем мы придерживаемся с..чедуюшеrо принuипа: сначала перечисляем КОМ8IШЫ, необходимые для .nобаВ.'Iения диска. а затем ПРИВОдИм наrляшwй пример. Даже команды олноro поставшика MOryт быть разНЫJ.fИ в заВисимости от архитекrypы диска и версии ОС. Во всеХ примерах демонстрируется добавление к системе SСSIШfска с тремя разделами: один из них будет резервным корне8ЫМ tмоrrируемым в каталоrе fbkroot), второй  разllелом подкачlrn. а в третьем БУJlУТ находиться пользовательские файлы (монтируетея в ката..'Топ /new). Модель по6аRляемоrо диска  Seagate ST446452W. интерфейс  Wide Ultra SCSI, неформатиро ванная емкость  63 rбайт. форматированная емкость  47 rбайт. Во мноrих случаях в форматирующие проrpзммы буnyт пеpenаваться. на первый взrляд, произвольные знаЧения параметр08 конфиrурашш. Это объясняется тем. что МЯ SСSIдисков мноrие apr)'mel-lты не имеют никакоrо смыл.а''.. Раньше нужно было знать точные характеристики кажлоrо писка. сеroдня достаточно воспользоваться значениями. предост8Rленныи по Y"-fOЛ чанию Soloris Ниже описывается ПРОllеlIура добавления диска в SРЛRСсистеме Sоlапs На платформе Intel проuесс будет ан8.чоrичны,' но имена устройств дрyrие и последовательность действий несколько иная. Если используется менеджер лоrических томов Vепtas, то информацию о работе с ним можно получить в параrpафе '.HPUX", так как в системе HPUX ИСПОЛЪ.1уется этот же менеджер. Поеле подключения Hoвoro дисковоrо накопителя проверые uелевые номера всех SСSIустройств с nомошъю команды probe--scsl монитора ппзу". и сеro.аня можно корректировать naраметры диска с uелью повышения ero проязводите.ль насти, но р8ССМО11'ение даюlOro вопроса выходит 38 рамки нашей КНИПf.. Если текуший монитор ППЗУ не понимает 31)' комаНдУ, попробуйте вызвать новую версию мони-rора, нажав <N>. Строка приrлашения: HOВOro моюrrора выrлЯдИТ так: "'ok" 161 r 11О80 8. Добовление HOBoro жееткоrО диско 
Если система непрерывно а8ТО'f3Пlчески перезаrpужается, не выдавая ника ких сообшений. кроме rebootln9, .  это значит, что имеет место либо конфликт адресов. либо проблема С терминаторами. Если система успешно заrpужается. посмотрите на сообше НИЯ. выдаваемые на консоль, и проверьте, найден ли lIИск В нашем случае результаты рабаты команлы probescsi будут такими: ok p:E'obe.c..i Tarqet 3 Unlt О Diзk ok boot SEAGA.TE ST.i;l652W 0001 Флаr r команды 1>001 служит ШlЯ Solaris указанием переконфиryрироватъ себя, осуществив поиск Hoвoro оборудования и создав соответствующие файлы устройств. Коща система заrpужсна, просмотрюе выходную инфор мацию команды dmesg и найдите сообшения Яl1Pа. касающиеся НОБОro диска В нашем случае ядро жалуется, что мы еше не записали на диск мет1о..)' системы Solaris. Но в действJПeЛЬНОСТИ ЭТО хороший знак, поскольку он о.значает. что ядро обнаружило диск sdЗ at еврО: tarqet 3 lun О sdЗ is /sbu@lf. O/espd.ma@e, S400000/esp@e,8BOOOOO/sd@3, О WA.RNING: /sbusIHf, O/espdma@e,8400000/esp@e, е800000/sd@З. о (sdЗ): corrupt. label  wronq mag1c number Vendoz: 'SEAGA.TE', product 'ST.i;l46452W". 91923356 512 byte blocks Файлы БЛОКОРlfентированнъrх и байториен-rированных устройств Haxo дЯТ'СЯ в квталоrax /de./dsk и /de./rdsk СООТБе1'ственно Имена файлов имеют следующий фоРМ8Т: /dev/ (r]dsk/cW1:XdYsZ rne W  номер контроллера, Х  Ilелевой SCS I HOMep. У  лоrическии SCSIIOMep (почти Bcerдa О). а Z  номер раздела. Эти файлы на самом деле являются символичесlrnМИ ссыJrкмии на элементы дерева каталоrоп /device. rде находятся настоящие файлы устройств. Следует всеrда работать со ссwrками, размещенными нменно в каталоrе jdev, так как имена файлов в каталоre /device трудНО набирать и они MOryт меняться. При добавлении HOBoro устро"ства нужно выполнить команду lюоt r из монитора начальной заrpузки, чтобы убедиться в правильности создания ссылок на новые устройства. Можно также создать ссылки на дискн с ПОМОШЪЮ команд d"config и disk (они, в свою оче,редь, запускают yrиmrry devrsadm). Никаких apryMemoB они не требуют. t d.rvc:ont'1v; di.k.. в Solaris раздел 2 обычно обозна\lает весь 1lИск. Мы используем этот раздел при форматировании диска и создаЮJИ метки. Поскольку наш диск имеет целевой SCSIHoMep З, файл устройства, соответствующиii всему ДliСО:у, будет назыв8ьсяя /d",,/rdsk/сОIЗdОs2. 162 Чость 1. ОСНОВЫ ОДМИНИСТРИРО80НИFl 
Проrpаммз rопnаt форматирует диски и РaJбивает их на разделы. Она ynраRЛЯется н режиме меню. . format /dev/rс181с/сОtЗdОs2 /dеv/rdsk/сОtЗdОs2: сопf1.9uсеd wth capacir.y о! 4.3. 71GB select.l.nq /dеv/rd.sk/сОt.ЗdОs2 [disk formatt.ed] FORМAT МENU: Если Дl-1СК не бьUl помечен ИЛИ НСПОJ1ЬЗОВа...,ся друroй операционной системой. rlporpaMMa ronnat может спросить. нужно .,и прямо сейчас пометить диск. Если ответить yrвердительно, проrpамма J,3пишет на .писк стандартную метку Solaris. В противном случае нужно добавить метку вручную с помощью команды label nporpamIbl rormat. м ы рекомендуем поставить на ДИСК стандартную метку и посмотреть, нормальные ли получатся разделы: (ormac.> label Ready to label disk, conr.inue? у forma.t> partiton PARTITION MENU: partitlon> print Current pactitl.on table (default): Total cylinders available: 999';+2 (reserved Part Taq Flaq Cylinders Size О соос. O2B 130.05МВ 1 swap 2951 130.05мв 2 backup О999З 43. 77GB cylinders) Blocks (29/0/0) 266336 129/0/0) 266336 19994/0/0) 91784896 home 589993 43.51GB 19936/0/0) 91252224 СТiИЩЗРТНая Метка не o'reHL хорошо подходит для наШIf'\ иепей. поэтому мы увеличим размеры рt:зерRноrо KOPI--lСВО'.О раздела и рюдела подкачки, но уменьшим размер раздела IIOПlе. ДЛя разделов root и hОПlе должны быть устаНОRлены флаrи wm (записываемый и монтируемый). а штя раздела swap обязательны флаrи wu (записываемый и немоитируемый)_ Ниже показано, как сделать один из разделов; остальные kОНфИryрируются ан3.чоrичным образом. part r.ion> О Part Tag Flag Cylinders Sie Blocks О <00< wm 028 130.05МВ (29/0/0) 266336 Enr.er part.ition id taq[root1: root Entec partition pecmission flaqs [WПI] : Enter new startinq cyl[O]: О Enter parr.ir.ion slze [266336b 29с. 130.05mb. O.13qbJ: 2gb После Toro как ра.1меры нсех разделов заданы. ("нова выведите таблицу разделов. чтобы убедиться D успешном завершеliИИ проuедуры. Проверьте, lifT ли перекрытия разделов (по крайней мере, тех разделов. с которыми будет вестись работа). иначе файловая система почти наверняка будет повреждена. Ест, все праВИThНО. снова введите команду laЬel. чтобы создать новую мен..)'_ В нашем случае результат будет выrлялеть так: parti tion> print Current partir.ion taDle (unnamed): Тосаl cylinder5 avaiiable: 9994+2 Iresecved cylinder:sJ r naBO 8. ДобовлеНl-1е новоro ж:есткоrо диско 163 
Part Toq Flaq Cylinders SizE! Block:s О roor. wm 056 2.00GB (57/0/0) 4197088 1 9wap WU 4512283 8.00GB 11827/0/0) 16719168 2 backup 09993 4З.11GВ (999410/01 9178896 6 home wm 2289993 ЗЗ.76GВ (7710/0/01 7080860 parr.i t. ion> 1&be1. Ready r.o 1be1 disk, cont.inue? У.. Выйдите из проrpаммы fomlat. ввеля команду quit дважды: ОДИН раз дли выхода из режима создания разде.Jl0В, второй  .::I.ЛЯ выхола из самой проrpаммы part.ir.ion> quJ.t forrnat> quJ.t Теперь МЫ rOToBbI создать фаЙ:lОвые системы для резервноrо KopHeBoro раздела и ПОJlьзовательские файловые системы. .. n8Wr. r 3600 /d8v/rd.51с/сОtЭdО.О newf8: солstruсt file зузt.ет /dеv/rdsk/сОtЗdQsО: {у/п]? у /dеv/rdsk/сОtЗdОsО: 4191088 sectors in 451 суliпdеП!i о! 28 tracks, 328 sectors 2049.4МВ .l.n 42 су! qroups (1: c/q, 49.ЗЗмв/q, вооо ]./Q) superblock backups (for fsck F ufs a b*) аС: 32, 101392, 202752, ЗО1l2, 05472, 506832, 608192, 709552, В10912, 912212, 1013632, 1114992, 1216352. 1317712, 1419072. 1520З2, 1621792, ПОС1е создания фаЙ10ВЫ): систем сраз же провернм их КОМ3Н.J.ОЙ fsck: r.c1c /d8v/rd.51с/соtЭd080 /dev /rdsk/cOt3dOsO Phase 1  Check Blocks and Siz.es Phase 2  Check Pathnames Phase 3  Check Connecr.ivity Phase 4  Check Reference Соипсs Pha5e 5  Check Су 1 groups 2 files, 9 used. 2055846 free (14 fraqs, 256979 blосk.з, о.о% fr:agment.ar.onJ Необходи\!о таюке ПЫПОЛШIТЬ команды Ilc",.fs 11 fsck ш!я разДСЛlI: 6. НО этот Ilpollecc здесь не ПОКазаН. Создав файловые системы. южно пристушпь к I.IX МОНТИрОВ3НIIIО. Для доступа к разделу команда nюuпt JlСПОЛЪЗУет файлы блокорнеl-rrироuанных (каталоr /dev/dsk), а не байториентированных (каТЗJюr /dev/rdsk) устройств. В новых версиях Solaris поддерживается журнальный режим для файловых систем UFS (стандартный тип файловой системы). Записывая информаuию об изменениях в )t,:урнальный файл, nрежле чем вносить изменения на диск. можно обеспечить соrласованность файловой системы. Это особенно У!lобно при работе с большими файловыми системами, коrда в случае систсмноrо сбоя команда fsck выполняется очень долrо. Чтобы RЮlЮЧИТЬ )I>,:УРНалъный режим, 8ЫПО.J1Нlпе комаl-ШУ 1П0uпt с фЛi.lЮМ o logging (или задайте ЭТУ коман.ау в файле /etc/vfslab) Torдa команда fsck не будет выполнять полную проверку фай"ювой системы, а лишь ПРОСМОТРИl журнальный файл в обр81'НОМ ПОРJlДК и отменит последние несоrласованныl.: изменения. Мы не зида..'Ти журна..'1ъный режим лишь изза желания сдел,dТЪ наш пример проще и понятнее. 164 Часть I Основы администрирования 
Итак, мы rOTOBbl К МОНПfровинию НОВЫХ ризде,пов: шkcU.r /bk.root f JDkdir /n.w It Ja.Ount /dev/d8k/соtзdО.О /bkroot t 1DOunt /dev/dllk/cOt3dO.6 /n.w " dt k /bkroot Filesystem kbytes used avail capacity Idеv/dзk/сОtЗdОsО 2055855 9 1994171 1\ Moun ted оп Ibkroot: Команда dr показывает, что резервный корневой раздел смонтирован правильно. Теперь с поfl.юшью команды swap a сообшим ядру о создании новой области подкачки в разделе 1. а зате!\.1 посредством команды swap .( убедимся в том, что новая область активизирована: I Bwap a /d.v/dllk/cOt3dOal t 8W&P 1 swapfi1e Ciev swaplo .blocks !ree /dеv/dsk/сОtЗdОsl 32.25 16 4194272 4:;'94212 Команда swap I ВЫВОДИТ СПI"СОК всех а....iивнЫХ в данный момент областей подкачки. ПОСКОЛЫ..1' новый ра.шел подкачки 8 СШ1ске прнсутствует. значит, все прошло хорошо. Необходимо добавить запнси 8 файл /etc/\fstab. чтобы ноные файловые системы при заrpузке системы монтироваJШСЬ автоматически. В So13ris этот файл HeMHoro отличается от фаЙлов /etc/fstab Б друrих система.х. Кaжnая ero запись содержит имя как блокориентированноrо, так и байториеНТ11рован Horo устройства (нспользуются проrpаммами mount и rsck соответственно). Далее указаны точка монтирования. тип файловоЙ системы и порядок проверю.{. Следую шей за.дается опuия yes или по 8 за8ИСИМОСТИ от Toro, .!юлжна ли файлоиая СlIстема монтнроваться но врсмя IIзчёt..ilЬНОЙ заrpузки. В последнем nO.'le указываются различные опиии, например, следует ли включать журнa..rIЬНЫЙ разде...11. Если никаких опuий не требуется. поставьте дефис. ВОТ каКllе строки мы добавляем' tdevce dev ce rnol.ln FS mount 'to rnount. СО fsck po':"nt Туре at. boor: /de'.f! dsk!cOt.3dOsO / dev /rdsk/ сОtЗdОsО /bkroot. ufs уеs /dev/d5k/cOt.3dOs6 ! dev / cdsk/ сОtЗdОs6 /new ufs уеs /dev/dsk/cOt3dOsl swa.p по чтоБы1 сделать фаt!:ЮFlУЮ CIICTeMY /bkrool ре JерRНОЙ копиеi' KopHeBoro раздела, lIеобходимо СIo..ОПllрОвать попс:р'" нее содержимое KopHeBoro разде Ila. эту работу НЫllOJlIIЛЮТ комаltлы urdump н Ursres[ore: * cd /bkroot . ufвduшp Ouf  / 1 ufsrestore r  DUМP: Date of hi.s .level О dump: Tue JUl1 7 19:11:44 199 Раздел bkroot можно будет з.аrpужать только после проrона на новом диске проrpaММbl installboot. которая копирует небольшую nporpa.\fМY началь ной заrpузК1f Б начало диска Коrда вк,1ючается питание системы, моиитор ППЗУ ззrpужает эту nporpaMMY, а она. в свою очередь, заrpужает Ядро из r лова 8. Добовлене новою :жеСТl<orо диою 165 
корневой фаЙловой системы. Проrрамме installbool нужно указать ДИСК и файл, сопержаший блок наЧ3.J1Ъ1-IОЙ заrpузки /u8r/8bin/in.ta11.boot /u.r/11.b/./u./bootb1k /d8v/rdllk/сОtЗdО.О Последний этап  перезаrpуJl.ПЬСЯ 51 проверип>, чтобы все файловые системы были смонтированы правильно и новый раздел подкачки был активизирован. Кроме Toro, НУЖНО убедиться в возможности начальной заrpузки из раздела /bkroot после Toro. как в Hero будут скопированы файлы. HPUX в HPUX 10.20 менеджер Лоrических томов Vеritзs был пополнительным системным компонеНТQМ. В HPUX 11.00 он определен как стандартная файловая система VXFS. Это очень удобно дополнение, особенно если учесть, что в HPUX раньше вообше не подцерживалось понятие писковоrо p3-'lНела. Veritas также доступен в Solaris. Windows NT и друrиx операuионных систем3...,,<. Менеджер поrичССКI-fХ томов IIOJlюляет достаточно rибко упрзнлять ДискамИ. но весь I1pouec.c ври "}том усложняется. Мы воспользуемся команпами менеджера для со'здания резсрвноrо корнсното раздсла, большоrо свободноro раздела и раздела ПОДК3'IJ{II. Рассмотрение сложных возможностеи менеджера выхолит за рамки данной книrи. Читайте интерактивную ДOKY ментаuию и руководство ПОЛhJователя. Перед начальной таrpуJКОЙ UN IX можно получить 113 монитора ПlIЗУ перечень SСSIустройств. К сожа..,ению, конкретный способ получения списка в знаЧ1Пельной степени зависит от типа компыотера. После начальной зarpУЗIGI нужно убе1IИТЪСЯ в том, что ядро распозн3...Тю устройство. просмотрев вывод команды dmesg или ioscan. Применив команлу ioscan к нашим дискам. мы УЗН3...ТJИ. что НО8Ь1Й диск имеет це;lевой номер 3: t i08C.sn  D c di.k Cla.ss H/W Pa.th Driver S/W Sate Descript.on disk 8/16/5.3.0 sdisk CLAlМED SEAGATE ST-4-46452W Idеv/dsk/сОtЗdО Idеv/rdskrсОtЗdО disk 8/Нi/5.Б.О sdisk CLAIMED SEAGATE SТЗ-457Зw Idеv/dsklсОtЗdО Idev/.r:dsk/cOt6dO Убеди-вшись. что диск распознан, можно начинать проrpаммную конфи rypаuи ю. Менеджер лоrических томов определяет три уровня абстраКlJИИ ВопеРВЫХI нужно задать физические томй, В панном случае лобаnляемые жесткие диски. Boвтopыx. нужно объединить физические тома в PYllпы томов, которые интерпретируются как единое дисковое пространство. HaKO неи. rpyJma томов разбивается на ;lоzичеСl{ие то.ий. которые обрабатываются как отдеЛЬНЫе диски. По сути, лоrические тома иrpают ту же роль, что и дисковые разделы 8 прyrих системах. Команда p1'create ипеНТИфИUJ.fрует физические тома. Связь с ними орraнизуется посредством файлов устройств, которые располаrаются в каталоrах jdevjdsk и jdevjrdsk (соответственно блокориснтированные и байт ориентированные устройства). эти файлы создаются проrpaммой insf автоматически на этапе начапьной ззrpузки. Имена файлов имеют следуюший формат: /devl [с] dsk/cltDdN [зР] 166 Чость I ОСНОВЫ администрировония 
rде 1  номер интерфейса на шине контроллера. D  uелево-И SCSIHoMep диска, N  лоrически-й номер устройства (обычно О), а Р  необяэательны1й номер раздела. В нашем случе новому ШIСКУ соответствуют файлы /de./rdsk/cOt3dO и /de./dsk/cOt3dO. Обычно современные жесткие писки не полжны форматироваться на НИЗКоМ уровне. В случае необходимости ЭТО можно сделать с помощьЮ KOMaliДbI mediainit. Коrпа НИЗlo::оуровневое форматирование началось, ero нель-)я прервать. ИНclче диск бупет поврежден и ero припется форматировать заново. Сам I1роиесс ФормаТИРОВal--IИЯ занимает постаТОЧIIО MHoro времени. Мы пропустим "3:тап HHJKO}'poBlleвoro форматирования и просто ипеllТИ фиuируем физические тома с IIOМОШЬЮ команды p,'create Опuия  В позволяет зарезервировать место для информаuин о заrpузке, которая побавляется командой mklюоL: t /u8r/abin/pvcr.at8 B /dev/rd.sk/cOt3dO Phys1cal volume n /dеv/rdsk!соtЗdО" has Ьееп created. . JDkboot /dev/rdllk/cOt3dO ОпрепеЛИ8 диск как физичеСКШ1 том, нужно добавить ero в новую rpYl1llY ТОМОВ С ПОfl.1Ошью команды gcreate. Впоследствии посредством комаНдЫ gextend можно будет включнть в rpynпу дополнителЫIЫС дllСКИ, но в нашем случае [руппа будет содержать только ою-ш писк. Прежде чем обра10вывать rpynny томов, II}"ЖНО ВРУIIIЮ CO!IaTh ДЛЯ Hero К3Тз"''lоr (обычно /dev/\lgXX. rne ..'x  номер rрут1ПЫ). а в нем  файл устройства по имени group М.'laдllJИИ номер vстройства должен быть уникальным среди всех rpупп томов в системе. Ero формат OxN NOOOO, rде NN  шестнa.nuатеричное чНСЛО в диаШLlоне от 00 до максима..rIьноrо числа rpупn (з<щзстся С помощью нзстраиваемоrо параметра ядра maX'Jgs). По умолчанию предел равен 14 в шеСТН3.IluатеричноЙ системе 00 в десяп{чноЙ). o Подро6нее о параЛlетрах ядра расскозывается в ла8е /2. Может также потреБОН<iТЬСЯ увеличить ра1мер физическои страницы для rpупnы томов. если диск достаточно большои. Данное значение определяет базовую единицу распределеНI1Я дисковой памяти, 11 все размеры лоrнческ-их томов бупyr устаllзв.-.Н1наться кратными ЭТОН величине. Она указывается в меrабайтз\: и по умолчанию состаnляет 4 Мбайт. Если в пронессе конфиry рирования лоrических томов ПОЯlUIяется сообшенне вида "File юо blg" (файл слишком велик) или '.No SUCll device" (нет TaKoro устройства), попытайтесь увеЛИЧJtть размер страниuы. воспользовавшись флаrом s команды tgcreate. Мы рекомендуем начинать с размера 8 Мб и повышать ero по возможностн. Для нашеrо диска ем-костью 47 ['байт размер страюtuы составляет ]6 Мбайт. I шkdir /dev/vqOl .. mknod /dev/vqOl/qroup с 64 0)[010000 « vqcreat8 8 16 /dev/vqOl /d8v/dа:k/сОtЗdО Тлсrеаsеd t:he пшnbес of physical ext:ents рес physical volume to 2805. Volume group "/dev!vCjOl" has Ьееп succes.sfully created. Volume Group сопfiCjurаr.iол for !dev!vCjOl has Ьеел заvеd 1П /et.c/ lVП'Lсолf/vqОl. conf .. vgdieplay /dev/vqOl  Volume CjrQup.s VG Name VG Write Дссезs VG Status /dev!vqOl r-e.ad/write available 167 r 11080 В. Добовление новоro жесткоro диско 
После Toro как диски добаRЛены в rpуппу томов, можно начинать обратно разбивать ее, но уже на лоrические томи. Команда Ivcreate создает Н08ЫЙ лоrtl'чески'Й том. При Н8ЛИЧШ1 флаrа .L размер тома за.аастся в меrабайтах, а при наличии флаrа I  в !lоrически>, Стр3НИllах. Лоrическзя страниuа соответствует физической дисковой страНИllе, описанной выше, и обычно имеет размер 4 Мб, если не было указано иное значение с помошью команды1 vgcreate. Размеры томов, задаваемые в меrабайтах, будут окрyrлятъся. чтобы оказаться кратными размеру лоrической страницы. В представленном ниже фраrменте размеры KopHcвoro резервноrо раздела (1 rбаJtr) и раздела nOlIКa'n<H (1 rбаJtr) указываются в меrабайтах", OCTaB Шесся число лоrических страниu выясняется с помошью KOM8НlIЫ vgdispls)', И из них формируется третий лоrический том СтаНЛ8РТНое имя лоrическоrо тома имеет формат /dev/vg.XX/lvonN. rде \'Х  номер 'РуппЬ1 томов. а N  номер тома 8 порядке возрастания. Можно задать более описательное имя, воспользовавшись ОПUJ1ей п. но мы не ста.'1и этоrо делать. Если fшанируется использовать лоrический том мя начальной ззrpузки. ПОДК3LJКИ ИlИ '<ранения да"тов ядра, неоБХОЛlIМО задать. чтобы соответст- вующий участок .писка был непрерЫRНЫ\.i, It отключить псреН8значение поврежденных блоков. Это делается с помошью флаrов c и r команды IvcreBte. I vcreat8 c у r n L 1024 /d8V/vqo1 Lщр..саl volume "/dev/vCjOl/lvoll" has Ьеел 9uccessfully creat:.ed with charact.er device "/dev/vqOl/rlvoll". LOCjical volume 'l/dev/vgOl/1voli" hаз Ьеел suссезsfullу ехtелdеd. Volurr.e Group солfiqurаtiол for /dev/vCjOl has Ьееп заvеd п /etc/lvmconf/vCjOl. conf f lvcr.ate c у r n L 1024 /dav/vgol LOCjical volume "/dev/vgOl/lvo12" ha1! Ьее" successfully created with character device "/dev/vgOl/rlvo!2". t l.vcreate l 2676 /dev/vqOl Logcal volume "/dеv/vgОl/lvоlЗ" has Ьееп successfully created with character devlce "/dеv/vgОl/r!vоiЗ". Необходимо выполнить команду Ivlnboot. чтобы уведомить систему о ноном корневом томе и томе подкаЧЮf: I l.v1.nboot r /dav/vqOl/1.vo1.1 Volume Group confl.quraton for /dev/vCjOl has Ьее" .:Sa.ved in /etc/lvmconf/vCjOl. conf . l.v1.nboot 8 /dev/vq01/1.vo12 Volume Group сопfiqurаtiол for /dev/vCjOl has Ьее" saved in /etc/lvmconf/vCjO!. сап! ДруrоЙ способ создания 1I0rll L leCKoro ТОМа аК.'IЮLjается  ТОМ. 'ПО снзч.шз выполняется комаНда !"creale. ФОРМНРУЮЩ<1Я ТОМ нулевой длины, а ]dTM вызывается команда Ivextend. которая увеличивает ero размер. При это,.." МОЖНО точно указать, какие физические тома в rpynne образуют лоrическии в HPUX присyrствует OI''Рзничение. соrласно которому облаt"Ть подкачЮ4 ДОJlЖна распо-- 'I8rаться в пределах первых двух rиraбаЙТО8 физическоrо диска, а заrpУJОЧНhlЙ том должен быть первым nоrическим томом. Мы выбp8Jlll для KopHeBoro тома и тома подкаLIКИ одинакопый размер I rбайт, чтобы УЛОЖIПЬСЯ В рамки зтоrо оrpаничсния. Подробности МОЖНО прочитать в документашm к команде Mnboot. 168 Чость 1. ОСНОВЫ одминистрИРО60НИЯ 
ТОМ. Korna команда I\'create создает иеН)'!1евой том, она просто исполъзуе-т свободные дисковые страниuы люБы1x физических томов, что ПОДХОlIИт для боПЬШИНСТВВ ситуаuий. После Toro как лоrические тома СоЗданы. их необходимо проверить, выполНИВ команлу vgdisplay \' jdev/vgOl. Можно также узнать. каКИМ лоrJ.Jческим томам прИНадЛежит тот или иной Фllзический том, запустив команду pvdispla)' > /dev /dsk/cOt3dO. Результаты работы команды pvdispla)' MOryr быть достаточно большими. поэтому лучше направить их по каналу проrpамме постраничной разбивки. такой как пшrе. Палее слелует с помощью команды ncwfs создать фаЙловые систе\lЫ в :IопrческиХ томах. СТ8.fШартный тип фаяловой системЫ указан в файле /elc/deraull/rs. Обычно это VXFS (vxfs), Т.е. файловая система менеllжера лоrических томов Veri18s. В любой комю-ще, работающей с файловоЙ системой, можно указать прутой тип системЫ, воспользовавшись ОПllией F. Допума также фай. т 1ОRaЯ система HFS (hfs), являюшаяся разНОВИдностью быстрой файловой системы Беркли  FFS (по умолчанию используется 13 большинстве версий UNIX). ПОllДержка HFS оставлена в целях обратноЙ совместимости: в новых системах rораздо лучше работать с VXFS. Команда newfs в качестве apryMeHT8 принимает имя байторlit:НТИРО8ан Horo устройства. связанноrо с заданным лоrическим томом: t n8.f. r vxt'. /d8v/ v qOl/rlvoll version 3 layout. 1048576 sect.ors, 1048516 blocks о! size 102.;;1, 10g S.l.ze 1024 b10cks un:".l.mited 1лоdеs. 1048516 dat.a. bocks, 10472204 free data. .olocks 32 а11оса::lоп uni:s о! 32168 b:"ocks, 32168 dat.a. b:!.ock8 first al10cat.ion Un1 st.art.s а!. block О overhead per a110ca::lonun1t i5 О block9 . n.wt'. .. vxf. /dеv/ v qОl/rlvо1.З ver5ion 3 1ауои'!. 43843584 sectors, 5480488 blocks of sze 8192, 10g size 256 b.!.ocks Поскольку операuионная система VXFS поддерживает журна.'1ьный реЖllМ (в Solari он ВI01ючает(я с по\юшью ОПlши ЧОНТИрОR8ННЯ o logging). проrpзм.ма rsck всеrда выполняется быстро; " t'ack /dev/vqOl/rlvoll fi!e system 19 с1еап  10f rep1ay 18 not required Теперь можио монтировать файловые систеМЫ. Как вcern8, комаl-Ща mOUflt требует указаТЬ имя блокориентированноrо устройства. Чтобы убедиться в правильном вьmолнеНИИ проuе!IYPЫ монтирования, МЫ залусквем команду Ы, (это ВSDвсрсия KOMaНllЫ dr, которая Д11Я некоторых люлей понятнее). t mkd.ir /n8w t lI!.Ount /d.8v/vgОl/1.vоlЗ /n.w t bdf /n.w Fl.lesY9t.em кbyr.es usec1 avail 1Iused Mount.eci оп /dеv/vgО1/1vо':'З 43843584 3616 4349'1480 0% Inew Далее мы добавим заm!си О диске в файл /elc/rstab, нвзывавшийся /elc/checklisl в н P UX I О и ранее. В каж.пой записи зтоrо файла указано имя блокориентированноro устройства, точка монтирования, тип файловой r лово 8. Добовление новоro жесткОro Д1CKO 169 
системы1. опuии. частота создаН.1Я резервных копии и порядок проверки проrраммой fsck. Можно также добавить комментарии. Указанный ниже параметр delaylog ПОЗВОЛяет пожертвовать Н8JIежностью ради скорости. Получить информвuию об этом и лруrих пар8метрах монтирования файловой системы VXFS можно на страНИllе интерактивноrо руководства mount vxfs. Две наши новые файловые системы описаны так: Idev/V901/1voll IdеV/V901/1 v оlЗ Ibkroot vxfs delaylog Q !new vxfs delaylo9 О Все. что осталось сделать.  это ВКЛЮЧИТЬ режим подкачки для BToporo лоrическоrо тома. Команда swapon назначает устройство для подкачки и принимает имя блокориентированноrо устройства Если необходимо создать НескоЛЬКО облаcrей подкачки. может потребоваться модифиuироватъ параметр ялра maxswapchunks. В любом случае при ВО3НИКНОRении проблем команда swароп пыдает предупрежnение. По завершении работы команды имеет смысл выполнить команду swapinfo. чтобы убедиться в правильном назначении областей.  Подробnее о /lapaJtlempax ядра расскозываетСR в lЛове 12. . avill.pon /dev/vqOl/1vo12 t 8w4p.in:fo кь кь кь START! кь ТУРЕ AVAIL USED FREE LIMIT RESERVE РЮ NAМE dev 262144 О 262144 О 1 Idev!vCjOO!lvo12 dev 1048576 О 1048516 О 1 Idev!v9 01 / 1v o12 reserve  50876 50876 Похоже, все прошло успешно. Нужно не забыть добащrrь запись Л.'IЯ устройства подкачки в файл /etc/rstab. иначе при переЗ3l"рузке систе'l.iа I-Ie Быд!lитT ДЛЯ Hero дисковое пространство: Idev/vCjOl!lvo12 swap defaults о IJ swap device После всех этих операllИЙ следует перезаrpузиться и проверить. добавлены ли записи в файл /etc/lStab. выполнено ли автоматическое монтирование и правильно ли орrанизована подкачка. Red Hot После инстал}'lяUии HOBoro писка, прежде чем заrpужать ядро. желатеЛhНО убедиться. что система распознает устройство. Если это IDЕдиск, проверьте, что он распознается ПрOlраммой конфиryраuии BIOS, которую можно вызывать нажатием .'маrnческой" последовательности к.1авиш перел началом заrpузкн сиcrе\{bJ. Обратитесь к руководству. поставляемому с компьютеро\<! или материнской платои, чтобы получить информаuию о конфиrypирОRЭЮШ BIOS ДIIЯ IDЕустройств. Мноrие SСSInлаты имеют nporpaMMY настроЙки BIOS. которую можно вызвать перед началом заrpузки. В этом случае необходимо провеСТI-I сканирование SСSlшины. чтобы проверить, подключено ли к ней новое устройство. Если эта проиедура ПРИ80ДИТ к зависанию или выдаче сообщеНШI об ошибке, то, возможно. был выбран идентификатор устройства, который уже KeMTO занят, или неправильно устаномены терминаторы. 170 Часть 1. Основы администрирования 
С помошью ВIОSпроrpаммы SCSI KoтpoMepa можно также провести низкоуровневое форматирование диска Для некоторы1x дисков эта операuия занимает MHoro времени; к тому Же. ее нельзя прервать, так что будьте roTOBbI к этому_ Если SСSIплата не располаraе1 пользовательскиМИ средствами конфи rypирования, всеrда можно просто ззrpузить систему и посмотреть на сообщения, выдаваемые ядром. При отсутствии сообшений от SСSIдрайвера не ИСlU1ючено. qrO необходи-мо инсталлировать драйвер, прежде чем устрой ства сможет быть распознано ядром. ltJ Об инст'ЫАяцuи драйверов устройств раССICазывает,.я 6 lIаршрафе 12.8. В нашем случае SСSIконтроллер BusLoglC выдал такое сообщение: 9C!liO : Bu:sI.oqic BT9-48 8С!!1 : 1 host. Vendor: SE:AGATE Model: ST4464S2W Rev: 0001 'rype: Dlrecr.Acce!l!l ANSI SCSI reyi8on: 02 Detscted асзJ.. d1.зk Sd4 8t 8СЗ10, сЬаппеl О, id З. lun О scsiO: Tarqet 3: Queue Depth 2Е!. Asynchronous SCSI devJ..ce sdb: hdwr sector"S12 byte:s. Sесtфrs..9192З356 [44Е1134 МВ) (<44.9 GB] sda: uлkпоwл partition table Не обрашайте внимания lia сообшение о таблиuе разделов, та..: ":зк это первое обрашние к ДИС}l.'У. Коrда систма завершит lаrpуз...."У. можно б.дет ПРИС7}'Т1ать к разбивке диска на разделы. В первую очередь необходимо проверить, су шествуют ли файлы устройств для диска. В Linux имена файлов. соответствующих SСSIдискам. имеют формат /dev/sdXN, rпе х  это символ в нижнем реrистре, идентифиu"руЮ ший lIИСК Са  SСSIlIИСК С самым МШI1ПUИМ номером, 'Ь'  слеllУЮШИЙ диск и т -д .). а N  это номер раздела, иачИИ8ЮЩИ'ЙСЯ с 1. При ссылке на весь диск номер раздела просто опускается. В Liпux нет байт ориентирован ных дисковых устройств. В данном примере наш диск ЯW1яется первым в SСSIllепочке. Следова тельно, первый раздел будет называться /dev/sdal, R ссылка На весь диск будет такой: /dev/sda. Если файлов устройств нет, их можно создать с помошью CIlенария /dev/!'vL\KEDEV' cd I "у . /МAКEDП ada Теперь диск rOTOB к разбивке на разделы. Как и в большиистве операционных систем на персональных компьютерах, в Red Hat cooтвeтcт вуюшая yrипита называется fdisk. Хотя все версии утилиты работают примерно одинаково (они реализуют стандартную систему разбивки на разделы, предnоженную компанией Мiсrosоft). сушествует множество особенностеЙ. Желательно Д!1Я начала прочесть документацию и у6еJIИТЬСЯ. что имеющаяся версия утилиты fdisk работает так. как описано ниже. t fdi.k /dev/.d4 The number of cy1inders for t.his QJ..sk ::..з set to 5721. There is поt.hiлCj wrопCj wJ..th that, but this 15 larqer th.в.п 1024, and could J..n certain setups cause problems with; 1) softwar:e that runs at. Ьоос. tJ..rne (e.g., LILO) Обра-пrre внимание на то. что ЭТИ буквы обозначают ПОРМОК целевых номеров SCSIycт ройств, в не сами номера. Если добавить или у.цалить диск, все буквы поменяются. r лово 8. Добовление новоro жесткоrо ДИСКО 171 
2) bootn9 and part:.itonng software from other oSs (e.g.. DIS FDISK. OS/2 FDISК) ПОСКОЛЬ}I.'У мы будем ИСПО:IЬЗ0вать диск только в среп Linux, мы проиrнорируем препупреждаюwсе сообщение. Как объяснялось в параrpафе 8.2, иноrдэ важно делать первыЙ раздеl М8...'1енъКИМ. чтобы не возникало проблем со старыми BIOSnporp8MMaM1f и друrими операuионными системами, установленными на ТОМ же диске. ПРОlpзмма rdisk ЯW1яется интерактивной, ввеillпе т, чтобы отобразить список всех команд. Мы будем ИСПОЛЪЗ0вать такие команды: . n  создает новый раздел;  изменяет тип раздела; р  отображает таблицу раЗделов; . и  записывает таблиuу разделов на дисК. Так как на нашем диске еще нет раЗделов, мы начнем с Toro. Чiо создадим алин. ЕСJТИ на писке имеются старые разделы. их нужно преllВ8р1пельно удалить с помощьЮ команды delet.e утилиты rdisk. Утилита ничеrо не поменяет на диске, пока не будет дана комаНда записать таблицу разделов. В таблкце разделов есть место Д,"lЯ размещения четыехх первuчных разделов. Любой из них можно сделать расшuренным, т.е. указывающим на .nрyryю таблиuy разделов с еше четырьмя элементами  /lOZU'tfC"ШIU разде лами. Проше вcero оrpaнич:иться только первичнымJt разделами, что МЫ и CJlелаем: Command 1т for helpJ: n.w СDnunапd асt:iол е extended р primary partitlo11 (14): р Partt.lon number (14): 1 Firзt: cylinder (15121. detault. 1); 1 La9t cylinder or +eize or +!IZeМ ож:: +8zeK (15721. defaul't 5121): +2G Cornmand (т for help): print D1sk /dev/8da: 255 heads. 63 sectors, 5121 cy1:!.nders Unt.8 ... cylinders о! 16О65 '" 512 bytes Device Boot Star:: End Blocks Id SY8tem Idev/5dal 1 255 2048256 83 Linux Раздел подкачки создается ана.'JOПfЧНЫ\i образом, только тип разпела будет не Llr.ux. в Swap. Хотя ядру безразличен ТИ11 раЗдела. некоторые проrраммы и сuенарии пъrrаются на ero основании понять назначение раздела. В настоящее время размер областей подкачки в Linux не может превышвть 2 fбайт. поэтому мы указали максимально допустимый размер. Возможно, для боЛЬШИ1iСТВЗ ПКприложений это чересчур миоrо, но раз уж у нас такой большой диск. можно позволить себе быть столь шедрыми. Команда mkswap выдаст предупреЖдение. если она не сможет ИСПО.:IЪзоизтъ все выделенное пространство. Command (m for help): n.. Соmmалd асt.iол е exended р prirnary par'tition (14): р Part1tion numЬer (14): 2 172 Част.. 1. Основы одминистрирования 
Frst суliлdеr (25Ь5121, default 256): 256 Laз!: суliлder ос +slze ос +Зl.i:еМ or +B.lzeK 12561215, default. 12J5): 511 Соmrnвлd 1m for he1p): typ8 Partit.lon t.ype (14): 2 Нех code (t.ype L to 1ist codes): 82 ChBnqed sY8tem type of partt.ion 2 'Со 82 (Linux swap) Третий раздел создается точно так же. Перед тем как записать таблиuy разделов на диск, просмотрим ее: Command (m (ос help): p:r:int DJ.sk /dev/sda: 255 heads. 63 sect.ors, 5121 cy1inders On.lts ... cylinders of 16065 ... 512 Ьусее Devlce /dev/sd41 /dev/sda2 /dеv/sdаЗ ВооС StBrt 1 256 512 End 255 511 5121 В:'осха 2048256 2056320 41849325 Id В3 В2 8з System Liлuх Swap L.lnux Рядом с числоМ блоков бупет отображна Jвездоч-ка, ес.ТПI раздел не заканчивается на rpанИllе цилиндра. В этом сл)'Чае МОЖНО либо удалить разлет, и создать ero заново, указав нужное Ч1tсло uилинпров. либо смириться с тем, что небольшая часть писка будет недоступна В данном случае с таб:пruей разделов никаких проблем нет, поэтому мы записываем ее на диск; Comrnand (m for help): write he partition tBble has Ьее" altered Са111П9 i.octl () [о reread parttion ':ab!.. SCSI device sda: hdwr sector""512 Ьусез. Sесtоrs;оо9192ЗЗ56 [4488.1.1 МВ} [.1.14.9 GВ] sda: sda1 5da2 sdа.З Syncing dsks. Некоторые администраторы предпочитают noc.'le записи таблиuы разделов перезarpузиться, чтоБы1 убедиться в стабильной работе компьютера, прежле чем создавать файловые системы. В наши дни в этом нет особой необходи МОСТИ. но дЛя тех, кто привык инсталлировать Windows, лучше все же перезаrpузнться, чтобы успокоить нервную систему. Теперь можно присrупать к созданию файловых систем. В настояшее время стандартным типом файловой системЫ в Linux дефахто является файлоиая система EXlended 2 (ext2fs). которая основана на быстрой фаЙ.l0ВОЙ системе Беркли (FFS  Fast File System). Она создается с поfl.ЮШЬЮ УПU1иты mkeZrs. В Linux поддерживается MHoro друrnх файловых систем, но :lИШЬ ДЛЯ немнолfX имеется }7илита mkrs. Для yrиЛlПЫ tnkeZrs нужно указать имя устройства и размер разде:Iа; fI mk.2f'. /d8v/.dJ!! 2048256 mke2fs 1.14, 9Jan1999 for ЕХТ2 FS 0.5Ь, 95/08/09 L:...nux ext2 filesystem forma!: 514000 inodes, 2048001 b:'ock9 102412 blocks (5.00\) reserved for r.he зuреr user First:. data. block""'1 Block size1024 (109'""0) Fra9menr. size-1024 (109""0) 250 Ыоск 9соирз 8192 blocks рее 9соир, 8192 fraqments рес qroup 2056 inodes рес group fЛQВО 8. Добавление нОВОЮ жееткоrо диско 173 
Superblock Ьвсkuрз stored 011 blocks: 8193, 16385, 24511. 32769, 40961, 49153, 57345, 65537, Writing inode tables: 250/250 done Writinq superblocks а.лd filesystem аССQuntiЩ:l informaton: done Более крупная система создаеТСR так же, но процесс ВЬ1Полняется дольше. Ес.ли заранее известно. что не все из индексных дескриrrrоров. создаваемых утилитой mke2Cs, понадобится. можно уменьшить их число, увеличив тем самым место пля реальных данных. Но лучше иметь запас, чем недостачу. так как при нехватке дескрипторов нельзя будет создать ни одиоrо файла. После Toro как файловая система создана, увеличить ч.исло индексных дескриmоров нельзя Co:uaB файловые системы. запустим проrpамму rsck, чтобы проверить их правильность: t fsck ! /dav/sd41 PBrallelizing fзсk version 1.14 (9Jan1999) e2fsck 1. Н, 0Jan1999 (о, ЕХТ2 FS О. 5Ь, 95/08/09 Разз 1: Checknq inodes, blocks. and sizes Разs 2: Checking directory structure РВ5З 3: CheckinCj directory connectlvity Разв 4: Checkinq reference CQunts Разз 5: Checking Cjroup summary 1nformation Idev/sdel: 11/514000 files (0.0\ noncontiguous). 67014/2048001 blocks Как только будут созданы ТО'iки монтирован ия, можно смонтировать файловые систеМЫ: t :mkdlr /bkroot t mQunt /dev/sd41 /bkroot . df' k /bkroo'C . FilesY9tem lkblocks Used AVBlable Uзе" Mounted оп /dev/sdal 1981000 13 1878575 0% /bkroot. Чтобы обеспечить автоматическое монтирование новых файловых систем на этапе начальной заrрузки, необходимо добавить запиСь для каждоЙ ИЗ них в файл /etc/lStab. Каждая записЬ должна содержать имя устройства. имя точки монтирования. тип файловой системы. опции монтирования. частоту созда ..ия резервных копий и номер прохода для проrpаммы rsck: /dev/sdal /bkroot ext2 defaults О 2 /dеv/sdаЗ /bkroot ext2 defaults О 2 Пля Toro чтобы дисК CТ3.1l заrpужаемым, на Hero необходимо поместить заrpузчик LILO. Это делвется с помошью nporpaMMbI lilo, которая берет свои параметр.. конфиryраuии (имя заrpужаемоrо ядра и др.) нз файла /elc/lilo.conl. Подробнее об ИНСТaJ!J1ЯUИИ И конфнryрироианни заrpузчика LILO расскаЗbJ валось и параrpафе 2.2. Финальный шаr заключается в создании области подкачкИ и добавлении ее к системе. Разделы подкачки инициализируются с помоШЬЮ команды mkswap, которая в качестве арсументов принимает имя устройства и размер раздела подкачки в секторах. Последнее значение можно узнать у проrpaммы rdisk (см. выше). Это. однако, отнимает MHoro времени и едва ли необходимо. 174 Часть 1. Основы администрировония 
Коrда область подкачки созпана, ее нужно активизировать с помошъю команды swapon. Эта команда также проверяет, праиwrьно ли была добавлена даниая область. . 1Dk....p c /dltJv/.dlJ.2 2056320 Setting up swapspace version 1, . 8v.pon /dltJv/.d.a.2 t 8vapon . Filename /dev/hda5 /dev/sda.2 зizе  2105667584 bytes Туре part.i t.ion partit.ion Slze 133020 2056316 Used priori'Ly 688  1 О 2 Как всеrда, нужно побавить 13ПИСЬ для Hoвoro раздела в файл /etc/rstab. чrобы система автоматически подключила ero при перезаrрузке. В иашем случае зто бу.nет следуюшая запись: /dеv/зdа2 swap swap defaul'Ls Теперь нужно переrpузиться и убедиться, что все записИ добавлены в файл /etc/rstab. а все файловые системЫ и разпел подкачки фуикционируют иормзльно. FreeBSD Заставить иаш писк еМКОСТЬЮ 47 rбайт работать 80 FreeBSD оказалось иелеrкой задачей. Утилита разбивки диска disklabel постоЯ-ННо выдавала заrадочное сообщение "no space left оп device" (на устройстве не осталось места). Потратив массу времени на выяснение ПРИI..IИН каж.!lOЙ ошнбки и перебор различных парамеТРО8, мы сдались и выбрали диск rоразпо меНЬШеЙ емкости: Seaga!e ST32SS0W (SCSl2. 2 rбайт). Возможно, к тому времени. коrда вы будете читать эту книry, проблема бупет решена, если же вы столкиетесь с ией, воспользуйтесь иисталляuионнои утилитой /stand/sysinstall Как и в llpyrих системах, необходимо проверить правwrьность инсталля ции на самом низком уровне. Современные SСSIl(онтроллеры имеют встроенную проrpамму конфиryрирования BIOS, которую моЖНО вызывать нажатием "маrиl..lеской" послепоозтелъности клавиш во время проuедуры самотестирования при вкnюченни питания. ВIОSпроrpамма пОJволяет CKa нировать шину SCSI в поиске устройств и сообшает о возможных проблемах и конфликтах. Кроме Toro, она попускает низкоуровневое форматирование диска. Заrpyзив систему, посмотрите сообщения, информирующие о том, I..lТO ядро распо:шало новый диск; daO at btO Ьиз О t.arget 3 1un О daO: <SEAGATE ST32550W SUN2.1G 0418> Fixed Direct АссеБЗ SCSI2 device daO: З.ЗОQМВ/s transfers, Taqged Queueing Enabled daO: 2048МВ (4194995 12 bytes seC'Lor.s: 255Н БЗS/Т 261C) Разбивка писка на разделы во FreeBSD выполняется в поа этапа. Сначала создается секция. а затем она делится на разделы путем записи в нее ВSDметки. во FreeBSD секциЯ  это ТО, что 8 llpyrих операционных системах называется разделом, и ссылка на нее кранится 8 той же таблиuе разделов, которую yrилита rdisk создает в Red Hat и Windows. Придется запомнить. -по секnией называется физический раздел, создаваемый утилитой 175 r лово 8. Добавление HOBorO жесткоrо диска 
rdisk. а разделом  ;юrИl..ltская область в пределах секиии. опредtпяемая меткой тома., к сожалению, путаниuа возникает .доВОЛЬНО часто. е диском саязаныIнаa файла: jdevjdaO и jdevjrdaO. Это файлы блокор" ентированноrо и байториеНТliрованноrо устройства соответственно; они адресуют весь ДИСК. Имена, за которыми следуют бухвы от 'а' .до 'h' (например. jdevjdaOa), задают ВSDраЗlIелы лервой секtnrn FreeBSD. Можно орraнизоаать ОТlIельный lIОетул к четырем сскuиям посреlIСТВОМ файлов jdevj[r)daO.[14). Имена устройств MOryr быть различными в завиеимостм ОТ типа ПИСКQвоrо контроллера, поэтому, прежле чем форматировать писк, убедитесь в том, что используется npавильное имя устройства. Как Bcerдs. yrилита редактирования секuий (т ,е ФИЗИl..lеских разле!юв) называется rdisk. эта проrpаммв может быть запущена в aBTO'-i'атическом либо интерактивном режиме. Не I-fмея nOCTaTOl..lНoro опыта добавления .дНСКО8, лучше воспользоваться интерактивным режимом. Чтобы отре.nактировать таблицу распределения текушеи секиии, необходимо задать флаr e проrраммы rdisk, а штя создания новой секиии прелназначен флаr i: . r.u.k 1 с1аО При указании флаrа i проrpамма rdisk по умолчанию .делает весь диск секuией FreeBSD с номером 4. Поск""ьку FreeBSD БУlIет епинственноА операuионной системой, устанавливаемой на ПИСК, мы примем стаНдартные установки (этor "роиесс 3lIесь не показан). Korna редактируется существую шая та6.;rица разделов, проrpамма предynреждает, если npeJL'1araeMble изме нения MOryr повредить дрyrие опеpa.uионные системы. Помните, что на !lиске иичеrо не меняетс:я по тех пор. пока проrpамма rdisk не запишет на нето обновленную таблицу, поэтоМ} Bcer.na есть возможность начать снача.lа. Создав новые секuии, запустмм снова nporpaM!\fY rdisk, чтобы все проверить: t r.u.k с1аО .......... Working оп device /dev/rdaO .......... parame1:.er9 ext.r.act:ed from incore di9kl.abel асе: cylnders""261 heads""'255 sесt.оrs/trасk..БЗ (16065 blksicyl) parameters to Ье used for BIOS саlсu1аt.олs все: cylinder5-261 heads-255 sесt.оrs/trасk==6З (l60б5 blks/cylJ Media sector 51ze i5 512 WаrЛЛ9: BIOS зесСОС лumnеriлg st:art.s wlt.h зеС1:.0С 1 Informat:ion from DOS boot.block i5: ТЬе data Ео.!: parttion 1 is: <UNUSED> The dat.a for рас:::!. t10n 2 ..:.з: <UNUSED> The data for partlt':"on 15: <UNUSED> The data for pacti!:.ion 4 is: sysid 165, I FreeBSD/NetBSD/386BSD) start 1, size 4192964 (2047 Meg) I flag 80 (ac1:.ive) Обратим ваше внимание на то. что во FreeBSD используется терминолоmя, противополо:ж пая той, которая: применяется в спстемс Solaris на Iпtеlплатформах. В SoШП' тома. задаваемые меткой yrилиты fdisk, назывзются разлелами, а тома. задавземы.е меткоЙ Sal8ris, называются секциями 176 Часть r OCt--10Вbl одмиt--1стрироваt--1ИЯ 
Ь89: су! О/ sect.or 2/ head О. beg: су! 260/ !l8C'LOr 631 he d 254 Теперь в нашу сеКUИЮ можно записать метку. Метка ВSD писка (на самом пеле метка раздела) попускает НЮlичие до 8 ми разделов с именами от а по h. Раздел а. обычно является корневым, разле!l Ь нспользуется пля подкаl..lКI'I. а раздел с содержит 8 себе всю секwofЮ. ДлЯ создания метки необхопимо запустить nporpaM fY dlsklabel с опuией r ИIJI.I -w. Флаr r преПnИСЫН8СТ nporpBMMe обратиться к диску напрямую. в обход прайвера устройства. который наверняка неправильно опрепелит метку. если это новый диск. Опuия w требует дополнительных aprYMeHToB: имени дисковоro устройства и тнпа писка (указаны в файле jetcjdlsktab). В большинстве СiJYЧаев тип диска можно обозначить как ButO. что заставит nporpaммy disklabel воспользоваться параметрами. выявляемыми системой в проuессе а8томати ческоrо обнвружеНИА устройства. Например: t di.klab81 r .. d&O auto Если автообнаружение не работает, придется вручную сознать новую заПJ1СЬ в файле jetcjdlsktab. Коrпа метка созлана, ее можно отредактировать, выпОЛНИВ команду disklabel e. Проrpамма преобразует метку в текстовЫЙ формат. понятный I..lеловеку, и запустит редактор ,,1. Информаuия, касаюшаяся раздела, приве пена в конце файла. Если при создании метки писка не бьmа указана запись в файле jetcjdisktab, то, вероятнее Bccro, бупет создан епинственный раздел, coдep жаший всю секцию. Можно скопировать строку с описанием этоrо раздела и JIСПОЛЪЗ0вать ее ШIЯ задания дрyrиx разделов. Необходимо бупет COOТBeт ственно изменить обозначаюшую раздел букву, размер в секторах. смешение. тил файловой системы (4. 2BSD И1П! swap). а также размеры фрвrмснтов и блоков. используемые командОй newfs. Мы разбили писк на корневой раздел размером I rбайт и раз.nел полкаl..lКИ тaKoro же размера. Имя байт ориентированноro устройства jde.jrdaOc. передаваемое проrpамме diskl8bel, обозначает секцию FreeBSD. которую нужно сеrментировать: I di.klab81 x /d8v/rdaOc type: SCSI diзk: SEAGATE sectors/track: БЗ tracks/cylinder: 255 cylinders: 261 sectors/Un1.t: 4194995 8 part.i'Lions: t З1.zе off:set fstype [fsize bsi ze Ьрз/срg] .: 209715З О 4 . 2BSD 1024 В192 16 Ь: 2097841 2097154 в..ар с: 4194995 о 4 .2BSD 1024 8192 16 Файловые системы создаются командой newfs. Ей нужно задать имя байт ориенrnрованноrо устройства JlЛя раздела. rne формируется файловая система. , n8..t.. ld8v/rdl&O. /dev/rdaOa: 2091152 sector8 lп 512 суl1.пdеrз of 1 'Lrасkз, 4096 8ectors r пово 8. ДоБО8116н,,",е '-lQвОrО жесткоrо ДI'1СIЮ 177
1024.0мe in 32 cyl qrоuрз (16 c/g. З2.00МБ/g. 1"144 i/g) зuреrblосk backups (for fsck b ,) at.: 32, 65568, 131104, 196640. 262176, 321112, 393248, 458784, 524320, 589856, 655392, 720928, 786464. 852000, После создания файловой системы проверим ее с помоЩЬЮ проrp8ММЫ fsck. Ей также нужно указать имя байт ориентированноrо устройства. , f'ack /,цv/r.daОа I dev / rdaOa Last Mounted оп /bkroot РЬазе 1  Check Blocks and Sizез РЬазе 2  Check Pat.hnarnes phase 3  Check Солпесtivitу Рhазе 4  Check Reference Соuпtз Рhазе 5  Check Су! qroups 1 filез. 1 used. 1011010 [сее (14 frag5, 121132 blocks. 0.01 fragmentation) Команда swapo" активизирует режим подкачхи в соответствуюшем разделе. Тип раздела полжен быть указан в метке каК swap. Команда swaplnro, являюшаяся аналоrоМ KoMaHды pstat s, сообшает об устройствах, которые в данный момент используются для поп:качки. t .уарап /dltJv /daOb t .wap1.nf'o Device /dеv/wdОзlЬ /dev/daOb Tota1 lKblocks 70784 1048920 1119448 Used О О о Aval.l 70656 1048792 1119448 Capacl.ty О, О, О, туре Interleaved Iлtеr1еаved Чтобы при заrpузке новые разделы автоматически монтировались R вкmoч:ался режим подкачки, нужно добавить следующие записи в файЛ /ek/fstab: . Device Mountpoint FStype Options Dump Разз' /dev/daOa /new /dev/daOb ufs swap 2 О Для проверки файла fslab следует лемонтнровать файловую систему И ВЫI10ЛНИТЪ команду mou"t B, которая заНОВО смонтирует все перечисленные в списке файловые системы. Если команда завеРШИЛ8СЬ успеIШ-IО, переза.rpу зите компьютер и убедитесь. что все работает HOpMarIЪHO. 178 Чость 1. ОСНОВЫ одминистрирования 
9 Периодические процессы L  W  о };i }( \ , Ключ к сохр;тению ПОСТОЯННОrО контроля над системой  J.lпомаТlпа ШfЯ ""шксималъно возМОЖНОro числа задач. Например, Cllel-lЗрИЙ addu!!oer может ПОДКIIЮI..IИТЬ новых rlО!1ЬJонзтеJlеЙ быстрее. ч('м ЭТО слелOlСТ алМИllистратор НР}'ЧI-IУЮ. причем с rорюдо \.lенъшеЙ вероятностью ОШllбки. Почти ..а;.КД'ю задачу МОЖНО запроrpаммировзть в СllснарнЯХ интерпретатора команд И1lИ системы expeCI Пlбо 113 языке Perl. В некоторых случаях желательно, чтобы сценарий ИЛlI КОмaJша ВЫПОЛ нилась без вмешатеЛЬСТВi) оператора. Нанример, МОЖНО слслать та.::. I..lТобы сuенарий проверил (скажем, каждые ПОЛl..lзса). как работают сетевые М3РШРУ тизаторы И МОСТЫ, И при наличии проблем посылал администратору сообшени:е по электронной почте. 9.1. Демон cron: планирование команд в LJ>JIX периодичеСКlНI ВЫlю;шеfше\1 ПрОllt."ссоu }праВ.lяет ner-.IOII cron Он запускается по врсмн IlаЧi:СIЬНОН ]arpY3"'1 систеМbJ 1f остается 8 акпtRllUМ СОСТОЯНИИ до те'\" пор, IIOKi:I. CI1("TCM.1 н!:: б\lдет Бык."IЮЧС:НCt, Демон crOl1 НПi.lет ОДИН или неСКQЛы.:о файлов КОllфиryраuии. содержаших ПОСJlеДОВi:l.те!lьНОспt командных строк 11 расписание и'Х вы Ю8З., Командные строки обрабатынаются ИНп:рllретзтором sh, полому почти все, что можно cne;laTh R Шl.нном интерllретаторе команд вручную, вы можете перепору"'шть !ICMOH)" cron.. Файлами конфяryрации Уnр3R.r'lяет команда crontab (сокрашение ОТ "СТОП labIe"  таБЛИll3 деМОна поп) , поэтому их нззЬ!наюr сrопtаЬфаиламJ1. Все они хранятся 8 едином системном KaTa!IOI'e, чтобы демон !l.erKO Mor их lIаЙтl.f По запросам ПОЛЬЗО8З.телей команда cronLab нобавляет и удаляет файл ы R этом K3Ta1l0re" Для люБOl'О ПQлыоиателЯ создается не более одното сrопtаЬфаЙJl3" В качестве имени файла 11СllOлыуется рСI'ИС1"рашюнное имя ПОЛЬJоваТС.'IЯ" которому он приналлежит, 11 С помощью этоrо и \I('НИ демон cron RЫЯСНЯет, MHorne ОРI'Э.КИ3аЦИИ идут еше да.:lьше: в НИХ модем можст набирать номер пеfiLl.жера. чтобы а.о.министратора можно было вызвать паже тоrла. Korдa 011 не имеет доступа к электронной ПO'fТе, .. Некоторые версии демона сrоп допускают ИСПО,'lliзовзние дрyrих mпeрпретаторов, r лава 9" Периодичео:а.!е проиессы 179 
какое значение UID нужно IIсПОЛЬЗОn8ТЬ прн выполнении команл, СОllержа ШИХСЯ в файле. Старые версии демана cron пеРИОПlfчески ПрОСМ6ТрИВ3ЮТ свои сrолuЬ- файлы и запускают все KOMSН, IЛhI которые по..1JКны были быть выполнены t момента препыпушей IIрorИ:рЮI. СОFlремснныс верСIИ деМО,.lа осушестмяют синтаКСИ\lеский ана.IlИ] сrnlltаlhфOiЙЛОА. ОПрс!lСJ1ЯЮТ, ка...')'ю из пере1lliсленны\ команд нужно ПЫПОЛНIПЬ n б.1liжайшую Ol.lepC...1b. и переходят в состоянис ожидания до наС1)'пления требуемоrо срока. В некоторых системах передача лемону cron сиrнала отбоя (Н U Р) заставляет ero повторно ПРQl.lИтать свои сrопtаЬфайлы. Как правило, нет необходимости дела1Ъ это вручную. так как КОМа}ЩS сrопtaЬ автомаП1Чески дает .nемону указание переЧ1П3ТЬ файлы конфиrypauии при изменении oднoro из них. Демон cron обычно выполняет свою работу '.молча", но иноrда может вестись файл реrnстрацин (как правило, это файл /..r/cron/log илн /,.иr/аdrn/сrоп!1оg), в котором отражаются все выполняемые комаНlIЫ и время их запуска. В некоторых системах при создании файла реrистрации aBToMa тически ВКJlючается режим реrистраllИИ. а при удалении этоro файла реrnстраuия ПЫКJIЮl.lается. В ДРУПfХ системах режим реПiстраLlИИ задается в файле конфиrурапии. Кроме Toro, лемаН cron может ПО.ilЬЗОlt3тЬСЯ услyraми системы syslog. Файл реrnстрашfИ быстра }rвеличивается в размерах и редко приносит пользу; лучше не вютючать реrnстраuию вообше, если только вы не ззнимаетесь устранением какойто КОНI(РНОЙ проблемы. 0' о сuсте.ие syslog рассказывае11lСЯ в Z..laBe //. Если какаялибо koM31-Ша не была запушена в нужное время (например. изза Toro. что система была 8ЫI01Юl.lена), то пемон сrоп не выполняет такую команду позже, поскольку информаuия о факте неВЫПQлнения не сохраня ется. Помимо этоrо. некоторые версии демона не понимают перехода на летнее/зимнее время, что ПрИ80'nИТ к ПРОnYСКУ или пвукратному выполнению комаl-Ш при переходе на дpyroe время. К таким ситуаuиям следует быть rOTOBblM. Проблем можно избежать. если не ВblПОЛНЯТЬ команды в "крити ческие" 1.13Cbl. 9.2. Формат сrоntаЬфайлов Все сrОПlаЬфаАлы в системе имеют обшии формат. Комментарии начинаются со знака решетки (#) В первой позиuии строки, Каждая строка. не ЯW1я-юшаяся комментарием, содержит шесть полей и представляет одн} команду: минуты часы день иесяц день  недели коианда Первые пять полей отпеля-ются прут от .прута пробелами. но в поле ко.ианда пробел выполняет свою обычную роль разделителя apryмeHТOB. В полях минуты, часы, день. .месяц и оеНЬНl?де_1U дается I1НфОр?\..fаuия о времени запуска ко'-1'зн.nы. ОШ1С8нне эти" полей привспено в табл, 9.1. Таблица 9.1. СпеЦИфИkации времени в сrопtоЬфай,..,е Поле минуты часы dень месяц deHb недели Д иопозо... отО до 59 отОдо23 от 1 до ]1 от l до 12 от О ДО 6 ( О  вос кре сенье ) Описание Ми...yrы часа Часы дня День МI:СЯUв. Месяu rода Де.нь liедсли 180 Чость 1. ОСНСВЫ ОДМИliистриравания 
КаЖдое из вышеуказанных полей \южет содержать: . звеЗДОЧJ..."У, которая означаеТ moбую IlИФРУ: целое число, зanзюшее отделъный зле\.lент даты; ЛИЗ разделенных дефисом пелыХ числа. соответств}1ОШИХ J1Изпазон) значений. Ilелые Ilиc.rlа или диапазоны, разделенные заПЯТЫМl1 и соответств\'Юшие любому из указанных значеНИЙ. Например, спеllИфИК3UИЯ 45 10 15 03Ha1laeT .'10 часов 45 минут. с понеде;Jьника по пятниuу". С полями дeHb недели и день сопряжена потенциClJlЬНая лвусмысленность. которую необходимо учитывать. Каждый день ЯВ!1яется и днем недеЛII и IП1С.10М месяца. Еc.rlИ } казаны оба JТЮi поля. то подпадающему под их дествие дню достаточно удовлетворять одном.у из двух требований, чтобы пройти отбор. Например. спеШfфВl<aUИЯ 0.30 13 5 означает "каждые полчаса по пятниuам и каждые полчаса трШ-Iадцатоrо числа месяца", но не .I каждые по."1часа в пятницу тринадцатоro Ilисла". Поле команда солержит командную строку, подлежашую выполнению Rнтерпратором sh Это может быть любая допустимая команда интерпре татарв, причем без кавычек. Считается, что поле KO!rfaHiЮ продолжается до кониа строки и может содержать пробелы и символы табуляuии Прииад..'lе жаший супеРПО!lьзоваreJ1Ю сrопraЬфайл может ВЮlючать коман.n:ы. ВЫПО:lняе мыс от имени произвольноrо пользователя. Они предваряются строкой jbin/su имя  rlО.1ьзоваmе.IЯ -с. o Более подробиые сведения о KO.'fDHde sи находятся в nарЙlрафе 3.4. Большинство версий .демона crou допускают использование знака про иента (%) вместо символа новоЙ строkИ в поле ко.цйндй В реа.пьную KOMaнny вютючается TOJТЪKO тексТ ПО первоrо знака "роиента: остальные СТРОЮf передаются команде в Ka1lecne стандартноrо BxolIHorO потока. Вот некоторые ПрRмеры допустимых команд 8 сrопtаЬфайле: echo The tl.me .1.5 по,,", 'аа:.е. > /dev/conso:'e ....rir.e garth , 1-\1. Garr.h. , P.e:rlemЬer со get.  job. cd lets; /bin/rnail з "Pass....ords file" evi < раззwа А ВОТ по.'lные при меры записи: 30 (cd /users/joeipro)ec:.; make) Эта строка будет активизироваться в 2;30 по понедеЛЬНlIкам. Она июшиирует выполнение комаНДЫ rnake в каталоre /usersJjoe/project. Ее можно использовать Шlя запуска продолжительной КОlПиJlЯUИИ на время. пока в системе не работают .дрyrие ПО:Iьзователи. Вся выходная информация командЫ cron обычно посылаетсЯ по 'Электронной почте "В.:lадельцу" команды.. 20 fl.nd I:.mp ati:rle тЗ exec rm f {\ То есть ПОДЬ30вате..""[)(), именем KOTOporo назван файл. Фактическим владельцем crontab файлов обычно ЯR!JЯется пользователь root r паво 9 Периодические процессы 181 
ДаНJ-Iая команда будет выполняться каждый день в 1:20. Она удаляет из каталor"З /tmp все файлы, к которым за последние 72 часа пользователИ ни разу не обратились. 5S 23 O3, б Istaff/trent/bin/acctscript А эта строка запускает команду acct script в 23:55 кaжJIый день, кроме I..leтвepra и пятниuы. 9.3. Изменение сrоntаЬфайлов Команда crontab имя файла инсталлнрует в КЗl..lестве сrопtаЬфайла указанный файл. КОМанда crontab e проверяет копию сrопtaЬфаkла вызвав шеro ее пользователя, запускает для Нее текстовый редактор (указанный в переменной среды EOIТOR). а затем повторно залисывает файл в системный кзталоr. Команда crontab I отображает содержимое сrопtаЬфайла, а команда сrопtaЬ r удаляет этот файл. Большинство систем позволяют пользователю root запивать apryмeHT имя  пйльзователя, чтобы можно было просматривать и редактировать cron- tаЬфайлы прyrиx пользователей. Например. команда crontab .r jsmith уnaляет сrОПlаЬфайл. принадлежаший пользователю jsmill1. В Red Hat и FreeBSO. rne в одной команле можно задавать как ИМЯ пользователя. TaJ( и имя файла. необходимо перед именем пользователя ставить опuию o (например, cron"'b -п jsmilh cron"'b.new). Не получив apryмeHTOB. команда crontab попытается прочmзть crontab файл из CBoero станлартноrо BxolIHoro потока. Если этот режим был акпrвизирован случайно. не пьпайтесь выйти из Hero, нажимая клавиши <CtrlO>. так как весь сrопlаЬ-фзйл будет уничтожен. Используйте для этоrо комбинаиию клавиш <C[rlC>. По умолчанию все пользователи имеют право создавать сrопtаЬфайлы. Чтобы исправить подобную ситуацию. системный администратор может создать два спеuиальнъrx файла: cron.allow и сrоп.dепу. оты1катьь ЭТИ файлы довольно трудно. ПреЖде Bcero проверьте каталоrи /elc/cron.d. /usr/lib, nsr/lib/cron и />8r/.pool/cron. Во FreeBSD файлы находятся в каталore />ar/cron и называются лросто allow н deny. В табл. 9.2 YК3JaHO размешение файлов, связанных с пемоном cron, в четырех тестовых системах. Если сушествует файл сrоп.аllоw. то он содержит списак пользователей, имеюших лоступ к демону cron (по одному имени в строке). ТОТ. кто в списке отсутствует. выполнять команду сrопtaЬ не имеет права. Если файла cron.allow нет, проверяеrся файл сrоп.dепу. Как и файл cron.aJlow. он содержит список пользователей. но с противоположным назначением: досryп разрешен всеМ. кро.ие указанных в списке. Если нет ни одноrо из двух файлов. только пользователь root имеет право создавать сrопtaЬфайлы. Важно понимать, I..lТO права доступа реryлируются командой crontab, а не лемоном сrоп. Если пользователь найдет способ обходным путем поместить в системный кзталоr свой сrопIяЬфайл. лемон cron будет блаrОПОЛУIJНО выполнять указанные в нем команды. 9.4. Применение демона Cron Существует uелый ряд стандартных задаl..l. для решения которых, собст венно, и предназначен демон сrоп Соответственно, большинство записей сrопtаЬфайла пользователя root служат имеНJ-IО стандартным uелям. В данном параrpaфе мы рассмотрим подобные задачи и элементы сrопtаЬфаkла. обеспечиваюшие их реализаuию 182 Чость 1. ОСНОВЫ администрирования 
UNIХсистемы часто постаВЛЯЮТсЯ с неСкОJJЬЮfМ11 уже инсталЛИРОАан ными злемеmами сrопtаЬфаЙЛ8. Если необходимо отключить эти элемеmы, превратите их в комментарии, вставив в наl..lало кажлой строки знак решетки. Не удаляйте такие строки: возможно, они еше приrодятся. Чистка файлавай системы В любой UNIХсистеме имеютсЯ файлы. в которых нет никакоЙ нanобиости. Например, при аварийном завершении проrpзммы ядро создает файл пампа, СОдержаший образ aдpecHoro пространства nporpaмMbI. Раньше этот файл назывался core. но некоторые современные системы включают А ИМЯ файла название проrpаммы или илснтификатор проuесса (например. n.tscap'.cor. ИlIИ cor..7288).. Такие фаЙЛЬ1 полезны )lЛЯ разработчиков проrpaммноrо обеспечения, но для администраторов это бесполезная трата лрвrоцеиноrо пространства на диске. Пользователи I..lacтo вообще не знают о назначении файлов даМПа, поэтому пре.!1ЛОЧИТ3ЮТ не брать на себя oтвeTCT венность за их удаление Еше один источник лишних файлов  NFS, сетевая файловая система. На серверах N FS применяется специальное обознаl..lение для зашиты файлов. которые локалъно уничтожены, но продолжают использоваться удвленной машиной. В большинстве реализаuий таким файлам прнсваиваются имена .пfsxxx, rле ххх  числовое значение. с.'Тучается так, что об этих файлах забывают и оставляют их на писке, думая, что 01111 удалены. o N FS рассматривается 11 l.llQBf J 7 Мноrnе проrpаммы создают в каталоre /trпр или /vаr/tПlР временные файлы, которые по той ИЛИ иной причине не улалЯlOтся. Некоторые проrpзммы. особенно текстовые редакторы, имеют привыqку создавать резервные копии кажлоrо файла. с которым он и работают. Частичное решение проблемы файловоrо "мусора" состоит в том, I..rrобы установить некую процедуру реryлярноrо восстаномеН1fЯ свободноro лиско вoro простр3RСтва, запуская ее (допустим, каждую ночь) С помощью демона сrоп. В современных систеМах обычно имеются BcтpoeHt,ble средства подобной Ql..lИстки, поэтому необходимо убедиться, что они соответствуют потребностям орraнизаuии. Во всех привеленных ниже примера\ для удаления ненужных файлов используется команда fiпd. fnd I xdev name core at.ime +7 exec rm ! {} ';' Эта команла удаляет фаилы с именем core, которые не НСПолЬЗ0Вались u теl..lение нелели. ApryмeHT '\:dev rарантирует. что комаНда liпd будет выполнена только в корнеоон файловой системе и в лруrие файловые системы не перейлет, что очень важно в сетях. rле возможно монтирование множества файловых систем с помошьЮ N FS... Если необхо.n.имо очистить несколькО файловых систем. используйте для каждой из них отлельную команду (помните, что каталоr /'IIsr часто является отдельной файловой системой) flnd I xdey аt:ПIe +3 1(1 пате .,.' o naJtle '."'" o naJtle '..СКР' o \ пате ,., o name ',nf.s*' ')' exec ст f {} ';' Слово "corc" (сердечник)  синоним термина "memory" (память) Этот термин родился в ранних вычислительных системах, rдe в качестве запоминающих элементов использова.1JtСЬ ма.rIСНЬЮfе ферритовые колъuа, закреплеЮiые на перес.::ечениях ПрОВОШfИ.ков. .. Арryмеит xdey подперживают не все версии nporpaMMbl find. 8 некоторых системах он назьшаelСЯ x. rЛQSО 9. Периодические процессы 183 
Эта команда уп.а.'1яет не использовзвшиеся 8 течение трех пней файлы. имена которых Н31,Пfнаются с префИКС8 '. .,. И1Ш .r.fs либо закаwшнаются СИfволами . :КР, Часто ..по временные фай-ты и резервные файлы Р:В.1НЧНЫ\ текстовых реllаКТОРО8. fnd /va.::/preserve ;nt.lme .:) exec rrr. E {. ';' Такая комаНllЗ Уllи.пожает файлы 8 каталоrе jvar/preserve '-(срез fifle не..1е.ll1 после 11>' последнем \Ю'nИфJlкашПl. Редактор vi использует этот кзта-lOr 'n"'1Я хранения копий фаЙ;ЮБ. которые реда":ТJlровались rlOльзователями в ro.lOMeHT краха СИСТС\IЫ. Та",--ие фаЙ. Т 1I:.1 сохраllЯ1QТСЯ и никоrда не упаляются. если то.'1ЬКо НХ не у.na..'1ЯТ Rладе:JЫIЫ с помошью команпы vj r U.\fЯфQIi1(J. cd .'tmpi flлd . l П<3.""I!! los:+found type d mt:lП'".е тЗ \ exec /ЬiЛI ст .cE I Привеп.енная выше команда peKypCIfBHO упаляет все попквталоПf К3Т3:lOrз /tmp. не мопифю.п.ровавшнеся в течение 1'1 часон. Обыqные файлы в к,аПL'lOre jtmp удаляются стартовыми ..:ценария\НI во время началЬНОЙ JаrpУЗК1, но HeKOfopble системы не ВЫПО.1НЯIOТ опеРсШIfЮ У1l8ЛНИЯ кзталоrоп. FC.,II с}сществует KaTa.'lOr пол И'\Iенем lоst+fоuпd. то он не вк.'110'-lается в ЧIIС.10 уп.а.'1ямых. Это важно. если кзта.-тоr /tщр  отпельная фаtt.rzовая CI('TeMd. o Ката.10? lost+fouпd был OI111са" в l1ара?рафе 84 Если в CJ1CTe\le применяется какзялибо из этих КО\fВНД. ПОЛЬ30ВJтеЛII ПО.1Жны знать, каЮ1fИ ПРIНЦllпамн руководствуется администратор при '-lНcn::e файловой системы Распрастранение канфиryрацианных файлав па сети [{] При администрировании КОfПьютрной сети 80 мноrих случая-х удобно пользоваться спиной версией фалов конфиryраииJ.l, например базоЙ панны'" о псеВДОнJ1мах пользователей Э!lеКТрОIiНОЙ почты (jusrjlib/allases ЮНI jetcjali ases1. Основные версНИ JПIХ фа Плов можно распространять ежеДlевно с ПО\IOШью nporpaMbI rdist или СllенарШI на языке expect. Подробlfее о распространl'НlШ КОllфliурацuоuuы.у Фай..10в по с(!ти ВЫ узиаете lIрОlштав Z.1aB)' 18. Иноr.па необходима послеД}lOщая обработка фаnлов. Например. 80 MHOI'II)" системах требуется, чтобы по:rьзоваrе:IЬ ВЫНО.IНЯЛ IlporpaMMY ne""aliases П.J"IЯ преобразования TeKCTOBoro фай-та почтопых псевдонимов 8 хешированный формат. используемый проrpаммой sепdmаil. Может поналобиться И iаrpУЗI<i:,а файлов в anминистраnfВНУЮ базу данных. та....')'ю как NIS или NIS+. Циклическае испальзавание журнальных файлав л..урнальные фаklЫ в LINIX У8еJ'ИЧИВ310ТСЯ бесконечно до тех пор. пока пользователь f!РУЧНЮ IiС ОЧIСТlfТ I\' Есть раз..llЧНЫt' способы рiпрешеlШЯ этой проблемы. CCiMbln простоЙ Иj IIIL'<  IlеРИОДl1чеСЮI .ceKaTЬ Фаl1:IЫ. Более консернати8ный под\оп. заК.,ючается в хранении нtСКОJJЬКЮ. С-Тi'lры)' версий )f<.)'рнальноrо файла I1 Шlклнческом их НСПО.1Ь30БаНlIII nOHOBO\IY. "3то предотврашает бескоmролы-юе разрастание фа1t.rюв и в то же время ПОJIЮJlЯе1 ПОстоянно пержать под рукой информацию о последних изменениях. ТаJ...1'Ю проuедуру лучше вcero планировать с помощъю пе),юна cron. ПОдробнее об этом процсссе рассказываете я в параrpзфе 11 1. 184 Часть I ОСНОВ,,' одминистрировони 
9.5. Особенности периодических процессов в различных системах Местоположение различных файлов и каталоrО8. снязанных с демоном cron, подыоженоо 8 табл. 9.2. Таблица 9.2. Фо&1лы и КQТQЛQrи демона аоп в розличных системQХ Solaris HPUX Котолоr - crопlоЬ-фойлов /".r /spool/cron!croDt:abs /"f/ar /spool/cronjcront:abs F",eBSD /var/spool/cron /var/cronJ bbs KOTonar фаЙЛО8 allow и dелу /C[c/cron.d /шr/liЬ/Сroп /с[с :Журнальный файл Систвма Red Hat /VBr/cron!lO! /vиr/adm/сronf\о! /var/lo&'cron ИСПClJ1ЬЗуеТСR система 115010g 1  По умолчанию сообшснкя демона сron направляются в катапоrи Jvar /croo/log... fV8I/cron с:) , Чтобы вютючить журн.льный режим В 501.ri., отредактируйте Ф.йл /etc/derault/crOII. создав в нем запись CRONLOG""YES. В этом файле МОЖНО также задать значение персменной (репы РАТН. передаваемой выполняемым KOMalДaM. В Red Hat и FreeBSD используется HanHcaHHbIM Ilолом 8и"си (Pau) \t'I\:ie) пемон \riхiесrоп. ЭтОТ демон Я8!lяется снободно поступной реализаUI1СЙ пемона сrоп и имеет ряд улучшениЙ. Например. он ПО3ВОЛЯel .зanавать в сrопtаЬфаАлах значения персмtниых срепы. Дрyrим удобным усовершенствованием пемона Vixiecron является ВОЗ можность указывать шаr при ращения в сnеuификаuия.х времени 8 crontab файлах. Например, послепователъность О, З, 6. 9, 12, 15, 18, 21 может быть записана rораздо компактнее: O21/3.  r лово 9 Периоди....есКие проuессы 185 
7 О Резервное копирование J:.':A if$b (и I  \ в большинстве случаев ИНфОРМ3UИЯ. храняшаяся 8 компьютерах. СТОИТ nщюже самих компьютеров. Кроме Toro. ее rораздо труднее восстановить. ЗаШlrrа этой информаuии  одна из наиболее важных (и. к несчастью, самых трудоемких) 1адач системиаrо алминистратора. Сушествуют СОТНИ различи ых причи н. которые вызывают потерю важных данных. Ошибки 8 nроrpЗММНОМ обеспечении постоянно nриводят к nорче файлов. Пользователи случайно удаляют ТО, над чем работали всю жизнь. Хакеры и оБОJJlенные служа.щие стирают целые диски. Проблемы в апnарат ных средствах и стихийные бедствия ВЫВОДЯТ из строя uелые машинные JaJIbl. Поэтому НИ онну систему нельзя ЭКСJuryатировзть без резервных КШllНf. При nравИЛЫIOМ подходе создание резервных КоПltЙ данных ПОlноляет администратору восстанавливать файловую систему (или любую ее часть) в том состоянии, в котором она нахопилась на момент последнеrо СНЯТИЯ КОПИЙ. Резервное копироваllие должно ЩЮИЗ80ДИТЪСЯ тшательно и CTporo по rрафику. Кроме Toro, устройства резервирования и сами носители слеЛ}'еТ реryЛSlрНО проверять на предмет корректной работы. Безоnасностъ резервных леит является важным Jлементом корпоративноЙ стратеrии. Ответственные руководящие сотрудники должны 'Четко nониматъ. какой uе!lИ служат резерRные архивы и как они полжны ЭКСJuтyaтироваться. Д1'я какоrонибудь комnьютерноrо Юlасса в универСитете не так страшно потерять рез}'льтаты работы за один пень, как для торrовой комnанlfИ, реryлярно принимаюшей заказы от десятков илн сотен ICЛиентов. Мы начнем эту rлзву с описания обшей методики резервноrо копирова ния. после чеrо познакомимся с наиболее распространенными YCтpOAcTB3Mli создания резервных копий и собственно резервными носителями (их nреИ"l'уществвми, непостатками и uеной). Затем рассмотрим станпартные команды резервирования и архивироваlШЯ в UNIX, а также расскажем о том, 186 Часть I Основы администрирования 
в каюfX ситуаuиях .'lYчше та или (tная команда. Далее речь пойдет о nлаНИрОв;аНJПI происдуры резервнш.о копировашtЯ в сочетаю.т с ана.l"ЗОJo.f особенностей работы UNIХкоманд dump и restore. В Jавершение rлаВЫ МЫ познакомимся с бесплатным сетевЫм пакетоМ резервнOI"О коrrnровзиия Amanda и нескольКИМИ ero коммерческими aJlьтернаТН8аМИ. 10.1. Принципы реэервноrо копирования Прежде чем рассматривать пета.1И резервноrо КОПllрОВ3НИЯ. \ibl XOTe.HI бы поде:l.ИТЬСЯ с читателямИ тем. чем Н3УЧ'ИЛИСЬ 1а ronbI практической боты (иноrда этн lиания павались нам очень тяжело) Ни опиН нз nреlLшrаемых советов не является аБсо!Iютны.. но чем чаше вы бупете им слеДО8ать, тем спокойнее бупет ПрОХОд-l'lть проиесс резервноrо копирования. Создавайте резервные копии но одной машине Проrpамма rdump позволяет создаВi1ТЬ резервные копии систем по сетИ. Лроизводителl:oНОСТЬ нескольКО ухудшается. но .по компенсируется леrкостъю адМИlШСТРИРОВ3.НIIЯ. Мы обнарrА{ИЛИ. по ЛУlше Bcero запустить на uентраль I-IOM компьютере сuенарии. который выполняет проrpаМt rdump (посрепспюм интерпретатора r5h или 5511) на каЖдОЙ машине, rne неООХОЛIIМО пр080lllПЬ резервное копирование. Можно также восполыоваться IlpOrp3MMHbJ\i пакетом (коммерчеСЮfМ или бесплатным). автоматнзир}'ЮПlIIМ ланныЯ пропесс. Все архивы должны помешаться на одну ленТУ (без nереМОТЮi. естественно) Если сеть очень велика и одной \iаrниТlЮЙ леНТbI Я8НО непос raТОЧIIО. все равно следует пытаться спелатъ систему резервноrо коm'РОВ.J.1II1Я ка" можно более uентра..'1ИЗОванной Uel-IТРа.:тизовзнное  правлеfmе ОО.1еrчает адмииистрирование и позволяет администратору проверятъ Ilравильность выполнення pe-JерВНОrо копирования на Бес", мзunшах. Часто на сервер южно поставlПЬ несколько ленточныХ накопителей. и это не ПОВ..1ияет на IIрОИJ 8Оll1ПС:ЛЬНОСТЬ. НО учитывая, что современные ленточные устройства облалают высокой ПРОИЗ80ЛИТельностъю (6 Мбит/с и выше). это вряд .аи и",еет смысл Архивы. созпанные nроrpаммой rdump. можно восстанавливать только на машина..'Х с ана.rrornчным порядком спепонания байтов (и в боЛЫlПlнстве случаев  на маШИltа.х. раБОТdЮШИХ поп управлением тоя же самой ОС) Инш.na nроблеJo.iY можно решить посредством nобайтовоrо копироВ<tния " режиме перестановки байтов с помощью команды dd. но это не помоrает устранить раз-rшчия межд} HecoBMeCTHMbIMJ1 верСltя\ш nрОrpз-ммы rdlJmp Маркируйте ленты Не забывайте четко и nOJlHO маркировать каждую резервную 'leН1J. Ленты следует помечать так. чтобы можно бьuю однозначно опрепелнтъ ИХ сопер:ж:имое. Советуем на коробке 1I3ПИСa-lЪ подробную 1tнформаuию (наПРIl мер, список файловых систеМ 11 латы СО"iдаНИЯ архивов). Немаркщюваннзя лента  рабочая Важно. чтобы корневую фай..'ювую систему и файловую I.:истему /us r можно бьто восстаНОRИТЬ, не заrлядЫВая в сuенарни арXlIВОВ. Резервные ленты для этих файловых систеМ необхотп.ю маркировать с указание1 формата, точноrо синтаксиса ИСПОЛbJОВ<.IННОЙ КОfal-ШЫ dump и ДРУПf,\: свелениЙ. требуемых пля 8ОСстзновпеНlIЯ архива без обрашения к локучен таиии. r лова 10. Резервное .:опирОВОНl1е 187 
Существуют бесплатные и коммерческие проrpаммы создання этикетоК nля лент. Советуем приобрести одну из них, Ч"Тобы избавиться от rодовной боли для тех, кто любит ЭКОНОМm"Ь. подойдет проrpамма troП. Правильно выбирайте периодичность резервноrо копирования Чем чаше выполняется резервное копирование. тем меиьше ваННЫХ бупст потеряно в случае краха системы. Проиесс резервноrо КОffiiрования, однако. СОПРОВОЖдается расходованием ресурсов системы и операторскоrо времени. Системный е.п.МИНJ.fстратор полжен обеспечить е.п.екватную З8ШИТУ при разумиом уровне затрат времени и средств. В интенсивно эксплуа.тируемых системах наиболее приемлемый вa риа.нт  делать резервные копии файловых систем с начальными кати-ттоraми пользователей КаЖДЫЙ рабочий пень В система.,,<, которые используются менее иитенсивно или в которых данные изменяются ие столь часто, можно снимать копии несколько раз в непелю. В ма.1lOЙ системе с опним пользователе"''! постаточно делать копию раз в неделю. В KOнne концов. периодичность определяется объемом панных, которые Moryr быть утеряны с момента после,nнеrо сознания резервных копий. Тщательно выбиройте архивируемые фойловые системы Фnйловые системы, которые изменяются редко. не нужно арXlfВИрОвать столь же часто, кal< иачальные каталоrи пользователей. Если в какойлибо файловой системе реrулярно изменяется :IИШЬ несколько фаRлов (например. файл fetcfp"".wd), ИХ можно каждЫЙ IleHb КОПИРОвать в друтой раздел, резервныс копии KOToporo создаются более Часто. БуферныR каталоr Usепеr иа сервере новостей  :по хороший пример файловой системы. которая не должна резервироваться; не тратьте на нее время и ленту. Новости  постоянно меняюшаяся среда и ее состояние невозможно восстановить. Если K3Ta.!lOf /tmp ЯВЛSlется отдельной файловой системой. то ар'"(ивиро вать ес нс нужно. Каталоr /tmp не полжен содержать ничеrо сушестиенноrо, поэтому нет никаких причин сохранять ero. Впрочем. мы знаем одну большую фирму. которая !:':жедневно рсзсрвируст данный каталоr Старайтесь умещать каждодневные архивы на одной пенте В идеальном мире можно создавать каждодневные резервные КОПIO! всех пользовательских файловых систем на одной единственной леmе. При Н3JI"ИЧИИ устройств болъшо емкости. таких как наКОПlпе.!IИ DI Т н AIT. эта uе.'1Ь становится реально постИ'"мимой н некоторых орrаНJiзаuиях. Вы можете монтировать ленту вечером. перед уходом с работы, и автоматически запускать резервное копирование поздно ночью с nо"юшыо демона сrоп. Такая CXCMёl Позволяет создавать архив в тот момснт. Korna изменение файлов маяоверо ятно и rюлыователей. скорее Bcero. нет в системе. 0' Jfнфор.',аlЦЯ о де,моне стоп приведена в L1a8e /0. К сожалению. реалии стаН08ЯТСЯ все более суровыми. Korna пользователи Moryr приобрести жссткий дИt.:к емкостью 40 [байт по иене 240$, не остается финансовых барьеров для нарашивзиия ,nисковоrо ПJIOстранства. Зачем чистить диски и устанав..'lИВ3ТЬ квоты. если можно RЛОЖ1ПЬ немноrо денеr дпя безболезненноrо решения проблемы. 188 Часть I Основы ОДМl-'IнистрироВОНИЯ 
В случае. Korna ежедневные ap1\J.fВbJ невозможно разместиlЪ на одной лент, воспользуйтесь следующими решеНlIЯМИ: . приобретите леиточное устройство более высокой ем"кости; купите уклз.rrчш( шш ленточную библиотеку, чтобы можно было вставлять иесколько IЮСlнелей в одно устройство; и)меЮlТе периодичность создания резервных копий; напишите более СЛОЖIIЫЙ сuенари:й а.рхивнрования; используАт несколько устройств резеРВИрОвания. Система автоматическоrо реЗСр8ноrо копирования должна реrистрнровать имена всех копируемых файловых CHCTef..f. Это ПОЗВО..'1яет быстро находнть нужную файловую систеIУ, Korna приходится чтолибо восстанав.llивать. Рекомендуем также записывать на кщюбке или на самой ленте порялок следования файловых систем. (Об этом уже rоворилОСЪ раньше, но лучше повторить: пля лет. на которые записывается несколько архивов, необходимо использовать устройство без перемотки.) Создавайте файловые системы, объем которых меньше емкости резервноrо носител Команла dump может IIрекрасно копировать файловые системы но;! несколько lreHT. В этом СЛ)'l.lае. опиаfo:О. полжен прнсутствовать оператор. меняюшпА :tенты-. а ленты необ:о..одимо аккуратно J.fаркиромть, чтобы ПР" bocctaH08..1et-rnи IIнфорМ3UИII не ВО]НlrКё'IJЮ никаки\ затрупнений Если нет реа.1ЬНЫХ прин создавать болъшую фай.'10ВУЮ систему, не делайте этоrо. Хроните ленты не в рабочем помещении В ОО.'JЬШИl-lСТВС орrзнизаuиЙ архиВЫ хранят вне рабочеrо помешения. чтобы избежать их порчи в СJlучае пожара или СПlхийноrо бедствия. Фраза "вне рабочсrо помешення" означает как сейф в банке, так и полк}' 8 поме у президеJ.rfa компании. Фирмы, спеuиаЛИJирующиеся на безопасном '\:paHe нии резервных носителей, обt:спе\IНВ3ЮТ ШIЯ НII1<; надлежаший температур...ый режим и rарантируют их сохранность. Выбор янешнеrо \рани.'ШШ8 опрепеляt:ТСЯ Te\f, ка... часто нужно BOCCTa Н8RТrнизть файлы и каю,"' потерИ "ремеНII ДОПУСТl1МЫ. В IleKOTopbIX opraHIf l.шия-х выnолняеп:я по два peJepOHblX копнрования в день на РС1Jные .1СIПЫ: одна остается 8 рабочем помешеНIIИ. D вторую сразу же ВЫI-IОСЯТ.. Защищайте резервные КОПии Дэн rир (Оа.п Geer), спеuиалист по ВОПрОсам безопасности. сказал: "Что пелает резервная копия? rарантщюванно нарушает права постynз к фай;rу Ia расстоянии" Ни больше, ни меньше Зашишайте свои резервные лентЫ. OHI1 содержат все .данные, IO.1еюшиеся 8 системе, и Moryr бьrть прочитаны любым, кто имеет физический доступ к ленте. Ленты нужно хранить не просто вне помещения, но также nOA замкоМ ПfЩ условии, что ие используется укладчик, маraзин или ЛСIПОчная: библиотска. I::J ошюм крупном финансовом учреждении, расположеином 80 Всс!\.шрном uентре торroвли. резеРВlfые носители хранИJlИСЬ "вие рабочеro помешеЮIII"  на одии или два этажа нижс. Во BpcMII взрыва бомбы резервные nеН1'Ы (и компьютеры) были уничтожены. Так что Iшеwиее хранилиwе должно быть действктельио "внешним". r rOBO 10 Резервное копировоние 189 
с надежно СПРJпанным КЛЮЧОМ. Если АЫ пользуетесь для .пои uелн услyrаМIf коммерческой компании. она ДО!1жна raрантировать конфнденuиaтrънсх..'ТЪ ЛеIП. Некоторые компании настолько заботятся о сохранности реJерВНЫХ лент. что даже делаюТ их копии. Активность файловой системы во время создания архива должна быть низкой Снятие резервных копий лучше ПРОRОДИТЬ 8 периоды низкой аklJfВНОСТИ системы. потому что изменения MOryт привести к ошибкам в работе команды dUnlP. Таким образом, можно создавать архивы, Korna в системе работает мало пользователеЙ, или же в определенное время предоставлять постун к системе только команде dump. Звучит зто, консчно, хорошо. ио на rJpaKnfKe реализуется редко. Пользователям нужсн крyrJlОСyrочнЫЙ поступ к Сlfстеме. В наши пни почти невозмоJКНО побиться отсутствия дисковой активности при создаНИJf pe зервных коПий. Существуют менеджеры файлов (о частности, серия П00 компаНIШ NeLwork Appliance). которые позволяют в оперативном режиме создавать снимки фаЙЛОRОЙ системы через определенны.. настраиваемые промежутки времени. '3то паеТ возможность безопасно получать резервные копии работаюшей системы и является веским доводом в пользу спеuиал-изироRЗН ных файловых мнеджеров. o О меuед.жерах ФОU:lов РОССКО1blвоется 8 lIйрйzрофе 17.5. Проверйте свои ленты Известно MHoro ужасных историй о системных администраторах, которые не замечали проблсм в 8ыбранном ими режиме создания архивов до тех пор. ПОК8 в системе не происходил серьезный сбой Важной задачей администра тора является непрерывный контроль нan соблюдением устаНО8.Jlениоrо порядка резервноrо копирования и проверкз качества ero выполнения. Ошибка со стороны оператора ПРИВОl{ИТ к rибели большеrо объема архивов. чем любая друrая Первый этап  заставJПЬ проrp8ММУ резервноro копирования попытаТЬСЯ после окончанИЯ своей работы перечитать все Jletrrbl. Хороший вариаю проверки  просмотр ленты на предмет наличия ожидаемоrо КQличеl..'ТВ8 фаfu1ОВ. Во мноrих случаях бывает полезно выполнить команду restore t. которая формирует список файлов каждой фflЙJIORОЙ системы. и записать результаты на диск. Полученные справочникИ НУЖ1iо назьmать так, чтобы их имена отражали связь с соответств'1ОШИМИ лентами, например hast.; usr. Jitп. 13. Непельный набор таких спраночникои nOMoraeT быстро определИТL, на какой лснте нахОДИТСЯ пропавший файл. Для этоrо следует запустить проrpамм}' gr-ep с именем файла в качестве ирryмента и выбрать самый послепНliЙ ero экземпляр. o Подробнее а команде restore СIf. 8 nораерофе /0.4. Помимо создания каталOl.а лент успешно выполненная команпз resLore r показывает, что архив создан нормально и что можно в случае необходимости ПрОЧI1Т'dТЬ ленту. Не помешает также прочитать произвольиый файл, чтобы укрепить СВОЮ уверенность.. KomaJ-Шa restore t читает каталоr архива, расположениоrо 8 начале ленты. Korдa BoccтaHa8 JlИвается конкретный файл. проверястся более крупная оБJ1асть носите.ilЯ 190 Чость 1. ОСНОВЫ ОДМИНИСТрИрОElОНИ 
Периодически нужно пытаться 80сстанав..I1ИН3ТЬ информацию с разных лент. чтобы проверитъ. RО]!\.ЮЖJЮ ЛИ это вообще. Попробуйте Ilро\IИТ3ТЬ фай.'1Ы со старых резервных леl-lТ I месячноЙ 11 лаже rOllИЧНОЙ Л8ВНОСТИ). ведь у наКОПИiелей временаМI1 нарушается ueHтp08KJ и они утрачивают способ ность чи-тать ими же записанные ленты. Еше один вид проверки  попытаться llрочитать ленту 1-13 пруПi>. anlli:lpaTHblX средствах. Если маш(-tНI1ЫЙ 13Л cropHT. IIОЛЬЗЫ от осознания тoro. что резервную копию МОЖIIО было бы ПJIOqlП3ТЬ 113 расплавившемся накопителе. бупет мало. Будет поучителъно УЗl-lать ОДНУ историю. бывшую на с...ттуху HCCKO.ThKO лет назaLl. В одной крупной исследовательской компании работал оператор. который был СЛИШКОМ занят хакерством. чтобы создавать резервные копии Он открывал ленты. марЮfрОВал и\: и скпздывм иа полку. не записывая t.U1каких файлов. Это ПJIOлолжалось в течение ПВУ'<трех месяцев. пока KТOTO не настоял на 80сстановлеIПIИ onHoro из файлов. Что случилось С оператором'! EI"O уволили? Нет, ero перевели в друrой OTll. но впослеДСТВИ1l арестона.ЛII и осупили за компьютрное мошенничество по совершенно npyroMY делу По слухам, ему пали 40 лет. Определите жизненный цикл ленты Время ЖИЗНИ лент оrpаНИGСНО. И" можно и нужно использовать повторно. ио не забывайте о предельном сроке эксплуатаuни. определяемом произво дителем. Как правило, этот срок запается в випе количеСТ8:d прохо1IOВ. которое может выпер:жать лента. Каждая такая операuия, как архивирование. BOCCTa нов..,.еlше If ком.!нда mt r",r (последоватеJIЬНЫИ обход фЗЮlОВJ. преДСТiiнляеl собой один про'Хоп. Компонуйте донные с учетом резервноro копировония Котп.! есть столь пешевые и надежныc писковые устройства. IЮЗНIIЮlет исК}'шение вообше отка.заться от резервнота кшшрования. 1 см более. МIЮПIС системы имеют беспорядочную стру....-туру и заполняютс.я совершенно бескон тролъно. ПОЭТОМУ НХ арХИRировзние затрупнено. Но если раЗУМtlO подойти к проектиJIOванию архитеklypЫ писковоrо хранения. то можно сушественно ynростить процесс резервноrо КОПИJIOВiilIИЯ. Начать необходимо С onpeHe;le ния дисковых потребностей: С какими ПJПзмн данных придется И\.fеть дело'! Как часто будут изменяться данные Р3.JJlИЧНЫХ типов? Как ЧаСто нужно ВЫПО!lНЯТЬ резервное копироваН1Iе. чтобы ВОl\южные потери причиняли МИНИМЮIЬНЫЙ }lцерб'! Какие административньrе rpаниuы nOJrA\Нbl быть определены между Шlнными? Используя эту информацию, следует JlОСтрОИТЬ дисковую арХИТt:ti:туру с учетом резервноrо копировзtПfЯ и возможноrо расширения СИСтемЫ В б}пушем Л}Fl.Jше размещать каталоП1 ПJIOектов и нача.J1ЫlЫе ката.:юrи ПОЛЬJО вате.'Тей на вьшеленных файловых серверах. что упростит управление данными I позво;rит rараНП1ровать их безопасность. r лово 10. РезерВt--iое копирование 191 
Будьте rOTOBbl к худшему После разработки методики резервноrо копироваиия изучите самыи ХУДШИЙ сuенарий: фирма полностью }НИЧТQженз. Определите. CKO.lbКQ ИНфОрМ8UИИ будет потеряно и сколько времени уйдет на восстановление системы (включая время на приобрстение H080ro оБОРУll0вания) Затем посмотрите. уповлетворяют ли вас полученные ответы. 10.2. Устройcrва и носители, используемые ДЛЯ резервноro копирования Поскольку мноrие ВИДЫ неисправностей МОУУТ одновременно 8Ы80ПliТЬ из строя сразу несколько 8ffi18p8THbIX средств! резервные копии следует записывать на съемные носители. Например. копирование содержиМor"о OllHoro ДИСКа на дрyrой. конечно, лучше чем ничеrо. но оно обеспечивает весьма незначителъный уровень защиты от отказа КOIПрOJmера. В большинст орraнизаций резервные копии хранятся вне машинноrо зала. чтобы кaKoe нибудь бедствие вроде пожара не уничтожило и ориrиналы. и КОШIII. Появились даже компании. орrанизующие резервное копирование через Lnternel. Во мноrиx видах носителей для записи данных используется эффе,,-"Т намаПiИЧИВания. Такие носители попвержены разрушительному 80здеЙСТВIIЮ электрических и маrнитных полей. Сейчас мы расскажем о некоторы" опасностях, которых следует избеraть. . В звуковых колонках СТОяi большие электромarниты. поэтому никоr.з.а ие "раните ленты рядом с ними. Даже маленькие динамики, рассч-итанные иа компьютерные аудиосистемы. MOryт бътть опасными. . Трансформаторы и источники бесперебоАното rrnтaния rенерир}'1ОТ ЭЛеК тромаrнитиые поJlЯ. Трансформаторы обычно устанa.в.rrnвзют в иастенных распределительных шитах. В жесткюс дисках и накопите..'1ЯХ на маrнитной лете имеются Э.'IекТI:Ю .lIВиraтели и маrнитные rоЛОВКИ, 8 корпуса этих устройств часто не обладают экринируюшим эффектом. Более безопасны на.копити. "ы nолненные в металлических корпусах. В мониторах используются трансформаторы и высокие напряжеНIIJI. М ноrие мониторы сохраняют электрическиR заряд даже БУllУЧИ выклю чеННЫМИ. Наихудший вариант в этом плане  цветныс мониторы. Никоrла не кладите ленты на мониторы. . Длительное воздействие фоновоrо излучения Земли очень Брепно для дан.ных, записанных на маrнитных но"пе.11ИХ, и оrpаничивает еро}.; службы последних. По прошествии нескольких леТ все ленты стаНО8ЯТСJl нечитаемыми. Большинство носителей выдерживает три rona, и если необходимо хранить данные ПОJlьше, то нужно либо воспользоваться оптическими носителями, тiбо персзаписзть .ванные. Ниже описываются некоторые виЛbI носителсй, которые можно иеполь зовать Ш]Я хранения резервных копий. ОН1.1 перечислены в порядке возрас тания. емкости Мноrие ленточные накопители сжима.ют информаuию перед записью ее на ленту. блarо.naря этому появляется возможность записать больше данных, чем определено номинальной емкостью носителя. ПJIOизводители любят указывать емкость, oтraтcивaясь от объема сжатых даиных, оптимиСТИ1.ЩО 192 Чость 1. Основы О.DМ....Н....стр....роВоНия 
предполаraя коэффиuиент сжатия 2: I или выше. Ниже мы будем приводить реальное число байтов. которое физически можно записать на тот или liНОЙ носитель. ПреДПО.1аrаемый КОЭффИtrnент сжатия влияет на ПJIOnускную сnособиость устройства. Если накопитель позволяет записывать панные иа ленту со скоростью 1 Мбит/с. а производитель. к том)' же, заявляет о коэффиuиснте 2:1, то пропускная способность волшебным образом возрастает до 2 Мбнт/с. Как и в случае емкости. мы nрОИfНОрJilруем "заявлеиную" скорость записи и будем упоминать реальную. иена и емкость  ЭТО важнейшие характеристики НОСlпепя. но нельзя не учитывать и пропускную способиость. С более быстрыми устройствами удобнее работать, и они позволяет эффеКТИJIнее СоставлЯТЬ I'Pвфик резервното копирования. r ибкие диски Запись на rибкие ДИСКИ  самый неудобн:ый способ создаЮfЯ резерВНЫХ копий. Оии работают медлеино и отличаются небо.'IЪШОЙ емкостью (в настояшее время по 2.8 Мбайт). Кроме Toro. по удельной стоимости одноrо меrабаАта они дороже дрyrиx иосителеА. rибкие диски служат Bcero пару лет; uикоМа не nолъзуйтесь ими для штителъноrо хранения. С дрyroй стороны, дисководы rибких дисков недороrи и часто поставляются вместе с системоR. r ибкие диски повышенной емкости Ziрдисководы фирмы lomega (www.iomcga.com) сейчас распространены повсеместно и в некоторых домашних компьютерах являются стандартным внешним носителем. Их емкость за последнее время увеличилась со 100 Мбвйт до 250 Мбайт. эти устройства MOryт иметь следующие иитерфей сы. последовательный, параллельный, SCSI и USB. Компания Imation предлаraет устройство SuperDisk, которое позволяет осуществлять запись как на стандартные rибкие диски, так и На спеuиальные носители емкосТЬЮ 120 Мбайт. Хотя подобноrо рода устройства используются достаточно широко, СОO'rветствуюшие носителя имеют относительно высокую СТОИМОСТЬ при не самоА большой емкости. поэтому ие очень практично применять их шуя резер8ноrо копирования. Компактдиски формата CDR и CDRW Недзвнее пa.nение иен на записываемые и персзаnисываемые KOмnaКi диски сделало эти носители rораздо более приилекательныии каНдидатами для рсзсрвноrо копироваНliЯ. чем иесколько лет Назад. Компактд-иски обоих типов содержат около 650 Мбайт. ДИСК080ЛbI пишушеro типа бывают самыми разнообразными и имеют тс же интерфейсы. t{TO и жесткие диски: SCSI. IDЕ, USB и др. Запись на KOMnaKTrotcK осушествляется фотохимическим способом посреПСТ80М Л8зерноro луча. Хотя достоверных данных нет. СЧ1fТается. что компактlIИСКИ rораздо более долrовечны, чем маrнитные носители. Компакт писки с однократной записью (формат CDR) не столь н8.п.сжны, как обычные комnаКТШIСКИ. Они ие очень подходят шуя реryлярноrо созлания резервных копиА. но на них можно записывать архивы. которые потребуются в далеком будущем. r лово 10. Резервное kопировоние 193 
Технолоrия записи DVDдисков ешс:: не получила широкоrо распростра нения, но слепует ожинать вcтmeCK се популярности в ближайшие несколько лет. Емкость DVDдисков составит примерно 10 [байт. Съемные жесткие диски За последние несколько лет на рынке ПОЯВИJIИСЬ съемные жесткие л1tСКli большой емкости. Компания CaSllewood IлdUSlпеs (W\\"W.сзstlеwооd.соm) преlLТ1зrаст наКОПlпель Orb емкостью 2,1 [баЙт. Он может иметь интерфсиl.. EIDE. USB или UlLra SCSI (внешний н BнyrpeHHнii). Дрyrим поnyпярнъrм устройством является дисковод Jaz компании IOl11cgi.l. который принимает носители емкостью 2 [бамт и обеспечивает скорость псредаЧ11 данных 8,7 Мбайт/с. По заявлению ПРОИЗ80дкrеля. срок ЖИЗtШ тaKoro носителя составляет 10 лет, Torna как ШIЯ устройства Orb эта Ullфр3 более реалистична: 5 лет. На рынке съемных устройств царит серьезная koht..-уреНШiЯ и иены постоянно меняются. Основное преимущества этих устройств  скорость. сравнимая со скоростью обычных жестких дисков. Они хорошо подходят д..rlИ резервноrо копирования внебольших орrаНИЗЗllИЯХ или помашних условиях, хотя lleHa устройств относительно высоКа. 8миллиметровые кассетные ленты Существует несколько мопелей ленточных накопителей. которые ]аПltсы вают информаuию на стаlШартные 8МИJ1лиметровые (ма.:lOФОРМ8ТНЫСJ (Ш пеоленты. эти накопители часто называют устройствами Exabyte, по НЮllt.llПlЮ компании, которая первой стала их выпускать первоначалъный форJ\.l1Т обеспе1..QiВ8J1 емкость около 2 fбайт. а более новый формат позволяет ДОI:ТНЧI. емкости 7 [байт. За счет аппаратноrо сжатия данных эффективная емкость ленты 8 некоторых иаКОПИТeJ1ЯХ еше Выше. Размер лент (8 мм) делает их очень уп06ными Ш1Я внешнеrо ХРЗНСНJ1S1 Раньше возникали проблемы с лентопротяжныt.fИ механизмами. так как кажаые 6 12 месяцев у них нарушалась uентронка и приходилось отнаnaть их в пороrостоящии ремшrr. Сеrодня таких проблем больше нет. Ленты формата 8 мм Moryr использоваться .nля хранения випеофильмои или uифровых данных. Некоторые ПРОИlВОДИТели рекомендуют использоиать только ленты BToporo типа и ие предостав..rlЯЮТ rараНТИ1l на npynfe ;Jенты Наш опыт nOKalblBaeT, что видеокассеты1 тоже вполне попходят и проблемы MOryr возникать только в отношении rаранпrй. НеоБХОД1-IМО помнить, что ленты обоих nfП08 поднержеиы теmювому воздействию. 4миллиметровые цифровые аудиокассеты Накопители DАТ (Dig;tal Audio Таре  uифроnая аудиокассета)  )то устройства, в которых запись данных осуществпяется на 4миллимеЧЮ8ые кассеты по метоли.ке спиральной развертки. На самом пеле DАТустройстпз относятся к стандарту DDS (Digilal DaLa SLorage  хранилище UИфроllЫХ панных). однако ЭТо различие несущественно. Исходный формат обеспе(lIfпал еJ\.f1<ОСТЬ около 2 rбайт, но в следуюших версиях стандарта DDS емкость существенно возросла Современное поколение носителей (DDS4) н"еет емкость до 20 rбаАт. ОА т ycтpoACT8a характеризуются малым временем поиска и ИЫСОКОII скоростью передачи данных (2,5 Мбайт/с ;[ЛЯ DDS4J. что делает 11\ 194 ЧОСТЬ I ОСНОВЫ одминиcrрировония 
достаточно быстродеЙСТВУЮЩIIМИ. А блаrодаря ВЫСОКОИ емкоl...lИ носителей ПОЯRЛяетсм возможность реаJlн_ювать полный ШIКJI pelep8Horo копировання без вмешатепьства оператора. Ленты формата 4 мм имеют не60льшие размеры, и их удобно хранить. К тому же, у DДТустройств никоrда не было проблем с uентровкой лентопротяжноrо механизма т ехнолоrия Т rаvал Стоит упомянуть о следующем поколеFmИ QIС-лент (Quarter-Inch Car- Lrldge  четырехдюймовый картри.lIЖ)  технолоrии Тrзvзп. В накоПИТелях Тrзуап используется метОДИJ<а ПОСfJедовательной 33I1ИСН н подnеРЖJ1ваются НОСИтeJIJ1 емкостью от 2.5 до 10 r6айт. Сами наКОПJ1тели недороЛi. опнако ueHa лент относительно высока в сравнении с друrимн ленточными системами болъшоi:% емкости (3$/rбайт) 110 заямениям ПРОИЗВОПl-fтелей, скорость передаЧ1i данных может достиraть 2 МбаЙт/с. В UN LX еще не в полной мере реатпована подnеРЖК8 накопителеi:% Travan В настоящее время сушествуют прайвсры WIЯ устройств КОМТlаниi:% HewlettPackard. Tandberg и ТеП'Паr. Система ОлStrеаm ADR Снстема ADR (Аdvалсеd D,g,tal RесоrdlЛg  улvчшенная uнфровая запись) компании OnStream относительно нова на рынке ленточных HaKO пителеi:%. Она основана на технолorии последователъной заПJ1СИ н в Н8стояшее "ремя поддерживает носители емкостью от 15 до 25 rбзйт. Стоимость накоmlтеля невелика. а ueHa носителей сопоставима с ценоi:% дрyrиx ленточнbJX систем анаJlOrnчно емкости. Подобные устройства обладают достаточно BЫCOKO СКОрОСТЬЮ работы Напрнмер, моделЬ емКОСТЬЮ 25 rбайт обеспечивает пропускную способность 2 Мбвйт/с. Первоначально фирма OnStrearn столкнулась с рядом трудностей, что неУДИ8ительно. коrда новая компания выхолит на рынок с новой технолоrией Со временем ранние ошибкн были устранены. но драnиеры ADRYCTpoi:%cтn все еше редки и, по слухам. также не л.ишены недостатков. т ехнолorи DLТ Накопители DLT (Digital Linear Таре  лента ДЛЯ цнфрово записи с последовательным доступом)  это достаточно популярные YCтpOnCTB8 pe зервноrо копирования Они надежны, lIепороПf и позволяют хранить большие объеll.fbl дaHHЫX Их родоначалышками являются кассетные накопители TKSO и TK 70. которые бьuш ПОПУЛЯрНЫ!l.ПI пернферийными устройствами на рабочих станuиях УАХ компаНИli ОЕС. DL Тустройства nep80ro поколения моrли читать только старые ленты TK 70. ВПОС!lедствн-и КО1-mания Оес ПрОда..'13 ТСХНОJlОПIЮ фирме QuапtШll, которая "величила скорость и емкостЬ устройств и СНИJНЛ.а на них ueHhI DL Т накопител'-и MOryT хранить до 40 rбайт даl-lНЫ Скорость передачи достиrает 6 М6айт/с Производители заявляют, что леlfТЫ будут служить от 20 до 30 лет. Но останyrся ли к тому времени устройства, спосоБНЫе их прочесть? М Horo ли вам известно устройств чтения q дорожечных леJП, которые до сих пор фун-кциоюфуют? Недостатком технолоmи DL Т ЯИJ!яется Ilена НОСIПе.ттсй, которая досrnra ет 65$. для какоинибупь инвеСТИUИОl-ll-lоi:% компaюtи с Уоллстрит это, может, и нормальная иена, но для YI-lИверСlпета подобные расходы неприемлсмы. rлово 10. Резервное КОПИрОВОН1е 195 
т ехналоrи AIТ Технолоrия AIТ (Аdvалсеd IЛlеlligеПI Таре  улучшенная лента со BcrpoeHHoi:% лоrикой)  ЭТО ЛИНИЯ усовершенствованных устройств с 8мил ЛНМС1ровой лентой компании Sолу. В 1996 r. Sолу отказалась от подnержки УС1рОЙСТВ Exabyte и Прелставила собственныi:% стандарт AIT ]. в котором также использовалась методика записи ПО спиральноi:% развертке. НО eMJ<QCiL накопителя бьта в лиа раза ВЫше. После этоrо ПQЯRИЛl1СЬ две новые версии УС1рОЙСТВ: AIT  I (повышеННОi:% емкости с увеличенной длинОi:% ленты) и AIT 2. В ближайшем будушем Sonv планнруст вылустить слеuификаuию AIТ 3. В АIТус1рОЙСТВах нспольз}'ются ленты АМЕ (Аd"алсеd Melal E\'apo raled  улут.Пllснное Нllпьmение металла), имеюшие боЛЬШИЙ срок жизни. В них таКЖе содержится встроенное ЭСППЗУ (злектрическистираемое проrpвммируемое ПЗУ), ВКIIJOЧа!Ошее ,rnкрокод УС1ройства. Но д,lЯ Исполь зования 3TOro микрокода -.ребуется проrpаммная подnсржка. УС1ройства AIT2 обладают проnyскной способностью 6 Мбайт/с, а емкость носителя 50 rбайт иена устройств и лент сопоставима с иеной DL Т аналоrов. т ехнолоrи Mammoth Система MammOlll J<Qмпанин Exabyte  зто улучшенныi:% вариант YCT ройств с 8миллиме1рОВОЙ лентой. Компания Exabyte решюта выпускать СВШI собственные устройства после Toro, как прекратилось ее сотрудннчестuо с Sony. Претензии к Sony были 8ыз-ваны недоС1'3ТОЧНЫМ качеством ПрОИЗБОД СТОВ. У Sony была единая технолоrическая линия как для потребительских продуктов. так и мя информационных носителей, поэтому в rлазах компании ycтpoi:%crBa Exabyte кичем не отличались от видеокамер. у продуктов Mammoth первото поколения бьUIИ проблемы с надежностью. однако кОМпания Exabyte прислушалась. к своим клиентам и устранила недостатки Теперь, по ЗaяШJ.ениям изrотовиrмя. уровень отказов составляет 1% Устройства Mammoth также используют ленты АМ Е, но в НJlХ не содержатся микросхемы памяти. Накопители Mammoth2 имеют невероятно высокую пролускную слособность; 12 Мбайт/с. Это rорвздо больше. чем у друrиХ ленточных устройств панноrо uеНОБоrо класса. Системы с автоматической заrpузкой носителей Стоимость современных высокоемких жестких дисков столь мала и UHIf используются столь широко. что 80 :чнотих орrаннзаuиях мя резерnноru копирования информации требуется несколько лент. л.аже ес.'1И емкость каж.д.ой из них 20 rбайт. в таких случаях можно поpt:комеl-Шоватъ прнобрссти УКЛ8..1IЧИК. маr3ЗИН ИЛИ ленточную би6:1иотеку. Укла.дчик  это простое ycтpoi:%cтвo для автоатической замены лент, используемое со стандартным накопИТпем. Он оснашен заrpузочным бунке ром, в который помещаются ленты. Запо.'lненная лента изымаеТСJJ из накоmпеля и заменяется пустой. КОТОРУЮ укладчик берет из бункера. В бункерах БО:JЬШИНС1'В3 уклa.тrnков помещается л.о десЯiИ лент. Маraзин  ЭТО устройС1'ВО. которое автоматически меняет съемные носители в нескольких накопителях. Выпускаются маrазинъt ДЛЯ различных типов носителей, включая кассеты DAT, DLT и AIT. 8 также компактдиски ЧВС1'О маrазнны ПОстввляются 8месте со сш:uиальными проrpа:чмами СОЗШIН!iJI резер8НЫХ копий. которые знают, как МRнипулировать устростиом смены носителе. Данные продукты ПрОНЗВОЛЯiся. 8 частности. КQМП8на.IЯМIt Stor.lgl.' Тесhлоlоgiеs н Sолу. 196 Часть 1. Основы администрировония 
Библиотеки лент  это YCТPOi:%CТB8, предназначенные мя хранения orpoМНbrx  терабайтнЪ1Х  объемов паННЫХ. Они представляют собой аппаратные комплексы размером со шкаф, в которых имеется маН1fПУlЯТОР "рука" 1 обслуживаюший мноrочисленные ленточные носитли или писковады компаJ<ТДИСКОВ. Несложно понять, что это весьма дороrие устройства Ка.... для покyтncи. так и ДJlя обслуживания. Как правило, вместе с библиотекой вызывается оператор, который отвечает за установку и наладку комплекса С библиотекой поставляется также nporpaMMHbIi:% пакет, упрввляюший работоi:% комплекса. Вепушим произвопителем ленточных библиотек является КШ.fЛа НИ" Slorage Тееhлоlоgy. Жесткие диски Следует также упомянуть о стреМlПелЪНQМ снижении стоимоСТИ жестких дисков, что делает их вполне достоными каНдИдатами на роль YCТPOi:%CTB резервноrо копирования. И ХОТЯ мы не рекомендуем копировать ОДИН писк на .nрyrой на той же самой машине, но можно создавать резервные копиИ по сети, причем стоимость их будет очень невелика. При создании образа писка, постynноro по сети через N FS. пользователи получают возможность восстзнаВJfИВ3.ТЬ случайно удаленные файлы без вмешательства аlIМИНИC11J8тора. Сводка типов носителей В табл. 10.1 при-вепены характеристики рассмотренных 8ЬШJе носителей и соответствующих ИМ устройств. Таблица 10.1. Сровнительные xopaktePt-lСТИКИ носителеи, преднозноченных ДЛЯ резервноrо КОПИрОВОНИЯ  "" 'S " OS   " I i!:Б  " О" "   б 1! " 0.0 0.0 g  ,, ,, о S o  S О. o o О " b u " е 9 i S 00 о  ::r ::r "о s5 0.0 I w U ::rs S с" rибкий диск 2,8 МбаАт < 100 КБВЙТ/с 15S 0,25$ 91.43$ Да Д. SuperDisk 120 Мб.йт 1,1 Мбайт/е' 200S 8$ 68,27$ Д. Д. Zip 250 250 МбаАт 900 Кбвйт/е 200S 15$ 61.44S Д. Д. CDR 650 Мб.йт 2,4 Мб.йт/е 200$ O,75S 1.18S Нет Д. CDRW 650 Мб.йт 2.4 Мб.йт/с 200S 2S 3,15$ Да Д. J.z 2 rбаЙ'r 7.4 МбаАт/е 350S 100S 50,OOS да Да Orb 2,2 rбаАт 12.2 Мбайт/е' 200S 40$ 18,I8S Да Д. Exabytc (8мм) 7 rбайт 1 Мбайт/е 1200$ 8S 1,14$ д. Не1 Trava.n 10 rбайт 1 Мб.йт/с 200$ 34$ 3,I4S Д. Нет DDS4 (4 ММ) 20 rб.йт 2,5 Мб.йт/е 1000S 30$ 1.50S Да Нет ADR 25 rбвйт 2 Мбайт/е 700$ 40$ 1.60$ Да Нет DLT (0,5 дюйма) 40 rбайт 6 МбаАт/е 4000$ 60$ 1.50S Д. Нет AlТ2 (8 мы) 50 rбайт 6 МБВЙТ/с 3500S 95S 1,90S Да Нет Mammoth:Z 60 rбвйт 12 Мбайт / е 3500$ 80S 1,33$ Да Нет I Емкocrь и скорость указаны бeJ учета СЖlIти.я данных. , Указана макСИМальная СКОроСТЬ nак.етноЙ передачи; прОltзводи.телъ не раскрыВ8е'! истинную среднюю пропускную способность rлово 10. Резервное коnировоние 197 
Кертис Престон (W CUrtlS РrеSIОП) пvбли....'Ует 8 Internel список YCтpOi:%CT8 резервноrо копирования с УК83аЮfем их параметров и производителей Этот список доступен по адресу www.ЬасkuрсеПlral.соm/hаrdwarеdrives.html. Что покупать Все устройства резервноrо копирования работают достаточно хорошо. и среЛJ.1 систем опной ueHoBoi:% К8теrории оБЫЧ1-l0 трудно отдать какоi:%либо предпочтение. Покупайте снстему, которая отвечает требованиям KOHKpeTHO орraнизаuии и имеет приемлемую иену. Устройства ОА Т и Exabyte лучше Bcero поllXОПЯТ для неоольших рабочих rpynn и отдельных компьютеров, в которых уста.ювлены высокоемкие диски Стартовая иена этих систем относительно yмepe.lНa, а их Rосители широко распространены. Обе системы обладают ДОСТIlТОЧ.IЫМ быстродействием. что позволяет архивировать большие объемы данных "IЭ. разумное время В эту же rpуппу можно было бы вютюч-ить устройства ADR. но данная технолоrия все еще считается ЭКJотичноi:%. к тому же, et попперживает одннепинствеиный производитель. Устройства DL Т. AIT и МЗП1mоt.h.2 обладают близкими карактеристика мн. Трудно сделать выбор в пользу какойто олной из этих теХНQЛОrий, тем более что ситуация может измен1fТЬСЯ с появлением новых спеuификаuий и моделей устроi:%сти. Все YCТPOi:%CTB8 нанной rpyrmbl ориентированы на один cerMeнr рынка: университетскую и корпоративную срепу. rne требуются высокопроизводительные си(."темы резервноrо копирования. В наших ПaJТЪнейших раССУЖденнях мы используем базовый теРМИ.1 "лента" в качестве унивсрсзльноrо обозначения носителеЙ. выбранных для резервноrо КОffilрОвания. Примеры команд. ВЫПОШIЯЮЩИХ резервное копи роваНl1е, даются в коюексте ленточных накопителей 10.3. Настройка режима инкрементноro архивирования Самые распространенные проrpaмrn:ые средства создания резервных копий и восстановления из Юfх панных  команды dump и restore. эти команды вхопят в состав операЦИО.IНОi:% системы UNIX уже дпительное время. и их хараkТерИCnfКИ хорошо известны. В большинстве орraнизаUI(Й команды dUПlр и restore используются автоматизированными системамИ резервноro копировання. Архивирование файловых систем КОМa.tЩа dump создает перечень файлов, которые модифиuировались с момента предыдущеrо архивирования, а затем упаковывает эти файлы в один большоi:% файл, ПQллежашнй записи на внешнее устройство Команда dump обладает некоторыми преимущестВRМИ по сравнению с дрyrими yrилитами. описанными в этой rлаве: резервные копин MOIyr быть записаны .13 несколько лент; можно выПолнять резервное копирование и восстановление фаилоu любоrо тила (даже файлов устройств); можно восстанавливать права ДОСl)'ПIl, принадлежность и время модифи кации файлов; 198 Часть 1. ОСНОВЫ ОДМИНИСТРИРОВОНИЯ 
. обеспечи:вается правильная обр.аботка фаИJlОВ с "дырами"-: резервное копирование может произвопиться в инкрементном режиме (на ленту записываются только модифиuированные версии файлов). Команда dump понимает структуру нсходных файловЫХ систем и, читая непосредственно таблицы нндекснЫХ дескрипторов. решает, с каки..х файлов необходимо делать резервные копии Такое .щание файловой системы позволяет КОМ8tШе dump достиraть BЫCOKO ..,ффе"'-ТИRНОСТН НО вместе с тем налаrает на нее определенные оrpаничения.. Первое оrраНИ1Iсние заключается в том. что каждая фа"'ловая система должна архивироваться в ИНЛlilllIЛУa.nыюм порядке. Если диск разбllТ I-Iа разделы. придется копиропать каж.!lЫ разде.л отдельно Слсдуюшее оrpани чеНIIС: разрешается копиропатъ только файлопые системы ']окальной машины, а файловую систему NFS архивиромть нельзя. Тем не менее. моЖНО создать резервную копию локально файловой системы на удаленном ленточном HaKOffi1Te'1e; ,WIя этоrо используется nporpaMMa rdump o ПоdроБНQJI uнформа,(ия об N FS лрuведеllа в i'Лаве JZ Самая важная особенность команды dump СОСТОIП в поддержке инкре меНТIЮro резервноrо копированJ.lЯ Мuжно. конечно, кажлыi:% лень созлавать копии Bcei:% системы, но это не совсем пра.....ПfЧнО. В инкрементном режиме резервируются только те файлы, которые изменились с момента послеДнеrо копирования. При создании архива ему ПРИСБаlfМСТСЯ уровень резервирования (целое число от О до 9) В арх:ив уровня N копируются Бее фаi:%лы, которые изменюrись с момента СОЗД3ЮIЯ последнеrо архива уровня. на единиuу мсньшеrо, чем N. В архив нулевоrо УРОВ.IЯ на ленl)' помешается вся файломя система. При систематическом инкрементном резервировании можно BOCCTa HOBl.fТb файловую снстему TO\IНO в том со(."Тоянии. В котором она пребывала .13 момент послепнето рсзервноrо КОIIИРОП8I-1ИЯ. ХОТЯ дпя поrо может потребоваться восстановление файлов из несколькИХ лент.... Еше мни чудесная особеюlOСТЬ команпы dump СОСТОIП в том. что она не обращает ВНlolмания на ДJlИНУ имен файлов Иерархии каталоrов MOryт быть произвольно rлубокими. и llЛ..lНные составные имена обрабатываются корреJ(ПIО Команда dump принимает MHoro арryментои, 1-10 различи межосу НIIМИ в разных платформах HeMHoro. Мы приведем краткое описание флаrов. которые, вероятно, понадобsrrся ДJlя создания резервных копий по сети. Обязательно сверьте эти флаfl1 с привсдснныш в mаllстраlПlЦах руководства TO машины, на которой создается аРХИ8 потому чrо БОЛЪШШ-IСТВО фирм поставщиков считает своим долrом ИЗ\<1ешiТЬ хотя бы один фЛ8С .'Дыры"  это блоки. которые никоrда не содержали данных. Еслlt, открыв файл. записать в Hero один байт. сдви:нyrъ указатель записи ка I Мбайт вперед и записать еще один байт. то полученный файл будет занимать Bcel'O два ДИСКОВЫХ блока, хarя el'O nоrnческий размер roраздо боm.ше MHOI'O дыр обычно содержат файлы, со;шаIfНhlС проrpаммами dbш и ndbm .. Команда dump требует HOC"l)'I1a к неструктурирОВЗtШЫМ раЗДСJlам диска. Каждый, кому разрешено вы.лолнять резервное копирование. может, прИЛОJКИв определенные усилия, прочесть всс файлы в системе. БO.I1ЫIШНСТ80 версий комаНдЫ dump не отслеживает, какие файлы были удалены. При ВОСCТRновлеНlIН инфармаuии из инкремеIiТНbl.'Х резервных копий УJШllенные файлы будут создаваться заново rЛОВQ 10. Резервное коnировоние 199 
Команда dump анализирует свои арrумеиты не так, как 6оЛЬШИ.IСТВО остальных комвнд UNDC В строке ее вызова сначала следует указывать все флаrи. а затем перечислять apryмeHTЫ флаrов. Дрyrими словами! вместо строК11 a 5 b c10 команда dump ожидает строку аЬс 5 10. Первым apr}"MeHToM команды dump должеи быть уровень инкрементноrо резервирования. Для TOrO чтобы опре.ле.ilИТЬ. наскольКО далеко СОlД8В(l'lСИ лоследний архив, команда dump нспользует файл /elc/dumpdales. Флаr u заставляет KOMaH..!I)' dump после завершения копирования автоматически обновить файл /etc/dumpdales При этом реrнстрнруется дата, уровень архива и ю..IЯ файловой системы. Если флar u не указан. все архивы получают уровень О, поскольку факт препыпушеrо резервноro копирования файлово системы ниrде не отражается В случае если имя файловой системы изменилось, моЖНо отредактировать файл /elc/dumpdales вручную. Свою выходную информаuию команда dump посылает на HKoe cтaндapT ное УСТрОЙСТВО. Как правило, это основной ленточный накопитель. Если необходимо задать дрyrое устройсТ1Ю, воспользуйтесь флаrом r. чтобы сообшить команде dump, JCy!l8 она ДО:1жна отправ.'lЯТЬ панные. Коrда на О!lНУ ленту помешается несколько архивов. укажите имя ленточноrо устройстВt\. .Ie поддерживающеrо режим пере мотки (Т.е. задайте фал ycтpoi:%cTBa, которыЙ не вызывает перемотку ленты по окоwtзнии записи  nля боЛЬШИНСТR.а ленточнЫХ ycтpocтв такой файл создается наряду со стаНдартным) Чтобы опрепелить имя СООТ8етствующеrо файла, ПрОЧТlfте mапстраниuy с ОПИСi:lнием ленточноrо устройства (табл. IO.2). ТоблJoЩО 10.2. Фойлы VСТрОЙСТEl ДЛЯ crандортноrо ленточноro устройство SCSI Система . Режим перемотк.м Без режима переМQТКИ Solaris /d../rmt/O /de./rmt/oo HP ux /d../rml/Om /d.. /rml/Dmn Red Нв' /d.. /0'0 /d../nstO FreeBSD /d../паО /de"/Dl"saO Если случайно 8ыбра.1 файл устройства с перемоткоi:%. все lакОНЧИТСЯ сохранением только rlоследне ззархивирован-ной фаЙЛО80i:% системы. По скольку команда dump понятия не ю.fеет о том. перемотана лента 8 начало нли нет. эта ошибка не повлечет за co60 др}тих ОШllбок и станет ОllеRlll1JIOИ лишь при попытке восстановления фалон. Если ар'\IIВ помещается н уда.fJенную систему с ПОМОЩЬЮ проrpаммы rdшnр. YAa..rlellHoe устройство Н)'Ж11O задать 8 формате ияя:устройство. например: j rdшар Ouf" anchor:/dsav/n8tO I.par. Права поступа к уда.11енtЮМ} ленточном}' \'стrюйству З3Дi1ЮТСЯ в файле .r11OSts. Но мЫ рекомеt-шуем ВОСПОЛЪ10ваться системой SSH (см параrpаф 21.8). Раньше НУЖНО было указывать команде du",p точную мину ленты, чтобы она моrла прекратить запись при достижении KOHua ..'lенты. Сонременные Пля всех файлов ленточноro устройства задан один tI тот же старший номер устройства. a.aurий номер устройства сообша прайверу особые характерИСТИКJ.1 (перемотка. пере становка байтов и т.д.). 200 Чость I Основы одминистрировония 
накопители самостоЯТельно обнаруживают KOHeu ленты и сообшают об этом комs.ше dump. которая перемаТЫRает лt'нту обратно, выталкивает носитель IП УСТРОСТШ\ и J8праШlfвает новую ленту. Посколь)..')' прш,tенение различных arrnap3THbIX 8.'1rоривlOВ сжатия не ПОЗВО.1яет так просто опредеЛIfТЬ nЛИН} .:Jенты на основаНШI ее С\.П(QСТИ. лучше ориеНТИРОFl3ТЪО1 на сиrн8.'1 кониа ленты (ЕОТ  Епd Of Таре-). если. конечно. ero подn.ерживает устройство I ПОНИ\lает КОМ81--Ш.J dump. К сожалению, сиrН3J1 ЕОТ ПОJ.IEшлся rораздо позже. leM ПрОllзош..10 раJделение семеЙств UNIХсистем. ПОЭТОМ} ра11ИЧllые версии команды dump работают с лентамИ поразному. Одни по умолчанию предпопаrзют. что леmочн-ые накопители сами reнеРIlРУЮТ СИПlал ЕОТ, поэтому никак не Оrp3ничивают размер ленты. Пруrие считают, что лента имеет ПЛИ ну 2300 футов (ПРIIМ<РНО 70 метров) н ПЛоТНОСТЬ ,аписи 1600 bpi (битов на ПЮЙМ), что соответствует 9порожечным лентаМ 15летней лавносТИ. но никак не сеrОПНЯШЮfМ носителям. Эти версии комаl--ШЫ обычно понимают cI1rHa.'l ЕОТ ес,и он ВОЗliикает раньше lапланированноrо кониа ленты. В таКИХ случаях лучше обмануть команду dump. сооБШIlВ еЙ. что лента rораздо ...'lЛнннее, чем есть на самом деле. Все веРСШ1 команпы dump пониают опии" d н s, которые задают плотность JII:HTы в батах на дюйм 11 ЛЛ-ИНУ ;ieHТbI R футах соотнетственно. Иноrда можно даже указывать раЗ\fер !lенты я килобаnтах. Если же такоЙ воЗМоЖЯОСТl1 нет. необходимо выполнить нсложныe арифметические BbIlIfC .'lе.IИЯ и получить нужный размер. ПреДПОЛОЖII),I. например, что требуется сошать архип пятоrо уровня .!IЛЯ каТЮlOrа /"'ork и записать ero На устройство DDSI (ОАТ). стаНlliIртная емкость носитеJ1Я Koтoporo состаnляет 1 fбайт. 8 в режиме сжатия  1.5 fбаАт. OATYCTpOCТBa выl8ютT сиrна..'1 ЕОТ. поэтому нужно сообшить комаН.1.е dUnlp заведомо больший размер ленты, скажем. 4 fба1'lт. Это состаВJП 60000 футов лри плотносТ1< ЗВПI,си 6250 bpl. t dUDlp 5U8df" 60000 б20 /dev/r8tO /work DUMP: Dar.e of t.his level 5 durr:.p: Mor:. Мау 8 16:59:45 2000 DUMP: Dae о! ':'ast leve! О dU::1p: l:h epoch Dill!P: Dupl.ng /aev/hda2 Uwo!"k) '.:0 /oev/rstO D1..iИР: mapp::"ng IPas5 1) [regular f.:..::'es] DUMP: mapp':':lg (PaS!iI 11) [d.:!..!:"ect.or:"g] DI..;MP: езt..:.:та:.еа 942223 са.ре ЫОС,(.!I O O.3 -::.ape(s).  За флаrами 5usdr слеД) ют lнчеНШI apl)l1\feHToB .!!i tраЗ'fер: 60000), d (плотностъ: 6250) и r (фал устройства; /dcv/rSIO). в кони< указыва<тся обязательный apJyM:eHT имя фаЙ-10ВQ системы U",.ork) Большинство верси команды dump позволяют задавать файловую систеfУ точкоi:% ее монтирова.lИя. как в приведенном примере. Некоторые верСИИ этой команды треб ют указывать ис""опный фаЙл ycтpoi:%cTl3a. Послепняя из показанны'\ выше строк позволяет убе,:шться. что команда dump не потребует произвести C\leHY лент. так как. по мнеНИЮ комnнпы. лишь чеперть ;leHTbI булет J3НЯ'Т3 ар""ИRОМ. 'Это удобно. ес...1И запись в дествите.i1ЬНОСТlf осушествляется на несколько лент. В Solari!) команда dump не ичеет ничеrо общеrо с резервным копирова нием: она ИСПО.lьзуется ДJlЯ прояеркн объектных файлов. Kor.na инженерам компании Sun стаНОВИТСЯ скучно, опин ИЗ менеnжеРО8 рассказывает историю о том, как опин "чайник" пытался архи-вировать lП1с-ки с помошью команды r лова I О Резервное копировоние 201 
 , dUnlP. и все смеются. .'Настоящая" команда dump .Iазывается /usr/sbin/ursdump. к счастью, КОМ8Ид8 ursdump использует те же флзrи и apryMembI, что и тралиUИО.1Н8Я версия dump. Напрнмер. команда ., uf"sdUDlp Ouf /dev/rmt/2 /dвv/rdak/сОtЗdОв5 создает арХНD рвзлела 5 SСSIдиска с целевым номером З. помешан ero на леНТQЧНЫИ И8копитель с номером 2. Возможно. в Linux при..nется ЯВНО инсталлировать КОМЗJ-ШЫ dump 1-1 restore, так как по умолчанию ОНИ отсyrL"ТВуюТ. Имеется модуль rpm {Red HBI Package Manager  менеджер пакеТО8 Red НаО. который упрошает инстаЛЛЯIJНЮ. В Linux файлы не коmО.IУЮТСЯ статически. поэтому необходимо наличие обшедоступных библнотек в каТЗJlОrе /Iib. Во FreeBSD. ОрепВSD и NelBSD комзняа restore компонуется статическн В ЭТОМ случае она Яli11яеТСR совершенно саМОJJ.остаточнои, что УПрОUlает восстановление после сбоев. Схемы создания архивов Поскольку уровни архина  веЛИЧIIНЫ ПрО1iзвольные (онн имеют значе ние только в связи с друrиМJI УРОВНЯМI). ТО сушествует uелыИ рял расписаниi:%. по которым можно создзвзтъ архивы. Выбор плана резероноrо копирования обусловлен слenуюшими фаJ<..'Торами: активноСТью файловых систем емкостью устройства резеряноru копироиания: не-обходи-мо степенью изБытчIIoсти,, числом лет, которые нужно приобрести Раньше, коrпз для создания архиROН треооnалось ""Horo пент, РсtJрабаты ва."1ись сложные rpафики арХИВИрОШ\l-ШЯ, IIОЗВОШlliшие свести к MIIHIIMYM. число ленТ, заиимаемых каждодневJ.lЫМИ IlрХIШ3\1И. Сеrо,nня емкость ленТ сущестиеш.1O ROзрослз, поэтому раlllИuа меЖАУ уровнями архива уже не так важна. Так как большинство фалов I-Пlкоrда не меняются, даже в простейшей схеме инкрементноrо арХIIВИрОвания мноrие файлы не включаются в ежедневны архив. При введении дополнmельнblX уровней небоJ1ыuеe число периоди-чески измеНЯЮШ1fХСЯ фаJlОВ дробится на все меньшие и меньшие cen'ieHТbI. Сложная схема рзервноrо КОПllрОвания может создаваться по тре\.1 причинам: данные будут аРХИ8ироuаться чаще, что ПО3ИО,1IП ОIН".IИТЬ возможные потери: можно IIСПОЛЬЗОвать меньшее число каждоанепных Jlem (ИJlН VMCl.Тl1Тb все на одну ленту); . можно создавать несколько копиЙ каждоrо фаилз. чтобы ..i3ЩИТJПЬ себя от ошибок лент. Мы опишем несколько возможных схем и прнnедем арrу....(енты в ПОЛЬЗУ кaжnоЙ из них. Простая а:ема Если обший размер дИСКОВQrо пространства меньше мкости ленточноrо накопителя. можно предложить соверше.IНО тpltBliJJlbHbIn rpaфик резерПllрО ванин. Архивы нулеооrо урояня к3.Ждои фаилояоf1 снстемы нужно СОJ1l3В.ПЬ 202 ЧОСТЬ 1. Основы одминистрировония 
ежепнсвНо. Используйте MHorOKpaTHo оnин набор лент, но через каждые N lПIей (тде N определяется потребностями КОМПctН1IИ или орrаюваШНI) откладываJiте ленТЫ нзвсеrда СТшtмосТЬ ТdКОЙ схемы составит (З65/N1 .. (иена ле.н'Ы) в rоп. При создаЮНf очерСllноrо арХИВа не.1Ь3Я ИСПОЛЬJОВЗТЬ предьтдушую пею'у. Лучше осушествлять ротшmю лент. Iпобы в С'1чае. если оп.ин liз архивов будет уничтожен. можно было восстановить архив предыдушеrо дня Подобная схема обеспечивает высокую избыточность и знаЧlпельно облеает восстановление данных. Она хорошо подходнт Ш1Я орraНl1зании. имеюшеЯ MHoro AeHcr. но мало операторскО(.о времени I или опыта). Умеренная схема Более приемлемый план  выделиТЬ по O'nHO 'lCIITe на каЖдЫJ.\ пень неде:lIt. каждую IIСДС1Ю месЯШ:! I .шесь ПО1-!алООIПСЯ IIЯТЬ 'IСIП) и каждыn !\.It:сяl.l тода. Ежедневно созnаиаЙте архив девятоrо УРОRНЯ На llнеШIOА 1енте. еженедельно  архив ПЯТО(О рОВI1Я Hi! неделыl ленте. ежемесячно  архив третьсто уровня на месячIOЙ leHTe. ,,"PXIIВ f-1'1евOIО }Р08НЯ нужно созnавать каждый раз, Korna инкрементные кошНl становятсЯ слишком велики д.'1Я одноi:% ленты. Чаще Beero это происходит С месячными леНТЗМ11. В любом случае ар,,-mшрование HY.'leBOIO уровня необходнмо 8ьmолнять хотя бы раз в [ОД. УрОВНИ З. 5 и 9 выбрЗIIЫ пронзвольно. С таЮIМ же YCllexoM можно tСПОЛЬЗ0вать уровни 1. 2 и 3. 110 интервалы между УРОВ.IЯМИ дают некоторую свободу nля маневра HtI случаЙ. сст впоследсТRИН потребуется по1.ВИТЬ еше один }'P0вellb TaKoi:% rpaфш.: требует lIaJШ[!ИЯ двшuатlt [leTbIpex основных лент, а та","'Жс lIeKoToporo КО:lllчества лент D..1Я аРХНВ08 нулеnOlО уровня. Общее число неоБХОДII\fЫХ лент неКСJlИКО. но , И Jбыточность невысокз. 10.4. Восcrановление с резервных копий Есть множество раlНОllидностеи КОМ31ШЫ, ВtlсстаНВВJшваюшеti данные с резервных ПС'IIТ. Все ОЮI 1-!31ыиаются reslore. Рассмотрим вначале вопрос Rосстановления отдельны ФВИJlОВ (или небольшой COBO....yТlHOcтI1 файлов). а затем расскажем. как IЮССТ<Ш3lЫIIВ.пь фаиловые системы uеликом. Восстановление отдельных файлов Первое. что Н)ЖI-IO сдел.ll ь. Y3HdB О пропаже файла.  ВЫЯСНItТЬ. на каких лентах eL.b cro персиJ.f. 1I0.1ыователям часТО очется наЙти С3!1оlУЮ ПОС;lет--IЮЮ версию файла. 110 так бывает не все,дз. Например. пользовзтель. потерявши фаnл и 1]8 С'lучаЙllOfО КОnllроВЗllИЯ поверх HelO npyroro фаЙlа. будет искать ту версию. которая C ше.:твовала до этой неIIРИЯТНОСТИ. Важно также YJH3Tb не только, кзкоn фа.'л ПрОllал. но и rnе он npOnaJl 11 коrдз МОДИфИШlроllа.1СЯ ПОС'IСДНIIЙ paJ. Если 11е иедуrСА опер.пивные каталоrи лент_придется монтировать ле.IТЫ одну J3 npyrof1 и IIытаться 1I.IИ1"И пропаншие фзилы наобум В случае. котда пользоваre:IЬ помнит. коша файл БЫl изменен n послеДIШЙ раз. можно с достаточной степенью верояТlIOСТИ преДПОЛОЖIIТЬ. на какоЙ ленте он нзхо пится. УстаНОВI1В ленту. с которои будет ПрОНlВОilИ1ЪСЯ ВОССТЗlшвлеНlfе. создайте ире\lенныil каталоr, к примеру Iar/restore. fпе буnет образована большая  r nQBO 10. Резервное КОПИРОВОtiие 203 
иерархия каталоrов. и перейпите в Hero с помошью команды cd. Большинство версий команды restore ДоЛЖ.IЫ создать все каталоПi, ведущие к конкретному файлу, иначе восстановить cru будет невозмоЖНо Не используйте дпя этих иелей кзта.rIOr /tmp: в случае системноrо сбоя и последую шеи перезаll'УЗКИ СОllержимое каталоra бу.nет стерто. у команды restore MHoro опииЙ Самые полезные из них  это i, которая позволяет восстаН8&JJИвать фалы в интерактивном режиме, и r, служащая для полноrо восстаНОWlения всей файловой систеМЫ. Оппия х запрашивает неинтерактивное восста.ювление указанных файлов  будьте осторожны, tfТобы не перезаписатъ сушествуюшие файлы. КомаКЦ8 restore i читает с леНТЫ справочник файлов, а затем позволяет пере мешаться по архиву, как в обычном переве каталоrов. с помошью комаНд Is, cd и pwd. Файлы, которые нужно восстановиТЬ. помечаются командой add. Выбрав все необходимые файлы, скопируйте их с лентЫ посредством команяы extract Ес;1И на о,nной ленте MHoro архивов, то переп выполнением Ko[aНДЫ restore следует позиuионнровать ленту на соответствующий архив с помошЬЮ команды mt. Не забудьте выбрать файл устройства без режима переМОТК1t! o Описание команды т, дается 8 l1араzрафе 10.7. Например, ШIЯ восстаноW!ения фаЙJ1В /....rs/janet/iamlost во FreeBSD с использовзнием удаленноrо накопиТеля требуется задать показанную ниже последовательность комам. Прелполаraется, что HaдeHa нужная лента, она смонтирована в точк tapehost:/dev /пs10, а файловая система, содержашая начальный каталоТ пользователя jапсt. Я1i.пяется четвертой ив ленте. . шkc:tir /var I r.. or. :1 cd /vl!r/r.ator. .. r8h' t:8pehost тс ! /dеv/пst() fsf f rr..tor. if tapeho8t:/dev/natO restore> 1. janer.1 garthl lost+foundl lyndal restore> cd jan.t re8tore> 1. afile bf1.1e cfl.J.e l.amlost.. res;::ore> add iaDU.o.t reS1:.0re> 1... afile bfile cfle iа!r.lозt'" хез1:.0хе> 8xtract Уои have noc read апу volumes уес. Unless уои know which volume уоих files ахе оп уои should start with the la.st volume and work towards the first. Specify пехС volume ': 1 set owner/mode for '.'"] [уп]: n Ленточные тома нумеруются начиная с 1, 8 не с О. поэтому ДJlя арХllоа, который умешается на одной ленте. НУЖНО указать значение 1. Коrда команда restore спрашивает, следует 'и устаНОВIПЪ ВЛ8де:Iьuа и режим доступа :IЛЯ каталоrа '.'. это З.18чи-r, что она интересуется, должен ли текушиfl каталоr M01lQiO воспользоваться КОМ2tШой ssh ШlЯ обеспечения большей безопасности. Звездочка РЯДОМ с именем lam10st означает. что этот файл отмечен для восстановления. 204 Чость 1. ОСНОВbI одмнстрировоня 
соответствовать корневому КЗТа.1Оr} лнты. обы'нюю в .1том нет неоБХОДIfМОСТlI. если ТО:1ЬКО не восстанаВlIIlвается ВСЯ фаJС10Во-1Я октема не.1ИКОМ После Toro как команда restore завершила СIЮЮ работу, нужно переnать ИЗRJlеченный фаtt'i пользователю janet: t cd Ivar/restore t 1. u..r./janet alТlosi:. , 1. "'janet afle bf!le cfle * ер p u..r8/janet/iamlo.t "'j&nеt/lашlО8t.. r..tored t ChOWD janet jan.t/iamlo.t. r..tored # chqrp .tud.nt "'jа.леt/iam108t. re.tored t r1II rt: /var/r..tore , ш...i1 jan. УОШ: f.:.le !.amlost. hаз Ьееп resi:..ored as reques::ed and паз Ьееп placed iл IU5еrs/jапеt/аF.'lоst:.rеs,=-оrеd. our Narr,e. HUII'..ble Syst.em Adm.!.niscCd!...or Некоторые ц,шнистраторы преДПОЧlпают восстанав.Jшвать файлы в спеuиa.rrьный каталоr, чтобы ПО..IЫОВ<lте;JИ моr1И копировать Itх вручную.. В этом С:Iучае неоБХОДИ,,"IО обеспечить Jаuшту фаЙ.70В. наlначив им COOTBeT СТ8УЮШJlХ ILlane:1bUeB 'I нужные права доступа. Не забывайте Оllишать этот K3Ta.'(Or, чтобы файлы не "lЗl::ОрЯШ(' систему ЕСШj резервная копия создзвалась с ПОМОUlью проrpаммы rdump 11 КО"fанШ! restofe не может восстаНОВIIТЬ файлы из архива. попробуйте воспользоваться ко\tандой rrestorf. Д,.IЯ сведения к МИI-П1МУМУ вероятности В03Н1t'кновення проб:lем стараЙтесь читать ленту на том же КО\-fпьютере. 113 котором она записыRa..'1НСЬ. В ue1l0'l.1 команnа restore 1  C8"fbIA простоЙ способ восстаНОRJ1НlfЯ нескQЛЬКИ\: фаЙ.l0В ИЛf кзта. т юrов и J архива J1меется .IIfШЬ одно оrpаНII'lение: .занная ком.иll.д.з не будет работать. еС..1И 'leHT)' неЛЬЗЯ пере\fЗТЫR3ТЬ по одной lаписи назад (такая проблема сушеств)ет .длЯ некоторых gМИ.l;JимеТРО8Ы'< нзкошпелей) ЕС!1If .по С..'УЧЮI0СЬ, не паникуйте. а снача.:rз попробуйте IIСПО:iыоватъ KOMaн..ny restore х. Онз требует ук:аjЗНИЯ ПОJlноrо пyrе80rо именlt восстанаIL'lИвамоrо фай..-IЗ (относительно KopHc:вoro кзталоrа архива) в команnноЙ LIpoKe.. Следуюшая rpУllпа команд повторяет приведенныЙ выше при"мер: j lZIkd.ir /var/reetore j cd /var / r.. tor. .. reh t.apeh08t шt r /dev/nstO fsr 3 I rreetor8 xf p.hoet:/dilllv/netO /u..r./jа.лilllt/iamlо.  Восстоновление файловых систем Если читателю повезет r ему никоrД8 не прмется восстз.наRJlивать всю файловуlO СИСтему Иноrпа, однако. такие с.:rучаи все же бывают. Перед тем как пытаться восстановить фаЙ10ВУЮ систему, убелитесь. что та проблема. которая привела к ее разрушению, устранена. Совершенио ни к чему сидеть часаIИ и мотать ленты .11fШЬ ДЛЯ ТОТО. чтобы тут же потерять фай.'lОВУЮ систе\fУ еше раз.. Переn нача.YJОМ полноrа восстанов.Т"lения фаИ.10ВУЮ CIICTeM н} жно создать и смонтировать Подробно о том, как это деJlается. мы рассКазали в rлаве 8. r 1'10&0 1 О.. Резервное КО/1ИРОВО..lие 205 
с помошью команды cd переЙЛИl'e в каталоr монтирования новой файловой системы, вставьте в иакопитель первую ленту сямоro последиеro архиIm. нулевоrо уровня и введюе J(оманлу restore r. Команда restore буnет сама ПVLlсказыnaть, котnа нужно ставИТЬ слеn.уюшую ленту После восстзновлення архива нулевоrо уроння восстанавливайте f1ce ннкрементные архивы ВfUЮТЬ по последнеro в том ПОрfшке. в каком они создавались. Поскольку всеrпа суше,ствует определенная избьrroчность. то. как правило. нет необходимости восстанавливать все архивы. Вот пркмерная послеn.овательность действий: Шar 1: восстановите самый последний архив иулевоro уровня. . Шаr z: срели послеД}"lOшm архивов восствнопите тот. у KOToporo наи меньший уровень; сеЛ'И на данном уровне было создано HeeJ(O!1bKO архивов, иосстановкrе новейшии из них. . Шаr 3: если ЭТО оказался самый последний из сnеланных apXJ.-1В08, [lpO цедуру можно считать завершенной, в противном случае следует вернуться к ша!)' 2. Привепем при меры архивных последовательностей. Восстанавливать НУЖ но только те архивы, номера которых выделены полу..кирным шрифтом: 000000 05555 032545 099599399599 0359359 Рассмотрим ВСЮ последовате.'1ЬНОСТЬ кома на. Например, если последним был СОЗдан месячный арXl'fН уроnня 3, а переn HJ.-1M создавался ежеrодный архнв нулевоrо уровня (см. параrpаф "Умеренная схема" Rыше). ТО 11J151 восстановления файловой системы jllOme. нахоnяшейся на фИlИ'1еском устройстве /de./d.k/cZOld6.0. 1l0надобятся слеДУlOшие .0манды (имена YCT РОЙСТ8 и вИД команаы IICwfs заиJ.-1СЯТ от операuионной системы): i /.tc/new8 /dev/c1sk/c201d6s0 aCANТUН PD1050S . /etc/mount /dav/k/c201d6s0 /hоШ8  t cd /Ьоше /* МОН'l'ируеu первую ленту архива ypOBH$I О ДЛ$l ка'l'алоrа /home * / t r..tor. r /.. монтируем ленты, sапрашиsаеNыe КQмандОЙ restore .. / /.. МСЖ'l'ируем первую ленту еженеСЯIJноrо архива уровня 3 .,t / t r..tor. r Если на одной резервной ленте было несколько файловых систем. то перед обращением к команае restore необходимо с помощью командЬ! m( перейnf IC нужиой файловой системе. Описание командЫ mt дано в Ilараrpафе 10.7. Приведенная последовательность команд позволит восстановить фаfmо вую систему в том состояНlfИ. в котором она на.ходилась. коrда был создан apXJ.-1В тpeтьero уровия, с одной особенностью: заодно будут '.воскрешены" и все удаленные с тех пор файлы. Эта проблема особенно неприятна, J(оrда восстанавливается аК'Тивная файловая система или ДJ.-1СJ( практически запоЛ нен. Не ИСКIJЮЧС-НО , ЧТО ВО втором случве J(ОМ2н.да restore ззвеРШIПСЯ неудачей . rоворят, что Rcкoтopble версии КОМ8Щ dump И restore отслеживают все удаления. Мы полsl'3ем. что это может иметь место в Solaris и Liпш:. 206 ЧОСТЬ 1. Осмовы ОДМИНИСТрИрОВОIИFl 
10.5. Архивирование и восстановление при модификации ос Прежде чеМ fl.юnернизироватъ ОllераиИQННУЮ CJ.-1Стему. необходимо путем создания apXlt8a нулевоrо уровня IlОЛУЧИТЬ резервные копии всех файловых систем. а иноrда и восстановить шс Восстановление требуется лишь в тОМ случае. есЛИ в новой ОС используется друrой формат файловой системы или ес]!и изменяется структура раздМОв диска. Резервное копирование нужно обязательно преJIyсматрИВRТЪ как меру предосторожностJ.-1 на случай Ilроблем. которые МО[)Т возникнyrь В проиессе МQДИфИК3UИ И . Полный комплект резервных J<ОПИЙ. кроме Toro. даС1 возможность llереинсraJ1ЛИрО-ВВТЬ старую операuиOl'IНУЮ систему. если новая версия не 1l0ДОЙllет Не забудьте скопировать и восстановить все системнозависимые файлы. иаходяuшеся в каталоrах / и /usr. такие как /etc/passwd, /etc/shadow, /usr/local и т.д. Эта Janача nаВОЛЬНО трудна, ибо спеuифическая  мЯfка rоворЯ  арrанизаuия каталаrаВ. прннятая В UNIX, прииодит к перемешиванию файлав, сазданны). на ланнай маurnНе. с файлами. ВХОДЯШИМИ в камплект ПОСТ3ВIШ Сразу после завершения мопификаuии нужна создать пелный набар архивав нулевеrо уровня. Преuедуры модернизаuии. прltнятые боЛЬШИIIСТВОМ паставшикав ОС. предполаraют устанавку паты МVLl.ификациJ.-1 системныХ файлов па времени их Саlдаtrnя 11РОJ.-1зводителем системы. а не по. текушему времени. Эта азначает. что. в случае краха инкрементные архивы, сазданные атнасmельна архива HYJlCBarO уровня, записанноrо па модернизаuии. не ПаЗВОЛЯТ восстанавИть систему и ее мадернизирояаннам састаянИи. 10.6. Друrие проrраммы архивирован ия Будучи наиболее Jффеlo."ТJ.1ВflЫМ средством pe-зерВlIРОВ&'НJ1Я 11O:IHblX фай лавых систем. dump  не еnинствснная проrpзммз, катарую мажна исполь зоватъ для архивиравання файлов на леНТЫ Перемешд.ТЪ файлы с аДJ.-10rо носителя на nруrой Mar)"T также праrpзммы tar. cpio и dd Проrрамма tar. упаковка файлов Преrpaмма tar берет нескальJ<О файлав WП1 K3TaJIOroB и заrтисывает J.-1\: как один файл. часта прямо. на лент)'. .O удабный инструмент сазДЗНИЯ резервИЪJ}; каПИЙ файлов. котарые в ближайшем будущем ПРJ.-1дется BOCcтa наВЛllвать. Например, если ПОЛhJаватель уезжает на полroдз, а в системе мало дискавей памятИ. администратер системы мажет воспользаваться проrpаммой tar 1-1 переиести фай.ТIЫ этоrо ПOJlъзанателя на леНты. после чеrа удалJ.-1ТЪ ю< с диска Праrpзмма lar. J<pOMC Taro. хароша подхоДИТ для перемещения дерева каталаrов из onHaro места в друrое. осабенна если имс:юшаяся в системе Проrpаw.а ер не обеспеqивает рекурсивнае J<опироваНJ.-1е ИЛИ ec..rrn файлы капируются от имени пользаиа.теля roo( (паскольку Проrp8мма (ar сахраняет инфармаuиlO а ПРИН3.lIJlежности абъектов). Например. каманда tar cf  ИСХОДНJJЙlCа2:'аJlоr' I С cd .конеЧНblЙкаТiJ.J10r : Lar xfp  ) саздает копию дерева исходнаrо lo..aTallora в конечном J<аталаrе. Небольшее прсН)пpt:жnенJ.-1С. не указынайте К8талаr .1..'" в качестве КанечНаrо. тзк ка..: наличие символических ссылоК и пршрамм автаМ8ТИЧС:СJ<аrо монntреВ8НИЯ 207 r лево 1 О Резервное КОПИрО80llие 
может привесn! к тому  что реальны И конечный каталоr будет отличатъC.R от ожидаемоrо. Мы пострадали из за этоrо иесколько раз. Большинство версий npoflJ8MMLI tar ие отслеживает снм.воличеСЮlе ССЫЛКИ по умолчанию, ио им можно дать указание делатЬ это. 3arляните 8 руководство по проrpsмме и найдите там правилъный флаr. потому ЧТО в разных системах ои разный. Самый большой недостаток прОflJаммы tar состоит в том, ЧТО большин C1iIO ее версий не допускает исполыования MHorO'J"OMHblx архивов. Если данные, которые нужно зааРХИБировать. на одну леmy не помещаются. проrpамму lar использовать нельзя. Н о даже если имеюшаяся проrpаммз lar заявляет о подnержке MHoroToMныx архивов, m-неситесь к этому скептически. Не нсключе.но, что она работает неправильно. Еще одна проблема. характерная JIЛЯ миш'их версий nporpaMMы tar. заключается в том, что п.т.rna nyreвoro имени оrpаничена 100 символами. это не ПОЗВW1яет использовать nporpSMMY для архивирован ия rлубоких иерархий каталоroв. Если установле.нная в системе версия npoflJaJ,.fMbI поддерживает опцию. позволяющую работать с более ДЛИННЫМИ путевыми именами (она есть в GNUверсии tar), помните о ТОМ, что обладатели стандартной npoflJ8Mмы tar не CMOryr проч-итать записанные вами ленты.. Опuия Ь nporpSMlI.fbl tar позвоЛяет запать размер блока (блокфактор), который должен учитываться при записи информаuJ.-1И на ленту. Размер блока указьmается в виде числа 512байтовых фраrментов и определяет, какой объем ланных проrpамма помешает во внyrpенний буфер перед вы пол не HJ.-1ем операции записи. Отдельные DA Тустройства отказываются иормально рабо тать, если размер блока не установлен равным определенному числу дрyrnе накопители этоrо не требуют. Иноrда при некоторых значениях блокфактора производительность работы с лентой повЫШается. Оптимальный размер блока зависит от KOHкpeтHoro компьютера и леmочноrо накопителя. Во мноrиx случаях разиица в быстродействии незаметна. Если есть сомнения. задайте блокфаJ( тор 20. Проrрамма tar не попускает наличия ошибок на лентах. Проrрамма cpio: архивирование в системах семейства System У Утилита архивирования cpio по своим фyнxuиональным возможностям близка к протрамме tar. Она является компонентом старых систем и редко используется сеrодня. Но ее можио применятъ для переиоса дерева К8талоrов. Команда f].nd I1СХОДНblЙК4Та.лоI' depth pr].nr. I срз.о pM l('о.не."ныа«а'1'алоI" создает копию д.ерева исходноrо KaTaJIQra в конечном каталоrе. Анзлоrично Проrpsмме 18r, больurnнство версий утилиты cpio не разрешает создавать мноrоленточные архивы. Некоторые версии некорректно работают с канала ми, а спеЦИ8JТЪные файлы может копировать только пользователь root. Оnuии этой np011>8MMbl сильно отличаются в разных системах, поэтому следует внимательно читать руководство. G N Uвереия записывает таблицу соответствия имеи в один ИЗ файлов архива. Пользователи стандартной версии tar MOryr извлечь содержимое архива и исnpавить все вручную, но это очень yroмиreльный процесс. 208 Часть I Основы одминистрирова}.lИJI 
Проrрамма dd: манипулирование битами Проrpaмма dd предназначена для копирования и преобразования файлов. При отсутствии указаний о выполнении какоrолибо преобразоваиия IlрО rpaMMa просто копирует ИНфОрМ8UJ.lЮ из входноrо файла в выхОДНОА. сСЛJ.-1 пользователЬ принес ленту, которая записана не в U'JIX. IlpOrpSMM8 dd может оказаться единственным способом ее Ilрочитать. Одним из первоначальных применений IlporpaMMbl dd было создание копии всей файловой системы. Сеrодня есть более эффективный вариант: создать с ПОМОШЬЮ утилиты newfs uелевую файловую систему. 8 затем запуспrrь команду dump в конвейере с команд.ой restore_ ПроrpаММ8 dd. при неllравшIЪНОМ ее использовании. J.-1ноrлз может искажать информацию о структуре разделов Она может копировать файловые снетемы ТОЛЬко меж.лу разделамн в ТОЧНОСТИ одноrо и Toro же размера. 0' Более подробную иНфорМQцию о пРОlрамме newft вы можете найти в Z1IaBe 8- Проrpамму dd можно также применять для создаНJiЯ копий маrнитных лент. При наличии двух ленточных накопителей (к примеру, /dеv/nпt8 и /dеv/nпt9) используйте команду % d.d lt'-/d.8V/r1Dt8 of.-/d.8v/rrat9 cb.-l6b Если есть ОДИН накопитель (/dev/nnt8). воспользуйтесь такой последова тельностьЮ: , d.d lf._/d.8V/Z1D'C8 ot'-tfl1. cb.-l6b /.. Модифицируем ленты .. / , М lf.satt'11. of._/d.8v/r1II.t8 cb_l6b , r1D tf.l. Конечно, коrда имеется Bcero один накопитель, должно быть достаточно дисковоro пространства Ш1Я сохранения образа ленты. Еше одна историческая ФУН1<UИЯ проrpаммы dd  преобразование данных в нужный формат при обработке Q[Слент, отличающихсЯ друт ОТ друта толъко порядком следования байтов. НапрJ.-1мер, чтобы проqесть на компью тере SUn ленточный tarархив. записанный на компьютере SG 1, нужно задать команду dd lt'_/d.v/r.t8 conv-8wab I tar xf.  Имя лснточноrо устройства зависит от используемой системы Проrрамма volcopy: дублирование файловых систем Проrpамма volcopy СОЗдает тоqную копию файловой системы на .npyroM устройстве, изменяя при необхоцимосn! размер блока. Эта проrpамма имеется в Solaris, HP UX и Liпuх. Ее можно использовать для резервноro коrтироваНИfl файловой системЫ на съемньтй ДИСК или для создания полиой копии системы на ленrе. 10.7. Запись нескольких файлов на одну ленту Факrически маrнитные ленты содержат одну длинную строку данных. Но очень часто ВОЗЮlкает необходимость ПОМеСТИТЬ на ленту несколько архивов, поэтому ленточныe накопители 11 их UNIXдрайверы MOI)'f поддеРЖIIВать более СЛОЖНУЮ структуру хранения. Korдa команда domp ЮlИ какаянибут. r лавCI 1 О Резервное копировоние 209 
дрyraя команда записывает поток байтов на пеН1)'. а затем закрывает файл УС1рОйства, на ленту автоматически помешается маркер кониа файла (елd of file, EOF). этот маркер отделяет один поток от npyroro. При извлечении потока операция чтеlrnЯ автоматически прекращается в случае обиаружеиия маркера ЕОЕ Для позиционирования neH1ы на конкретный поток используется команда mt. Она очень полезна при размешении на онной ленте нескольких файлов (например, нескольКИХ резервных копий). Кроме тото. сообщения об ошибка'\( этой комаl-ШЫ  одни из самы>: интересных среди yrилит U.NIX. Базовый формат KoMaнды таков: mt [f имялеНnJ1 команда [счетчик) (hP] Apryмeнт UМRленты  это имя ленточноro устройства (е отключенНым режимом перемотк:и. если необходимо выполнить какиелибо операuии иал файлами). в HPUX вместо опumt r используется опиия I. Apryмeнт команда имеет множество значений. от платформы к платформе они меняются, поэтому мы рассмотрим лишь те варианты, которые важны для создания резервных копий я их восстаиовления. rew Перемотать ленту в начало. om Переключить ленту в автономный реж..им. В некоторых накоmrreл.яx это приводит к выбросу ленты из приемнихз. Большинство сцеиариев архивирования применяет 'ЛУ команду для изъятия ленты по OKOH чании операции. что ДOJDКHO свидетельствовать об успешном ее заверwении. status Вывести информаwoo о текушем состоянии ленточиoro накопиreля (вставлена ли леитз и Т.Д.). fsf lсчеm'i'uкl Перемотать ленту впере.п:. Если арryмеит clfeтlfUК отсутствует. лента перематываercя на один файл. Если указан числовой apryMeHT, KOM&I1д8 пропускает соответствующее kоличество файлов_ эту командУ можно исоолъэовать ШIЯ neреХОД8 к иу:жной файловой системе на ленте. содержащей HeCKOJ1ЬКO арХИВОII. Ьа( [clfeт'i'uICj Вернyrьcя назад на указанное ЧИСЛО файлов. В иекоторых системах текущий файл при этом считается. а 8 некоторых  нет. Иноrда эта команда не делает ничеro (и не сообwaeт об этом). Если лента псремoraнa CJIИШXОМ далско, лучший вариант  дать команду п,.. и начать сначала. Точный перечень команд, которые поддерживает команда mt. можно найти в документации. 10.8. Amanda Amanda (Advanced Maoy1and Automat!c Nctwork Disk Arcl1iver  yco.ep шенствованный автоматический сетевой НИСкоВЫЙ архиватор Университета ипата Мэриnен.д)  это сложная система ceтe80ro резервНОro копирования, которая заменяет доморощенные сuенарии, псполъзуемъте мноrими КОМП8 ниями и орrанизациями. Она позволяет создавать архивы всех компьютерных систем в сети п помешать их на ленту qерез единствениый накопитель на сервере. Amалdа подперживает большинство UNIХсистем и MHorne виды резервных носителей. Система AmBnda быпв написана Джеймсом да Сильвой (James da Silva) из Университета uпата Мэриленв в 1991 <. Теперь ее СОПРОВОЖдением и 210 Часть 1. ООЮВЬI ОДМl'Iниcrрировония 
доработкой занимается коллектив системных ЗДМJtНJ.-1страторов со BCero мира. Последнюю информаuию и исходные тексты можно получить по ацресу www.аПlзпdв.соm. Сама по себе Amanda  это ие nporpaMMa. а оболочка, ynрав...1ЯЮЩая друrими проrpaммами резервноrо копирования. В боЛЪШИ1iстве орrаНИlзшtА она работает с системными командзми duПlр и restore, но может также использовать nporpaMMY gnutar и даже nparpaMMY smbtar сервера SаШЬ;J, УСТЗНОWIснноrо в NТсистемах. Лmапdа подnерживзет большое число леmочных накопителей. а также умеет работать С укладчиками и ленточными маrазинами. Она может использовать аппаратный алrОрlfТМ сжатия накопитt::ля или же lзnyскать на клиентских машинах проrpaмму compress либо gzip, переn тем как .nанные отправятся по сети. Дрyraя прекрасная особенность системы  механизм упраWIения лента ми. Amanda записывает служебный заrоловок на каЖдУЮ леlП)', поэтому ffi1Korna не затирает неправильную лен'!)'. Кроме Toro, система }ilраR.'1яет уровнями архивов. основываясь на параметра.х конфиТ)рации и заполtlСННО сти ленты Ведется список архивов. на.ходящихся на кажлой из лент. и можно распечатывать наклейки с J.-1нформаUJ.-1ей о содержимом лент (это оказывается очень кстати. если выходит из строя диск, ВКЛlOчаЮШl'Й базу nанных Amanda). Amanda  одtlQ из самых популярных бесплатных решений н об:lастJ.-1 резерВllоrо !СопироваНIIЯ. Ol..a установлена на 1500 серверах по всему миру. Amanda хорошо справляется с увеличеЮiем чнсла обслуживаемых J.:омnьюте ров и постоЯПRО улучшается с uелъю подnержки самых последних устройств резервноrо копирования. Архитектура в архитектуре Amanda ленточные наJ(ОПИТCJlИ и буферные диски подклю qeHbl к петральному серверу. Сервер также со.п.ержит все КОНфИI)'раuионные и журнальные файлы плюс базу данных. Аmапdа может записывать на ленту ТОЛьКО один архив за раз, но может временно помещать MHoroToMHble архивы на буферные nJ.-1СКI1. а затем последовательно переНОСIIТЬ их нз ленты. В системе Ашапdа на ОДI-JQМ сервере подnержнвается несколько "ОНфU zурацuй. Например, в одной КОНфШ/раUШj создаются только аРХll8Ы "равю! О. а в друrой  инкрементные архивы. С каЖдОЙ КОНфJ.-1lураuие С8язаны свои журнальный файл и база данных. Сервер Amanda проверяет конфиryрационные файлы. '-П"обы определить. какие файловые системы нуж-но архивировать. какие ленточные накошпе.1И доступны и сколько CJ.-1стеМНblХ ресурсов (сетевой канал, наКОПJ.-1ТfЛИ. uеmpальный проиессор) разрешается использовать. Затем он обращается к юrиентским маШИНам и просит их подсчитать размер архивируемых фюuюв. На основании этой Jrnформации Аmалda составляет Ман ре.зервноrо копирования Сервер Аmапdа представляет собой коллекцию nporpaMM, которые реа;IИ3УЮТ разные зсщачи системы. Лучше Bcero запускать серверные про rpaMMbl на быстрой маШJ.-1не, J(ОТОрая. как правило. не слишком заrружена. Если архивируются данные большою объема. то сервер полжен 11меть самое быстрое соединенне с сетью, какое тольКО возможно в рамхах сушествуюшей архитекrуры. Буферный писк. содержаший копJ.-1И сетевых арХIШОП. ДOJтжеll обладать Как миtпtмум таким же размером. что и самый большой писковый раздел срсдИ юшеrrсюfX МаШИН. Необходимо также дополнительное место на диске (не более 75 Мбайт) для хранения )t,.")'рнальных файлов J.-1 баз данных. r лово 1 О Резервное копировоние 211 
Инсталляция На Момент написания КНИI"И последнJ.-1Й стабильный выпуск системы Amanda име.П номер 2.4.lpl. Приводимые ниже примеры кQнфиl)'p8uиQнныx файлов и 'Команд Д3НЪ1 именно для ЭТОЙ версни. Если будете заrpужать 13 InLemet исходные тексты АПlапdа. берите последний стабильный выпуск. а не текущую версию ШlЯ разработчиков. Ведь речь идет о создании резервных копий. поэтому здесь важна надежность. Распаковав исходные тексты, I1рочтите файлы REЛDМЕ, docs/Sys TEM.NOTES и docs/INSTALL. Во втором ИЗ них указаны все систеМНОJa висимые особенности. В файле INSTALL даны пошаrовыс инструкции по поводу инсталляции. Прежде чем запускать проrpЗММУ configure. залайТе команду configure  help. чтобы получить полныи СПИСоК ОПШ1Й. Требуется определить не ТОЛЬJ<О каталоr инсталляции. НО также оТ имени K3Koro Ilользователя и какой rpynпы должна работать Amanda. Необходимо, чтобы этот пользователь нмел доступ к каждому нисковому разделу. предназначенному ШlЯ 3рюширования с помощью команды dump Как правило. при ИСПОЛЪЗ0ваии:и команды chgrp права на соответствуюшие файлы устройств передаются спеuиалъно созданной flJуппе, и сервер Аmаndа работает от ее имени. После завершения проrpз,мы configure запустите команды make и make install. чтобы завершить J.-1нсталля иию. Каждый клиент Amanda должен иметь доступ к llВОИЧНЫМ файлам сервера. Однако идея предоставить всем клиентам доступ к файлам через N FS ЯlL'1яется не лучшим решением, поскольку бывают СlfтуаuиJ.-1. коrпа все клиенты должны запускать прОflJаммы одновременно (например. в начале проuедуры резерв Horo копирования. коrда Amanda просит клиентов подсч-итать размер архивов). Желательно ннсталлировать проrpзммы На локальные ДИСКИ каждоrо клиента, обычно rдето n каталоre /пsrflосаl. Список nporpaMM. инсталлируемых на кaжnом клиентском компьютере. представлен ни:же. Они НlfКоrпа не ДClЛЖНЫ запускаться вручную. Упр8.ВJlЯет всем взаимодействием межny клиентом и сервером; запускает все остальные клиентские nporpaMMbl Проверяст, СКОНфИJ)'pироВ8Ji ли К1IИент для работы с Аmanda, а именно: уcra.новлены ли права дocryna к устройству. NОЖНО ЛИ нвйти nporpaIOf.y иziР. можно ли осуществлять ЗaJD1СЬ в файл /etc:/dumpdates н т.в. Выполtulст резервное КОПJ.rpОВ8Jiие Оuениваст размеры резервных копий Ш1JI рa:l11lt.ЧНbIX уровней арх.и внроваНИЯ На КJТИеmских машинах полжны быть выполнены еше некоторые операции конфиrypирования. В файлы /еlс/iпеld.сопr и /elc/services нужно побавитъ 110 одной дополнительной строке для сервера Аmапdа. Кажаое устройство. с KOTOpOro будут сниматься резервные КОПИ1. должНо быть доступно ДЛЯ полъзователей rpуппы. в которую ВХОДИТ в АПlапdа. Необходимо также, чтобы эта rpуппа име.ла право записи в файл /elc/dumpcheck. После Toro как все конфиrypаuионные файлы заданы, запустите проrpзмму amcheck. которая произведст финальную проверку. Ниже показана строка. добавляемая в файл inetd.conr (предполаrается, что в качестве имени пользователя и rpуппы сервера Amanda выбрано имя "amвndB"): amaodad Rlfcbeck &eadblckup leodsize amanda dgram udp wait amanda lusr/local/sbin/amandad amandad 212 Чость 1. Основы ОДМИНа.1СТрИрОВОНИfl 
Эта строка может использоваться как на сервере, ТаК и на ютиеmе. Чтобы еше силънее заncиnпь систему резервноrо копирования. поместите в файл ineld.conf строку вызова Ilросраммы Icpd, написанной Уитсом Венема (Wietse Уепета); более подробную информаuию можно найти в парarpвфе 21.7. Вот строка, помещаемая в файл /elc/se",ices: amanda l0080/udp Ниже представлен список комаНд Аmапdа. БольшинстВо из НИХ прини мает aprY.MeHT. сообшаюший о том. какую из КОНфJ.нураций Amanda следует использовать. ВЫПОJDiяет нОЧ:Иое арХИВироВ8.НJ.lе; обычио используется демОном croo Осушс:ствл.яет прIOi)'Д:КП:.льную запись содсрж..и:моro буферных дисков Н8 ленту в случае возникновения проблем n изводпт очистку. если на сервере npoизошел сбой в проuессе со:!wiния архива ВЫПО.'DiИет операuии восстаиовления из архивов Amanda Записы.в.ает метки Amaпdа на лси1У; CJIyЖ.И1 для предотврнwеюl.Я пблем, связанных с nерезanнсью не тех лент НвхCllИТ НУЖНУЮ чеи1У для восстаиОВ11ения н выполняет дpymc .а..о:МИI01стративныс операиии nверяет. верная ли лента используется. достаточно ли месп на буферных дисках и сконфиrypирова..н ли клментсюtЙ хoмm.ютeр ДОШК  иым образом Управляет УКJ1aдч:иJC.8МИ и устройствами смены лент Стронт rpафики активности сервера Amanda (иапример. пuеН1 испоЛb3Qва.ния буфернoro j[МcК8 н ceтeвoro канала) ДЛИ КVIUloro СОЗД8ВВСNОro архива Для каждой конфиrураuни создается отдельный К8талоr и файлы аmапdи.сопf и disklist. Пераый 1..0 этих файлов задает общие пара метры конфиryрироваЮl'Я сервера, 8 второй солержит список клиеmов и файловых систем, ПЛЯ которых ос}'Ществляется резервное копирование. Данные файлы располaraются только на сервере. amdump amПu»Ь amclunop amrestore amlabel amadmlD 8IDcbec:k ашlaре Imp10t Файл amanda.conf Файл amanda.conr достаточно велик, поэтому мы разобьем ero на четыре лоrических компонента: локальная информаuия. параметры стратеrnи архи BJ.-1(IOВ8иия, параметры исполъзояаЮfЯ ресурсов и определения типов архивов. Эти компоненты ЯR.1ЯЮТСЯ нашим изобретением. Ни в самоА системе Amanda. ни 8 ее доК)ментзuии не проводится подобноrо разrpаничеRИЯ. Фор,зт файла достаточно понятен. поэтому мы представим файл в виде одноrо 6ольшоrо фраrмента с комментариями к каждой сеюrии. Начнем с секции ЛОК8..J,ьной информации, rде определяется орrанизация, в которой установлена Amanda. оператор резервноrо КОПИРОВ8tпtЯ. К8тапоrn журнальНЪJХ и друrих конфmypauионных файлов, а также формат меток, записываемых на ленry *. " * t t *. "" " t t * " * " t t t t " * " * t Н. ". t t t '" t t t '" t t "., t " " t t t t t ЛО!l::альные napaиe'l'pbl t *1" t... * "'-А"" *''' 1ft 1ft ". '. tft..f *.. t ,. 1ft'. ft. Н.... .Н' t НН." НИ OI:<;J "podunk Uлiv." t ИN.R ОРТ'.i!l.низа.ции (ДJ!Я О'l.четов) 213 r лаво 10. Резервное копировоне 
mai.l. to .. amanda" dumpuser "amanda" runtapes 1 tpoha.nger "ch9ma.nual" tapedev "/dеv/rmt./ОЬл" разделенный запятЫЪ4И СПИСОХ операТОрО5 узла ПОЛЬSО5а'I'eI1Ь. ОТ и.weни KO'I'OpOl'O создаютСА архивы число лен'I'. задеЙС'1'вуеыых при ОДНОЫ запуске проl'рёUa4Ы amdump сценарий управления УС'l.'pОЙС".l'80М J1ЛЯ сыены лен'1' (предоставляется самой систewoй Атапда) исnользуеl40е леН'!l'очное УС'l.'pОЙСТ:ВО (без перемо'r)(И) labelstr ......Роduлk [09] 109) .$" реrулярное r.ыражен.ие. определЯJaцее наЗ5ания ыеток; ему долины соответствовать все лен'rbl infofile "/usr / аdIn/ amanda/podunk/ curinfO" logdlr "'/usr/аdm/аrnапdа/роduпk"' lлdехdir "/usr/adт/amanda/podunk/lndex" lC:а'l.'8лоr базы данных JCaталоr журНaJIbНЫХ фaй.nОВ индекснЫЙ каталоr Amanda СЧlПblВает метку с каждоro носителя и не применяет ленту I если ее метка не совпадает с реryлярным выражением. заданным в параметре labelstr. Следовательно, все леlПЫ должны быть помечены с помощью проrpаммы amlabel до Toro, как они будyr использованы для записи резервных копий. Метки не MOryr содержать пробельныx символов. Определение схемы наименоваиия зависит от системноro администратора. Например, вместо звездочки в реryлярном выражении можио yкaJblBaтL используемый aлroритм сжатия иЛИ тип компьютера, на котором выполняется архивирование. В рассматриваемом примере ленты будyr иметь метки PodunkOI. Podunk02 и т.д. Если попытаться повторно использоваТЬ ленты до Toro, как булет завершен нормальный uикл роТaIlИи, сервер откажется их принять. Такая мера служит зашитои от случайной перезаписи лент. Параметры схемы резервноro копирования (как часто должиа использо- ваться та или иная лента, как часто нужно создавать архив уровня О ПJ1Я каждой файлоиой системы. коrда повышать уровень архива и Т.Д.) определены во второй секиии файла amanda.conr: Н If' НIlН' Н.,.. НН... 1Н. 111Н. 'Н '" I It 'Н. I 1 Н '" Нtl' "'" I I * Локальные параwетры ННННН'" ftl' H'III HIH Jt I 111111 I ti I I "Н.НН." ii Нii ti 1Н 1 I dumpcycle 4 weeks bumpda ys 2 bumpslze 20 мь bumpmult 2 runspercycle 20 tapecycle 25 tapes . число дней в нормальном цикле арХИ5ироваНИR t ыинимальное число дней для каждоrо уровня t WИНИJ.Iальный размер (ЛОРОl"') J1ЛЯ перехода . С уроиня 1 на уровень 2 t поро!' >= bumpsize .. bumpmult.... (levell) t число запусков nporpablblbl amdump в одном ЦИК.JIе; t в данном случае 20 "'"' 4 недели .. 5 запусков в t неделю (только в будки) t число uиклически меняеыых леит; 1= в данном случае 25 ,. .q недели '" 5 эапуС1ШИ в t иеде.пю (только в будни) п.Iшс еще а;:есколько лен'l.' t на случай ошибо1'::. чтобы запускаеwая в Э'l'ой .. СИ"1'уации nporpalo4Ыa amflush не затирала леl-!'I'Ы. I заполненные 8 начале I1реды.дущеrо цикла 214 Чость 1. Ооювы ОД/IAИНИСТРИРОВОНИА 
в системе Amanda архивированне не план-ируется cтporo по датам. Вместо этоrо системе предоставляется обшая информauия о том, какая степень избьrrочности допустима. ПОСJте этоro Amanda пытается распределить работу на весь uикл. чтобы леиты использовались эффективно и была обеспечена их защита. Amanda кажлую ночь пересчитывает rpафик работ на ОСН08аНИII полученной в реальном времени инфОрМ3UИИ о каждой клнентской файловой системе. Точную схему архивирования невозможно предуraлать заранее. Цикл архи6ирования  ЭТО период времени, за который архнвы уровня О будут созданы как минимум один раз ШIЯ каждой файловой системы. Чем дольше uикл, тем более rибко можно осушествnЯ1Ъ планирование, но вместе с тем увеличивается число лент. которые нужно будет читать при вoccтaнOB пении данных. При иаличИи свободных лент Аmалdа может делать архивы нyneвoro уровня Чаше, чем Toro требует периодичность иикла. Amanda предполаrает. что архивы будут создаваться каждый лень. Если это не так, задайте в параметре rUn5percycle Ч1tсло лней в uшше. В рассматриваемом примере архнвы формируются только по булням, что разумно, если КТOTO должен вручную менять ленты. Дpyroe препполож.ение, делаемое по умолчанию. заключается в том, что одна лента пишется за ОllИн день (или за ошш "прохоп", COrJlaCHO терминолоrии Amanda). Если имеется уютап;чик или ленточный Маraзин, за один paJ может обрабатываться несколько лент. В этом с.Т'Iучае требуется допопнитеЛЫ-fая КОНфИI)-Рauия. Параметр tapecycle сообщает, сколько лент участвует в Шlкле. MHHI1 мальное значение  это IIИСJТО проходов за один uикл, умноженное на число лент, используемых при одном проходе, плюс еше несколько лент на случай возникновения проблем. ЕСJ1И число лент хотя бы в .nвa раза превыает миниматтьное значение, то для каждой файловой системы будут созданы по крайней мере два архива нулевоrо уровня. ПороrО8ые пара метры позволяют контролировать. насколько БОЛЬШIIМ может стать инкрементный архив. прежле чем ДП1впdа переЙдет На СJJСЛУlOшиit уровень. Эти пара метры вычисЛЯЮтся по определенным фОрМУ..'IaМ. поэтому ШIя надежности лучше воспользоваться опцией ЬUПlрsize nporpaMMbI 3П1аdшill. Например, с учетом приведенных выше пара метров проrpзмма сообщит такие данные (прелполarается, что конфиryраиИОННЫf файлы хранятся в кзталоrе роduпk): , a.m.acbll..1n podunk buшpеizе Ctlrrent Ьитр раrаmetеrз:: bumpsize 20480 КВ  шiпimum sav1.nqs (t:hresholdl [.0 Ьитр level 1 > bumpdays 2  minimum da.Y5 a.t each level bumpmult 2  t.hreshold >; bumpsi:l.e .. (levell) ....bumpmult. Bump > То Threshold 1 > 2 2О480 кв 2 > 3 40960 кв 3 > 4 81920 кв 4 5 163В40 кв 5 > 6 3276ВО кв 6 7 655360 кв 7 В 1310720 кв В > 9 2621440 кв После началыЮrо уровня О AmaJ1da наЧJ1нает делать архивы УРО8НЯ 1. Korna размер архива Iro урО8НЯ nревышает 20 Мбайт. осушествляется r пОва I О Резервное КОПИРОБоне 215 
"ереХОJl на уровень 2. Если арХIIВ BToporo уровня переХОJlИТ рубеж в 40 Мбайт. Amanda перемешаеrся на уровень 3 и Т.П Необхолимо правильно ynраRЛЯТЪ этими параметрвми. чтобы соrласовать требуемую степень избыточности с ДОПУС111МОЙ стоимостью лент. СЛ IIШКQМ большая избьrrоl{НОСТЪ приведет к ВЫСОКОЙ СТОИМОСТИ эксплуаr8UИИ. а слишком маленькая  к ВОЗМОЖНЫМ потерям данных. Остальная часть файла amanda.conr nосвяшенз параметрам, определяю шим степень использования cereBoro канала, ueHтpa.rlbHoro проuессора и ДИСКОВ, а таюке тип ленточноrо устройства, на которое будет осуществляться запись, и ТИПЫ архивируемых клиентских разделов. '11 Н, 1 tt 1Н, Ifl' I l' "Н ff tt I '" t 1 I 1""" '" l' 1,," 11 I tI t! I 1 I I 1111 , Параble'l'рЫ использоиания ресурсоВ '''ftl '''1'' tI tllI .".,. 'Н'''' '" "11 """Н" "11 tI 11Н"" I 111 I tapetype EXB8500 inparallel 4 t тип лен'l'Ы (с.... ниже) t w.вксиwальное ЧИСЛО процессов а.рхивироваНИFJ, . lI:O'I'Op.ыe uoryT f)blTb ::Jапущены ОДН08реweНt\о .. wаксиwа.льtlЫЙ сетеаой трафик .иля СИС'l'еwы Amanda . число секунд, н течение которых WОЖНО ждать, It пока f)удет ПРО8едена. оцеНl<:а размеров архивов , для каждой фаJ1080Й сис'rеuы netussge 600 КЬре etimeout. 300 holdin9di5k hdl { comment "main holdln9 disk"' directory "fdumps/amsnda" uзе 8196 мь ТОЧJ<а NОНТИFювания буферноrо диска сколько npOCтpaHC'l'Ba на нем t.4ожно ИСЛОЛЬЗО8ать define t.spetype EXB8500 ( comment "ЕхаЬусе EXB8500 dri ve оп decent machne" length 4200 тЬус.ев flernsrk 48 kbyr.es speed -474 kbyr.es Зпесь показана КОНфИI)-раuия системы Amanda ШIЯ nенточноro Haкoт1 теля Exabyt.e 8500. Параметры типа ленты чрезвычайно важны и никоrда не ДОЛЖНЫ подстaRЛЯТЬСЯ Hayran. Если имеюшееся в системе устройство резервиоrо копирования не указано в файле amallda.conf. входяшем в lIИстрибyrив Amanda, можно попробовать найти ero в файле dосs{fдРЕПРЕS или по адресу http://www .сs.соlumы_еdu//sdоsslсk//mалdаa Вы можете таКЖf запросить нужную конфитураuию в одной из телекон ференциЙ, посвященных системе Amarlda. Если ничеrо не подоЩ т 1О. восполь зуйтесъ проrpаммой tllpet)'»e. вхопяшей в комплект поставки. Она определяет корректные параметры накопителя, заполняя '1eHl)' б.ТЮками раЗ'\iерО\l 32 Кбзйт. Но к ней нужно прибеrаrь лишь в самом крайнем случае: на некоторых устройствах эта проrpзмма выполняется очень полrо (1 или 211НЯ)! Последними в списке параметров указываются типы архивов. задаюшие. KaKoro рода даниые (например. часто изменяемые. важные, статическ.не) MOryr содержаться в файловых системах. Для каж.п.ой ЮIиентской фаЙЛО80'Й системы полжем быть назначен конкретный пш архива. Определение типа 216 ЧОСТЬ 1. ОСНОВЬ' одминистрирово"и 
таюке содержит информаuию о ТОМ, какой алrоритм сжатия должен применяться к архивируемым даННЫМ. Вот ряд примеров: '1 ",. l' "" 1'1'" '11" 111" l' 1" '" "1" 11.1111 11 ""1111 1111 .1111 . Определения 'l'ипов архивов .1111 111111' 1111" 11' НI" 111"'" 11 11111 I IIlIllftllll. "'11 """ I deflле dumpt.ype compu!!er { соmmелt "partitions оп reasone.bly fas"t. maсhlлеs" соmрrеЗ9 сliелt. faBt priorlty medium def1ne dumptype comproot соmmелt. "root par"t.l..t.ions оп reasonably fast machines" compress client fast prlorit}' low define dumptype nocompuser { соmmелt "partitions ал slow :nachlnes" compress попе priorlty medium def1ne dumptype cloneu5er cornment "раrt.itiопз which зhоuld only get псrеmеп"t.в!.з" compress cllent fast skipincr priorit.y medium dеflле dumptype comphighsamba I cornment. "uзеd for NT зуstеms" program "GNU'!'AR" compres:s server fast. define dumpt.ype dosu5er ( СОПUl\епt. "uзеd for dos раrtlt.iолs that. are a!.ways mounted" pr09ram "GNUTAR" соmрrеЗ5 cll..ent. fазt. Все эти типы предопределены в Amanda. Можно ссыrrаться на них непосрел.ственио или модифиuировать по своему усмотрению, а также создавarь свои собственные типы. В поле сопunепt содержится строка с описанием Toro, ШfЯ чеrо предназначены архивы данноrо типа. Поле compress указывает на то, rле должно производитъся сжатие ДHHЫX: на юшентскоЙ машине. на сервере или ниrл.е. Проrpaмма сжатия «например. СОП1рrсss и;iИ gzip) ЗЭJlатся при инста.,тlЛЯUИИ системы Amallda. Зто поле МОЖС1 принимать следующие значения: I,one, clJ.nt. best, client fast, server best и server fast. По }'\-lOлчанию исполъзуется значение cllent fast. Модификаторы best и fast сообшают о том, как сильно должны сжиматься данные. Они соответств)lОТ опuиям проrpаммы gПр: best и fast. r лова 10. Резервное kопировоние 217 
В нашем примере мы использовали толькО молификатор f as t. В режиме best с:жатие происходит медленнее. а результат ненамното лучше. Поле holdingdls k может иметь нва значения: уез и по. Оно указывает. должен ли буферный ДИСК использоваться для временното хранения архива. эту опцию МОЖНО отключить, если архивируется сам буферный диск По умолчанию установ..'lено значение yes. Поле maxdumps 13.дЗет максимальное число архивов. которые MOJ)'" одновременно создавз1ЪСЯ на К1ТИеmской машине. Значение по умолчанию  1, но ето можно увеличитъ. чтобы ПОВblСИТЬ производительность, если имеется мощный сервер и сетевой канал с хорошей пропускиой способностью. Поле p'!ority указывает на то. насколько важным является архив. 0110 может принимать значения low, medium и hlgh. Второе установлено по умолчанию. Если не хватает лент ШIЯ записи всех запланированных арх'ИВОВ. то низкоприоритетные архипы просто пропускзются- При обнаружении ошибок леНТbl Amanda пытается перенести 8ысокоприоритетные архивы на буферный днск. Если там достаточно места, туда же помещаются и низкоприоритетиые архивы. Мы рекомендуем за каждым приоритетом закрепить свой тип архива. Начальные КаТалоrи ДОЛЖНЫ архивироваться с высок"им приоритетом. Cpeд нии Прl1Оритет ПОllXО1(ИТ для локальных Проrpаммных пакетов (напри"мер, кзталоr /usrf1ocal), а низкий приоритет  для системных файлов, которые ред.ко изменяются. Поле pr-C''lram определяет. какую nporpaMMY арХПЮ1рОВЗНIIЯ следует использовать: dump или gnutar. По умолчанию прннимается первая. и обычно ЭТО лучший выбор. Опuия sk].pfull указывает серверу Amanda на иеобходимостъ пропус тить файлов)lО систему в случае архива уровня о. Ее можно устанавливать, если архивы нулевоrо уровня создаются вне системы Amanda Опuия skl.pincr заставляет сервер Атапdз пропустить все архивы кроме тех, которые имеют нулевой уровень. Ее можно устанавливать в тех конфиryрациях, котда должны создаваться полные архивы. Файл disklist Файл аП1апda.сопr сообщает о том. как создавать архивы. но не ЗiilIает файловые системы. ПОШIежащие архивирован ию. Эта информаuия хранится в файле disklist. Каждо клиентской файловой системе назначается один 113 типов архивов, определенных в файле amапdв.сопr. 1"1" I 1" I 1" "Н I '"'' I I 1" I "Н I "1 НН" tf I I t I I I I I t I t t 1 I 1 I 11 t t t . JUlиент раздел тип арJtИsа  "l'очt<:а ЫОН'].'ИРОl5ания I t Н t I t l' I I I t I I t 1 1'" t I I t Н' 1 I I '" 1Н I tt t I l' 1" t I Н t I Н, t 1 1'" t I t t t t сервер ocean осеап ocean ocean i!lрХИВО8 sdOa S d0 9 sdOd sdOh comproot compuser compuser comphlgh I /usr: /var: /amanda .. NТрвздел лольsователя lorien, СL!онтироваt-!НЫЙ f с помощью сис.l"е....ы Samba на ICо...льютере осеаn осеаn //locien/c$ comphighsamba с: \ t прототип squish ycOt.OdOsO comphigh I I 218 Чость 1. ОСНОВЫ ОДМИНtlСТрИрОВОНИЯ 
squish ycOtOdOs6 comphigh /из!: squish ycOtOdOsJ comph9h /va!: squish ycOtOdOa7 comphi9h /lосаl t клон zamboni cOtOdOsO cloneuser I zamboni сОtОdОsб cloneuser /usr zamboni со tОdОsЗ comproot /уа!: zarnЬoni cOtOdOs7 compuser /lосаl , медленный nк fuzz sdla nocomphigh I fuzz sdlf nocomphigh /local fuzz зdlе nocomphigh /us!: fuzz sdld nocornphi9h /va!: fuzz /dos dosuser /dos Первый столбеu содержйт сетевые имена клиентских компьютеров, разделы которых архивируются. Во втором столбце приведен список дисковых разделов. Можно указывать либо имя устройства, либо точку монтирования. ОбраТJпе внимаНJ.tе иа ТО, что буферный диск сервера архивов (осеап) не упомянут 8 файле disklist. В нашем случае erQ архивировать не нужно. так как он содержит лишь образы архивов, записываемые системо Amanda. Если бы на нем хранились журнальные файлы юm дрyrая важная информа иия, ero следовало бы включить в список. указав в третьем столбuе тип holdirlgdisk. Опuия 5k1pncr (включенная в определение типа clonelJser) подходит для 8рХЩШРОЯ8НИЯ КЛОН08 машиныпрототипа. На нашем узле Ш1Я каждой архтектуры имеется одна машинапрототип. которая клонируется иа друrие машины с аналолfЧНОЙ архитеК1УРОЙ Поскольку кориевые Ра3делы клонов те же, что и у прототипа, мы не тратим ленты на их архивирование каждую ночь. Тем не менее. у каЖдоrо клона есть спои уникальные файлы (например, файлы конфиrypации в каталоre /elc). поэтому ОlIИН раз за UНКЛ архивиро ваиия мы 8се же создаем архив уровня о. В разделе /var на машине zamboBi содержатся почтовые каталоrи полъзователе, вследствие чеrо данН)'ю фай ловую систему необходимо архивировать каждую ночь. На сервере архивов мы установЮlИ проrpaмму smbtar системы Samba, чтобы можно бьuIO создавать резервные копии файловых систем Windows NT В рассматриваемом при мере архивируется диск С машины lorien. Обратите внимание на то, что в файле disklist упомянyr клиент ocean, а не lоriеп. Коrла D)lЯ ДОСl)'па к фаЙЛ080Й системе исполъзуется система Samba клиеmом Amanda должна быть не NТмашина. а UNIХ>машина, на которой раслоло жена проrpамма smbtar. (Раздел /dos машины ruzz не задан подобным образом, так как он всеrла смонтирован и доступ к нему Не осущестRЛЯется посредством Samba.) Amanda различает разделы Samba и обычные точки монтирования (такие как /usr и /dos) по количеству символов косой черты в начале имени: лва у раздела SаП1Ьа и один у точек монтирования. o Информация о си,:теме Samba дана в 2Лаве 26. >Курнальные файлы Для каждоrо архива на сервере Amanda создаются два журнальных файла. Первый называется amdnmp.п, rде п  число дополнительных запусков r ЛОВО 1 О Резервное t<ОПРОВОliие 219 
Amanda с момента создания журиальноrо файла. Этот файл содержит текстовое описание действий, связанных с планированием, которые предпри lUlЛа система Amanda. Второй файл именуется lоg.дата.п, rде дата  это дата создания архива, а п  число архивов, уже созданны:х в тот лень. Отладка После :каждоrо запуска Amanda создает отчет по итоrам резервноrо копирования и посылает ero по электроЮiОЙ почте rлавному оператору. В отчет включается информа1..lМЯ о количестве использованных леит I успешно заархивированных файловых системах и произошедших ошибках. ВОТ пример TaJCoro отчета (он создан на осиова..ним конфиrypаuии, в которой применяется не тот фaй.JJ disklist, '!То показан выше): То: аmaпd8@осе8П Subject: Podunk, univ. AМANDA МA.IL REPORT FOR Sep't.emЬer 1# 1999 These dumps were to t.ape Podunk481 Tonight's dumps should 90 onto 1 t.ape: Podunk82. FAILURE AND STRANGE DUМP 5UММARY: fuzz sd18 lev О FAILED [по estimate or h1.s't.orical data] t8per: FTAL syncpipeget: w: unexpected EOF STATISTIC5 : Total Full Daily Dump Т ime (hrs:miп) 3:02 0:36 0:04 (0:34 start. 1:49 idle) Output Size (теч) 2954.6 2666.8 281. В Orig1.nal Slze (теч) 1<28.1 6292.5 1135.5 Avg Compressed Size (\) 39. В 42.4 25.3 Таре Used (\) 10.5 63.5 1.0 (level:'disks .., ) Fi1еsуstеmз Dumped 18 8 10 (1 :8 2:2) Avg Оиrnр Rate (k/s) 105.3 124.5 43.4 AV9 Тр Write Ra1:.e (k/s) 1254.2 1251. В 127 6.9 NOTES planner: Jl.ddiпg new disk 2.ambOn1.:cOtOdOs7. driver: W.ARNING: /dumps/amanda: 8550400 КВ requested# Ьис. only 1035113 КВ available. p18nner: Forcing fu11 dump о! squishy:cOt.OdOsO as drec't.ed. planner: Request to fu.lz timed out. p18nner: Iпсrеmeпt.аl of осеап: sdOh bumped со leve1 2. driver: 901пч nto degraded mode Ьесаизе of r:ape error. Одна из самых распространенных проблем заключаетсЯ в том, что иноrда Amanda не может записать архив на ленту. Это может CJ1)'\fИТЬСЯ, если в накопитель встаВJПь неправильную ленту или если 8 проuессе заmiси возникла ошибка ленты (в показанном при:мере это произоuто с клиентом fuzz). В любом случае Amanda записывает резерпные копии иа б)офернblЙ диск. Чтобы сбросить буферные архипы на ленl)', вставьте в накопитель правилънyIO ленту и запустите проrpaмму amnush. 220 ЧОСТЬ I ОСНОВЫ одминистрироваlИЯ 
Для диаrностики дрyrих проблем нужно просмотреть либо журнальные файлы на сервере, либо файлы отладки на клиенте. Местоположение журнальных файлов указано в файле amanda.conf. Файлы отnааки находятся в каталоrе /tmp/amanda. если система Am8nda компилировалвсь с опцией withd.bugging (она задана по умолчанию). Приве.nенное выше почтовое сообщеJше создается на основании жур налъНЫХ файлов. Вот текст файла amdump.п: SETTING UP FOR ЕSТIМЛТЕS... duП\реr: p.1d 18199 execut.able dumper versiOll 2.4.1р1, uslnq port 791 driver: зtаrtеd dumpersetup est.lmates: осе.ап:sdОd: СОlМIa.лd О. opticтs: 1авс' 1еуе1 1 пехt. 1eye10 6 1еуе1 d..ays 16 gеttiпg est:imates O (200231 1 (2735) 1 (1) Z.i!rri>опi:сОt.ОdОsО 1еу 1 skipped due to skiрiпсr f18g p1anner: SKIPPED Z8mbопi cOtOdOsO 1 {skiр1псr] GETTING ЕSТIМЛТЕS... qot re!iu1ts for hos't. осе8П d!.sk Sd.08: > 53797К, 1 > 1797К, 1 > 1K got results fOJ: h08t. осе8П dsk sdOd; > 19695К, 1 > 269БК. 1 > 1K ANALYZING ESTII-'.АТЕ's... ропdеriпg осеа.п: sdOd... next leve10 б 185t leve1 1 (поt. due for а. fu11 dump, picknq 8П lncr 1еуе1)  Ниже показан файл log.19990901.0. START р1аппеr date 19990901 START driver date 19990901 INFO p18nner Аddiпg new disk depot:dsk/dl. SUCCESS p18nner zamboni cOtOdOsO 1 (skipped: sk:lplncr] W1\RNING driver WA.RNING: /dumps/8manda: 8550400 кв requested. Ьис. only 1035113 КВ ava1Bble_ START taper dаtезt.аmр 19990901 1аЬеl Podunk481 tape О FAIL planner .t:uzz sd1i!1 О (по estimate or hstoric:a.1 d8t8] STATS driver st.a.rtup time 2019.4515 SUCCESS dur.per ос:еan зdО8 О [зес 418.311 kb 25088 )ере 59.97 ori9kЬ 58081} SUCCESS durnper осеап sdOd 1 [зее 15.8157 kЬ 800 itps 50.42 ori9kb 2719] SUCCESS t.aper осе8П Sd08 О [вес 53.366 kЬ 25088 kps 474.612 (wr: wпtеs 2 rdwalt 0.000 wrwait 0.032 .t:1ernark 38.332)] StJCCESS taper осе8Л sdOd 1 [зес 6.345 kb 800 kps 133.3 {wr: ....rites 1 rdwait 1.470 wrwa.:!..t 0.356 fi1emark 2.631)] STRANGE dumper осеап sdOh 1 [вес 82.435 k.b 33.4 kp!l 0.4 origkb 155.0] aend.b8ckup: start [осеiilп:sdОh level 1 datestamp 19990901] I DUMP: Date о! this level 1 dump: WeC1 Sep 01 23:47:54 1999 I DUMP: Dar.e of last 1eve1 О dump: Моп Aug 30 23:43:23 1999 1 DUMP: Dumрiпg /dev/rsdOh (/ama.nda) to atand8rd output I DUMP: mвррiП9 (Раа!! 1) [re9u18r fi!.es] I DUMP: maррiпg (Раsз 11) [directories] ? DUMP: ('Ihis should nос. happen) bread from /dev/rsdOh [block 64]: count'""8192, 90t"1 DUMP: est.imated 38 blocks (19КВ) оп 0.00 tape(s). DUMP: dumРl.пg (РаЗ5 1111 [directories] r I10ВО 10. Резервное КопировоН....е 221 
DUMP: dumping (Разs IV) (re9ular fi1es) DUMP: 1eve1 1 dump оп Wed Sep 01 23:47:5-4 1999 DUMP: 310 blocks (l55КВ) оп 1 volume I DUMP: DUМP IS DONE sendbackup: slze 158120 send.backup: end Каждая строка SUCCESS durnper означает, что архив бьш записаli в буферный llИск, а строка SUCCESS taper  что архив был помещен на ленту. Строка STRANGE durnper rOBopm о том, что система Amanda обнаружила ошибку при выполнении команды dump. В случае ошибки An1anda сохраняет результаты работы в журнальном файле (псрел строками, свиде телЬС'Тв)lОШИМИ об ошибке, ставится знак вопроса), а также ВI01ючает их в почтовое резюме. Еше онна проблема, с которой часто сталкивается Amanda. заЮlючастся в невозможнОСТИ вычислить размер архива для ютиентской файловой системы В этой сиТ)'аuии нужно в первую очередь проверltть лостуПliOСТЬ ютиеlrrа по сети и праВIfЛЬНОСТЪ конфиrypИРОВ8НИЯ соответствующей клиентскоЙ КШIIН! Amanda. Можно Таюке просмотреть файлы отладки в каталоrе /tmр/аПШlldа на клиентском К01l.ffiьютере Все клиентские проrpаммы Amanda при каждоМ своем lапуске записывают в этот каталоr отладочную информаuию. KorlIa Amanda Ае может оценить размер архива, просмотрите оттlДОЧИЫJt файл проrpзммы sendsize. Эта проrpамма анализирует результаты работы команды dump и ишет ctpoJ..-У, в которой сообшается о размере. Если строка не найдена, Атапdз выдает сообщение [па estirnate). ВОТ пример файла sendsize.debug: sendsize: getting size via dump for сОtОdОsЗ leve1 1 sends.!.ze: running "/usr/ccs/bin/dump Isf 100000  Idеv/dsк/сОt.ОdОsЗ" DUMP: Date of this 1evel 1 dump: Wed Sep 01 21:59:36 1999 DUМP: Date of 1ast leve1 О dump: Моп 8ич 30 05:08:33 1999 DUMP: Dumping /dev/dsk/cOtDdOs3 (/var) to standard out.put: DUМP: mаррiлg (Pas5 1) [сечи1ас files] DUМP: mappin9 (Pass 11) [drecr.ories] DUМP: mapping (P8SS 11) (directories] DUМP: mаррiлg (Pas5 11) [direcr.or1es) DUMP: estimated 1150 Ыосkз оп О.ОО tape(s). DUMP: mаррiП9 {Раsз 111) [drectories] ca1cu1atin9 for аmлаmе 'cOtOdOsO 1. dirnarne '/local' sendsize: get.ting size via dump for cOt()dOs7 level О sendsize: running "'usr/ccs/bin/durnp Osf 100000  /dev/dsk/cOtOdOs7" DUMP: Саппос. open/stat /dev/rd.sk/cOtOdOs7. Permission denied (по size 1ine match in above dump output) в дaН1-l0M случае очевидно, что необходимо изменить права доступа к файлу /dev/rdsk/cOtOdOs7. Если проблему не удается разрешить nyrем просмотра журнальных фiйлов или документации" системе Amallda, обратитсь к архивам телеконференuиЙ Amanda по следуюшим адресам: httр://www.еgroups.соm/liSI/аmалdа-usеrs httр://www.еgrоuрs.соm/lis!/аmалdа -hackers 222 Часть 1. Основы адМиНистр.....роВQНиR 
Восстановление файла из резервной копии Для 8QсстаНQалениЯ архивов Amanda необходимо воспользоваться про rpaММ3МИ amadmin и amrestore Рассмотрим конкретный пример. Предположим, имеется пользователь, который удалил uелый каталоr и хочет восстановить ето. ПерВЫЙ шаr заключается в нахождении лент на КОТорЫХ бьU1 заархивировзн каталоr. Для ЗТQrQ нужна следующая информаuия: имя компьютера и раздела, rде располаraлся каталоr полное nyrеоое имя каталоra; Дата удаления каталоrа итi ero повреждения: . пата, Korna каталоr бьm последний раз МDДИфИUИРОван. Даты определяют диапазон леш, содержащих каталоr в ТОМ состоянии. в котором нам может понадобиться ето восстановить. Попустим. что требуется восстановить каТ8Лоr в разделе /lосаl из компьютере zamboni; он был модифицнрован 5ro октября и удален 12ro октября. Проrpамма amadmi" определит, какие ленты НУ'..кны: " Ul&dmi.n podunk rlnd zamboni cOtOdOs7 date host diзk lv tape 2000Ol26 zamboni cOtOdOs1 1 Podunk 195 2000Ol25 zamЬoni cOtOdOs1 1 Podunk194 20QООl2З zamboni cOtOd0151 О Pedunk192 2000OI22 zamboni cOtOdOs1 1 Podunk 191 file 33 41 9 32 status ОК ОК ОК ОК 199910lЗ zambon:l сОtОdОз1 1 Podunk685 38 ОК 19991012 zarnboni cOtOdOs7 1 Роduпkб84 31 ОК 1999101l zаmbолi cOtOdOs1 1 Роduпkб8З 39 ОК 19991010 z8mboni cOtOdOs7 1 Роdunkб82 12 ОК 199910O9 z8mboni cOtOdOs1 1 Роduпkб81 44 ОК 199910O8 zamboni cOtOdOs1 1 Podunk680 88 ОК 199910O1 zambonl cOtOd081 1 Podunk518 35 ОК 199910O6 zarnЬoni cOtOdOs7 1 Podunk511 33 оК 199910O5 zamboni cOtOdOs7 1 Podunk516 33 ОК 199910O4 zamboni cOtOdOs7 1 Podunk515 51 ОК 199910O3 zamboni cOtDdOs1 1 Podunk514 16 ОК 199910O2 zambолi cOtOdOs1 1 Podunk513 19 оК 199910Ol zambon i cOtOdOs1 1 Podunk512 36 ОК 1999O930 zambonl cOtOdOs1 1 Podunk511 15 ОК 1999O929 zamboni cOtOdOs7 1 Podunk510 18 ОК 1999O928 zamboni cOtOdO:51 О Podunk509 99 ОК Опuия find заставляет проrpамму amadrnin просмотреть каждЫЙ ЖурНз"''1Ь ный файл, перечиспснный в файле КОНфИI)-Раци" amanda.conf. в поисках маШИНbI и раздела, которые указаны в качестве apryMeHTon. Чтобы 8OCCTa НОВИТЬ искомый каталоr. неоБХОдима лента Podunk509 с архивом УРОВIIЯ О И лента Podunk683 с архивом уровня 1, созданным за день до удаления каталоra. Для архива уровня I теоретичесЮl МОЖНО взять любую ленТ)', записанную после пятоrо числа. так как пользователь не модифиuировз"''1 каталоr между 5M и I2M октября. Но лучше все же воспользоваться самой последней лентой, ведь воспоминания пользователей MOryr быть такими ненадежными! Далее необходимо вызвать проrpамму amrestore. которая выполнит собственно ВQCстановлеIOiе данных. Начнем с ленты Podunk509. так как на 223 r лава 1 о. Резервное копировоние 
ней находитСЯ архив нулевоrо уровия. После вставки ленты в Н8ХопитeJ!Ь выпоЛНИМ команду , &IU'..tor. p /dev/rmt/Obn zambonl cOtOdO.7 I r..tor. l!'  которая отыщет нужную запись и начнет ИНieраКiИВНЫЙ сеанс 8осстаНОRЛе ния. Проrpамма amrestore ПрОСМ8Тривает кажлый образ архива на ленте, пока Не иаходит нужный. поспе чеrо направляет ЭТОТ архив в стандартный 8ЫХОДИОЙ поток. передаваемый команде restore. Палее npouecc осуществляется так, как было описано в параrpaфе 10.4. Завершив извлечение архив", уровня О, повторяем всю npoueдypy для архИТla уровня 1. Проrpамма amres!ore распознает нужный архив блаrОllaря тому, ЧТО система Amanda помещает перед каждым архивом заrоловок размером 32 Кбайт, в котором записано, откуда поступил этот архив и какими средствами он был сжат. Если примеиюlОСЬ сжаrnе, проrpамма автоматически пропускает образ архива через модуль декомпрессии. Просмо11' всех затоловков может занять мноrо времени. так как не исклюqено, что придется пройти через сотни файловых систем. Но из результатов работы nporpaMMbl amadmln мы уже выяснили, что нужно искать, поэтому Не наао застаВ11ЯТЬ проrpaмму amrestore выполнять ту же самую работу ПОВТорНО. Можно просто ввести команду т! С.С, чтобы перемотать ленту, прежде чем запускать nporpaммy amrestore. Команда restore должна выполняться на компьютере с той же 8рхитек турой и оперauионной системой, rде был создан исходный архнв. Аmалdа ничеro не знает о внутреннем содержимом архива и не может защИтНТЬ пользователя от межnлатформенных несовместимостей. Если журнальные файлы Amanda были удалены, всеrД8 МОЖНО просмот' реть наклейки на лентах, чтобы опpenс.лить их содержимое. Но что еспи будет удалена сама проrpамма amrestore'! Не пyrаАтесь: эта nporpaммa делает не более, qeM знакомая нам проrpамма dd. Ecmt просмотреть зarоловок арХ1та, то можно обнаружить в нем инструкnии по ero восстаноалению. К прнмеру, вот текст зarОЛОВК8, полученный с ленты, содержашей архив уровня О; t ..t r /d.v/raat/Obn r.r 99 I d<I 1r-/d.v/raat/Obn Ь.-З2k count-l AМANDA : FILE 19990928 z8rnboni cOtOdOsl lev О comp .92- То re.store. p08itlon 1:.8ре Bt start о! file 8nd run: dd if..<t.ape> ы!l.з2kk skip"1 I qzсиt. I restore ...!  1 +0 records in 1 +0 records out Существующие альтернативы: друrие открытые пакеты реэервноrо копирования В Iпtеmеt доступно нескОЛЬКО дрyrиx бесплатных паКетов резервноrо копирования. Персчислим некоторые из них: . BURT  yrилитв резсрВНОro копирования и восстановления. написанная нв Tcl(Тl< 8.0. . СО Backup Linux  8ВiOмаТИJироваиная утилита, прелназиаченная ДЛJl KOMnaUW1CKOB CDR. . hostdump.sh  быстрая утилита резервноrо копирования. 224 Чаcrь 1. OCt-IОВbI одминиcrРиРОВQМИR 
KBackup  yrишпа резервноro копирования с rрафичесk.М интерфейсом. обладаюшая рядом интересных возможностей. star  более быстрая версия nporpaMMbl tar Имеет рял дополнительных особенностей, например, :может автоматически перестаВJ'IЯТЬ байты. Не разрушает существующи.е файлы при восстановлении. 10.9. Коммерческие системы резервноro копирования Нам бы всем хотелось. чтобы UNIX была единственной операшtOнноЙ систеМой в мире, но, к сожалеmrю, это не так. Анапизируя раJJlнчные коммерчеСk.е системы резервноrо копирования. необхолимо учесть их способность работать с лрyrими операUИОНllЫМИ системами. Большинство современных продуктов позволяет вКJТЮчать рабочие стан1IИИ \\'indo'v 11 Macintosh в схему резервноrо хоm.,рования. осушеСТR.1Jяемоrо в UNIX. Зашищать от сбоев нужно также портативные Kor.mbIoтepbI пользователей и дрyrие компьютеры. не постоянно присyrствуюшие в сети. Коммерческая проrpимма лолжна правильно обрабатъmать снтуаUIfИ. Korna аРХИRИРУЮТСЯ идентичные фаЙJТbr с каждоrо ноутбука. В конце кониов. сколько резервных копии СОП1П1апd.соП1 ваМ нужно? Поскольку система Amanda идеально попходит 1IЛЯ наши"< потребностеи. мы не имеем особоrо опыта раБоты1 с п.рyrими ПрОД}'k'Тами. Мы опроси.:lИ нескоЛЬКИх знакомых из разных коммерчесk.Х орrзнизаuиЙ на предмет их впечатлений ОТ систем. которыми пользуются они. Ниже преДСТ8влены их комментарии. ADSMfТSM Этот продукт бьU1 разработан компанией IBM и впоследствии приобретен фирмой Tivoli. Сеrодня он носит название Tivoli SlOrage Manager ITSM  менеджер систем хранения компании Tivo1i) и представляет собои систему управления даННЬThIИ, подnерживаюшую также резервное копирование. Дo полнителъную информаuию можно получить на WеЬуэле www.tivoli.com. Достоинства: ПОДl1ержка со стороны I В М; удачная uеновая политика; низхий npoueHT сбоев; использование дисковых кэшбуферов. что уд.обно при работе r.; М.:IЛен ными Юlиентами; работа с Кllиентами Windows; великолепная документация (за отдельную цену). Недостатки: . плохой rpафический интерфейс; каЖдые лва фаЙла занимают I Кба'ЙТ в базе данных; . СЛОЖJ-10СТЬ постоянно возрастает. Veritas КомпанИJl \r'eritas продает системы резерпноrо копирования .n.тIЯ разлwrных платформ. ИНфОрМRUию о НИХ можно получить на WеЬузле www.verit8S.com. r лова 1 о. Резервое копирование 225 
Достоинства: лриятньm rpафическиЙ интерфейс; прямое взаимодействие с файлоными серверами Network АррНanсе: удобная инсталлЯ1IИЯ в UNIX; возможность записи лент в формате gnutar: централизованная база данных, но поддерживается ТОЛЬКО ра.спрелелеllllOС резервное коmtрование. Недостатки; ряд проrpамъrных ошибок. отсутствие поддержки DНСРклиентов (возможно. к настоящему M()MHТY ситуация изменилась); неудачная ценовая политика; неДOCiаточная поддержка NT систем. Legata Система резервноrо копирования Legato продается непосрелстВ\:нно КОJ.шанией LegalO, но также ПОСТВШJяется ведущими компьютерными произ водителями. например Compaq. Дополнительную инфОРМ8UИЮ можно полу Чltть на WеЬузле www.lega[o.com. Достоинства: . приятный rpафический интерфейс; очень разумная цена: автоматическая рассылка почтовых сообшеНJ1Й попьзователя-м с у8С':ЮМ лениеМ о статусе резервноrо копирования. Недостатки: некоторые проблемы с поврежденным инде.ксным файлом; не рекомендуется использовать, коrда число клиентов превышает 100; . отсутствие поддержки reтeporeHHbIX клиентов (несмотря на рекламные заЯRJlения); невозможность работы с ....l'ynными файловыми системам.и ПЛохая техническая поддержка. Прочие проrраммы Уже упомннавшийся Кертнс Пр(:стон. автор КlIltПI ПО резерНlЮМ КОПJlроваliИЮ. вышедшеЙ в издательстве O'Reilly. ведет очень ПОJlЗIIУI,,) WеЬстраничку, посвяшенную вопросам резервноrо копирования (nporpaM1.MM зерКW1ЫlOrо дублнрования ДИСКОВ, работе с файловымн системами, Уllалн НОМУ резервному копнрованию " тл.). Помимо прочей информаЦltи Т;)},,1 размешена большая таблиuа. в которой перечислены все известные nporpiIf,l мы и системы резервноrо копирования. Мы рекомеНдуем посетить эту страничку по адресу www.backupcentral.com Jf прочитать указанную Нllже книry. 10.10. Рекомендуемая литература Pres!On, CUr1is W. Uпi. Backtlp alld Reco>V!ry. O'Reilly, 1999. 226 Чость I ОСНОВЫ ОДМИНИСТрkроВОНИR 
7 1 Система Syslog и журнальные файлы q W6 . ' .  ..  r;J r7  r/  6 rL  L  d'& f!ii  lfj 1 il   VL  IJI  { f# (р V   Система учета, ядро, раЗЛlIчные }ТИ':НПЫ  осе )1"11 проrpзммы ВЬШdlOТ Jl.al-lIlbIС. которые реrистрир юте Я и. " t-::ОНllt: КOIЩQВ. 110lЫД31ОТ IIЗ дa:HKO IIC бе".Jра-1мерные д.11СЮI. "Срок 1JQ;,СlIЮIf сл}"',кбы" БОJlЬUlIIНCiИ3 даННЫХ OI-рани чен. поэтому II\: НЖI-Ю r'р"ПИрOllать. VШlковывап.. аРХI1ВИРОвать If. Hi1KOIell. выбрасывать. 11.1. Методики оброботки журнольных файлов у КажlЮ11 opralilB3.1L1-1I1 спои 11РIIIIШIПЫ раБоIы с жрНaJ1ЫIЫМIt фаЙлами. ВОТ некоторые обшеПРИI-lЯТЫС схемы" нс'\!сллеЮ-IОС \ничтожеНl1е всел реrИСТР3ШlO11ноА информаUИJ1. сброс )fI,:ypHa.JlbIlbIX ф.Нi:IOВ в J1схо.шюе состояние черСl определенные промежyrки времеlШ: ПОRторное ИСПОЛЬЗ0в,ш-ие ж}рна..'IЫlhlХ фdJiЛQВ (llЗНl-lые хранятся в теченне фиксJtрОR3нноrо пеРlюда иреМСIШ): сжатие .з:знны и clр\:IIИlfрованис ИХ I-Jа :iСIПУ lt:il1 rlOСТОЯIНlые tlOL"IIТСШI ДР} по: [НПОВ. IIраRШIЫIЫl1 ныоор L-траТt:rНИ ЫflИОIТ ОТ TOro. C,,-О:IЬКО 1,lмеТсЯ дl1СКШЮЙ паМЯТII 11 ка....ос шш\tаllllё' YAe'JteTCSI HOllpOCi(lM I.iНШIТЫ. lldже те IIOJlЬЗОВ3ТС.'НI. у КОТОРЫХ .'lШ:КОRоrn простр.НlL.rв.1 1i "]ОЫ rKC. llОJJЖНЫ УЧIfТЫRЗТЬ вероятиость НСllрllt\.шс\ю,'о раlр3СТiШI'Я фаЙЛОВ реП1СТрашш. Нс i3ЮIСlfМО ОТ 8ыбр&t1111ОИ (",\смы Ilроuедру упр<tн.,lсtIИЯ журнапыrЫМJ1 фdЙЛ3МII неОО,\ОДltМО авто\tаПIJИРОВ.iIТl. с ПОМОШhlO демона croll. Общие СRСДСIIЮI об .JTOM ACMOlle даны в Пlане 9. Уничтожение журнальных файлов Не рекоменлу'см YllilJIS1Tb НсЮ реrш,:траЦIIOllt-l1O ItНфОрМ.IШIЮ. Орri1lНИ]3 UIНI. l"Талt.::И8юОШIIСС)1 с проБJlеММII беJоllзсtlОCiИ. Rcerni.l MOI)'T обнарV'.f\J1ТЬ rлово 11. Система Syslog и .журнопа.ные фойлы 227 
в учетных данных и журнальных файлах важные доказательства И,",lевlliИХ место DЗJIOМО8. Кроме Toro. журнальные файлы весьма полезны как способ приftllсчения ВНJ1мання адМИНlIстратора к проблемам, ВОJНИК3IОШИМ в aml.l ратных и nporpaMMHbIX cpeдcТВd.X. В обшем случае прн налllЧlf1.l OOCT3TO'IIIOI u объема Аисковоrо пространства паЮ-lые следует "раиить как МlIНИМ}'М месЯU, а затем уничтожать На np3KTIIKC именно столько премени может УltТН ШI ВЬНIснение Toro, что в орrанизаuии завелся хакер и нужно просмотреть фаi1J1Ы реrистраuии. ЕС!1Н требуется сооершить возврат в более далекое прошло. можно восстановить старые файлы с архивных лент. Некоторые администраторы позволяют журнальным файлам р8ЗрПСТ8ТЬС до тех пор. пока их размер не HaqHeT вызывать раздражение, после чеrо фаЙлы обну"lЯЮТСЯ. Это. конечно. лучше, чем 800бшс не хранить реп",стра uионные даНllые, но такой t.lетод не rарантирует. что элементы журНj}lIJноrCl файла сохранятся в течение кaKoroTo опрсделенноrо промежутка Bpt:MCIIII Кроме Toro. срепний обьем J1спользуемоЙ писконоfТ памяти при TaKOII "стратепfИ" r.,южет быть выше, чем npl1 друrих методах pe111CтpaUHJ1. Повторное использование журнальных файпов Мноте фирмы не аРХJ1ВИРУЮТ файлы реrистраUИJI на ленту. а ежеднешю сохраняют реПlстраuионную информаuию на писке. ItHOrдa в упаковш-IНОМ виде. Эти файлы хранятся }I, течение опре.nеленноrо перtюда bpeYCHI-I. а затем упалЯЮТСtI. Ес.']и л.иСК080ro пространства достаточно, то :удобнее .пержать журнальныe фа'Йпы внеупакованном виде, чтобы в них можно было быстро ПРОВО1lИТЬ поиск с помоUIЪЮ команды grep. В нашей орrанизашfИ мы вЫДеляем под файлы реrистраuии раздел ДIIСка (fvarflog) на uентраJIЬНОЙ реПJстраuионной машине. Данные за послеДI-JЮЮ неделю не сжимаются, а ОСТa.J1ЬНая информзuия сжимается с помошыо nporpaMMLI gzip. Один из наиболее распространенных метопон реализаuии этой стратеПIII называется ротация. Ротаuионния система предтюлаrает хранение рсзервнЫ"\ файлов с разбивкой по времени создания: файлы ОДнОllневной ДЗВНОСТlt, двухдневно'Й и т.д. КажпьrЙ ленЬ фай,lы переименовываются. в peJYJ1bT3T(, чеrо более старые Ш\нные СДВИI'::tЮТСЯ В конен ueпоЧ'ки. Если, 11апрНМСр. журналLНЫИ фаtЛ назыиается logfile. то резервные копии MorYT нОСИТЬ ИМЯ loglilc.l, logfilc.2 и т.д. Коrnа R орrанизашlИ хранится недельныn Io::омплtп данных. то последняя копия бу.nет называться lognle. 7. а фаfu1а logfile.8 уже не будет Каждый ДHb дdHtlыe в файле logfile.7 пропадают. так как lIа нх место записываются данные из файла logfile.6. Предположим, что с файлом работают ежедневно, а ero содержимое нужно хранить в течение трех дней. Соответствующая стратеrия poTaЦlIH будет реализована с помошью следуюшеrо сценария: t! /bl.n/sh cd Ivar./loq loqfile.2 loqfi:'e. 3 loqfile.1 lоqf,Йе. 2 logfile logf2:"e.  cat. Ictev/null > logf':e chmod 600 loqfile Для некоторых журнальных файлов большое значение имеет ИНфОрМБUIIЯ о принадлежности. Возможно, понадобится запускать сuенарий ротЗUl-lll 228 Чость I OCI-/ОВbl ОДI!.\иt-tистрирО80ниfl 
средствами демона cron от имени Л8Jlельцз журнальных файлов, а не в качестве тюльзо-вателя root. или побавить в сuенарий комаНдУ chown. В некоторых орraнизаuияx журнальные файлы классифицируются по датам, а не по лоря.аковым номерам. например logfile.tues или logfile.augl6. Такую систему имен HeMHoro труднее реализовать, но усилия окynfПСЯ, еС;JИ необходимость обращаться к старым журнальным файлам ВОJ,НИ1<ает довольно часто. Вот самая простая реалИЗЗllИЯ: mv 1oq.fi1e logfle. 'date +'Y.\m.'d' Теперь с помошыо команды 15 можно бупет выВОJ.[ИТЬ список }f<:УРНа.чьных файлов в хронолоrическом порядкс. Некоторые демонь' все время держат свои журнa.rтъные фаЙЛЫ открытым",. Изза особенностей работы фай..10ВОЙ системы вышеописанный сценарий с такими демонами использовать неЛЬЗЯ: вместо TorQ чтобы направляться во вновь созданный файл loglile. данные реrистраuии начн}т таинственным образом исчезать. Активная ссылка (обрашенне из какоrО!lибо процесса) на исходны и файл позволяет ему оставаться в системе даже после Toro. как бы.1 удален соответствуюший элемеtП ката..'юrа и создан иовЫ" фаЙ11 с 'ПI.КНМ же именем. ФаЙл не исчезает (и lанимаемое ИМ nlfcKoBoe пространство tle используется системой) до тех пор, пока не бупут ЗdКРЫТЫ все укаJываюшие на Hero ССblЛКИ. Для Toro чтобы инсталлировать новыЙ ЖУРН8.rrьныЙ фаЙ1, НУАСНО либо послать демону СНfНRЛ. либо уничтожить и перезаПУСТIIТЪ ero. Вот пример. н котором используется сжатие журнальных фаЙлов и ПОСЬUlается сиrнал демону: '! /bin/9h cd /var /10g mv 109fi1e.2.qz lоgfi1е.З.gz mv logfi1e.l.qz 10gfle.2.9z mv 10qfile l09file.l cat Idev/nu11 > 1ogfz..le kll сиrнаJJ pd gzip logfile.l Проrpамма gzip сжимает фаил loglile.l. вследствие чеrО к нем}' добВ.ilяется расширение gz. В поле сиlНQЛ указывается соответствующий сиrН3!1 .пля nporpaMMbI. 13t1Исывающей данные в журнальный файл; поле pld  это идентифихзтор ее npouecca. СИftlaJI жестко задается в сuенарии. а вот иnентификатор проиесса нужно вычислять ПИН8мичесхи: либо путем чтения спеuиальноrо файла (напрнмер. fetcfsyslog,pid; см. ниже). либо филы"!,уя результаты работы nporpaMMbJ ps В некоторых система'\( имеетсЯ станпартная команда (такая как skill. наПlfсаllная ,А...'Iьбертом Ka'X:L'131IOM (AJben СаllаIЗll). ИЛИ killиll, написанная Вернером А11ьмсберrерОl\f (Wemer АIП1еsЬеrgе,r); обе вхоmп 8 состаВ Red НаО. упрошаюшая ТИПИLIНУЮ цепочку комаl-Ш psgrсрkШ. Каждая nporpaMMa ведет себя в ПШlне репктраuин посвоему Для тoro чтобы определить. какие процедуры нужны в каЖдОЙ конкретной ситуаl111Н. обратитесь к тоЙ rлаве, rne описана та или иная проrpамма (ИЛИ К интерактивному руководству). Во мноrих системах имеется rОТО8ЫЙ Сllенарий ротаuн-и. запускаемый демоиом сrоп. В любом случае лучше пользоватьсЯ стандартными средсm8.\.1'И. Будьте внимательны: в Solaris и HP.LJX таюке есть комзtШa Idпаи ..10 она выполияет совершенно иные действия. Чтобы добиться требуемоro результата. применяйте команду pkiU. fЛОВQ 11 Система Syslog и журнальные фойпы 229 
Особенности работы с журнальными фаЙЛ8Мlot в рЗJ..'1ичиых операинонны\ системах описаны в параrpафе 11.4. Если в cliCTeMe нет модуля ротаuии. советуем воспользоваться Perlcue нарием rotz, написанным Маттом CerypoM (Ман Segur) и Майклом Берн стайном (MlChael Bemstein). Он дocтyneH на WеЬузле www.admin.com. Архивирование журнальных файлов В некоторых орrанизаuиях иеобходимость аРХl1ВИРОвания всех учетны\ панных и журнальных фашов обусловлена характером их деятеЛЫЮСПI Ар,<ивирование провопится. например, в ожидании предстоящей ревизш В таких случая.х ЖУРН8JJьные Фаl-;ЛЫ H}"',f(HO сначала скопировать на ДИСК методом ротзuии, а затем переписать на леmy или дрyrие постоянные носители. Ланная схема позволяет уменьшить частоту создания резервны'1i: копий на лентах. Архивы журнальных файлов можно хранить в составе реl)'лпрных резервных копий лнбо на отдельных лентах. Второй вариант более иаI013JlНЫЙ. но он требует меньше усилий по составлению документации и дает возможность uиклически ИСПользоиать аРХИRные ленты, не затраrивая резер8 ные копии журнаJНJНЫХ фай;юв. В подобном случае мы рекомендуем наПltС8ТЬ сuенарий dвтоматизации резервноrо копирования и применять nporpaMMY tar Подробную l",ФОрмацию о резервнй,м 1(00шрованuи МОЖ'НО найти в zлаве /0. 0" 11.2. Поиск журнальных файлов o Операционную систему UNIX часто критикуют за противоречивость. Так и есть на самоМ деле. заrлянитс, например, в KaTaJlor журнальных файлов, и вы наверняка найдете несколько файлов с именами наподобие n,sillog. файлы вида rtp.log и даже qТОН1tбудъ вроде IpNet. Ipderrs или consolelog_ Мало Toro, что )I.,-урнапъные фаЙлы 1меют сл}'Чаиные 11менз. так они еше и разбросаны по различным каталоrdМ 1 фаЙловым системам. В этом параrpафе мы поnытаемся помочь читателям найти Все фаЙлы, которые незаметно "поедают" ДИСК, а также преможим коеJ(акие peKOMeH даuии. Кроме TOro, будет рассказано, rде обычно размещаются журнальные файлы в каждой из четырех тестовых систем. ДЛя TQro чтобы найти журнальные фаЙлы. просмотрите тексты стартовых сuенвриев системы (/etcjrc*, jetc/rc.dj* ИЛН jelcjinit.d/*) и лроверьтс. ВКЛючается ЛИ репtстрация при запуске демонов. В настоящее вреМ'1 большинство ПрOJ-рамм выполняет реrистраuию посредством системы Sylog. которая рассматривается в параrpафе 11.5. ЗаrЛЯН1пе н текст КОНфИl)'раuион Horo фаила /etcjs)'slog.conr системы Syslog. чтобы VJHaTb. куда наПрНВЛЯЮТСJ1 данные. Формат файла sys/og.C'oпf йlшсан в l1арарафе //.5. В табл. 11.1 приведена информаuия О наиболее часто используемых журнальных файлах. Указано. в частности, слеn.уюшее: имена журнa.rтъныx файлов, подлежаших архивированmo ИЛИ какой либо друrой обработке; nporpaMMa, создающая каждый из этих фаилов; информаиия о ТОМ. как задается имя файла; частота контроля, которую мы считаем приемлемой: ВЛ8Jlслеu и I руnпа, которым должен при надлежать файл; оПИсание содержимоrо фаЙла 230 Чость 1. ОСНОВЫ ОДМIo1НIo1СТрlo1ровонlo1Я 
..... Таблица 11.1. ЖУРНОЛЫ-lые файлы ФQn ф Проrpомма  CT:lltдpтнwe системные файлы тсssзgеа syslog shutdowлlоg sulog authlog mqueu<!S)<Iog fipJog gatedtog gated УЧLFnfWе фаЙJIW ;асс1 раСС1 Wlmp4 IpaCCl Ipd----спs .il.culog р8ЗJIИЧJ-1ыс pa:11IНЧНЪIС' shU[down su , SU sendmaH f\pd ЯJlj>О 'Щ:Ю lор" Ipd Ipd tlp. uucp s м s м s м н м s м F W S W cs] W с с н F F Н F " а ф О  t; '" о о :r Jj 'i СодеРЖlAмое/НОЭНQчение R R R R R R R R Часто ло ОСНОВНОЙ системный Ж}'РI:I.ВЛbliblR фаhл Часто это основНОЙ системнЫЙ журнальный файл Причины JlыrIOЯНС'н.ия комаНдЫ sbutdown Реrn.С1JJационн.ы1: сообшеНl.tl1 Iш",аНДbl !!IU АВТОРIIЗ3Ш1ОННWС сообщения ЖуРНЗJIЬНWЙ фаhл .Jле....ронной почты Журнальный файл FfРсосдиНеНий Сообщения демОна сетевой маршрyrиззшш D R D R М R М D W D М U Учет проиессов в BSD (двоичный фa1tл) Учет l1роиессов в SYSlem V I.дВОИЧНЫЙ фаftл) YICТ нремс:ии соединсIOrlЯ (двоич.н..ыЙ файл) Учетная информauи.к принтера в BSD Ошибки принтс:ра в BSD Учетная информauия 110 модемны.ы соединениям. которые ИНIIЦИИРУЮ-ССЯ системой ОшиБIOl учета в Sysle.m V м R fd210g Разное ncwsjncws innd Н D N Ошибки и транзакuии ttJlеконференuий newsf.log nnrpd S W N Лt::яп:льность y'taCТHHxoB телеконференций пщjС1rdоmо. Majordomo F М R ЖУРНilЛЫ.IЫЙ фаl\л дислетчера l'рУПll новостей 10& suc:1o.log sudo S М R РепtстраШ10ннwе сообшеиия проrpиммы 5udo lcp.log lcpd S У./ R Информация о ТСРсоединениях XOm.sgь; xll 1-1 М R Журнa.ru.ны.R файл сернера Х Windows xdmcrтon; xdm F М R Ошибки I1роrpиММbI улраиления ХдJlСШlеем hnpd/" Jo& hnpd F W R Журнальные файлы Webc<:pвep. I Столбеu "rAC" (В котором задается имя файла): S  Syslog, н ==. НС1РОСННОС: иия. F ==. конфиrypащtOнный файл, С ==. КQманднiIЛ строка. Столбеu "Частота" (рекомендусмая 1.j3CТ01'8 проверКI-1): D "'" ежедневно, У./ == еженс.де.льно. М =:; СЖСJ.lсеячно. runaccl. Столбеu "Вла.цслец" (вдаделеu 11 rpyrUl3 файла). R ==. root/SYSlem. U == uпср/dаеmОII, N == аеws/пеws, D =:; dаеmоп/dаеmоп. ....йм3НДЬ! passwd, login и shuldoWII тоже записывают информацию в этот файл. В версии 2.1 демона имя файла задастся в командной строке; в последуюших версиях используется СИ<..LCМ8 Syslog. И но,-да оо:щаетСR HeCkOJlЬKO в ином формате под именем wtmрх. 231 r лово 11. СистеМQ Syslog и журнальные фоиJlы 
Файлы в таблиnе представлеиы под своими базовыми именами; спеШj фика конкретных систем изложена в лараrpафе 11.4. Не все файлы присyr ствуют в К8Ж40R конхретной системе. Имена файлов даны относительно каталоrа /jar/Bdm или /var/log. еСЛJI не ухазано дрyrое (однако файлы в rpynne "Разное" инсталлируются локально и, следовательно. их К8талОПI именуются в соответствии с предпочтениями пользователей). Букна в столбuе "rдс" поt.;:ЮЫВает. как задается файл реrистрашш: S  в системе Syslog, С  в командной строке на этапе начальной заrpузки; F  в конфиrураuионном файле; Н  имя фаЙ:nа определено в ядре. РеалЫЫt:: имена MOryr силъно отличаться. особенно еСЛIf ОнИ залаются посредсТl.ЮМ системы Syslog. В таблиuе показаны Л11ШЪ типичные примеры. В rpафе "Частота" указана предЛаrаемая пеРИОДIIЧНОСТЬ чистки журналь ных файлов. Для журнальных файлов обычно назначается коп AOtlyna 644. иноrna зто значеНИе у.меньшают до б40 или БОО. Правом записи должен облanать только ВЛilделеu. ФаЙлам sulog. autlllog и !iudn.log слсп)'ет присиоить код ПОСlупа 600. Рекомеl-шуется также оrpаннчиваТL доступ к файлам It1queue/syslog н 1'з(:..:1. 11.3. Файлы, которыми нельзя управлять o у читателя может возникнуть искушение ynрЗR.'lЯТЬ всеми )k)'рна.'1ЫIЫ\.п фаЙ.'18МН по схеме .'ротация rL'1ЮС архивирование". Но есть два файла, которые тporaТb не следует: /.ar/adm/lusllog и /elc/ulmp. в файле lasllog реrистр"руются naнные о последнем входе в систему ка.ждоrо пользователя. Это разрежсннькй файл, rде записи упорядоrJены ПО идентификатору пользователя. Размер файла будет меНЬше, если псе и.:IСНТllфИкаторы находЯТСЯ в узком .nиапазоне. однако :rroro нсвозможно добlПЬСЯ при наЛИЧИI1 идентификатора ПО]Jъзовате'1Я rool. рсншоrо О. и НДСI-ffJ.lфикаторв ПОЛЬ.10наТСl1Я nobod)", paKHOro 2 (65534). Не копируите фаЙл lasLlog, нначе он JзАмст 8се пространство ШI диске. Подробные сведения о разреженных фаiиах сооержотся в одllОМ из IJpиMe'tOI1UU . параzрафу 10.3. Фаи..11 utlnp предназначен для храНСНlfЯ данных обо все). пользователях. работаЮШllХ в данный момент 8 CJICTCI\IC. Иноrда ли сведения Heвeptlbl. IIзза Toro что ПОЛЬЗОВCI.тельский интерпретатор команд был уничтожен непрanИ:IЬ. ным сиrналоМ, а родительскиЙ "роиесс JToro интерпретатора не обеспеЧIf1 НalLrlежаwую очистку. Во мнОПIХ случзю. право записи в фаНл uLШр имеют осс ПОJlЫ08ателl1. 11.4. Особенности журнальных файлов в различных операционных системах 4)  Создается впечатление. что постаНШИКJ1 систем стремятся сnрrr;:1"IЪ журнальные фаилы на ВсеМ пространстве ДИсКа. Тшательньш анализ КОНфll ryраuионных фа.илов раз.'lнчных д.емонов и системы Syslog П03UО.'1ИТ ИЫШIIПI, :\rНОПff из ЖУРН3..JТЬНЫХ фа..iлоIs. Н юке ОПllсьmаются некоторые особо T.aIiHL..Il: каТ8..110rи, rДе MOryr прятаться эти файлы. В Solaris самая беСПОРUlочная коллекuия журнеJЬНЫХ фаилов. BIIPO'IM. если есть ....aT3..10r /var/log. то Ilа..iти "]ти фаЙлы болъшоro TPY.R3 не состаИIП. Вот не.которые ИЗ них: /.ar /log/* 232 Чость I Основы одминистрировония 
, /vаr/сrол/lоg /vor/lpflogs/* . /vor/s01/ Iog /vаr/s01/zsmол/lоg . /vаr/оdЛ1/{mеssоgеs, ac"log. s"log, vold.log. "'tmpx} /var /adm/log/asppp.log Последний фаАл преднаЗI-laчен д...1Я протокола РРР. IfСПО.lьз}емоrо n се"щ\ с коммyrаШlей пакетов. Похоже, что н Sol,l.rls 2.4 реЖIIМ perlfCTpaUl1II сообщений н этом фай..'1 включен 110 рЮJlчаIlНlО, даже СС.1И ca'\la ПОдсllсТе....'з ррр не установлена или не используется. ФаЙl запопняется соо6шениямн об отсутствии марШрyrов DJ1Я соединений Более детальнуlO инфор."ШЦШО о ррр ВЫ найдете 8 nараzрафе /3.8. Можно с ПО'fo.fOШЬЮ lIeMOH8 cr0l1 запускать СJfстемнЬП! сuенариН fusrfJibfne",'syslog, чтобы осушествл.ять ротаDИЮ основных журНa.J1ЬНЫХ фalf!JО В , а также файлов /vвr/аdm/Л1еssвgеs " /"arflogfsyslog, в HPUX журнальные фаИ.'1ЫIfЮ:ОnЯТСJ! в KaTaJlore 1,-ar/8dm. в .le\1 \1tюrо разных файлов, не псе из них журнальные. поэтому будьте ВНII\..rательны Прll работе с НИМIf. Файл nettl.LOGOO СОllержит IIнфорМ3UIIЮ об упра8..llеНIIII сетыо и сетевой статистике; ДОПО;lI,\Ите;1ЬНУЮ информаUIIЮ \южно ПОЛУЧII-rь с ПО1\IOШЬЮ команды тап 11ettl. По у\tопчаниЮ все rистраЦНОl-Iные сооБШСНlН1. поступающие в систему Syslog. направляются в K8Ta.TlOr jvаr/аdП1/sуslоg в Red На( реrистраUИОНН8Я политика заС!1УЖ1fвает самых лестнЫХ оиенок Все ЖУРН8!1ьные файлы именуются соrлаСОl3анно и постоянно хранятся в квталоre jvar/log. к тому же, имеется великолепная yrИЛlfта logrotate для работы с НI1МИ. Новые nporpaMMHbIe паКl:ТЫ MOf)I помешаТЬ в катзлоr /etcflogrotate.d конфиryрашlOННЫЙ фаhл. в котором ОlllfСЫ8етсЯ стратсrШ1 управлеНIfЯ журнальныии фай.'1З\НI. Бlаrодаря страНIIЯМ создатеJlсii Red Нш систмные админнстраторы скоро ОСТ8tlyrся без работы FreeBSD также не вызывает никаки,< Н8реКi'tниi. Все ЖУРНR:iI.ные фаJi;"lЫ n основном хранятся 8 Ki.1Ta."lOre j\'arjlog. хотя демон crorl помешат СВШI Й;[Ы В кзта..тlOr j,,'аrjсrоп. а файлы 1l0ДСИСтемы учета записываются fI I-:ата;rоl' j\"ar{acCOUJ1t. Утилита пе"'s'slоg отвечает за управление ЖУРНМЫIЫМI1 фаЙлз\ш 1-1 их ротаuию. Она запускается с поюшью демона crol\ и берет свои устаНОПКII из фаАла /еtс/леwsуslоg.со"r. Кроме Toro, во FreeBSD K81+-.дЫЙ день, неделю и месяtl с помощью демона cron выполняется кОМаНда periodic, которая запускает сuенарии. находлшиеся в кзталОI"е /ctcjperiodic. Через них можно управллть }i.,:урнаЛЬНЫI\fИ фаЙЛ8\IН. еСЛII УТИЛJ1та IJCy,'s'slog по КаКЮ.IТО ПРI-Iчина"f не справляется со СВОИМII обязанНОСl ЯОI.  P.]  .J 11S Система реrиcrрации событий: Syslog Syslog  это полноuенная система реrl1страuии соБЫТIIЙ, наПllсаннЯ ЭрИКОМ Оллманом (Епс Аl1тап). r...lI-10rие постаВllШКИ пользуются ею !!ЛЯ упра13леНJ1Я J1нформаuией, котор)-1О rCHepl1p}'loT ядро и системные }'ТIЫIfТЫ Система Syslog НЫПО;Iняет две важнейшие функшш" она освобождает проrpаммистов от утоппельной механической работы по ведению журнa.rтъ ных файлов и передает Уllра8..llеtlие реrистраuиеt! 8 руки аДМИНJ1стратора. До пояиления Syslog кажп.ая nporpa:'IM моrла car-..13 Dыбllрать по.rнПIIКУ penfCT раuии, а у системнЫХ администраторов Ile было ВОJМОЖI-1ОСПI КОНТРОЛJlрОПiПЬ. какая ННфОр\1ЗЩIЯ и rne H\teHHo сохраняется. rЛQ80 11. Системо Syslog 101 жvрнальные фоС1flЫ 2ЗЗ 
Данная система отличается высокой rибкостbIO. Она позволяет сортиро вать сообшения по источникам и степени важности ("уровню серьезности" в терминолоrии системы Syslog) и направлять их в различные пункт... назначения: в журнальные файлы, на терминалы ПОЛh-l0оателей и даже На др)ТИе машнны. Одной из Ca1l.ibIX иенных особениостей этой системы является ее способность uентрализооать проиедуру реrистраU1-fИ событий в сети. Система Syslog состоит из трех компонентов: s)"slogd  демон, который осушествляет реrистраU1-fЮ (ero конфиrураuион ный файл называется jetcjsyslog.conl); openlogO. syslogO. closelog()  бнблиотечные ФУНl<uиJt. которые лередают сообщения демону syslogd; . logger  komaJ-Ш3 пользовательскоrо уровня, которая принимает реrист раuионные сообшения от интерпретатора комаНд. Демон syslogd запускается во время начальноЙ заrpузки системы и работает непрерывно. Проrpаммы, взаимодействующие с систеМОЙ Syslog. записывают реПfстраuионные сообшения (С помощью библиотечноЙ фУНКI..[I-tlf syslog()) В спеuиалъный файл jdevjlog (иноrда jvarjrunflog). который. в зависимости от системЫ. представляет собой сокет, именованныЙ канал или ПОТQКОВЫЙ модуль. Демон syslogd читает сообшения из этоro файла. сверSlется со своим конфиryраuионным файлом и пересылает ЮIЖдое сообшение соотnетствуюшему адресату. Во мноrих системах демон, кроме TOro, читает сообщения '!Дра из устройства jdevfklog. По сиrналу "отбой" (HUP, сиrнал 1) демон syslogd закрывает свои файлы реrnстраuии, перечитывает конфиrypаuионный файл и вновь заПУСКiit..'Т проиесс реrистрации. Если изменяется файл syslog.conf. нужно послать демону syslogd сиrнал HUP. иначе изменения не 8СТУПЯТ в силу. Сиrнал TERf\..1 ПрИ80ДИТ т< завершению работы демона. Демон syslogd залисыnaет свой IIденп<фиквтор проuесса (PID) в файл jvarjruo/syslog.pid (в некоторых системах  в файл jelcjsyslog.pid). Это облеrч-ает пеpt:дачу демону Сlirналов из сценариев Напрнмер. следующая команда выдает СИПlал отбоя: , k.i11 НUP '/bin/cat /var/run/sys1og_pid- Попытки сжать ИЛИ заменить файл реПiстраUJrИ, который бъU1 откръrr демоном syslogd для записи, неразУ1-rны и ПРИRОДЯТ к непредсказуемым последствиям. Некоторые поставщики предлаraют заrотовку сuенария (часто она иаходится в K3TMore /usr/lib/newsyslog). назначение которой  роП\lllЯ журнальных файлов., Улучшенная версия сuенария. нззывающаяся rOll. доступна на WеЬуз..'lе v,.'WW.аdlшп.соm. КонфиryрИрО8ание демона syslogd Действия демона syslogd зависят от содержимоrо файла jetcjsyslog.conf. Это текстовый файл относительно npoCToro формата. Пустые строки и СтроЮl, начинаюшиеся со знака решетки (#). иrнорируются. Базовый формат этоrо файлв таков..: селеlrТОР <ТаЬ> деЙСТВие Этот простейшнй сценарий отличается (причем в хупшую стороиу) от утилиты newsyslog 130 FreeBSD. В очень старых версиях syslog используется др)'Той СИl-Паксис. который мы ОПИСЫIТLo НС будем. 234 Чость 1. ОСНОВЫ одминистрирования 
Например. строка ma.il. info /var/lo9/ m a.il 10 9 обеспечивает сохранение сообщении. ПОСТ}l1аюших от почтоВОЙ СИСТ,JЫ. В файле /var/1og/maillog Поля ce'leKl1l0p и деuстВlI.е должны быть разделены ОДIOIМ или нескоЛЬКИМИ ]накамн табуляuин; щ:юбелы не используются н качестве разд.елителей и становятся невилимыМи ошиБКам....t. которые БЫВi1ет очень тяжело отследить. Од....tН из способов внесеннЯ П1КИ)( ОНlIIбок  операции вырезания и вставки текста при работе с мноrоокон-ным rрафиче ским интерфейсом. Селе...."Тор обозначает nporpaMMY ("средство" 8 термltнолоrn....t систеМbI Syslog), которая посылает реrистрационное сообшение. и уровс:нь серьеЗНОСПI этоrо сообшения. Формат селектора TaKO: средство. уровен.ь Имена средств и уровни серъезности следует выбирать из cT3HAapTHoro списка значений; nporpaMMbl не MOryr составлять собственны)( списков. Есть средства, определенные для ядра, для rpу'ппы общих nporpaMM и для локальИblХ nporpaMM. Бсе остальное ПРОХОДИТ под обшим именем "llser" (Т.е. пользователь). Селекторы МОТ)Т содержать к.;'IЮ'lевые слона .. и попе, которые оБОЗН;d чают соответственно "все" и "ничеrо". Селектор может Rключать rруппу средств, разделенных запятымИ. ДопускаС1'СЯ также разделение с помощью снмволов точки С запятой. В общем случае селекторы объединяются методом лоrическоrо ИЛ И; ШlЯ сообщения, соотвеТСТПyIOшеrо любому из селе....'Торов, будет выполняться действие, указанное в одноименном поле. Селектор уровня попе означает исключение перечисленных в нем средств независимо от Toro. что указаво в остальных селекторах этоЙ же СТj:IOки. Ниже приведены примеры селекторов: средство. уровень деЙС'l'вие средство], cpeAc".l'Bo2 . уровень действие Cpe.дC'l'J:lO] . уровены1; средство2. уровень2 действие .  уровень деЙL'"l'ВJ1Е' . . уровень; плохое  средство. попе деЙС1'вие Б табл. 112 перечислены допустимые имена средств. В большинстне версиЙ системы Syslog определено 18 средств (в самой nоследllеи версии  21). Orдельные имена зарезервнровакы для будушеrо исполъ.-ювания. Демон syslogd сам выдает сообшсния о временных метках. которые реrистрируются. если в файле syslog.conf для них укюан селектор со cpeДCТROM "rnark". Временные метки помоraют точно определить. Korдa маШlIна 8ЫШJfа из строя: не просто "сеrоnня но"rью". 8 "меЖдУ 3:00 J.1 3:20 ночи"  Это очеllЪ полезно при устранении проблем. которые возникают реryЛJlРНО Например. 8 неСКОJIЬКИХ орrаннзаUИJlХ системы таинственным образом сбоили. пока не оказалось. что уборшиuы поздно вечером ИКJllOча.,ТН1 пылеСОСbl, ОТКЛlOча1 при этом компьютеры. Kor.na система сильно заrружена, друrие зареrИСТРИРО83нные сообшения часто содержат достаточно MHoro временных меток Но так бывает не всеrЛ<l. особенно в yrpенн.ие часы. Уровни серьезности перечислены в порядке уБЫ8<.1Н1IЯ важности в табл. 11.3. r nOBO 11. Система Syslog и журнольные файлы 235 
Средства kem Таблица 11.2. Имена среюств Syslaq ПроrpОмм'Ы или сообщвнир., которыв ero используют , шее таП dаеmоп auth [ре new& uucp cron mark 10саlO7 syslog' au(hpriv. ftpl Ядра ПОЛЬЗОВ8тeJ1ЬСКИf' проuессы (по умолчанию. если не fX8Э8.НО иное) Система aeDdmaU н друrис почтовые nporpaM.Мbl. Системные демоны КОИ8fШЫ. связанные с безопасностью и в.вторизаиией Система буфернзаuин печати 8 BSD Система телСkОНференuий UseЛСl Зарезервировано .аля системы UUCP. которая ero не использует Демон иоп Метки времсн.и, reнерируемые через одинаковые npомсЖ}"Тки Восемь разновидностей локaJlhИЫХ сообшений ВН)'11)енние сообщения демона sys10gd Частные (не СИСТСIOLЫС) авторизационные сооошения fТРюе"он I'tpd Все сре.п.ства. кроме "mark" Новые СIЖ.Ilства в ВереЮI 8.1 от Беркли. ТоБЛloЩО 11.3. Урон.,,,,, серьезности сообщений Syslog Уровень eme!!, ше" crit ест wаrniлg. поtiсе infа debug Приб1!':1.З..IеJ!Ь!::lQе значение Экстренные ситуации срочныc СИ1}'RUИИ Критические состояния Друrие ошиБочныc состояния Предулреж.даюшис сообшсния НеобычНblС события. которые заслуживают внимания Информационные сообwения отл8..lючныc сообwен.ия Уровень сообшения определяет ero важность. В фаЙ..'Jе syslog.conf УрО8НИ обозначают .минимальную важность. ХОТОРУЮ сообщение должно иметь .nля Toro. чтобы быть зареrистрировзнным. Например, сообщение почтовой системы с уровнем серьезности "waming" будет соответствовать селе....."Тору ma'::"l. warning, а Также селекторам mail. not:!..ce, rnail. info. mall.de Ьич. ..... warning, .. notice, ..... info и . .debug. ЕСЛ11 8 файле syslog.conr указано, что сообшения ma11. i n f о до;rжны реrистрироваться в файле, то сообшеН1iЯ ma1.1.warning тоже будут напраапяться туда. Поле действие определяет. что нужно делать с сообшением. Возможные варианты перечиспены в табл. 11.4. 236 Чость I Основы одминистрировони i 
т облица 11.4. Действия Syslog Дейcraие Описание - WUIфаilлQ Записать сообшсн.ие н файл на локальной машине @UМR.мQшины Переслать сообшен.ие демон)' sY!ilogd на машину с указанныJ.' именем @1Pйдpec ПереСJ1ать сообшенне маШJUlС с задэнJiыM lPanpecoM пDлъзо_атель}, Вывести сообшенне на экраны термиl-lllЛОВ указанных пользоваtt IIользователь), лсй, еCJIИ они зареrnстрирои&ны в системе Вывести сообшение на экраны всех зареrиСТРИРОD8ННЫХ пользова телей Если в качестве деЙСТВИJJ задано имя файла. то необхотn.ю. чтобы это было абсолютное путевое имя. Указанный файл должен существовать; демоН sysJogd не будет создавать ero. Если задается не IРздрес, а 1f1Я машины. оно .должно быть известно одноЙ из систем преобразования имен. например DNS или NIS. [(I Подробнее о trр(!()орtlЗО8tlнии доменных имен tJ IPtlapectl читtluте в IItlptlZ рйфе /8.3. Некоторые версlfИ системы Syslog используют при работе с КОНфJ.'iтура uионным файлом препроцессор макрокомаНд ",4, Изучите Иll-IСЮШУЮСЯ 1l0f..')'Меwrаuию, чтобы узнать. как правильно пользоватьсЯ кавычка"ш, Ha при'мер, нужно брать в кавьтчки ключевые слова т4 или выражения. включающие запятые. Ниже nриведен образеu строки конфиryраuионноrо файла, рассчитанной на обрабоп..')' препроuессором т4' aut.h.not].ce ].fdef (' LOGHOST 1, ./var/log/authlog', '@logho9t. 1) Обратите внимание на употребление как обратНЪJХ. так и одиночных кавычек. Эта строка направляет сообшения в файл /var/lag/authlog. есл" определеяо значение переменной LOGHOST. В противном случае сообшения пересьmаются на машину laghost. Инструкции ifcief препроцессора т4 очень эффективны. Они позволяют администратору системы создать один файл sysJog.conf, который будет затем использоваТЬСЯ на всех машинах. Хотя в селекторе допускается указывать сразу несколько средств и уровней, выполнение несколъки:х действий не преlIYсютрено. Лля Toro чтобы послать сообщеtше в два места (например. в локальныЙ фаЙЛ и на uентрапьную реrистрашfOННУЮ машину). нужно ВК:IIОЧИТЬ в конФНJYPаuион ный файл две строки с ОПИН2КОВЫМИ селеk."ТОрами  Улучшения системы Syslog в Red Hat в Red Hat имеетсЯ улучшенная версия пеМОН2 syslogd. Разрешается направлять реrистрашюнные сообщения в именованные каналы и употреблять пробелы в качестве разделителей в файле syslog.conf. В фаЙле syslog.conf перед названиями уровней MOryr ставиться символы '::' И . ', обозначаIOшие "только -этот приоритет" и "за ИСЮ1ючением этоrо It более высоких приоритетов" (табл. 11.5). r ЛОI!О 11 Система Syslog и журнальные фойлы 237 
Тоблиuо 11.5 Примеры исnопьЗОВОI-lИR ICВОЛИфlo1J{ОТОРОВ в фойпе syslog.conf в Red Но, Селектор Значение mail. info Выбор 11очтовы.х сообwеннй уроВЮI "iпfo" И выше mail.::oinfo Выбор почтовых сообшений ТОЛЬКО урОВНЯ "info" mail.info;mal1. !err Выбор почтовых со06wений уровней "info", "notice'" и "warning" mail.debug;mail. ! ::owarning Выбор ПUЧТOВЫХ сообwений любоro УрОВЮI. кроме "warning" в Red На[ демон syslogd особенно осторожен при работе в сети. Если отсутствует флаr r, демон не станет принимать сообшення от друпп КОJ\.rпъютсров. По умолчанию он также отказывается RЫС1УПать в роли маршрyrизaтора сторонних сообщений: сообщения, поступаюшие от ceтeRoro узла, не MOryr быть пересланы на прyroй узел. Флаr h отмеНЯеТ Т31\:0е поведение демона. (Если нужно, 1Побы эти опции были установлены всеrП8. модифиuирyJ\те сuенарий /еtс/rс.d/iпit.d/s)'slоg.) в Red Hat имеется ОТДельный демои, klogd, принимающнЙ сообщения от ядра и вставл-mощиЙ их R поток сообшениЙ Syslog. МОДИФИWfроватъ ero работу не рекомендутся.  Улучшения системы Syslog во FreeBSD Как и Red На[. FreeBSD поддерживает ДОПОЛНlпельные способы "'Сада.!Н1J1 уровней серьезности в файле syslоg.сопf (табл. 11.6). Таблица 11 6. Примеры ИСnОЛЬЭОВОНI<1Я КВОЛl<1фl<1КОТОр08 8 фойпе syslog.conf во FreeBSD Селектор Значение . mail.info Выбор по'П'ОВых сообшсиий уровня "info" и выше mail. >==into То же, что и ПРС.lIЫд)'шее Выбор почтовых сообше:ний только уровня "iпfo" Выбор ПОЧТОВЫХ соо6ше:ний уровня .. inео" и ниже Выбор ПОЧТОВЫХ сообше:н"й уровнеЙ ниже "info" Выбор ПОЧТОвых соооше:ний уровней выше ';info" mal.info mail. <--into mail.<info mail. > in {о в отnиtше от общепринятой cxeMы классификации сообшений. FreeBSD Позволяет выбирать сообшения на основании имени проrp.i:l.ммы. ОТ которой они поступают. а не расnлыватонеоnpеделеннoI''о нмени средства. К сожа лению. Демон syslogd не ВЛадеет информаuисЙ О проrpаммах. позтому вынужден просматривать сообшения на предмет Toro, наtrинаются ли ОНН С имени nporpaMMbТ и двоетОЧИЯ. Например, сообщение лamеd: starting. named 4.9.1 Sat Sep 209:39:12 Gm 1998 PHNE14618 будет распознано как поступившее от деМона narned В файле s)'slog.conr секuии, ОТНОСЯШИССя к сообшениям. которыс ноступают от конкретных 238 Чость 1. Основы администрирования 
nporpaMM. препваряются восютиuательным знаком 11 именем проrpамr.IЫ Например, строки: ! named /var/log/named.1og застаRПЯЮТ демона syslogd посылать все сообшения демона named в файл /.ar/log/named.log. Распределение сообшений на основаниИ имен nporpaMM  не С3МЫ'" лучший способ управления реrnстрацией. Он базируется на определенных правилах формирования сообшениЙ. которым следуют Ba.'leKO не нсе npo rpaMMbt. Демону S)'slogd во FreeBSD необходимо сообшить посредством ОПШIИ a. ОТ каких yBaJleHHbIX узлов слепует ПРИНИh.шть сообшения Набор узлов может бьпъ задан в виде списка [PaдpeCOB С масками (например.  а 128.138.192.0.20) или списка .nоменных имен (например.  с3 ... .cs. colorado .edu). Чтобы зanpeтить прием сетевых соо6шеНIIЙ, нужно с помощью опции M дать демону sysIogd указание не открывать свой сетеООil порт. Дрryменты командной стр:жи демона syslogd -.южно поместить R файл /etc/rc.conr. чтобы они автомзтичеСЮ1 активизиrюnaJ1ись ВО время начальноf'1 заrpузки системы Например: syslo9df1a9.s"""a 128.138.192.0/20 a *.c5.co1orado.edu" Примеры конфиryрационных фойлов Ниже приведены примеры трех фаЙлов !J1'slog.COI1f которые соотвеТСТВ}10Т автономному компьютеру. используемому в небольшой сети. f3ШИIIt>к..'1JfеI1ТУ в крупной сети и централъному реrистраuионному узлу этан же сети Последний назывзе1СЯ nctlogl10st- Автономный компьютер Ниже локазана базовая конфиryрация ДЛя aaтoHoMHoro I\омпьютера: ФаЙЛ syslog. conf ДЛЯ малых се'l'еЙ и aB'l'otiOWНbl.X СИС'l'еы экстреtiные сообщения напраВJlЯD'r'СЯ всем зареrистрированНЬ1М подьзова'СeJlЯN '* .emerg t важные сооОщения .. .warningi daemon, a.uth.; nfo. Llser. попе /var/a.dm/rne5sages .. ошибки nрин'rера 1pr.debug /var/adm/lpderrs Первая не ЯWlяющаяся комментарием строка орrаНI1ЗУет вывод Эl<стреll ных сообшений на экраны терминалов всех текущих полъзователеА. В К8честие примера можно привести сообщения. выдаваемые проrpaммоЙ shutdoWl1 во время выключения системы. Вторая значашая строка обеспечивает заПИСЬ важных сообщении в файл /"ar/adrn/message5. Уровень '<info" ниже уровня '.warnll1g" поэтому выражение daemon,auth.info включает дополнительную реrистрзuию сообшении из Точнее. пеtlogbоst  один из псевДОНИМОВ данноro узла. Это позволЯет заменЯТЬ реПlстра UИОНtrblЙ узел с мииималъRЫМИ затратами на переконфиryрирование системы. Псевдоним можно .no6авить в файл Jetc/hosts или задать с помощью записи CNAME в базе данных DNS Подробнее об этом рассказывзется 8 параrpафе 16.11. r ЛОВО 11. Система Syslog и ЖУРНОЛЫ1ые фойлы 239 
проrp8ММ passwd. su и всех деМоноВ. Третья строка предназначена ДЛЯ З3ПIIСИ сообщений об Оllшбках притера в файл /,'ar/admflpderrs. Сетевой клент Мзшинаклltент обычно пересылает серьезные сообшения на иeHTpa..1b ный реrистраuионный узел. I Файл syslog. соп! факультета SЫЧИСJ'lи'.rельноЙ техники t ДЛЯ КJ'lиен'I'С!<:ИХ N8.WИН f ЭКС'I']i)ен.ные сообщения налра.sляюrся есеы эареrистрированИbW. пользователям * . emerq; L1se:r . попе f важные сообщения переСbU1аlO'I'СЯ на цеН'I'ральн.ы:й .коwлыo'I'рp ... . warnl.ng; lp:r, locall. попе @netloghost daemon, aut.h. info @net.loghost *" сообщения 0'1' ЛОl<альных nporpsNW 'i'аюке v.дуr.r на цеН'I'ральны:й t<:ОNльютер local0, 10ca12, 10ca17 .debug @netloghost .. деыон cardd реrИС'l'рируется через средст:ва locall  # напраr.ляеN сообщения на ыашину boulder locall . debug @boulder . colorado. еои '" сообщенУ.я об ошибках принтера храня'1.'СЯ локально lpr. debug Ivar I adт/lpderrs '*' nользо:ватели ПРQr>рамыы sudo реrИСТРИРУD'Z'СЯ через средс'!':во t "loca12"  сохраняеы коnиv. сообщемий loca12. info Ivar/adrn/sudolof1 . сообщения ядра ':'акже хранятся локально kern.info /var/ad.:n/kern.1Qg в этой конфиrypаuии не очень MHOro информаuии хранится локально. Следует учесть, что если компъютер пеtlоghоst ВЫI01ючен или недостynеи, реrистрационные СQобшения будут безвозвратно утеряны. На этот случай можно создавать локальные копни важных сообщеннй. В орrанизации, rде инсталлирован большой объем локальноrо проrpaм MHoro обеспечения, неоправланно MHoro сообшений может реrистрироваться с поh.1ошью средства '.user" на уровне C'erner,g". В показанном примере такая ситуаuия заведомо исключается с помощью выражения use r . попе в первой строке. Вторая и третья строки служат для пересыJIJrn всех важных сообшеНИА на иентрзлъный реrистраuионный сервер; сообшения подсистемы печати и уннверситетской системы ПОСТУПВ по карточкам направ..'IЯ10ТСЯ в дpyroe место. Четвертая строка орrанизует отправку локальной реrистраuионной информа Ю,И также на иентра.тrъный компьютер В пятой строке реrистраuионная ннформаuия системы доступа по карточкам отправляется на центральную машину boulder. Последние две строки обеспечивают хранение ЛОКз'1ЬНЫХ копиЙ сообшений об ошибках принтера и реrистраuионных сообщений проrpиммы sudo. Детальнее о прОlрамме sиdo рЙСС'Кtl1ывшlOСЬ в J1йрйерафе З.4. o 240 Часть I Оо-юsы одминистрировония 
Центральный реrlo'iстрационный узел Это пример JL1Я Ко....тьютера netJoghost  ueHTpa..rrLHoro высоконадежноrо реrистраuионноrо узла сети среднеrо разtера, ВК-'1ючаюшей 400500 машин Фа9".л syslog. соп! фаКУЛЬ'.I'ета 8ЫЧИСЛИ'l.'ельtiоР. техники для I'лаВtiоrо реI'истраuионноI'О узла экс-rренные ::ообще:НУ.J! loIаС!раеЛRIO'ХСЯ записьшаЮ'::.'ся ые:i.'И :ереыею/. *. е:лесg . .err; kеrп. :nark. debug;aU1:.h. ПО1:.се .... есс i kern. mari<.. debu9i user. попе a!.Jth. nor.ice на коtiСОЛЬ И В журнальный файл, / aev I console Idev!console /var/acim/console .109 Ivаr/аdл: 'console. !О9 , сообщения, не яеЛЯIOJ.J.U-:еся экстренными, записы..sаются 5 обычные .. журнальные фаЙ11bl .. .еrr;uзеr .none; kеrл .оеЬи9 /var/acirn/rnessag es daernon. auth. noticeimal. crit. Ivar/adm/rnessag es 1pr. debu9 /var lad.m/lpderrs rnail. debu 9 Ivar/adm/mail.l09 " в следуюши>: C'.L'pOKaX обрабаты::ваю'I'СЯ сообщеНИII локальИЬ!к nporpaNN 1" аВ'l.'оризаu.хи, ''aKY.X как sudo и npas5wd loca:2. deoug Ivar! ad..i1/sudo .109 10са:'2. aler1:. /var/adm/5udoerrs .1og auth .l.nfo Ivar/ad.m/auth .109 t ДРУi'v..е ло!(альные лроrраW4Ы 10calQ .l.nfo loca14.not.1..ce 10ca16. debu 9 loca17. debu 9 11 !10льэоевтельскv.е проu.ессы user. i:1fo Ivar /8cirn/netbazer .109 Ivar/acirn/da.lo9 Ivar/acirn/annex:!..sn .109 /var/ad.m/tcp .109 /var/ad.'I1/user .109 Реrистраuионные сообшения, поступающие от лока.ЛЪНЫХ проrpaмм и демонов S)'slogd по сети, JаПИСЫваются в указанные выше файлы. В некоторых случаях выходная информаuия ка..ждоrо средства записывается в отдельный файл. Uентральный реПICтраuионный компьютер rенерирует метки времени для Ka..:.+::noro получаемоro сообшения. Это время не 8сеrда совпадает со временем отправки сообшеfiliЯ Если в системе реrистрируются компьютеры. располо жеННbJе в разных часовых пояса.х. или системные часы не синхронизированы. информаuия о времени оказьrвается недостовеРНОА. Пример ВЫХОДНОЙ ИНфОрМQЦИИ сиcrемы Syslog Ниже ПОК8Зан фраrмент олноrо из ""')'РНЮ1ЬНЫХ файлов, скопированный с Pll.1BI.lQfO реrистраuионноrо "зла факультета вычислительноА TCXHHJrn университета штата Колорадо, На этот компьютер поступает реrистрашюнная информзuия приб.'lизительно с двухсот машин. Dec 18 1.5:i2:42 avlB.cs.colorado.eau .sba::chd{495]: sba..cha/mal.n: 1sl.nfo() fai.led: LIM :!..s downi i:.ry !ateci t.rying ... Оес 18 15:14:28 proxyl.cs.colorado.edu popproxy[27283]: Conection from r ЛОIIО 11. Система Sys!oQ и журнольные фоилы 241 
128.138.198.84 Оес 18 15:14:30 mroe.cs.colorado.edu pingem[2"11]: malte5e office.cs.colorado.edu has nat. answered 42 t.imes Оес 18 15:15:05 schwarz.cs.colorado.edu vmunix: Multiple 6ofter сосз: Seen 100 Corrected Softerrors [сот SIММ J0201 Dec 18 15:15:05 schwarz.cs.colorado.edu vmuлiх: AFSR '"' Ох4с21. AFARO ... Qх87ffddЗО, AFARl -'= oxb8fBa() Оее 18 15:15:48 proxyl.cs.colorado.edu popproxy[27285]: Connect.ion frorп 12.2.209.183 Оес 18 15:15:50 av18.c5.colorado.edu la5t message repeated 100 times в ЭТОМ примере представлена информаuия, ПОСТУПИ-ВШ8Я с неСКОЛЬКllХ машин (а.18. proxy-1. mroe и schwarz) и от нескольких nporpaMM. shalchd. popproxy, pingem и "munix (ядра). Обратите внимание на последнюю СТРОКУ. n которой rоворИ1'СЯ о сообшеюm, ПОRТорившемся 100 раз. Чтобы сократить объем журнальных файлов, система Syslog обычно пьrrается объединять дублируюшиеся сообщения и заменять их резюмирующей строкоЙ Однако компьютер, с KOТOpOro был взят этот файл, приmп..fает реrистраuионные сообщения от множества дрyrих компьютеров, поэтому данное конкретное сообщение может HeMHoro сбить читателя с толку Оно ссылаеТСJl на предыдущее сообщение от КОМТIЪютера av18. а не на предыдушее сообщение n журнальном файле. Рекомендуем реryлярНО просматривать свои журна..rrьные файлы YCTaHO вите, какое их состоян-ие является нормальным, чтобы в случае отклонен""! от нормы сразу заметить это. А еще лучше устаноВlПЪ nporpaMMY обработки журнальных файлов. такую как swatch, которая бу.nет делатЬ то же самое автоматически (см. параrpаф 11.6). Разработка схемы реrиcrрации ДПЯ конкретной орrаНИЗ0ЦИИ Для небольшой орrанизаuии достаточной бупет такая конфиrypаu ИJI системы реrnстраuии, при котороЙ важные системные ошибки и предупре ждения хранятся в отпелъном файле на каждом компьютере. В основном так было до пояапения системы Syslog. Файл sys)ag.con( можно адаптировать для каждой конкретной машины. В большой сети необходима uентрализованная реrистраuия. Такой пОДХОД позволяет контролировать информаuионные потоки и  если повезет  скрываТЬ получаемые в результате пронерКИ панные от лиuа, в-зломавшеrо систему зашиты какоroлибо компьютера в сети. Хакеры часто изменяют системные журнальные файлы. чтобы заместИ следы; если реrистрзl..[ИОННУЮ информаuию сразу же скрыть. то по.nделзть ее будет rораздо труднее. Помните, однако. о том, что каждый может вызвать систему Syslog и создать реrnстрационные записи, якобы посланные какимлибо деМОНОМ ИЛ'И \'ТИли той. Кроме тото. система Syslog пользуется протоколом UDP. котор.ый не ЯRЛЯется надежным, так как не raрантирует поставку сообщенкй. Имеющийся в сети брандмауэр полжен запрещать внешним узлам передавать сообщения демону syslogd. В качестне серneрареrистратора выбирайте стабильно работающую Ma ШИНУ. лучше такую, доступ физических лиu к которой оrpаничен J.! хорошо контролируется и тде мало зареrистрированных пользователей. ДРУI"ие компьютеры сети MOryr пользоваться базовым конфиryрационным файлом, который хранится на иентральном узле. ТаЮfМ образом, нужно вести лишь 242 ЧОСТЬ 1. ОСНОВЫ администрироваНИII 
лnе версии файла S)'slog.con(  Это обеспечивает полноту реrnстраuии. не прсвращая ее в IЮШfo.f3Р дЛЯ апминистратора 0" Иl-lфОР«ЙЦUЯ О pacllpedi!.Jleuuu Фай..lOВ 8 сети приведеий в {'Айве J8 В некоторых очень больших орrанизаuиях считают необходимым ввести в иерар'Хию реrистрнции ЛОПОЛНJпелъные ypOBf-11I К сожалеНlfЮ, тскушая 8ерсия системы Syslog сохраняет имя машltныотправитеJlЯ ТОЛЬКО для одноЙ nереСЫЛКIt. Если машинаклиент QтnраRЛяет реrИСТРО:1UИОl-l1iые данные маши HecepHepy. которая пересылает их Вё:душему компьютеру. то последниЙ бупет рассматривать эти П3l1ные как поступившие от сернера. 3 не от клиента. Проrроммы, испопьзующие систему Syslog в табл. 11.7 перечислены некоторые nporpamtbI. работающие с системоЙ Sys]og, средства и уровни. на которых они реrистрируются. а также дано краткое описание каждой проrpзммы. Таблица 11.7. ПроrрQММЫ, использующие Ct.1cтeMY Syslog Проrраммо Средство amd шетоп date 8Uth ftpd dac:mon galed dаеmол 1u111{rebool ашh iDetd dacmon Iogio{rlogind 8Uth Ipd Ipr oamed dacmon nnrpd пеws atpd dаеmoп. user passwd auth popper localO seDdmal1 mail оо auth УрОВНМ СПlпfо лоtiсе crr dcbu8 8lertinfo сп. еп, wаmiлg crilinfo ест  iпfо епinrо crilnolice спнпfо Описание Проrpаммз 3ВТОМОНТИрОН8НlfЯ NFS Установка даты и нремеШI ДСМОН ПР Демон маршрутИ38UИИ проrpамblы ol:raНOвa системы Демон I nl:emet Проrpаммы входа в систему Дсмон принтера в BSD Ссрв<р имен (DNS) Проrp8ММЫ чтения новостей 1 N N Сстеuой nемон иремеНI1 сп Проrpамма установки пар(шей notice. debug Проrpамма элеюроЮiОЙ почты ДЛЯ Macintosh и ПК alcrtdebug crit, notice syslogd 10<:з12 sJert. notice s)'Slog. mark епinfо 3udo IсР" locaI7 сп" debug croo, info daemon kem l1ЗJAеЮlЮтcJI croo "muпix Система поставки почты Проrpамма подстановIOI идснтификато ров noльзоваплей ОrpаниченнiitЯ иерсиЯ проrpамМы su Демон обработки внутрс:нних ошибок. меток времени и .пр. TCPдeMOH АЛЯ дсмоиа iпеtd Демон rutанмрованИJI :заданИЙ Ядро На компьютерах. ["Де ведется обработка файла syslog.conf с помошью npoцессора М3"-'РОКО-- М8tШ ш4. можно паже объединить обе конфиrypации в ОДИН файл r паво 11. Системо Syslog и ЖУрНQЛЫ--Jые фойлы 243 
Располаraя прпведенной информаuие , можно, Казалось бы. безошибОЧIIО определить. какие сообшения слеnyет сохранять, а какие иrНОрИрОВtlТЬ. Но это не совсем так На пра)<:тике нужно определить. какие YJIOвtl11 реrистрашrn важны ДЛя системы. Лучше начать с реrистраUJ1И всех сообщений и постепенно отсеивать ненркные. пока объем перепавасмых данных не CТ Heт прllемлемым Отладка сиcrемы Syslog Комаина logger позволяет обрабатывать реrистраuионные сообшения. поступаюшие от shеll сиенариен. Кроме Toro, эта команда Ifсполыуется Д.iHI проверки изменений в конфиryраuионном файле демона syslogd, Например. если только что была добавлена строка localS . warnin9 Itmp/ev .109 и нужно убедиться в ТОМ, что она деЙствительна. дайте комаНдУ 11 109qfillr p 10са15. Wllrn1.ng .. t8s t ПI8.8аg8" Строка, содержаша. фразу "test message" (тестовое сообшение), должиа быть Заffiiсана в файл ftmpfe.i.log. Если ЭТОТО не лроизошло, значит, фай . не сушествует, установлены неверные права noc'I)'na к нему или демону s)"slogd не был послан сИТНал отбоя. В первых версиях демона syslogd имеется константа NLOGS В неЙ определяется обшее количество действий, которое может быть З3.IIано в конфитураuионном файле. Обычно она устанавливается равной 20. Если превысить ЭТО ЧJoIСJlО. демон syslogd будет нrнорировать лишние де'ЙСТВИfl Ii просто отбрасывнrь реПIС1-раШfОliные сообшения, которые посылаютсЯ ему, В более поздних верСlfЯХ д.емона есть константа 1\'1AXUNAM ES 1l't!.кже равная 20). оrраничивающая количество ПОJТbЗователей. которые MOITr быть aдpecaTat.m сообщения. При вызове демоНа syslogd с флаТОМ d ("debug", T e. отпanка) он выдает таблиuy средств, уровней и действий, заданных в файле syslog.conf. Кажпое входящее сообщение также вьmодится на экран вместе с инфор\-fзuией о том, как оно обрабатывается. Вот неСКОлько строк из такой таблиuы: о о о о о о о о о о о о о о о о о о о Х WALL: 7 Х 4 6 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Х FILE: / adrn/msgs Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х F!LE: /ad'I1/ :'ресс о о о О о о о о о о о о о о о о о о о о UNL!SED: О О О О О о о о о о о о о о о о о о о о UNUSED: в этой табmще с'тQлБuы соответстuуют среДСТfIВМ. а строки Д ЙСПIШ'М, Показанные значения это УJIOАНlI Прllорltтета по внутреннем предсrавле нии; Х означает отсутстние уровня, Если в таблиuе естЬ cтpO....1f с ПРl1знаком ПNПSЕD и без указаАltя дейстиня, то число апресаТОБ все еше не превышает значениЯ константы NLOGS Если таких строк 'Нет, обязательно ПJIOвсрые. не пр вышен ли лнмит, Для JТoro нужно просмотреть последнюю запись фаЙла s:yslog.conr с I'IОМОШЬЮ KOMal--1.дЫ logger, Строки с признаком UNUSED и именем файла означают, что соответствующиЙ );,,')'рнальныЙ файл не создзн Очень осторожно подходите к вопросу вывопа реrистраUИOllноtl инфор маШIИ на системн}>ю КOIIСОЛЬ. /dev/console. Если консо..1Ь это старым терминал \-TIOO и KTO TO С 1учаf1НО IШЖМ Т нз lIeM клаВIIШН <Ctl'I S>. вывод 244 Часть I ОСНОВЫ ОДМИН Lo1 СТрИрОВQНИА
на консоль прекратится. Все вызовы системы Syslog буд}т заблокированы, и система начнет работать очень медленно. Хорошиlil способ проперки подобной ситуации  послать реrистраuионное сообшение на консоль с помошью команды logger. Если команда зависает, нужно иайти консольвиновииuy, нажать <C(rlQ>  и пересмотреть свою по;rnтику реrистраuии Вывод реrистрационных сообщений на консоль опасен еще и тем, что при возникиовении серьезной проблемы поток сообшений "парализует" консоль именно Torna, коrда она больше Bcero нужна. Использование функций Syslog в сценариях Библиотечные функuии openlogO. syslogO " close1og0 лозволяют проrpам мам обрашаться к снстеме Syslog. Сушествуют версни этих функuнй для языков С и Perl. Ниже мы рассштрим лишь проrpаммирование PerlcueHa риев. Чтобы импортировать определения библиотечных функuий, нужно включить в нача..тто сuенария слелующую строку: иse Sys:: Sy.elog; Функuия openlogO иниuиализ"рует систему реrистрации, передавая ей заданное имя средства: openlo9 (идеН'7'нфикатор. опцииреI'истрации. средство); СообшеНYIЯ реПIСТРИРУЮТСЯ с указанными опuиями и начинаютсЯ с илентификаuионной строки, переданной в первом арryмеите. Если ФУНКПИЯ openlog() не используется, то по умолчанию идентификационная строка равиа текущему и-меt-ш пользователя, в качестве опиий задается пустая строка, а именем средства станоВИТСЯ строка "user". Список возможных опuИЙ приведен в табл. 11.8. Тоблицо 11.8. Опции реrистроции ДЛ. функции openlog() сопз Нозначенме Включать идентификатор текушсro проuесса в кажцое реrистрauионное сообщение Подключаться к демон)' syslogd немедленно (не ждать, пока сообшение будет доставаено) Посылать сообшения на системную консоль, если демон syslogd недоС"тупен Не вызывать фукx.uню wait() .для дочерних процессав, СО3llанных с помошью фуню..UШ forkO для 33ЛИСИ сообщений на консоль Опция pid лdеlау nowait к примеру, вызов функцин openlog{) может выrruщеть так: орелlО9 ("аdrnl.лsсriрt". "pid, сопз" , "dаешоп"); Библиотечная функция syslogO посылает сообшение демону syslogd. которыЙ реrистрирует ero с заданиым приоритетом: sysl09 (пРИОРИ'1.'ет, сообщение, .. -) ; в журнальном файле к сообщению добавляются дата, время, имя компьютера и строка идентнфикации. заданная в функции openlogO. После rлоао 11.. Система Syslog ..., журнольные файлы 245 
артумента сообщение MOIyr идти нр}Тие параметры, а формат сооБШСНltfl напоминает спеuификацию формат. ф}нкuин рriпЩ), tI.пример: sysloq("info", "Elelvery r.o '%5' iailed after \d attempts.", $user, $лАt.tеmрt.s}; Если есть спеuификатор %т. ТО он заменяется сообшением об ОШl1бке. номер KOToporo извлекается из переменнои ermo (в ней хранится код сзмоrо последнеrо сообщения об ошпбке UNIX). Строка приоритета вида .'уровены.средсmво" щдает уровень cepьelHoCТlI и название средства. Если ФУНI01.ия openlogO не была вызвана и строка идентификашfИ не задана явно. то фунхuия syslogO также проверяет. выrШЩIП ли ВТОрОЙ apryMem как стандартное сообщение об ошибке UNIX, например: аdrniлsсriрt: User "nobody" not. found Л /et.c/passwd file. Если проверкз прошла успешно, часть строкн перед lIВоеточием таино прикимается в качеСТВе I1дентиФикзuионноЙ строки. Эта удобная (\:отя 11 недокументированнзя) особеllНОСТЬ делает вызоп функuии орепlogО ненуж НЫМ. Тем не менее, не следует от этоrо откззываТЬСJl, так как лучше 13Ш\ТЬ имя средства одИН раз (в функuии openlogO). чем постоянно ПОRТОРЯТЬ ero в тексте проrpаммы. ФУНlШИЯ closelogO закрывает файл реrистрации. cl08elo9 (); Ее нужно вызывать, еслИ требуется повторно открыть ф,йл с дрynlМИ опuиями. Хорошим стилем также считается вызов функuин closelogO IIp.1 завершении работы проrpаММbJ. Приведем полный npимер сuенария: use SY8: :Syslog; openlog ("adminscript" r "pid, сопs", "usec"l; syslot;J ("info", "Those whom t.he 90ds would dest.roy, they first teach Basic"); closelo9 () ; Этот сuенарии выдает сообшения слсд),ющеrо вида: Оес 28 22:56:24 moet.colorado.edu adrninscript[191J: Those whom r.he qods would de5troYr Lhey fr5t teach Вазiс. 11.6. Поиск полезной информации в журнальных файлах Система Syslog прекрасно подходит для сортировки и маршрyrН13U1Ш сообшений, но в результате все равно получается большой набор журнальны'\: файло8. Они MOIyr содерж.пь MHorO важной информзuии, но се БЫRает не TaKTO просто найти. НеоБХОЛI-fМО дополнителыюе проrpаммнос обеСПС'lСЮIС ДЛЯ анализа :журнальных фаЙлов и поиска в них НУЖI-JЫХ соо6ШСШIЙ. В данном cerMeHTe рынка предлаrастся MHoro бесплатных 11РОЛУКТОf:l. It большинство из них работает примерно одкнаково: онн сканируют неnаFllше записи журнальноrо файла. сравнивают их с реryЛЯРНЫМJ.t выражеШ1S1МII J.tJ базы данных и определенным образом обрабатывают важные сообшсния. Некоторые проrpаммы направляют пользоватето отчет по 3ЛСIo.."ТроннOJ' ПО1Iте. Различия между проrpа.ммами ПрОЯВJIяются в степени rибкостн и р.пмере 6.п данных с шаблонами. 246 Чость 1. ОСНОВЫ ОДМИlистрроеОIIИI! 
Двуr.IЯ наиболее распростраlеннымн проrpаммами обработки ЖУРН8Ш-..иых файлон ННJlЯlOтся утилиты ,walch Тодда Аткинза (Todd Аtkiлs) и logcheck Крейra Роуленда ICraig Rо\vlалd). Первая из них доступна по адресу flP:/ /flp.sla лfоrd.еdu/gепеrаl/sесu rilY 100!s/swalcll/ а вторая  Ia WеЬУЗJ1е hllP:/ /Wv.w. PSiOll ic.com/abact1s/logchcck Утилита swatcll  :по РеrlсuенариЙ.. работаЮШJlП по YKIВ8H1IНM, OCTaB леННЫМ в КОНфИТУРЗIlИОННОМ фа.Йllе. Синтаксис JToro ф.."lйла постаточно rибок. так как позволяет выполнять все сушсствующис в языке Pcrl OIIC-р';ЩИИ сравнения с шаблонами. Уnuшта swatch может обработать конфиrvpаUИОIШЫI{ файл 33 один вызов, но обычно она выполняетсЯ автонОМНо, отслеЖJ..Ш3Я новые сообшения по мере их поступления Недостатком является то, что конфиryраuионный файл. по сути. нужно создавать с нуля. Утилита НС знаеТ об особенностях работы системы и о том, какие реrистраUИОНI1ЫС сообшения в ней rенерир} ютея. Утилита logcltfck  это более простаи сuеllарий интерпретатора sll. В дистрибyrи'В входит также проrрамма Шt языке С, которая помоrает утилите logcheck запоминать свое текущее положение в журнальном файле. Блаrопаря этому у сообшения меньше шансов проЙти иезамеченным на этапе начальной заrpузки ил" перезаrpузки. Утилита может запускаться периодически с помощью демона cron. а не выпОЛНЯТЬСЯ пОСТОЮ-ШО. С утилитой logcheck поставляюТСЯ базы данных с шаблонами для нескольких версий UNIX. Даже если в самой утилите нет особой надобности. полезно просмотреть эти базы данных, так как в I01:Х orУТ содержаться очень интересные и полезные шаблоны. Непостаток обеих утилит состоит в том. что за раз OHI обрабатывают только один )I<,,:урнальный файл Еслн система Syslog шшранляе-т сообщения сразу в нескольКо фаЙлов. нужно дублировать некоторые из иих в KaKOMTO uентралыюм файле, который часто обнуляется, а затем передавать этот фаЙЛ на последующую обработку одному из сuеиариев. Это проще. чем ортаНИjО Бывать сложную сеть сuенариев. ynравляюши:х неСКОЛЬК1fМИ журнальными файлами. Незавиеимо от TOro, какая система используется для СКНlllрования ifI.)'рнальных фаЙ.тюв. есть ряп моментов, которые нужно I1рОВСрИТЬ, \Iтобы В случае нсоБХОП1fМОСТИ Heie1L1eHHO ПРОИllформировать системноro админист ратора. Большинство сообщений. связанных с безопасностью. полжно просмат рнватьсSl lемеnлеННО. Важно О1'слеживаТЬ неудачные попыткн ретистра UИИ, равно как вызовы команд su и sudo. чтобы предотвратить возможныи взлом системы, пока еше не поздно. Если K.rol'O просто забьт ИI1И неправильно набрал паролъ (как чаше -веето быиает). то появление операТИ8НОЙ подскззки произвепет хорошее впечатление и повысит репутацию системнота администратора. Сообщения о нехватке места на писке должны помечаться и lемедлеНIЮ оfiрабаТЬ18атъся. Котдз писк переполнен. работать на нем lевозмоЖНО МюrОkратно П08ториемые сообшения ззслужнкзют flНlfМ31IНЯ. ХUПI бы ради профилзктики. 247 r ЛО80 11 Система Syslog и журнольные файлы 
7 2 Драйверы и ядро ?JrJ ./1 "  1 "Jr' 'ib r.  со J   g ,--,?,?; // , (t'I  ') /fi} у  \  J( "v/ \    I    /I  I I  J . SA"Z «  fi c)    UN IХ систему можно разб.rrь на три основных уровня; . aпnаратные средства; ядро операuионной системы; . пользовательские проrpЗММЫ. Ядро скрывает доступ к аппаратным средстнам системы бл-аrодаря абсТра.....ТНоМу высокоуровненому интерфейсу проrpаММl1рОВ3НИЯ. Оно ОТ8ечает за реализацию мноrих КQнuепuий, KOTOpЫ ПО:Iьзопатели J{ проrpзммы пользоватеЛЬСКОfО уровня ПрИИИ!l.f3ЮТ как нечто само собой разумеюшееся. Например, на базе аппаратных ВQзможностей 1-П13КОfО урО8НЯ ядро резлюуст слепуюшие элементы операUИQННОЙ системы UNIX: проuессы (зашита адресных пространств. разлеление времени 11 ресурсом пропессора); сиrн8ЛЫ и семафоры; . вир1Уалъную память (выrpузка. ПОЛКаЧК3, отображеlll-lе 8иртуа:IЫIЫ\: адресов в фИЗlfЧеской памяти); Файловую систему (файлы, каТaJlОrи. пространство JrмeH) . межзад8чное взаимодействие (каналы и сетевые сое!lинеиия). Ядро содержит драйверы устройств, которые управляют отделыlмии элементами annapaTHoro уровня; осталънвя часть ядра в оснОВНО\1 не зависит ОТ внешних устройств. Взаимосвязь ядра и драйверов устройств аналОПfЧна связи между ядром и проuессами полъзовательскоrо уровня. Korna rrpouecc проснт ядро npочитать первые 64 байта файла jetc/passwd, ядро транслирует эту просъбу в команду драйвера устройства. наlТрИМр "выбрать блок ]]48 ИЗ устроЙства 3" Драйвер прелставляет эту команду 8 виде послелоаТС:IЬ ности двоичных кодов. которые посылаются u уnравляюuIltс репlCТРЫ устройства. 248 ЧОCl"Ь I ОСНОВЫ одмин",стр,РОВО"'Io1R 
Ядро написано преимушественно на языке С. но для НИJкоуровневой обработки частично использовался язык иССС"fблсра. MHOro лет назад объекJный код ядра UN IХ имел довольно умеренные размеры (обычно rораздо меньше половины меraбаЙТR). 3а последние [оды на уровне ядра были реализованы сетевые и мноrОПОТОКОRые Функuии, а стоимость микро схем памяти СИ1ТЪно упала, поэтоfo.-ry теперь ядро ззнимвет от 400 Кба-rп- до бопее "ем ] 5 Мбайт. 12.1. т I1ПЫ ядер  Все UNIXclfCTeMbI позволяют пользователю лредостаПJ.rrь ЯДР\' RВII}'Ю информаuию о том, какие аппаратные среnствз присутствуюr в системе. Некоторые янра MOIyr самостоятельно искать устройства. В So!aris япро по'"rrи полностью является модульным и может заrружатъ дpaltвepы устройств по мере необходимости Не нужно сообшать системе заранее. какие устройства присyrствуют, так как компания Suп разработала Оllеиь четкую аппаратную архитектуру (сравнимую с архитектурой пеРСО(laJIЬ ных КОlПъютеров). Котда ядро обнаруживает новое устройство, ПОДЮlЮ'"IеННое к системе, оно ищет и lаrpужает МОДУЛЬ соотвеТCiпуюшеrо драйвера. В большиистве случаев llaHHbIi Механизм работает без сбоев. КЗI< и в Solaris. в Н p UX ПОDдерживаеТСSI относите.'lЬНО неБОЛЬШШ1 1I четко Оl1ределенный Kpyr аппараТIIЫ'< УСТРОЙСТR. Как правило, CltCTeMa само('тоятелъно I-Iах:одит устроиства без особоПJ вмешательства пользоватеЛЯ. В общем случае но FreeBSD и нруrих BSDcItCTeMax на :папе КОМПIlЛЯUИИ ядра I-I}'"А<IЮ яви о YKalbf8dTb. K3КF1'e устроЙства MOJyr быть нейнены Б системе. И HorAa следует также lздать, тде имеm-lО подключено устройство. Подобную инФормшию часто бывает трушю получить. так как производители псрсо l-IaJlЫIЫХ компьютеров не всетда ее предоставляют Приходится снимать корпус и самостоятельно находить ответы на вопросы наподобие следующеrо: "Какой микропроuеССОрl-lЫЙ набор },становлеи J--I3 моей FrhеПlеlплате?" Lil1LlX находится посреДJlне между Solaris и ВSDс.истемами. Как и f.reeBSD, Linux страдает от работы в среде персональных комттьютеров, rде очень сложно опреде!lИТЬ точныи состав аппаратных УСТРОЙСТ8 в C-I1СТСf.,'lе. Ядро LiПlIХ Т8Jo..'Же МОЖIIО ско}{фиrypировать 8РУЧНУЮ, сообщиn ему заранее об имеЮШIfХСП УСТРОЙСТН8'<, в результате чето размер яnpа получитсSJ Оlfень большим. С нрутой стороны. напускается конфиrурrЩИЯ 8 стнле Solari. KOI.Ha драинеры l<:H-РУЖШОТСЯ по мере необходимости. ПодnерЖК8 модулей Б Lillux Не CTO.:'lb YJ--lИI1срсаЛ},НfI. KK R Solaris, 110 R ОСНОRI-ЮМ это С8язано с l-IеПОСnПК8МИ архитектуры персоналъных компыотеров. В табл. 12.1 указано местоположеlше KaTa.rтora, в котором выполняется построение япра, и CTaHдapTlloe имя Нl-lсталлироnанноrо ядра в каЖПОЙ из четырех TCCTnDbIX СИСТеМ.  [пр]  .. ;/ т аблицо 12.1. Местоположение ядер в TeCТOBblJ< системах СиcrеМQ Solaris Кgтолоr ДЛЯ построения I!дpo Ядро fkcrnel/unix /stand/vrnunix /vmlinuz -или /Ьооt/vmliлш fkemel I HPUX /."'nd /usr/8rcjlinux /usr/src/sys Linux FreeBSD 249 r лаво 12 Дройверы J.1 ядро 
12.2. Зачем нужно конфиryрировcrrь ядро При инста..'IЛЯUИ-И системы создается базовое ядро. которое рассчитано на работу практическм 8 любой аппаратной среде. В ЭТО ядро ВХОДИТ множество драйверов устройств и дополнительных пакетов. Имеет СМЫСЛ переКQНфИryрировзть ero, чтобы адаптировать к конкретной системе: удалить модули. которые никоrда не будут использоваться. и отключить неНУ"А<ные опuиИ. Незan.еЙСТВОВ81П-1ые компоненты ядра не влияют на работу 0lстемы. однако занимают лраrоuенную память. Современные ядра лучшt: спраПJ1ЯIОТСЯ с 8Ыrpузкой ненужных драЙверов, чем их преШllественники. но большинство ОПLlИЙ по -молчаНIfIO ВКJIЮ"lеНQ. В Н8Ш1i ДНИ заниматьсЯ переконфиryрироnанием ялра для повышеНI-IЯ эффеКТIIВНОСТИ ero работы У'...ке не так актуально, как раньше. но, тем не менее, это хорошая ПрИnЪJчка. Еще одна причина, по которой может потребоваться переконфиryрироuатъ ядро. заключается в необходимости побавить подu.ержку HOBoro типа устроЙ ства (т.е. Hoвoro драйвера). Файл драйвера нелъ.зя просто записать в ката.лоr ядра: ero нужно интеrpировать в структуры данных и таблиuы ядра. В некоторых системах Ш1я этоrо следует добавиlЪ 8 конфитураuионные фаЙлы япра свеления о новом устройстве, т.е Т1ерестрOlПЬ Я!lрО заново. В .1,Р}ТI1Х системах требуется uьmолнить спеuиальную прOl-р3ММУ. которая сама внесет необходимые изменения. 0' Инструкции 110 добавлению 1I0во?о драйвера "риведены в nараlрафе 11.8. В ряде систем реализована конuепuия заrpУ'А<аемоrо лраЙвсра устройства. которая в большинстве случаев пo.nразумевает, что новый КОЛ можно заrpужать в ядро в проuессе ero работы Однако это опасНая проuдура, не BcerHa ПРИ'Rоля-щая к нужным реЗУJlьтатам. Компилировать ядро не так уж сложно. Сложнее восстановить ero работу. если чтото было сделано не так. 12З Конфиryрирование ядра в Solaris На этапе заrpузки ядро Solaris Оllрашивает системную шину на препмет наличия устройств и инициализирует драйвср для каждоrо наЙденноrо устройСТ'ва. Ядро поддерживает концепuию заrpужаемых модулеЙ и заrружает код только для тех устроЙств. которые реально ПРl1СУТСТВУЮТ (если IIC ПОСТУШ1JlО пруrиx указаний). Блаrодаря средстнам а.втаматичеСКОfО КОНфНl)'РИРОН3НИЯ в Sоlзп релко возникает необходимость созданать собственное ядро. В идеальном Мl1рС- ядро Solarls правилы"ю идеНТИфИUИрОВaJlО бы свою аппаратную cpeд в 100% случаев. К сожалению, нестандартные или ПроСТО дефектные устроЙства (либо лрайверы ОС Solaris) МОl)'Т превратить проиепуру аВТОКОНфllryРИРОВаНИЯ и источник нескончаемых мучений Учmъrnая сказанное, давайте рассмотрим, как конфиrypировать ядро Solaris на случай, если это коrданибудь понадобится Область построения ядра Чтобы проuедура зarpузки драйверов по запросу работала правильно, в Solaris принята спеLlиальная орrанизаuня каталоroв. Система ожидает, что в 250 Часть 1.. ОСНОВЫ одминиcrрирOlШНИЯ 
опреnелеl-ШЫХ местах Фаft;IORОА системы ШL'\ОДЯТСЯ нужные каТi:lЛОПf. R которых солержатся МОlIУЛИ заШН--II-!Оrо rипа: /kernel  "шпули. общие для компьютерО8 с ОЛlll13КОВЫМ набором I-'НСТРУКllИЙ проuессора; /рlа[rоrП1/и.-ЧЯluатфор.мы/kеrllt"1  МОд)ЛII, спеШlфнчные ДЛЯ конкреnюrо rИIli:l КОП1ьютера, например LII[ra Еп(еrpri...е; /рlаtrоrm/имяк-лассаl'строЙст8/kеrnеl  молушt. СПСllифичные ШIЯ KOH кретною КI(зсса аппаратных 'стройств, например ДЛЯ всех \f3ШНН семейства "UI14LI"; /lIя/kеrllеl  3113ЛОПfчен KaTa..10' /kernel. Опреле;нпь нмя платфор!\.fЫ If имя класса устройств можно с IIОМОII(ЬЮ J..:OMdH!l UЛ3П1t" i (f uлаrnс П1 соотвеТСТВflШО. PaCC\lOTpr1\1 причср 1. uл.amе i .sшw. Ul:TaEnterprise "ii UnaJll.e 1II SUIl4'.1 Korna l..':1fcтeM(\ Solaris lаrp:ужается. она просмзтривает след\'юшую после ДОRатепьность Кi:lТзлоrов: ,'рlаr.fОПI1/ J.fия плаrформы/kеrпеl: Ikernel: /usr/kernel пыт;'iясь НttiПII ялро. В первую очередь ИШТСЯ файлы с 11МСНСМ IlПi'Х. :d laTC1  genuni'X. Второе l1tя оБОlllaчает Ilлатфор!\tноне)аниси"" ю часть б;;повоrо ядра. В J..:.IЖЛОМ 111 llере'lllслt"IНIЫХ J..:аталоrов может содержаться несколько CTi.lILдdPTHbIX ПО!lкаТ:lлоrов (таб.1 12.2). Чтобы lобежать ненжной !leT;'i..,IIIJa ШНI. мы 8 ла;lьнсЙше"! будем ссы:шться на оообшеНflыf1 KClTil..'lOl. KEH.N[L. ознаЧЮЩlll1 любой К;iталоr ядра ПОДКОТQЛоr т аблицо 12.2. Подt(отолоrи .отопorо /KERNEL в Solorls cirv rrisc <':::pL s:.r..loa !:-pilrc9 S 5ched :0;)'5 qenunl.X Содержиое , Заrpужае\.tЫе обыктные файлы для .прайверов устрОЙСТВ '1 файл-ы конфиrурашut, содержаuше адреса ВССХ устройств заrpужземыc 06ъcKTHыc файлы для р;аз..'fИЧJ--LЫХ ПОДПРО[J)аIМ ядра проuессорныc МО'nУJlИ DJIЯ машин UltrзРARС МОllУЛИ  TRE.A.MS 64. рззрJlQ.Ное ядро Модули Jlдpa, связаНl--lые с ФаЙJIOНЫМИ системами Мо.Ц)'JlИ ДЛЯ расшиФРОИКlt форматов IIсполняемых фай:IOИ Модули плаЮlрования процсссов Заrружасмыс СИС1СМllые функиии Стандартное J1Jlатформ_нонезаВИСlIмое я.n.ро Ба.зовое Iшатформно 3<iВltсимое ядро Обычно нет неоБХОДИМОСТII менять фаЙлы в JПIХ KaTil..101ax. еС:1II только не ВЫПО.1ияется инсталляuия Hoвoro драйвера. СДlIнственным iСКJ1lОчеНlfе!\l MorYT быть файлы с расширением conf 8 каталоre KERr\EL/dn.. 8 которых r J106a 12 Драйверы и дpo 251 
сопеРЖ8ТСЯ параметры конфиryраuии конкретных устройств. Но даже их нужно менять только Torna. коrда этоrо требует производитель устройства. Конфиryрирование ядра посредством файла /etc/system Файл /etc/system в Solans ЯБ.,Т'Jяется rлавныM конфиryраuионным фаЙЛО\-1 ядра. Директивы и переменные. которые МOI'}"Т поЯ1i11ЯТЬСЯ В этом фаi:iле. перечислены в табл. 12.3. nepeMeHHbIM нужно назначать значения с поf,.IOШЬЮ директивы set. Таблица 12.3. Директивы и переменные. используемые В фой ле /еtс/sузtеm Имя ТипНозночение root f s D roetdev D forceload D exclude D modd.1.r D .ее D V ptcnt V max  nproc V maxuprc V Задает ТИП файловой системы кориевоro раздела Задает местоположс::ние кориевоro раздела Задает драйверы ("модули"). которые ДОllЖ.Нh1. быть заrружеиы Задает модули, которые' не нужно заrpужать Задает ВЛЬТСРН3ТИ.Dное местоположен.ие модулей Задает перемен.ные настройки ядра (например. maxusers) Определяет размеры таблиц и ряд дPyI1fX пара метров Задаст ЧИСЛО .nОС1)'ЛН.Ы:Х псев.аотерыиналов Зздает максим.а.т.ное Ч}fCIlО процессов Задает максимадьное ЧИCIlО ПОJIЬЗОватe.m.cких npоцессов D  директива, V  перемен.ная. Снстема обращается к файлу /еtс/s)'stеш во время начальнои jзrpУЗЮf. поэтому МОДИфИU1fровать ero ну.+аю краЙне осторожно. иначе система Не сможет заrpузитъся. С по1\1ошыо команды boot a можно задать путь к резервной копии файла, если она бblла создана (если ее нет, а имеюшаяся версия не работает, укажите /dev/null). Пример файла /etc/system Рассмотрим образеи файла /ctc/s)'slem для простоrо ядра: rооtfз: ufs rootdev: /sbus@l. f8000000/esp@O. 800000/sd@З. 0:8 Эти строки rоворят о том, что корневая файловая система булет иметь тип UFS (UNLX File Sysl.em  ФаЙJlОRaЯ система UNIX) и располаJ"аться- в разделе sdЗа Синтаксис, исполыуемыJI JL'1Я зидания устроЙства. солержашеrо корневую файловую систему. идентичен синтаксис}'. при меняемому 8 I1pO rp8MMe мониторинrа openprom системы Suп. Д-ТIЯ каждой ПЛdТфОрМЫ он свой, поэтому обратитесь к имеюшейся документаUИIf или прослелите СИМВ(1Личе ские ссылки в кзт3.лоrе /de'l. moddr: /plat:torm/SUNW. 01 traEnerprse/ kernel: Iplat.(orm/sun4u/kernel: /kernel: /usr/kernel Данная строка (перенос был сделан, так как она Не умещалась иа страниuе) задает путь поиска lаrpужаемых МОlIулей. Эта запись рекомендуется 252 Часть I Основы администрировония 
на Ciраюше руководCiВЗ kemel. но она не задана по умолчанию, поэтому ее нужно устаювитъ самостоятельно. exclude: sY5/shmsY5 !orceload: drv/superplot.r.er Первая строка исключает из ялра попсистему совмеспюrо ИСl1ОлыоваНШ1 памяти, Чiо позволяет HeMHoro уменьшить ero размер (на caMO леле ]то плохаЯ идея. так K3J.: CIICTeMa может иачать работать неправи.'1ЬНО). Вторая строка задает заrpу)"' драйвера '.суперrpафоnостроителS','. :!ес. rrLaxuser",,64 Эта CТpOJ.:3 обеСIIС\llfRает IlilСТРОЙ"-У размеров таб.1НU ялра 113 поддt:рil\К} одновременной работы 64), пользователей. Отладка конфиryрации Поскольку Solaris динамичеСЮf формирует системную среду, отлаДJ.:а сбоиной Мclшины может оказаться сложным делом. К счастью. 8 этоЙ системе предусмотрены среЛСТRa, Н03RОЛЯIOшие отобразить текушую конфиrураuию компьютера. Команна prtcOIlr НЫ80ЛИТ нз ЭКр3l-l свеления, относяшиеся 1( обшей конфиryраШН-1 !\I<lШIIНЫ. вк.лЮtlctЯ ее тип. номер модеЛII. объем памяти и данные о сконфиryрирошlННЫ'\ ;':Iппаратных срелствах. Строки. которые оrlИСbJваroт устроиства (точнее, НХ драЙверы), ОфОрМlеlIЫ T3KIfr...j образом, что инфОРМ31lИЯ о пер1фсриrш ых cTpoi1CTuax отображиется 8 виде дерена. Команда sysdcr  это улучшенная версия команпы рrtсолf. ПОМIIМО обычной IIнформаuии она также выдает список драйверов псевлоустроиств. нзстра18аеt-.-rых параметров ядра и имен заrpу..Менных юдулей. ЕС1И I\fQДИ фицируется стандартное ядро важноrо KOf-,шыотерз, не забывайте лобавить копию выхопных .з.анных команды sysder в фа:И>lЫ документаш.ш по этому КОМПЫOl.еру. ИнформаШIЮ о линамичес.:и аrpУ"А<земых модулях можно ПОЛЧ1IТЬ С ПОlOшью команды modinro. Подобным образом в Solaris заrpужаются драЙверы устройств, драйверы файловых систем 1-1 МОДУЛН STREAMS. Не УДl1вляйтесь. если в выводе комзнлы modinro будет содержаться свыше пятидесsпи ПОЗИUllЙ. ДОПОJ111ительная И"нфорtаШlЯ ПРИВОДIIТСЯ В параrpа фе 12.11. 12.4. Построение ядро HPUX в HPOX прнменяется старып поз.ход к построению ядра: все лраifflеры вк.1Ю'IЗЮТСЯ в одно бо..'Iьшое ядро. Имеется также сложный и Jaпутанный КОНФИl1'рашюннЪfЙ файл. К счастью, адМJ.lнистрнпmная утилита S.A.M позво ляет сушественно упростить весь проuесс. Настояте."1ЬНО рекомешуем Iачать осваивать процедуру построения ядра именно с этой :утилIfты. Ее rрафический интерфейс прост: достаточно выбрать команду 8 меню. 11 ядро будет построено. Единственный недостаток заключается в ТОМ, ЧТО НУЖI-lО быть rOTOBbIM после a...-ТllвизаIIИI-1 команды "Process пе\\! kernel" HC!\fClVIeHHo персIl'УЗИТЬСЯ. В этом параrpафе 1Ы рассмотрим. как СОЗП3ВЗТЪ ядро вручную. тзк как эта проuелура обычно не описана в локументаШ11l и не столь очевипна. как 13 случае ПРllменения УТИ.1ИТЫ S.A.M. Проuесс ручноrо построеНIIЯ ядра более 253 r лаво 12. Дроиверы и IЩРО 
управляем, поскольку можно сконфиryр,."ровать "1 скомшtлироuать ядро. а затем дождаться H}'"A<HOrO времени для перезаll'УЗКИ системы. Кроме Toro, Ie требуется иметь под рукой Хтерминал и тратить время 113 мноrО\jltслеНllые движения мышью, Korna достаТО'II-IО ВВt:СТIt Bcero несколькО комам. Конфитурирование ядра HPUX осушествляется посрелством фаlfла /stand/system. ПредваРИТeJ1ЬНО необхолимо скопироnать этот файл под дрyrим именем; мь! воспользуемся именем system.example. Файл system обычно rенерируется утилитой SAM. поэтому он труден W1Я поииманиЯ и в нем отсутствуют комментарии. Единстненный способ узнать. что означают все эти заraдоqные командЬ! и переменныс.  использовать саму утилиту SAM. Но можно просто lаrpузить ее и раСllечатать копию окна с конфиryраЦl10Н ными параметрами. это позволит получить список имен иаС1lJ3И1k1СМЫХ переменны.х. а также краткое описание их назначения С указанием CTaHnapT ных значении. Наш файл s)'stеш.ехamрlе представляет собой список лрайоеРОБ, ПОДСl1стем и переменных, которые будут встроены 8 ядро. Устройстnа обычно псречис лены первыми, за НI01'и идут подсистемы. В коние указаны персменные с их знаqенияш. GSCt.oPCI asioO с7ЗО зdisk sct.l cdf5 nfscore STRМSGSZ 65535 dump lvol nst.rpt.y 60 Как видите, расшифровать JTOT СIlИСОК невозможно без 110МОUlИ УТИJIIПЫ SAM Если переменной приспаивается зн,чеНl1е по умолчанию. то оltа вообш(" не включаетсЯ в фаил. В табл. 12А перечислены некоторые наllболее часто используемые переlенные вместе с их стан.дартны",ш Jначен.нями. Переменноя Па умолчанию maxtl1es  11т 1024 maxusers 60 maxuprc 75 nproc 276 nfile 910 nflocks 200 пiпоd.е 476 npt.y 60 nstrt.el 60 nkt:.hread 499 Таблица 12A Полезные переменные фОЙf10 system в HPUX Оn"lсоние Неиэменяемое макСltмальное Ч"IСЛО ОТКРЫТЫХ файлов в одном процессс МаксИМ8ЛЪНое число одновременно раБОf'"dЮШIIX пользователей Макс.имал.ъное число ПОJlЬЭОuareльских npouecCOll Ма.кСИШLЛ.bное ЧИCJЮ процессов Максимальное число ОТКРЫТЫХ файло" Максимальное ЧJ1сло блокироlIOК фidЙJЮН Максимальное число открытых HJ-IдC'KCIIЫX Дe скрилторов Макс.и.м.альиос число псе8ДотсрмнналО1I Макскмалъное число сеансов teloet Максимальное число пОТОКОв ядра 254 Чость 1. ОПlOвы ОДМИНIIIСТрI1роSОШ\JI 
После окончания редактирования фаила sуstеm.ехзшрlс остается пос.троrпь )IДРО с ПОМOIJlЬЮ команды mkkernel. По У\,1QлчаНI1Ю эта команда берет )СТiIНОIIКИ И.J файла /sland/s)tem J.I создает япро с именем /Slапd/vmuпiХ.lеs1. С ПО'-"юшью ОПШIИ s можно указать друrой конфиryраuионный фаJ.iл. а с помошыо ОПШIII o  пр}rое имя япра В нашем случае команда бупеr IIметь слепуюший НJ.Ш: \ mk.kerne1 B /1!IIta.nd/вуstепа.ехашр1е o /stв.nd/vшuniХ.8хашр1е Ilеr>с::ззrpзиться можно" любое упобное время. Если нужно, чтобы новое япро .JаrpУ'.+:aJЮСЬ а8томrnчески. скопируЙте старое япро /tJПd/vmuпi). купаt--lИбупь и поместите 113 ero место новое япро. 12_5_ Конфиryрирование ядра Linux n роиедура КОНфltryрирования ядра LiШIХ совершенствуется уже повально no.'Iroe Время. опнако она псе еще постаТОЧIlО IIримитивна 8 сравнении с прynlМИ операшюнными системами. Весь проиесс сосрепоточен ВOKpyr фаила /usr/srс/liпuх/.сопfig. В этом файле приведена ВСЯ lШфОрМ8UИЯ, касаюшаяся конфиryрирования япра. но ero формат очень труден ДЛЯ понимания. Для упрошения работы в Linux rlрепусмотрсно несколько mаkесцснариев, реалн JУЮЩIIХ различные интерфейсы конфиryрирования ядре! Если В систем.: устаliОИJ1ена оболочка Х \Vindows. то улобнее 8cero НОСПОJJЫОНiПЬСЯ komaJ-ШОЙ lIlake xconlig. Она отображает окно КОНФllrура.ШII.I. в котором \.fQЖНО выбрать лраr1веры УСТРОЙСТ8. побавляемые к япру (IIЛИ КОМПИЛl1руемые 8 качестве 3aJ'ружаемы модулеЙ). В ОТСУТСl ВНе rрафическоii среды на помошь придет команда makc Пlспuсопlig, работающая на основе библиотеки curses.. Наконеи, есть Сlарвя команда Пlаkе conlig. которая отображает запрос на изменение каждor"о конфиryрашюнноrо параметра и не позволяет меиять сделанные ранее установки. Мы не рекоменпуем ею пользоваться. Все эти команды просты. так ка...: их пейстние СROДIПСЯ к \'С1"3Н08ке нужных ОПШIИ. Тем не менее. они мало подходят llЛЯ ситуаUИl1, Korna нужно ПОДlIерживать Е-Iесколько версий япра для раJЛItЧI"IЫХ архитектур или аПllарат ных КОllфиryраuий. В любом случае rенерируется файл .config. имеЮIШП-1 примерtlO такой нип: # AtJtomatically qeneratea make co(]fig: dол't edit ! .. Code maturty level optCI(]S I CONFIG  EXPERIMENTAL==y I " Processor type and features . If CONFIG МЗВЬ not sel '" CONFIG M.t.I86 is (]ot set If CON?"IG М586 is not se1:  CONF!G  M58o"!"SC iз not set. CONFIG  м686==у CONFIGX86 WP ЮRКSОК--v Б"бНlотека curses содержит функции, ФОРМИРУЮЩltс псевдоrpaфкческий иmерфейс в терминальном окнс" '"ПОВО 12. Дроиверы и ЯДРО 255 
СОNFIGХВбINVLРGу CONFIG  ха 6  BSWA.P""'y CONFIG  Х86  POPAD  Ol(С.У CONFIG  Х8б  TSCy CONFIG Х8б  GOOD  APKy Как видите, содержимое файла не СЛИШКОМ понятно; не дается никаких пояснений относительно Toro, ЧТО означаюr теrи CONFIG. По сути. каждая строка CONFIG указывает на активизаuию Toro или иноro параметра япра. Значение у rоварит о ТОМ. ЧТО соответствующий кш.шонент t\:омпилtруется вместе с ядром; значение rn означает. что компонент будет заrpужаеМЫ"1 мопулем. Не все компоненты можно сконфиryрировать как модули. В файле .config сведений об этом нет. поэтому нужно самостоятельно "покопаться" в документации. Не TaKTO леrко узнать я Назначение тerOB CONFIG. Обычно данную информацию МОЖНО извле'fЪ из файла Сопfig.iп, имеющеrося в каталоrе кaжnoro ДPBliвepa. Но собирать все эти файлы нелеrко, так что лучше просто воспользоваться КОМЗJ-UIОЙ make xconfig ИЛИ rnake menuconfig. После Toro КаК создано рабочее ядро, ему нужно на этапе началыюf.i заrpузки передать спеmtaJIьные конфитурационные параметры. например ИМЯ KopHeBoro устройства или инструкцию, указьrваюшую на необходимость проверки нескольких Еlhеrl1еtплат. За передачу этих парамеТРОБ OT8e'Jaeт [JLO  заrpузчик Linux. Статические параметры КОНфИrypauии мож1--!о задать в файле /etc/lilo.conf, указав ключевое слово аррелd; дополнительная информация была лриведена в лараrpафе 2.2. Если отредактировать фаЙЛ Illo.conf не представляется воэможным (чтото было сделано Не так и машина не заrpужается), требуемые параметры можt-ю задать при запуске LILO. Например. в строке лриrлашения LIW введите следующее: LILO: lnux. root-:/dev/hd.al eth.r=O,O,.thO eth.r-:О,О,еthl эта строка заставляет LILO заrpузить ядро, обозначаемое меткой "Iinux", использовать в качестве KopHeBoro устройство /dev/hda] и провернть ИИ,;1ИЧ1.lе дВух Еthеmеtплат. Поcrроение ДВОИЧНОro дpa Llnux Модификация файла .солfig  это самый важный этал в прOl1ессе конфюурирования ядра Liлux, но нужно вьmолннть еще uелыЙ ряд действий. прежде чем получить rотоиое ядро. Схема Bcero процесса такова: . перейТИ с помошъю команды cd в каталоr /usr/src/llnux; . выполнить команду make xconfig или make menuconfig; . выполнить команду make dep; . выполнить команду make clean; . выполнить команду make bzlmage; . выполЮiТЬ команду make modules; . выполнить команду make modBlesinstaU: . скопировать файл /шi. /src/linux/arch/i386{boot!bz!mage лод именем {boot/vrnlinuz; 256 Чость 1. ОСНОВЫ ОДМ5llНИСТррОВОНЯ 
отредактировать файл /etc/lilo.conr и добавить в Hero Jo:онфиryp8Ш-lOнные параметры ШIЯ HOBoro ядра: запустить проrpамму /sbin/lilo, чтобы инсталлировать пс:реконфltryрltро ваннЫЙ нача..'1ьны1! заrpузчик. Выполнять команду make clean не 8cc:rna Н)')fI.'Нo, НО. как llравило, лучше очищать переменны среды. чтобы ИJбежать МНОП1Х тр)днообнаруЖИБемы", проб..lем, Настройка канфиryрации к сожа.l"еЮfЮ. nocpencTBo1 файла .config невозможно осущеСТВЛflТЬ настройку nsp3MeTpoB ядра Но это можно делать с помошью файлов 8 катал-оrе /proc. являюшемся ОТЛeJ1ЬНО-Й файловой системоА. Они напоминают стандартные файлы UNIX. но на самом леле являются "Ш:lюзами" к '!дp. ПОlВОЛЯЮШИf,.Пi просматривать и менять ero параметры прямо в npouecce работы. Если в одном из этих фИЙ.'1Ов есть значение, которое требуется изменить, МОЖНО попытаться осуществить запись в этот файл. Правда, t-Iс все файлы доступны .для записн (отображаемые права .доступа не .пают пшlНОЙ картины). и ниrле в ЛОhу'ментаuии не rОВОРlfТСЯ о том, в каКllе фаАлы можно осушествлять заПIIСЬ, 8 D какие  leT. Например. чтобы изменИтЬ м:асиыа..lьное число фаИ.'10В, которые МОЖIIO открыть в одном npouecce, введите таk.-УЮ команду: It 8СЬО 32768 » Iрrос/.У8It.lt11.ШIU Со временем моЖНо привыкнyrь к столь нетрa.n.IШI-lOННО?f)' IfнтерфеАс} взаИfOле'Йствия с ядром, тем более что он очень .побен лля Illr.tенення КЩlфИrypвuионных параметров. Но сразу преДi11реднм: изменения не ЯБ.'1Я ются постоянными. Чтобы зафиксировать их. нужно лобавить соответствую шие команды echo в craploBbIe сuенарии. В таоп 12.5 перечислены некоторые ПQ.lеЗl-Lые файлы. ТаБЛJ.ща 12.5. Фойлы в kотолоrе /proc. содеРЖОШ1е чосто l-IостроивоеМll1е порометры дpo F nlemax По УМОЛЧQНиЮ 4096 Назначение Котолаr 1 Файл F iпоdеmах 16384 Задаст максимальное число открыты;\( файлов в одном npouecce Задает максимальное ЧJ1СДО открытых ин.дксиых lI.eCK рипторов в одном Ilроисс Разрешает Ilрохо.ждение IP пакстов. если значснш: paB но I За.д.:иет иrнорнронанис IСМР-запросов КО!>оlаНJlЫ ping, CCJUI знаЧСЮ1е раиt-!О I Задаст иrнорироваНI1 ШН РОАОИС1l12ТС,'lЬНЫХ запросои k.O},t8НJlbl ping, CCJUt знаl(е J-{}!e равно I N iprorward о N IcmpechoiJDo..eRII N icmp  еchоlgпоrе  broadcuts 1 F  /proc/sy,/fs, N  /proc/sys/n<t/ipv4. r лово 12. Дройверы и дpo 257 
12_6_ Построение ядра FreeBSD Приведенные в этом параrpафе примеры были получены в системе. работаюшей поп управлением FreeBSD, НО КQНфИJ)'раuия для Ne(BSD. OpenBSD и BSD/OS очень похожа на по.азаиную. у каждоrо ВSDядра есть ИМЯ, На которое следует ссылаться в холе вcero проиесса КQНфИТУРИРОвания. '3то и..мя может быть любым, но оно ДОЛЖIЮ указьmать на систеМУ. rде будет работать ядро. Если ядро предназначено для выполнения на одной конкретной машине, в качестве имени лучше 8cero подойдет сетевое имя компьютера. Чтобы лостроить ядро FreeBSD, нужно сначала создать конфиryрацио". ный файл со СПИСКоМ парамеТРО8 Hoвoro ядра. ПОТОМ следует запустить команду conlig для создания К8Т8Лоra. в котором булет вестись КОМПИЛЯUИЯ ядра. Имя КОНфlН1'рационноrо файла становится именем К8талоra. 8 затем J1 c8Moro Япра. Все файлы, необхопи,,",rые Д..'lЯ построения ВSDялра. на,'ходятся 8 каталоre /osr /src/sys, на который обычно создается символическая ссылка в K8Ta!тore /sys. В дальнейшем мы будем обозначать этот каталоr прописными буквами SYS, просто чтобы полчеркнyrь, что ero местонахождение никакоro значения не ИМеет. Если найти конфиryрационный Каталоr Не удается, обратитесь к документauии. Вот результат ВЫПОЛНеНИЯ команды 15  F для каталоra SYS: I 8 F Makefile ddb! lbkecr\/ net1.net/ pccard/ alpha/ dev/ mescfs/ netipx/ рс:!.! boot/ qnu/ modules/ netkey/ posix4/ cam/ iЗВ6! msdозf5/ пеСпа t.m/ SУS/ coda / i4bI net/ пеСП5/ Uf5/ compile/ isa/ netatalk/ пЕ5/ vm! conf/ 150Е5/ пе Са tm/ ntfs/ contribJ kern/ netgraph/ рс9В! Каталоr iЗ86 содержит мопули, зависяшие от архитектуры машины: '" 8 F 1386 MaKefile Ьоос/ ei5a/ арт/ conf/ 1386/ ibcs2! include/ sal liпuх/ в катал-оre SYS сопержнтся ряп важных каталоrО8 С обшим назваmtем SYS/apxuтeKтypa/con[ в Н"Х н,,-,олятся конфиrypациоиные файлы, кажлыii ИЗ которых соответствует одному ядру. В нашей книre мы предполаrclем, ЧТО используется архитектура Iшеl i386. хотя операuнонная система FreeBSD поддерживает также архитектуру Аlр11З. Команда conlig читает фаЙл КОНфИ rypации нз каталоra SУS/йрхшпеК11Jура/сопr и создает соответстнуюшии ,0мпиляционныЙ каталоr лол именем SУS/еоmрilе/JfМЯЯДРА. Например. KorHa системu инсталлируется первый раз, создается базовое ядро с именеМ GENERIC. СтанпзртныА КОНфИJ)'раuионный фаЙл назьшается SУS/iЗ86/сопf/GЕNЕRlС. поэтому КОМПИЛЯШlOнныи каталоr булет назв." SYS/compile/GENERlC. Остальные кзталоП1 в ветви SYS сопержат различные компоненты ялра. nyreM объединения которых формируется исполняемый образ ядра. Точный переченъ файлов и подкаталоrов у Юiждой ВSDсистсмы свой. 258 Чость I ОСНО8Ы ОДМИНИСТрИрО801ИЯ 
Схема построения ядра Процесс построения Hoвoro ядра СОСТОИТ IП ВОСЬМИ этапов: . ревизия аппаратных средств системы; СОJдаtntе и редактирование файла конфитурации ядра 8 К8талоrе SYS/i386/conf; иыполНеНие КоМаНДЫ сопfig в каталоre conr: выполнение команпы make dcpend в КОМПl1ЛЯШЮННОМ КатзЛOJ'С; построение ядра с ПОМОЩЫО IlporpaMMbI шаkе: архивирование СПlроrо ядра и инстa.rшяция HORoro; тестирование и отладка H080ro ядра: покументирование H080ro ядра. Ревизия аппаратных средств системы Прежпе чем КQНфиryрмровзть J1ПрО. нужно определ"-ить, какими устрой ствами ему 11рlшется управ.:1ЯТЪ. Провешпе инвентаризацию системы и составьте СПИСОК всех устройств, ПОДК..f1lОченнъrx к компьютеру. включая: . жеСТЮiе ЛJfСЮf, дисководы CDROM. npУПlе пиСКQВОДЫ и и.х KOl-ПpOллеры; сетевые ИlrrерфеЙсы; спеШfзлизированные УС1l'ойства: клавиатуру и мышь Полобная ревизия может ока1аться tlрезны;:!.йноo трупоемкоtf в мнре перСOIlaJIЬНЫ\: КОМlIьютерОIl ПРOlП8олите:ш ПК часто продают полностью собранные маШIН-JЫ и не сообщают подробно их КОМllлеlo...таuию. А просто ука1iПЬ "Е[tlC'Пlе[Пllатз"  недосНtтОЧНО. Выпускаются сотни различных плат. у каждой И3 которых есть десяток модификаuий. Как праВIIЛО. IIРИХОДIПСЯ разбирать ко\.птъютер и CMOтpelЪ. что конкретно устаНОЮlено внутри Heffi. Не забудьте на )Тапе нача..i1ЪНОЙ заrp,JКlf просмотреть сообшения, выпаваемыe ба 10ВЫМ япром. Из НИХ можно узнать о ТОМ, какие праЙFlеры следует ВКЛЮЧИТЬ в ядро. Получить текуТ1.IИЙ список распознанных устршств можно С ПОfOшью команпы dmesg. В качестве ПОПОЛНlпельноrо спраВQЧНИ'К3 можно вослользоваться фаilЛQМ SYS/i386/conr/l.lNТ. Создание файла конфиryрации в каталоrе SYS/i386/conf Решив, какая КОllфик)'раuия ядра НУ'А<II3. следует rlредстанить лу I-fНфОрМ311ИЮ Н форме. которая бупет ПOlIЯТII8 команде config. Дня этоrо в катз:юrе SYS/i386/conf СQздаеТО1 файл конфиryрctШШ. Иr-.НI этоrо фаила можеl быть любым. но 01-10 должНо быть достаточно содсржательным для Toro, чтобы любой Iеловек. впервые заrлянунший в кзталоr SYS, CMor Оl1репеЛJ.rrь. для чеrо предна:lНзчено каждое ядро. Не создавайте фаl1J1 КОНфИI)'раш1И с нуля. Лучше скопируйте фаЙл GENERIC и удалите из Hcro те части. которые не нужны. Если возникнуr какиеm1бо вопросы, связанные с этим фаИ:IОМ. обратитесь к покумеlпаwп..r на команду conlig. Хорошим источником информаuии СЛУАСат также mап страНIIНЫ, ПОСRяшенные драйверам устройств. В НИ1\. обычно привопятся стрОЮ-f из фаЙла конфиryрацин ядра, которые можно взять в 'Качестве образца Н3l1рпмер, П1апстраllиuа .д...ЧЯ устроЙстиз de наЧIfНi:lется так: SYNOP51S devce de r ЛОВО 12 Дройверы и ЯДРО 259 
Это именно та строка, которую I-IУЖНО поместить D фаЙл конфиrурс:щии. чтобы подключить к ялру соотuс:тств}ющее устройство. (Конечно. ЗТО не самый удобный метол. так как. Ш1я Toro чтобы найти m8nстраНI-1U. необходимо узнать имя драЙвера устройства. В этом вам поможет КО8нпа man k.) Описание формата КОНфИI)'ращюнноrо файла займет добрый десяток страниu. поэтому МЪJ Не будем npepbrвaTh обзор проuесса построения ядра. а отложиМ описание до параrpафа 12.7. Выполнение команды config Перед запуском комаН,ДЬ1 conlig необходимо перейти в каталоr SVS/iЗ86/сопf. поскольку именно в Те...."УшеМ каталоre команда раССlИтывает найти файл конфиrурации, указанныЙ в командноЙ строке. Простые всре"и коман.пы принимаю! одинеДИНСТ8еннътЙ aprYMem  имя фаЙ.18. В БО:lес сложных версиях имеется ряд опuий. Чтобы создать КОМПIlЛЯUИОННЫЙ KaTdJ10r пля ядра, олисанноrо в файле SYS/1386/conf/EXAMPLE. мы ВОСnОJ1ьзуем<и таким-и коман.да\iИ: ., cd SYS/1386/cont' н cont19 :&XAМPLZ Если команда conlig выдает сообщения об ошибках, необходимо исправить файл tшнфиrураШfИ. преж.nе Ie прополжать. ЕСЛ1l же ошибок не бы:ю. сltJитайте l что по крайней мере синтаксически конфиrураut-lя верна, If лродолжайте работу. Выполнение команды make depend После завершения команлы conlig перейдите в компиляшюнный кзта.'101 HoBoro ядра (cd ../../complle/EXAMPLE) " введите комаНд} 1.. Должно отобразиться очень MHoro фаЙлов. Пусть их содеРЖJн.юе вас не ROлнует: команда conlig знает. что лелает. Теперь 8ЫПОЛЮIТе команду шаkе depend Она ИНИЦlfa.rтизирует информа. uию о СВЯЗЯХ между файлами JU1я nporpaммbI make. Эта комаНда может ВЫДаТЬ большой объем Л8ННЫХ Построение дpa Находясь 8 комnиляuионном каталоrе, просто задайте команду mзkе. В процессе компиляции ядра нужно внимательно следить З8 сообшениями об ошибках П ротрамма шаkе. как праВII.ЛО. ВЫПВJlяет ошиб....'"И и прерываеr компиляцию. но никоrда не помешает проявить бдительность. В качестве лополнительной меры З8ШИТЫ укажите команл} tee, которая застаВIIТ проrpзмму make реrистрировать в журнальном файле все сообщении. посылаемые на терминал: # шakе 1  t.. ERRЗ. LOG Оператор [" nос.т:rе знаКа канала указывает на то. что через канал бу.;з:ут направляться как сообщеЮfЯ об ошибка).:. так и информационные сообшеllШI. По.ттъзоватеnи интерпретатора Boume shell должны воспользоваться такой команп:ой: t mak. 2>,,1 I tBB ЕRRЗ. LOG 26 0 Чос-ь 1. ОСНОВЫ ОДМИI-IИСТРИРО8011 
знаком решетки (#) и концом строки, является комментарием. причем пустые строки иrнорируются. от арry1l-IСНТОВ ЮIючевые слова отнеляются пробелаМIt. Во всех остальных случаях пробелы и знаки табуляuии иrнорируются. Целые числа в файле КОНфИ1)'рзиии MOJyr быть представлены 8 шестнадuатеричном, восьмеричном или десятичном формате. Восьмеричные числа идентифиuируются начальныМ нулем. а шестнадцатеричные  пре фиксом Ох. Если символьная строка содержит числа, которые необходимо трактовать как текст, ее нужно заклЮчить в нвойные кавычки. Упримяющая фраза начинается с ключевоrо слова, которое определяет, как нужно интерпретировать оста..ш.ную часть строки. Далее следуют apl)' менты. Для некоторых I01ючевых слов можно указывать список apryмeHToB. разделенных пробелам и Иffi1 запятыМl1, но удобнее задаваТЬ только по одному aprymch-ry в строке. Если для I01lОчеROrо слова задается MHoro apryмeнтoB. то нопускается указание нескольКИХ идуших подряд фраз с данным ключевым словом и разными аРf)'ментами. Порядок управляюших фраз обычно не имеет значения. Т ралиuионно используется порядок. показанный 8 табл. 12.6. Таблица 12.6. Ключевые слова, J.1спользуемые в файло): конфиryрациJ.1 ВSDсистем Кnюче80 слово ФуНКЦИЯ machine Задает тип машины cpu Задаст "IИп центральною проиессора ident Задает имя я.ара maxusers Задает размеры таблиц идра options Задает различJiы.e оnшw КОМПИJlЯЦИИ соп f i9 Назначает корневую область И область подкачки controlle:r Объявляет коtпpOЛJlер диска ИJlИ пeКТhl disk ОбъltВJlЯет диск, ПОДJCЛЮЧенны:Й к контроллеру tape ОБЫIIUl.Яет ленту, подключенную к контроллеру device ОбъЯRll.Яет УС1рОЙСТва без КОtпpOЛJlеров pseudodevice Объявляет псевдоустройстsз Ключевое слова maxusers КЛЮlевое слово maxusers задает размеры нескольких важных системных таблиu. Как следует из названия. apJ"'Y1'.1eHТOM здесь является максимальное число ПОЛЬ..10вателей. которые MOryr одновременно работать в системе (хотя в большинстве версий UNIX предел как таковой не устанавливается). В обшем случае следует увеличивать этот параметр на ениниuy nля каждоrо из пользователей. которые предположительно будут одновременно работать в систеМе. Если конфиrypируется ядро JU1я сервера NFS, параметр maxиsers соответствует количеству машинклиентов. Для каждоrо буфера кадров. с которым может работаTh rpафическая мноroоконная система, нужно нобавить число восемь. Параметр rnaxusers мияет на значения нескольких дрyrих параметров ядра, в частности на максимальное число прош:ссов, число записей в таблице дескрптrrоров файлов и число буферов lVIЯ терминальной подсистемы 262 Чосп. 1. Основы одминистрированиS! 
BBoдaBblВoнa. Самую важную роль IIrp8eT первыЙ из перечисленнык пара метров. Вот формула. 110 которой он вы'шсляется: Максимальное число процессов == 20 + 16.roaxusers Здесь учтено. что ОКОЛО 18 процессов запускаются при 331-рузке ядра. Ключевое слово options ПиреКnfR3 options предназначена W1Я объявления переменных. ...нтep претируемых препроцессором в ходе КОМПИЛЯllИИ япра Существуют две формы этой пирективы В перпой из них определяются имена переменны,' но им не ПРИСRЗИваются конкретные знаlения. эти имена используются ДЛЯ Toro, чтобы указать, включена опиия или нет (директивы препроuессора #fdef и iifndef). Коrда арI)'Ментом директивы options ЯRЛяется имя, ТО определяется соответствуюшая макроконстанта препроцессора. Вот. к примеру. фраза. ВКJJючаюшая в ядро подаержку NFS: opt.ions NFS Обратите внимание на то. что во FreeBSD любая строка конфиrураuи OHHoro файла, содержашая буквы и цифры, должна быть З8Юlючена 11 каВЫЧКI1. Например, Ilодn.ержка файловой систеМbI ISO9660. используемой при работе с компактписками. аlo.тивизируется следуюшим образом: орtiоnз "СD9660" Во второй форме Пlfректива не только определяет переменную. но также присваивает ей конкретиое значение Ядро использует паниую переменную так. как будто это константа, а преnpоиеесор языка С выполняет необходимые подстановки 1I11намически Переменная TaKoro типа оБЪЯRЛяется посрепством следуюшеrо синтаксиса: options символ" ЗН03чение" Например, Ш1я изменения значения переменной МAXDSIZ (максимальный объем виртуальной памяти, которую можно выделить eerмeHТY данных одноrо процесеа) используется такая строка: options МAXDSIZ""II (64*1024"'1024)" в этом ПрИJ\.rере для переменной МAXDSIZ задано lначение 64 Мбайт. Н иже переЧJ-Iслены наиболее распространенные ОПUИI1. Н и onlla из них не требует задания какихm1бо Jначений. Полньп1 перечень опниЙ .полжен предоставляться поставщиком. INET эта оnuия ВКJUOЧает по.ддержху сетевых проroКОЛОН. При ее отсутствии мноrие rlроll'аммы будyr работать нсправильно. так ЧТО опцией она Я8JUlетСJl лишь ном.tНально. НеоБХОДl1МО также ВКЛЮ'liПЬ псевдоус1рОЙСТВО loop (см ниже). Опция INE'I' активизирует сетевую по.ддерж.ху ТОЛЬКО со сторонЫ ПРОfJ'иммноrо обеспечения. Объявление сетевых устройств дается в KOH фиrypационном файле позже. FFS Данная опция позволяет подключать к машине локальные диски. она устанавливается всеrда, кроме случая. KOrдa формируется исключительно "тонкое" ЯдРо ШIЯ бе:шисконоro хлиеитз. NFS эта опuия включает поддержку NFS. Она требуется как для клиентов, так и для серверов N FS. r лово 12. Дроi1веры и ядро 263 
GA:-EWAY Такую опцию следует устаН8ВЛI,IВ8ТЬ н.а машинах. которые содержат более WlHOro сетсиоro шаерфейса и преДН8зн.вчены для 8ыполиения функuий ы.арwрути3aUИ.И И пересылк:и сообщсний в сети Iп(сmс(. В н.астоищее нремя эффекr от этой опuии незнач.и:reлен: она зцает увеличение рюмерон некоторых СТРУК'ТУР ядра, чтобы оно мотла справляться с ожидаемой нa.rpУЗКОЙ, и. обеспечиваст реализаЦ)IЮ спеuиалъноro ceтcвoro ре::к.и.м:а, еслн ОДИН И!I интерфейсов 8blXOll.HT из crpoя. Ключевое слово config Директива confiq используется Д.'1Я зада.ЮIЯ местоположения KopHeaoro раздела на дисках CI1CTeMbl. Корневой раздел  самый верхний элемент иерархии файловой системы. Он содержит каталоr I и несколько прyrих важных файлов и ПОДlCаталоrов. Информзuия о том. как монтаровать файловые системы, обычно хранится в файле /elc/fstab. но операuионная система может побраться до неТа только после монтирования KopHeBoro раздела. o Более подробные сведе1/UЯ о фаЙ,е р1иЬ содержатся в "арарафе 8.3. Для начальной заrpузки файловой системы Иl-Iформаuию о разделе. вкrrючаюШем корневой каталоr. нужно либо интеrpltровать в ядро путем Компиляции noc.,lemero. либо (в HI:'KOTOpbIX система'IC) передать ядру посред СТВОМ заrpузч-ика. Что касается раздела подка'-JКИ, то ситуаuия HeMHoro проще. потому что подкачка вря.n. ли будет иметь место до Toro момеlпа. как стартовые сценарии (/etc/rc*) запустят команду S\liapon. Синтаксис пире....'ТИвы config таков: сспf1.9 ИURядра. root оп РiJщел л ара метр U.АlЯяdрu lадает файл. Б котором БУ!lет "'рашпься СКОМПJlЛ"РО ванНЫЙ образ ядр. Ядра Free8SD I-Iззынаются kernel, имеНi:I сUIътернаТIfВНЫХ япер полжны ипеНТИфИШ1ровать .писк. которыЙ они испопь lУЮТ ШlЯ "ранен ия KOpl-lевоr'О РЗJДС..'Ш t например. dakenlel) Пара метр раздел сообщаеr о том. в каком ра шеле на''':одится корневая фаiловая система. Д-rя IDEm1cKoB это обьrчl-IO ра:зпел wdO. а д..'Нl SCSI дисков  daO. Ilолностью директива ,::опf!.q Rыrлядит I1римерно так: config ker:nel root оп wdO Возможность построения альтер"аТIIБI-IЫХ Rapl13HTOB ялра rlOТJеlНЭ С ТО'IЮf зреНIfЯ rmаНIlРОВа.rия мерОПрШПllЙ по ЛИКВИШIШН1 после'nСТВIlf1 звэрlН1. Второй KOpl-lfПQИ раЗдел. оснашенный СВОИМ соБСТПСI-II-Iы\t ядром. может оказать большую ПОМОШЬ В случае поврежпения ОСllOБноrо KopHcooro раздела. Если ВСПомоraТС.1ЬНЫЙ разде..1 \lпра8ШJеrся им же контроллером. ,ТO 11 поuреж.nенныЙ, обязательно пеpt:п переза('р зкоЙ убеДlпесь в работоспособ ности аппаратуры. иначе вы рискуете разрушить JзпасноЙ раздел 10ЧНО так же. как пере!l этим разрушили осноинои. В некоторых системах проuедура l-Iзча.-IЬНОИ J.H-РУЗКlf IlрОИЗВОДIПСЯ ..:: пискеты или КОМПа.КТДИСКi1 30!rpУ'jЧИК расположенныи 1Ы дискете, lH&\eт MCCToH8XoJt\дeHlte ядра и может vправлять ero вызовом rСЛII IIмеется запасной KOpllCBOH раисл. то прt..'tется COJJMTb еше опн jillPjjOLll-1Ю пнскету. котор.т будет cro испол ь lовать. 264 Часть I ОСНОВЫ администрирования 
Аппаратные устраИCТ1lа Синтаксис объявлений устрОЙСТВ довольно rlyraHbI,,",. и основные элемен ты. необходимые ШIЯ Toro, чтобы ЗRстаиить систему рнботать. ИЗl\.'lенЯюТСЯ ОТ ...ашины к ".шине. И нформаuню об устройствах ...ожно по.,учитъ в р.зделс 4 документаuии по ВSDсистеl\.'lаl\.'I. В большинстве mаn 4 страниu, пQсвяшенныx др.йвер.... устройств, ПРИВОДИТСЯ при....р конфнryр.циоююй строки, которую следует доб.вить к ядру. Не 1юспринимайте приведенные здесь инструкции буквально. Ниже рассматривается обшпй синтаксис, но, поскольку мы преllполвrаем. что в большинстве С;J}'ч.ев вы будете модифициров.ть базовую конфиryраuию системы, а не создавать ее заново, мы не будем рассказывать о ТОМ, как писать свои собственные спеuификации устройств с нуля ВОТ исходная форма объяв.:lеt-IИЯ: тип устройства ИМЯУСТРОЙQТ8о! at соединение port. IIJlpeC { класс УС';'РОЙСТJ581 irq лрерывание Не все Ilреп.nожения этоЙ ИНСТРУКUJIl1: применимы ко всем УСТРОЙСТИ3l\.'I. Параметр тUII.....>'cтpUUc.пrBG., как спедует из ero IIа3ваниЯ, задает тип объяв ляемоrо устройства. С неКОТОрЫ\fИ устроствами связаны свои ключевые слова, в частноспt con':.roiler И dlSk. Все осталЬНblе устройства иденти фицир}ются общим словом device. Параметр tL"JЯ'строuствG.  это стандартное имя устройства (точнее, иlя драйвера устройства) птос ero ЛОП1чесКlf-й' номер. Напрнмер. имя nepвoro IDЕконтрOJыера  WQCO. АналlПl1РУЯ базовую КОНфl1ryраuию, можно понс кать ииформзuиlO о каЖЛО\f устроЙстяе в разделе 4 докумеНТ3l.111И и выяснить_ какое устройство скрывается JИ тем или ины\1 именеМ_ Отметим. 'lто лоrическнЙ HO'lep \'СТРОИСТН:I не имеет никакоЙ с8язt-l с l-юмерО\i устропствз, заданным нппар.атно. Парамтр l.:oedи"eHue I.:ОООlцает яnру, rдс: I,еобходнмо искать Дi:1ННОС УСТРОНСТ80. ДЛЯ дIIcKoBы' 11 пеНТОЧliЬf\ накОIIНl'елеl1. K.I!K I1раВИJJО. УКа3Ы8зетс Sl И"l\.fЯ контроллера_ Для контроллеров и rlрОЧИ>' внешнИХ устройств задается имя [ШfНЫ ЮНf контроллеРfl ШИI.JЫ. Например. в следующих строках оБЪЯВЛЯlO1СЯ систеVlllая шина ISЛ. подключенный к неЙ IDЕКОIПрОJllер (1 IDЕдиск. соеДШ-lенныf1 с KOI-IТроЛ.'1ером: conr.::-o.ile.c controller disk saO wc:icO ar. ...sa? porr. ":OWDl" bio 1rq 14 \ItIdcO at wdcO dr.!..ve О в БОЛЬШl-Iнстве C:ly(aeB достаточнО констатировС1ТЬ. что устройство подключено к контроштеру KOHKpeTHoro типа. не указывая. к какому иl\.-fснно. Например, место подключения [DEKOнтpo!LT]epa wdcO обозначено выше не как isaO и-ш isal, а как l.sa? Параметр адрес. apryMcm КЛlOчевоrо слова port, обозначает MecTOHaxo жnение реrистров YCTpoCTna в адресном пространстое Шlrны ИТИ объедини тельноЙ панели. к которой оно подк.IJЮ'IСНО. LL,я КОНтрО:1!1еров и устройств, ПОДЮ1l0'lенных непосредстпенно к шине. этот l1apaMeтp Ilзше Bcero задан. С устройством каждоrо типа связано определенное число алресных ячеек. которые оно ззню,ыет 8 а.1ресном I1pOCтpaнCTBe шины. Залапать ЗI-I8чения нужно то;тько мя устройств ISA и EISA. РClдраnверы дин,мическн определяют диапазон адресов. с которыми работает устройство. 265 r ЛОВО 12. Драйверы и дpo 
В параметре прерывание задается вектор прерываний (IRQ), используемых устройством. Как и в предыдущем случае, он требуется только д.."JЯ устройств ISA и EISA. а РClдрайверы сами определяют нужные лрерывания. С некоторыми устройствами нужно связывать параметр клаСС1IстроЙствG.. В основном ЭТО относится к ceTe8bll\.'1 устройствам и отдельиъrм контроллерам. Получить соответствующую информацию можно на mancтpaнHue по KOH кретному устройству, Вот строка конфиryраUНIf сетевой ISАnлаты N Е200. D которой НСIlОЛЬ зуются 8се переЧИС_l1енные выше параметры: dev1.ce edO at. l.sa? port ехЗБО пес. irq 10 в этой строке сообщается о том, что устройство edO нужно искать на шине ISA по адресу Ох360. УстройсТ1!О нсполъзует прерывание 10 rораздо чаше те или иные ключевые слова не вклюqаются в диреk'ТИВУ. Ниже показаиа строка конфиrypauии ЕtI1еmеtплаты, на этот раз подклю ченной к шине PCl: device deO Блаrодаря достоинствам интерфейса PCI мы избавляемся от необ)..оди мости знать все детали функuионирования устронстм_ Самый эффеКТlmный способ построения 8ышеупомянутых объявлений  rpуmтироватъ связанные устройства_ Если в системе естЬ какойто контро.'1Лер. разместите рялом с ето строкой строку подключеllноrо к нему устроЙства. Например. сразу после строки для контроллера I DE следует расположить конфиrypационные строки подключенноrо к нему IDЕдиска или дисковода CDROM. Так rораздо леrче проследить связи между устройства.rn. Ключевое слово pseudodevice Теоретически лрайm:ры псевдоустройств  это проrpаммЪ1, которые ведут себя как драйверы устройств. но Прlf этом не подперживают никаких реальных аппаратных средств. Мы rоворим "теоретически". потому что некоторые компоненты ядра. маскируюшиеся под псевдоустройствз, вообще не р.аботзют ка" лрайвсры устройств. по крайней мере с точки Jреl-ll-1Я пользощпеЛJl. Синтаксис диреJ<..iИНЫ pseudodevice таков: pseudodevice имя уСТРОЙСТВd числй экsешurяров   ApryMem WrtЯJ'строuства  это имя псевnоустройства. анеобязательный apryмeH! ЧUCiIOэкзем,L'lЯРОВ  uелое чИсло. показываюшее, сколько подобных воображаемых устройств якобы имеется. Во мноrих лрайверах счетчик экзеmляров не нспользуется. Обычно применяется лишь несколькО псеnлоустроhств. но БОЛЬШИНСТRО из них необходимо для нормальной работы cl1cTeMы. В некоторых система..х предусмотрен ряд HecтaHдpTHЫX псемоустройстн. которые nодnеРЖI-Ш<lIOТ оконные ПОДСJfстемы. дополнительные клавиатуры (1 НСnОТ\lоrзтеЛЫlые дис nлеи. Прочтите в документаuии о том, как обрашатъся с такимИ устроЙствзми. или просто активизируйте R базовом файле КОНфl1ryрапии все псевлоустрои ства. чтобы не возникало случайных конФликтов_ 266 Чость I ОСНОВЫ одминистрировония 
Ниже ПРИ1lCден перечень некоторых распространенных псемоустройств: pty Устройства РТУ  зто псевдотерминалы. Они имитируют насТОR1Ш,е терминалы. но вместо реалъноro терминала к каждому ИЗ них подключен какойнибудь UNIХПрОIlесс. ПсеВдотерминалы активно используются сетевыми проrpаМl\.'lаt.fи. такими как ssh, хtепn. telnet и rlogin. Кроме Toro, с ними взаимодействуют некоторые стаlШартные утилиты (например, script), обрабатываюшие посредством них BXOД ную ннформаuию. loop Драйвер loop имитирует устройство сопряжения с сетью, в которую вХОДИТ только локальный компьютер (так называемЫЙ иllтерфейс обратной связи). Этот драйвер позволяет автономным машннам использовать сетевое nporpaMMHoe обеспечение и, кроме Toro, пре доставляет машине ст3IшартныIn метод налравления сетевых пакетов самоА себе. Он иеобходим, если установлена опция INET. o Подробнее об интерфейсах и адресйцuи вы узнаете в i!ЛаВf /4. Пример файла конфиryрации Давайте рассмотрнм образеu фаЙла конфитурации ""коroнибудь лростоrо ядра. которое назовем EXAMPLE: machine cpu cpu cpu cpu ident maxusers .. 1386" "I386CPU" "I4Б6СРU" "I5Б6СРU" "I6БбСРU" EXAМPLE 32 Первые несколько строк rоворят о том, ЧТО мы создаеМ ядро для платформы Intel ре и оно должно подuерживать все указанные типы проuессоров. Имя конфитурацни  EXAMPLE. Ядро конфнтурнруется . расчете на одновременную работу максимум 32 пользователей и 532 проиессов. options options options options INET "со9660" FFS NFS Internet: TCP/IP файло:ваJil сис'rема !50 9660 (CDROM) , JlокаЛЬtidЯ файловая СИС'l'ема (FFS I t сетевая фаЙIТоваJil система (NFS) Это лишь небольшой фрarмент секuии опций из конфиryраuио нноrо файла. Наше ядро конфнтурнруется . расчете на поддержку работы в IПlеrnеl. локальных файловых систем. фаЙловой системы ISО9ббО (используется компактдисками) и NFS. config kernel root. оп wdO Основной корневой раздел булет расположен на первом жестком диске IDЕ. controller isaO controller pnpO controller ei:saO cont:.roller pciO r лова 12. Драйверы и ядро 267 
Прнведенные выше строки объявляют различныс: шинные Иlперфейсы, пол.п.ерживаемые в системе: ISA, ElSA н PCl. Во второй строке вк.rIЮLlае.ТСR ПОllдерЖ1<а теХНОЛОI'ИИ Plug Bnd Pl.oy ДЛЯ ISАустройств (рпрО). control1er atkbdcO at 1.381 port: IOKBO tty devlce at.kkldO а'!: isa'? tt.y irq 1 device ратО at 1si!l? t.t:y lrq 12 devlce vgaO at 1:9а1 port ? conflcts .. хр4НИТeJ1. зкраНi!I pseudodev1ce eplaeh .. ауЗСОП8  ЗТО стандартКbIЙ драйвер t<:10НСОЛИ. напоwкнanцей f(ОНСОЛЬ SCO device зсО at 1ва? tty в этих строках объявляются все злемс:НТЫ т необ"оди:..{ые lL'Т'JЯ работы консоли: К:lавиатура и ее контроллер, мышь, видеОПlата и сама KOI-lСО.'1Ь. 1* rиекие ДИСКИ controller dsk dlsk fdcO fdO fdl а1: эа? port. "IOr'Dl" 1:110 .:.rq б drq 2 at fdcO drlve а ас fdcO drl.ve 1 t Контроллеры и жест!(Ие controller wdcO disk wdQ disk wdl controller wdcl disk wd2 dis;c ""аЗ дv.СI<.И 1 ОЕ ас iga'? port "IO.WD1" bio irq Н. at wdca dr!ve Q а!.. "'асС drive 1 at за? port "!OWD2" bio irq 15 а!.. wdcO drive О at. ""аса drive 1 Здесь объявляются различные КОlIтроллеры и диски: КОНТРО:IJlер rllБКJlХ дисков, д-ва дисковода rибких дисков (используется толЬКО один 113 них, 1-10 объЯ'Вить второй не помешает) и два KOHTpOJU1tpa I ОЕ с соотвеТСТ8УIOШИ\Н1 дисками, optiOflS opt:l.OnS device ATAPI ATAPI ST.'TIC acdQ 110ддержка АТАРl для ши.ны IDE не делать заrружаемыы модулеы IDЕдисхевод CDROM Во FreeBSD нужно включать показанные выше спеuиальныe ОПЦШf ДЛЯ поддержкн IDEycтpOI\CTB_ Др"rmер IDE мОЖНО СКОНФ"'-УРl1ровать как заrружаемый модуль ялра. но если IDЕдиск СОllержит ....opHe80t'l раздел, драЙвер ЛQJIжеl-l подключаться статичеСЮ1. В rlрОТИНIIОМ СЛУЧ.i1е CIICTeM;rt Не сможет обнаружить корневой рюде'1 на :папе н.ачll.'lы-iil заrpузки. pseudodevce loop рзеudоdevсе ether pseudodevice bpfilter .; i сетевой ИН'1'ерфейс оератной связи . поддержка Ethernet I фильтр nat(eToB Беркли Из этих псеВДОУСТРОЙСТ8 только первое (100Р) явдяется обязательным. но в общем случае все псевдоустройства следует включать в конфиryрациlО GENERIC. Лсевдоустройство ether необхо1IИМО ДЛЯ поддержки Elhernel оборудования. Псевл.оустройство bpfi.l ter требуется llJ1Я заnyска УПIJlИТЫ tсрdшпр и DНСРклиентов. Ero можно удалить, чтобы заnрепrrь ПОЛbJонате. лям выполнять анализ сетевых пакетов. Н о в этом случае сам администратор лишится возможности ПРОIIJВОДИТЬ днапюстику сети. 268 Чость I ОСНОВЫ одминистрИрОВОIИR 
Настройка дpa Ядро KERNEL не настроено на максимальную ЛрОИЗВОllителы'осТЬ, что будет особенно звметl-lО, если ИНСТWlЛИроИ8ТЬ u системе крупный WebcepBep. Прнведем нескоЛЬКО указан и" по улучшению работы ядра FreeBSD. ЧаСТИЧIО динамическую ti8СТрОЙК)' ядра FrccBSD МОЖНО выполнять с ПОf...ЮШЬЮ команды 6)'sctl, которая реализует rюльзоватc.nьский интерфейс доступа к t(eKOTOpblM внутренним структурам и параметрам ядра. Это очень МОШН8Я (и OI1SCl-lая) KOM8H.lla. Команда syscU iI. выводит список переменных ЯДРВ. Почти нее параметры, перечислеIOiые в табл. 12.7. ДОtтупиЫ ДrlЯ динамическоrо измеНСI-IИЯ. В дo кументаuии оченъ мало rовориТСЯ о ТОМ, что означает каждая переменная: подсказкоП служат только имена персмеиныХ. Изменения, вносимые команДой sysctl, теряются при nерезаrpузке СИСтемЫ. Как правило, команпа sysctl применяется ДrlЯ тестирОВ8ВИЯ; если же изменеtlИЯ требуеТСfl сделзть постоm-lНЫМИ, нужно отремкти-ропать конфиryраllИОННЫ файл и переКОМПИЛИрОВ8ТЬ ядро. Преимущсство TIlKoro ПОДХОда заключается n ТОМ, что в любой момент можно пе.резаrpVЛПЬСfl. и система нернстся в исходное состояни. В табл. 12.7 перечислены nеременные. наиболее часто менпе\IЫе с помощью КОМ8НЛЫ syscrl Таблица 12.7. Важные переменные ЯДРО FreeBSD. доступные ДПЯ измЕtiенlo'\Я комонДОи sysdl kern.max.proc По умолчанию 1064 532 1064 Макси.мальное "llICl10 открытых файлов Максимальное ч..исло npoueccoB Максимальное число ткрытых файлов в одном npouecce Макси.мальное "llIСЛО npоцеССО8 для oд Horo nол:ьзоватeJUI Переменная Опtofсон...е kern .maxfiles kern . rnaxf i lesperproc kern. maxprocperu1.d 531 kern. ipc. nmЬсltlзtеr.s kern .lpc.rnaxsocker.:s 1024 1064 Максимв.лъное число сетевых буферО6 Макcи:мL'IbНое число ДОС1)"ПИЫХ СОКС:ТОВ Обратите внимание на то, что 8 стандартной конфиryраНIfИ отдельный пользователь может занять все ПО'Jиuии в таблице процессов, кроме одной. Это таит в себе потенциальную уrpОЗ\', так каК, даже если в систеl\.'lе действительно работает Bcero один пользователь. не резервируется место для запуска системных ПрОllI:ССОВ. Желательно делить болъший интервал \-Iежпу значениями перемеННbJХ maxproc И mаУ.рrосреП::il.d. Н иже мы ОПl1шем проиесс fOДификаuии векоторых самых простых параметров ядра GENERIC. Обычно это нмеет смысл делать на WebcepBepe, '\отя рассматриваемые изменения ПОЗВQЛяют повысить производите.ПЬНОСТЪ большинства сетевых сервер08. m.axu:sers 26 Параметр rnax\.::isers Rлияет на ряд друrю. характерИСПIК япра. 8 чаСП-lОСТl1 н.l маКСlIмальнос JИСЛО проuессов 8 системе и n"'1Я одноrо r nаво 12. Дройверы \11 ядро 269 
ПО':lьзователя, максималЬНое число откры, ых фаилов в системе и в отдельнuм процессе. а также максимальное число сетсвых буферов. Ilри конфиryрltрО вании сервера жеЛ8телыfO устанаR."'1Ивать достаточно высокие лимиты options NМВCLUSTERS4096 Здесь задается разумное число сетевых буферов. По умолчанию их Bcero 256, что яедопустимо мало даже в серверах среднеrо размера. орtiОЛ5 CHILD  МАХ==1024 в приведенной директиве определяется максимальное чИСЛО дочерннх процессов в СИстеме. Коrда речь идет о сетевом сервере, :JTO число должно быть достаточно большим. Как правило, демоны, выполняемые I-Ia сервере, создают дочерний проuесс ШJЯ каждоro ПОС1)'Пившеrо запроса на ПОДКIlючсние. орtiОП8 QI?EN  МAXoooI024 Здесь УСТЗl-lавливается максимальное число дескрипторов файлов в системе. Обычно ЭТО значение должно быть равно параметру CHILD МАХ, так как с каждым запросом на ПОДКЛЮ'-lеНИе связывается СвОЙ деСК'Риmор. 12.8. ДобавлеНl-1е драйверов устройств ДраЙвер устройства  зто проrpамма, которая обеспечивает в-заимодей ствие системы с определенным компонентом аппаратной среды. Драйвер вьmолняет роль переводчика команд KOHKpernoro устройства на "язык" АРIфункций япра. Блarодаря НaJlJ1ЧИЮ драйверов обеспечивается приеМ1Jе мый уровень I-Iезависимости U N IХ ОТ внешних устройств. Драйверы ЯW1ЯЮТСЯ компонеmами ядра. а не ПОЛЬЗ0вателъскими процес сами. Тем не менее. дос1)'П к драйверу возможен как Иj ядра, так и со стороны команд полъзовательскоrо уровня. Для последних в каталоrе /de'll создаются специальные файлы устройств. Ядро преобразует операUИII. вьmолняемые над этими файлами. в обращеНJ1Я к коду драйвера. Раньше, во времена хаоса, Д"lЯ большинства аппаратных устройств требоВ3..'lИСЬ интерфейсная плата и спеuнзлъный драйвер. Затем, КOI.да МНОПlе системЫ стали подперживать teXl-lолоrию SCSI 8 качестве стандартноrо интерфейса ПOПЮlючения дисков, лент и дисководов CDROM, а поставшики интеrpировали в свои системы подnерЖК)' СТalшартных технолоrий. в частности Еthеrпе[. появилась надежда на СПl.бильностъ. Потом наступила эпоха ПК. которая снова внесла хаос в наш преКрi1СШ.1I мир системных админнстраТОР08. Власть опять захватили патентонаНl-lые интерфейсы, появились мноrочисленные "стандарты" и RсеВОll\.южные аппа- ратные устройства с различными уровнями поддеР)k'l(И со стороны опеР3ШI онной системы. И вот ЧТО мы DИДИМ: в Linux подпержи-вается более 30 различных tlэборов микросхем SCSI дЛЯ пеРСОl-laJIЪНЫХ компьютеров, и каждый из них продается в два раза большим числом поставшиков; существует более 200 сетевых интерфейсов для перСOl-l3JIЬНЫХ Ko"тыoтe ров; ЭТИ интерфейсы пре!UТаrаются различtlЫМИ постаВШlfками пол ра.зными именами; . все время разрабатываются и выпускаются новые, улучшенные. БО:lее дешевые устройства; Д!IЯ каждоrо из них нужен свои драйвер. ра60таюшии с требуемой версией UN IХ. 270 Чость 1. ОСНОВЫ ОДМИНI-1СТрИрОВОНИ 
Учитывая скорость появления IЮНЫХ устройств. I1раt..'Тически невозможНО выпускать дистрибутивы операuиоl-ltrыx систем, в которых интеrpИРО8<:l.на поддержка всех новинок. Поэтому ра.з за разом приходится самостоwreльно добавлять к ядру новые драйверы. Изrотовители оборудования обращают все больше вниманИя на рынок UNIX и даже иноrда создают UNIXверсии драйверов. Если повезет. JlЛЯ имеюшеrося устройства в системе будет и драйвер, и инстрyкnии по ero инсталляции. Но вероятнее вcero. н)'жный драйвер можно будет найти только на какойнибудь l-IеОФИUИ3JIЬНОЙ WеЬстраниuе. Как бы там I-IИ было, ниже fo,.fbl опишем. что происходит в системе Прl1 добaRЛеюtи драйвера устройства. Мы предполаraем. Lrтo читатель ознакоми.IIСЯ с приведенной вЬШJе базовоЙ проuедурой КОНфИIiрироваtlИЯ ядра. Номера устройcrв Для мноrИХ устройств в каталоre / dev имеются соответствующие специальные файлы; исключение в современных оперanионных системах составляют ЛlШIЪ сетевые устройства. С каЖдЫМ из ЭТИХ файлов связан старший и младший номер устройства. ПосредстВОм этих номеров ядро преобра.зует обрашения к файл} в выовыы Н)";кноrо драйвера. Старший номер устроиства обозначает лрайвер, 1а которым закреплен данный файл (дрyrими словами. он обозначает тип устройства). МЛ3дШltй номер устройства указывает на то. к какому кон кретно устройству Т10добното типа следует обрашаться. Мл3lIШИЙ номер устройстви '-Iасто называют просто номером или экземпляром устройства. Узнать номера устройств можно с помощью команды Is I: , 1. 1 /d8v/.dJa brwrw 1 root disk 8. Q Мае 3 1999 /dev/sda Младuшй номер иноrда используется драйвером ДrlЯ выбора конкретной хараlo,,:теристи'КИ устройства. Например. l-IаКОlllfТелъ на маrнятной ленте может иметь в каталоre /dev несколько файлов. обеспечиваюших реализаuию различных сочетаний параметр08. таких как JUlOтность записи и налиtruе режима перемDТI01. По сути. драйвер волен интерпретировать младший номер устройства по своему ycmotpel-lИЮ. Особенности поведения драйвера можно узнать на соответствуюшей mапстраниuе. Фай'1Ы устройств бывают двух типов: БЛОКОРJ1ентltроваНl-lые и байтор1t ентированные. ЧтеНИ из блокориентироваlПlOrо устройства и заПИСЬ в Hero осуществляется по одному блоку (rpyтma баЙтов. размер KOТOPO обычно кратен 512) за раз. TorHa как чтение из байториентированноrо устройства и запись в HerQ может ПРОИЗВОДIfТЬСЯ по одному байту. Для некоторых устройсТR предусматривается доступ как через блокориентированные, так и через байториснтироваliные файлы. Например, ЛИСКI и ленты ведут "ДDОЙНУЮ жизнь". в отличие от терминалов и принтеров. Драйверы устройств образуют стандартный интерфейс связи с ядром. В каЖдОМ драйвере есть поппроrpаммы. преllназнаЧННЪ1е nлЯ выполнеНl1Я некоторых ИШf всех из перечислеН.IЫХ ниже функций: at:.tach close dump ioctl орел рсоЬе psize read receive reset: select stop strategy timeout:. transmit write r лова 12. Дройверы и ядра 271 
Отдельные системные функцИfl удобно реализовывать, используя некиЯ драйвер устройства, ДВJl(e если связанное с ним устройс-тво отсутствует в системе. Такие устройства.11призраки" называют I1сеllдоустроиСпJвйМU. Напри. мер, ПОЛЪЗ0ввтелю, вошедшему в систему по сети, назначается ПССВЛОТСРМИ 4 вал (РТУ), КОТОрЫЙ С ТОЧКИ зрения высокоуровневоrо nporpaMMHoro обеспечения ничем не отличается от обьrчноrо последователыюrо порта. Блаrодаря Т8КОМУ подхOJJ.У Проrpвммы, написанные в те времена, коrда все польэоеателн еще работали на алфавитно uифроных терминалах, MOryт продолжать функционироватъ в мире окон и сетей. KorJl8 лроrpамма выполняет операuию HВJl файлом устройства, ядро автоматически переxnатывает обращение х файлу. ищет в таблиue переходов соотвеТСТRующее имя функции и передает ей управление. Для выполнения необьrчныx операций, не имеюшИх пряМЫХ aHВJ10rOB в модели файловой систе.мы (таких, как изъятие дискеты из дисковода), используется систем ВЫЙ вызов loctl, который передает ПОПЬ30вательскую команn.у нt:посредственно АраПаеру Драйаеры и их конфиryраuионныс файлы обычно прячутся как можно дальше, чтобы К8кой tшбудь не. В меру любопытны1t пользователь случайно не испорmл их. В табл 12.8 указано cтaнnapTHoe местоположение драйверов и конфиrypаuионных файлов D наШИХ тестоВЫХ систеМах. Таблица 12.8. Местопола)(ен е дройверов 1ft конфиrурацианныx файлов Система Конфиryроционные фойлы o aepы .. Solaris /kernelfdrvf-c.onr /kemel/drv/' HP UX /stand/system /Llsr/conf/' Liлuх /..r/."'Illпux/.спolig /шr/srс/lllluх/drivе(f,j9 FrceBSD /Dlr/srС/Sу1j1386/спur/ЯдРО /sys/iJ86/conf/6Ies' в ниже l\.'lht рассмотрим три прю..rера добавления драйвера к ядру. ДrlЯ So!ari., Linux и FrccBSD. Мы не будем описывать эту npoueD.YPY ltЛя операuионной системы HP lIX, поскольку В ней редко ПРИСУТСТВVЮТ сторонние устройства (а Дrlp всех устрОЙСТВ Hewlett Packard драйверы входят в состав системы). Добавление драйвера уcrройcrва в Solaris Проше Bcero добавить драйвер устройства в Solaris. Драйверы Solaris обычно распространяются в пзкетном виде. Подключить n.рзйвер к системе можно с помошью КОМ3НЛЫ pkgadd. Если по какоЙ ТО причине добавле-ние не npоис>юдит автоматически, зто 8cernn можно сделатъ вручную, так как все драйверы реализованы в вице ЗaIJ'У';каемых модулей. Драйверы Solaris Bcerдa поставляюТсЯ в виде объектных файЛов, а не в исхоnныx текстах, как 80 FreeBSD и Linux. В нашем прю..rере м-ы добавим к системе устройство "snarf'. Ero драйвер полжеи быть преЛставлен как мннимум двумя файлами: snarf.o (собственно драйвер) и .narf.con! (файл конфиryраuии). Оба должнъ, находиться а каталоrе /рlаtfОI111/sпп4п/kеrпеl/drv Ilосле копироваНlIЯ КОНфИfураuионноrо файла можно отредаl>..'ТИРОВ3ТЬ ero. чтобы задать параметры KOHKpeTHoro устройства. Обыl.lНО этоrо n.елать ве требуется, но ииоrпз ве1<оторые пара метры ДОСТУПl-lЫ !uтя "ТОВI<ОЙ" настройки. 272 Чаrтъ I Основы ОДА.\ н""стрировон",
Далее нужно заrpузнть модуль. МОДУЛИ подключаются к работающему ЯДРУ кома>шой Bdddrv (подробнее о заrpужаемых модулях речь пойдет в парвrpафе 12.11). В нашем случае команда имеет вид adddrv snarf, Вот И все! Более простую процедуру тpYnHo себе npеnсТ8ВИТЪ. Добавление драйвера устройство в Llnux в Linux драйверы устройств распространяются в одной ИЗ трех форм: . О"заплата" J( lCонкретной версии ядра; заrpужаемый модуль; . ИНC'I'8JIЛяuионНblЙ сценврИЙ, устан8llЛИВ8IOщи1! соorвeтcтвуюшие "38!U1Bru". Чаще 8cero встречаются 'Именно "заплаты". Установить их мОЖНО слеnующим образом: I cd /uar/aro/linux ; patah pl < d.r1v.r .d.iff Ниже мы рассмотрим. как вручную nобавнть к яnру драйвер ceTc80ro устройства ",лаЛ'. Это очень сложный и утомительный лроцесс, особенно ес:rи сравнивать ero с друrnми тестовыми операиионными системами. По существующему соrлашению исходные файJты ядра Liлux хранятся в каталоrе /usr/src/linux. в ПОД)(8талоre drlvers нужно найти еще однн лодка талоr, соответствующий типу добавляемоrо устройства. Вот как выrлядит СПИСОК имеюшихся пО.IIК8Т8ЛОroв: 1; . I' lu.r./rJrc/1nux/d.r1V8J:. Makefile cdrom/ 120/ l1corn/ char I 1sdn/ aplOOO/ dio/ macintosh/ a.tm/ fc4/ misc/ ыock/ i2c/ netl пиЬизl parport/ ре1! pcmc1a/ рпр! аЬиз I scsi/ sqi/ sоuлd/ <е! t.elephony I usb/ v1deo/ zorro/ Чаше 8cero драЙ1leРЫ .побавляются в каталоrи bIock, char, net, usb, sound и ,csi. В них содержатся др8ЙВсры блокориентированных устройств (нanри мер, IDЕдисков). баl\ториентироваЮfЪD( устройств (например, послсдова тельных портов). ceTeBых устройств. USВустройств, звуковых ПЛаТ и SСSIплат соотвеТственно. В дрyrих К8Талоra.x находятся, в частности драйверы ш!я самнх шин (pci, поЬо, и _orтo); маловероllТ'НО. чтобы потребо валось нобавлять в них файлы. Некоторые квталоrи предназначены для хранения платформнозависимых драйверов (Maclntosh, acorn, apIOOO). Есть каталоrи для спеuн8лизированныx драйверов (atm, Isdn, telephony). Поскольку наше устройство является сетевым, мы поместим ero драйвер в каталоr drivers/net. Потребуется модифицировать следующие файJты: . drivers/netjМakelile. чтобы драйвер Mor бъrтъ скомпилирован; . dri.er,/net/Conlig.in, чтобы устройстао появилось в списке конфитурнруе МbIX настроек; dri.ers/net/Space.c, чтобы устройCТ1lO нскалось на этапе начальной зarpузки. После ра.змещения файлов с расширениями .С и .h в каталоrе dri\o'ersjnet нужно лобавить запнсь О драЙ8ерс в файл drivers/net!Makeffle. Вот эти строки (они располаraются ближе к концу файла): ifeq (5 (CONFIGSNARF), у) LOВJS +е. snarf.o еlзе 273 r I\ОВО 12 ДРО1Беры и яnро 
ifeq (5 (CONFIGSNARF) ,m) MOBJS +'"" snarf.o endif endf Блаrодаря таким строкам драйвер может бъrrь С'КОНфИI)'Рирован как ззrpужаемьrй модуль либо непосредственно встроен в ядро. Korдa запнсь добавлена в файл Makelile. нужно убедиться. что устройство будет ДOcryттHO для КОНфИIJlрирования при настройке ядра. Все сетевые устройства должны быть перечислены в файле drivers/net/Config.in. В нашем случае требуется побавить приведенную ниже строку, чтобы нрайвер был встроен либо как заrpужаемый модуль, либо как интеrpированная часть ядра (в соответствни с тем, что было заявлено в файле Makelile): tristate . Snarf device support' CONFIGSNARF Кточевое слово tristate означает. что драйвер станет затружаемым модулем. Если это иевозможно, необходимо указать ключевое СЛОВО bool. Следуюший элемент инструкции  строка. которая будет отображаться в окне конфиryрauии. Это может бьп"Ь произвольныЙ текст. но он должен идентифипировать для пользователя конфитурируемое устройство. Последви элемент инстрyкuии  зто KOl-lфиrураШЮl-Iная макроконстаНТ8. Она должнз быть такой же, как и та. что проверяется в ветви :!..feq файла J\tlakefile Наконеи. нужно отредактировать фаАЛ drivers/net/Space.c. В нем coдep жатся ссылки на полnроrpаl\.'IМЫ опроса устройств, а также определяется очередность опроса. Нам понадобится отредактировать файл в двух разных местах. Вопервых. нужно добавить ccьy;n.,-y на фyнxuию опроса, а затем внести УСЧ>ОЙСТВО в спмсок опрашиваемых устройств. В верхней части файла Space.c находится rpуппа ССЬИI0'К на ФУНКUИ1f. Добавим следуюшую строку: ехtеrл int snarfyrobe (.strucL devce -j; Прежде eM вносить устройство в СПИСОii: опроса, нужно определить. кзкой именно список нас интересует. СушеСТ8УlOТ отлельные списки для каЖдоrо типа шины (PCI. EISA. SBUS, МСЛ. ISA. лараллелыlЫЙ порт и т.д.). Устройство "sпarf' является РС1устройством. поэтому нужный нам список называется pci probes. За строкой struct devprobe pciyrobes l) initdata -"'" следует УПОРЯllOченный список устройств. Устройства, стоящие ВЫШе, опра шиваются раньше. Порядок опроса не имеет особоrо значеl-lИЯ !uтя PC1YCT ройств. НО ДrlЯ некоторых устройств он важен. Нужно просто убеди1ЪСЯ. что устройство "snarr' обнарlживается, поэтому в начало списка "-fbI поместим такие строки: struct devprobe pci рсоЬез [) ini tdat:.a --=- ( lifdef CONFIGSNARF snartyrobe,O}, iendi f Теперь устройство добавлено к ядру Liпuх. При следуюшем конфиryрн- ровании янра устройство лолжно появитъся в спнске конфиryрируемых иастроек в rpyпnе "Network devices" (сетевые устройства). 274 Чость 1. Основы одминистрировония 
Добавление драйвера устройства во FreeBSD Добавление совершенно HOBoro драйвера во Frec:BSD предполаrает вкаючение ero описания в файлы конфиryраuи-и н редактирование ис,<опноrо текста ядра с целью ВI()lюченил ССbIЛОК на подпроrpаМJI,fЫ прайвера. Эта процедура  не д.'1Я слабонервны'\ В качестве npJ1Mepa рассмотрим систему FreeBSD. СлеД}ет заметить. ЧТО все ВSDсистемы (8 том ЧJlCJlе NetBSD и OpenBSD) ФУНКЦJюнируют С'\ОЖIIМ образом, за исключением Toro, что местонахождение файлов может быть разным_ Для прнмера доБЗRИМ в систему устройство .'scarf' (псевдосетевое устройство) . в первую очере1IЬ нужно скопировать исходные фаi1лы в соответСТВуюUlllfl каталоr: I ер ...bbraun/.narf.c l.y./pcil.nlJ.r.c Так как наше YCтpOflCТBO ОТНОСIIТСЯ К РСIустройствам. мы поместим исходные фаi1лы в каталоr S\'Sjpci ко всем остальным РСIдрайверам. Если ycтpoflCTВO не попадает ни в одну иJ существующих катеrорий. слещ-ет СОlД(\ТЬ для файлов новый каталоr и отредактировать файл SУS/iЗ86/сопr/filе..iЗ86 к нашему драйверу это не относится. поэтому 01-1 будет автоматически скоt.mилирован и ПО!lЮlючен  Я..!IPу. Ла.'lсе необходимо побавить запись об устройстве в конфиryраuионный файл ядра. Мы вк.IЮЧИ1 след)'ЮI.lI}Ю запись R конфиryрзuию EXAМPLE: devce snfO r Snarf, псевдосе"Z'евое УСТРОЙС'.L'ВО Эта строка я-вляется инстр}"lI.'"UисЙ для команды config на подключение файлов драflвера к ядру. Поскольку у сетевых устройств нет ни старших, ни млаЛllDfХ номеров, их соответственно не нужно указываТЬ. В случае б.'lОКОрИ ентированноrо или байториентированноrо устройства с,"пуапия бьvш бы ИНOlf. Korдa инстаЛЛllруется драйвер CTopoHHero поставшика, нужно поискать в дО....J'),.lеН rации к нему старшин и М.lздшиfl номера устройства OlenyeT ИСПО..'1Ь308.1.ТЬ ТOlЪKO номера, упомянутые в ДОk.'Ументаl.lltll. иначе возможнЫ конфшн..-ты С друпн..ш yeTpoflcTB3MII. Старшис номера устройств зад.аются в файле SУS/i386/сопf/Пlаjоr!<t.i386. Запись. добавляемая в этот файл, j3В11СИТ от устройства. ПОЛ}LJIIТЬ ИНфОрМ8IDIЮ МОЖНО В до,,:ументаUIIИ к драйверу Следуюшие этпы предусматривают: запуск КОМdlШЫ COIlfig и lIостроение новш'о ядра: создание резеРВI-IО-И копии стзроrо ядра и инстзлляuиlO Hoвoro ядра; перезаrpузку и теСТИРО&iние HOBoro ядра. ЭТJ1 операЦШ1 рассматрlfва.....ись выше в настоящей rлаве. В самом конш: может потребоваться создаТЬ фаi1лы устройст8.1. (см следующий параrpаф) 11 протеСТlfрОВЗТЬ само устройство. 12.9. Файлы устройств По существуюшему соrлашснню фJ.йлы устройств хранятся в каталоrе /dc'.-. В больших системах. особенно там, [де используются сети и псевдо терминалы. Количество устройств может исчисляться сотНями. В Solaris ff Основные файлы УС1РОЙС7В В Solaris хранятся в К8талDre /devlces. на который автоматически создаются ссылки в кзтаJlоre /d. r nOBO 12 Дройвер'" ..., ядро 275 
HP UX эта проблема решается ДОВОЛЬНО иЗЯШНО: Ш1Я каЖдоrо типа устройств в К8талоrе /dev выделен ОТДС:1ЬНЫЙ подкаталоr: dlsk, cdrom, tеrmlпаl 5-1 т,Д. Файлы устройств создаются командой mknod, которая имеет следуюший синтаксис: mknod ИiWН фl!llЙJ11!11 '.l'J1Л С'1.'.рший ЫЛiJДШИЙ rде и.чя файла СОЗЛ888 МЫЙ файл устройства, тиll тип устройства (с. если это б8йт ориентированное устройство, и Ь если блок орие m.fрОВ8Н ное), старший и младший соответственно старШИЙ и младший номера устройствв. Если создае'ТСЯ файл устройства, относишиi<ся к драйверу. который уже имеется в ядре, просмотрите соответствуюшую этому драйверу mаи странииу (во FreeBSD в ра1д-ле 4, в Solari.s " HP UX 8 разделе ], в Linux вообше нет Пlап страниu д.1Я драйверов устрОАСТ8) И найдите стаРШ IЙ и младший номера. указанные в ней. Иноrда в коммект лоставки входит ,hеll сuе"арий /dеv/МЛКЕDН', который автоматически передает кОМанде Пlkпоd стандартные значеН IЯ Просмотрите ЭТОТ сuенарий Jf наЙШПе арlJ'менты, требуемые Д.'lЯ имеюшеrося устройства. Например, для подключения псевдотерминалов во Fп:еБSD нужно использовать такие комаНды: * cd /d.v * ./МA1<ZDEV pty 12.10. Соrлашения 06 именах устройств o Соrлашения об именах устройств это нечто весьма неопреде.1еlшое. Во \1НОПfX случаях применяется \.feTOnHKa, которую I СПОЛЬЗ0вашt еше Прll работе на комnьютер'х POP 11 фИрМЫ ОЕс. для УСТРОЙСТ8, работаюших 11 в блочном, и 8 символьном режи, ма.'о.: IМЯ 6айт ориентироваю-юrо файла обычно наЧИНается с буквы 'f' ("raw" неструктурированный), напРllмер: /dev/daO 11 /dev/rdaO. В соответствии с дрyrnм соrлашением этот файл помешается в подкзталоr с IO.leHeM. которое также начинается с буквы 'r' (cpa8trnTe: /dеv/d,k/dk,ОdЗ,О и /d"'/rd,k/dk,ОdЗsОi, Однако букна 'f' не всеrпа означает упрошенный (байтовый) режим доступа. И мена последовательных устройств обычно состоят 113 префlfкса tt)" и послеповательности букв, обозначающей интерфейс, к KOTOPO\I}' ПОШС1Ю'lен порт. Иноrда ДЛЯ терминала имеется несколько фаЙЛ08 устройств; 1I0ПОЛIIН тельные файлы пре!lназначены пля по.а.пержки а.rrътернаТИ8НЫХ "IeTOnOB управлеIOlЯ потоками и протоколов блокировки_ Подро6иее о последоватf.J1ЫIЫХ портах расскйзыlй.lосьb в lлаве 7 Имена дисков в BSD cJ.lCтeMax часто начинаются с двухбуквенноЙ аббревиатуры. обозначаюшей '1.исковод пли контро:.лер_ Зате 1 следует номер дисковода и имя JIИСК080rо рюлела. Например. daOa б..IOК ОРI.fентнроиаНllое устройство, представляюшее раздел а первото шtсковопа SСSI КOIrrрол..lера. а rdaOa соответствуюшее байт ориеНТIlР08анное устройство Имена накопителей на маrнитно-И ленrе часто ВК:lючают не то.'1ько ссылк на сам накопитель, но и указание на то, перематывается J1И лета noc':le каждой операuии и какова п ,отность ЧТСllltя!заПИСIi Каж.'IЫЙ ПОСП'l81ШIК прилеРЖltвается своей системы Ilмсновання ЛСIIТОЧНЫХ B KOnHTeJlefl. В табл. 12.9 приведены ТII110вые нмена широко Распространенных устройств (жестких дисков и ПИСКОВОД08 CD ROM) дЛЯ наших тестовых систем _ 276 Чосr., I OCHOB.,I ОДМИI-Iистрироеония
Тоблица 12.9. Соrl10wенир об 1MeHO)( УСТРОЙСТII ДЛFl дисков И лент 1 CHqeмa SCSIДIo<CK SCSIДиско.оД CDROM IDЕдиск . SolиriJ /d.'/lrjd.ok/cAt8dNIP /de'/lr]d.ok/cAt8dNIP /d.'/lr]d.ok/cAt8dNIP HPUX /d.'/lrJd.ok/cAt8dN /d.'/lr]dlk/cAI8dN Linwc /d../ldlP /d../иdlР /d../bdlP BSDI /d../dINIP /d../dINIP{lmbl /de./wdNIP I А  номер Коtп1IO-'U1срИ, В  SСSlи.дентификатор. N  номер устройства, р  буква ИЛ}! Номер раЗДС:l&. 12.11. Зоrруж:оемые модули ядро Заrpужае!\.lые модули поддерживаются в Sоlапs, Linux и FreeBSD, но степень подnержки сушественно различается. В Solaтis ядро является самым модульным. в Li'1UX  менее MOHY.'1bНbIM. .а 80 FreeBSD модули 800бше I1СПо.1ЪЗУЮТСЯ очень Ma.'lO. ПОМИМО вcero прочеrо заrpужаемые модули позволяют ПОДК,1ючать и ОТК1ючатъ драйверы устройств непосрепственно в проuессе работы ядра. Это значительно облеrчает инсталляцию драйверов. поскольку ДВОlfЧНЫЙ код ядра не нужно менять. Кроме тото. уменьшается размер ядра, так как ненужные драйверы просто не 1аrpужаlOТСЯ. Поддержка заrpужаемых моду.1ей реализуется путем вставКИ в ядро ОДНОЙ И:IИ нескольюfX по.....у(ентироваННых "точек ПOДКЛlочения", которые ДОC1)'l1НЫ дра-й'верзм. Сушествует ПО.1ыовзТельскаЯ команпа. которая дает ядру указание заlУЗИТЬ Н08ые модули в память. Обычно имеется также команпа, BbIrpy жаюш"я прайверы. Заlужаемые прайверы очеllЬ упобны. ио ОЮI не обеспечивают стопро llентной безопасности. При каЖдОЙ заrpузке И BыpyJKee мопу.'lя су шествует рис... HapYUJllТb работоспособность ядра. Во избежание краха системы не рекомендуем lаlУ'жать и выrpужать непроверенные модули. Как и Др}Лlе- аспекты управлеНIIЯ устройствами и драйверами, реализация meX3l-1И.Jма заrРЖdб.IЫХ модулей зависит от конкретной операционной системы Ниже приводятся команды и рекомеидаuии для Sоlапs. Linux и f'recBSD. Soloris в Solaris IIраКП1чеСКlI все КОIПОIенты являются заrpужаеМЫМIf мо.з.У:JЯМИ. Переlеl-lЬ 'ЮПУ.1еи. 1311J)rжеlll.IЫХ на текушиЙ момент, \.fОЖНО ПО.1У'-ППЬ с IIОII.IОШЪЮ KOMalllIbJ modinfo. ВЫХОДIая Itнформаuия этой коман.пы выr:iЯДIП так:  lIIodinf"o Id Loadaadr 1 fО-;еООО 2 п086000 ] ff082000 4 ffOB4000 5 ff095000 6 ПОЬ8000 7 ff0804aO() Size IC1fo Rev 3ЬаО 1 1340 1 la56 1 49с 1 :5248 2 1 20еО 1 1 170 57 1 Module NaI:le specfs (filesyst:em foc specfs) sowapqeneric (root/swap conf9) TS (time sharing sched class) TSDPTBL IT:.mesharinq dspatchl ufs (fl!esyster:1 for ufs) (sun"lc соос. nexus) орtОШI top':ions driver) r nOI!lO 12. Дройверы и ядро 277 
ff08dcOO и4 62 ПО8сООО 968 59 ооа (Direct Memory Access) sЬuз (SBus neXU9 driver) Б Нашей системе Solaris этот список занял более 80 строк. Мноrnе элементы, которые в дрyrих версиях UNIX "зашиты" в ядро (например. UFS  локальная фаi1ловая система}. 8 Solaris реализованы как заrpужаемые Пр8Йверы. Такая орrанизаuия призвана jначителъио 06леrчить сторонним фирмам разработку nporpaMMHoro обеспечения, которое будет леrко и незаметно интеrpИрОВ8ТЪСЯ в ЯДРО  ПО крайней мере теоретически. Драйвер МОЖНО добавить к ядру с ПОМОЩЬЮ команды adddn. Она зarpу-..каеr драйвер в ядро и создает необходимые ССЫilЮf на уСтрОЙСТВО (при каждой перезаrpузке ядра все ссылки перестраиваются). Драйвер остается частью системы до тех ПОР, пока не будет удален явно. ДрайверbI можно выrpУЖRТЬ вручную С ПОМОЩЬЮ команды rеПldrv. После заrpузки драйвера желательно также выполнить команду drvсолlig. Она перестраивает каталоr /devi.ces и добавляет в Hero все файлы. связанные с заrpу-..кенным драйвером. 3аrpужаемые МОnYЛII. дoc1)'ТJ к которым через файлы устройств не ПрОИЗ80ДИТСЯ. можно зarpужать и выrpужать командами modload и mоduлlоаd. Linux Liпuх 8 чемто про те. а 8 чемто  сложнее, чем Solaris, в плане обработки заrpужаемых модулей ядра. по крайней мере с точки зренi'lЯ систе:мных администраторов. В Linux почти все компоненты можно спелать заrpужаемыми моnyлями. ИСI01ючение составляет драйвер устройства, на котором расположена корневая файловая система. 3аrpужаемые модули хранятся в K3тaJ10re {liЬ/mоdulеs/версuя, rne послеll няя часть имени  это версия ядра Linux, о которой сообшает команда плаmе r. Получитъ список заrpуженных в даннЬfЙ момент модулей можно с ПОМОЩЬЮ команды Ismod. . 1ашоcl Module Size Used Ьу ррр 21452 О slhc 4236 О [ррр] ds 6344 1 i82365 26648 1 pcmcia  core 37024 О [ds i82365 ] Как 8ИПНО из списка, в системе установлен"ы моnyли контроллера PCMCIA, драйвер РРР, а также МОДУШ! сжатия РРРзаrоловков. 3зrpу-..каемые модули Liпuх вы можете подключать к ядру посредством команды insmod. В частности, с помощью привелеююй ниже команпы можно добавить модуль нашеrо устройства "snarf': t inamocl /patiJ./to/8nar€..o Также имеется возможность передавать модулям конфиrvpационные параметры, например: I insmod /patiJ./to/sna.r€..o io=OxXXX irq=x После TOro как модуль был вручную добаШ1ен к ядру, упалнть ero ВЫ сможете Только по явному запросу. Дnя этой цеЛIf попойдет команда П11mоd Чость 1. Основы ОДМИНJ>1стрирования  278 
Sllarr. Кш.13Нn)' nППlоd рiпрешается 8ЫПОЛIIЯТЬ в любое время. но она сработает только и том случае. если текушее ЧИСJlО ссылкK на модуль (указано 8 столбuе eseri Ьу нывода команлы IsmodJ ра8НО о. МОДVЛIf ядра LIПШ; MOf)"T lal1Jужаться полуавтоматически с ПОМОllIbЮ коман.ш.1 ПlоdрrоЬе, которая распознает МСЖ1о.юnyльные зависимости. парамет ры модулей. проuедуры инст3.JUlЯШIИ и выrрузки. Эта команда npOC filTpH8atT файл /etc/conf.modules. чтобы узнать, как обрабаТЫ8<.iТЬ каждый МОД}ЛЪ. МОЖНО ДИНаМИ lе-СЮI создать файл /etc/conr.modules. соответстиуюшиЙ текушей КОНфИl)'р шии, ВЫПШlНИ8 команny modprobe c. Эта команда reHe рирует Д1шнный файл, имеюший примерно следуюший вид: 'ThlS flle was generat.ed Ьу: modpcobe c 12.1.121) par.11 [pcmcl.a.] =/lib/modules/prefecred patl1! pcmcia 1 ==/ lib!modules/defaul t. path [pcmcia] /lib!modules/2. 3,39 par.h[mi5cJ""/lib!modules/2 .3.39 I A!.lCl.Se.5 a!las block major ! rd alias block major 2 floppy allas cI1ar ma]or serlal a las ;:::har ",aior 5 ser1al allas сhаr IТ'.аjеr б lp ii.l..:..as dos :115dos dlia.s plipO pllp a!.las рррО ррр opt:10nS ne iо хОЗ40 irq '9 и НСТРУЮlИИ path указывают на то, rne можно Ш1ЙТИ конкретны.. модуль. Сушестиует ВОlМОЖllOСТЬ МОДИфИWipовать или побавля rb Jаписи данноrо типа Прlf необхопю,lOСТИ xpaHIfTb мопули в lIест3.нпартиых K3Ta.'lOrax. ИНСТРУКШIЯ .allas обеспечш ает привязку стаРШIIХ номеров блок орJ.l еНТНрОНАННЫХ и б3ЙТ ОРI1еI1ТIIРОRанных устройств. фаiIЛОВЫ" систем, eTeBЫX }CTpoikTB 11 сетевых протоколов к соответствуюuшм МОДУЛЯМ. Подnержю ается ДlIIшмичесt<..ая larpYJK3 модулей. реЗЛИJуемая пемоном kе:rпе!d (см. ниже). СТрОIG1 с к.'lючевыl\t словом Opl':'lO:JS не rенернруются пинаМII lес""И- ОНИ .Jiщают нараметры. перепавае ,rые мопулю при ero JClrpYJKe. Например. в СJlедуюшеи строке модулю УСТРОЙСТFl3 "Sllarf' сообшаЮIСЯ адрес ввоna вывода и нектар rlрерывС!ний: opt.1ons .snarf io""oxxx>: iIЧ Х Команда lJIodprobe поtшмает также IIНСТРУКШШ p[e lnstall. post in s .al . pre :::-emov,=. post yemo" e, nstall 1 remove. С и:о.. rlОМОШЫО lilД.dЮТСSI КО\ШIIдЫ НЫIIOЛ11ясмые. КОСЫ1 СООТНСТСТВУIOШIli1 модуль подк."-ноча ется к раБОiclюшему ядру ЮIII ОТКJТю'.ыется ОТ Hel"o. ИХ СИН1LlКСНI,; таков: prt: inst:all UОДУЛЬ коиаНДа ln.stall UОДУЛi:> коwанда ... pos:"' ln5t.all UОДУJIЬ коwа1-lда pre rerr.ove модуль КОW31iда '. cemove NОДУЛЬ команда ..' p05 remove модуль команда r i10BO 12 ДpO 1Bepы и ядро 279
Команды выполняются соответственно перед подключением. OДHOBpeMeH но с подключением (если ЭТО возможно), после подключения. перед удалением. во время удаления (если возможно) и после удвления. Но это еше не все! Модули ядра MOryr звrpужаться и выrpужаться диНамически демоном kerneld. Если этот демон запушен, модули заrpужаются автоматически при обрашении к связанным с ними устройствам. Демон берет конфиryрal:lионнyIO информаuию из файле /etc/conr.modules, квк и команда ПlоdрrоЬе. На основании инстр}'кuий alias определяется. какой модуль закреплен за нужным устройством. Например, ссли кroTO пытается обратиться к последовательному nopTV, а драйвер порта не зarружен. демон просматривает файл /etc/conr.modules в поисках t.юnyля. связанноrо с байториентированным устройством, старший номер Koтoporo равен 4. Вообще демон kerneld делает ВСе то же самое, что и команда modprobe. просто он предназначен nnя постоянной фоновой работы. FreeBSD Во FreeBSD по!tIlсржка lOдулей ПОЯ8И'lась недаRНО по сравнению с Solari.\ и даже LIПUХ. Текущие верСИI-I FreeBSD не ПОJ8QЛЯЮТ добавлять прайвер устройства к работаюшему ядру. В OCHoBf-IOМ все СБОДИТСЯ -к ОТКРЫТIIЮ файла /devjkmem и вставке в Hero некоторото кода. Возможно, именно по этой причине поддержка заrpУЖ8еIЪ1Х модулей отключена в япре GENERIC. Как ни странно. во FreeBSD присутствуют команды modJ08d. шоdstаl и modunload. которые соответственно заrpужают моnyлъ, отображают ero статус и выrpужают. Все они выполняют системный вызов ioct] по опюшению к файлу /dev/lkm. По умолчанию ,,-шдули ядра FreeBSD располаrаются n .:аталоrе /nlOdlllcs. Все эти модули упрвВ1ТЯЮТСЯ посредсТl:ЮМ вышеупомянутых У R rИJJI1Т. 12.12. Рекомендуемая литература McKusick, Mal'5hall K.rk. е! al. ТJ" Desig" alld /тp/eтellla/ioll 0/ rhe 4.4BSD Opera/irJg Systeт. Readll1g. МА: Addison-Weslcy. 1996. Beck. Michael, et з1. LiпtL"( /(епlе/ /fJIeтa/s, Se<:olld Editioп. Reading, Т\.1А. Addison-Wesley. 1998. 280 Чость I Основы ОДМИНИСТРИРОВОI"'lИР; 
Часть 11 Работа в сетях у . \ , ) "''\ -< ,./! о( I
73 Сети TCP/IP ШЖ <o. 7Q;P I 'J"P, ) G 7 1qq4 .... . .1t<.<. f<a..'} о!м 7 "P I 'J"P. 7 / 7 1QQS ТРУДНО переоuенить важность сетей в современном компьютерном мире. Во мноrиx орrанизациях ОДНИМ ИЗ основных видОВ деятельности ЯRJ1яется работа в WWW и поступ к электронной почте. По оиенкам на начало 2000 r. в Intemer работало более 300 миллионов пользователей. и этот показатель по прежнему растет экспоненuиально. Обыденной задачей системных адМИ НИC1Тl8rоров является обслуживание локальных сетей, [п[еmе[ ПОД1(Люченийт WеЬ узлов и ceтe80ro nporpaMMHoro обеспечения. TCP/IP ЭТО семейство сетевых протоколов. ширОКО используемых 8 UNJX, MacOS, Windows, Windows NT и бо.лъшинстве дрyrих операuионных систем. Данное семейство определяет основной ЯЗЫК обшения в среде lntemet. Ключевыми протоколами в нем Я1lЛЯЮТСЯ IР (lntemet Protocol межсетевой лротокол) и ТСР (Transmission Control Рrotoсоl протокол улравления передачей). Блаrодаря TCP/I Р формируется единый проrpа.fМНЫЙ интерфейс доступа к сетевому оборудованию различных типов. который позволяет rарантиро ванно обмениваться данными, несмотря на все архитеКl'ypные различия. В основе Intemet лежит протокол IР, используемый ДЛЯ доставКИ HeC1ТlYКТY рироваННbIJ( ПаКСТ08. ТСР и UDP (User Datagram Protocol протокол передачи дейтarpамМ пользователя) это транспортные протоколы. реали З0F.l3нные поверх 1 Р и служашие для доставки па Кетов нужным приложениям. Протокол тср ориентирован на установление соединений. Он сущест венно облеrчает взаимодействие между двумя проrpаммзми. ТСР оединение напоМИНает телефонный разrовор: и НфОрМaillfя, выдаваемая На одном конис, принимается на дрyrом, и наоборот. Соединение удерживается даже 8 том случае. коrда оба абонента молчат. Протокол тср обеспечивает надежную дОСтавку пакеТО8, упрааление потокоМ данных и трафиком. Протокол UDP ориентирован на доставку одиноЧНЪD: пакеТО8 без установления соединения. Этот проиесс напоминает отправку письма. Дoc таВКа пакетов не rарантируется. и нет средств управления трафиком. ТСР ЗТО "'вежливый" протокол, заставляюший одновременно работаю щих пользователей делить между собой сетевой канал. что способствует rЛ080 13. Сет" TCP/IP 283
повышению производmсльности. В противоположность этому протокол U ОР старается передавать пакеты с максимально возможной скоростью. Р8Jраба тываются новые, улучшенные версии naнHoro протокола, но оffИ еще не добились широкоrо признания. По мере роста сети Inlemel все большую полю трафика ДО:IЖНЫ занимать ТСРпотоки. что позволяет избеrать заторов и эффе...."Тивно использовать имеюшуюся полосу проnyскания Но как показывают измерения, проведсн ные за последние нескольКо лет. доля UDРтрафика возросла с 5% и 19971998 rr. до 7% в 19992000 rr. Начинает сказываться полулярность иrpОВbIJ( прlUlОжений В ЭТОЙ rлаве Mы начнем знакомство с техничес:IO{МИ аспектами TCPjIP. К сожалению, даже изложение основ работы в сети  слишком обширная тема. чтобы "втиснуть" ее в ра...,rки олной rлавы. Поэтому мы будем продолжать данную тему в rлавах 14. 16 и 20. 13.1. тср /IP и Internet История ТСРjlР тесно связана с историей Il1ternel я уходит СВОИМИ корнями на несколько десятилетий На3an.. Популярность Intemet во MHoroM обязана rибкости и эффекшвности архитектуры TCP/IP. В свою очередь. nrnрокое распространение ТСРjlР имеНно в сети Il1ternet ПОJВО::lИЛО ЭТОМ) семейству протоколов одержать верх над неСКОЛЪЮiМИ конкурируюшими семействами, популярнымИ в свое время по тем или ИНЫМ причинам. Кроткая история Вопреки распространенному заблуждению. Intemel  это не продую Microsoft, появившийся в 1995 r. Праролителем lП1еrпеl была сеть ARPANET. основанная 8 1969 r. УправлеЮlем по перспективным исслепователъским проrpаммам при министерстве обороиы Cll1A (Defense Advanced Researcll ProjecI Лgепсу. DARPA). В"оследствии ARPAN ЕТ стала наUИОI1а.,ыюй маrистралью сети NFSNEТ (National Science Foundalion Network  сеть Наuиональноrо научноrо фонда). которая связыaJтаa меЖдУ собой суперком пъютеры и репtOналъные сети США. К концу 80x rr. сеТЬ перестала быть научноисспедовательским проектом. и для НациональнOI.О научноrо фонда пришло время ОТОЙПI от cCTe80ro бизнеса. Переход на коммерческие реш,сы занял около семи лет: сеть NFSNET была ОТКJ1ючена в апреле 19q4 r Сеrодня основу rлобальной сет" составляет совокупность частНЫХ сетей, прИНa.1lЛежаших ПРОВ8йдерам Intcl'net. В середине 80x п. сеть Iпtеmеl состояла из пер:моначальнъrx ВЫЧJ.fСJlI тельныХ ueli11'08 ARPANET I l-рymlhI универснтетов. в J.:oТOpbIX былti установлены компьютеры ОЕС \/ДХ с операuионными системtlМН семейства Berkeley UNIX. Уюmерситетские сети СТРОIfЛIIСЬ по технолоrии ЕlllСПlе! (скорость работы  10 МБJП/С) и получали доступ в Illlemel по выделенноЙ uифровой телефонной ЛИННИ со скоростью 56 Кбит/с. КаЖдЫЙ сентябрь. коrда студенты присryпали к учебе. rлобальная есть испьrrывала сушествеl-! ную переrpузку вслепствие возникновения заторов. Ван ДжеЙкобсон (\'an Jacobson). научный сотрудник rpУПIlЫ сетевых Иl.::следоваНJ-IЙ ПРI.! лабораторШI Bell Labs университета Лоренса, ззинтереСО8iiЛСЯ поведением сушеСТПУЮШI1Х протоколов в условиях повышеннои наrpузки и нашел пути ИХ ОППIt.Н1зашflt Отсюда берyr свое начало известные сеrодня алrоритмы мед,.тlенноrо старта. избежания заторов. быстрой ретраНСЛЯllИИ и быстрOl'О 8ОсстановлеНIЯ. 284 Чость 11 Робота 5 сет'Я:к 
Вступление в силу закона Мура (rласяшеro. Ч1'О мощность вычислmель ных средств удваивается каждые 18 месяuев) и рыночный спрос сушественно ускори."lи развитие rлобальной сети. С KOНll8 80 x rr.. коrпа были зафИКС1-I раваны сушествуюшие на сеrодНЯШНИЙ день алrоритмЫ тсР. скорость сетевых интерфейсов ВОЗрОС 1а в 1000 раз (пояаленне десятимеraбитных технолоrиЙ ELhemel приве.JО к повышению эффективности на 6%. а rиraбитных технолоrий Ethernet на 90%). выделенных кана....1Ов в 12000 раз, а 06шее число узлов в 50000 раз. Любой, кому случалось разработать npоrpaм.мную систему, устаревш)"Ю сразу после появления следующеrо поколения аппаратных средств Ю1И следуюшеrо выпуска операционной системы, будет восхищен тем. что сеть (л[еmе( до сих пор жива '" успешно функшюнярует, эксплуатируя то же семейство протоколов TCP/IP. которое было разработано 25 лет назад для совершенно друrой сеП1. Мы СНlfмзем ШЛЯПЫ перед Бобом Каном (ВоЬ Ка1ln). Винтом Uерфом (\'iЛL Сеп). Джоном Постелом (.IоllП Pos[el), Ваном ДжеЙJ.:обсоном и ДРУПIМ(t людь\tи, которые стояли} истоков ЭТоrо чуда. Кто сеrодня управляет сетью Iпlеrпеl РаJработка rлобалъноt сетИ всеrда осушествлялась на кооперативных 11 открытых началах. CeroДНJI. Korna lnterneL СТ3..,lа важным фактором мировой эконом1fКИ, мноrие обеспокоены тем. что руководство r:юбалъной сеТЬЮ сосредоточено в руках труппы JПодей, получающих указания от правительства США. Поэтому неД8..1еко то время. коrда появится правителъство IПlеrпеl. В процесс ynравпения r.:1Обалъной сетью вовлечены следующие орrанизаwfИ: ICANN (Iп[еrлс[ Corporation for АSSlgлed Names and Numbers Орrани- заuия по назначению имен и адресов в Iпtеrпе() JtMeHHo про нее можно сказать. что она отвечает З8. работу r'lоба.1ьноА сети (v.'v.rv..'.iсапп.оrg); IETF (ll1lеrпеl ЕllgiпееrlПg Task Force проблемная rpуппа проеКТlfрО взния сети Il1IelТ1cl) эта орrаllизаuия отвечает за раJрабоп.у и публикauнlO технических стандартов lnterne(. Я8.'1яясь открытым фору ом. принять участие в котором мо.жет каждый желаюший fv,'y,r\v.ietf.org); ISOC (Inlerne[ Socie[y Общество Iшеmеt) это членская орrанизаuия. которая объединяет в своих ря.дах пользователей Internet (W\\.w.isoc.org). Среди nepetrnC:ieHHbIX орrаНИЗ311ИЙ наибольшая ответствеююсть лежит на IC,l\.;\IN. она выступает в рО.1И руководящеrо opraHa In(emet. исправляя ОШllбки прошлоrо и ПРОду).fьmая пути да.ттьнейшеrо раlВI1ТИЯ. Сетевые стандарты и дакументация Научно те,\ннческая деятелъность сообшеСТВ8 пользователеЙ lП(еrпе.t Ha ходит отражение в серии дО....")....lентоВ. извеспrьrx как RFC (Requests For Comтent.s запросы на комментарии). Стандарты протоколов, преплаrаемые технические изменения. а Т8юке информаllион-ныe бюллетени в wrore находят свое отражение в по....')""-t:еНТ8Х RFC. И Horn8 они действwrельно имеют вид комментариев, но чаше выпускаются в виде ПояснеНИЙ к сvществvюШИМ методикам и теХНО.'lоrИffi,f. ДО'КУ'fеIIТЫ RFC имеют порядковые номера. На сеrОllНЯШIП1'Й день их около 3000. У них есть описательные названия (например. A/goritJlпls /or SYllcJ1roпiz.iпg NСfИ.'оrk C/ock.. а.'1rоритмЫ синхронизаuии сетевых таймеров). но во избежание неоднозна'IНОСТИ на ДОКУ fенты RFC чаше вccro ссылаются по номерам Будучи опуб.'lиковаННЫ...1. nOKy reHT RFC HIfKorдa не меняется. [ло.о 13 С.т" TCP/IP 285
Изменения и .допот-lения публикуются в виде НОВЫХ документов со СВОl1МИ собственными номерами. По сш'лашению обновленные документы содержат всю информаuию из прелшествуюших ДO"yMeНТOB. которая остается aKТYa..'1Ь НОЙ. Таким образом. происходит полная замена OДHoro документа друrим. по крайней мере теоретичеСЮf. Процесс публикации докум:ентов RFC. в СБОЮ очередь, описан в докум:енте под названием IlIlernel Offic;a/ Рrаюсо{ Stalldards (официальные стандарты протоколов [ntemet). В Hero также вI01ючены ссылки на БОЛЬШJ1l ство документов, содер>кanrю< описания протоколов. Посколъ"у эта инфор маuия часто меняется, данны'й .докумет повторно П)бликуется через каждые 100 номеров, если текушая версия имеет номер 2600. то спедуюшеи будет 2700 и т.д. Проuесс публикаШ!и стандартов IПlеrпеt опнсан в ДОК)'I>.lенте RFC2026. Друтой полезный документ  RFC2555. 30 Уеап аJ RFCs (30 лет сушествования документов RFC). В нем рассмотрены "ультурные и TeXHJ1tle ские аспеКТЪJ публикации документов RFC. Пусть вас Не пyrает обилие технических подробностей в ДO"yMeHTax RFC. В большинстве из них содержатся вводные описания и толкования. кшорые будут полезны системным администраторам. Некоторые документы спеЦИ 4 ально написаны в виде обзора или обшеrа введения. Чтение документов RFC  не самый простой способ разобраться в ТОЙ или иной теме. но это авторитетный. лаконичныn и бесплатный источник информаuии. Не все документы RFC написаны сухим техническим языком Встреча ются докум:енты paJвлекателъноrо содержания (некоторые опуБЛ1IКОВНЫ Iro апреля), среди которых нам особенно нравятся следуюшие: RFCll18  The Hitchhiker's Guide [а the /nternet (Руководство ШIЯ путешествующих по Intemet автостопом); . RFC 1149  А Standard Jor tl,e Transтi.«ian аJ / Р Datagraтs ап Avian Carriers (Стандарт переnaчи дейтarpамм ПТlfЧьей почтой); . RFC2324  Hyper Тех! Caffee Ро! Cantrol Protacol (НТСРСРjI.о) (rилер- текстовый протокол управления кофеваркаr..rn); . RFC2795  ТI,e lпfiтte MOllkey P,'otacal Suite {1М PS1 (Семейство протоколов для упв.'lения бесконечным числом обезьян). Помимо последовательных номеров документам RFC MorYT назначаться номерС! серий FYI (For Your InforтЗtion  к вашему сведению). ВСР (Вея СurrеЛl P,.actice  лучший сушествующий подхоn) и STD (Stalldard  стандарт). Перечисленные серии являются подмножествами серии RFC, rpуппируюшими .документы по важНости или назначению. Документы FYI  это вводные или информационные материалы. flредназначенные для ШИРОКОЙ аудитории. Как правило. именно с них лучше Beera начинать знакомство с исследуемой темой. Докумеиты STD содержат описания протоколов 1 ntemel, которые прошли процедуру Пр08ерки и тестирования в l ETF и были формально приняты в качестве стандартов Документы ВСР описывают рекомеtшуемые процедуры для адмt1НИСТраторов IlltemetcepвepoB с точки зрения системных адМИllI1страmров. это наиболее иенные документы в серии RFC. Нумераиня документов в рамках серий RFC, FYI, STD и ВСР вепется раздельно. поэтому один документ может иметь несколько номеров. Наnри мер, документ RFCI635, Haw [а иое АlIОllутаио FTP (как использовать анонимный протокол ПР) таю"е известен как FY10024. 286 Часть 11 РоБОТQ 11 сетях 
Документы RFC досryпны из самых разных источников. Список подnер живземых зерка..пъных RFC cepBepoB можно получить на WеЬ узле www,rrce ditor.org, который ЯБ..'1яется иентром сбора информаwfИ по докум:ентам RFC. 13.2. Семейcrво тср /IP Познакомившись с историей, давайте подробнее рассмотрим, что собой представляют протоколы TCP/IP. TCP/IP это семейство сетевых npOTOKO лов, ориентированных на совместную работу, В состав семейства ВХОШiТ несколько компонентов: IP (Intemet Protocol межсетевой протокол) обеспечивает транспор тиров "у пакетов данных с одноrо компьютера на дрyrой (RFC7QI); 1 СМ Р (1 Лlеmе! Солtrоl Message Protocol протокол управляющих сообшений в сети I ntemet) отвечает за раз,пичные виды низкоуровневой поддержки протокола IP. ВКJIЮЧая сообщения об ошибках, вспомоraтель ные маршрутизирующие запросы и подтверждения о получении сообще ний (RFC792); ARP (Address Resolution Protoco] протокол преобразования адресов) выполняет трансляцию IP aдpecOB в аПТ1аратные MAC aдpeca (RFC823)'; UDP (User Dаtаgrзm Protocol протокол передачи дейтаrpамм полыо В8теля) и ТСР (Transn1ission Control Pro(ocol протокол упра.вления переД3 1 lей) обеспечивают ДOCTaв "y данных конкретным приложениям на указанном компьютере. Протокол UDP реализует передачу отдельных сообщений без подтверждения доставки, TorHa как ТСР rарантирует надеЖНЫЙ ПОЛНoдylUIексный кана.тт связи между процессами На двух разных комnьютера..х с возможностыо управления потоком и контроля ошибок (RFC768 и RFC793). TCP/IP базируется на мноrоуровневой схеме взаимодействия протоко:юв (табл. 13.1). Таблица 13.1. Сетевая модель ТСР /IP '(ровеНь Приклап.ной т рRНСПОртНЫЙ Сетевой Канат.ный ФуНIЩИА Пользовательские приложения Доставка данных приложениям I Физический I Допo.лн.иtt.JlЪНО может 06сспечиваться подтвер)ltaение Доставки и управление потоком. Базовые функции коммуюn::ации, адресации и маршрутизаии.и Сетевые зпnарRтн.ые средства и драйверы устройств Кабели I1 друrие физические иоси'Тели После Toro как семейство протоколов ТСР /IP было реализовано и внедрено. МеждунаРОШlая ор,'аниззuия по стандартизаuии (Intemational Оrgапizatiоn for S[3I1dardization. ISO) предложила собственную семиуровненую сетевую моделЬ, названную OSI (Ореll Systen1 Interconnectiol1 взаимодей ствие ...открытых систем) Она так никоrда If не приобрела широкой Мы HeMHoro rpeшим против ИCТilllы. уrвeр:ждая. ЧТО протокол ARP входит в семейство TCP/IP. На самом деле этот протокол ВПOJше может использоваться. вместе с дрyrими семействами протоколов. Просто он яв.л.яется неотъемлемай частью стека TCP/IP в бопь ШIOlстве локальных сетей. r пава 13. Сети ТСР /IP 287
поnyлярнос'П! мзза своей сложнос'П! И неэффектмвности. Некоторые даже считают, Ч'I'O к семи уровням OS 1 нужно llобавить еще .пва: финансовый и полмтичесхий. На рис. А изображено, как раЗJmчные компоненты и клиенты ТСРЛР вписываются в общую мноrоуровневую архитектуру.  I npMКnIlЦItOi) ........ , 8rp rlDJilln, talk, fТ:p NFS. DNS , ntp I traclrouta JL   ТСР UDp  ru IP 1+ ICMP IJ TpaнcnopR p088H Ceтeea waнчь. tCaН8ЛIbЫЙ у....... фQIN80IIМR VpQМH. 11 ." "СnТ080ЛfJКНО 11 ИОВОЛНЫ Рис. А Семейство ТСР /1 Р 13.3. Пакеты и инкапсуляция UNIX ПОЛJIерживает работу в целом РЯllе физических сетей, включая Ethernct (в том числе беспроводная связь), FDDI, Token Ring, АТМ и системы с последовательными соединениями. Управление аппаратными устройствами осуществляется на канальном уровне архитектуры TCP/IP, а протоколы более ВЫСОКИХ уровней не ЗНают о ТОМ I как именно используются аппаратные средства. Данные передаются по сети в форме Л(JкеmОIJ, 11меюших максиМальный размер. определяемый оrpаничен-иями KaH3JlbHOrO уровня. Каждый лакет состоит из заrаnовка и полезноrо сo.nержm.юrо (сообшения). 3arОЛОБОК ВЮIючает сведения о ТОМ, оп.."уда прибыл пакет и купа он напраRЛяется. 3аroловок. кроме Toro. может содержать контрольную СУЫfY. информаuию, характерную для KOHKpe1"Нoro протокола, и дрyrие инструкции, касаюшиеся обработки пакета. Полезное содержимое  это данные, подлежащие пере сьтке. Имя базовоrо блока передачи данных зависИ'Т от уровня протокола, На канальном уровне зто кйдр ИJП1 фрей.м. в протоколе IР  пйкет, а в протоколе тср  cezмeHт. Мы будем придерживаться универсалъноrо термина "пакет", Korna пакет перепается вниз по cтe"Y протоколов, rотовясъ к отправке, каждый протокол добавляет в Hero свой собственный ЗЗI'ОЛОВОК. 3аконченныя пакет OHHoro протокола становится полезным содержимым пакета. rенери pyeMoro следующим протоколом. Эта операuия известна как инкаПСУ'1яия, На принимаюшей машине инкапсулированные кадры восстанавливаются n обратном порядке. Например. дейтаrpамма, пере.nаваемая по сети Ethemet, упакована в трех различных "конвертах". В среде Ethemet она "ВКJI8JIblВается" в простой физический кадр. заrоловок KOToporo содержиТ сведения об аппаратны: адресах оmравителя и ближайшеrо получателя. щrине кадра и ero контрольноn сумме (CRC). Полезным содержимым EthernetKaдpa является IPnaKeт. 288 Часть 11 Работо в сетях 
Полезное СОдержимое I Рпаке7а  U ОРпакет, и, наконеи, полезное coдep жимое UDPnaKeTa состоит собственно из передаваемых данных. Компоненты T8Koro кадра изображены на рис. Б. UDР..пВ!{9Т (108 СВЙТОВ) IFnaKeт (128 батов) I 14 баЙТОII 20 байтов З::К! заrО:;'ОВОk Etherl1et-кa.qp ('I046 баt:lтов) Рис. Б. Т ипичныи сетевой покет ПОД словом "байт" мы подразумеваем 8битовую uепоч"у даннЫХ. В былые времена эmт термин имел более широкое знвчение, поэтому иноrда в документах RFC можно встретить термиН "октет". Канальный уровень КЗНЗJIЬНЫЙ уровень обеспечивает с"язь между сетевым nporpaMJI,IHbIM обеспечением и собственно сетевым оборудованием. Стондорт... формирования кодров Ethernel Од.на из основных обязанностей канальноrо уровня  доБЗIL1ение заrОЛОВК08 к пакетам I-f вставка разделителей между ними. 3аrоловки содержат информauиlO об адресах канальноrо уровня и контрольные суммы, а разделители позволяют принmlзюшей стороне опредеЛJП'Ь. rде заканчивается оди:н пакет 1-1 начинается дрyrой. Проиесс добавления вспомоraтельных битов называется фор}'шровзнием К3l1ров. В десятимеraбитньrх сетях Etllemet с}rщеС1'вует дна различных стандартl!. ка.оровой разбивки: DIX Ethemc! 11 и IЕЕЕ 802.2 LLC SNo\P'. На сервера, LJNIX и в мзршрутизаторах Cisco применяется первы стандарт. D сетях IPX и систе1ах Novell  второй. Стандарты ра1ттичаются неСКОJ1ЬКlfМИ rюЛЯМII Б заrолонке к..ШРС1, но ОНII не КОНф1ИКТУЮТ друr с HpyroM, поэтому принимаю- шее YCTPOf1CTBO может ОДf-lозначно определJП'Ь формат кaжnоrо пакета и соответствуlOШИМ образом декодировать заrолоВОК. Выбор стандарта кадровой разбивки диктуется имеющеАся сетевоЙ rтатой ).1 ее драйвером. На персональных компьютерах. работаЮШllХ под ynpaliTlcHIfeM Windows, выбор можно делать саМОС1'оятельно, а в LJNIX  обычно нет. С точки зрения U N I Х оба стандарта прекрасно взаимодейС1'ВУЮТ. А вот в среде Windows KOMnbloTepbl. расположенные в одной сти, но придерживаю urnеся разЛlf\.[НЫХ стандартов, не MorYT обшаться Hpyr с др}тrом. СистеМIIОМУ адМJ.1нистратор) обычно не приходится заниматься вопросами формирования ка."рои, если только не lIыrюлняется низкоуровнеиая отладха в смешанноt1 сеТи. КаflW1ЬНЫЙ уровень П действИтельноСтИ разбит на два IlОДУРОВНЯ: МАС (Media Ассем COl1lrol  ynраоление доступом к среде) и LLC (Logica1 Link Control  управление лоrичс СЮIМ соединением). На ПОЛУРОВПС МАС IlроИЗВО.llИТСЯ вставка пакстов в кабельную систему. ПОl1уровень LLC отueчает за формирование кадров. rло.о 13 Сети TCP/IP 289 
Стондарты кабелей Еlhеrлеl Выбор кабелей в десятимеraбитной сети Ethemet ДОВОЛЬНО ПроСТ, 110 Сlorrуация усложняется, коrда речь заходит о стомеrабитных сетях. Р.Iньше существовaлJ1 три разлИЧНЫJi сТа....nарТа для ВИТОЙ пары (ТХ. в котором исполыовались две пары кабелей катеrории 5, а также Т4 и VG. 8 каждом из которых требовались четыре пары катеrории 3) и еще ОДИН мя оптоволокнз (РХ, в котором используется мноrорежИМНЫЙ волоконнооnтичскиЙ каблы. Компания HewlettPackard отстаивала стандарт VG и Ilервой выпустила для Hero щ:юл.укты. Дрyrие производители проиrнорирова.пи ero и ОСТ3110IШ;1II свой выбор на стандарте ТХ. которЫЙ в настоящее время IIСПОЛЫ\'СТСJ1 повсеместно. llополнительная информация о раз.пи'-lНЫ'\: стандартах Еthеrпсt Прllне.JНil в rлаве ] 5. ДрyntМ полезным источникОМ является WеЬузел \YWWllOst.ots.IIIC xas.edujethemet, подnерживаемый ЧарЛЬJОМ Спеproконом (Charles SрщgСОIl). Беспроводные сети В спеuификаultи 'ЕЕЕ 802.11 делается попытка описать СП3НДflРТЫ калровой раJБИRКИ 11 передачи сиrналов для беспронодных сетей. К COi!\'1t:' НI1Ю, спецификаuия ЯВJlяется весьма нечеткой и вклюtlает ряп. параметрои. которые не были полностЬЮ определены При взаимодействии раЗНОРОЛНi,l\ сетей приходилось учитывать такие аспекты, как 1"рансляuия и ннкаПСУШIUIIЯ. В случае 1"рансляuJo1И лаКет преобразуется из одноЙ формы в п.руrую.  при инкапсулЯlШИ ОН упаковывается в струю)'ру 1"ребуемоrо формата. В среле Windows применяется инкапсуляция, а В LJ N lX  1"рансляuия, по:лому базовые беспроводные С1'аНUШi должны КОllфИr}рирооаться ЯВНЫМ обра:юм. Korna развертывается беспроводная сеть, нужно убедиться, что БЗl0В,Ш стаНllИЯ и связа.IOtЫе с ней рабочие станuии ФУНКШЮНИРУlOт в ОДJrнаll.ОIЮМ режиме Пользователи портативных КОМllьютеров сталкиваются с друrой rrроб:I мой, вызваннои неОДНОJtlаtrностью спеuифнкаUJlИ 802..11. БеспроuопНЫС платы PCMCIA имеют энерrосбереrаюшНЙ режим. несооместимый с HeKOH) рыми базовыl\.rи станuиями. По умолчанию он, eтeCTBeHHO, ВКЛЮl.Jен. I:е1l11 окажется, что ПОЛh30вате.,"]ьские портативные компьютеры не работшот в беспроводной сети, попросите пользователей отключить энерrосбереrЗЮШllii режим. Самая лучшая КОНфШ)'раLI.ИЯ домашней беспроводной сети  с базовой станцией Apple AirPon. и сетевыми fтатами Lucent. Посредством портативноrо компьютера в такую сеть можно входить отовсюду: в посТеЛII. в бассейне и даже с улиuы Максимальный размер передаваемоrо БПОКQ Размер пакетов оrpаничивается как характеРIIСТИЮ:IМИ аllпаР;IТIII.!\ cpeHCfB, так и требованиями протоколов. Например. объем ПОЛС.JI-IОI.О содержимоrо E{herne1naKeTa не может преньnnать 1500 байтов. ПреЛС:JЫIЫII размер пакета устанавливается на канальном уровне и называется максим\Ль. ной единиuей передачи (MaxiJ11um Trnnsfer Unit. MTU). Тиличные lн,1чеНЮI парамет.ра MTU ПРИ8едены в табл. 13.2. Для АТМ параметр MTU не вполне применим. так как сеТ1. ATf\'1 расположена rдеm на rраНИllе между физнчеСКltМ и канальным 'роIШ)IМII. Ячейка АТМ обычно имеет размер 53 байта с 48баt'ТОВhlМ блоком Д:11111Ы\:. но В спеuификаuии AAL/5 паке"'" может иметь раЗF\.lер до 216 бсШТОlt. К.Н. праиило. в обычном режиме параметр MTU равен 9180 баЙтов, а 1'1 rl."""Щ' LANE (Local Area NeLwork En1Ulation  JМУЛЯIlИЯ ЛОКaJlЬНОЙ ct:Т1I)  1500 байтов. 290 Часть 11. Робота и сеТА)! 
То6лца 132. f'v\оксиr.лoльные размеры передовоемых Ьпш:ов в сетях ро.!пичных H\IlOB Тип ceтeBoro соединеНА Максимальный розмер блока " Etl1rnet 1500 байтов (1492 I! специф., кa.uии 801.1) FDDI 4500 баЙТов (4352 JJ)1Я IP/FDDlj ррр настр.швзс::мый, обычно 512 И-'lИ 576 бантов лrм 53 байта Спутниковые Ю!tlaJIbI (TI, Т3) .18СТР.iшнаемы'Й, оБЫ'IНО 1500 шш 4500 бdАroв в TCP/IP протокоn IP отвечает за разбнвку пакета на фрю-менты, чтобы I1.Х раз\1ер соотвеТСТ80вал треБОВi:lНИЯ\1 J...OHKpCTHoro CCTCBoro СОС!lННСIIИЯ. [СЛII пзкет проход(п через несколько сетей. в одной 111 них паРЗ\iетр MTLI может окаJЗТЬСЯ менЬШIIМ, чем в ItС,\ОДНОЙ сеТ(1. В "этом С.1)'Чае \fЗРШРУПfJ3ТОР подверrнет Пii....сТ даJlьнеlllIСН фраrмснпщии Подобный проuесс IiСЖСJI3ТС.1СН, КОi'Шi ,\Iаршрупватор сильно Jarp}JI(e" Протокол тср способен определить ш\ltменьшее 3113ЧСIIне I\fTLI вдоль Bccro пути следоваllИЯ nакетз 11 с C3'\101'0 lIачiI.Л3 разбить lIaKCT в соотвеТСТВ1fИ С JТlIM ЗII(tчением. ПротоlI.О.'1 LI ОР Не' столъ "ЛlOбезен" и перск.'12дыаетT ВСЮ ответствен'ность на ПРОТОКОо'] 'Р, В стандарте 1 P\16 npoMe::+,,)rro'IHble маршрутизаторы больше не Mor)'T выполнять фрап.fеНТ(tШIЮ па кетов: режи"м преДfiарительноrо определения максимаl1ьноrо размера блока яв.rIяется обязательным. Иноr!lа проблема фрап.lснтаuни оказывается достаточно КОВlрНОЙ Ha пример, в Вlfр1) о аЛЬНОfi 'шстной сети с туннельной архитектуроЙ необ",,:олнмо IIронерЯ1Ъ р3.змер ПClкетов. проходяшии через туине.'lЬ Обычно их lIа13лыIыll paJMCp  1500 б.lЙТОИ. 1.10 Korna к Вlf!l,.f доБШiJIJ1СТСЯ Т)'НllеrIЬНЫЙ Зi:)rОЛ080К. рззмер nакеТОА СТЗIIOНlIТСЯ p3BlbIM npll\leplto 1540 баiПCl8, и уже ,'ребуется фrмеIП.ШИЯ. УменьшеНI.1С р.вмера б.l0ка позволяет и"З6жать фрап.lснташш и ПО-ВЫL:НТЬ IlроизиошпелыlОСТЬ сеТII Обратитесь к mallCTpaHllue ПО команде ifconfig, 'lТобы узнать, как нзстроJ.ll Ь параметр МТ U сетевой платы. Адресация пакетов Подобно письмам и сообщениям :JlIСКТрОНИОЙ по'пы. сетевые пакеты MorYI 110C ПIЧЬ п) НКПl назначеШ1Я только при наличии прС3ВI.тьноrо здреса. В TCP/IP ИСllолыуется сочеЛll11tе несколыI.хx схем адресаuии: MACaдpcca ceTCHoro оборудоваr-iIfЯ; IPi:lДpecoi IlporpaMMllOro обеСIIr:чеlIНЯ, текстовые If\fCHct компыотеров. Сетевая Iшата может иметь MACaдpe(" Юlна..1ЫIOIО \'ровня. которыЙ отшt'rает ее от Др)ТИ\: сетевых ПJl.\т данноН фll шческой сС'ти. I Paдpec опреде.1ЯIOЩИЙ ее положение в сети IIlLernet, 11 текстовое liМП, ПОНЯТllое ПО..lЬ 10вате;и'lМ. Самыи нижниЙ уровень адресации задается сетеВЫМII dllпарзтllыII среШ:ТRа't1I. НсШрllмер, ЕtI1еmсt)строЙствзм Прlf ИЗlотовлеюш IlрllСВallВdlOТСЯ )'IIIfKa!1bIfbIe шеСТllбаЙтовые i.lппараПfые anреса. ПliiТЫ сетей TokCll Rlllg имеют ilна.10Пiчные шеСПlб.,йтоные адреса. В некоторых сетях с д8}хточе'II'IыM coenlIHeHlleM Harlp(1ICp. ррр: см l'Iарrpаф 13.8) 31111<t(')3THbIe адрес;.! JЮООШС не I'IУЖНЫ: с1дрес пункта .13111i1чеНЮI укаЗЫП<J.ется непосредственно пр(", 'стаlfОRлеllшt соеДIIIIСНИЯ. [лаоа 13. Сети ТCP/IP 291 
ШестибаЙТО8ые адреса Е[llсrпеl разбиваются на две части: перБЫ': lpll байта определmoт изroТ08ите:IЯ платы. а последние три байта выступаю 1 11 качестве уника-тrьноrо серийноro номера, назначаемоrо изroтовителем. Te"y ШИ список производителей ceTeвoro 060рудования можно получить по aдpc..:: hHp:/ /WWY. .iаllа.orgfаssignmеllts/еthеmеtЛUIl\Ьеrs В свое время эта информаuия реrпярно пуБЛИКОВ8..'1ВСЬ 8 виде документо" RFC, но затем такая практика ПJЖкратилась. Последним документом в cepllll ASSlgпed Number.' (назначенные номера) БЫ1 ДОk'Умент RFCI700 (1994 '.! Офиuиа.'ТЬным \рSНJ1лиwем всех спеШfа.'1ЬНЫХ имен, действуюших в СС111 Inlerller, ЯВ.1яется WеЬСТР8НИl.fка 'Yrww.iапа.оrg/пt1mЬеrs.hrm. Аппаратные адреса ЕtllеПlеt должны быть постоянными 11 heI-lЗfеtIНЫШ К сожалению, некоторые сетевые платы допускают проrраммное .задаllllL' аппаратных адресов. Особенно сложно Б ЭТОМ отношении с П.18П\\11I беспроводной СВЯJIf Избеrайте назначеНIIЯ адресов из диапазона rpУПI1О1ЮI'" вещания и дртих спеииа.i1ЬНЫХ адресов. В Solaris и Red Har можно 1сIШ11. аппаратный адрес любоrо ceTeвoro интерфейса, но лучше зтоrо не ДСЛi!.ПJ_ На следующем, более BЫCOKO! уровне используется IlltеrпеtадIX'СiШII1 (коmрую чаще называют rРа.аресаuией). Каждому сетевому интерфеilС присван:вается четырех6айтовый 'Paдpec. Эти адреса rлобально уннкаЛЫlы а и аппаратно незавнсимЫ. Мы УДС.ilИ!l.f им достаточно \fHOrO ВННМ311ШI 11 парю'рафе I З.4. Соответстви t.lежду IРадресами 11 аппаратными адресами реМIП>СТО! 11.[ каН3...1ЬНОМ уровне ,.,юдели TCP/IP В сетях, допускаЮШIIХ Шllроковешате!1ЫII.lll реЖИ\1 (т.е. в сетях, позво.1ЯЮШНХ адресовать пакеты всем компыoIыы1 данной физической CCTlt), ПРОТОКО:I ARP обеспеЧllвает аНТОМtПIIЧL"С'"'УЮ при вязку адресов без вмешате:l1"ства систе\fНоrо aд\lIlIHIC1.p3TOpa. o Подробнее о I1pOтOKo..le ARP расскаJываеrnся (J nаРОi!рафе /3.6. Поскольку I Paдpeca представляют собой длинные. На первый п.,r:Щ:l С:Iучайные. ЧИС.1а, то заПОМНIIТЬ их трудно. LI!\1IХсисте...,ы поЗRОJШlOl связывать текстовые имена с I Радресами. чmбы вместо telnet 128.138.2""2.1 пользователь Mor ввести teII1fl опсllОr. Сушествует нескоЛЬКО способов осуществления подобной принязкн. ... ПОМОlиью статнческоrо файла (/etc/llOstS). баз данных IS и NIS+ и, ННКОllсtl, DNS  rПООaJlЬНОЙ СИСТС\IЫ nOMCHHЫX имен, Помните, что IIМЯ KOMI1r.tOTC ра  зm просто сокращенный способ заПIfСИ IPaдpeca: IilljКОР()ШIL"НI..'I... сетевое проrраМ'о.lное обеспечение ero не ПОI--l1l\fает, Порты IPa.apeca ндеНТllфииируют компьютеры, точнее. сетевые IIнтеРфС11<':IoI компьютера; 01-1'1 неДОС1'3ТОLIНО конкретны 'n"'1Я алресаиин отдеЛЫJЬ'Х ПрОШ:ССОI1 и ССрElИСОВ. Протоко...1Ы ТСР И LJ ОР раСШИРfJIОТ коНиеllU1fЮ I Paдpccou, IlltU.ш ПОНЯПlе порта. Порт I данном случае представляет собой дnyx6anTOBoe ЧIIСJ(I, добаВ..1яе\юе к IPaдpecy и УКflзынаюше:е конкретный канал взаНМОДСIIСПIII1 Все стандартные сеРВIIСЫ LJNIX. в час.тНОСТlf элеll.-тронная ПОLlта, FTP, Cl.:'pHt"p УД8.'lснноrо досту"з. СВflЗЫE:lClIOТСn с .'J.I1BeCTlIbIMII.' портаМIf. которые orrp':.lL' лены в фаИ:lе /etc/sef\'ices, Для Toro чтобы преДОТВРiПllТЬ попытки CTOPOIIIIll\ Это не 8сеrла верно В С;JСДУЮШС:М параrрафе. коrда речь nОЙ.,JJ.ет о системе NAI. б.l1.:1 рассказано, в каких случаях а.ареса окаJЫвакrrся неуtlика..1ЬНЫМII. 292 Част.. 11. Работа n сеТflХ 
ПрОШСС08 :JзмаСЮfроваться под стандартные сервисы, LJNIХСlктемы orpa НИЧИRают доступ к портам с номерами по 1024 только .пли пользоватеЛЯ root. Типы адресов в протоколе I Р и на канальноМ уровне поддеРЖJ1Вается l-IеСКо.'lЬКО птов адресов: напрзв..'lСННЫЙ  а.арес, который обозначает отдельный компьютер (в действительности сетевой I1Iперфе й с); rрynповой  адрес, и.дс:нтнфиuируюшнй rpynny узлон; широковешательный  адрес, оБОЗН8 L rаюший нсе уз.'lЫ JlОКальной сети Режим rpУllПовоrо вешанйя используется в таJ<.."""ИХ приложс:ниях. как, например. видеоконференuин. rде одна и та же послс:довзтеЛЬНОС1Ъ 113КС:ТО8 посылается всем участникам конференции. Протоко., IGMP (lпtс:rпсt Group Мапаgеmспt Protocol  протокол управления rpуппами Internet) отвечает за ynравление rp\'ппами уз.'lOВ, идеlПИфИUИРуемыми как один rрупповой адресат. Режим J"'PynnoBoro вещаю.{я все еще является ЭКСПСрИfентальныМ Тем не менее, он находит все БО;Jее широкое llрименение в таких областях. как переЛ3tа топосовых данных по I Рсетям и передача видео по Janpocy. Hi:I. канdЛЬНОМ уровне fJ1адшиЙ бllТ сrаршеro байта rРУППО80rо адреса (первый байт, передаваемый по кабелю) установлен paBlbl\1 1. Т,е. .lюбой алрес с нечетным первым байтом рассматривается как rруПllOВОЙ. Такие адреса нспо.'1blУЮТСЯ раЗЛИЧНЫМIf аппаратными устроиствамн н npoтoKo.la'\: начальной конфнryраuии. Адрес rpYllno8oro вешания в IIHerllet  01:00.5Е. Шнроковещате.:тьные а.ареса KaH3..JlbHOro уровня, еслн рассматривать их 8 ДRОIIЧНОМ Вlше, состоят IП ОДНИХ еДИIШU. В протоколе 1 Р rp:У1l110пые адреса наЧJlнаются с баЙта. значение KOToporo наХОЛlfТСl1 R днаllа.10не 214239. В широковешате'lыhlхx адреса\: последниИ часть адреса и ДВОНЧJIOМ виде ОСТШIТ Нl ОдlШ); еЮIНIЩ. 13.4. IРадреса 'Paдpec имеет н л..'lIНl) четыре б"йта Ii состоит 111 дя}''\ tlзстей: сетеиоЙ 11 \ШШIНIIЮЙ. IlеРВilЯ часть обозначает поrичсскуlO се1 ь. 1( которой ОТIIОСIПСЯ адрес. а RТОрl:lЯ идеНТllфиuнрует конкреТIIЫЙ компьютер в сети. 110 соr:lзшениlO 1 Paдpeca jj;LПI1СЫRiНОТСЯ в Rllде I руппы десЯ-ТИIНhI'\: Чlfсе.'l (по одному на каждыЙ баЙт), ра..шеленны'\ тоtlками. Например. I P<lдpec наше." \tаIПIНЫ bouldcr 8ыrляДИТ как 128.138.240.1. Левый баl1Т  CTaplll1111 и Bcerдd яв..тlяется КОМ ПОIIСНТОМ сетеиоf1 части а.ареса Ест первым 6<.1Йто:.t адреса Jтnляется tШС.'lО 127. оно оБОjН;]'dет IlIперф..:нс обратнон СВЯЗИ  фIIКТliВlI}Ю сеть, не IIмеюшую pea.lbHOI.O <1Jl"Р;.lТlюrо ШlтерфсЙса 11 состояшую толыш И3 лоt.:<J..'IЬНОЙ II.tJ.ШIIIIЫ. .4.дрсс 127 .0.0.1 ncrn<i ССЫJli!.СТСЯ IЫ текуш},ю маШIШУ; ее СI1!r.IВО:lIfЧеское имя  localllOst. 1 Р.шрсс 11 ДРУПlе mlpal\lCTpbI ceTeвoro Иlпсрфейса змаlOТСЯ кО.....Ii1\I!юli ifconrig. Ее nO"IHOC опнсанне дано R параrpзфе 13.10. Классы IPaApecoB l1сторнчеСКII IPaдpeca I"'РУII11ИрОRaJПlСЬ в hЛш..-сЫ. опрепеШТВl1Iиеся IЫ основаНIfИ первых битов саtlюrо .1eRoro байта. КлаССhl OT;l11 t I3j11ICb распреде лет>lем бilЙТ08 aJpec<.l между сетевоЙ и МаШИННОЙ 'Iастямн. C08pCMCIIHbIe маРШРУТllзаторы !Сполыуют явные Мi:1СЮI ..!IЛЯ задаНIIЯ сетевой части ощреса. [ла.о 13 Сети TCP/IP 293 
причем компоненты адреса MOryт разделяться по rpаниuе отдельны\: БНТОII. а не обязательно баЙтов. Тем не менее, '.радиuионные классы все еш!: используются по умолчанию. если не прелоставлена явная маска. Классы А, В и С обозначают обы'шые 1 Paдpeca; классы D и Е пряменяются при rpуrrповой алресаиии и в исследовательских иеля. В табл. 13.3 представлены хараlo.."Теристики кaжn.оro KJlacca адресов. Сетеиая часть адреса обозначена буквой С. а машинная  буквой М. Таблlo1ЦО 13.3. Клоссы IPoApecoB Клосс Пер8Ы байт 1 Формат Комменторlo1И А 1126 С.М.М.М Самые ранние сети ЮНI адреса. зарсзер..и- pOвaHНblC nля Миннстерстii3 оборОНЫ США В 12191 с.СМ.м Крупные орraннзаuии, обыч.но с IlОДСетя ми; .адреса даЮЮl"О класса поч.rн полно СТЬЮ заняты С 192223 ссем Небольшие орraнизаuии; адреса даНIiОro класса получить лелю, ОНИ выделякrrся цеJLЫJ.fИ блOkSМИ D 224 239 rрупrювые адреса. не назначаются на по стоянноf:; основе Е 240254 Экспериментидьныс аареса Значения О и 255 дпя обыч.нbUI: IPilДpeCOB не ИСЛО1IbЗуются. ЗначениС' 127 зарезервировано Д/UI адРесов обратной связи. Орrанизация подсетеЙ в редких случаях в состав лока-тrьной CCTlt входит более ста компъютероJi. По этой причине полезность адресов класса А и класса В (которые допускают налИЧJ.IС в ОДНОЙ сети соответственно 16777214 и 65534 машин) весьма сомнительна. К примеру. 126 адресов к...тlзсса А занимают половину достynноrо aдpeCHoro пространства! Большинство орrанизаuии. ИМСlOших :пи адреса. пользуются ул}чшенным вариантом схемы алресauиll, в которой применяются подсети. Здесь неКQТОрOlЯ доля машJ.lННОЙ Ч8СТИ адреса "ззимстнуется" JIЛJ'I расширеНIIЯ сетевои Ч;IСТlI. Например, чс1ыеe байта адреса JU1ЗССЗ В оБЫЧIIО интерпреТl<1руюТСЯ К.Н, С.С.М.М. При наличии подсети трстий байт также отводится под номер сеТи. а не номер машины. поэтому формат адреса становится таЮfМ: С.С.С.М. Это превращает один сетевой адрес класса В в 256 сетей, подобных сетям класса С, в кажлую из которых может входить 254 Kot.mbIoтepa. Пере назначение адресов производится с поt.toшью команды ifconfig. которая назначает сетевому иmерфейсу так На3ывзем}1O \laCKY подСl'пш. Каждый бит маски, соответствуlOWИЙ сетевой части IРалреса. равен 1, :J биты машиннои чаСП1 равны о. НаЛРllмер. маска JlЛЯ адреса класса С будет иметь вид 255.255.255.0 8 nеСППfLrНОЙ системе и OxFFFFFFOO  в щеС1'Н3 диатеричной. Ялро. как праВИ.llО. ИСIIОJ1ьзует класс адреса Jlля ТОТО, чтоБы выяснить, Ka"'''le биты относятся к сетевоЙ части Если зад.ается явная MICKa. то эта функция просто отменяется. Более подробная Ul/фОР''''ЙЦllЯ о KO}dal/ae ifcoпfig содер.жится 8 lIарйрйфе 13.10 o 294 Чостъ 11. Работо в сетях 
r раница межnу сете пои и машинноЙ чаСТЯМII адреса не обязательно приходится на траниuy байта. но qаше Bcero бывает именно так. Биты сетевой части должны быть смежными. КОНфИl)'раuия вида С.С.м.с раньше допус калась, хотя и не бьurа распространена. Сеrодня подобный формат адреса недопустим. Сетевые маски. не оканчиваюшиеся на rpаниuе байта, труднее декоДи ровать. Они обычно записываются в виде суффикса /ХХ. rде хх  l.П1сло бнтов В сетевой части адреса (дnина маски). Например, адрес 128.138.243.0/26 обозначает первую из четырех сетей с обшим компонентоМ адреса 128.138.243. В трех дрyrиx сетях послеШIИЙ байт адреса идентиФиuируется значенИИМL.1 64, J 28 и 192. Сетевая маска. связанная с этими сетями, имеет вид 255.255.255.192. ли OxFFFFFFCO. В двоичном представлении это 26 еДИНIIU, за которыми следуют шесть нулей (рис. В). IP.aдpвc Десятичная маска 255 2ь5 255 '92 Шестнадцsтвричная маска Двоичная мвска ", ,,,, 1111 ,, 0000 Рис.. В. С труктуро маски падсети В сети с длиной мilски /26 .nля 11)'hlераШ1И узлов отводится 6 битов (32  26 == 6). TaIOfM образом, появляется возможность задать 64 адреса (26 == 64). В действительности можно использовать 62 адреса, поскольку адреса. состоЯЩие ИЗ всех НУJlей и всех един ии. зарезервированы (COOTвeT ственно .nля самой сети и Шl1роковешательноrо реЖJ.1ма). Манипулировать uсеми :JТиМИ битами в rолове '.рудно, НО есть ряд приемов, ПОЗ80ЛЯЮЩИХ упростить вычисления. ЧИСЛО узлов в сети и значение последнеrо байта сетевой маСЮI в сумме всеrда дают 256: последнИЙ байт сетевой маски  256  размер сети К примеру. R рассмотренном выше случае 256  64 == 192  это послед ни-й байт маски. Hpyroc правило rJl3СИТ. что значение последнеrо байта фактическоrо ceTeвoro адреса (не сетевой маски) должно наиело делиться на число узлов в сети В описывземом при"мере последние байты равны о, 64, 128 и 192  каждое нз эти'\ чисел деJlНТСЯ наиело ни 64. Старшие ДRЗ бита ПОС'1елнеrо байта адреса MOf)'T ПРИНlIмать ЗН3 L lеl-ШЯ 00. 01, 10 и 11. Таким образом. сеть 128.138.243.0/24 может быть раздеJlена на четыре сети /26: 128.138.243.0;26 (О  00000000); 128.138.243.64/26 (64  01000000): . 128.138.243.128/26 (128  10000000): 128.138.243.192/26 (192  11000000). Выделенttые полужирным mрифтом биты последнеrо байта кажцоrо адреса относятся к сетевой части этоrо 3l1реса. Имея конкретный IPanpec (ДОIlУСТНМ, 128.138.243.100), невозмоЖно сказать, не узнав сетевую маску, каким будет адрес сети и широкоneшатель ный адрес. В табл. 13.4 представлены возможные варианты ПJlЯ масок /16 r "ОВО 13. Сет" ТСР /IP 295 
(выбирается по у-молчанию ШlЯ адресов класса В). /24 и /26 (hal-lБО:II: реалистичн Зt-Iач(:ние, если учитывать Hexвan.:y адресов в сети: СМ. Шlh.(:). т облИЦО 1 З.4. Пример росШИфр08КИ IP-одрвсо  Pдpec Сетевая маска Сетевай адрес Шl-1раковещатеnьны адрес 128.138.243.1 00/16 255.25'.0.0 128.138.0.0 128.138.25'.255 128.138.243.100/24 255.255.255.0 128.138.243.0 128.138.243.255 128.138.243.100/26 255.255.255.192 128.138.243.64 128.138.243.127 КИТ Оуэнз (Kcllh Owens) написал прекрасный Реrl-сuенарий Ipcalc.lll. который помотает выполнять адресную арифметику. Он дост'Пен по адресу fip.ocs.com.au и требует налИLIИЯ интерпретатора Perl 5. Сuенарий отображает всю информаuию, касаюшlОСЯ заданноrо сетевото адреса. Мы даже обнар} жили, что была написана версия этоrо сuенария ШlЯ системы Palm Pilo[ (www.ajw.comjipcaJc.htm ). Ниже лриведен образсu работы сuенария (формат вьтода для наrЛЯДНоСТII HeMHoro изменен): , ipca1c.p1 128.138.243.100/26 IP address 128 138 243 100 I 26 Mask ЮН:5 11111111 11111111 11111111 11000000 Mask bytes 255 255 255 192 .Addres5 10000000 10001010 1111ОО11 ОI100100 Net.work 128 138 2-43 64 Broadcast 128 1З8 243 127 First Нозt 128 1ЗВ 243 65 Last H05t 128 138 243 126 Total Hosts 62 PTR 100.243.138 .128 .1naadr .arpa IP Address (hex) 808АFЗ6<1 128.138.243. ,00/26 255.255.255.192 128.138.243.64 128.138.243.127 128.138.243.65 128.138.243.126  . ;/ в Red НЗI сушествует nроrpзмма. которая также называется ipcalc 11 ВЬmО.ТIИяеТ аналоrичные ВЫЧислеНИЯ. но "IMeeT несколько отличаюшиися синтаксис. Исходный документ RFC. посnишенный IРnодсетям (RFC950). не раJрСШал использовать первый и последний мреса подсети (состояшие IIЗ пссх нулеи и всех единиu соответственно). В нашем случае это привело бы к ИСКЛlO1Jению половины подсетей. с адресами О и 192. В ле'ЙСТВlIтеЛЬНОСТlI все иrнорировали это прапило, кроме компани-й Novell JI Cisco. (Пршша. н пОслелних версиях оперипноНl-ЮЙ системы IOS компании Cisco  12 О и выше  nоцсеть О ЛОСТ) пна по умолчанию.) РаlраБОРЩКl-f данноrо документа ошиб.lI1СЬ. хотя их нзмереНI1JТ iiы:ш блаrоролиыми. Зi:1прет nОДССТl-l О был 8ы1анH опасением, что FlO]IНlKIIL:l путаница ИЗJа совпадения адреса l1одсети и ceTeBoro адреса без ...."зски. -:.этот t.ipax ОКЗЗа.'lСЯ беспочвенным. поэтому адреса подсетей, состояшие Иl НСС\ нулей и всех единиu. ШИрОКО исnолыуются сеrодня. На самом леле полобl-IЫI-j запрет относится J< машинной части адрес.а.. Сетевой (все нули) и широковешательныJi (все едшнщы) адреса COKp<I щают число узлов в каждой локальной сети на 2, поэтому в самоЙ малеllышil сети формально будет 4 узла: два реалыrыx. соединенных иапрямую. и 'lll;J 296 Чость 11 Робото В сетС!): 
фиктивных (сетевой и широковешательньr'Й адреса). д.rтя Toro чтобы созлаТh подобную сеть. неоБХОЛIfМО выдеЛI1ТЬ два б.па под машинную часть адреса, Т.е. суффикс anpeса бупет /30, а сетеяви маска  255.255.255.252, нлн OxFFFFFFFC Сетевые маски ПОI-ШТНЫ компьютерам в локальной сеТlI, но nнеШНИ'1 мир о них не зиает 1-1 продолжает интерпретировать адреса 8 COOTBeTcrnlI1I с заложеННЫМII в них классами. В нашем случае (адрес 128.138.243.\ 001 не нужно сообшать миру о каждой подсети , достаточно сообшить об одноЙ сети Юlасса В. Коrда пакет прибулет 8 пункт назначеНИJ'. после KOToporo происходит разделение на подсети, к адресу нужно npименнтъ сетеnую маску. обнаружить pea.rтьHoro получателя и направить ему паКет. Криз..с IРадресов Примерно в 1992 r. сообшество lnternet HaKOHeиTO осозна.тю три фундаментальные проблемы, возиикаюшие 8слелстnиС примснения ИС\"ОПIIОЙ схемы выделения адресов. Вопервых, при существующих темпах раЗШI1"Шl anресное пространство класса В  наиболее Же.1анное для орrаНllзаuиi1 YMepeHHoro размера  окажется нсчерпанным к серепине 1995 [. ВОRТЩ1Ы\. таблицы маРШРУТИЗЗlllIИ серверов. упраВЛЯЮШИ7\ Iпtеl"Пе[шпtстралЯМII. стаЛII настолько большими. что пояnились опасення относительно нехватки памяти на маршрyrизаторах. И втретъих, IPaдpeca 8ылелялись по принuипу "первым попросил  первым получил" без учета ннформаuии о м-естоположени-и адресата. Таким образом. сосеnние адреса моrли нахолитЬСЯ как 8 олноЙ орrаНIIЗЗUIfИ, так и на разных KOHTJ.rneHTax. Предстзиъте, какая путаниuа моrла Бы 80ЗНlrкнyrь. есИ бы так же бессистемно назнаЧaJlIIСЬ почтовые инзе ксы! ДЛЯ решения проб.lемы было однопременно пре!l10жено ДIJЗ подхолrt: один на ближаfшее будушее. а ltprof  бо..1се Ло.'1I'Оt:'РО'IНЫЙ. ПерlЮС 11] решеЮlii  протокол CIDR ICla!!lsles.s Il1[erDol11ain Rошiпg  бесклассовая межломенная М<lршрутизаllНЯ)  предусматриnало Iпменение 11РИIЩИПОВ ynравления сушеСТВ}10ШИМИ 'lетырехбаf-rтОnЫ\IИ адресаМII и vпрошение тзб':НIll маршрутизаUИ1f за счет введения понятИя смеЖНОСТ1I. ДолrОВРС1\lснное решенне  это станларт I Р\'6. ОН препстзnляет соБО(1 слепуюшее поколение протокола 1 Р. u котором ШШН3 anреса УRсличсна ло 16TJI байтов и учтен рял Др}'ПLХ ошибок, ныяпленных на ПрОТЯЖСНlНI 25 lCT ЭКСllлуатаl1l l11 Ilротокола IP. Некоторые элементы llротокола вообше НСК.'1ючены из HOвoro стаНШ1рта. так как опыт показа:i. что онн не имеют практическоЙ L1енности. В результате протокол стал потенииалыю быстрее и проше 11 реализации. В нем Иlfтеrpированы средства аутентификашш и обеспечения безопасности. а также yt.-трансна проиедура фраrмснТ1\UИИ на проме)f..yrочных маршрутиза1"орах. Блаrодаря 16байтовъrм адресам ПОЯВJ.t13СЬ нозможность ис по.'IbЗОnВТЬ 2'28 адресов. 'rro состаWlЯеТ примерно 665570793348866943898599 адресов на олин квадратный метр поверХJIOСТИ Земли. Размерность 16 была выбрана потому. что провепенные ВЫЧ-ИСJlения показали; сушестпует нсболь шая nероятность тoro, что 8ми байтов адреса окажется Ilе.аостзrоЧНо. В 2000 f. ПРОТОk:ОЛ I Pv6 все еше прОХОДIIЛ npouecc стаНllаРТII"Jilшllt. А оот протоко!"! СI DR был полностыо Rнел.рен 8 эю::плуатаuню; он ПО.:IlLержннаетсS1 сер'Rер1И lП{еrnсtмаrистралей и Rедушими ПРОИЗ80дителями \lаршруТlПИ руюшеrо оборулования. Сушестпенную роль в у"сиьшеннн требусмоrо чнсла IPaдpeCOB CbIrpa.13 также систе'"1а NAT. обсспt:чннзюшая попторное ИСПОJ1Ъ зование сущеСТВУЮШI!J:Х адресов (описьmается далее n rлаое). ['0.0 13. Сети TCP/IP 297 
Сложность стандарта IР\'6. эффе","Тивность протокола CIDR и систе\{Ь/ NAT. а также ннертность сvшествуюшей сети Internet застааляет препполаrать, что потребуется MHoro времени. прежде чем произойдет переход на 1 Р\'6. Он может быть ускорен такими странами, как Япония и Китай, которые Hf получают необходим}lО долю aдpeCHoro пространства. или каКОЙНJlбуль новой суперпопулярной системой. ориентированной на стандарт IP\6. Кандидатами на эту роль мотут бьrrь WАРтерминалы или беспрОВОДflые устройства. истраиваЮШI1С номер телефона и адрес I Р\.6. Системы переn.аЧIf rолосовых ланных по IРсетям также выrpаютT от более близкоrо соответстшш между телефонными номерами и адресами 1 РУ6. ClDR: nротокоn бесклоссовой междоменной маршрутизоции Протокол CIDR, описанный в документе RFCI519, устраняет потребиость в смстеме классов. на основании которой раньше опрелелялась сетевая часть IPaдpeca. Он является прямым раСllшреним и.ди полсетеи. ПОСКОЛЬКУ также позволяет задавать сетеную маску, опрелеляюшую rpант.щу межny сетеnои Ii машинной частями адреса. Но в uелях мршрутизаUl'И допускается. 'побы сетевая часть была меньше. чем Toro требует ютзсс адреса. Блаrодаря укороченной маске нозникает 'Эффект объединения нескольких сетей 110 лой причине протоко..'1 CIDR иноrда называют протоколом фОl1М1-IрОnЗIШЯ II3.дсстеи. При использованни протокола СI DR можно оиноЙ орrанизаиии выле'I!ТЬ несколько сетей класса С. причем не нужно для каждой из них созлзватъ отлельную заmlСЬ в табmruе маршрутизаuни. Предположим. например, t/TO орraнизаuии прелоставлен блок из 32x адресов класса С. пронумеров.ннных лоследовательно ОТ 192.144.0.0 до 192.144.31.0 (n нотзuии CIDR  192.144.0.0;21). Внутри самой орrанизanии адреса MorYT распределяться так: 1 сеть С l1ЛИНОЙ маски 21  2046 узлов.. сетеlJ3Я МаСКа 255.255.224.0; 32 сети с длиной маскл 24 254 узла в кажлой. сетевая маска 255.::!55.255.0: . 64 сети с длиной маски 15 126 УЗЛОll в каждон. сетеБая МШ:К;I 255.255.255.128, 128 сетей с Д,'lиноi1 MaCКl1 26  62 У"3:IЗ 8 каЖДОJf сетевая 18Cl{a 255.255.255.192; и тл. Возможно смешение подсетей с разной длиной сетевой части адреса. если только они не перекрыnaют друr лруra. Например. проnaйдер Il1tеrПСf, которому выделена адресная область 193.143.0.0/21, может создать rРУПIIУ сетей /30 для РРРклиентов, Ilесколько сете.й /24 для КРУПI-IЫХ клиентоп и ряn сетеЙ /27 для более меЛКIIХ компаниЙ Все узлы в се111 ЛОЛЖI-IЫ конфиryРИРОfl8ТЬСЯ С помошыо ОДИОЙ сетевой маски Не11ЫЯ шrя OllHoro узла задать длнну \i.аски 24, а nля дрyrоrо  25. иенность протокола CIDR ШЮIIO"lаеТС51 8 том. ЧТО ЮНI переЧI1СЛСIIIIЫ\ адресов не обязательно нметь 256, 128 или лаже 32 18Пl{СИ 8 таб.lllUt" мзршруrизаuии. Ведь все они ссылаются на компьютеры в одной и Toi1 же орraнизаUИI1. ПОЭТОl\f]' пакеты Ilрелnaрительно нужно доставпять n IЮIИ Лервоначальная спеuификация ELhemeL для коаксиальноrо кабеля RG I1 допускала налl1 чие 1024 узлов в локальной сети. Очевидно. это бьulО связано с максимальной длиной кабеля (ПОДСЧИ1'ывалось среднее расстояние между компьютерамн). Поnобное оrpаничение по прежнему может быть '"зашm-о" rneTO в nporpаММllOМ обеспечеиии, поэтому ЛUllнаи конфкrypация ссти является непракти-ч-ной. 298 Чость 11. Робота" сеп;); 
обший приемный ПУНКТ. А в таблицу маршруrизации лостаТОЧIIО внести запись 199.144.0.0/21. С ПОЯliЛением протокола CIDR системныM a1IМннистраторам пришлось полнатореть в лвоичноЙ И wестнадuатеричной арифметике. Правда. мноrие открыли для себя UNIХУТНЛl11}' Ьс. которая ВЫlIолняет нреобразования в !Iюбой СlIстеме СЧИСJlеЮ11t пр" 110МОШИ !lНректив iba.''ie JI ohasc. В Ta6Т'I. 13.5 прелставлена ШПCiрrа.Т'lка по нашему примеру. Таблица 13.5. K0t--1фиryРО4I<1Я сети в зависимОсти от дпиt--<Ы сетевои мОСКи Мошинная Vзлов/св т е й2 СетеВОА маска Сетевая маско чостъ I.<I еom<чноя ) (шеcrнадцатеричная) 12 4094 255.255.2оЮ.0 OxFFFFFOOO 11 2046 255.255.248.0 OxFFFFF800 10 1022 255.255.252.0 OxFFFFFCOO 9 510 255.255.254.0 OxFFFFFEOO 8 254 255.255.255.0 OxFFFFFFOO 7 126 255.255.255.128 OxFFFFFF80 6 62 255.255.255.192 OxFFFFFFCO 5 30 255.255.255.224 Oxf"FFFFFEO 14 255.255.255.240 O><FFFFFFFO 255.255.255.248 OxfFFFFFF8 255.255.255.252 OxFfFFFFFC Сетечоя чрсть /20 {21 {22 {23 /2' /26 {26 {27 (28 {29 {30 I Размеры сетеuой и маШJ.lНt-Iоf1 "lзсл:А адреса в сумме всеrда дают 32. 1 ч.исло уз..'ЮВ определяется по формуле 2(ДJшна машинной Llасти}2. Лnреса уЗЛОВ. состоящие из всех нулей и всех едиНИU. ИR!lЯI01'СЯ зарезервированными. Коrда протокол CIDR 1l0я.ви..'кя в 1993 [.. таблиuы маршрутизаuии маrистральных серВСрОА солеРЖaJlН npll\fepHO :юооо зar1ИсеЙ. Несмотря ни ПОСJlеlIУlOWИl )ксnонеlUиa.rIЬНЫЙ рост сетИ Ilшrпеt. размер таБЛIfU УВСЛ1ЧИЛСЯ Rcero ло 80000 записей к лету :юоо r. Столь \1'-1cpelllrъlll рост связан с 8КТlIВIЮJ1 аrpеl'3uиеt1 спtрЫХ 11 новых адресных областей.. Имеется ОЛllа неаrрСl"1lрОШ.tннзя область iiдpeCHoro пространства, ЮIlЫ Ri:l.смая "бо.ютом" 192 (ест!.. lаi\'1Ке ряд БОlее мелких "болот" 8 Дl1атнонах 199 н 205). Она состоит IЗ ранних 8ДPCOB класса с. W1;IДеЛЬL{Ы которых не MorYT HhInO.1HIITh I-IX arperaUlllo. но 11 не хотят 1I0меня I ъ 11Х на ПРУПlе адреса. Особешю остро Ш'llIIlая проблема СТOIП в СШ -\ Европа и А1И)l, начавшие ПОЛКЛlOчаться к Iп(еrпеt nОJже, IJ1И ошибки CLlIA и более р,вумно lJОЛОШЛИ К вопросу выделения адресов. ОрrаllизаЦИI1. Wl8деюшие itдрссами в диапазоне 192, ЛОIЖНЫ BepI}'7h 11);, в Американскую канuеляриlO номерон II1Iemel IAl11erican Reglslry for IПLсrnе( t1n1bers. ARIN) и по.."l}'ЧИТЬ новые блоки адресо" от СПОIIХ IIроваилеРОR. К сожалеllllЮ, стоимость 1'lеререrИСТрiЩl1И (по краИJlеil мере, R ctдресном Щ:'ЮСтрЗlIстве 1 Pv4) ОТПУПiнает БО:1ЬШIIНСТВО орrаlll1заШII_ от полобнOIО шаНI. КОI.да мы ШI."laJШ nltL:ОПЬ КШlry летом ItJ99 r.. число записей 1:1 таблицах соста8.rlЯЛО 60000. А I.on сnyстя tL'\ было уже 80(ЮО  25проuе-НТIiЫЙ рост! СущеL:твуюшие маршрyrизвторы и мrорИТМЫ мзршрyrиэзuии МОI1''Т Dыдржатьb rоловой прирост в иесколько проиентов. но ие 15%. rлоб3.!IЬНУIО статистику маршрyrn:заuиlt вы можете узнаlЪ по адресу www_aDtc.uore g0l1.edu/routeviews/dynamics. I,C,Q 13 Сетн TCP/IP 299 
Хотя протокол CIDR предусматриnался как промежуточное решение. оказалось, что он отлично спраW1яется с проблеJo.ЮЙ рости сети Inrernec. По крайней мере, в ближайшем будушем причин штя беспокойства не предви .nятея. По сути, ПрОТОКОЛ CIDR зарекомендовал себя настолько хорошо, что теперь не ясно, нужен ли вообше новыА протокол I Р. Конечно. в разрабоп-.:у и прОТОТИТ1ную реализаuию спеиификаuии JPv6 был W10ЖСН оrpомный инженерный труд И будет стыдно, если он окажется напрасным, но ШИРОКОМ8сштабное внедренне станларта IPv6, ОIIСННДНО. напрямую зпоисИl от появления какоrоннбудь суперпопулярноrо приложения. ориентирооан нol"о исключительно на IРУ6, ИJIМ ОТ решения компании Microsoft отпраRlПЬ лротокол IРУ4 "на пенеию". Выделение адресов в самом начале эпохи Intemet отдельные орrанизаиии обращались в информаии.ОНf-IЫЙ иентр сети 1 nternet (I nternet Net\vork Il1formation Cel1ler, Iшеl.NIС) за получением адресов. В настояшее время в Америке эту функuиlO выполняет ARIN. Только провайлеры Internet. выделяющие достаточное ЧJiс.по адресов в rод. rмеют праnо направлять запрос в ARIN наПРЯf..fУЮ. Все остальные орrННИЗ8ШПl должны обрашзться к СПоим локальным провайлерам. Формально назначаются лишь сетевые адреса. ОрrанltзаШill лолжны самостоятельно определять номера ",:омпьютеров и закреплять за IiIfMJ1 I Paдpeca. В административном порялке Орlанизаl1ИЯ ICANN леле! Ilронал полно мочия по распреде!1ению адресов трем репto.-Ia.пьныIM канцелярилм. которые предоставляют блоки адресов провайдерам Iшеmеt в рамках своих реrионов (1dбл. 13.6), Провайдеры, в свою очередь, выделяют адреса отлельным клиентам. Только крупные провайлеры MOryr напрямую контэ.л"Тнравать со своими репюнальными канuеляриями. Таблица 13.6. реrиQнольныe концелярии, отвечОlQщие за роспределение Iпlеrпеtодресов .. . Название WеЬодрес Охватывоемый реп-юн ЛRlN ЛРNIС ЮРЕ www.anп.пеt Севернан и IОжнм Америка, Африка южнее UXilPbI www.арпiс.пеt Азия и Океания www,ripe.Det Европа и прмеrающие 06л.всти Делеrирование ЛOJlномоЧJ'Й от ICANN к ARIN, RIPE и APNIC, а затем к наuиональным или репюнальныM пропйлераf.,! Inremet обеспеЧИВflет должную аrреrаuию адресов n таБЛlfuах маршрутизаUИIf маrистральных ССТСН. Клиенты, получившие адреса из aдpeclloro блока CBoero провaPlдера. не имеют маршрутных записей в маrистральных серверах. Достаточно одноЙ Jt\Ш1СИ. ссылаюшеяся на caMoro провайлера. Изначально адресное пространство рзспределялось не самым Честным образом. Правительство США зарезервировало примерно половину адресон для себя, предоставив Европе и Азии сравнительно нсбольшие блоки. Олнвко в Европе и Азии rораздо рашюнальнее упра8..'IЯЛlt адресным пространстnом. чем в Америке. Это очень хорошо ВИДНО на текушей Кflрте распрелелеЮfП адресов. Она доступна по адресу http:f /www.саidа.оrg/алаlуsis/tороlоgу /ао  core  ле'wоrk 300 Чость 11 Робото 8 celQX 
На этой карте ле\.!ОНСТРllруется все алресное пространство н uеЛОМ. выле.,енныс обласnt. },tаРШРУТlfll1руемьн (т.е. ДОСТ)l1ные) об,асnt, а также a.дptca. трафик n.пя которых постоянно замеряется в нескольких основных точк8.,Х США Частные адреса и система NA Т Дрyrое временное реШl:ние проб!1СМЫ исчерпаНIIЯ a.npl:CHOrO пространства зак.'lючается в использовании частных об.lаСТI:Й IPaдpecoB (RFCI918) В эпоху протокола CIDR орrанизаuии получа.1И свои IPaдpeca У проваЙДё:рОВ Inlernel. Ес;уи орrаниззция хоте.lа сменить провайдера. она лолжна БЫ.13 оплаТИТЬ УС.'lуrи по переадресации своих сетеЙ. Де:ю n TOt, что провайдер предостав.:Нl:! адресное пространство TQ.,1bKO СВОИМ К!1иента\f, При смене nровзйлера \IQЖНО БЫ.10 ПОПЫПlТься убелить CTapOl'O провайдера оставить Jзрезервировзнныc за орl.анизаЦИI:А адреса и попросить HOBoro проваt\дера настроить на них систе\.tУ \fаршруппации, Но оБЫЧ110 пропзидеры НI: хотели заНЮ.fаться подобными вешами и требовали от клнентов перереrистраиШI. В противоположность этому частные aдpl:ca не IIЗвестНЫ провайлеру. Дш-'умент RFC1918 олрепе;JИЛ. что опна сеть КJ1acca А, 16 сете;; класса В 11 256 ceTt\ класса С резериируются д.1Я частноrо использования и никоrда не выделяются rлоба.'1ЬНО. Это ле:lается шrя тото, чтобы пакеты, неСУЩИI: в себе \13CTHble адреса. никоrда не выхоДИ.11f в r'1Оба.1ЬНУЮ сеть, Их дo.1iКeH фильтровать \lарШрТllзатор В табл. 13.7 УКilзаны диапазоны частны\ aдpl:COB (в ПоС.1е.nней колонке КаЖдЫЙ лиапазон предстаален в БО!lее короткоя нопшин протокола СI DR). Из llеречис.1еIIlIЫ\ лиапазонов орrЗllИЗЗUИИ \.lOry" выбирать !L1Я себя сети нужноrо раЛll:ра Таблица 13.7. IP.aApeca, зореэерВИрОВОНhl:olе для чОCiнorо испоr,l:oзован'я Клосс НОЧало Конец ... Д.ОЛОЗ0Н CIDR - А 10.0.0.0 10.255.255.255 10.0.ОЩ8 В 172.16.0.0 172.31.255.255 172.16.0.Q{12 С 192.168.0.0 192.168.255.255 192.168.0.0/16 Чтобы -З;IЫ. IIСПО:'lЬЗУlOшltе частные a.'lpeca, моr:ш ПОЛУ\lать .3.оступ в IllIerl1e(. на 1l0rpаничном ",ЫРШРУПl1зторе Орl"ЗНИЗ..шиl'l вЫПО.lI1ЯСТСЯ СlIсте\IЗ NAT I Ne[v,'orh Addl.e5 ТI.аШilari0l1  трtiНСЛЯШ1Я сетепых адресов), Эта CIICTela nepeXSilTbInaeT пакеТЫ и JЗ\fеняеr в ННХ адрес отnраВlfте.1Я реаПЫiы\t ВllеШНН\t IРалреСОt f\,'10жет также I1роltсхоЛlПЬ за\lенз IШlера порта. CllCTeMa xpaHIIT таб..,иuy преобрззоваНltй меЖдУ внутреННИ\IИ и внешнимИ адреса\lи/портами. чтобы ответные пакеты '\ЮС11f ПОСТ)l1ИТЬ прави:IЪНОМУ адресату. Б.lаrодаря ИСПО!lьзоnatПIIO НШ.lеров портов появляется воз",южность пол КТIЮЧИТЬ несколько ИСХОДЯШIIX соединений к обшему IPaдpecy, ТаЮIМ обраЗО,.,I. rруппа ВН}1.ренних узлов может совместно использовать ОДlrнзковыЙ внешний IРа.л.рес Иноrll.З в орrаЮIЗЗlIиlt !lостаточно 1I,leTb одянеПИНСТ8ен ный .'настояшии" внешни-й С!дрес. ОрrclНIIЗ:.tЦНЯ. ИСnО.1Ы}IОШ8Я систему 'JAT. IIOnреЖJ-lему ПО.1ЖН3 лtпра Шl-шать лнапазон адресов у проваtfлера. но БО_IЬUlIfIiСТВО адресов теперь используется .ll.lЯ BHYTpltCtcTeMlibI'" rlplt8JJ30h': в не на 1I\ачается OT.::Ie.1bHblM компьютерам. ЕСЛII ОРI.ЗI'lltзаuня Jd'\:ОЧет cMeHllТb провайдера. IlOтрсбуется rло.о 13 Сет" ТCPilP 301 
@  лишь изменить J(онфиryра.иию ПоrраНИ1Iноrо маРШРУТИJатора и системы NAT НО не самих компьютеров. Система NAT реалиЗОвана в маршрутизаторах нескольких фирмпроиз водителей. включая Cisco. f\,'10ЖНО также заставить саму UNIXcItCTeMY ВЫПОЛНЯТЬ функции NAT, хотя мы и не рекомендуем делать этоrо. Подобной способностью обладают операUИQнные систмы Red Hat и FreeBSD 8 . Подробнее этот процесс описан в параrрафах 13.]4 и 13.15. По определенным ПрИЧИН8М система NAT в LiПLIХ называется "IРмаскирование". Неправильная конфиryраиия системы NAT может привести к тому, что пакеты с частными адресами начнут проникать в Illternel. Они лостиrиут Y"3JT8 назначения. НО ответные пакеты не смоуут прийrn обратно. Орrаниз;;J.ЦИЯ CAJ ОА (Cooperative Association for Internet Data Al1alysis  совместНiiЯ ассоuиаuия по анализу данных 8 сети Internet). lанимающаяся замером трафика маrистральных сетей. сообшает о том. что 0.1 0.2% I1акетов. проходяших через маrистралъ, имеют либо частные auресз. либо неl1ра(шлъ ные контрольные суммы. На первый взrляд, ЭТО кажется очень не]начителъ ным 110кззателем, но на самом деле он Пр1fВОЛИТ к тому. Ч1'о через узел МAE\Vest (одна из основных точек обмена, через которую идет трафик различных лроnaйдеров Iлtеrпе!) каждые 10 минут лроходит 20000 лакетов. Дополнительную информацию по стаТИСТИl(е сети I nternet и cpellCToaM измерения производитслыlOСТИ rлобальной сети МОЖно получить на WеЬузле www.caida.org. Одним из недостатков системы NAT (а возможно, и ее преимуществом) является ТО, что произпольный узел в сети Internet не может напрямую 110ДКЛЮЧJfrbCЯ к пнутреннему компьютеру нашей орrанизаuии. В некоторых реализаuиях \налр"мер, в брандмауэрах Cisco PIX) разрешается создан",. Т}'l-шет1. которые поддерживают прямые соеДl1неНltя с выбранными узлами. Дрyrая проблема заключается в том, что некоторые приложения В(;Трi\И пают IPaц.peca в информаuионную часть П8кетов. Таl\'"Ие приложения (к НI1М относятся определеиные протоколы маршрутизации, проrpаммы потоковоЙ доставки naнных ReaJVideo и SHOUTcas!, FТPKoMaнды PORT и PASV, сообщения ICQ и мноrие иrpы) не MOryr нормально работать совместно с NAT. Система NAT cKpLmaeт внутреннюю структуру сети. Это может показаться ДОСТОИНСТВам С ТОЧКИ зрення безопасности. но специалисты в данной области rО80рЯТ, 'СТо на самом леле система NAT не обеспечивает должную безопасность и уж ВО всяком случае не устраняет потребl-IOСТЪ в бран.nмзvэре. Кроме Toro, она препятствует попыткам оиени1Ъ размеры и тополоПlЮ сети Intemet. Адресация в стандарте IPv6 в IPv6 адрес имеет длину 128 битов. Изначально столь длинные anросв ВВQДИImСЬ дпя Toro. 'СТобы решить проБJlСМУ сокрашения ш:r.ресноrо простран ства 1 РУ4. Сеrодня они также служат целям маршрyrизаuии и ЛОК8ЛИэзшm ссылк.- I Paдpeca никоrла не были rеоrpафически упорядочены полобно тому, как это имеет место в случае телефонных номеров или почтовых индексов. Cтporo roворя. Red Hat поддерживает систему РАТ (Por1 Addl.ess Translation  трансляuия ш:r.реСQ8 портов). а не NA Т. 1 Paдpec машины. выполняюшей 1])3НСЛЯЦИЮ, используется 8 качестве единствеиноro "пнешftеro" адреса. а номер исходяшеrо порта служит основой для МУJlЬТИlUтексиропаиия соединенИЙ. 302 Чость 11. Робота в сетях 
Теперь. с внедрением f!, станлclрТ IPvb ПОI1ЯТЮI сеrментаШill aдpecHoro пространства. IPaдpcca ст3.!ш, по краинеr1 мере. IРУ"ПIlРОИ3ТЬСЯ н К-lастеры ВО крут ПРОliиЙдеров II1[crne1. rрашша мсжд сетевоИ и МiШШНIЮИ LfСТЯМII адреса в I РУ6 JафИКСllроваtl Нс!. отметке 64 бита Б сетевои чаСТlI адрсса rpашша между блокаМII оБШt:Й 11 ;1OапыIOЙ тОпОлоп-Ш также JафIКСИРОБаНil и rlРОХОДИТ На OTMcrKC 48 БИТО8 (табл, 13.8). Таблица 1 3.8 KOMnOleHTbl одресо IPv6 ПОЛНЫЙ адрос IPv6 (128 битое) I Идентификатор узла I 45 битов t... Тип aдpe.c81 3 f»па Биты Акроним IЗ FP 416 ПА ID 1724 RES 2548 NL-\ ID 4964 SL-\ ID 65128 INTERF АСЕ ID 64 бита Интерпретация ---r' Fопnаt Prt:fix  префикс формата; определяет ТШ\ адреса. НаПРШ.Lер одноналравленныЙ илн rpУIIПО8QА TopLevcl Aggregatioп ID  шснп,фикатор аrperaцин ВСРХШ:I"О урОВНЯ, H3ILptlMCp IlроВЙдерз Мп....исТралЬной сети Rcserved  з;ареэервироваrЮ на бу.цушс Ncx[Le\'el Aggregation IО  lдеНТ}1фИКJ.ТОР аrpсrJ.llНИ слсл)'ющсro уровня, например реll101iа.льноrо проваЙJlера 1 ntcmct ил и орraliизаUШ1 SideLevcl Agg.rcgation ID  lДентltфикатор аrpсraщш уровня орraliНЗа.uиИ, например локальной подссти И1LеНТ5IфШ<:'.атор интерфейса (МACaц.pec ruuoС битыза rIOЛЮПСJl.И) Из l1ереЧНСЛСIIНЫХ .Jлсмснтов ТОJlЬО IшеНПlфнкаторы SLд, и INTERFACE '"llрИIl31l1lСЖ<lТ" УЗ)"I)' Н Орl'<lIШ I.ШIII"I. 8 J.:OTOpOi1 011 Н3,\ОДИТСЯ. Др,тие идеНПIФIlКiПОРЫ преЛОСТ.Ш.J1ЯIOТСЯ ПРОRю.шером. ИленпtфllКС1.ТОР SLA ollpc!le ляет локаЛЫIУIО подсеть. а 64разря.nllЫИ идентиф,",каrор интерфеЙса опреде .1Яет сетевую rl1aтy КО'\lIIьютера В ПОС.lеднем, как праВII.'10. солержится 48разрядный f\.'1ACaдpec. nHyrpb KOToporo ВСТЗ8.r'1енЫ два баЙтазаПO.JlIIитеJ1Я (OxFFFE). СпеuиальныЙ бит MACaиpeca (сельмой слева в старшем байте). называемый битом "u". определяет то, каким является этот адрес: YHHBep сальным или ЛОК<SЛЬНЫМ (RFC1373). [1'0 II<SЛlfЧIfС позволяет аRтомтичеСКIi нумеровать уз.1Ы. ЧТО очень улобl-Ю lIJlЯ адМJ1IlИстраторов. которым остается }'ттраВJlЯТЪ ТО:1ЬКО подсеТЯМII. В I Руб MACanpeca ВИДНЫ на уровш: I Р, что имеет как rlO;IOЖl1теIьные. так и отришпельные СТОРОНЫ Тип I молель сетевой платы КОПIIРУЮТСЯ в первом половине М ACaдpeca. что оолеРlает Jадачу хакерам. Это вызвало беспокойство со стороны спсuщt.JНtСТОВ в области бе10пасносПl. Олнзко lJ разработчики стандарта IPvb указали на то. что использование MACaдpeCOB не Я1Ulяется обязательны",, Были предложены схемы вюnoчения случйноro идентификаторCJ. n }lOl\a!Ibl-I}'Ю чзсть адрсса. 303 !AQOе 13 Сети ТСР /IP 
с друтой стороны, назначать 8llреса IPvб проше, чем адреса IPv4. так как нужно отслеживать ТОЛЬКо адрес подсети. Узлы MOryr самостоятельно конфитурировать себя (по крайней мере, теореrnчески). Префикс формата определяет тип адреса: однонаправ.чснный. rpупповоl1 ИП"И широковещательный. ДЛя однонапраменных адресов префикс равен 001 (8 двоичной системе). Идентификаторы TLA и NLA определяют COOToeTCT beHl-1O маrистра.льный сервер BepXHero )'РОВНЯ и локалЬНОfО nроваt:шера ( пtетеt. Большинство nостаВШИКО8 разрабатывает или уже внедрило в ЭКСТU1уата цию собственный стек протоколов IPvб. В табл. 13.9 указана степень roТОВНОСТИ стеков (Pv6 рaз.rrичныx производителей операuионных спете.., и маршрутизаторов. (Переключатели не заботятся об адресах IРvб, так как не лринимают УЧВСТИII в маршрутизаuии и не заrJUlдbJВают внутрь IРзаrоловка.) Система Solaris Тоблица 13.9. rОТОВНОСПI стеков IPv6 розличных поставщикоВ HPUX Red На' FrceBSD Windows 2К Ciaco Подде р жко IPv6 Комментории да Solaris 8 и выше да Пакеты инструментальных средств разработки ПоC11lВЛЯЮТСЯ с HPUX 11.00 да Пода.ер:ж:ка IPv6 иtlтеrpИРОвarl8 в идре Linux версий 2.2 и выше да FreeBSD 4.0 и выше l частично Доступна исследовательская версия (включая ис. ходные тексты) дв Реализован в алroритме медленноrо обнвружения маршрута) J uruper нет Вау да Поставляется с t 997 с. I Во FreeBSD 3.4 не было поддержки IPv6, но в этоЙ системе MOryr НЫnО.'1н.яться стею{ стороиних nоставши.ков. таких ка).: tNRlA И КАМЕ. 1 ВоЗМОЖНО, 110 требованию к.rшентов будет реатt30ван в aлroрlтме быстроro обнаружения маршрyrа. Подробную информацию о реализации стека IPvб 'IOЖНО получить ло 8llресу httр://рlауgrоuпd.suп.соm/рuЬ/iрltg/lltml/iрлgimрlemсп[аtiол.html Адресные канцелярии недавно начали выделять адреса в пространстве (Pvб. Пока что ARIN предоставляет 8llреса только крупным лровайдера". которые в БJТЮКайшие 12 месяuев планируют развернуть сеть 1 Р".6. Эт провайдеры MOryт затем предостаИJ1ЯТЪ адреса свои\! клиентам. Вот несколько полезных источников и нформаШ1И. касаюшейся IP,,'6: . www.6bone.net  испытательный пшшrон штя сетей IР,,'6; \VWW.6ren.l1et  всемирная научноисследовательская и обшеобразовате;]ъ ная сеть IPvб; . \VWW.ipv6.org  список FАQЛQ}"'УЧентов и различная техническая инфор маuия; . www.ipv6rorum.com  форум лриперженцев (Рvб. 304 Чость 11. Робота в сетях 
Основное преимушеСТ80 станларта IPvб заключается EI ТОМ, Что он решает проблему смены адресов. В лространстве IРУ4 лровайдеры выделяют адресные блоки своим КJТИеНТаМ, но эти адреса не являются переносимыии коrда клиент меняет проваЙД,ера, он должен вернуть старые адреса и запросИ'Ть новые. В (РУ6 новый лровайдер просто предоставляет Ю1flенту собственный адресный префикс, который добавляется к локальной чвсти существуюшеro адреса. Обычно зто выполняется на одной машине: поrpаничном маршрути заторе орrанизации. Подобная схема напоминает систему NAT, но лишена ее недостатков, 13.5. Маршрутизация Маршрyrизаuия это проuесс направления пакета по лабиринту сетей, находяшихся меЖдУ оmравителем и адресатом. Маршр}тизация в ТСР/' Р происходит лодобно тому, как путешественник, первый раз посетивlШlЙ незнакомую страну, отыскивает НУЖНЫЙ ему дом, задавав волросы месТНЫМ жителям. Первый человек, с которым он зaroворит, возможно, укажет ему нужный roрод. Войдя в этот rород, путешественник спросит друтоrо прохожеro о нужной улиuе, и ТОТ расскажет, как туда попасть. В конце кониов наш пyrешествеIO-lИК подойдет достаточно близко к конечному пу-нкту своих странствий, 'ЧТобы КТО IOI'будь указал ему лом, который он ишет. Ланные маршрутизаuии в сисТеме TCP/IP имеют форму правил (маршру- тов), например: "Для TOro чтобы достичь сети А, посылайте пакеты через машину С", Может существовать и стандартный маршрyr; он объясняет. что нужно делать с пакетами, предназначенными для отправки в сеть, маршрyr к которой не указан явным образом. Ланные мвршpyrизвuии хранятся в одной из таблиц ядра. ЛюбоЙ эле..ент подобной таблицы содержит нескоЛЬКО параметров. включая сетевую маску для Кажпо'Й перечисленной сети (раньше это поле было опциональным, но теперь оио обязательно, если стандартная сетевая мвска неверна). Для направления ПаКста по конкретному адресу ядро подбирает наиболее подХО- .n.sтший маршрут (т.е. тот, rne самая штинная маска). Если ни один из маршрутов (в том числе С1'андартный) не ПОдХодит, то отправителю возвра щастся IСМР сообшение об ошибке "network unreachBbIe" (сеть нелостynна). Слово "маршр}7ИЗauия" употребляется: . с Uелью обозначения npoueдypы поиска ceтeBoro адреса в специальной таблице для налр8llЛения пвкета в пункт cro назначения; . для обозначения проиесса построения упомянутОЙ таблиuьr. Ниже мы рассмотрим, как осуществляется переадресация пакетов и как вручную добавить иJrn упa.лwrь маршрyr. Более сложные вопрОСЫ, связанные с работой лротоколов маршрутизаttИи, создвюших и обслуживаюших "ap шрутные таблицы, освсшаются в rлаве 14. Таблицы маршрутизации Табmruy маРШРУТИ38шm МоЖно просмотреть с ПОf..roшью команды пе( stat r, доступной во все" системах, или route get в ВSD системах. Команда будет подробно изучена в параrpафе 20.4, здесь же мы приведем небольшой пример, чтобы у читателей бъulO представление о том, lLЛ'о такое маршруты, В рассматриваемой системе дае сетевые платы: 132.236.227.93 (ethO) в сети 132.236.227.0;24 и 132.236.212.\ (ethl) в сеп< 132.236.212.0;26. 11 n.t.t.t r n Kernel IP routing са.Ые Destinat.l.on Mask Ga.teway F1 MSS If 305 rnoBo 13_ Сети TCP/IP
132.236.227.0 255.255.255.0 132.236.227.93 U 1S00 et.hD default. 0.0.0 .0 132.236.227.1 UG 1500 ethO 132.236.212.0 255.255.255.192 132.236.212.1 U 1500 ethl 1З2.236.220.61J 255.255.255.192 132.236.212.6 UG 1500 et.h1 121.0.0. 1 255.255.255.255 121.0.0.1 U 358_ 100 Поле destination обычно содержит сетевой идрес. В поле gateway должен быть указан адрес узла Например, четвертый маршр}т roворит о том, что ШlЯ достижения сети 132.236.220.64/26 пакеты следует посылать в I.ШlЮЗ 132.236.212.6 Ilерез интерфейс ethl. Вторая запись содержит стандартный маршр}т; паке1ы. Не- адресованныс явио нн одной ИЗ указанных сетей (или самому компьютеру). будут направлены в стан.naртный шлюз 132.236.127.1. Компьютеры MOryr посылать пакеты только тем ШJlюзам. которые фИЗИ1.JеСК1 подключены к той же самой сети. Вести таБЛИIlЫ маршрутизации можно статически. динамически I1lПi комбинированным методом. СтзтичеСЮIЙ маршрут  ЭТО маршрyr. которыЙ задается явно с помощью команды route. Он должен оставаться в таБЛИllе маршрyrизauии ка всеМ протяжении работы системы. Во мноrих случаях такие маршруты за.паются с помошью одноrо из стартовых Сllеиариев но время начальноro запуска системы. Например. в Red Наl команды , routв add n8t 132.236.220.64 nвtш&вk 255.255.255.192 132.236.212.6 . rout. add. defёl.ut 132.236.227.1 добавляют четвертый и отороЙ маршруты из числа тех, что отображаются выше коман.nоА netstat r " nepBbIn и третий маршруты добаl!JlЯЮТСЯ командой ifcOlllig при КОНфИI)рИРОВ3ILИИ устройств ethO и eth1). o Полное описание команды roиte IJриведеllО в параzрафе /3.10. Последний маршр}т таюке добавляется на этапе начальной заrpузки. Ои определяет псевдоустройство. называемое интерфейсом обратной связи. Это ycтponcтвo не дает пакетам, которые компьютер посылает сам себе, 8ЫХОДIПЪ в сеть. Вместо зтоro они напрнмую переносятся из выходной очереди 80 входную внутри ядра. В относительно стабильной локальиой сети CT3Tl-Iческая маршрyпr33 ЦИЯ  достаточно эффективное решенис. Эта система проста в управлеНIfI.J и на.пежна, но она требует. чтобы системным администратор знал ТОПОЛоrию сети ка момент началъной заrpузю.j и чтобы эта тополоruя в периоды между заlJ>узками не измеНJшась. Коптыuтеры локa..rrьноА сети имеют олин единст hенный выход во внешниJoJ мир, поэтому маршрутизаLrns.:l осушеСТRJlflется очень просто: достаточно на этапе начальной заrpузки добавить стандартный маршр}Т. В сетях с более сложной тополоrnей требуется LD-IнамичесК8Я маршpyrн заLrnЯ. Она выполняется ПрОllессом.nемоном, которым "едет и мотlфlщирует таблицу маршр}тизаШIII. ДеМOIIЫ маршрутизаllliИ, "обlПзюшие" на различных машинах, обшаются между собой с пелью определеtrnя тополоrfИ сети и решения вопроса о том, К31( .побраться .по дальних адресатов. Имеется несколько таких .nемонов. В rлаве 14 мы опmnем стандартный UNrх>демон routed и более совршеННЪJЙ демон gated. а также протоколы, на которых они общаются. 306 Чость 11. Робота. се'" 
Переадресую щи е пакеты пратакала ICМP в IIр11НШlпе. IIРОТОКО.'1 I Р не 11рслусматрИ&аt'1 ,,:редств управления маршрyrной НlформаUlfеft. но 11 нем eCl ь небольшой меХ<1Шf3М контроля IIарушениi,  переадресующие ICF\,1PnaKeTbI. I::.сш 1I,.Iаршрутизатор напрап ЛЯСТ пакет КО),lПьютеру. на.ходяшемуся в той же сстн. нз которой .нот П,dкет БЫ.l получен перионаЧ3...IЪНО. ТО ЧТОТО ре1ботает явно непраиильно. ПОСКО:JЬК}' отправитель, маРШРУПIJатор н '\fО\РШРУТИЗdТОР с.'lеДfOщето УРОВIIЯ 1-I<i\ОДЯТСЯ В однОА сети. то пакет, вероятно. МОЖНО nOClaTb не через два ш:реходсз. it чеlX'J ОДШI. МарШРУТllзатор делает вывод о том, что та6211шы маРШРТlпаuии отправителя  иеТО'lные И;111 неl10Jlные. В :пой СИТУ<l.UИII \1аршрути J;ПОР может увеДО\lНТЬ ОТllравите.1Я о данноИ про6леме с пот\юшыо переанресюшеl'О ICMPnilKeTJ. TaKoi1 пикет. 110 CYTII .пела. со06шает: "Не н'жно 110CbI.'13Tb \IHe пакеты 'n..'1Я маШIIIIЫ u:A. II\: t:.lcnyeT адресовать t.'ЮIlНне J')'Y'.. rlротокол IСМР позволяет посылать lIереадресуюшие пакеты как 110 сщресам оr.nельных компьютеРОfl. так н ue:lbIM сетям. ВО '""HOHI3\. реализаШ1ЯХ. ОДf-13КО. допускается созда"П1С пакеТОfl TO:ibKO пеРВОI.О ТlIПi:l. ПО.1)'\ШВ переапрес)'ющий naKeT. отпраНИТJlЬ ПО!lжен обlЮВllТЬ СВОЮ таБЛIII.IУ маршрупваuии. чтобы СllеДУlOшие пакеты. предназначенные .fi..,lЯ ланноrо адресата. ulли 110 более прямо"-fY П}ТИ Раньше. Korдa только появилась теХНО1l0rия rpУПllоиоrо вешаНИЯ. некоторые систе\1Ы l.еllерllрОВа!IИ переiшресуюшие ICI\1 Рпа"еты в от-вет на получение '1>\l-н10ВЫХ пакеТ08. Современные Cllcтetl.lbJ 1f16ali r /(:'HbI от lТолобноЙ проб:.lt'I\IЫ Стандартный IСF\'1rсuеliарIlЙ не подр.IJУI\IСИJ.СТ лапа d'ТСIIТllфlкашш [\,IО1рПlр'тизатор II0лучает от .npyrolo. 1t3BCCТllOrO еч} maplllpY'TI-IlilТОра 1<..0\fЗНДУ IIe-рен..Шрi\8IПЬ трафш.. u дp roe 'ICCTO. Нужно 'lИ ПОДЧIIIIIIП..сS1 ПOl1 КО\lalше'! В деИСТflите..1ЫIOСТlI I.акшi СI.lСНi:lрШ1 создаt'1 ollpeдc.lcHHbIe проб;IМI..1 с точ":н зрения ОезопаСНОПII. 110"'1"0\1)' lIepe8lIpeClOullfe ПCl"етЬ! JсшрешенЬ! н ялрах Lirш,," Ii 1I'eeBSD,  также fl M<-IРШРУТll1атора Cisco СЧlпается. ЧТО "С стоит rl03RОЛПl Ь IIenpOBepellllblII.I У3..'IaМ МОДl1фиuироваrь таб:Jl.IIIЫ марlЩJ\ml J3UИИ. 13.6. ARP: протокол прео6разования адресов Hccr-.lOlрЯ 1.13 то что IfдеНПlфШ::';ЩI-IЯ IPndKeT08 осушеСТIi'lяt"rся прll ПО\ЮШII I РадреС-Оfl. Т1Я Ф<lКТlf'lеt:..:оЙ передачи даШIЫХ 'Icpel KHa!1bIlbHi уровень по;r.кн-ы ПрИМСlfЯТЬСЯ aIIIIHpalllb!t:' i:l.дрес.:а.. Определение\1 Toro. Ki1}..oi1 аппэраТIIЫЙ злрес СВН1iШ с ndHHbIM IРdдрес.:ом. 1aHIIM.JeTCJl ПрОТОКО!1 o.\RP (A,.ddres Rеоl\НIОП Prolocol  протокол пре06раюваНI1Я iшреСОfl) Ero МОЖIIО Прllмешпь Б сетях lюбых ТИПОR, ....отарые попдеРJt..lIвают шlроковеш..пе':Iьныи pe>t<."1I\f, 110 \Iзше BeClo пот протокол раt.:С"lзтршают FI контексте с.:еТIt F(}lсшеl. Kor.n..t кor,шьютер А XO'leT 110СЛСПL пакет КО\fIIЬЮТСРУ Б. раСПО.'10Жf"НI-IОМУ 8 TO'l1 же саМОМ Е(llеmеLсеrмеfпе. он ИСПО.'1ьз}'ет ПрОТОI<ОЛ ARP для отыскаlПlЯ аrшар<.lПlOrо .щресз Б. ЕС1И Б не нахо,nится 8 той же ееПl, А с ПО\IOШЪю npOТOKO.la ARP высняt'11 аППitратныЙ адрес маршруппатора слелуюшеro уровня. KOТOPO"'IY будут посылаться пакеты, алреСОfliшные Б Так как в ARP ПрJlМt'НЯIОТСЯ Шllроковеllldтельиые п<н::еты. которые не ,юrут ВЫИПI за преД.lЫ '10каllЬНОЙ сети... JТOT [IPOTOKO.l nО'IВО!IЯет Н.d'\:ОЛJIТЬ rO:IbKO aдpcc<.l компьютеров, непосреnствеllНО по,nклюенны1x 1< той же самой сети. Это не касается соешшеlU1Й ТИllа "ТОЮIТО'lк.::I.". ,-де IIШI}ЧВI"С.1Ь очевиден. Часто м.арШрУ1 изатор МОЖНО сконфш)'ри.ровать так 'ПО он буnет пропvскить Шl-'!роковеша TeJlbИЬiC пакеты в ДрУП1е сети. Не дела ЭТОI.О! r '080 I 3 Сети ТСР /IP 307 
Каждый компьютер хранит 8 операти-вной памяТИ специалъную таблиuу. называемую кзшем ARP. Кэш содержит результаты последних ДRРзаПРОСОR. В нормальных условиях .jНоrие адреса. необхадимые компьютеру, выяВЛЯюТСЯ вскоре после наЧ8.Т'lЪнай заrpу3КИ, поэтому пратакал ARP не аказывает серьезноrо воздействия на заrpуженность сети. Протокол ARP фуикuионирует rтyreM широкавешатслънай раССЫЛКlf 8 пакета примерно. слеПУlОшеrо содержания: "Знает ли ктаниБУlIb аппаратный адрес ми 128.138.11б.4Т' Машина. которую разътс-кимют. узнает свой anpес и посылает ответ: "Это я. май Elheme[вдpec  8:0:20:0:fb'6s". Исходиый запрос содержит IPa.nIX'C и Etheme[a.npec запрашивзюшеlt стороны, блаrо.пвря чему разыскишtемая машина может ответить, не нЫШ\НI1Я сабственный АRРзапрос. Таким образом, оба КО1\mьютера узнают адреса лруr дрyra Bcero за один сеанс абмене пакетами. Дрyrие кампьютеры, "слышап шис" исходное ширакавещательное саобшение, посланнае и-ниuиатороМ запроса. тоже матут записать инфармацию а ero a.Ilpccax. В болъnrи-нстве сметем имеется каманда arp. которую можно ПрИ'\fеиять для изучения и абработки содержимаrо кэша ARP. Она обычна испельзуется J[!Тя дабавления и удаления заrтисей. КО'1\тНда arp 8 атображает содержю,roе 1Сэwа: естественно, в каждой системе у нее свой фармат. Вот примеры выполнения каманды arp a в Solans и Red Hal: so!.ar1s' /u8r/8b1.n/arp . Net: t:o Media ТаЫе Device IP Adclress Mask f19S Phys Лddr меО hmeO hmeO t1 tl!nll! eart:h p1uto 255.255.255,255 255.255.255.255 255.255.255.255 00: 50 :da: БЬ:Ь5: 90 00: 50 :d,,: 12: 4е :е5 00: 50 :da: 12: 4е: 19 redhi!lt% /аЬ1.п/аrp a xor.com (192.108.21.1) at ОВ:ОО:20:71:5Е:ЛО [ethE:r оп et.hO earth.xor.com (192.1013.21.180) 8t ОО:50:DЛ:12:4Е:Е5 (ether] ОП et.hO 10111pop.xor.com (192.108.21.48) а1: 08:00:20:19:4У:49 [ether] оп ethO КамаНда arp. Kal< правило, используется в uе.rIЯХ отладки н при работе со специальным обаРУ'nОDанием. Некоторые устрайства не MorYT обшаться па протаКОЛУ ARP (например, сетевые принтеры и сnеuиализираванные rpафические мониторы), и для включеIOlЯ их в сеть иужна сконфиryриравать друтую машину в 1<8честве аrентапосредника ARP. Обычно этой цели СЛ}.ЖIП комаНда arp. Если два компьютера в сети имеют адинаl<авый I Ридрес, Та на ОДНО\f из trnХ запись в ДRРтаб;1Иuе 6уnет правнльнай, а на .!pyrO\.1  нет. е па1-IOШЪЮ команды arp можно наЙТ1I машинунарушитель. Иноrда аппаратные a.Ilpeca нужна транслировать в IPaдpeca. Мноrие спеuиальные аппаратные устройстшt (бездискавые рабочие стаНЦИlI, сетевые компьютеры, пршперы) де.Т'1ают это Во. время началыlOЙ заrрузЮ1. Вместе Toro чтобы жестко задавать IPaдlX'c 8 файле канфиrураЦIfИ, машина может абратиться к uеа-пралъному серверу, KOTOpbln сообшит ей ее сабственный a.Ilpec. Обратиые преобразования адресав выполняет протокол RARP (Reverse ЛRР  абратный протокол ARP), 1<0ТОрЫЙ представляет соба усыревшее расширеl-ше протокола ARP. В МР применяются среnств<I. Шl1рОКОВСШ81111И каНальиаrо урОRНЯ. а не протокола IP. З08 Часть 11 Рабата в ceTX 
В отличие от ARP. RARP требует, чтобы 8 каждой сети был запущен пентралъныА сереерныА прош:сс Протокол RARP не пре.nполаraет caMOKOH фиrypироваtrnя: нужно УI<ЗЗЗТЬ явное соответствие меЖ.IIY Е(hеmе(a.Ilpесами и их IРЭ1СВПВaJJеНТЗ'l.fИ. В большинстве систем, которые rlо!Шерживают RARP. в качестве прОllесса выступает .nемон rarpd. а .nаНIIЫС конфиrypиuии извлекаются из фаnлоп /etc/cLhcrs и /etc/hOSLS. Протокол RARP в иастояшее вре?\т rlрактически не используется. СН8ча..'1ё:L ем)! на смену пришел протокол ВООТР. а ззте'l.f  ОНСР. 13.7. ОНСР: протокол диномическоrо конфиryрировония узлов Для .nобав.'1ения UNIХузлов в сеть BcerlIB требовзлась ручная настройка. Но если компьютеры Мас или IПlеl без проблем полкточаются к сети. то почему не.rIЬЗЯ делать ТО же саМое в UNIX? Протокол оНСР (Dynamic HOSL Configura(ion Protocol  протокол 'nJ.fНtlмическоrо конфиryрирования У3..!10В) позволяет удовлетворить столь естесrnенную потребность пользователей. Этот протокол пает возможность клиенту взять иекоторые сетевые и зд-министраТИВ.-Iые параметры "в аренду" у Ilентральноrо сервера. отвечаю щеrо за их распространеиие. Парадиrма арен.nы особенно ПОПХОlI1-fТ 11.'1я персонRJIьныx ko,-тьютеРО8. которые выключены, если на НЮ( ни",'То не работает. и проваИдеров In[еП1е[. имеюших ne..fIQ с клиентами, подключаю шпмися по коммутируемым линиям. К .lареНДjеМhlМ" параметрам относятся: IPaдpeca и сетевые маски; l.1UlIO.JLI (стандартные маршрyrы) адреса DNScep8epOB; нмена машин. на которых Rьmолияется сltстема Syslog; адреса серверов WINS, NTP и прокснсерверов; адреса серверов TFТP (.Ш1Я ззrpУЗКI-I HaLlaJJbHoro обр.на1 I .nесятки дрyrих (см. документ RFC2132). Экзотическне параметры редко lсrIОЛЬЗУЮТСЯ на nрзктике. В БОЛЬШlIнстве случаев OHCPcepoe:p npCnOCT<1R 'lяет ЛIIШЬ базовые сетевые пара метры. такне как IrMpeca, сетевые маски, стандартные шлюзы и имена серверов DNS. Периодически клиенты ,nолжны IЮБТОрНО обрашаться к ОНСРсерперу. LfТобы обновить CBOlt параметры. Если параметр не бу.nет обновлен. он станет недействительнЪ1М. OHCPcepBCp БУlIСТ пален предостаВIIТЬ ero друтому клиенту. Срок apeнnы может меняться. но обычио он достаточно большой (до нескольких ДlеА). Протокол ОНСР сушественно облеrчает жизнь системным ац.мннистра торам. Коrда сервер ОНСР СКОНфШ)'РI-lрован и запущен, клиенты автомати чески опре.nеляют параметры сетевой конфиrypашш на этапе начз...1ьноА заrpузки. Никако-й пyrаНИIlЫ не возникает Проrраммное обеспечение онср в табл. 13.10 перечltслены rlporpa"'fMt--1bIС КОМПOllеJIТЫ ОНСР. ВХОlIЯlllие 8 состав четырех наших тестовых ":истем. r n080 I З. Сети ТСР /IP 309 
Таблица lЗ.lО Проrроммные комлонеtJТЫ DНСР в тестовых системох Сиcrемо. DНСРkЛНТ ОНСР--сервер So"ris /!ibin/dhcpageDI /usr/lihrmel/in.dhcpd' HPUX встроекный, также auto""'para.ms bootpd Red На' /usrjlhiD/dhcpcd и /!ibinjpump /usr/.bIn/dllcpd ОТ ISC FreeBSD /sbIn/dhclleu' l..r/ports/Detfls<dbcpZ I Имеется shе(l...сцснариА dЬсрсопfig, который позволяет kОНФИ'1'РlфОвать OHCPcep вер Solaris. КОНСОРIlИУМ разработчиков проrpаммноrо обеспечения In{crnel (1l1lernel Software Consol1.ium. ISC) создал эталонную реализзиию протокола ОНСР. к.лиеm. сервер и areHT ретрансляиии .nocтynHЫ по адресу fiр.isс.ощ. CeplJcp ISC также подаерживает протокол ВООТР (он НапоминаеТ ОНСР. но не так сложен)_ Мы рекомендуем пакет ISC. а не пакеты конкретных ПОСТiШШIfКоИ В типичноЙ rетероrениой среде проиедура адмllнистраиии сильно упростится. если будет применяться стандартная единая реалllзаuия протокола ОНСР. Проrpаммное обеспечение ISC  это надежное решение, раСПрОСТрi'1няемо," на условиях открытой лиuензии и без проблем инсталлируемое Б боЛЬШИlIСТR версий UNТX. На момент написанИЯ данноЙ книПl rотопИЛся выпуск 3.0. ь I<OТOpoM были обешаны ИОВblе полезные параметры конфюураШIII. ШQIЮ'liiЯ раздельные пулы адресов, условное поведение и MHoroc: .npyroe. DНСРклиеНТbl должны иниииировать диалоr с DHCPcepllepoM nplt помощи пакета с обшим шнроковешателъным адресом (все еД1IИИUbl). ПtК КЗI< они еще не знают свои сетевые маски. К 'сожалеtrnЮ. некоторые яnра (HPUX ff Linux) MorYT работать только с ЛОl<aJlЪНblМИ шнрокооеШ 8 те!1Ы1ЫМИ адресами. Это не позволяет клиентам и серперам соединяться .npyr с .nрУI"OМ и обмениваться н нфОРМ3llией. В документаuии по ISC укюыв1ютсии П.ПI решения даНиоЙ проблемы. Тем не менее. reтeporeHHble среды 'к:е ешс представляют определенные трудности Дi1Я протокола ОНСР. каждыl1 р<11 при установке Hoвoro сервера или клиента HOBoro nl1l3 ПрltХОДl1ТСП ТIШ1ТJlЫIO все проверять. OHCPcepBep JSC понимает протокол .nинамичеСl<оrо обновления бflЗЫ данных DNS. Сервер не только предоставляет компьютеру I Рanpес и дрyrие сетевые параметры, но также вносит в базу .пвнных DNS запись о сооТвt'ТL'ТШ1И между именем машины и ее I PaдpecOM Дополнительная инФормшшя об этом приведена в параrpaфе 16.12. Мы BKpaтue рассмотрим особеННОС'П1 протокола ОНСР. а затем ОПllше\l. как установить сервер ISC, реал!зуюший "'ПОТ протокол. Вопросы КОllфЮ рирования DНСРЮП1еАТОВ бупyr обсvжпаться в параrp(lфа\:. ПОСf\JlL1IСIШ"l\: конкретным юrnентам. Схема роботы онср онср  это расширение протокола ВООТР, который был ПРJшуман ДШI Tom. чтобы безлисковые станиии UNIX моrли заrpужатъся по сети. IIОДСIН> тема ВООТР предоставляет клиентам IPaдpeca, сетевые lI.'rаеки, cтaндaPТHhrL: шлюзы. а также информзшоо. касаюшуюся начальной JiJrpузки чеrе1 TFТ.P (TliviaJ File Тraлsfеr Protocol  простейший протокол переШ1ЧII Фilii.lO») 310 Чость 11. Робото В ceT)( 
nРОТОI<ОЛ ОНСР не оrраничивается этими параметрами, вводя понятие '.аренды". DНСРютиснт начинает диалоr с OHCPcep8epOM. посылая сообщение DHCPDISCOVER-, которое можно перевести так: "Помоrите мне узнать, кто я". Так как клиент не знает ни свой собственный, ни серверный lPaдpec, он посылает сеобшеl-ше 110 urnроковешательному апрееу 255.255.255.255, указывая адрес отnрапителя 0.0.0.0. Сообщение DISCOVER может СО..'lерЖаТЬ ПОДСl<8ЗКИ от клиента, например информаuшо о том. кзкова аnnаратязя архитектура клиента или какой конкретный адрес ем) требуется. Сообшение DISeO\,.ER обычно принимаетея OHCPcepвepOM. находя ЩIfМСЯ D той же подсети НО ОНО может также поступить в дрyrие подсети череl спеuиалъный ПрОКСIсервер. называемый aeHтo", ретраНСЛЯЦUll. В ответ серверы выдают сообщение OFFER. содержашее предлаrаемый адрес и дрrrие базовые параметры. Клиент ПО.'1учает это сообщение (возмож- но, от нескольких серверов одновременно) и принимает одно из нредложений, посылая выбранНО1>fУ серверу сообщение REQUEST Обычно сервер возвра- щает в ответ подrверждаюшее сообшеШlе Аек I назнаqа клиенту адрес В сообше-Юfе дск может вклюtJатъся произвольное ЧИС!lО конфиryр....руе мых параметров; оно также зarr.ает срок аренды. В ответ на неnравильное сообшение REQUEST сервер может выдать сообщение NAK. 'КазываlOщее на то. что клиенту иеобходимо начать процесс снача.13. Прежде чем начать использовать апрес. клиент ДО;Jжен проверить ero с помощью протокола ARP. Если адрес уже rдето задействован. клиент посылает серверу сообшение DECLINE. и все начинается сначала. КOl"Да срок аренды приближается к конну. клиент должен обновить арендованные параметры. послав новое сообщеНJ1 REQUEST. Если клиент решает прекратить аренду. он посылает сообщение RELEASE. Сервер обязан отслеживать адреса, предоставленные в ареt--Шу. .... сохранять эту информзuиlO между перезаrpузкзми. Пре.:lЛолаr(тся. LlTO ютиенты nелают то же самое. ХОТЯ это не обязате:IЬНО. Uель заключается u маКСIfМальной стабилизашш сете пой конфИТ)раuии. Протоко.'1 ОНСР обычно не использ)ется для КОНфllf}'РIРОНClНИЯ комму. тнруемых РРРинтерфейсов. Этой uе.rIИ СЛУЖJIIТ спсuиальныn npOТOKo:r РРРСР (РРР Control Protocol  протокол управ.,ения РРРсоеЛ1fНСНIlfIМИ). OHCPcepBep ISC OHCPcepBep ISC 1I0СТУПСН по адресу flp.isC.org или wW\,,'.isc.org. Ниже p-JССМОтрСна версия 2.0. Близка 1< зt\вершению версия 3.0. поэтому не забудьте проверить. 8К1)'ален ли приведенный ниже материал в той версии. которую 8Ы заrpУЗJrте. Распакуйте файл tar.gz и перейщпе в nJ.lстрибушlOННЫn каталоr. Т зм должны быть подкаталоrr. для сервера, К'IиеНТ8 н areHT3 petpa.-JCJlяuи..... а Т8К'А\е KaTaJlor для совместно ИСПОЛЬJуемоro кади. lапустите команду ./con figure. а за. ней  make 11 make iлstаll. Iтобы ckor-ПТИЛИрОRать и устаНОВI1ТЬ каждый компонент. Для КOIIФИlурaul1И OHCPcepBepa. dhcpd. нужно отрела",:тировать фil'Ш dhcpd.conr в каталоre sener и записать ero под именсм /ctc/dI1cp.U:on('" Все DНСРсообшения начинаются с префикса "ОНСР". Чтобы текст Jlсrче ЧJn.ался. мы будем Исключать этот пре:фикс при упоминании имен сообшеtIИ:Й. -- Будьте осторожны! У файла d.bcpd.conr очень "чувствительный" формат: lIОСтаточно удалить к.акуюнибудЬ точку с запятой. н БУlIСТ выдано непонятное сообшение об ошибке. rЛ080 13 Сети TCP/IP 311 
Необходимо таюке создать пустой файл базы ланных по аренпуемым параметрам, назвав ero Ivar/db/dl1cp.leases. УбедlfТесь, что пемон dl1C(1d имеет право записи в этот файл. Для наСТРОЙI<И фай:rз dhcpd.conr потребуется следуюшая инфОРМ3ШfЯ: подсети, для которых демон dla::pd должен ynранлятъ IРадреса"fИ. J1 Jlиапазаны выделяемых адресов: начальный и максимальньfЙ срок аренды в секундах; конфиrурanионные параметры клиентов БООТР, если таковые .tмеются (им назначаются статические IPaдpeca! также должны быть указаны их аппаратные MACaдpeca); все остальные параметры. которые сервер .nо."lЖен перепавать DНСРкли еитам: сетевая маска, стаНдартный маршрут, домен DNS. серперы ,',еli и Т.Д. На mвпстраниuе, ПОС8яшенноЙ ne!l.fQHY dhcpd, рассмотрен ПрОllесс конфитураuи и . Точный синтаксис конфиrураuионноrо файла ОПl'lсзн нс! mапстраниuе, которая ПОС8яшена файл)' dhcpd.conr. Обе эти стрзниuы расположены в ltодката.1юrе sener пистриБУШ1Онноrо кзт3. т юrа. Демон dhcpd должен запускаться автоматически на этапе начальной заrpузки системы. Удобно сделать запуск демона условным. осуществляемыM при наличии файла /etc/dhcpd.conf. Ниже показан при мер КОНфИJ)раuиоtlноrо файла dllCpd.cOllr. lIз,поrо .13 Liпихсистемы с 'nВУ1\.IЯ интерфеЙсными устройствами: одюtМ -янутреннн\, i одним внешним. попключенным к Internel. На компьютере ПЫПОЛН)lется система NA Т для траНCJlяшflt адресов I3нутренней сети, I<ОТОрОЙ ОЫПС;Т'IСТСЯ (Q I P8ДpeCOB. Файл со..'1ержJ.\Т пустую запись lI)lЯ БнеШl-lеrо интерфеЙса (обязательна) 11 запись host дЛЯ ОДIЮЙ конкретнш; машины, которо', liужt::Н фиксированный адрес. .. d.hcpd.conf , .. rлоС5альные параuе'l'РЫ opt.ion domainname "зупасk.пеt"; option dоmапnаmеsеrvеrэ 9w. synack. net; option subDetmask 255.255.255.0. defaul tlea!letir.J.e 600; rnaxle.aset.irne 1200; .suЬпеt. 192.1б8.1.() леt.rnаsk 255.255.25.O ranqe 192.168.1.51 192.168.1.60; орt.iол broadca5t.address 192.168.1.255: option routers gw.sYl1ack.net.; зuЬпеt 2С9.180.251.0 netmask 255.255.255O ) host. gandalf { hardware ethernet. 08: 00: 01: 12: 34: 56; fixedadciress gandalf. 5упаск. net; Адреса. назначаемые OHCPcepBePOM, потеНШlалънО MOryr КОНф.1ИКТО взть С содержимым базы данных DNS. Очень часто каЖдОМУ Ш1наМllчеСКI1 вьшеляемому адресу присваивается об шее имя (например. dllcpl.synack.llC() 312 ЧоCfЬ 11 Робота 8 сетях 
и разрешается, Чiобы имена oтnельных машин "сосушеСТВОВ8.im" с IPaдpe са"'rи. Если имеется одна из послеlIНИХ версий системы 81 N О, которая поддерживает 'nИн8мические обновления. можно СКОНфИlурировать .nемон dhcpd, чтобы он обновлял базу данных DNS прlt вы.nелении очереnноrо адреса. Диtlамrческое обновление  сложная процедура. но она позволяет устранить конфликты имен уз.10В. o Подробнее о DNS будет рассказано в .лав. /б. Демон dhcpd добавляет звпись о каЖдОМ акте аренды в фвйл dhcp.lease5. Он также периодически создает резервную 'Копию этоrо файла, переимено Бывая ero в dhcpd.leases.... и воссоздавая исходный файл dhcp.leases нв основании ИНфОрМ8UИИ ИЗ базы naниых, нахоляшейся в памяти. Если в npouecce ЭТОЙ операuиJtl ПРОИЗОЙllет сбой, останется To;rы<o файл dhcpd.leв.ses. 8 таком сл}'Чве демон dhcpd откажется ЗВnyСI<ВТЬСЯ, и придется переимено Бывать файл вручную. Не.JЫЯ просто создать пустой файл dhcp.leases, иначе вознихнет хаос, Tal< К81< у клиентов окажутся .;ryблируюшиеся ацреса. 13.8. РРР: протокол двухточечноrо соединения РРР (Poin[toPoint Protocol  протокол двухточечноro сое.nинения) ЭТО протокол. опреде:rяюший праВИ.'1а кодирования IРпакетов для передачи по медленному (и часто ненвдежному) последоватеЛЬНОl>.fУ K8Ha.-ry" Каналы дaHHOro типа ПрОСТО ретранслируют потоки битов и не знают о том. rlIe начинается и заканчивается nal<eT. За КОдИрование и пекодирование пакетов. передаваемых через последовательный канал, отвечает драйвер РРР. Он .nобавляет к пакету заrоловок канальноrо уровня и маркерыразrpаничители. Протокол РРР иноr.na при'меняется в НоВЫХ ".помашних" технолоrиях. TaKliX как DSL и кабельные модемы, но пользователи обычно об этом не знают. ИнкаПСУЛЯIlИЯ паl<СТОВ выполняется инrерфейсньrм устройством, и яесь трафик проходит через Bllerne[. так что пользователь ВИДИТ лишь Etllerllet соединение" Предшественниками ррр nослужилн протоколы SLfP (Serial Ijne IIНеп\еl PI"otocol  межсетевой протокол Д.tlЯ последовательноrо канала) If CSLI Р (Compressed SLIP  сокрашенный протокол SLIP), разработанные COOTBCТ етиенно Риком Адамсом (Rlck Adams) и 8aHOfo,'j Джейко6соном. Протокол РРР ОТЛw-lается от них тем. что позволяет передавать пакеты множества протоколов по ОlIНОМУ каналу. Описание этоrо протокола nриведено в ЮТ1331. 8 состав протокола РРР ВХОДЯТ три компонента: ПРОLlеnура ИНКЗn"::УЛЯIlИ.и .nейтаrpамм .для nСlX'nачи их по последовате11Ь ным K3Ha.rтaM. протокол LCP (ljnk COnll"ol PI"otocol  протокол уnрав.lения t<аИЮlОМJ. IlреШl31113'lенныи .Il'1Я устаlОfшеНIIЯ, КОНфИI}'РИРОН3НИЯ и теСПlроваНlfЯ СО1.:'ДIIIIСIIII] на Ki:l.llaJlbHOM уровне: ":r.:'fll('И(:Т!lО ПРОТОКОЛОВ NCP (Ne1work Conrrol PI"Q[OCO)  протокол управ ;JС'НИЯ <:етыо). обеспеЧJ.lВаюших конфиrурирование и функuионироваJlие рiП.11IЧIIЫХ протоколов ceTeBoro уровня. Эти KOMIIOIeHTbI вместе с таблиuами состояНий, без\'пречными с точки зрения теории конечны); автоматО8, подробно описываются в RFСдокумен таuин, поэтому мы не бу.nем на них останаR.lJИваться. r0080 13 Сет" TCP/IP 313 
Пол.пержка РРР и.меется ВО всех qeTbIlX'1{ тестовых системах. В тнбл. 13.11 указано местоположение соотneтствуюших. команд и конфиryрац.ионных файлов. Таблица 13.11. КОМОНДЫ  конфиryРQЦИОНliые файлы протоколо ррр е. РОЗЛИЧНЫ>: Clt!cтeMOX СИCfeМQ Команды 1 КРJiфlo'1ryРОЦ!'1,.9t-4ные фаи]},,! Solaris /Usr/SbiD/8Iif1Ppd /ctc/asppp.cf /usr/sbiD/asppp19 /ctc/uucp/Systems /ctc/uucp/Devices /etc/uucp/Dialc:rs /etc/uucp/ Aurn HPUX /U5r/bin/pppd /e1c/PPP/Systc:ms /е.с/ррр/AulOSШ1 /erc/ppp/filler /etc/ppp/Device6 /etc/ppp/Dialers /elc/ppp/ Ашh /е,с/ррр/КеУ' Rcd Hal /usr/sbin/pppd /C(c/ppp/Opllons /шr/sbiп/сu't /etc/ppp/ppp.conf /clc/ppp/aUow FrceBSD /usr/sbin/pppd /e-tc/ppp/options /usr/sbin/cbat /etc/ppp/options.ttyservcr /etc/ppp/cha t.ttyscrvcr I Списки файлов и команд поданы иезаВI1СИМО дpyr от дp ra. Меж.ау командой и указанным рядом с HCn файлом не обязатс:лыю сеть соотвeтcrвие. Производительноcrь ррр Протокол РРР обеспеql-tвает все ФУНКUI10Н8..1JЪные НОЗМОЖIIOСТИ Etllfrnfl, но на zOPU.Jdo меньшеЙ СКОрОСТ1l. Обычные офисные локальные сети работают со скоростью 10 ил"' 100 Мб.rr/с. Т.е. лримерно 10000100000 Кбит/с. Д КОf,п.l},тируемое соединение функuиою,рует со скоростью 1856 Кбит/с: Подобное соотношение привоnит к тому, что для передаqи файла размером 1 Мбakr через РРРкаиал требуется примерно 5 минут. Это еше можно стерпеть при оmрЗВl<е электроlUlOЙ почты. но не при pttOOTe с WеЬузшI.МИ Чтобы повысить скорость. можно задать парамстр MTU (максимaJIыiI11 размер передзвиемоrо блока) сoc.nн.неН11Я оqенъ НIIЗКИМ. ПО умолчанию он равен 512 байтам: задаЙте ] 28. если выполняется MHoro "HTepaKT11111011 работы Работать с NFS череl РРРканал очеllЬ неу.nобно IIЗЗ3 НII К(.lИ L:KOpOCТII Имеет СМЫСЛ .nелать это TO.'IbKO в том слуqае. I<orna N FS ИСПО!1Ь J'eT прОТОКО;1 ТСР. а не UDP. В некоторых системах (например. в Solaris) ПрОТОКО1l ТСР применяется в N FS по умолчанию. o Поdробllее аб N FS Оflорится в z.'IQBe /7. В Х Windows также используется ТСР. поэтому черз РРРканал м-ожно запускать ХприложеIOlЯ. Проrpзммы наr10добие хtепn работают прекрасно. Протокол РРР чаше всею применяется в соединешUlJ( со скоростью работы 19200 бод. Он может использоваться и в боJlсе МСШlеllНЫХ каналах, но CKOpOl..-ть L"Танови-rся невыtЮСИМО низкоЙ. 314 ЧОCТD 11. Роботе в сетях 
но следует избеrать приложеНIIЙ с ЭКЗОПlческими шрифтами и paCТPOBOn rpафикой. Подключение к сети посредссвом ррр Для Toro чтобы соеДЮIIПЪ компьютер с сетью средствам н ррр, нужно обеспечить выполнение трех требований. Яnpо Iшмпьютера должно уметь посылать lPnaKeTbI по послелователъ ному канзпу 8 соответствии с требоваИИЯ\fИ протокола ррр. НеоБХОДIfМО, чтобы в системе была проrрзмма ПОЛЬJовате.льскоrо уровня. 1I0З80лmoшая устанав.'lИвать 11 оБСJI}"А<ивать РРРсоединения. На .npyroM КОНIlС поспсдовательноrо канала ,nолжна быть система, понимаюшая используемый протокол. Как зоcrавить компьютер общаться по протоколу ррр Для установки РРРсоеlIllнеНIIЯ нужно, чтобы система 10101'113 посылать и прнним,пь pppn(fKeTbI. В UN IХ протокол ррр реализоваll н ниде МОДУЛЯ Ядра, который помещает t:CTeBbIe Iшкеты в 8ЫХОlIНУЮ очерелъ ПОС:Jедователь Horo устроЙства и извлекает постynJ.юшие пакеты из входноЙ очереди. Обычно этот модуль ФУliкuионирует подобно сетевому интерфейсу, поэтому Иfo,,1 можно М3НJIIIУЛИРОватъ С IЮМОЩЪЮ стан.naртных среДСТR, например команпы ifconfig. o Более 1l0дробиые сведeuия о кдцанде ifcoпfrg вы IIt1йоепrе 8 Ilараzрафе 13. /0. Управление РРРканалами ТОI(IIВЯ после.nовательность событий. ПРОВСХОДЯШ1fX при УСТЗНОRJ1е.IНli РРРсоединения. зависит от опервuионноЙ системы и nШd сервера. с которым ОС}1llеСТR.lJяется СВЯЗЬ. Соединения можно устанавливать либо flрЧНУЮ, лнбо линамически. При ручном подк..moчении пользователь запускает команду. которая вызывает моде..... а.хо,nит в у.naлеlНtую систему и lзrружает в ней lIемон IIротокола РРР. Если эта ПРОllедура заканчивается успешно. последонательный порт конфиryрируется как сетевой интерфеnс. В этом с.'ТУЧзе канал обычно остается активным дЛительное время, что лучше вcero ПОДХOlIит л."lЯ выделениых телефонных линий. В ДlIнаМJfческой КОНфlfТ)'раUlIИ демон наблюдает за последовательиыми "о:теflЫ\.IИ" интерфейсами. отслеживая запросы на передачу данных через них. Кот.пв .....'ТOTO пьrrается послать пакет. lIемон автоматически вызывает модем для установления соединения, передает пакет и, ест1 канал возвра щается в режим ожилания. по истечении соотвеТСТВ}1Ошеrо периода времени разрывает соединение. Динамическне каналы Прllмеияются, l(orдB по теле фОНIIОn линии перe.nаются К-'" rолосовые, так н двоичные данные, а также Korn::! осушестRЛЯlОТСЯ З80НКИ на большие расстояния или соеди-неНltе ЯIUlяется платным. Проrраммы. резлизуюшие обе эти схемы. вхо.з.ят 8 состав БО.'IЬШIIНСТВ3 нсрсиn РРР. Паиск компьютера ДЛ свзи Korп.a ортаtrnзуется канал снязи между двумя удаленными узлзми Компании или между офисом If домом, можно просто инсталлировать rЛ080 13. Сети ТCP/IP 315 
протокол РРР на обои)( КОI-шах соединения. Ест1 же речь и.п.ет об использовании этоrо протокола ш/я ПОДК;lючения к Intemet. следует обра титъся к провайдеру. Большинство проваАдсров f1редлвrвет коммутируемые соединения по разумноА иене. 0" Присвовнив одрвсов Квжлому РРРинтерфеАСУ должен быть назначен IPaдpec. ПО1l0бно тому как это имеет место при включеНИlt Houoro компьютера в сеть ЕL11СП1еt Сушествуст нескольКо способов назначения адресов РРРканsлам (иноr1l8 для установления связи ПРИСВ8Инать адреса вообше не требуется). Ни'же paCCMOT рен самый простой из них. Более детальная UllфОР.ИОЦUЯ о нОЗIIО11r?НUU I Pйдpecotl приведе"о 8 пap{li'pO фе 13. 10. РРРканал нужно рассматривать как отлеllЬНУЮ сеть, Т.С. сеть, состоящую из двух машиН (ее часто назЫEiЗЮТ "двухточечной" сетью). СетсооА адрес присваивается каналу так же, КаК и новому сеn.,енту Ethemet, в соответстВI'Ш справилами, принятыми в орraнизаuии Можно выбрать лва любых 3.lIpcca компьютеров в этой сети и n рliСБОИТЬ по одному адресу каждому коt-шу канала. Необходимо слеДОВ8ТЬ и дрyrим местным правилам. НlЛрн-мер стандартам назначения маеюt подсетИ. Каждый из компьютеров, нмеюшнА подобное соединение, стаНОВIIТСЯ ДJlя внешнеrо миром "шлюзом" к paCCMaT рквзсмоА двухточечной сети. Для назначения IPaдpeCOH может также применяться протокол ОНСР. Домашним клиентам IlронаЙдеры Intemet обычно предоставляют УСЛУП1 ОНСР. 3 орraНИЗ3Ш1ЯМ Вhlдс.1ЯЮТ статические адреса. Моршрутизоци Поскольк} протокол РРР требует, 'Iтабы удал.енный сервер ВЫСТ)'ПdJI (! роли IРмаршрупtзатора. вопросы I Рмаршр}тизаuии ДО:lЖНЫ 'Читываться так же, J{at: н на реальном шлюзс (Н311ример. на маLUЯне. соединяюшеl,j ИВС сети EthemeO. Задача маршрyrизаw..-и заключается в I-!аправлении паКfТОБ по шлюзаМ в заданные пункты lIазначения Настраивать схему маршруппашш можно paltlыl1 способами. На рядовом РrРКЛIIСllте должс:н был.. lв.п.ан маршрут по умолчанию. обеСl"lеЧII ваюurnf1 наПР\Е1лен",е Ilakc-rов к РРРсерперу_ Необходнмо. чтобы сервер бы., известен OCT8J1bIlbIM маШlтам сети ....яК шлюз К КJшеиту. 0' Подробнее й ,маршрутU3lщиu чtтrаiiтс (i Z !овс /4. БОllЬШl-lНСТОО PPPclcтeM ИhIПО.1НS1Юl .:}ПI OIlсраШIИ антомаТllчеСКJ.t Безопасность Проблемы безопасности ВQl!Н1кают всякий рзз. Kor.na в сеть добавляется новый компьютер. Поскольку маШlна. ПОДiUlюченная средствами РРР. является полноправным членом cen1. с Hci-i IУЖНО обращаться должным обра-юм: С.'rсдить, чтобы не было учетных "l3П1lсеЙ без Пi:\ролеА или с ненаДI:ЖНЫМIf IШрО.l1ЯИ. LfТобы БЫЛl1 I111СТ3ЛJlнрованы 8се средства ЗЗЩIПhl н т_д. 0' в lлове 21 содержится nол'е пООрОО!fй1l IШфОР.МШЩЯ о бf!.jопО(.#-lOстll. 316 Чосто 11 Робото . сетях 
Терминольныв серверы Korna орrаНИЗRUИЯ предоставляет РРРканалъl домашним пользователям. может оказаться, ЧТО число запросов лревышает число ПQследовате.тIЬн.ых ПОРТОВ. Сушествует множество терминальнЬ1Х серверов, работаюших ПО протоколу ррр, а в С8}.fЫХ НОВЫХ из них даже есть встроенные модемЬ1. Наш фаворит  LuсеПl Рол-mastеr 3. ПQльз)'ется популярностью также серия Cisco Access Sen,cr AS5xeO. Эти системы ПОЗвОЛЯЮТ леrко управлять последовате..11Ь ныи портами и поставляются с предустановленным проrpаммным 06еспе чснием: РРР. В них можно орraнизоватъ пул модемов. 06служив.аюших удаленных РРРпользоввrелей. Диалоrовыв сценарии Во t.fноrих реа.л-изаuиях ррр при меняется диалоrовый сuеиарий, предна значенный для лодкточеtшя к модему, реrnстраuии На удаленной машине и запуска PPPcepBepa. Идея T3Koro сuенария лерооначалъно появилась в протоколе UUCP. Сам сuенарий состоит И3 набора посылаемых строк и строк, которые предполаraется получить обратно. Имеется простенькая условная конструкuия. позволяющая выражать правила вида "ожидать строки 'Login', но если она не бу.пет получена  послать символ возврата каретки и подождать еще". Как правило, имеются rOToBbТe сuенарии, КОТОрЫI: можно адаптировать к конкретной :конфиrypаuии. В сuенарии нужно установить такие пзраметрьт, как номер те.1еФОН8. по которому делается звонок, и команда, запускаемая после успешноrо BX0!I3 в систему. В большинстве сuенариев содержится паропъ в незаwифроваllНОМ виде, поэтому спедует соответствуlOШИМ образом установить права доступа к ним. 13.9. Вопросы безопосности Теме безопасности посвяшена отдельная rлава (21), но ряд вопросов. касающихся IРсетей. заслуживает отделъноrо ynоминания. В этом параrpафе мы рассмотрим те ситуации при работе в сети, в которых ТРa.дИuИонно возникают проблемы безопасности, и опишем пути решения этих проблем. Переналравление IPnOKeTOB Если в U:\IIХсистеме разрешено перенаправление IPnaKeTOB. компьютер может выступать в роли марwрутизатори. Активизировать эту функuиlO рекомендуется только тоша, коrда в системе есть несколько сетевых Iштерфейсов и она деЙСТВlIтельно иrpает ро..11Ь ynолномоченноrо ceтeBoro маршрymЭ8тора. Посредством мехаНИ]l\.fа перенапрааления можно сделать так, \ITO внешние пакеты будут казаться поступившими от ОК8ЛЪноrо коr.mъютера. Эта уловка позволяет пакетам обходить сетевые сканеры и ФШIЬТРЫ пакетов. Переадресующие IСМРдиреICТИВЫ Посредством переадрес}lОШИХ ICM Рпакетов можно злонамеренно менять 1.lапраВJIение трафика и редактировать таблиuы марwрyrизаuки. Бо.1ТЬШИНСТВО OrlepaUHOHHblX сисп:м по умолчанию ПРШПfмает ЭТИ пакеты и следует заключенным в них директивам. Но, соrласитесь. вряд ли можно назвать приемлемой ситуаumo, KorHa на несколько часов весь трафик орrанизацин r"o.o 13. Свти TCP/IP 317 
переиапрanляется KO......l:peHтy. особенно если в это ВрМя осущеСТRJlЯется резервное копирование. Мы рекомендуем так коифиryрировать марШрУ'П1За торы (или осушеСТRЛяюшие ltx функиии системы), чтобы переадреСУIОШllе lСМРдирективы иrнорировались н фиксировались в журнальном файле. Налровлвнна МОРШРУТИЗОЦИЯ Мехаш1ЗМ направленноЙ маРШРУП1JЗUИИ и ПРОТОI{О;Iе IP IlOlволяет ЯИI"О указать последовательносТЬ шлю:зов. через которые ДО.;Jжен пройти 11акет 1-13 пути 1( получателю. При этом отключается алrоритм поиска СЛС1J.уюшсrо перехода, выполняемый на каЖllОМ uтюзе для опреде..llеНlIЯ Toro. к)ла IIУЖI--lO послать пакет. НалраRJlенная маРШРУТИЗЗllИЯ была частью исходной Сl1еШlфикаШПI протокола lP и служила lL'lЯ llелей тестирования. Но она создает проблему с точки зрения обеспечения безопасности, ведь пакеты часто фИЛЬТР'lOтся в зависимости от Toro. откуда они прибыл}!. 3ЛОУМЫШJIенник может так подобрать маршрут, что пакет будет казаться прибывшим из внyrренней сеТИ. а Не из Internet, поэтому брандмауэр ero пропустит. Мы рекоменлуем не прннимать и не переналравшпъ направленные подобным образом пакеты. Широковещательные рiпgлакеты и друrие виды нолравленных широковещательных сообщений Пакеты, направленные nocpeHCTnOl\.f команды ping. несут и себе широко вешателъный адрес сети (а не KOHкpeTHoro узла) и доставляЮТСЯ всем УJлам сеТИ. Такие пакеты прпменяются в атаках типа "отказ в 06СJJy'А<.иванJtи". например в таК называемых атаках "smшf" (по имени протраммы, в которой они впервые были применены) Большинство узлов располarает средствами запрета широковещательных рiпgзапросов, Т.е. их можно СКОIIФиryРI.IРОRать на запрет при:ема и перенапр.аШlения таких пакеТО8. Маршрутнз:пор также способен фильтровать ШI'lроковещательные пакеты. поступаюшие из IпtеП1еl. чтобы онИ не попадали в локальную сеть. Лучше Bcero ycтaHa&7liBdTb средства защиты как на саму маnrnну. так и на брандмау-эр. eCJI11 это возмоЖНо. Широковешате.Т'lьные pingnaKeTbТ одновременно ЯВJ\J1ЮТСЯ "Н8.правленны ми в том смысле, что они посылаются по Ш1tроковешательному адресу конкретной удаленной сети. СтаtШартные подходы К обработке таких пакетов 110степенно меняются. НаПрИ1>lер, в операционной системе Cisco 105 версий 11...x по умолчанию осуществлялась переадресаLlИЯ иаправленных широкове щатслъных пакетов, но в версиях 12.0 и выше зтоrо уже нст. Обычно моЖно настроить стек ТСР/)Р так. чтобы широковешательные пакеты, ПРИХОДЯШllе 113 др}тих сетей, иrнорировались, но, поскольку ЭТО нужно сделать JLfIЯ Кi:lЖllоrо ceтe.ooro интерфейса, такая задача ЯВJIЯется аесьма трудоемкой в крупно орrанизаШfИ. Брандмауэры UNIX в Red На! и l::reeB5D имеются встроенные средства ФН.ilьтр.ШИJ' 113КСТОА (проrраммные брандмауэры). Мы опишем 'эти средства в соответствующих Ilараrpафах: (13.14 и 13.1 S). хотя и не рекоменлуем использовать рабочую стаИllИЮ в качестве брандмауэра. Безопасность UNIХсистем (особенно в том виде, в каком они выпускаются наllШМИ любимыми 110ставшикамa.i) 11 т.J,K Неоысока, а безопасность 'indows NT  еше хуже. Поэтому соием 318 Чость 11 Робота в сеПlХ 
приобреСni аппаратный брандмауэр. Даже самые сложные nporpaMMHbJe решения, например система I::irewall I компании CI1eckpoint (работает в Sol8ris). уступают в надежности аппаратным аиаJJоrам наподобие устройств PIX компании Cisco. хотя имеют почти такую же ueHY!  Узнать IJOоробllсе о браllдмоуэрtп МО.ЖJIО в '!араzрафе 2/.9. Виртуальные частные сети МНОПiм орraнизаuиЯ'м, имеюшим офисы в РЗЗ.rIИI..JНbrХ частях света. хотлось бы, чтобы все эти офисы БЫЛII соединены в одну большую частную сеть. К сожалению, стонмость аренды траНСКОНТlfннта..1Ыlьrх J1 даже TpaHC 1ЩИОНa.rтьных линиА связи делает зто нереальным. Таким орrанизаuиям приходится исполъзовать In(cme[ в качестве "частноrо" канала, орrанизуя серию зашиwенных, зашифрованных .'туннелей" 8 офнсах. Подобные KOHr ломе раты назьmаются виртуалЫfЫМlJ частными сетями. В некоторых частных сетях используется протокол IPSEC, который не1l8ВНО был стандартизирован орrаНИЗ8uией IETF, В лрyrиx сетях применя. ЮТСЯ' собственные патентованные решения, как правило, несовместимые лрyr с прутом. Мы рекомендуем обратить внимание на такие пролук:ты, как маршрyrизатор 3660 компании Cisco и брандмауэр Firebox фирмы 'зrсI1- G\lard; оба они подде-рЖlваIOТ туннеШ1ронаН1fе и шифрование. Устройство Firebox использует протокол РРР для }'ТJравления последовательным портом Системный администратор может установить соединеН11е с этим устройством, чтобы сконфиryрировать сто ИЛИ ПОЛУLJИТЬ доступ в виртya.rтъНУIО LJастную сеть n)lЯ теСТИрОl3аf-II1Я IPSEC: безопасный протокол IP IPSEC (IP Secure  безопасный протокол IP)  это стандартизированная орrаннзаuиеА J Erl:: система аутентификации и ишфрования соединений. Ее внедрению мешют федералъные законы США, запрещаюшие экспорт стои",.их (с большоЙ Дnиной КJТЮЧЗ) систем шифрования. Поэтому ряд неамериканских компаШf НЫIIУСТШI собственные реалИЗЗllИН протокола. К сожа..'1еиию. ни 8 одной из реализаций не предусмотрены средства распространения ключей шифрования. что является важнейшей предпосыл. кой для ШИ[IOкоrо 8недреню! и использования протокола IPSEC. В документе RFC2409 (рассматриваемом КОt.ппе.тами по стзндаРТJlзаlIИИ) определен про токол IKE (In[erne( Кеу Exchange  протокол обмена КЛЮLJами в сети Inl.erneO, предста8ЛЯЮШИ собой rибридную систему обмена ключаМI1 шнф роиания. В настояшиЙ момеНТ в протоколе IPSEC шифруется заrоловок транс. nopTHoro уроння, содержащиЙ номера nopTOfl ОnIравителя Ii получателя. К сожалению. данная методика напрямую конфликтует с принuипами работы большинства браНдмауэров. В I ETF рзссматривается предnожение об ее отмене. В табл. 13.12 приведены сведения, касаюшиеся реализации протокола IPSEC в наших тестовых системах. Нетр}дН'о доrалаться, что протокол IPSEC снижает производнтсльность ncero стека сетевых протоколов, Чтобы установить соединение по протоколу IPSEC между двумя KOHe"l HblMII узлами, нужно создать дис базы .п.анных: SAD (Sесuп[}" AssociaHOn D.Habase  база .п.анных о связях в системе безопасности) и SPD (Securily r еаво 13. Сети ТСР /IP 319 
Poliey D8lЗЬase  база данных о политике безопаеиости). Добавлять в нЮ, записи можио с помощью командЬ1 !iletkey, в которой имеются nодхоманДЫ add и spd.add. Дополнительную информацию ВЬ1 сможете найти на WеЬУз"fjС wv{w.kаrnе.пеL. Таблица 13.12. Реолизоции протокопо IPSEC в розпичных опероцонных системQ) Симо Подцерю:.Q Комментор..-t..-t Sol.ariь.ll.8 В версии 8 и вышс НPUX.na В состав HPUX II.VO входит система РrJ.сsidiШ11 IPSec/9000 Red Hat нсполнвя ВСКОре появится 6еСIlJ18ТНая система Frc:cS/\\'AN I Frc:eBSD да В веРСИИ 4.0 и выше имсется рса.тrnЗВlllUI npOI0...0;1.J lPSEC проекта КАМЕ I В SuSc Liпuх она имсется с 1999 r. 13.10. Добавление компьютеров к сети П роиесс добавления нопоrо компьютера в с)"шествуюшую сеть COI.'TOIIT Bcero из нескольких этапов. Проблема заключается в том, LITO R HeJ.:OTopbI\ системах файлы, которые требуется модифицировать, rпубоко СllрЯТИНЫ. поэтому зa.nача станонится нетривиальной. В дрyrnх системах Иfl.II::еТОI сuенарий инсталляШ{и, отображаюший приrлаwение на ввод соответствуюшн" сетевых параМ'строн. Работать со сuенврием удобно до тех пор, пока не потребуется отменить квкиенибудь установки Основные этапы таКОl3ы: назначение компьютеру IPaдpeca и CCTeBoro имеl-fИ; настройка комлъютера на конфиrypиронание своих сетееых интерфеАсо во время начальной заrpУЗЮI; зa.nание cTaHдapтHoro маршрута и. возможнО, дpyrих параметрон маршру тизаuии; . настройка DNScep8epa, чтобы к комлъютеру можно было получать доступ через lntemet. Сначала мы опишем всю nроиедуру в обшем виле, а затем рассмотри'\! особенности добавления компьютеров к каждой 1-1] наши,.; тестовых систем Естественно, к приuедеllНОЙ последоозтеЛЬНQСТI1 можно добашtТЬ 3П111 отладки После любоrо изменения. которое способно ПОRJIИЯТЬ на I1pouecc нача.rrьной З11rpузЮI, необходимо обязательно перезаrp}"ЗIIТЬСЯ и rlроверить правильность функuионироваНI1Я систеМbI, даже если речь идет о крупном сервере. Ведь коrда через полrодз про,",зойдет внезапный сБО'1 питаНllЯ 11 система откажется заrружаться. будет очень трудно nCnОJНИТЬ. J.;:id.IШt:' изменения оказались источниКОМ nроблем. Стоит ynомянyrь такой фак", некоторые системы способнЬ1 самостоя- тельно определить. подк.:ночены они к сети иЛИ нет. Проucщура нача.1ЫIОЙ заrрузки в том и друrом случаях может знаЧlпельно раЗЛИ I 18ТЬСЯ; маШИliI. прекрасно работавшая в aBTOtlOMHOM рСЖJ.-Iме, может необьясш!мо З3ПИСНУТI во время начальной заrpузки носле ПОДКJ1Ю L IСННЯ к ней сетеlшrо кабеля. дВ:;+'С' если никаких изменеНllЙ 8 конфнryраUШ'j сделано нс было. Прошсс ПроеКТJрОВRНИЯ Ji постросния физическоit CCn1 011НС8И Б rлаие 15. Котда 'fИтате;JЬ нмеет дсло с уже сформированной сетью Ji в обшю: 320 Чость 11. Робота в сет"): 
чертах знает, ках она построена, то, наверное. иет смысла еше ЧТота читать о физических аспектах орraниз8.ШIИ сетей, если только не IUIанируется расширение действуюшей сети. Ниже мы опишем процесс ICонфиrypирования cCТl1 E[heme[; ШIЯ .npуrих топопоrий проuедурв будет схожей. Присваивание сетевых имен и IPaApecOB в распоряжении администраторов имеется множество методик, по которым определяется соответствие между именами компьютеров и IPaдpe сами в локальной сет,,: файл hO!iIs. СУБД NIS н NlS+, система DNS или комбинauия какихлибо из этих средств. Еели используется несколько систем. необходимо продумать их совместную работу. Конечная система должна учитывать возможность наращквания сети, уметь работать в ..-етеро..-енной среде и позвопять компьютеру зarpужаться даже в тех случаях, котда не все сервисы доступмы. Использование файла /etcfhosts  старейший и простейший способ преобразования имен в I PaдpeC8. Каждая строка файла начинается с IPaдpeca и содержwr- различные символьные имена, под котарыl\.ии известен данНЫЙ адрес. Ниже локазан пример содержимоrо файла /elcfhosls для узла lollipop: 121.0.0.1 192.108.21.48 192.108.21.254 192.108.21.1 192.225.33.5 localhost lollipop.xor .сот lollipop 10qho8t ch1mchlmqw. xor . сот c:himchlmqw лs.хоr.соm па liсепsез. xor.com 11сепзезеrvеr Чаше Bcero 8 первой записи файла определяется узел localhost. По слухам. в некоторых системах это ЯliЛяется обязательиым требованием (ВО FreeBSD, например). Поскольку файл /etcfhosts содержит лишь локальные адреса привязки, большинство современных систем использует ero ШIЯ хранения адресов. требуюшихся при начальной заrpузке. Остальные локальные и rлоба."1ьные адреса проверяются в базе данных DNS. Иноrда в файле /elcfhO!ils хранятся записи. о которых не следует знать .npyrим компьютерам и которых нет в базе Jl8ННЫX DNS. Файл /etc/hosts важен штя начальной заrpузки. так как сервер DNS еше не поc-rynен. Он должен содержать адреса самото компьютера и адрес обратной связи. Кроме Tara, желательно наличие стандартноrо шлюза и адреса сервера имен. Во мноrиx орrанизаuиях в этот файл помещаются адреса всех важных узлов, серверов и шлюзов, иноrда  адреса всех локальных узлов и внешнеrа резсрвноrа сервера имен. Если файл /etcfhosts содержит адреса всех лок8лъных узлов. он должен быть реnлицирован на каждую машину, тде требуется работать с символиче скими адресами компьютеров. Существуют различные методики хранения единой версии файла на uентральном узле и е..-о распространения на дрyrие компьютеры орrанизаuии (или COBMccTHora использоваНИЯ различными машинами); подробнее об этом rаворитея в rлаве 18. Но лучше Все же упраалятъ адресами посредством DNS. В rnвве 16 описана система DNS и пакст BIND  реа.qизauия DNS . UIX. Команда hostname назначает КОJ.fПьютеру сетевое имя. Она обычно запускается 80 время начальной за,,-рузки И3 какоrанибудь crapro80ra r"080 13. Сет. TCP/IP 321 
сuенария. который запрашивает наЗllачасмое ИМЯ из конфиrурационноrо файла. Естественно, все постзвшики систем называют этот файл поразному (см. параrpаф 13 11). Большинство современных систем назначают компью теру полностью опреп-еленное доменное имя (Т.с. оно включает как иt.tЯ УJЛ<J. так и ИМЯ домена DNS. HanpIMep ancllor.cs.colorado.oo\I). В небольшой Орl'анизаuии вполне можно вые.чятьь IPaдpeca и сетевые имена вручную. Если же в орrанизации нмеется MHoro сетей и разнородных ЦlIМlfнистративнbJX rpупп, пучше придерживаться приншmа uентрализаllИИ. Наша университетская система addhost представ.i1яет собо набор paCl1peдe ленных срепств. которые решают некоторые проблемы уnраnЛСИJIЯ сетевыми компьютерами. Дрyrnми решениями Я1L'1ЯЮТСЯ ПРОТОКОЛЫ ОНСР и LDAP (Lightweight DireclOry Access ProlOcol  ynрошеНIIЫf.1 протокол ДQступа 1\ каталоrам). Система addhost довольно стара и "коряв,,". ио она нсе еше Ilрименяется в Iескольких орrанизаuиях. Если не найдете ничеrо лучшсrо. обратитесь по адресу fip.xor.com. Команда ifconfig: конфиryрировоние сетевых интерфейсов Команда ifconfig используется ДЛЯ ПО!lКJ1ючения и отключения ceTe8oro интерфейса, запания ero IPaдpeca и маски подсети. а также друrих QПUlI-И и параметров. Она оБЬ1ЧНО выполняется 80 время начальной ззrp)'.JЮf (apryмeHTЫ комаЮlНОЙ строки берутся из w.:онфиryраШIOIII-Iоrо файла). НО может применяться и ДЛЯ внесения ИЗf\.fеНСНJ1Й fI работающую снстему. Будьте осторожны при модификаUШI удаленной системы, так как не 8сеrпа есть возможность onepaTlfBHO исправить ошибки. В большинстве случаев Комзt-IДЗ irconlig имеет следующий формат: ifconfiq интерфейс адрес опции ... up  Например: . it"cont"iq -пО 128.138.240.1 n.tm.a.k 255.255.255.0 up Лараметр Ullтерфеitс обозначает аппаратный интсрфt:йс. к которому применяется команда. Как правило, зто лвухтреХСИМВОЛЫlOе имя устройстпа. за которым следует число. Примеры pacnpocтpaHeHI.Ib1X имен: ieO, 1еО, 1е1, lлО, елО, ....еО, qeO, hmeO, eLhO и lапО; 100  ЭТО имя ннтерфt:ЙСi'I обратной связи. Имя интерфейса образовывается И"j нмени дрнЙвера устрои стиа, используемоrо для упраnllенш! им; обычно оно COOTBeTCТВYT КОМПJlt"''''ТУ микросхем, который установлен в устройсТl'lС (Iп[е) Е[hеП1С[. Lance E[11Crllet и Т.Д.}. Комаt-Ша irсопlig uнтерфейс 8ЫИOllИТ ТС:1<..)'Шltе устаНОВКlI для указаНlшrо интерфейса. ВО МНОПIJ< система.х ОIIUИЯ a понимается как '.все интерфейсы.'. поэтому с помошью команды ifcOlllig a J"tожно узнать, какие интерфейсы присyrствуют в системе. Если эта КОМ.iшда не ПОд.'lерЖlIвается. попробуйте команд)' netstar. i. В Solaris сетевые интерфейсы подключаются с помощью команды ifcOlllig lттерфеис plumb; только после .этоrо онн СТё!.НОВЯТСЯ' конфиrypируемыми и ВИДIfМЫМИ для коман.llЫ netstat i. Параметр адрес задает I Paдpec нитерфеliса. Как правило. он дастся в тралиuионноА для In(ernel точечноА нотаuии. но во МНОП1Х система.х можиn указывать имя машины. Мы рекомендуем rlOЛЪЗОваться числовой заШIСЬЮ; если команде Irconlig будет lадано имя машины (11ЛlI результат рзботы команды hostname) и в проuессе преобразоваНltя имени 8Озникнcr ОШllбкз. 322 Чость 11. Робото В сет!;)( 
то д.шный компыоерp не lаrрузится tли заrp"3IПСЯ 11 состояние. Врll котором доступ К нему по сети бу'1СТ НС80Jможеll. Лдминиt.-тратору придется идти самому и устранять проблему на месте. DNS)aHpOCb1 в подобной СI'ТУЗUИИ ВЬ1полняются очень ДОЛ1'а, поэтому возникает нпечаТ.'I-ение, буто машина зависла. Ключевое слово up активизирует интерфейс, а ключевое слово down ОТЮlючает ero. КомаНда irconlig rЮдIlсрживает множество опuии. Мы рассмClтрИМ лишь самые основные из них. llетали. касаюшнеся конкретной систеМЬ1, как Rcer.na. можно узнать на странниах интера"'"ТИRноrо руководства. Bcr- опuии имеlOТ снмволичеС"''1iе имена. Указывая ОПUIIЮ, вы УСТЗl-l3ВJlиваtте ее. Некоторые ОПUШt требуют наличия арryМСIПQВ. которые должны размешаться сразу после имени опuии. В ряде версиii команды irсопlig должен был указываться параметр, задаюшиА семейство RIIp1:COH. Сеrодня этот l1араметр не оБЯ.18телен, а по умолчанию используется семейство iпеt. Опция netmask задает маску 1l0ДСе'Т1' для naHHoro интерфейса. Она обязательнз, если подесть формируется не на основании класса адреса (Д. В 11ЛИ С). Маску можно }'1(8Зывать в ТОJечной нотаl1ИИ лuбо в виде четырех баЙТО80rо шеСТНa!ll1атеричноrо числа, начинающеrося с префикса Ох. Опuия broadcast задает широковешателыlйй IРалрес интерфейса в шестнaп:uатери-чной ИЛИ точечноl'1 ЗЗIIИСИ. ПрзвильнЬ1"Й широкоftешательиый адрес  тот, в котором все биты машиннОЙ части равны 1. В большинстве систем по умолчанию использ}стся именно это значение. Оио определяется на ОСНОВRНИН сетевой маею! Ji IР.адреса. В LINIX в Ka[eCTne Шlfроковешательноrо адреса \lOжно использовать любой IPaдpec. сушеСТНУЮШltй в сети, к которой подключен компьютер. В некоторых орrаНИЗЗUИАХ UПfроковешательный a..'lpec спеuиально НЬ10ран иестандартным. чтобы избежать некоторых сетевых атак, основанНых на команде ping. По ряду причин мы не рекомендуем такой подход. Вопервых, llJ1Я этоrо требуется сбросить широковешателъные адреса на каждом компьютере локал:ьной сети. что весьма накладно в крупной орrанизаuии. Во.вторых, необходимо убедиться. что IIсреКОНфИryрШПI подперrлись все КОМIIЬютеры, иначе возникнет лавина широкопешательныx залрОС08, при которой пакеты будут перехопюъ от машины к машине до тех пор, пока не истечет время ш( ЖIПНИ (l1араметр nl станет равным нулю). Широковешательныи "шторм" ПРОИС)ЮДИ1 110 roй причине, что для траНСПОРТИРОВКII пакетов применяется одии и тот же широконешательный a..'lpec канальноrо УРОRНЯ независимо от Toro. какая задан широковешатель ны"Й 'Paдpec. Предположим, например. что для компьютера Х широковеша тельный адрес  Д 1, а llJ1Я компьютера У  А2. ЕСЛl1 Х посылает пакет 110 адресу Д 1. то У rrримет ЭТОТ Ilакет (ето uе.левоl'1 адрес KttHaJH.Horo УР08НЯ является широковешательным), обнаружит. '1то он не прелнзшачен данному компьютеру и не является широковешзтельным (педь i1ЛЯ У таКОВЬ1м СЛ):>I\'1П адрес Аl), и вернет ero обраТIО в сеть. Ес1И таких мзшин, как У. две, паJ.:ет будет uиркулировать до тех пор, пока нреtя ero жизни не истечет. ШltроковещательньrЙ "шторм" приводит к серьезному СНlrжеНIIЮ nрОИЗВО!lИ тельности крупиых КОММУ"ируемых сетей. Лучший способ избежать проблем с ШlfроковешатеllЬНЫМИ запросзми  запреnпъ поrpаничному маршрутиззтору перенапраилять ИХ, а отдельным узлам  отвечать на них. Далее будет рассказано о том, как реаЛИЗО8ать подоБНЬ1е оrраничения в конкретной системе. rneBO 13 Сети TCP/IP 323 
в показанном ВЬ1ше прнмере широковещательный адрес 128.138.240.255, так как длина сетевой части адреса равна 24. что следует 1-13 зиачения сетеllОЙ маСЮI (255.255.255.0). При выполнении команды irсопliи епО будет получен такой результат: еnО: flаqs..б3<UР, BR01\DC1\ST, NOTRAILERS, RUNNING> inet 128.138.240,1 netmaBX ffffffOO broadci!l5t 128.138 .2iJO .255 Рассмотрим несколько конкретны>: примеров. i.fconflfjJ 100 127 _ о. 0.1 up Эта команда конфиrypирует интерфейс обратной связи, который, как правило, не требует никаких оппий. Нельзя менять ста]ш.артI-IYЮ системную конфиrypаuию данноrо интерфейсв. Подразумеваемая маска 255.0.0.0 является правильной и не должна переопределяться вручную. lfconflg' .no 128.138.2.0.151 n.tm.a.Jc. 255.255.255.192 broadc..t 128.138.2.3.191 ир Это типичный пример для платы Ethemet. {Paдpec и широковешатеЛЫ.IЫ1f адрес уст.навливаются равными 128.138.243.151 и 128.138.243.191 COOТlleтCT венно. Сеть относится к Юlвссу В (что ВИll.НО из nepвoro байта адреса). npll этом в ней выделяется подсеть /26. Значение 192 в сетевой маске  ЭТо 11000000 8 двоичном виле. т.е. от трех октетов 255 отнямаются еше два бита. Значение 191 в широковещательном адресе  это 101111] 1 в ДВOWfНOM виде. Т.е. Все шесть битов машинной части равны 1, а сам интерфейс ПрИН8Ш1ежит третьей (10) из четыехх подсетей. Теперь, коrда мЬ1 узнали. как конфитурировать сетевой интерфейс вручную, осталось познакомиться с тем, как задавать параметрЬ1 KOMaН1IЫ irсопfiи при начальной заrрузке системЬ1 Кроме тото, требуется убеД1fТЬСЯ. что Новые значения введены правильно. Для этоrо необходимо отре!l8КТИрО вать один или несколько конфиrураuионных файлов. Данная ПрОllслура описывается далее в параrpафах, посвященных настройке конкретных систем. Команда route: конфиryрирование статических маршрутов Команда тооЕе определяет статические маршрyrы  ЯВНО заданНЬ1е элементы табllИUЬ1 маршрутиз8.UИИ, которые обычно не меняются даже в тех случаях, Korдa запускается демон маршрутизаuии.. При добавлении HOBoro компьютера в локальную сеть достаточно указать стандартный маршрyr. Не заБУдЬте также прочитать страниuы интервктивноrо руководства, посвящен- ные комаНде route: ее синтаксис, флаrи и врryменты существенно различаютсlol 8 разных системах. В .nанной Юiиrе 80ПРОСЬ' маршрyrизвu.ии рассматриваются в двух rЛi\lt3";: настояшей и следующей. И хотя в этой rлаве приведена ИНфОрМВllНЯ ПО основам маршрyrизаuии н команде route, будет полезно проч.итать также несколько первых параrрафов rлавы 14. Маршрутизация пронсходит на сетевом )'l'OBHe. Коrда прнходит пакет, предназначенный ШIЯ дpyroro узла, ero uелевой IPa.дpec ишется в таблиuе м:вршрутизаuии ядра. При совпадении (хотя БЬ1 частичном) с какимнибудь маршрутом в таблице пакет направ.пяется по IP8lIPecy следуюшеrо UUlюза, связанноrо с данным маршрyrом. Тем не менее некоторые версии демона routed переЗ8ПИСывают статические маршруты. 324 Чость 11. Робота в сепх 
Есть JIВa особых случвя. Вопервых. nаке1 может быть предназначен для компьютера. включенноrо в ту же сеть, что и машинаотпраВИтель. В ЭТО\{ случае sдpec следующеrо шлюза указывает на опии из интерфейсов лока.лъноrо компьютера, и пакет посылается прямо в пункт назначения. Маршруты этоrо типа добавляются командой irconlig при конфиryрировании интерфейса. Bo8ТOpыx. может не оказаться маршрyrа, совпanaюшеrо с адресом пункта На3начекия. В этом с.лучае применяется маршру-т по умолчанию, еСЛlt TaJ.::OBof1 имеется. иначе оmравнте;IЮ выдается ICM Рсообщение "ne[work uшеасllаЫс" (сеть недоступна). Мноrnе локальиыe сети имеют единственный f.lыход '"8 мир". из HerOTo и ссылается стандартный маршрут. В маП1СТРальной сети Iпtсmet нет стандартных маршрутов  это коисu пуrи. К8ЖlIая команда route добавляет или удаляет один маршрyr. Вот ее формат: route {f] операция [тип] адресат шлюз счеТ..и:-:....переходоs  Параметр операция принимает одно из двух lначений: add (добавить маршрут) или delete (удалить маршрут). В некоторых версJ.iЯХ команды поддерживаются и друrие BHl(Ъ1 операшtЙ. наnрю..lер get. cllange. nush 11 monitor Параметр адресат содержит мрес машины. адрес сети или ключевое слово derault. В ряде систем стандартный маршрут представляется сетевым адресом 0.0.0.0. Параметр ШJlЮ] залает компьютер. которому должны адресоваться пакеты Необходимо, чтобы этот компьютер находился в той же сети. что и маШИl-lа, на которой формируется цанный маршрут. ПереСЫJТка может выполняться только ПО одному переходу З8 раз. Иноrда вместо шлюза (или нарЯlI)' с ним) может указываться интерфейс. Параметр счетlJикпереходов определяет предельное число переходов на пути к адресату. В одних операционных система.х этот параметр обязателен. в дрyrих он допустим, но иrнорируется, 8 третьих  считается устареВШI{М и не должен иСПОЛьзоваться. Но даже если счетч.ик переходов необходим, не требуется указывать точное ero значение: часто ero просто устанаRЛИR8ЮТ равным 1. Во FreeBSD счетчиК переходов не нужен. Если же по ошибке указать ero. то он будет проинтерпретирован как сетевая маска. СоrлаСlпесь, от маски I мало пользы! Необязателъный параметр тип задает тип адреса: сетевой ИЛl-I мз.ШИНI-IЫIf. Соответственно, он может принимать значение net иm1 host. Если rnn опушен. коман.да route пронеряет машинную часть ue!1eBOrO мреса на предмет рапенства ее нулю. ЕсJrn машинная часть равна нулю или адрес найден в файле /etc/nelWorks, то маршрyr считается обычным сетевым маршрутом. Поскольку ICOман.nа route не знает. разб'lта ли сеть с YK3.JaHHbJM aиpet.:oM на подсети, тип anреса прихошпся адаиать достаточно часто. Например. адрес 128.138.243.0 относится 1( разделенной на подсети сети класса В. имеюшеt\ся в нашей орrанизаuии, но для команды route он выIля.!штT как адрес класса В 128.138 с машинноЙ частью 240.0. Чтобы не вводить команп} route в заблуждение, следует задать опш{ю net. Желательно УКЮЫll3ТЬ nНl адреса для всех маршрутов. rne MOIyr встретиться подсети. Файл /etc/networ'ks используется для связывания доменных имен с сетевыми адресами подобно тому, как фаЙJI /etc/hosCs связывает lfМeHa компьютеров с Ио'\: IРa.LI.ресами. Мноrие КОМ3fШЫ. трс.бующие указания сетевых a.LI.ресов, понимают таюке доменные имена, если ОНИ указаНЫ 8 файле /etc/networb (нли в базе данных DNS). 325 r"OOO 13 Сети TCP/IP 
 @ Комннна route delete аорес удаляет указанную заrrнсъ ИЗ таБЛИILЫ маршрутизаuии. Коминда rOU(f r vдаляет из таблиuы панные обо Rcex маршрута.'<. Если объединитl. ее с командой add, таблиuа сначала очишаетсJt. а затем вносится требуемое изменение. В последних выпусках ВSDсистем вместо команды route .f I-tсrЮЛbJуется I<OMaн.na route f1ush. а имеето аппий пе. и host  ОПL1ИИ пе! и llOst. В Red Hal также используются опиии oet и host. но комаНда route nush не полдерживается. Похоже, 'по в Red На.. вообще нельзя удалить все заПJiСl1 из таблицы маршрyrизаШ1И одной командой. СушеСТВУlOшие маршруты МОЖНО IIрО8Нализироватъ с помОШЬЮ КОМ.t!.ИДЫ netstat п.... Подробную информаuию об этой I(оманпе ВЫ найдете в naparpa фе 20.4. Стандартные маршруты Блаrодаря наличию CТ311дapTHoro маршрyra псе пакеты. uелевые ЭЛpfса которых не иайдены 8 табтfUе маршрутизации ядра. будут ПОСЛННЫ 8 указанный шлюз. ДJ1Я устаиовt-.-И стандартноrо маршрута достаточно добавить в один из стартовых сиенаР.1ев таt-.'}ю строку: routa add default IРаДFес Чтобы не задавать жестко I Paдpec в стартовых сuенария:х, большинство поставщиков застзвил.и свои системы получатъ этот адрес из КОНфИI)'раuион иоrо файла. Конкретная Ilроиедура зависит от системы (табл. 13.13). Таблица 13.13. Зодоние Ciондортноrо маршруто I! розличных операционных системох Система . Редактируемый фойл Solaris /etc/defaultrouter HPUX /etc/rc.coDfig.d/netconf Red На! /etc/syscoDlIgJnel.work FreeBSD /etc/rc.CODr ROUTEGAТEWAY (О] GA'l'EWAY. GЛТЕWАУDЕ\Т defaul trouter Прочерк в пОСЛеДНем столбuе означает. 'IТO 8 указанный файл достаточно поместить I Paдpec или сетевое имя cTaндapTHoro uтюза. Если задается сетевое имя, оио должно присyrСТВОRaТЬ в файле /('tc/hosts. Конфиryрирование DNS Чтобы СКОНФИТУРИРОRЗтъ маШIIНУ в качестве DNSКЛl-fента. llOCT3TOIHO отредактировать один или два файла: /etc/resol"..conf (rю 8сех система'\) 11 файл .'переключс:ния сервисов" (8 некоторык систеМ8-'<). Файл /etc/resol"'.cOllf содержит СПliСОК DNSnoMeH08, просматрИR3.е'\.IЬJ:\ при аиалнзе неполных имен (например. "ancllor"' вместо anchor.cs.colo rado.edu). и IPaдpeCOB cepвepoR имен. в которых осушесталяется ПОИСК J.1MeH. Ниже показан пример этоrо файла; подробнее о нем рассказывается в лараrpафе 16.8. зеаrсh сз.со10rаdо.еdu colorado.edu nameserveJ: 125.!.зt'l.2-42.1 name::serveI: 128.138.243.151 name:server 192.108.21.1 326 ЧаСТЬ 11 Робото в сетя)( 
Первым должен быть )1Свзан ближайший стаБИЛЫIЫЙ сернер flMCH. так как он опрашивается н пс:рuую очередь. Всао можно задать три записи narneserver. Желательно указывать более одноrо сер!'!ера. Период тайма)та достаточно большой. поэтому, сел« первы сервер не ОТвечает. ПОЛЬJоватеЛl1 зто заметят. Иноrда вместо записи search присyrСТ8УТ -З8Ш'СЬ dоmа.lП. Это rоворит а том, чro в CHCTMe имеется либо старая версня фаАла resol\..conr, либо старыЙ модуль преобразонания I'MeH. Дflрективы doтain н se.arch не эквивалентиы. вторая является более предпочтителъной. В некоторых системах база данных DNS по умолчанию не используется, даже если есть правильно сконфиryР"1РОванный фа.'л resol".con[ В таких системах имеется файл "переКJlючения серВИСО8", определяюшии. кв.кои механизм должен применяться л.'lЯ nреобраlОВ<lНИЯ сетевых нмен в I Рапреса. О приоритетах ИНФОРМiRUИОННЫХ служб рассказывается в параrpaфе 18.3, но здесь мы также рассмотрим :эту тему. поскольку она важна с ТОЧКИ зрення разрешения проблем при конфиryрироnaкии И080rо компьютера. Файл "переключения сервисов" позволяет залать порядок, в котором должны просматриваться базы данных DNS, NIS (ИЛИ NIS+) и фаJ1J"l /etcfhosts. Некоторые информаuионные источники МОЖIIО ПОЛНОСТЬЮ исклю ЧНП, из рассмотрення Порялок просмотра оказывает ВЛllяиие нз начальную .Jаrpузку О1стемы. Еслlt первым flСТОЧНИКОМ является DNS. то ДЛЯ корректной заrpУЗКI" в локальной сети до!r:жсн присутствовать cepRep имен. а el-o сетеВое ИМЯ 11 I Рздрес доJТЖliЪ/ быть указаны в файле jCtC/IIOSL'Ii. В табл. 13.14 приведено местоположение соотпетСТВУЮШIfХ КОllфИr\!ра uионныx файло" в каждой ИЗ тестовых систем и строки. требуемые. дЛЯ орraниЗ8UИl-! 1l0иска сетевых имен. Таблица 13.14. Файлы "переключеНИR сервисов" 8 различны): олероuионных системо): Системо Solaris HPUX Файл jelcjnsswitcb.coof jelcjnsswilcb.conf Строко nОИСlCо cвTe8ЫMeH П.LS [NОТFОUND""rеturл) file5 dпs INОТFОUND==rеt:urл] ni5 [NОТFОUNDrеt.urп] f :..':"еБ Red Hal jetc/nsь-wilcb.coof l do fi.les nisplus dns jelcfboSI.coof hosts, bind FreeBSD jetc/bost.coof hО!!lt.з, Ьiлd I С большинством npиложени"Й компонуетСЯ библиотека libcб, I""Ae используетСЯ система вто и фаЙJl nsь-wilсh.СОDf. К некоторым старым ПрИJlоже1-JИЯМ по.дкmoча етев БJ.!БлИОТСJa libcS, и в ней Используется файл bost.conf. ( СТЗf-щартная строка поиска 8 Solan.s определяется на ОСIIОНЗНlfl1 параМет рон, заданных в процессе НlIста..'l!1ЯUIIИ системы. МОДИфШ1Ируемая заlllfСЬ называется hosts в Solaris 7: 8 Solaris 8 и более поздних 8ерСJ1И добавляето! JаПJlСЬ .lрrюdеs. КОТорая ссыласrся Тo:iкже на проuедуру преобра:ювання сетевых имен в IPaдpeca. Строки для Solaris и HPUX содержат преД/lожение [NOTFOllND':Teturn), которое указывает, что нужно делать. если nOl'CK имени не у.венчался успехом. И данном случае проиедура ПОltска немеД.т-Jеино завершается. Переход к слдуюшему сервису осущеCТRIlяется только в том случае. Korдa первый cepElI-1С ОКазывается недоступным. Определены также три друrих условия  SUCCESS, r n080 1 3 Сети ТСР !IP 327 
UNAVAIL и TRYAGAIN. а вместо команды return может быть указана команда con tinue. В Solaris и Н p ux в каталоrе /еlС содержатся образuы рассматриваемых файлов; их имена  иsswitсh.". в н p UX стандартные установки находятся в файле n"",iteh.hpder.ul1S. 1 3.11. Конфиrypирование сети в различных системах в старых системах КОНфИf)рирование сети ВЫПОЛНЯJlось путем peдaKTII рования сuенария /etc/rc (ил-и /etc/rcJocal) и прямоrо изменения со.nержа ЩИХСЯ в них команд ifconfig и roule, Современные системы настроены так, чтобы свести к МИНИМ)'1о.I}' КОЛl,Jчеспю модификзини, вносимых в стартовы(' сцеиарии В новеИШИХ сценария). используются данные КОНФИlJ'раuии из друпп., систеМ!-IЫХ фаЙЛОD либо определяются собственные файлы КОНфНfураuнJ.I. Это. конечно, хорошая идея, но в кaжnой системе она реализована посвое",fY Кроме Toro, оиа предполаraет, что иноrда арl)'l\'lенты команд ifсопПg н route задаются косвенным образом. 8 результате чеrо повышается вероятность ошибок. В обшем случае мы рекомендуем по возможности придерживаться СТ3Ндартноro подхода, прииятоrо в конкретиой системе. Заманчиво. КОН':ЧНО. внести паро"а..')' "УЛ}'\lшений". но LINIX  "ХРl1J<ая" экосистема, уязвимая для неОЖИданных побочных эффе",'Тов. особеино CCI01 оии возникают 8 проuессе начальной заrpузки. В rлаве 2 были подробно описаны процедуры нача..fJЬНОЙ заrpузки Д/lя 8сех наших тестовых систем. В следуюших четырех параrpафах мы прОСТО подытожим Те задачи, которые связаны с конфиryрированием сети. Наши системы конфиryрируют интерфейс обратной связи автоматичесКИ; эту часть процесса МOlIИфиuировать не НУЖНО. В ос-талъном же все системы ОТЛИЧ8ЮТС1 друr ОТ дP}'ra. Поставшики UN IХсистем nостояНl-Ю находяТСЯ в непонЯ'Тном "творче СКОМ ПОИСКе". Они все времи меняют содержимое J<оllфиf)раuиоиныx фаЙЛОR и переимеНО8ЫRaIOТ их, не за.л.умываясь о том (ИЛИ просто не обращая внимание на то), что есть масса др}'II'''' разработчиt::ов. пишуших проrpаммы, которые зависят от формата этих файлов. В табл. 13.15 перечислсны файлы. которые нужно отредактировать пля задания сстсиоrо ИМСIOl' и [Ралреса компьютера. После (пмененl-tя одноrо (з этих файлов следует перезаrpузитъ Системv И!IИ. по крайней мере. деаКТИИИЗИРОIать сетевой интерфейс, а. потом сном Jапустить ero, чтобы изменения вступили 8 силу. Два файла являются обшими МИ всех операuнонных систем: /etcfhosts и /etc/resol\'.conf. Мы указали отдельно иХ в начале таблицы. Файлы "переключения CepB(tCOB" в этой таб:lIще не приведены (СМ. табл. 13.14), В следуюших четырех параrpафа.'Х будут подробио описаны проuедуры ceTeBoro КОllфИI)'рироваНШI каЖдОИ из тестовых операUИОНllЫХ систем. СrrnСОК рассматриваемых тем таков: базовое конфиryрирование; примеры: конфиrypированне DНСРк:тиента; Динамическое переКОНФl1турltРОВ3IIие и настройка: конфиryрирование средств защиты и фильтраUИИ, а также браидмаУJРОВ и системы NAT; 328 ЧОCTh 11 Робото s сетях 
конфиrypнрование РРР; системные особенности. Таблица 13.15. Файлы KOl--1фrуроцИИ сети в розличных опероuионны)( с",стемох DetworkS(:npts/lrcrg Ullтерфейt? н.О3 Н QчеНИJ;t Связи МС]КД)' сетевымИ именами и IPMpt: са.'" DNSllОМСн..ы н серверы имен Сt:П:ВЫС имена Ш1.Я кaж.:Iоrо }Iнтерфейса Пsрв-метры конфиryрauии онср JL[lЯ каждо ro интерфейса Имя Y3l1B СтаНдартный маршрут ОСНОВНiiЯ uерсин файла. содсрж..а..шсrо ceТ'C иыс маски ОСНОВНiiЯ версия файла fetcfbost5 Расширение файла /etc/hosl.J в Solari& 8 и l'IЫШС Все ССТ'е'ВЫС: параметры Имя компьютера, стан..naртн..ыi'l маршрут. дo мен IPa.D.pec. сетевая маска, широкоuешательный адрес Система ФоlU1 все /.lc/b..1I /etc/reeol".CODr SoWis /еtcjbosrмmе.интерфейс /еtс/dЬс:р.интерфейс /r:tc/nodename /elc/derauluoutcr /etc{mct!ncrmasks /elc/ln.I/b.... /еlс/lоеt/iрпodеs l НPux /еtс/rс.сопflк.d/пеtсопr Red Hst /etc/syscoolig/network FreeBSD /еtс/rc.CfJпr Всс сетевые параметры  В Solarts 8 и более ПО3.D.НИХ версий файл /еtс/lпеt/lрnodes заменяет файл /etc/11osts. Он содер:жиr ках a.D.JX:C8 IPv4, так и алресв IP",'6. Файл /etcjhost8 ОCТllВЛен в це.'lЯX обратной совместимостИ. 1 Имя дано относmельно каталоra /еtс/sуscопВg. 13.12. Сетевое конфиryрирование Solaris Операuионная система Solaris l!Оставляется с оБШ'РIlЫМ ШlБОрО1 CT.ap Т08ЫХ cueHapleB. На He11.aHHef КО\,I пьютерllOt1 nbIcтaklo:C "'lbI IliПЮI lllCl. на отрывной календарь, на каждоМ ЛlIСТltке KOTOpOro были заr1ltсаны неСЛОЖНblС вопросы ДЛЯ системных администраторов. Вопрос от I ro январЯ был таким: перечислите все файлы, которые HYiКHO отредактироRЗ.ТЬ Д,JIЯ J.вменения CeTeBoro имеIOl' и I Paд.peca компьютера. работаюшеrо под улран.rlснием SоlаПs, н компьютера, работающеrо под УПР:Ш..1ением Suлоs. В ответе для Solaris было указано 6 файлов. Это следствие модульноrо подхода в своем крайнем проявлении. Базовое конфиryрирование В Solaris часть фаАlОВ стеRОЙ KOl-JфlП)'раuни спрSПilН8 8 кат:зюrе /ctc. а часть  8 кзта.rюrе /etc/inct Мноrие из HI'( .9.уб.1ИРУlOтсJt блзro.ааря всевозможным символическим ССЫ.1КНМ. причем caMII фийпы находятся В ката.l'юre /etc/lnet. а ссылки  в кита..'юrе /etc. Сетевое имя КОМТ1ьютера должно бьпь помешено в файл /еtс/поdепаlпе. ИзменеЮiе вступит в силу ПоС:lе перезаrруз1rn компьютера. В одних r пооо 13 Сети ТСР /IP 329 
орrанизиuия:о: КОМПЬютерilМ ПРIIСИ3Jtпаются простые имена, в дрvrи1l.  полные доменные имена. ЕС.'IИ EI ф:LИ.'1С пodепаПlС задано полное доменное НМЯ, MOryr BOJHJfКНVТЪ проблемы с базой данных NIS+. 0' Подробнее о N/S+ РОССII:азывается в параlрафе 18.4. На основании иыеR" фаЙJ13 /Nc/defaultdomain можно сделать выпод, ЧТО он предназначен для ::sа.цания домена DNS. На симом же ll1е ои содержит ДOMHHO{" имя NIS ИЛИ NIS+. DNSдомеи определяется в файле /etc/re 501" .conf. В Solans на основаиии ф3fmа /еr.с/пsswitсll.сопf снстемз узнает. в каком порядке просматривать файл /etc/hosr.s, базы п.аиных NIS, NIS+ и DNS при поиске имени компъютери. Мы рекомендуем сначала проверять фаил hosr.s. а затем баз}" данны'( DNS. чтобы упростить lЗrpузку. НО ЭТО ПрОТll80ре l llП рекомеилаuикм разработчиков самои системы. Строка в файле nsswir.cll.cOllf может ВЫfлядеть так: hos С:!! : f11es dns в Solans 1 Paдpeca 8сех сетевых интерфейсов залаются в файлах /еtс/hоstпаmе.шт.ерфейс, rДе Ullrперфейс  обычное имя иmерфейса (leO. smcO. hmeO и т.п.). В 3ти)\ файлах содержится либо сетевое имя компьютера (В старых версиях Solaris). приведенное EI файле IlOsts. тtбо IPanpec (В новых версиях). Значение. I.!а)\одяшееся н файле, передается в качеСТRе параМетра адрес комаНде ifconfig, поэтому Л)'llше укюыnать I Paдpeca. несмотря на имя caMoro файла. В файл MOI)T также ВКЛIOЧiПЬСJ! спеНИaJlьные ОПUИlt ко,-,анды ifconfig. но зто делается редко. Если для интерфt:йса нет соотнеТСТ8УlOшеrо фаfла lюstпаmе, стартовые сuенарии ПЫТ8ЮТС:Я ВЫЯВИТЬ ero адрес с ПОl\.fOlllhЮ протокола онср или RARP В стартовых сuенарllЯХ ПОСП180Чl-юrо варианта Solari IIСПОЛЬJУIOТСЯ опции пеtmаsk+ и broadcasr+ команды ifconfig. Знак + 03Ha'iaCT, что MaCk:a полсети ИЗБ.;lекается из файла /сtс/шtmаks J1 на e основании определяется ШllрОКО вешательный адрес. ФаиJТ /etc/netrnasks.. СО.!lерЖJff список ceTellLrx iL1pecolt 11 соответствуlOШЮ: им \I3COK rlOлсетеи В этом фаЙле должны быть переисле.IЫ все сети. в которых полсеТlt формируются не так как Toro требует класс сети (Д. В или С). Вот пример ф<ШJl1 Iletmaks: . База масок лодсетей длн фаКУJlDте'.rа вычисJlитеJIыiйй , Ce'l'b Маска ' t 128.138.0.0 t 128.138.192.64 128lзв.19.2.192 128.1ЗS.193.0 128.138.193.32 126.136.196.0 255.255.255.192 , 110 У).I;ОJlчанию для фа"УЛЬ'l'ета 255.255.255.192 255.255.255.192 255.255.255.224 255.2з5.255.224 255.255.255.192 » dcaq . .::sops 1- bcrq . оа LClba.se I slip Сетевые интерфейсы SolаriSДОЛЖJIЫ быть uредВ8рительно попключены с ПОМОЩЬЮ комаl-ЩЫ irconfig plumb. Возможно. апминис rpRTOpY придется ВЫIЮЛllЯТЬ э1) команду ВрУ'ШУЮ npll самоt.'ТОятельном конФИI1'РlrlpоваШfИ Иlперфейсоп. В Sol.aris 7 mаDстраНlЩВ, посвященная фИЙJIУ пetmasks. повреЖдена; в более ПО3дIШХ версиях она ИСПр8менз. ззо Чость 11 Робото в ceTX 
Впервой CтpOIl:C задается стаидартная маска /26 для адреса 128. J 38.0.0 класса В. Затем определяются Ра3Личные вспомоraтельные маски. В файле перечислены все сети. даже те, к которЫМ применяется стандарпt3Я Маска. В системах, И.:l которЫХ был взят этот npltMep. фаЙл пеtmаsks ведется на UСIПРальном }Зле и распространяется на все оста.пъныс машинЫ. Н и на одном компьютере нет иmерфеЙсов Д/lЯ связи со всеми сеТЯМIf. КонфиryрИрОВ3tlИе Иlперфейса происходкr на ранних стаШ1ЯХ ПрОllесса начальной заrpузкlt, по Toro как стартуют сетепые информациониые серперы. Solaris повторно выполияет комаНдУ ifconfig после запуска некоторых cepBl-fСО8 (предполаrается. что ОНИ MOI}T предоставить команде иовые параметры). Дополниwтьную ннформаuию МОЖНО полytПrrь в следуюших стартовых сценариях: /etc/init.d/rootusr; /etc/init.d/inetinit; /etc/init.d/sysid.net: /etc/init.dfinetsvc Если сушествует фаfл /elc/dcfaullrouter. то nолразумевается. что он содержит идентификатор (Itмя машины ил'l IРапрес) стандартноrо шлюза. и дальнейшее lI:онфиryрllРОRflние маршрутов не требуется. Как ncer.n.a. предпочтительнее указываТII IPaдpeca: если задано имя. Il.ЛЯ Hero Ilолжна сушествовать запись в файле /elcjhosts ми на сервере DNS 8 ЛОКaJТbllОЙ Cenf. Если стандартный шлюз не 1адан, Solaris пытается запустить демotl routed Д1lя построения таблиu маршрутизаuии. Подсчитывается число сетевых Иlперфейсов, и если их более одноrо или сушествует файл /etc/gateways, то демон routed запускается 8 режиме сервера и оБЪЯRЛяет о своем присутствии с помошью демона обнаружения маршрynfЗатора. Еслн обнаружен Bcero ОДIШ интерфейс или имеется файл /etc/notroutrr, демон routed lаm"СКасТСЯ в "бесшумном" режиме. Во всех реЖl1ма. кроме "бесшумнnrо". демон routed являетси "вредоносным"  ОП::ЛlОLlнте ero Примеры конфиryраций Ниже показано несколько Ilримеров команд дЛЯ подключення ceTCBoro Ilнтерфеиса и SolarL.'\ и добав.;IС-НИЯ маршрута к станлаРТlIOМV шлюзу: I ifconfiq h.шaО pl.UJnb I i:fconfiq ЬтеО 192.108.2148 nеtшaвk 255.255.255.0 ир t route add de:fAult 192.108.21.254 Следуюшие примеры демонстрируют, как просмотреть статус ceTe80ro интерфейса 11 содержимое таблиu маршрутизаuи-и. Команды. вызываемые посредством утилиты sudo, lапускаются от имени СУJlСрПQЛЬ308i1ТелsJ. Послед ний rlример иллюстрирует особенность команды route 11 ()НСРi:lUИОННЫ'( системах Solarls и FreeBSD, отсутстнуюшую в друrю.: CllcтeMax. IlрИ НaJlИЧШI aprYMeHTa get отображается JIНфОрМЗШНI о слепуюшем переходе на rl}TI1 к заданному УЗJIУ. 1; i:fcon:fiq . 100: flags==84 9<UP. LOOPBACK. RUNNING. МULТIСЛSТ> mtu 8232 Демон rouled ие имеет среДI.:ТВ КОНТРОЛЯ доступа и принимает все nocтynаюшие сообшсния у 3eJI, на котором былв запушена КОМ8НnЗ rouled q, принимает запросы, ио не отвечает на них. При отсyrcТ8ИИ ОПnИI-f q узел оповещает о маршрутах. Такой узел может наРУШIПЪ работу сети, так как нее осталЫ{bIе демоны routed будут при.нимать ero сообшения. I [ло.о 13. Сети TCP/IP ЗЗl 
J..net 127. О. 0.1 netmask ffOOOOOO hmE:O: f1aqs-863<UP, BROADCAS'2', NOTRAILERS, RUNNING, МULTICAST> mt:u 1500 лВt 192.108.21.48 леtmaвk ffffffOO broadcest. 192.108.21.255 " .udo 1:fcont'1g bsD80 hmeO; flags-Вб3<.UР, BROADCAST, NOTRAILERS, RUNNING. МULTICAST> mtl.l 1500 lnet 192.108.21.48 netmask ffffffOO broadcast. 192.108.21.255 et:her 8:0:20:19:4f:49 Обратите внимание: J<оr.п8 команда irсопПg запусквется от имени сynер пользователя, она отображает аппаратный адрес интерфейса, а коша ее выполняет рЯllОВОЙ пользователь. этоro не ПрОисходит. .. n.t.t.t nr Desr:ina tion Ga t.ewa у F1ags Ref Use Interf.ace  192.108.21. О 192.108.21.48 U 244 hmeO 224. О. О. О 192.108.21.48 U О runеО defa.ult 192.108.21.254 UG 459 127.0. 0.1 127.0.0.0 UH 296 100 , 8udo rout. qet anchor. С8. colorado. .du rout.e t.o: anch(:)r.cs.Colorado.EDt" dest.ination: default. mask: default gateway: Korgw2 int.erface: hmeO flags: <UP, GATEWAY, DONE, STATIC> recvpipe зепdрiре sзt.hr rtt.. mзес rttvar hopct mtu expire О О О О О О 1500 О Конфиryриравание онср В Solaris имеется собственныЙ DНСРклиеffТ. и эта операиионная СИСТема заслуживает отдельноА Harpanbl за самую простую и понятную проиед}ру конфнryрирования .n.aHHoro клиента: if'conf'iq ИН7.'ерфеАс dhcp Лредставьте себе, эта команда работает! Она вызывает проrpЗММУ dllcpagent ДЛЯ получения параметров интерфейса от сервера DНСР и последуюшеrо конфиrypирования интерфейса в соответствии с этими пара метрами. КОМ8I-Ше Ifconfig можно передавать различные оmrnи, делаюшие интерфейс первичньrм. устаН8алИВ8юшие тaAMaYTЫ. увеличиваюшие срОК аренды параметров или звпрашиваюшие отображение статуса интерфейса. Чтобы отменить конфиryраиию DНСР-клиента, выполните такую команду: i:fconf' iq интерфейс drop Все это оченЬ удобно, но. I<ак правило, требуется 8втомаТИ1.JеСЮ1 опрашивать сервер ОНСР на этапе на1.Jальной заrpУЗЮi. Данная проиеД}ТР8 должна выполняться отдельно для каждоrо интерфейса. С этой uелъю необходимо создать файл /еtс/dbср.uнтерфейс. Он может содержать дополни тельные параметры. передаваемые команде ifconfig. Файл /еtс/hоstnаmе.uнтерфейс поnpежнему должен существовать. чтобы интерфейс можно было активизировать. Но ero можно осТRВJПЪ пустым. если применяетси протокол ОНСР. Korna фаА.11 hоstпаmе.uнтерфейс не является ЗЗ2 Чость 11. Робото в ceTX 
пустым. стартовые сuенарии снаЧ8.па статически конфиrypирУЮl интерфейс на основании содержимоrо зтоrо файла, а затем осушестВJIЯЮТ ero перекон фиrypаamo среJIСТвами D Н СР. с ПОМОЩЬЮ комаtШы dllcpinfo можно узнать, какие параметры получены от сервера DHCP. 3аrляните также в файл /еtс/dhср/uнтерфейс.dIIС. который содержит текушие настройки указан Horo интерфейса. Проrpамма dhcpagent управляет иt-lТfрфеисом по протоколу DНСР. ПОl\.fИмо прочеrо оиа доrоварнвается с сервером о про.nпеНИI-1 срока apeНlIЫ и отменяет арендованные параметры, ес:ш они больше не нужны. Если интерфейс, получивший свои пара метры от OHCPcepBepa, впоследствии переконфиrypируется ВРУЧflУЮ. проrpаммз перестает ynраалЯ1'Ь им. Проrpaмма dhcpagent собирает параметры, получеиные от OHCPcepBepB (стандартный маршрут. домен. адреса серверов имен и Т.Д.), но не ynраВШlет большинством из НИХ напрЯМУЮ. Вместо 3Toro оиа записывает их в файлы соответствующих интерфейсов в каталоre /etc/dhcp. lla..r1ee зти пар8метры читаются сuенариями /etcjrc. '*. передаются в качестве aprYMeHToB команде route. помешаются в файл resol\'.conr t T.Д В зависимОСТИ от KOHKpeTHoro параметра Лроrpамма dllсраgепt реrистрирует оumбки в системе Syslog (сре.:!СТВО "daemon". }ровень "err"); она также записывает информаLrnЮ об ошибках в устройство /dеvjсопsоlе. Ошибки БОJlее низких уровней (предуттреждаюшие сообшения, информаuионные сообшения и т.д.) по УМО:r2чанию не уч-итыва ются. если явно не ВЮlючить их В комаl-ШНО строке посредством флаrа  IN. Коша N равно 1, реrистрируются препупреждаюшис сообшения: при более высоких значеииях реrnстрируютсЯ таюке сообшеНIIЯ самЫХ нижних уровней. Если nporpaMMe dbcpagent ПОСЪU1ается сиrна..ч USRl (с помощью команды kill). оиа выводит информацию о состоянии аренды Найти конфmyрационную информаuию по конкретному интерфейсу можно в файлах К8талоrа /etcjdllcp. Но сам факт присутствия файла uнтерфейс.dllС еше не означзe-r, что проrpам-ма dhcpagent упрааляет данным интерфейсом: срок ареНдЫ Mor истечь. Динамическае переканфиryрирование и настройка Команда ndd в Solaris позволяет переlШНфИryрироватъ драйвер УСТрОйства в ВЫПОЛНЯ1Ошейся системе. Возможно. "переКОНфИI)'pИРОВ8ТЪ"  СЛНШКОМ СИЛЬное слово. Просто кажnы драйвер пpe.nостааляет доступ киекоторым. своим параметрам, которые можно ПрОсмотреть и в определенных случаях  изменить. Именно для просмотра конкретных параметров мы чаше Rcero применяем команду пdd. Напрl-fмер. с ее помошъю можно узнать. с какой скоростью работает Е,hеmеtплата: 10 Мбнт/с ми 100 Мбит/с. Синтаксис этой команды в Solaris почти такой же. как и в HPUX, но DокументаLrnЯ к ней rоразпо хуже. Базовый синтаксис. упоминаемый на maпстранице. следуюший: ndd {set] УСТРОЙС'1'ВО ? I rrереuенная [ЗНClчение] При иаличии apryMeHTa ? (ero нужно защищать от ннтерпретаиии: \?) команда пdd ВОЗВр3шает списоК переменных. распознаваемых драйвером указанноrо устройства. Если задать имя перемешюй, будет получено ее зиачение, а если  казать флаr set н значение. оно будет присвоено задаНtlой переменной. rла.о 1 3 Сети ТCP/IP ззз 
к сожменню, I:I ДО""V'Н:'IIПНI1II1 Ie }'ТIOМЮldЮI.С51 БОJМОЖIIЫС имеllа устройств; ничеrо не rопорится о том, ЧТО для доступа 1( ОДНИМ устройстlt:lМ (шшример. ip 11 Ьтс) требуются rlpaHii суперпользователя. а '" друrим ((ер 11 udp)  нет. В случае ОТС}'ТLI8I1Я соответствующих прая доступа команда Ildd ВЫДает эапlдОЧНое сообщение 06 ошибке след}'юшеrо БIДа: "соuldл' t push modu1e '.1.р'. No .such dev.1.ce or address" в Табл. 13.16 переЧJ.lслены устрШfстна. которые нам у.з..'UJось обнаРУЖllТЬ при работе с командой ndd. Таблlllца 13.16. Устроист в о, с которыми работоет ко м онда ndd в SоlШIS Уаройcrво ОписаНIIIG" Имена перемеиных /de,,/cp Леременныс: протокола тер сер  w /dn/udp Переменныс: протоколз LIDP udp . /dev/tp Переменные протокола IP ip * /dev/Lc.mp Псременные протокола ICMP icmp . /dev/nwip То же, что /devficmp J..cmp . /dev/arp Лерсмен.н.ые Про'lOкола ЛRР arp  * fde"fhme Переменныс Ethcmct нет конкретной схсмы Скорость работы боЛЬШИНСТ8а современных ЕlI1еrпе(ПJlат  либо 10 МБIfТ/С, либо 100 r-,.'Iбнт/с в наших сетях по мере перехода на IЮБые теХНОЛОl1iИ вам часто Прlf\:ОЛИТСЯ выяснять. с KaKoe:i скоростью в lliiL'ТОЯШI1it момент работает сетеная плата. Вот удобный сuенарJIЙ. иаписанный То.ШIOм Уилльямзом (Todd Williams) и прелназначенный дття ОТ1ределеНН5J параметров Е(llеmеlплаты посредством команлы ndd. .  /bn/sh [' ndd /dev/hme lлk  st:at.us' ea 1] '"' STA'!'USUP '1 STA'!USDOWN ['nCid /dev/hme l.1.nkspeed'eq 1] && SPEED""lOO 11 SPEED""lO ['ndd Jdev/hme lJ..лkmоdе'еq 1] ,& t-ЮDЕFULL 11 MODE=-HLF echo "et.hernet. 1s S{S"'!'A:US}. [:urlnn9 SISPEED} Мbps S'MOI)E} dup!.ex" Результаты работы сценария RыrЛЯДJlТ rlpllMepHo тах: ethernel ':'5 иР, runnlng 10 Мbps HALP duplex ЕСШI перевести ЭТО иа язык перемеиных. ПО!IУЧИМ слеД}lOщее: linkstatus == 1, если интерфейс аJo..IИНeН. О  сли HCa.t..II18eH; linkspeed == 1, если скорость paBHii 100. О  еСШI она ранна 10; lnkmode == 1. если интерфеАс полнодуплеКСIIЫИ. O. полупуплексныЙ Есть Др}ТОЙ набор ncpeMeHHbIJo.. которые :iaIldЮТ скорость работы 11 дуruтсксный режим при Нct. l llfЧlН1 неСКОЛЬЮIХ IIнтерфеЙС08. О,еДVЮШIIЙ сuенарии оТключает nроuед}р} 3Iпоматическоrо соrласонания обоих ИlfТер фейсои, переПОDТ первыЙ интерфейс 8 полудуплексный ре>l<.'ИМ со cKopocTыo 10 Мбнт/с, а второй  в полнодуплексный режим со скоростью работы 100 Мбитjс: '! Ibn/sh ndd set /dev/hme inst.ance лdd set /dev/hme adv autoneg сар ла:d set. /dev/hme adv=lOO[dxcap ЗЗ4 Часть 11 Робото всетя): 
ndd Bec /dev/hme adv l(JOhdx сар ndd set /dev/hme adv  lOfdx Clp ndd set /dev/hme adv)Ohdx=cap ndd set Idev/hme instance 1 ndd set Idev/hme adv autoneq сар О ndd set. /dev/hme advlOOfdx сар 1 "аа set /dev/hrne 8dvlOOhd.кcap О ndd зе[ /dev/hrne advlOfdx ap О паа set /dev/hme adv=10hd,,:::::cap О Если проueдура ввтосоrласования 8 имеюшейся ceтeBO плате не работает. можно отютюч:mъ ее и задать параметры работы платы вручную, как это сделано в данном примере. Если имеется доступ к системе Н P UX, З8nvстите команду ndd с фл;:!rом .11 (вызов справки), чтобы получить поступ к mlтераКТИRВОМУ РУКОIЮllСТВУ, тде можно узнать имена УСТРОЙСТ8 и переменных. а также наЗН8 1 1СНlol'е ЭТИХ переменных. Имена мноrих переменных там такне же, как н в SolBris. Безопасность, брандмауэры, фильтрация и система NAT в табл. 13.17 описаио, как в Solaris реализован ряд теХНОЛОП1И, касаюшихся безопасной работы в сети О них ....ратко рассказывалось в параr рафе 13.9. Большинство настроек можно изменить с помошью команды пdd. Таблица 13.17. Поддержка технолоrий. (вязанных с сетевой безопосностью, в Soloris т ехнолоrlo'lЯ По умолчанию Переменноя. изменяемоя командоi:t ndd  . НалрanленнfUI разрешена маршрутизация Широковешаьные разрешены рingnaкеты l.p  fo.rwarriinq: О  отклю....еНо. l  включено Orмеиить это поnе..!lение нельзя, можно JUШ..lЬ изменить зиачение тrL ipforwardsrcrout.ed: О Перенanрав.лсние IP отключено пакетои Лереацресуюшие принимвются ICM Р;шкеты ip respond со echo broadcast.: О iPforwardd.lreCLed ЬrовdСll.stз: О Как уже rО80РИЛОСЬ. не следует ИСПОJТЪ.10naть UNIХсистему (млн NТсистему) в качестве брандмауэра или шлюза NAT; лЛЯ этой uели лучше купнть спеmrализированиое оборynование. например систему Cisco PJK В Solaris этому прапилу следовать леrче, поскольку п дистрибyrив не входит ПО межсетевой зашиты и IРфltльтраuии. Тем не менее в Solaris и"мееТСЯ библиотека pfmod, с nОМОШЬЮ котороЙ можио создавать SТRЕА,МSмолули ДЛЯ фильтраuии пзкстов. Компания Sun также npeШlаraет паr<:eт nporpaMMfloA орПlнизаuии брандмауэра ДНЯ Solaris. но ero нужно покупать отдельно Сторонние поставщики также разрабатынзlOТ проrpаммы JРфильтраuии и системы NA Т Д/lя Solaris. Наш фаворит  пакет I PFilter. Это бесплатное решение, распространяемое на условиях открьrrой лиuензии и работающее на оборудовании SPARC ИЛИ In[cl. Пакет доступен по следуюшему адресу: httР:llсllеорs.алu.еdu.аU/аvaJоn/iрfil'еr.html r Л080 1 з. Сети ТСР IIP ЗЗ5 
ДетaJПI конфmypирования профамм ipf и ipnat, входяших в этот пакет, nривепены в nараrpафе 13.]5. Коммерческая система Firewall1 компании Checkpomt работает в Solaris я обеспечивает фyнкnиоиалъные возможности, аиалоrичныС nакету IPRlter. Правда. она лостаточно пороrая и, по слухам. не оченъ хорошо зарекомен довала себя на WеЬузлах. занимаюwихся WеЬхостинrом. Конфиryрировоние ррр в Sol8ris имеется встроеЮiыА nахет "асинхронноrо" протокола ррр, поскольку он предназначен для упрааления соединениями по стаНдартным последовательным линиям связи (например, модемами). Тах хах этот пахет ЯRЛЯется неотъемлемой частью Solaris, не нужно выполнять утомительные этапы по инсталляuии соответствующеro модуля ядра. Про-верять нaлwrие пакета можно (: nомошью такой команды: t pkgin:to I qr.p ррр Если nакет присутствует в системе, будут получены следуюшие резу;rь татЬУ: system SUNWapppr PPP/IP Аsупс РРР оаетоп config files system SUNWapppu PPP!IP Авулс ррр daemon. login 5ervice system SUNWpppk PPP/IP апй IPdialup Devlce Drivers Если пакет еше не установлен, nриnется сделать это вручную. Cooтвeт ствующую информauию можно nолучитъ иа mвпстрaниnе, посвяшениой команде pkgadd. В табл. 13.18 перечислены файлы. отвечаюwие за конфИТ) рирование протокола ррр и управление им в Solaris. Фам /еlс/lпj..d/8SJIIIII т абпица 13.18. Файлы, связанные с протоколом ррр В Solarls /шr/.ЫО;..ррро! /нс/..ррр.с! /...-/sblo/aspppls /.ar/atIm/log,l..ppp.log /lmp/.a.ppp.nro Ноэночение Сценарий начальной .зшрузки ДJUI. xoMмympycмых PPPco единений Демон, управляюший РРРсоеlIинениями Конфиrypационны.R файл, в котором содержится СПИСОК соединений Реrистрационный интерпретатор KOaнд для коМNyrируе мых соединен.иR Файл реrиcтpauки сообщений ррр Используется демоном upppd для коммутируемых соедине ний На mапстранице. ПОСБяwенной демону aspppd. rоворится о ТОМ, что ro рrистраIlИОННЫЙ файл называется /etcf1og/asppp.log. Это неверно. ВblnОЛНЯЯ команду grep над стартовыми сuенариями и команду strings над двоичным файлом демона, мы выяснили, что файл на самом деле находится в каталоre {var/adm. а не /etc. Мы были уверень!. что протокол UUCP давно ушел в нсбытие, но (YBЫ) РРРпакет в Solaris пользуется старыми конфиrypaииоиными файлами LJUCP lIЛЯ задаliИЯ PPPcepBepOB и управления молемами- Остается только тяжела в.1ПОХНТЬ. Чтобы установить РРРсоедмнение с улаленкым узлом. необходимо 336 Частъ 11 Работа в сетях 
сначала добавить записи о модеме и узле в файлы Systems. DtaJers 11 Devlces вкаталоте /etc/uucp. Мы оnисываля детали этой проиедуры в предыпушем издании книти, но решили не включать данный материал здесь. ЕСЛ1f у вас есть препыдушее изданне, обратитесъ JC rлаве 30, а лучше Bcero  купите терминальный сервер и избавьте себя от ненужноJ:l; rоловной бо.'1И. После Toro как записи о модеме и упаленном узле добамены в uuсрфайлы. не06хопимо отредактироватъ файл jetcjasppp.cr. ломестив · Hero [Paдpec соединения и связав этот адрес с записью в файле S)'stems. Ниже nоказан пример файла /etc/asppp.cr, в котором описано соедииение с УЗЛОМ ppphub (192.225.32.1), yctaHa!L-шваемое из узла mybosl (192.225.32.2): t З8даеlol IРадреса псеедоинтерфейса ifconfig ipdpt.pO plurnЬ 192.225.32.2 192.225.32.1 up t динамические параыетры соединения с лсевдоинтерфейсоlot int:.erface ipdpr.pO peersystemname ppphub t то же. что в файле Systems inactivir.yt1.meout БО(J . ':l'аЙblау'!', если нет связи в '!'еченv.е 10 минут Далее нужно вручную запустить PPPдeMOHa с помошъю такой команпы: /8tc/J.ni.t.d/.8PPP 8t.&rt Этот этап необходим. толъко котда осушествляется самое лервое конфн rypирование протокола ррр. При послепуюших перезarpузках системы деМОН будет запусJCЗТЬСЯ проrpаммой init. Если все прошло успешно (сообшеиия об ошибках записываются в файл /var/admf1og/asppp.log). то можно обрзшаться К удаленному уз.Т'lУ с nОfOшью проrpаммы Slih или ftp. Особенности ceTeBoro конфиryрировония В Solaris имеются две версии I(оманпы irconfig: одна  в каталOl'е /IIjЫП. а дрyrая  в каталоrе /usr /sЫп. в первой и] них применяется фиксированный порядок поиска соответствия между сетевы'и именами и I Радресами: сиачала просматривается файл /etc/hosts, а затем  база данных DNS. Во второй версии последовательность поисJCЗ определяется на основаНIП1 файла /еtс/пsswitсh.сопr: это более "естественное" поведение. Котда команда /sЫп/trсопfig вызывается 1i8 этапе начальной заrpузки. предnолarается, что в файле /etc/hosts содержится постатоЧ1iО записей МИ а...'ТИlJИзаuии интерфейсов и обрашатъся к DNScepвepy не потребуется. резулътаты раБoты команды ifсопfig 8 б)'д.УТ разными в 'Зависимости ОТ тото, кто ее 8ызывает: пользователь root или ряn.овой пользователь. -=)то JCасается обеих версий команды. В первом случае помимо IPaдpecoB 11 параметрО8 отображаются также МАСanpеса. Solaris разрешает менятъ MACaдpec сетевой платы с помошью команды ifconfig. Мы считаем это ошибкой. а не полезной возможностью. 13.13. Сетевое конфиryрирование HPUX Операuионная система Н p LJX заслуживает золотую медаль за простоту ceTeBoro конфmyрирования. Все конфиryраllионные парамефы хранятся в файле /еtс/rc.сопfig.d/пеtсопr. Значения параметров из зтоrо фаЙJlа lа также всех дрyrиx файлоа в кзталоre rc.config.d) записываются в nеременные среды Н8 этапе иачалъной заrрузJCИ; они используются Сllенарием /sЫп/rс ФШI rлово 13 Сети TCPjlP 337 
netconr снабжен комментариями, в KOTOPblX rюясняется, что полжно быть записано в ry ИЛИ иную псремеllНУIO и МИ чеl.О она нжна. БаЗО80е конфиryрИрО80ние Чтобы назначить компьютеру имя н СКОНФШ)'Рировать el.o первый сетеRОЙ И1-lтерфейс, отредактируйте ФO:lИЛ netconr, присвоив значения слеПУЮШJlМ переменным: HOSTNAМE INTERFACE NAМE [О] IPADDRESS[OJ SUBNET  МЛSК [о] Например: HOSТNAМE....disaster INТЕRFЛСЕNАМЕ [О] lаnО IP  ADDRESS [о ] ...192 .108 .21. 99 SUBNETМASK[O] 255 .255 .255.0 Второй интерфейс бу.!lет '1меть индекс 1. О el"O присутствии I.ОВОРИТ значение переменной NETCARDS_ равное 2. Файл пеtсопf содеРЖIП таКЖе переменные. препназнаqенные ДnSI конфи JypllрованиЯ статических маршрутов и jзпуска демона маршрутизаuнlt. Чтобы зanать станлартный маршрут, НУЖНО выполнить следующие присваивания. ROUTE  DESTINATION r (] l-=default ROUTE  МASK(O]"'.... ROUTEGATEWAY [О] =-192 .108.21.254 ROU'i'ECOUNT [0]"'1 Переменная ROUTE  МASK нужна для cenl, в которой маска подсеТJI отличается от стандартной маски. используемой в данном классе адресоВ. Перемеиная ROUTE COI]NT должиа содержать О, ест1 8 качестве nтЮJа выступает локальныЙ компьютер. 11 1, если шлюз раСПО.ilOжен на удаленноЙ маШИне. Пара метры остальных стаТlfЧеских маршрутов задаются в перемен. ных ROIJTE ... с индексами [] 1, L 2) и т.д. Эти значения передаются непосредственно команде rouLe. Например. переменная ROIJTE DESTINATION может содержать КЛЮLJевое слово default, как rЮКaJёJНО выше либо преДJЮ жение пеt одрес, либо преШlOжение host имя. В HPUX используется пемон gated. а не routed. Необходимо задать переменную GATED равной 1, а в массив GлТЕD ARG3 заmfсать список apryмcнтoB, передаваемых демону. Подробнее О конфиryРИРОВ311ИИ этоm пемона рассказывается 8 rлаве 14. Мlюrо полезной информаUJfИ сопержится IIa mапстраНJ.(flе, посвяшенной маршрyrllзаflИИ (man routing). М ноrие переменные в фаиле neLconr мorут содержать либо сетевое имя. m'lбо IPaдpec. Если указано имя, оно обязательно должно прнсyrСТRОВать в файле /etcfhosts. На этапе нача...r1ЫЮЙ заrpузки Cl1стема просмаrpивает только файл /etcjhoslS и не использует никаких пруrих механизмов поиска имен- В этом файле сначаЛа полжны идти по!1ностыо определенные доменные имена, затем короткие имена и псевдонимы. В системе имеется команда lanscan. которая отображает информацию 06 имеlOШИХСЯ сетевых интерфейсах. KOMaliД3 irconfig a не работает, зато работает команда irсолlig интерфеiд'. И Mella сетевых интерфейсов начинаются ЗЗ8 Часть 11 Работа в С€ТЯ); 
с префИКС8 "lan" или "sпир". Префихс "'ап" обозначает канальный уровень Ethernet. а лрефикс "snap"  слеuифи-киuню (ЕЕЕ 802.3. Первыf.t интерфейс обозначается lanO, второй  lanl и т.Д. В HPUX. как и в Solaris, нмеется КОlшепuия подключения интерфейсом Но нее интерфейсы по;:rкЛlOчаются антоматичеСКI-'. коrпа команд,., irсопfig иазначает им (Paдpeca. SAM  JTO системная адМJ.ШJ.lстраТИВl-laЯ утишпа. ОСI-lвwенная меню 1-1 позволяющая конфиryРИРОВaiЬ сетевые ннтерфеисы. а также nъmОЛIIЯТЬ мноrие друrие администраТИ8ные задачи. Примеры конфиryраций Чтобы Вр}'\IНУЮ Ilо.аКЛIO"-II-ПЬ сетевои инrерфеЙс и зtl.дать станлартныJ маршрут, нужно выполнить команды следующеrо вида: lfcont"i.q lanO 192 .108 21. 99 net:mask O:xft"ft"t"fOO route add d&t".aul t 192.108. 21  254 1. Команда lапsсап выводит список сетеиых интерфеЙСО8, ItмеЮШl-lХСЯ n системе, и лараметры связанных с ними JЦJвйнерон. КОМ31-ша lаш;саll " отображает чyrь больше информ,щи.и. Ниже показан pJIд примерOl:S. По.1е MAl со значением ETHER поuразумевас:Т. что именем устройства будет lanO, n не snapO. Команда irconlig подтверждает, что это правда. -% lansc4n Hardware Station Crd Hdw Net:.!nt NM МАС HP[)LPI DLPI PC!th лddrеS5 In' St.ate 1>JаmеРРЛ ID Т}:'ре Suppoct Mjrl 8/0/20/0 ОхООI.. . О UP lanO snapO 1 ETНER У.о 130 , lt"confiq lanO lanО: flаqs""8I,1З<UР. ВRОАDСЛSТ. RUNNING, МULТIСЛSТ> inet 192.10В. 21.99 netmask ffffffQO broadcast 192.108.21.255 -% lt"conflq snapO ifconfiq: по such interface Команда IICtSla1 i отображает имена сетевых IfнтерфеttСОlJ, (1 KOM.IHjla netstat nr выводит сопержю,юе табтПJ;bl маРШРУТИЗiш1tИ: % n8t.tat i. Name Mtu Network Address 1апО 1500 192.108.21.0 dsaster.xor.com 100 4136 127.0.0.0 10calhost.xor.com lpkt.5 601,17 231 Opkt.S 3648 231 % net.t4t nr Routinq tables Dest/Net.mask 121.0.0.1 192.108.21.99 192.108.21.0 121.0.0.0 default Gat.eway 127.0.0 192.108.21.99 192.108.21.99 127. о. 0.1 192.108.21.254 Flaqs UH UH U U UG Refs О 8 2 О О Uoe 231 Inr 100 lanO lanO 100 lanO Pmt.u lЗб 4136 1500 .(1 !Зб 1500 в HPtJX 11 счетчю: числа переходов не Jpeбуется; по умодчанию 01-1 равен О, если не указано иное. В более ранних версиях систс:мы счeтqих должеи был присyrcтвoвать. rлова 13. Сети TCP/IP 339 
Проrрамма lanadmin отображает статистику сетеиоrо трафики для каж.nоrо обиаруженноrо интерфейса. С ее поr.IOШЬЮ можно управлять работой щпер феttсов. Эта nротраммз оснашена TeKcToBblM меню. упрошаюшим ДOCTl1 к нужной информаuии. Ниже показан пример сбора данных по интерфеttсу lanO: " 1anadшiп LOCAL AREA NE"!'"WORK ONLINE ADMINISTRATION. Version 1.0 Copyr1ght. 1994 Hew:"'et.t. packard Co:npany. Аl1 r19hr.s are reserved. Тезt. select.ion mode. la.n ,. LAN Int.erface Acirninist.ra.tion mелu '""' Di.splay thl.s menu quit '""' Теrmlлаtе t.he Admini5t.ra.t.10n terse .., Оо паС display соmmв.па menu verbose "" Dlsplay command тепи Enter command: 1ап LAN Inter!ace test. I1"ode. LAN interface РРА Number .. О clear ... Clear st.atI.st.ics regsters display ... Display LAN !nr.erface stat.us/t.at.isics end ... End LAN Int.erface Adm.:.n.. 90 up 1 level ""' Displa.y thls menu рра .., РРА Number о! (,he L.:a..N lпсесСасе qUL .. Termnate the Admin. ret:Hn to shell rese<:  Re!!et LAN Inerface. exec\Jte seltt.est. specific  Go to Driver specific menu Enter command: di.play LAN INTERFACE STA'!'US DISPLAY Th\J. Mar 2,2000 00:41:24  О .:о. lanO tlр 10/100 тХ tlalfDuple.x Hw РРА Number Descrlp;:ion Rev о. Туре (value) MTU Size Speed Stat.!.on Address АdmiП1зt.rаtiоП Status Ivalue) Operat:.ion St.аtuз Iva1ue) "" ethecnetcsmacd (6) "" 1500  10  Qх10830Зе9е6 .. up (1) .... ир (1) Inbound Unlca!!t packets Inbound Nопuniсазt Packet:s ... 204  5594 Inbound Unknown prot.ocols Outbound Oct:et.s Outbound Unicast Расkеtз 501 oIJ5490З 3603 Deferred Transmis5ions Lat:e СоllSiОПЗ Excessve Collis:LOn!!  2  О  2 к T01l.f)' времени, коrда была запушена эта nporpaMMa, система работала Bcero 3 часа rлубокой ночъlO (МЫ добавляли диск, поэтому часто перезаrpу жались). В результате трафик оказался очень Н1вкнм. ПОМИМО команд 'а" и 340 Чость 11 Робота е сетя): 
display, результаты работы которых показаны выше, мы также попьrтались выполнить команды clear (обнуляет счетчики) и reset (сбрасьrвает конфиJ)' раUИОIOlЫе параметры интерфейса), но поскольку у нас не бьu1О прав супеРПОЛЬЗ0вателя. нам бьu1О отказано в этом. Конфиryрирование DНСР Как и в случае дрyrиx сетевых napaMCтpOB, вк,"IючIfТЬ использование протокола онсР иа этапе звrpузки можно путем задання переменнЪ1Х в ф31е /etc/rc.conflg.d/neconr. в данном случае nepeMeHHbIe хранятся в массиве онср ENABLE; индекс [О] означает первый интерфейс, индекс [11  второЙ и т.п. Например. запись DHCPENABLE[O] -1 переводит первы.й интерфейс в режим ОНСР. Сетевая плата ПОЛ\'чит свой [paдpec, маску подсети и дрyrие параметры от OHCPcepBepa. раСПОЛQ}l\ен Horo в локальной сети. Если задать переменную равной О, по)]Держка протокола ОНСР будет отключена; придется назначать плате статический адрес в файле пеtсопf. Если запись DНСР ENABLE отсутствует. считается, что соответствующая переменная по умолчанию равна ]. Сuенарий /sbin/autoyarms берет на себя задачу взаимодействия с OHCPcepBepOM Проrpамма dhcpdb2conf записывает параметры DHCP, по лученные сuенарием autoJarms. в файл netconr. I1З KOToporo на этапе начальной зarpузки извлекается конфиryраuионн.ая информаuия. На стороне сервера система HP LJX реализует OHCPcepBep в виде демона bootpd. который также обрабатывает запросы БООТР Проrрамма dbcptools записывает параметры ОНСР в базу панных демона, проверяет конфит}'ра Uионные файлы на предмет наличия ошибок, возврашает неиспользуе\.tые адреса и вЫполняет множество друrих задач. Если В03НJ.lКН}7 проблеиы. лиarностическая информаuия nporpaMMbl dl1cptool.s окажется очень кстати. создаваемыe ею файлы помешаются в кaTaпor /tmр, ..1 в их именах ПРИС}iСТВУет кОмпонент "dhcp", Конфиryрировать ПРотокол ОНСР можно также с ПО"lOшью ТИЛIIТЫ SAM. Moryr Возникать проблеJ\.fы совместимости. если клиенты Н p llX работают С ПОСТОРОННИМИ DНСРсерверами или, наоборот, серверы HPUX взаимодействуют со сторонними DНСРклиентам(..I. Динамическое переконфиryрирование и наcrройка Как и в Solaris, можно применять команду ndd ЛJ1Я настройки раз..1ичны: сетевых параметров (более 100), Будучи вызванной в интерактивном режиме, команда ndd меняет значения "на лету". Чтобы изменения стали постоянны ми. нужно побавить их в файл /еtс/rс.сопПg.d/пddсопr, KOTOpbltt читается на этапе иачальной заrpузкн. Опuия h (вызов спраВЮ1) очень удобна. При отсутствии ДОПОЛН1пелъных apryмeHToB команда ndd h ВЫВОДИТ список всех настраиваемых параметров. Ес.."IИ указано имя переменной, отображается информашtя о том, .[l.'1я чеrо нужна переменная, каковы ее МИНИМaJlЪное. максимальное и сraJ.шартное значения. Например: " пdcl h I 9'rllp 8ourc. ipforwardsrcrout.ed  Солtrоls fоп,,'аrdiлg of source rout.ea расkеt.з: , ndd b 1p:forw.rd.rcrout.d rлова JЗ. Сети TCP/IP 341 
342 ip forw.ard src rout:.ea; Set to i toforward sourcerouted packer.s; set t:o О '1:.0 disable forwardnq. If disabled, ал lCMP Destinat.ion Unreachable messaqe is sent со t.he зепоес о! .зоurсе routed pa::kets needing [.0 Ье forwarded. [0.11 Default:: 1 Как показываеТ команда ndd. в данной версии HPUX (11.00) по УМОJI1-1ВНМЮ поддерживается направленная маршртизаuия. (НадеемсЯ'. что, коrда значение по умолчанию меняется, ДОlентация к КQМ81-ше ndd тоже обновляется.) Чтобы просмотреть я МQДИфИllировать значение nеременноА l.p  forward  src  rout.ed, воспользуемся опцJ.tЯJ\.nf get и set: , ndd qet /d8V/ip ipforw.rd8rcrouted 1 '" 8udo ndd ..t /dev/ip ip forward. .rc routed О \ ndd 9.t /d8V/ip i.pfo::rwd.rcou О Чтобы нзвсеrПа отключить напрз-впенн)'ю маршруПl3atrnЮ. побаньте лриведеНRые ниже строки в файл пddсопf: .. ClТКJWчаеы напра.вленнуlQ марwру'!'иэа.цию TRANSPORT t.IAМE [О] ip NDDNЛМЕrО]..iрfоrwаrd5rсr outed NDDVALUE[O)""O ДЛЯ следуюwей МОШfфиuируемой пере}fенной нужно по6ашfТЬ н фаfiл пddсопr те же три строки. указав rми переменной и ее значение, а также индекс 1. а не о. К сожалению, 8 этом файле можно задать Bcero 10 параметров. Безопасность, брандмауэры, фильтраци и система NA Т в табл. 13.19 описано, как в HPLJX реализован РЯД теХНОЛОПIИ. касаюшихся безопасноtt работы 8 сети О них кратко раССК3ЗЫR3JlnCЬ н параrpафе 13.9. БольшинстВо настроек I>.ЮЖI-Ю и lmei-lИТЬ с поIoшыо коман.аы ndd Табл....ца 13.19. Поддержка технолоrий, С8яэанны>: с сетевой безопасностью, 6 HPUX т ехнолоrия Перенsлpав.ленж IРпакетов ПереадреСуюЩlе lСМРпахеты По умолчанию динамическое I Перемениая измняемаfl командоЙ ndd ip forwarding: О  отключено. I  IIКJIЮ чено, 2  динамически Оrменить это поведение НСJlbЗН прИНИМ8.ЮТСЯ Направленная рвзрешенs lpfcrwardsrcrour.ed: О мвршpyrизauия Широковешатеm. разрешены lp  forward  d.1rect.ed  broadcasts: О ные рiпgП8К I Разрешено для всех иtrreрфеЙСОlJ, номер которых больше 1. в HP LJX lIеТ встроенных пакетон межсетеfЮЙ з&lщltты и IРфИ;JЬТРi:lЦИ.И, lа исключением РРРсоединений (СМ. да.Тlее). Система NAT Т3К'А\.С не поддерживается. Правда. Даррен Рил (Darren Reed) уже перенес свой бес платныЙ пакет IPFilter в HPLJX. Чость 11 Работо в сеТЯJ< 
Вереня печона ine[d R HPU>' СО'lСрЖI-П Бстроенные фУНЮНН-' p.:lUOTbI С протоколом ТСР. которые можно КОНфlН)'РИРОfltПЬ посредством фаnла /".ar/adm/ine[d.sec. Подробности наны 8 lIapih-рафс 21.7. Мы рекомендуем использовать спеuи-алlПIIРОВaJlное оборулоиание. Ha прJ.lмер систему Cisco PIX. в качестве брандмзуэра. LJNIХсистемы llJ1Я этой роли слишком иебезопасны. Если вас ннтересует, как имt:ННО ОС HPUX оказывается незашишенноЙ. обраТlпесь по адресу h[[р://реорlе.hр.s</'lеvesk{Ьastiол II.hlml В этом документе описано, какие ШtlЛ1 слспует предпрlIIН\ П-,. чтобы превратить компьютер, работаЮЩllЙ поп 'пrаи;(еl-Нlем HPLJX 11.00. и .'бi::lС тион" на пути в везаШJ.tшенную ссть. В нем l1ереЧllслены псе '.JЮН\'lUКI1'.. KOTopble необхопимо отк..1lЮЧIПЬ R IIPUX. чтобы Мi1ШIIна МОПl3 беЗОlliaСНО работать 8 Internel.. Нам бы хотелось узнать, ССТЬ Ш1 аналоrllчные vvrсьуJлы. посвяшенные прyrим рассматриваемым IJ книrе системам? Конфиrypирование ррр в н P LJX ВХОДl-fТ PPPnaKeT компании Mornil1g Star. IfПIО.1"lbJ\'юшш1 [IШ  драйвер IРтуннелей. Конфиrурироваl---Iие I1рото.::ола РРР 1:1 HPLIX осушес-т ВJlЯстся почти тах же. как в Solaris. В обеИJ< C(ICTe\la.x используется конфиryрац-иЯ' HoneyDanBer UUCP, но в Solaris она ОСТiШJlе.li1 бсз IfзмеНСI---JI.\И. а в Н P LJX фаилы псремешсны R npyrlle Кi3таЛОНt 11 улучш,:на интерактивная покументашtя. В табл. 13.20 переЧИСllены ф.аЙлы. СВЯЗi!ННblС с IlрОТО'::ОЛОМ ррр О некоторых из них раССКtПЫШUТОСЬ 8 параrpаф.:. ПОСШ1ШСННОМ '::ОllфIIIJР" рованию РРР 8 Solaris. Файл /."'/ррр/ Auth Таблица 13.20. Фаилы, связанные с протоколом ррр в HPUX НаэначеНt-4в /etc/ppp/De"ICes /.",/ppp/Dial." /.lc/ppp/t'illor /.IC/ppp/Кoy. /etc/ppp/Systems /.lc/ppp/A"IOS12r1 /....rjbiD/pppd Содержит JIMeHB OlU-IоранrОВЫJI. компьютеров и парамt:Тpы ayrell rификации Описывает ФllЗl1ческис устроАства (модемы) СодерЖJП описание телефонных HVMC'pOB для кa)fo,ДOI'O CHt:I"(:..tHOI"O модема ОпредеJIЯL"Т п:арамс'Тры аВТО"lаТj'IСС-КШ(l Iiбора IШМСР". фЮI"IТ)а ции и pel"lcl'pawrn I1акетов Содержит КЛЮЧИ ЛJU! ШllфРОНII)I СОСдlUlсю,f1 ВКЛ-ЮЧ8e-r IUlфориаuщо () соседних CIIL"'ТeMax Содержит команду запуска демона pppd с СООТВC'fL'ТВ)'ЮщIIМII apryMeиraMJ! Демон ррр Все mапстраНИllЫ, связаННI.lе с .ЛI1f1.Нi ф;пi!lами. НШIIIСШIЫ качеСТf\('III---IО. но у них странные имена: имя каждоJt СТРi1Н1IЦЫ Н&iЧИНil:С-ТСЯ с префllКСi1 "ррр'" за которым спсдует имя фi.штl. Например. комшшi3 1111I S)'stcm 11е работает, зато команда mall ppp.SYSl.ems отображает пета.!lыюе: ОПIIС<lIIlIС формата фаЙла Sys[ems, включал несколько прнмерОБ. В каталоre /el.c/PPP содержится ТЗio.."Же ряд образuов n"1Я каЖД()1 о КOIlфиryраШ1Онноrо фаЙла. Ниже ПОКЮi111 фримнт файла S,tCI11!r..('\":: ЛIII [пава 13. Сети TCP/IP 343 
строкам предшествовали сотни строк коментариев. почти uеликом 110BTO РЯЮЩИХ mапстраниuу ppp.Systems: t Examples о! елtriез tha:: we uзе a:t Mornng Star Technologies t 'roughy Anу ACU 19200PEP 5551212 ogln:---og!.n: Premora SEword: \qkjLJHluD tmanat.ee Anу ACU 38400 5552468 cqi.n: og:!..n: Premora S8word: \qсПDWЗК1Z В каталоrе /etc/ppp/ex3Inples нахОДЯТСЯ более сnuифичныe примеры, nосвяшеIOlые терминальным серверам различных производите.Jlей. Чтобы протокол РРР работал в HPUX, нужно заПОЛffiПЬ UUСРфайлы информаuией о модеме и системе, с которой устанавливается соединение, включал реJ1.icrpаuиоmюе имя и пароль, перепаваемые терминальному серверу на противоположном коиuе соединения. Необхо.nимо создать и отредактиро вать сuенарий /etc/ppp/Autostart, для Toro чтобы при установлении соепинеlИЯ запускалея пемон pppd с нужными лвраметрами. Имеется обра.1еu T8KOro сuенария  Autostart.ex, снабженный хорошнми комментариями. На этапе начальной заrрузки один И3 сценариев 8 ката.'10те /sbIn/rc2.d вызовет Сllенарий Autostart аRтоматически. Осабенности ceTeBoro канфиryрировани Операuионная система нРих не любит, коrпа длина и.мени компьютера превышает 8 символов. Длинные имена можно использовать, но nрелваРIi телъно слеlIУет задать имя узла в формате ULJCP в файле /еtс/rс.сОП fig.djNODENAME, причем llJшна имени пол.жна бъrтъ 8 символов или меньше. 13.14. Сетевое конфиryрирование Red Hat в Red Hat большинство сетевых конфиrypзuионных файлов храннтся Б каrалоrах /etc/sysconfig и /etc/s)"sconfig!network-script5. Эта операuионная система поддерживает протоколы ОНСР 1-1 РРР, а также IРфилътраlIИЮ. В стеке сетевых протоколов имеется подnержка избирательных nодтвеРЖде ний, которые иноrда улучшают производительность ТСР 8 заrpуженных соепJ.lненИях. Базовое конфиryрирование Сетевое IIмя компьютера задается в файле /etc/s)'sconfig/lletwork. rпе TilK>r..1: оnреде.'1яется DNSломен и СТ31-шартныh 11L1ЮЗ. К при\tеру. ниже показано солержимое файла network .nля компьютера. в котором одна Еthеmе(l1лата I перенаправление IPпaKeTOB не поддерживается: NETWORKING""yes FОRWЛRD  IPV4""false HOSTNAМE=-redha L. . ха r . com DOМAINNAМE'""'xor. сот GATEWl\Y..192 .108 .21. 254 GATEWAYDEV=-еL.hО Имя компьютера полжно также присутствоиать в файле /еtс/hоstпаmе. в настояшее время, опнако, этот файл используется ТОЛЬКО для обратной совместимости. Данные. касаюшиеся KoHKpeTHыx интерфейсов. находятся в фаj:ijла: /еtс/ь-уsсопfig!пеtwоrk-sсriрrs/irсrgШlтерфейl.', rпе последнии kor-.iПонент  ИМЯ 344 Чость 11. Робота в ceT)( 
ceтeвorQ ИJ.rrерфейса. В этих файлах можно задавать IPaдpec, маску попсети, сетевой и широковещательный адреса каждоrо интерфейса. Имеется также строка, в которой вы можете указать, полжен ли интерфейс активизироваться на этапе начальной заrpузки, что особенно полезно в портативных компью терах. Обычно в системе присутствуют файлы пля ЕlhеmеtПЛ8ТЫ (ethO) и интерфеttС8 обратной связи (10). ВОТ каким будет содержимое файлов ifcrgethO 5i ircrgloO для компьютера rеdhаl.хоr.СОПl. ОПИС8нноrо ВЫlllе в фаttле network: DEVICE""ethO IPADDR"192.108.21.73 NETМASK2SS. 255 _ 255. О NETWORK=192. 108.21. О ВRОАDСЛSТ"'192 .108 .21.255 ONBOOT""yes и DEVICE'""lo IРЛDDR127. О. 0.1 NETМASK"'255. о. О. О NEТWORK=127. о. О. О BRQADCAST==127. 255.255.255 ONBOOТ==yes В Red Hal имеется ряд упобных сuенариев. которые УПРОШ81ОТ управление интерфейсаМJiI. Сuенарии /sbin/ifup и /sbin/ifdown rrрииимают в качестве apryмeHTa имя интерфейса и соответственно подключают ипи отключают интерфейс. После изменения любоrо файла в ката.Jюre /etc/sysconlig не забудьте Elьmолнить последовательно команды /sbin/ifdown интерфейс и /sbinf1rup интерфейс. д еше лучше перезаrpузить систему, чтобы быть уверенным в отсутствии скрытых побочных эффектов. Если нужно управлять всеми шrтерфейсами ОДlювременно. Iюспользrй тесь сuенарием /etc/rc.d/inil.d/network, прииимающим aprYMeHTbt slart. slap. reslart и slatus. На этапе начальной заrрузки этот сuенарий nbl]blB8CTCJI с арrумеитом start. CTapToBble СllенарJПi также MOryr КОliфЮ)'РИРОВ3ТЬ статические маршруты. Любоtt маршрут, внесеННblЙ в файл /etc/sysconlig/staticroules. добавляется в таблиuy маршрyrИJ3UИИ на этапе начальной заrpузки. Записи из '310ro фаЙла содержат арrументы ДЛЯ команды route add. echO леt 130.225.204.48 леt.mаsk 255.255.255.248 gw lЗО.225.2(J4.49 et.hl net 192.38.8.0 netmask 255.255.255.224 9w 192.38.8.129 Первым указblвается интерфейс. за ним  арrумеJ.ПЫ команДЫ route: пш маршрvrа (net ИЛи tюst), адресуемая сеть, Маска ШIЯ этой сети и. наконеи. lШ1юз для слепуюшеrо перехода. Ключевое слово gw необходимо. В сушест вуюших ядрах Linux не под,цержииается параметр тес. r1C KOMaНlIЫ route. но ero можно побавить в табт.щу маршрутизации, чтобы о нем у]нали Демоны маршртизаUIfИ. В Red НЗI ).1 И БОлее ПОЗдних версий имеется утилита linuxconf. С ее ПОt.lOшью можно RЫПОЛНЯТЬ мноrие административные задачи. ВКЛIO'lая вопросы, связанные с КОНФЮУРIfРОВ8ние\1 сети. rnaBa 13. Сети TCP/IP 345 
Примеры конфиryроuий СЛСЛ}ЮШI'lе комаюrы 3КТНВИЗИРУlOТ сстеБОЙ IlНтерфеЙс и добаИЛS1ЮТ стандарТIIЫЙ маРШР}I. 06Р;ПlПе внимание иа то. 'ПО кточеиое слово пр 8 строке вы.юна команды ifсопfig не требуется. но КЛIОl.lевое СЛОВО gw n строке вызова s.;:оманды route до.rr..кно ПРИСУТСТЕЮВ3ТЪ: I if"config ethO 192.108.21.13 netrn.a8k 255.255.255.0 I rout8 add default qw 192.108.21.25'" ethO 110 УМOJIЧ3НllIO KOMaHД irc.onlig н Red Hal вьшаI:Т МJOжеСТRО ИНФОРfl.I3ШIII. вк}]ючаJl аппаратныЙ адрес, данные KaHaJlbHoro }роаНЯ и ра1J"JИЧНУЮ CTaTI1 стику: " /sbin/1.f"contig ethO Liлk encap:Ethernet: HWaddr OO:CO:FO:IF:57:61 1net addr:192.10B.21.13 Bcasc.:192.108.21.255 Mask: 25:2S5 :255: О UP BROADCAST RUNNING MULTICAST MTU: lSVO Metric: 1 RX pkt5:248725 errors:Q dropped:(J overruns:O frame;Q ТХ pkts:5219 errors:24 dropped:(J overruns:O carrier:20 colliSOn5: 1280 r.xqueueien: 1ОС !пt.еп:uрt.: ltJ Base addr Ох6500 lo L(lk еспар: Local Loopback net:. add:::121.0O.1 Mdsk:255.0.tJ.O UP ВRОЛDСАSТ Rt!NNING MUL':'ICAST мтu:З924 Hetric:l RX pkts:44 erors:O droPFed:O overruns:O fr.ame:O ТХ pkts:44 errors: droppea:O overruns:O carrier:O ollisi.ons: О I::xqueuelen: 1 00 Число конфликтов па кетов д.чя Еthеrnеlплаты равно 1280. что состанляе-т 24,5% от '--lисл;:s отправленных пакетов. Это чрезвычайно высокий покаuтель. который СВllдетелъствует о том. что сеть переrpужена и должиа бьrrь разделена На несколько подсетеЙ или же следует перейrn на коммутируеf-ryIO ар.'\итек туру- KK 1'1 Н большинстве с"стем. комаНда пеtstаt пr выводит табл"цу \lаРШРУТИ1ШIIII. а команла nelstat i отображает информаuию о Сетеоы)( интерфеЙсах. , netatat nr Kernel IP rоutirlЧ tao1e Dest:inatlon Gateway Gепmазk F!a9.!!1 MSS Window irtt lface 192.108.21.730.0.0.0 255.255.255.255 ин О О О et.hC 192.108.21.0 о.с.о.о 255.255.255.0 U О о О ethO 121.0.0.0 0.0.0.0 255.0.0.0 U (1 о о 10 О.О.О.О 192.108.21.254 0.0.0.0 UG О О О ethO , nQtatat !. Kerne1 Int.erface t.abJ.e  Recei ve  Нес ОК ER.,'{ DRP OVR О 251684 О О О О 44 О О О Iface MTU ethO 1500 10 3924  Tran5mit ОК ERR DRP oVR 5710 24 О О 44 О (1 О ,19 BRU LRU Команда пеtstat i lIоказывает ДJШ каждоrо интерфейса число обычных Шlкеrов, ошибок. удаденных пакеТО8 и переполиениЙ как во входной. так" в выходной очерелях. 346 Часть 11. Робота в C8TS!J< 
Конфиryрирование DHCP в Red На\ имеется OHCPcepBep dhcpd и два различных DНСРклиента: p.mp и dhcpcd (стврая разработка университета к..рнеrnМеллона. представ ляюшая собой усовершенствованный вариант демона bootpd). Мы peKoмeH nyем отказаться от обоих клиентов 'и ВОСПОЛЬЗ0ватьсSl проrpаммоЙ. предостаалеююй орrаниззцией ISC (www.isc_org). По нашему ОПЫТУ, она над.ежнес. OHCPcepoep Red HBL разработан этой же орraнизацией, поэтому остается только удивляться, почему в данную опера.шlOННУЮ систему не АКJ1Ю'IСН ВИaIJОПfЧНЫЙ клиент. Конфнrypирование ISСклиента рассматрива ется далее в параrpафе 13.15. Протрамма роmр  это стандарmый DНСРКJ1иент в Red На!. Он запускается на этапе начальной заrpузJ..'li 1-13 сценария letc/sysconligfnetwork scripts/ifcfg-интерфеiJ.с. Например. чтобы задать автоматическое КОИфlfrурн рование интерфейса ethO посредством DНСР. нужно О11'едахтяроватъ файл /e\c/sy,con6gjnetwork.cripls/ircrgethO, указав вместо I Paдpeca, маски подсети и дрyrnx ларамеЧ"'в crpoкy BOOTPROTO::dhcp Есля требуется вручнуlO запустить nporpaмMY pump для управления интерфейсом ethO, воспользуйтесь командой t ршир 1 8thO Остановить протраМ1>ry pump можно так: , pump r ! .thO Демон dhcpcd. ЯRЛЯЮЩИИСЯ альтернаllllЮЙ nporpaMMC pump. практически не используется. Наверное, разработчики Red Har не улалили сто только потому. ЧТО боялясь нарушить работу существующих приnожениЙ. Этот демон конфиryрируется посреnством файлов в каталоre /etc/dhcpc. Динамическое переконфиrypировоние и настройка В Linux настройка ядра я сетевых параметров осушествляется не так, как в ДРУПIX операционных системах. ВмесТО тото чтобы прелоставmъ комаНдЫ для чтения и установки параметров, разработчики Linux поместили "образ" каждой настраиваемой переменной в специальную файловую систему /proc. Важные сетевые параметры находятся в каталоre jproc/sys/net/ipv4. Вот их сокрашенный перечень: , cd /proc/aya/net/ipv4; 1. F conf/ icmp dest.unreach rate icmp  echo i9лоrе  broadcasts iсmр=i9поеЬоgu;еrrоrrеsроnз es icmptimeexceedrate ip  always defra9 ipdefaultttl ip  forward ipmaskdebu9 ipfra9 high  r.hrезh ipfra9 t1me route/ tcp  keepali ve yrobes icmp  echo  9nore  аl1 icmpechoreplyrate 1cmpyaramprob :rate icmp тax  теrnbесаЫрв ipautoconfig ip  dynaddr ip  local yort  rlШ9е ipnoymtudisc ipfra9 low  thrезh neigh/ tcp  fin  tinleout tcp  keepalivetime rлово 1 з. Се"" TCP/IP 347 
сер  тах  ka probes tерrеtrаШ5  eollap8e tcpretres2 tcp  заек t.ep5ynretrie5 teptimest.amp5 t.ep  max  syn  baeKlog tcpret::.riesl tcp rfсlЗЗ7 tep  зtdurg сер  syneookies t.epwindow sсаll.лg Мноrие переменные, в именах которых присутствуют компоненты "rale" I-f "max", используются для пресечения атак вида "отказ в обслуживании" В полкаталоrе соп' хранятся переменные, устанаиливаемые для ка.ждоrо интрфеЙС8 по отдельности. Там есть полкаталОПf all 'и defaults, а также подкаталотп для всех интерфейсов (вк..rIl0чая интерфейс обратной связи) В кaжnом по..тrкаталоrе содержится 01IИНаковый набор файлов: " 18 !' асеерс.  redl. rects fоrwаrdl.лg proxy аср send redirects accept scuree route 10С]таt.l_апз  rpfilter sharedciia bootp  relay mc  forwardl.ng secure  redl.rect5 Изменения. ПРОИЗВОДИМhlе в подкат-а.поrе 811, отражаlOТСЯ на всех ннтер- фейса)(. Но еСЛIf та же самая переменная меняется. скажем, в nom<aTaJJOre ethO, то это затронет только соответствyIOШИЙ интерфейс. В подкаталоrе def8ults содержатся стаНдартные Зl-lачення переменных на момент инстаJUlЯUИИ системы. Чтобы }знать Jначение переменной, воспользуйтесь команлой cat. Изме- нить :но значеffilе можно с по1ошыо команды echo. перенаправив ее результа7Ы 8 соотвеТСТВVJOший файл. Например, команда , cat iсшресhО9поrеЬrо.dсави О показывает, что текущее значение переменной lcmp cho igлоrе broad .::a5t5 равно О, Т.е. шнроковешательные рiпgпакеты лоnyстимь Чтобы сделать ее равноЙ 1 (и тем самым защитить систему от атаК ПШ3 "smurf") Iшедите \ вudo С8Ь c "echo 1 > iсшреchоi9поr.ЬrоаdС48ts.. В ДОfенте /usr/srс/liпu,.;/Dосumeпtatiоп/рrос.txt, написанном разработ чиками SuSE Liлuх. прнведены хорошие примеры настройки ядра средствами файловой системы /proc. В нем объясняется, что озизчает та или иная переменная, нно.-ла указывается, какие значения лучше BCero задавать. Безопасность, брандмауэры, фильтрация и система NAT В табл. 13.21 описано. как в Red Н31 реалltзован ряд технолоrий. КС1сзюшнхся бе JOпасной работы 8 сетн. О Н1IХ кратко рассказывалось в nilраrpафе 13.9. Ь.::ли задать ком.внцу 5udo есЬо I > Icmpecholgnorebroadcasts, будет получено сооБШСIfИС "pcnnisslOn dелiеd" (дocтyn запрсшеи). поскольку инrерпретатор команд попьrraeтся oт кры IЪ выходной файл до запуска nporpaMMbl 5udo. В данном случае необходимо, чтобы права СУ1lСрПОЛЬЗ0вателя распростр8НЯЛНСЬ не только на комзнцу есЬо, но и на опера(lИlО переналравясния. СлсдоваТeJlЪИО, нужно создать порожден-ный интс:рпретатор справами IIOJlь:ювателя rool. в котором будет выполнеиа ВС" команли. 34 8 ЧОСТЬ 11 Робота 8 сеТАХ 
Таблицо 13.21. Поддержко те):нО1lОrий, СВ ЗОННbI): с сетевой 6езопосностыо. в lIПU)( Техноло"",,, у""" Шлюз Перенаправлекие отключено ВJQlючеНQ IP naxcroB Псрев.дресующие прин.имаютс.я ИПiDpИРУЮТСЯ ICМP naJCeтw Нanравлен.нв.я НС: разрешена разрешена марwрyrизaция VпраВЛЯtOщlotй фойл (. КQТQЛоrе /proc/sys/netl Ipv4/1p ronnlrd Д1IH всей смстеыы IрУ4/сопf/инrnерфейс/rоrwаrdlпg JUUI каждоro интерфейСА I IJf'l4/сопr/интерфейс/ассерС re dlrects Iр,,4/сопr/IJ.llmерфейс/ассерt sоur ce route Широковеwaтель npииимаются принимаЮТСR i(1'l4/1p echQ lgnore broadcutJ ные рш.g па.кеты I В качестве парs.метра интерфейс может быть .38.JJ.aНO имя KoнкpeTHoro и..нтерфеЙС8 или ключевое: слоео 811. Чтобы сделать изменение .'Iюбоrо из парамеТрО8 постоянным (точнее. чтобы переустанавлннать ero 8СЯЮIИ риз при перезаrрузке системы), лобавьте соответствуюшуlO коман.ду echo в сuе-нарий, ВЫПОЛНЯIОШИЙСЯ в проиессе иача..1ЬНОЙ заrpузки. В Red На( имеется неrulохая nporpaMMa IР фИЛЬтр8U1rn. Обычно мы не рекоменцуем использовать компьютер на базе UNIX (и.пи Windows NT) в качестве брандмауэра, поскольку 8 uелом ЭТИ операuионные системы не обеспечивают над.лежащнй уровень безопасности. Но уж лучше ставить проrpвммный брандмауэр. чем вообще иичеrо, если речь IUleT о домашнем компьютере или орrанизации. бlOпжет которой не предусматривает покупку спеuиализированноrо 060рупования (например. системы Cisco PIX). Именно поэтому мы подробно описываем nporpaMM}' ipchains. Устанавливая Liпuх систему 8 качестве бран.Ш,,'lа)'Эра. убеднтесь, по крайней мере, что она включает самые последние оБНОВ"lСНИЯ и "заплаты". касающиеся брешей в системе защиты. В rлаве 21 описаны мноrие вопросы, которые обязательно слеnyет учесть. чтобы сделать систему максимально безопасной. Компьютер, иrpaюший роль брандмауэра, идеальное место дlJ..Я практической проверки рекомеИll8UИЙ, изложенных в rлаве по безопас ности. (В параrpaфе 21.9 даны сведения, каС81Ошиеся брандмауэров в uелом. Читателям. не знакомым с конuепuией брандмауэра, советуем предварительно прочитатъ приведенный там материал.) В npоrpамме ipchains применяется конuепuия упорядоченноА "uепочки" правил. соrласно которым проверяются сете8ые пакеты. В каж.nой ш:почке ИМеется директива, опрепеляюшая. что следует пе!lать с пзкетаМI1, ПОl[ЧИНJlЮ UШМИСR данному правилу. Если пакет прошел проверку, ero сульба предре шена и лРYfИе Пр08ерки не выполняются. По этоЙ причине правила в uепочке эадаются в напраилении от наиболее KOHKpeTHoro к наименее конкретному. По умолчаниlO сушествуют три цепочки: input., out.put и forward. Можно создаватъ и свон с06ственные uепочки. Каждый пакет. обрабатыае мый ядром, поступает Н8 проверку лишь в одну стан.дартную цепочку. В цепочке forward проверяются все пакеты, которые поступают в Qдии интерфейс и переиаправляlOТСЯ в дрyrой. В цепочке l.лрut обрабатываются пакеты, ПОС1')'1lаlошие из внешней сети и адресованные локальному компыo теру. И наконеп, в ueпочке o'Jtpu!: проверяются TOnЪKO пакеты. посланные 349 [ло.о 13 Сет" TCP/IP
с локальноrо узла. Для каЖnОI.О cete-воrо интерфейса сушествуют свои копии этих Ilспочек, поэтому для рЗll-1ЫХ интерфейсов можно назначать CBOI1 критерии обработки naKeTOR. Наиболее распространеннме директивы  АССЕРТ. DFNY. REJECT. м.!..SQ. REDIRECT 11 F:.ET...1RK .'1l1реКТlша дССЕРТ разрешает lIах:ету следовать С8011М маршрутом. ДиреКТJIНЫ uENY и PE,lECT J2лрешают пропускзть Ш'Iкет, Ю lIрLlая ПрИRОЛlП к "6еJМОЛВНОЫУ" удалеШ!lО пакстз, а вторая  к вьШаlе jСМРсообшсния об ошибке. ДиректиRЗ. ИАSQ включает мхани]м IРмаскltровi:lНИЯ (на жарrоне Iшuх НО синоним системы NAT)-. Чтобы этот механнзм .iаработал, НУЖНО задать nepeMeHHYIO fORWARDIP\и;! в файле network равной true и скомпилировать ядро с устаноменным параметром CONFIG IР МASQUERADE. Дире.....l'IfВа REDIRE('"T перенапраиляет пакетыl проксисерверу. Чтобы она имела сипу. нужно СКОМ'ПИЛЩIOвзтъ ядро сустанонленным параметром CONFIG IP TRANSPARENT PROX':.'. Эта особенность удобна. коша весь тра- фИК Webyi;ja должен проходить 'epe] К311ШРУЮШ)IО проrpаМ''''IУ. ТЗ"'-"'У1О как Squid. Директива RETURN объяНJТЯет конеи ПОЛhЗователъской н.еПОIIКИ. В Red На( брандмауэр обычно реализуется в виле ТlОС.'1едоватеЛЪНОСТI-! комзнл ipchains, содержащихея 8 стартовом сuе.IЗРИИ rC.fireVw.all. Отдельные команды ipchains. как правило, нмеют ОДИН из двух форматов: ipchai.ns  р' имя  цепочки i.pchai.ne A иия  цепочки 1 интерфейс j .llиреК'l.'иsа В первом случае JlЗ UСIIOЧКИ удаляются все прсдыдущие правила. Во втором случае зманн()С праВl1JlО лобавляется к uепочкс. Опuии i и j оБЯJзтеЛЫIЫ для каЖдоrо добаWIяемоrо правила. Проrpамма ipcllain rlOдnep- живает также ряд ДРУПiХ ОIIUНЙ (таб_l. 13.22). Тобл....цо 13.22. ДополнитеЛЬНblе 0ЛЦИL1 проrраммы Ipchoins y Ноэначе...ив' Соответствие ПjIOТОkОЛУ: tcp. udp ИJU! icmp Соответствие исходном)' IPaцpec}' у3.Л8. или сети (.иопускнс:тся нcrrnция CIDR) Соотнетствие uсленому IPaдpccy УЭJ12 или сети Соотистние номер}' МС).ОДНОI'O порта (обратите ВНl1манис lIа д80ЙJ.iой дефис) СоответСТ8ие номеру uслсвоrо порта (обратите внимание на ДВОЙНОЙ дефис) Соответствие типу IСМР--сообшен.ия «(]братите внимание на двойной дефис) Реrистрация naxетов в системе Sys10g (средство "kemel"', лриоритт "шfо") Соответствие тол.ъко новым ТСРэалросам tla устаноw(ение соединеНИЯ (прове.ряются флarn заroло.вка пакета) ИнверсИJI смысла ОПЦИИ О пция p пРQтокол ...s исходиыи  адрес d Цr!лrвои  Щ)С sport l'o."ep1I0pтa port ItOJHep  порта icmptype тип I CТPOI'O rоворя, 8 Red Наl nримеНJlСТСЯ оrpаlПl 1 lеlШ3Я Рil.Зноои.аность системы NAT, которую правИ.,'lhнес Н83Ыватъ РАТ (Роn Address I.ranslatioll  tpаНСJlЯUИЯ адресов портов). В ней lIС ИСПu.iIЬJуеl'СЯ диапазон частных адресов, как в истинной истеме NAT, а все соединения kОММyrируlOТСЯ по одномусдинствеl(НОМУ адресу. С практической точки зрения это не имеет особоrо Зllачения. поэтому Ш1Я пропoты мbl будем продолжать употреблять термин "NAT". 350 Часть 11. Робото в c:eTR)( 
Ниже припеден ряд ПОЛНЫХ примеров. Мы предполаraeм, что интерфейс рррО подключен к Inlemet, а интерфейс er.hO  J( локальной сети. Первый набор правил задает прнем всех пакетов из локальной сети и удаление тех пакетов. которые поступают от интерфейса рррО 'и 'Исходные алреса которых попanаlOТ в пиапззои частных адресов (система NAT). 3Пf пакеты должны также удаляться R uепоЧlCе output, так как не нужно. \Побы oН1f ПрОНИКaJШ 8 Inlemel. ipchain9 д lnput i 10 j АееЕРТ 1pchains д input i ethO ] АеСЕРТ pchains д l.nput i рррО з 192.168.0.e/16 j DENY ipchains A iпрut i рррО 8 112.16.0.0/12 j DENY ipchains A input i рррО s 10.0.0.0/8 ] DENY Чтобы блокировать доступ в [ntemel через проrpatwtмy telnet (порт 23), но разрешить почтовые соединения п систему SSH (порты 25 и 11 cooтвeтcт венн.о), необходимо установить следующие правила: iрсhаiпз д lnput i рррО p tcp dport 23 j DENY ipchains д input i рррО p tcp dport 23 j деСЕРТ ipchain5 A l.лрut i рррО p tCp dprJrt 23 j АССЕРТ Цепочка inpL1t заканчивается правилом, зnпрешаlOШИМ все пакеты. которые не были разрешены явным образом. Интересно также узнать. кто пытается проникнyrъ -в систему из [пtеrпеt. поэтому нобавим флаr I после директивы DENY, чтобы обеспечить репн:траиию пакеТО8. не прошедших данную про пер"')': ipcha1ns A input i рррО j DENY l Наконеи, запап.им IРмаскирование (система NAl). чтобы не раскрывать частные адреса, при:меняемые в локальной сети 192.168.1.0/24:- ipchains A forward i рррО 5 192.168.1.0/24 d ! 192.168.1.0/24  J М1r.SQ Здесь указан критерий отбора, соrласно которому liСХОДНЫЙ алрес па кета является локальным, а uелевой адрес  внешН1fМ (флаr ! инвертирует смысл проверки). ВнутренН1fЙ трафик, направляюшийся локалъному узлу. не ззтраnmается. Поскольку в Linux применяется систеМа РАТ, а не истинная система NAT. не нужно задавать .nиапазон внешних адресов для доступа в Iпlеrпеl. Шлюз Linux использует свой собственный IPaдpec ДЛЯ Beero BHelllHcro трафика. а переключение соединений от внутренннх узлов осуществляется на основанни номеров портов. Korna привыкаешь к рассмотренной системе записн, IIporpaMMa ipchaills начинает казаться разумным способом отmсания работы браl-Шмауэра. олнако привлечсние сюда же системы NAT выrлцпит не очень лоrnчным. Дополни тельные прнмеры брандмауэров. основанных на nporpal\.fМe iрсhаiпs, МОЖНО найти по адресу www.wiley.com/conlpbooksjsonnenreich. По слухам. nporpaMM3 ipchains будет удалеиа из ядра LIПUХ после версии 2.2 и заменена новым механизмом фильтраuии. Почему эти пакеты tlC отперraются предыдущим правилом? Потому что ланное прави:ю RR/JReTCJI частью Ilепочки forward., 8 Не input. r Л080 1 3 Сети ТСР IIP 351 
Конфиryрирование ррр ... В Red На! используется та же реализаuия протокола РРР, что и во FreeBSD (это касается версии уровня ядрв, а не пользователъскоro уровня), и конфиrypируется она ана.лОl'ИЧнъrм образом. Чтобы не повторять здесь ее описание, отошлем читателей к соответствуюшсму разделу параrpафа 13.15. Особенности ceTeBoro конфиryрирования В отличне от большинства систем, Liпuх обрашает внимание на флаПf поля TOS (Туре of Service  тип обслуживания) 'Рпакета и быстрее обслуживает пакеты, помеченные как интерактивные (минимальная задерж ка). Восхитительная возможность! К сожалению, умники из Мiсrosоft сделали все WIЯ TOro, чтобы нам пришлось от нее отказаться. Все пакеты, поступаюШllс от Windows 95, 98, NT и 2000, помечвются как интерактивные независимо ОТ их назначения. uNl.xсистемы этоrо не делают. Если Linux  шлюз обслу,кивает смешанную сеть, в которой используется как UN IX, так и Windows, Windowsnaкcты всетда будyr иметь приоритет. В то же время в однородной UNIXcpeдe ПРОИЗВОllительность заметно повышается. Отменить сортировку пакетов на основании поля TOS можно во время КОМnИЛlщии ядра Linих. Нужно просто отключить опuию "'Р: use TOS value as routing key". Коща используется IРмаскироваН11е (система NAT), ЯllPо собирает полный пакет из фраrментов, лреЖllе чем пере направить ero, llаже еслн сразу после этоm прЮIется заново разбиввть пакет на фраrменты. На это уходит несколько uиклов работы цен-rpалъноrо процессора, OllнaKO современные проuессоры нвстолько быстры. что подобная потеря BpeMelm вряд ли окажеТСR заметной. Linux позволяет менять МACa.дpcca сетевых интерфейсов определенных типов. Мы считаем это ошибкой и не рекомендуем делать ничеro подобноrо. 13.15. Сетевое конфиryрирование FreeBSD Во FreeBSD имеются самые современные инструменты из ceтeвoro арсенала: два пакета межсетевой зашить! (включая систему NAT), две реализвции протокола РРР, ПОД!Iержка протокола ТПСР (представляюшеrо собой достаточно успешную попытку сделать WеЬсоединения более з eK тивными) и мнотое црyroе. Основные сетевые параметры указьmаются в файле /etc/rc.conf. Стартовые сценарии читают также фвйл /etc/defвults/rc.conf, в котором задвJOТtя ствндартные значения большинства перемснных. Можно создвть фвй!! /ctc/rc.conf.local, в котором будyr храниться параметры, cnеuифичные для заданноrо узла. На самом деле перечисленнъ!е файлы представляют собой shеllсценарии, создающие среду JlЛЯ работы1 дрyrnх стартовых сценариев. Формат З'I1IX фвйлов одинаков, а необходимость их существования объясняется тем, что разработ. чики хотели разделить конфиrypаuионные данные на уровни и хранить их по ОТДeJIЪности. Фаllл /etc/defBults/rc.conr содержит начальные значения ;rля большинства параметров. В файле /etc/rc.conf нахО.llJlТся napaмerpbl, которые являются локальными, но. возможно, они общие для нескольКИХ машин FreeBSD. Файл rc.conf.locвl хранит установки, примснимые лишь к ЛОКВJIьноlI 352 Чость 11. Робото . свтях 
машине. Для ПрОСТОThI мы предnолвrаеМ 1 чrо в системе используются только файлы rc.conr. МО.IIИфииировать файл /etc/derBults/rc.conr не нужно. Он полезен тем, что СОll.ержит практически полный список перемсннblX, ДОСТУПНЫХ ДЛЯ моltИфиквции, наряду с описанием их предназначения. С точки зрения системноrо администратора. единственное заметное различие между FreeBSD 3.4 и 4.0 заключается в ТОМ, что стан.nарПiое ядро содержит больше драйверов сетевых устройств (обшим ЧИСЛОМ (3), В твкже имеется встроенная поддержка стандарта lPvб. Базовое конфиryрирование НИJI<е показаны установки, которые нужно сделвть в фВЙ1Iе rc.conr, чтобы переопределить пустые значения соответствующих перемtнных. зanаНJiые в файле /etc/deraults/rc.conr: hО8tпаmе-"иwяузла" lfconflg xxx-"!net IРдрес" defaul trоut.еr-"WJ1I)З" З'J.'О оt:iЯЭ8тельно I l<онфиrураUИR сетеиоI'О УС'J.'рОЙС'J.':8а С'I'андар'l'НЫЙ IШIЮЗ ПеременнВJI net.work 1nterfaces ПО умолчанию равна auto , чтобы системв MorпB находить Сетевые интерфейсы нв этапе НВЧRЛьной заrpузки. В эту перемениую можно также залисать список имеюшихся интерфейсов (не забудьте вкпючить интерфейс обратной связи). Например; net:work1n't.erface8-" 100 х10" Статические маршрyrы задаются R переменной s't.aticrout:es: staticroute8-"backlan 212" . списо.: С'I'8'1'ИlolесJ<И)( маршрутов routeb.acklan-nnet 10.0.2.0 132.236.212.211 route212"net 132.236.212.64 пеtтa.к 255.255.255,192 132.236.212.6" ПеремеинВJI static routes содерж.ит разделенный запятыми список имен маршрутов. Имя маршрута  это произвольная строка, олределяющая переменную rоuteuмл, в которой задаются apryмeHTЪJ .штя KOMRH.lIb1 route add По умолчанию маршрyrизаuия полностью залрешена. Поэтому в боль UlИнстве систем нужно либо указать стандартный маршрyr. либо задать стандартные маршруты, либо вктивизировать демон routed ил.. gated. (По умолчанию база данНЫХ NIS тоже отключена,) Примеры конфиrypаций Чтобы вручную Сkонфиrypировать Etl1crnctnпaтy и задать стандартный маршрут, необхоll.'ИМО воспользоваться такими комвндами; ircon:f'ig х10 1n.t 192.108.21.11 1I.tm&.k Oxffff:f':f'OO Z'out8 ac1d d8f.ul t 192.108.21.254 Вторая из показанныx команп эквивалентна следуюшей команде.: rout. ad.CI. n.t 0.0.0.0 192.108.21.2!i4 В отличие от большинства версий команл.ы route. во FreeBS D эта команда требует наличия дефиса перед опuией. залаюшей тип маршрута (net и;Jи -host), и не принимает счетчик числа переходов. 353 r лова 13. Сети ТСР /IP 
После выполнения указанных ВЬПl1е действий команды ifconfig и netstat nr вып.ают такие результаты: % 1con:f'ig :11:10 х1О: f1ags.z=8843<UP, BROADCAST, RUNNING, SIМPLEX, МULTICAST>mtu 1500 iлеt 192.108.21.11 netmask Ox:ffffffOO broadcast 192.108.21.255 ether ОО:БО:91:9Ь:69;9а meoia: 10ЬазеТ/UТР <halfduplex> supported media: aut:.oselect 100ЬазеТХ <fullduplex> 100ЬаsеТХ <half----duplex> 100ЬаБеТХ 10baseT/UTP <fullduplex> 10baseT/UTP 10baseT/UTP <halfduplex> , n8-c.8tat nr Routing '[аЫез Internet: Dеstiлаtiоп Ga. tewa у F lags Refs Use Net:.if Ехр defaul t 192.108.21.25' UGSc О 18 :«10 121.0.0.1 121. о. 0.1 ОН О 3 100 192.108.21 link'l ОС О О х10 192.108.21.1 8:0: 20: 11: 5е:аО UHLW 2 2586 х10 1160 192.108.21.246 0:ЗО:f2:f:'8:0 UHLW О О х10 зоз 192.108.21.254 O:0:c:14:82:81 UHLW 1 О х10 1126 Флаrи с и С в выводе команды netstat nr rоворят о том, что новые маршруты узла (три последние строки) ПоЛЖНЫ быть автоматически creHe р'Ированы 'И добавлены в таблиuy марШРУТИЗдWfl.l при выборе локальноrо ceтeвoro маршрyrа 'ИЛИ cтaHnapTHoro маршрута. Обратиrе внимание на то. что у кЗЖдОro из новых маршрутов есть срок действия. Необходимость увеличения таблиuы маршрyrизаuии объясняется ЛВУМА причинами. Первая 'ИЗ них заКЛlOчается в том, что дпя маршрyrов локальной сети таблица маршрyrизаuии одновременно является ДRРтаблиuей. Обычно это разные таблиuы, но в 4.4BSD ОН'И были объединены, и FreeBSD унаследовала это своЙство. Вторая причина та, что FreeBSD пытается сохраиять параметры соединений с внешними узлами (напрнмер, значение MTU дЛЯ ТСРсоединения). запоминая их в таблице маршрутизации. Тоща при последуюших подключениях к тому же самому узлу можно будет повторно использовать эти naраметры, ие вычисляя их заново_ Kor:na срок действия заПИСI1 истекает, оиа удаляется из таблиuы маршруппаШl'l.l. Флаr s в описании станл.артноrо маршрута rО80рИТ о том, что ЗТо статический маршрут. который не должен }'лаляться из таблицы. Слелуюший пример привепен в системе FreeBSD 4.0. rпе реализован как стек IPv4, так R стек JPv6. В обоих случаях конфиryрирование интерфейса осушеСТБ.тlяется посредством команды ifcontig: , l:f'con:f'iq :f'zpl fxpl: flа9р=894З<UР, BROADcAST. RUNNING, SIMPLEX,MULTICAST>mcu 1500 l.леt. 135.::'91.1.116 netmask Ox.ffffffOO Ьrоаdсв.st 135.197.1.255 iлеt.6 ее80:: 208: c7ff: feB9: 4fОЗ%fхрl prefixlen 64 scopeid Ох2 ether ОО:08:с1:89:4f:ОЗ media: autoselect (100baseTX <halfduple)!.» status:active .supported medl.a: autoselect lOObaseTX <ful1duplex> 100ЬазеТХ 10baseT/UTP <fullduplex> 10baseT/UTP 354 Чость 11. Робото в ceTX  
Конфиryрирование DHCP ВО FreeBSD имеется DНСРКJJиент орrанизашш ISC. Он конфиr;'риру ется посредством файлов rc.conr. Стандартные Зt:l8чения в файле letc/de faults/rc.c::onf таковы: dhcppr09ram""'" Isbin/dhclent." t nY'J.'b }( DRСР1<лиен'l'У dhcpfla9s"""" . ФлаI'И, nередаваеыые клиенту Скорее Bcero, эти значения правильны; менять их требуется ТОЛЬКО в ТОМ СJlучае, Korn8 nporpaMM3 dhclient перемещается в npyrой каталоr ИЛИ вместо нее подставляется прyraя nporpaMM8. Чтобы активизировать протокол DНСР МЯ KOHkpeтHoro интерфейса, добавьте следующую строку в файл jetc/rc.conf: ifcon f i9 ИН'l'ерфейс==-" ОНСР" t Активизация DНCP ДlIЯ .naHNoro интерфейса При такоЙ конфиrypаUm1 np0l1'aMM3 dhclient будет запушена На этапе началЬНОI-I заrpУЗКI-I, если существует файл /etc/dhclient.con[ Эта nporpaMM3 отвечает за получение [Ралреса штя интерфейса, задание cтaндapтHoro маршрута. выбор правильноrо сервера имен и т.д. Файл dhclient.conr  это текстовый конфиrypаuионный файл ПрОИЗ80ЛЬ ной формы, наПОМl1наюшиЙ аналОПiЧf-FЫЙ файл пакета BIND ИШ1 DHCP сервера ISC. С ним связано СЛИШКОМ MHoro опuиl1 и параметров. чтобы все их моЖНО бьUlО описать здесь. К счастью, стандартные установки в большинстве случаев подходят, поэтому можно оставить фаЙЛ пустым. Проrpамма dhclient хранит ннформаl.{ИIО об арендованных пара метрах в файле dhclient.leases, а свой идеНТllфикатор проиесса  в фаЙле /,.arlrun/dhcli ent.pid. Диномическое переконфиryрирование и настройка Узнать или задать значение переменной ядра 80 FreeBSD можно с по1ОШЬЮ команды !Jysc(1 Сушес1l'lyIOТ сотни раЗ.'lИЧНЫХ переменных. из которых около 65ти связаны с КОНфИI)l)ированием сети_ Подробное их описание можно получить на mапстраниuе sysctl(J). KomaJ-Ша sysctl A выводит СПИСОК переменных с их текушими значеНИЯМII. В JtMeH3.X переменных. СВЯ j8нныx С конфиrурированием сети. присyrствует компонент "пеС'. Чтобы отобразить только их. задайте команду sysctl A I grep net. Если нужно узнать ..шачение конкретной переменной. }'}..8Жите ее 1fмя в строке flыоваa команлы S)'sctl. НЮlример. посреДСТ80М С=lелуюшеи команды fOЖНО опредеш1ТЬ. ПОдllержив.1ет Лl-I снстема переН8правление IРП8кетов: " aY:llct1 net _ inet. ip  forwArding net. inet. ip. forwardin9: L Значение 1 означает ПОдllерЖJ<y. Чтобы изменить значение переменной. укажите флаr w 'и задайте новое значение через знак равенства: % 8udo aysct1 .... n.t.ina.ip.:rorwardi.nq=O пеt.iпеt.iр.fоrwаrdiЛ9: 1 > О эта команда оТЮllочает перенапраRЛеше IРпакетО8 r ПО80 1 З. Сети тср IIP 355 
Безопасность, брандмауэры, фипьтрация и система NAT в табл. 13.23 ОПИСВНО, как во FreeBSD реализован ряд теХНОЛQПIЙ, каС8ЮШИХСЯ безопасной работы в сети, О них кратко раССК83ЫВЗЛОСЬ в параrpафе 13.9. В третьем СТQлбuе указаны перемснные. посредством которы,," МОЖНО изменить соответствуюшj'Ю установку, ЭТИ перемснные должны быть заданы в файле /etcjrc.conf, а не с ПОМОШЬЮ команды sysct1. т обл....ца 13.23. Поддержка технолоrий. свзонныx с сетевой безопасностью, .0 FreeBSD т 8XliОnОrиJ! По умолчанию ПеременнClЯ файла rc.conf Перснапрaв.ru::ннс отключено 98 tewa.y enable IРпакетав ПСpc8J1peсуюшис ПрККИМВJOТCЯ lcrnp  d.rop rеQз..rесt.l IСМРпахе-тbl Направленная MBp нrнорнр)'ется wрyrизauИR ШИроkовеwaтсль иrнОРИРУЮТСR ные plDIпакеты I Имеете. TBJOI(C псpcwенная 1сrnр 109 red1rect.. посредством kОТОРОЙ ВКJlJOЧ8СТСИ реrиC'l1lIWИЯ ICМPnaxtтO..   fo!:'wi!rd :!ourcerou te и 8ccep::'so\Jrcerou::'e iс:mрЬmсаз,;:ес:hо Лучше не применять компьютер. работающи под управлением UNIX (ИJ!1oI Windows NT), в к..чествс брандмауэра, особенно в крулной орrанизашrи. rпе по сети передаются важные данные. Безопаснее и надежнее использОвать спеuивлизированное обоРУЛОD8ние, например систему Cisco PIX. В то же время проrpаммиый брандмауэр иа базе U:-JIX лодойдет Ш1я домашиеrо комП'Ьютера, rде пользователь реryлярно обновляет систему. устанавливая самые последние "заплаты". Ниже мы опишем два П8кета межсетевой зашиты, имеюшихся во FreeBSD: Ipfw и IPFil!er. Лроrpамма Ipfw поддерживает концепuию "фИКТИВНОЙ" сети, посредством которой можно управлятъ Iпtеmеtтрафиком, задавая ширину полосы npo пускания н длину очередей BBOдaBьrвoдa. 8 также имитируя залержкJ.i и потери. Изначально "фиктивная" сеть была зa.nУjчана как средство устраНС:Н1fЛ заторов в ТСРканалах, но затем нашла MHoro л.рyrих применений. Сеrо,nня она используется .nля оrpаничения ширины кана.:Т8, занимаемоrо Web и.т'1 FТРтрафиком, и .nля управления заrpуженностью вылеленньтх ЛИНИЙ. Более подробная информаuия приведена на mапстраниuе dummynet. С Проrpамой Ipfw леrко работать. а ее синтаксис напоминает сиитаксяс списков лоступа компанI01 Cisco. Чтобы реа.:тизовать систему NA Т посредст- вом проrpвммы Ipfw, воспользуйтесь утилитой паtd в К8талоrе /sbin. Подобно проrpамме ipchBins в Linux, nporpaMMa ipfw вызывается по одному разу .nля К8.Ждоrо правила фнлыраuин. Таким образом, бранлмауэр реалюу ется в виле shеllсuенврия, из KOToporo вызывается последовательность команд ipfw. Н иже покюан фрar"мент 3Toro файла, КОТОРЫЙ поможет понять синтаксис комаНlIЫ. В данном ПрИ\.fере deO  это внешний интерфейс, а edl  8нyrренНJ1Й. Третий параметр кажлой строки задает номер правила. Прапила обрабатываются по порядку, от младшеrо к старшему. ЭтОТ порядок важен, так как самое первое правило, которому соответствует проверяемый пакет, определяет выполняемо леСТВ1fе. *' ФАЙЛ nporpawwы ipfw дли FreeBSD , Снаl,l&ла УДi!ляеw старые f.iрв.ВИJI pfw ! flu9h 356 Часть 11. Робота в СЕТ!!): 
, Разреwаеи J5ce пакеты от DHCPcepJ5epa и узла 9"'. 8уаnск. леt ip.fw add 500 а11оw p from 128.138.129.136 to a.nу ipfw add 510 a110w ip from 209.180.251.58 to алу . Разрешаем 8ХОДНОЙ и 8ЫХОДНОЙ трафик SSH 1pfw add БОа а11о'" r.cp trorn алу to алу 22 у1а delJ ipfw add 605 a110w r.cp t'rom алу 22 to алу 1n v1a deO t Разрешаем ARPnaKeTaN проходить чере!! ЫОСТ 1pfw add 1000 а11о'" udp t'rom 0.0.0.0 2054 to 0.0.0.0 Друтие лравила разрешают входной и выходной D NSтрафик, достул к внешнему WеЬсолержимому. DНСРзапросы и UDPnaKeTbl для проrpВ\.fМ traceroute и Quake (это стуленческий компьютер). Весь траФик в прелелах локальной сетИ также разрешеи. Ведется "черный" список адресатов. обращающихся к DNScepвepy с запросами относительно несуществуюших узлов. Весь остальной трафик из внешнеrо мира блокируется. Пакет IР FiJter. написанный Дарреном Ридом, заслуживает болъmеrо внимания, поскольку он совместим со мноrими дрyrими версиями UNDC В Hero вход.,., nporpaмMa ipr, конфиrypируюша.. браНilмарр, лроrpамма iprstat, отображаюша.я список инсталлированных правил фильтра.ШПI, про rpaMMa ipnat, реsлизуюша.я сУ.стему NAT. и рял лрyrих утилит. Пакет лоступен по адресу ht[р:/!сооmЬs.апu.еdu .аu/аvаlоп/iр Шtеr. html Прежде чем начинать работать с пакеrом, нужно скомпилировать ялро со следуюшими парамеrрами: opr.1on IPFILTER option IPFILTERLOG Пакет IPFilter прОБОЛИТ четкое разrpаничение межлу фильтраuией пакетов и системой NAT, а не смешивает их полобно проrpамме iрсhаiпs в Red Нас На mвпстраНИЦaJ( ipl{l) и ipr(5) описан ..]ЫК ]мания фильтров и приведено Jo.rножество примеров. Проrpамма ipr читает файл (ло умолчанию это /etc/ipr.ruIesJ. в котором заданы правила с.ледуюшеrо вида: действие п J out [quick] условие... Параметр действие может принимать следующие значеl-ПfЯ: pass  принять пзкет: block  удалить пакет; 109  зареrистрировать пакет 8 системе Syslog; coun t  вести подсчет пакетов, соответствуюших данному правJ.1ЛУ. Модификатор qU1C rоворит о том. что jадзнное леЙСТВlfе ДОЛ)I\НО быть выполнено как можно быстрее. Он задан по умолчанию ШТЯ ..'lеЙСТВlfЙ C r L И 109. Обычно правила применяются пос.лепопателъно и никакне .nеиствия не производятся ло тех пор, пока не будут провереиы все правила. ЕсЛl-! пакет соответствует нескольким правилам. самое последнее 'lроtJuло Оl1реде:lяет выполняемое оеиствие. Описанное поведение прямо пропшorlOложно работе nporpaMM ipcllaillS и ipfw. ПОЭТОМУ в Liпux браннмауэр работает быстрее. при первом :же совпадении обработка пзкета прекрашается. Лроrpамму ipf у.nобно ПрlIменять штя реализаuии так называемоrо консервативною бранлмауэра, 8 котором самое первое правило запрещает все пакеты, а остальные правила разреmают пакеты конкретны): типов. rnoBo 13. Сети TCP/IP 357 
в табл. 13.24 даны примеры усЛО8ИЙ. которые можно задавать в nporpамме ipf. Это лишь вершина айсберrа. Полная информаuия приведена на mancTpa ниuе. посвяшенной проrpамме ipr. '\- JI")ioIe оп интрфейс Тоблица 13.24. Примеры условий в проrромме ipf prot.o протокйА f rom исходныи  адрес t.o цеАиDЙ  адрес port.  номер  порта f1ags спецuфикаuщ флаi!Ot1 icmpt уре номер keep state I-:fозно...е r1рименить правшlO 1( указанному интерфейсу Отобрать пакы. соответСТВ}'ЮLL.J.Ие указанному прото колу: t.cp. udp или iemp Фильтрация a OCHOвaнlU'I алрсса отnpавитCJIJI; машин иый адрес, сетевой адрес иди алу Филыриция иа основании адреса по.лучвТCJUI: МilШJ1Н НЫЙ адрес. сетевой алрсс или алу Фильтрация в соответСТВИИ с номером порта, КоторЫЙ МDЖn быть задан по имени (из файла /elc/services) или HOMpy; BMtX:TO ЗI-Jака '" может быть любой дpyroh арифметический оператор «, >. <, >) Фильтрация на основаШШ фJ1аroн заroлОВК8 ТСРfl8 К<Т' Фильтpauин на основании типа и кода lCMP Сохранить информацию о состоянии сеанса; обыЧJ-tО это нужно, Ч'Тобы ОТ1llIЧ8ТЬ раБOЧJ.tе TCPceaHCЫ от НОВЫХ сеансов Давайте повторно реализуем uепоч-t..-у правил, опнсанную ранее в парarpафе, посвященном Red Hal, но I-.а этот раз вместо проrpаммы ipchains применим проrpамму ipf. Kalo.': и раньше, fbI предполаraем. что интерфейс рррО  это соединение с IПlеmеl. а интерфейс ethO  локальная Е(hеrпеlплата. Следуюшие правила разрешают весь локальный трафик и запрещают пакеты, поступающие по 113CTHhIM адресам из Вllешнеrо мира: раsз l.Л оп er.hO а11 pass in оп 10 al1 block in quick СЮ рррО from 192.168.0.()/lб r.o алу block 1П quick оп рррО from 172.16.0.0/12 r.o апу block in quick ол рррО trom 10.0.С.О/8 to алу Чтобы блокировать пакеты nporpSMMhI tеlпеt. но разрешить почтовые и SSНсоединения. ВОспользуемся такимн правилами; block 1Л pror.o r.cp from апу to апу port  23 pas.:s 1Л оп рррО pror.o tcp from алу to алу port  25 раsз iл ол рррО proto tcp from ал у to алу port. 22 Последние ilБа правила ПОЛЖНЫ таk.'Же включать преlIЛожения flags и keepstate, чтобы предотвратить перехват ТСРсоедннений. Обратитесь к парarpафу 21.9 и mапстраниuе ipr(5), rде подробно описано. какие правнла нужно задавать и КЗJ\. их записывать. Те, кто работает в операuионной системе ОрепВSD. MOryт просмотретъ ф.йл /usr/share/ip[ в нем содержится МНоже ство примеров команд ipf и ipnat. Чтобы заработала система NA Т, нужно сооБЩIПЬ ядру входные и Bьтxoднъ:re адреса штя ПрНВflЗКИ. а таk.'Же лиапазон номеров портов, блаrодаря 358 Чость 11. Робото в сетях 
которым происходит расширение aдpeCHoro пространства Подробнее о механизме привязки адресов рассказывалось в парarpафе 13.4. Синтаксис правил NAT, задаваемых в проrpaмме ipnat, напоминает синтаксис правил проrpамм.ы ipf. Эти правила тоже упорядочены. но в обратной последовательности: лействие выбирается на основании пepBolo подошедшеrо правила Вот несколько примеров правил nporpaMMhI ipnat (они задаются в файле ipnat.rules): тар рррО 192.168.1.0/24 > 128.138.198.0/26 portrnap r.cp/udp 20ClОО:65000 map рррО 192.168.1.0/24 :> 12e.138.198.0/26 Опятьтакн. мы пдполаrаем. что рррО  "по интерфейс д.оступа в Intemet, а локальным компьютерам назначаются адреса из диапазона частных алресов. эти правила связывают адреса из сети /24 с адресами сети /26. Поскольку в сеть /26 может входить в четыре раза меньше узлов, чем в сеть /24, сушествует вероятность, что в какойто момент ueлевых адресов окажется недостаточно.. Но предпожение portmap расширяет диапазон адресов, разрешая назначать каждому адресу 45000 различных портов. Первое правило реI).лирует весь трафик тср и UDP, но не затрапшает ICMP, так как в JTOM протоколе нет понятия порта.. Второе пр:шило задает перехват всех (СМ Рсообщений; должна быть сделана ПОllьrrкз вернуть их узлуотправителю. ЕСЛl-1 ядро Не может о.з.нозначно ОllредеШflЪ. кто ДОJТ'..кен принять заданное )СМ Рсообшеl-llfе. оно осушествляет шнроковеuп1Л::ЛЬНУЮ рассылку пакета. Л юбая машина. которая получит не предназнаqенный ей пакет. лолжна удалить ero. На ломашием компьютере пользователю может быть предоставлен реальный IPaдpec провайлера или адрес, полученный от DНСРсеряера провайдера. Если выде.:lяется статический адрес, нужно в строке та!=, задать ДЛЯ целевоrо адреса суффикс /32 и лостаточно широкий лиапазон номеров портов. Если же при каждом пошслючении адрес нaJначается заIЮВО, воспользуйтесь нотаuией 0/32, которая застаВIП nporpaMMY ipnat получить адрес непосрс.nственно от сетеиоrо интерфейса. Например, ниже показана строка для случая, коrда линамически назначается один единственнblЙ адрес: тар рррО 192.168.1. Ь/24 :> 0/32 portmap tcp/udp 20000: 65000 Механизм фильтраuии пакетов, система NA Т и режим реrистраш lИ должны аКТllВИЗИРОваться на этапе начальной заrpузки. СООТ8Стствуюшие команды выrЛЯДЯТ так ip:f E F& :f letc/1pf.rulB8 ipnat CF :f letc/i.pnat.ru188 i.ршоn D II Флаr E команлы ipr разрешает фильтраuию. флаrи Fa ВЫjЫвают сброс существующих праВЮl для всех потоков. а флаr f lадает чтение новых правил из файла /etc/ipf.rules. Точно так же в случае проrpзммы ipnat сНачала удаляются старые праоила. а затем зsrpужаются новые из файла /etc/ip nat.rules. Проrpамма ipmon выполняется в качестве лемона, отслеживая naKeThr. которые реrистрнруются проrpаммой ipf на псевдоустройстве /de'fl/ipl. и направ.ттяя их системе Syslog. flo умолчанию FreeBSD преДllолarает. "ITO Б качестве системы фитrьтраuии используется nporpaMMa ipfw. а не ipr.. Нужно придумать новые переменные. которые вкточали бы фильтрацню проrpаммы ipr в файле rc.con[ и задать 359 rлоео 13. Сет. TCP/IP 
360 соответствующие строки в стартовом сuенарии rС.Пftwоrk. Возьмите за образеu строки вызова nporpaMMbl ipfw. Редактирование файла rc.nerwork мы оставляе1 читателям в качестве ЛОМ8шнеro З8Лания; укажем лишь. что система NA Т конфиryрируется посредством переменных natd"': r.atd yrogram""''' lusr Il5bin/ РПIll t" natd enable""YES" лаt.diпtеrfасе""'ххх" . имя устрОЙСТ1!8 ИJТИ IPaдpec natd=f1895,,"f /etc/:.pnat.. rules" . плюс любые необходимые флаr'и Не звбываЙте о праВИЛЬНDМ ПОРЯдке инпциалИЗ8ШfН Kor.mOHeHTOB на этапе начальной заrpузки. Из соображений безопасности лучше включать фильтраuию по тата, как будут СКDНфИТУРИРОВ8НЫ сетевые интерфейсы. Конфиryрировоние ррр Во FreeBSD имеются лве реалнзаUИ1f протокола РРР: одна в самом ядре. в дрyraя  на пользовательском уровне. ПО.'1ьзователъская проrpаммз назы ваотся ррр. Она использует драйвер IРтуннслей и файл КОНфИI)-раUШf /еtс/ррр/ррр.сопf. Эта проrpaмма работает меШlеннее, чем анапоrичный МОД)'lЬ ядра, но у нее есть MHOro дополнительных особенностей, Она подробно описана в соответствуюших m8Пстр8НИU8Х, поэтому мы не булем рассказы. ватъ о ней та...: же дета..пъио, как о реализзuии ррр уровня я.прэ_ Проrpаммз ррр требует, чтобы в ядро было включено псевдоустройство tun и существовали файлы /d.>/tuпО, /d.>/tuпl н т-д. Она конфитурируется ПDCреПСТ80М файла ppp.conr; ero образеu расположен в кзталоrе /etc/ppp 11 содержит ПрИ!oifеры всех опuий, которые Moryr коrпалибо понадобиться Сушествует также ряд вспомоraтельных файлов. Файл ррр.dеп)' содержит список пользовате.1ей (напрнмер, root и Ып), KOTOpЫ1 запрешается вызывать nporpa\iMY ррр" Фаttll ppp.shells включает список I(зталоrов для всех .з.оступных интерпретаторов команл; nporpaMM8 ррр запрешает доступ в систему ПОЛblО вателям. чей интерпретатор не указан в списке. Запнсь def аиl t. в файле ррр.сопС задает такие параметры, как скорость передачи в бодах, фвйл устройства ШIЯ модема, ОПШН1 реrистраuJ.lИ и порядок подключения. Далее следуют записи lL1Я всех уз.. ' IOВ, с которыми !oifOI')I быть установлены РРРсоешrнения, например: 0110"" user иин .Jlокальноrо пользователя net.blazer800:   зеt phone номер  телефОНа set. login "ABaRT NO\ \зСАRR!ЕR ':'lEOUl' 5 оу':'п: оgiл: мил word: пароль" set. t..J.meou t 120 delete ALL add defau1 t HISADDR в данном примере указывается ПО!Iьзовзтель, которому разрешае I"СЯ вызывать протрамму ррр (MY не И}rжJiо реrистрироваться под имеие1 roo[). номер телефона и сuенарий реrистраuии (ПКТlючая реrистраlIlюнное ИМЯ 1-1 пароль). В послс.дних двух строКах удаляются все существующие маршр}ты и добав.ттяется стандартный маршрут к PPPcepBepy (скорее Bccro. серверу провайдсра). РРРмодуль ядра использует .'lCMOH pppd E.ro реПfстраuионные фаилы также хранятся 8 каталоrе /etc/ppp. основные и.3 них  это optinns н ppp.dell)! Оии обычно служат в качестве пополнения к локa.rlЫIЫМ фаil:1itМ теРМШIХIЬ- Horo сервера На ПрОТИ80ПОЛОЖНО!oif КOI-ше соединения Например, ф,J'I ЧастЬ 11_ Робота в сеп)( 
r options.netbIazer содержит параметры KOHкpeTHoro устройства, а файл chat.net bIazer  реrnстраиИDННую информацию. Во FrecBSD имеются оБРс13UЫ хонфиryРВUlIOННЫХ фаЙлов .пли нескольких РРРСllенарllе8: ОНИ расположены в каталоп: /usr/share/examples. Похюанные ниже конфиryраuионные файлы описывают РРРсое.з.инение меЖЛ}' домашним компьютером Эви Немет и университетом штата Колорап.о. Первый файл сопеРЖIIТ rлобальные лараметры немон. pppd, второй  параметры подключения J( ilpeSHe}l.f)' терминальному серверу Ne[bIazer, установленному на факультете вычислительной техники. а третий фай.., зто лиалоrовый сценарий. осушествляюший реrистраuию на сервере: 1\ cat /et.c/ppp/opt.1ona , rлоflальные РРРпараwе'l'РЫ lock ,.. :всеrда аsупcrnар Охоооооооо CI:tsCt..s modem defaultrO\Jte mru 552 mt.u 552 алокУ..роиа.ть ИСI:ольэуеwое УС'.i.'рQЙСТНО ИСПОЛЬЭОJ!l8'1'Ь .anllapa'.I'HOe уr:раиление ЛО?ОКОМ v.СПОJlьзоl!!toа'" упрааляюwие сиrнвлы wодеwа добави'1.'Ь с'ТандартНbIЙ uаршрут через РРРин.rерфейс MRU/MTU 512 (данные) + 40 (заI'ОЛОВОК) " cat 'etc/ppp!opt1.on8.n8tbla:Z8r . Файл парамеТрО8 I<OHKpeTHOI'O РРРсоединения 128.1зе.198.47::2е.13В.24З.1Ei1 tt локаЛЫiblЙ:удаленный IPaдpec пеtmаsk 255.255.255.0 t маска подсе'l'И /dev/cuaa2 tt используе'1'СЯ '1'ре'1'ИЙ последов. ПОр'l' 57600 t CRCpOC'1'b соединения 11 бодвк 'pers19t * ПЫ'1'а'1'ЬСЯ nOS'l'OpHO подключиться * 11 случае неудачи t ждать 5 секунд межnу r:ОПblТХCl.NИ /etc/ppp/chat. ne.tblazer" t ПЫ'1'атьсн о-.:.'соедини'rьсн коррек'!'но 'holdoff 5 connect n /usr/b1n/chat v  d!sconnect "/etc/ppp/hangup" , c;:at /8tc;:/ppp/chet.n8tblazer ABORT BUSY ABORT I NO CARRIER' TlМEOU'!' 5 OK' 'II ATZ OK+..,.+ATHZOK АТDТНОNетеJIефона TlМEOUT б() CONNEC': 1. 'flМEOU: l() 09Л: о91п: Pev1 55word: пароль 'Packec l'Т'.ode enabled I Обычно можно прОСТО отредактировать с}'ш:ествуюшиЙ ПJ.I&лоrовый cиe нарий, не вннкая особенно в принuипы ero работы, В данноч при-мере первая строка описывает, в каких случаях сuенс,рии .;rолжен з.,вершJtться. Вторая строка и-ниuиализирует моде,,,( и вызывает набор номера. Следуюшие строки задают периопы ожидания, а также передают имя пользователя и пароль, В нашей системе реrистраuиоиные РРРимено  ЭТО имена ПОЛЬЗО8ате лей, перед которьщи ставится префикс 'Р', Так их леrче ззпоr..mнать. Лля запуски демона pppd необходи-мо задать такую команду: , .'Udo pppd f"ila /atc/ppp/options.na'tblazer rя.." 13. Сети ТCP/IP 361 
Демону можно педавать арrvменты в командноЙ строке. а также посреJIСТВОМ файлов /etc/ppp/options,  /.ppprc и /еtc/ррр/орliопs.термиllаль Hыйcepвep. Чтобы разорвать РРРсоединенпе, нужно просто УНИЧТОЖИ1'Ь демон pppd: , 8udo kill 'cat /var/run/pppO.pJ.d' Если компьютер является портативныM и периодически подключается к сети посредством Ethemetruтaты. а не протокола РРР, то перед запуском Демона pppd будет сушеСТ80вать стандартный маршрyr через сетевой интер фейс Ethemet. К сожалению, демон pppd не умеет улалять этот маршрут и устанавливать свой собственный, что лоrично было бы ОЖИдаТь. Для устранения этой проблемы нужно перед запуском демона удалять стандартный маршрут. Мы peKoMeнnyeM HaffilcaTb маленьКWЙ сuенарий ррр.ор. осушеСТ8 ляющий э1)' задачу автоматически. Вот как булет вы"лядеть конфитураиия РРРинтt:рфейса и таблиШl маршрyrизаuии после устаНОRJlеRИЯ РРРсоединеНИR: \: J.coni9' рррО рррО: flags=<8051<UP, POINTOPOINТ, RUNNING,I'1ULTICAST> mtu 552 inet:. 12В.1ЗВ.198.47 > 126.138.243.167 netmask OxffffffOO \: net8tat nr Routng tables Internet: Dest.ination de!ault 127.0.0.1 128.138.243.167 Gateway 128.138.243.167 12"1.0.0.1 128.138.198.47 Flags UGSc ОН ОН Ref.s 3 О 4 О.е О О О Neti.f рррО 100 рррО Expce С ПОМОшъю Команды pppstats можно узнать статистнку РРРсоединеНIIJ1: % pppstats IN РАСК СОМР UNC ERR 1647029 5101 4596 157 О OUT РАСК СОМР UNC NONVJ 203582 5051 4566 210 2/5 в СТQлбuе сомр отображается число пакетов, д;]я которых применяется сжатие ТСРзаrоловка. а в СТQлбuе UNC  соответстнеliИО ЧИCJЮ пакетов ОС1 сжатия. flодробнее об этом можно узнать в документе RFC 1144. Особенности ceTeBOro конфиryрировони Команда route во FreeBSD не ПОНИмает пара метр, lЗЛаюшиЙ IЩС;Ю переходов. Еслн же по ошибке указать ero. КОМ8НЛ3 воспримет это число как сетевую маску. Таким образом. "безобидный" CIJe-r:JИК 1 будет проинrер претирован как маска 0.0.0.1, которая сде.3ает нсе маршруты, ВКlllOч.а51 стандартный, совершенно бесполезными. 13.16. Рекомендуемая литература Stevens. W. Richard. TCP/IP IIlusrrared. Vo/итe О"е: The Pr%col.'i. Rезdillg. МА: ЛddisолWеslеу_ 1994. Wrig]lL, Gary К, and Slevens. W. Ricllard. TCP/1P lIIus/ra/etl. Vo/uтe T\I'lJ The /тpleтCтDtioп. Reading, МА: Addisol1Wesley. 1995 Эти два тома представляют собой прекрзсное. нсчеРПЬШi'l.юшсе PYKOAO ДСТ80 по протоколам TCP/IP. хотя уже HeMHoro устарели. 362 Часть 11. Робота в се тя )( 
Slevens. W. Richard. UNIX NellVork Progroттiпg. Рrелtiсе Hall. 1990. Slеvелs. W. Richard. UNJX NеЛ\'оrk Progroттillg, Vo/итe 1: NellVorkiпg APls  Sock",s aпd XТJ. Upper Saddlc River, NJ: РrеЛliсе НаП. 1997. Slevcns, W. Richard. UNJX Network Progrиттiпg, Volитe 2: lп/erprrx:ess Coттипica/i01lS. Upper Saddle River, NJ: Рrелtiсс НаП. 1998. Данные книти являются библиями сТ)'леНТQВ, изучаюших сеТеВое про rpаммирование. В первом изданпн описан только интерфейс сохетОВ Беркли. Во втором излании рассмотрен также интерфейс STREAMS. Все три книrи написаны в четком и ПОНЯТНQМ стиле Рича Стивенса. ТаnелЬаот. Andrew. Сотри/е, NClWorks, 3rd Edi/ioп. Upper Saddle Rivcr, NJ: Prenlice НаП. 1996. Эта кнмra поnpежнему яалАется классикой. Она содержит подробнейшее описание физическоrо и канальноrо уровней стека сетевых ПРОТОКОЛОВ. Пре.дылущие издания бьurи ориентированы на протоколы 150, но последнее издание охватывает современную архитектуру Internet. . Salus, Pc!er Н. Costiпg /Ize Nc/. Froт ARPANET /0 JNTERNET aпd BeYOIzd. Reading, МА: Addison. Wesley. 1995. Захватывающая история о ТОМ. как сеть ARPANET превратилась в lnternet. Книra написана историком, который t.шоrnе roHbJ общался с профессно напами UNIX, поэтому кажеТся. булто ее писал ОДИН ИЗ них СОП1еr. Dоцglas. JIlleтenvQrkтg wи/r ТСР/{Р vo/итe 1: Princip/es, ProlOCO/S, olld АrсlШCl.turеs, 4,1, Edi/ioп. Llpper Saddle River. NJ: Рrел!iсе НаП. 2000 Книrн 3Toro автора долrое время считались эталонным справочником по протоколам ТСР/lР. Новое и-зданне содержит описиние современных сетевых технолоmй, а также семейства протоколов TCP/IP. Оно прелна значено в качестве учебиоrо пособия для cryAeHТOB и является хорошим ИСТОЧНИКОМ справочноrо материала. Ноо!, Crajg. TCPjlP Network Adтiпis/rotioп, Sccoпd Edi/;oп. Sebastopol, СА: O'Reilly & Associa!es. 1998. Данное IfJдание ориентировано на администраторов LJ:'-JIХсистем. flo лови на КНIfПf посвящена протоколам ТCP/IP. а остальной материал Касается средств LJNIX более BbIcOKoro уровня. такнх как электронная почта и УЛaJIенныЙ лост)'п е Sonnenreich, Wes, and Тот Yates. BUI/diflg ипш иnd Opel1BSD Firewalls. New York, NY: J.W. Wiley. 2000. Это прекрасная небольшая книrа, написанная понятным языком. с нarлядными примерами и хорошим ЧУВСТВОМ юмора. Единственный ее недостаток в том, "ITO аитор yrвеРЖдзет. будто не следует применять nporpaMMY sudo для вьmолнения действий от имени суперпользователя. Якобы проrpамму неулобно использовать и она Toro не СТОИТ. МЫ катеrорически не соrласны с автором. На WеЬузле WWW.netscan.org ведется СПИСОК "усилителей" атаК типа "smurr' (т.е. систt:м, которые ре,&irируют на U.шроковешате:Jьные ICMPnaKe ты). Можно ввестн собствеННЫl-i ceTeBOJ.f IPaдpec. чтобы проверить cro, при условии, что маска подсети проходит на rpаниuе байтоВ. Если ваша сеть имеется в списке, запретите напраменное широковещание  станьте поря дочным rpажц:аНIIНОМ rлобальной сети Прекрасная КQллекuия ло....")"меНТов, посвяшенных ИСТОРИИ раз8ИТИЯ сети Internet и различных ее технолоrий, находится по адресу www.isoc.org/in ternet/history. 363 r n080 13. Сети ТСР /IP 
7 4 Маршрутизация L в rлаве 13 кратко рассказывалось о маршрyrизаUJfИ IРпаJ(етов. В Ha СТОЯЩей rЛ8ве МЫ подробнее изучим данный проuесс и познакомимся с различными протоколами, блаroдаря которым маршрутизаторы автоматически находят наиболее приемлемые маршруrы. Эти протоколы берут на себя основную наrpузку по управлению таб..Т'JИU8М'И маршрутиззпии, существеНl-1O упрощая задачу в.nминпстратор8М. Они также позволяют быстро перенаправ ПЯТЬ трафик, если маршрутизатор или сетевой cerмeнт выходят из строя. Важно отличать проuесс реальной переадресаuии ПВКе'Тов ОТ npоиесса управления таблицей маРШр}'fизаиии, лотому что я обоих случаях, иК правило, употребляют ОДИН и тот же термин "маршрyrизаuия". Переадресапия пакета  простая проuедура, таrnа как вычисление маршрута  довольно сложнЫЙ aлroритм. Мы познакомимся только с одноадресной маРШРУТИ]8 пией, поскольку при м-ноrosлресной маршрутизации возникает uелый ряд новых пpoбnем. рассмотреть которые не прелставляется ВОЗМОЖНЫf в Л8ННОЙ книrе. Почемуто считается, что IРмаршрутизация  чрезвычайно с.ттожн8Jf тема, понятная ТОЛЬКО кучке длинноволосых хиппи, обитвюших В подземельm: университета Беркли. На самом леле это не так, лостаточно лишь вспомнить, ЧТО в ее основе лежит прнншiП нахожnения "следуюшеrо перехода". В любой конкретной точке требуется определить следующий узе;] нли маршрyrизатор. куда будет ОТПРВW1ен пике'Т на пути к пункту с-воеrо назначения. Это полностью отличается от мноrих старых протоколов. rле перел отправко" пакета в сеть требовалось узнать ero точный маршрyr. Данный поlIXОД известен каК налраW1енная маршрyrизаuия.. Можно 38,Давать ТОЧНЫЙ nyть следования (рпакстов, но это обычно не делается. Из соображений безопаСRОСТИ подобная 8О3можность чаше Bcero оказывается нелОС1)'Т1НОЙ. 364 Часть 11. Робота в сетях 
14.1. Подробнее о маршрутизации пакетов Прежnе чем ПРИС1УТ1ВТЬ J( изучению 8JIrорИТМDВ маршрyrизации, paCCMOТ рим полробнее, каК используются маршрутные таблицы. Предположим, сеть имеет ТОПОЛОП1Ю, изображенную на рис. А. ЗОЛ А 14517 оот. 188.1156.1'8 .J"\_....  z;"r? iz...., ;  4 .... ',' ц; ''''  t.!- ! МВWРlIIзатор I . Int.m.t сеть 188.185.148 Рис. А. Пример Сети Маршрyrизатор М I связывает меЖЛ}' собой два EthernetcerMeHTa. а маршрyrизвтор М2 соединяет один из cerMeHTOB с внешним миром (считаем, что М \ и М2  это UNIXKOMnbIoтepbI, а не выделенные маршрутизаторы). Проверим. как выrлЯДЯТ таблиuы мвршрyrизаuии. ВОТ таблица узла А: А% n.t.tat rn Rоutiпg tables Deflt.inaion 127.0.0,1 199.165.145.0 defaul,; Ga'!:eway 127.0.0.1 i99.:б5.145.11 199.:!.б5.145.24 f"!ag8 UH U UG Refs 6 5 2 t1BE! 56ЗIЗi 28529 168589 f 100 leO leO Узел А имеет самую простую конфитураuию среди всех четырех машин- Первые лва маршрута описывают собственные сетевые интерфейсы узла. Они необходимы, чтобы пакеты, направляемые в непосредственно подключенные сети, не маршрутизировались особым образом. УСтроЙСТhО leO  это Е(hеrnеtплата. УЗ,)lа А, а 100  интерфейс обратной связи (виртуальный сетевой интерфейс. эмулируемый проrpаммным способом в ядре). Обыч-но эти записи автоматически лобавляются команлой irconfig при конфитуриро вании ceTeBoro интерфейса o Подро6нее о "омонде ifcoпftg можно узноть . "ароzрафе IЗ.IO. Как указывает флаr Н, первая запись обозначает узловой \/fаршрyr. связанный с одним конкретным 'PaдpeCOM, а не всей сетью. Данный маршрут можно слелать сетевым. но это не имеет особоrо смысла, так как в сети обратной свяЗ"и сушествvет одинединственный [Paдpec В таблиuе \1аршру тизаuии булет сделано вcero олно изменение: 8 СТDлбuе destlnatlO:1 появится адрес \27.0.0.0. а не 127.0.0.\ (соответственно, флаr Н исчезнет). Существенной разнИllЫ между узловым и сетевым маршрутом нет. Коrла ядро ишет адреса 8 таб.ilиuе маршрyrизаuии. оно обрабатывает их одинакоио. Отличается лишь Дffill-Ia неявной масК11. Имена интерфейсов будут отличаТЬСR в зависимости от конкретной операционной системы и аппаратной JUlатФОрмы_ r лаво 14 МоршрутюаЦИJl 365 
0' о сетевых "йСках рйсскйзываJ10СЬ в пйраzрйфе 13.4. Стандартный маршрyr УЗЛ1'1 А залает псреНЗПРtшление исех пакетон. IIе адресованных локз.лышму КОМПЬЮ1"еру ИЛИ сети. на маршрупозтор М 1, шрt"": KOToporo в даннои сети  199.165.145.24. Флзr G УКa.Jыиаст на то, что .n.анный маршрyr ведет к ШЛЮЗУ. а не к одному из локальных ннтерфейсов узла Л Шлюзы должны находиться на р8сстоmrnи одноrо перехонз. Предположим теперь. что узел А посылает пакет узлу Б. адрес котороro  199.165.146.4. IРлодсистеМ8 ищет М8ршрут к ука38ННОЙ сети 199.165.146 и, не иайдя TaKOBoro. отправляет паКеТ по стандартному маршрyry. т.е. маршрyrизатору М I На рис. Б приосден ВИД пакетз. проходяшеrо по сети Ethernet (В заrоловке Ethemet УК3"1аНЫ MACaдpeca интерфейсов А и М I п сети 145). 0' Сравнение 'P и ElheтelaapecoB npoUJBOdlLIOCb в парйzрафе 13.3. 3аrоловок 3аrоловок IP ЗаrоловоК LlDP и данные Elh.m.1 От:А От: 189.165.145.11 11001010110101011101010110110101 Кому: М1 Кому: 199.165.146.4 01110110110111010100010100100010 Тип:IР Тип: UPD 01011111011010101010011101010000 UDPnaKeT IPnaKeт Еlt1еmеt-ющр Рис. Б. Еthеrпеtпокет Целевой аппаратный Etllemetaдpec обозначает марl.llрyrlпатор М 1, 1-10 lPnaкeT. скрытый 8 Е(hemе(КElДре. не содержlП никаких )1l0МlIнаНI1Й о маршрyrизаторе. Коrда маршрyrИ13ТОР проверяет поступивший пакет. он замечает. что ero пеленоЙ IPaдpec не совпадает с аппаратным. Тоrда 011 просматривает собственную таблицу маршрутизации, чтобы узlfать. как переслать пакет узлу Б. не переПIfСЫвая ero заrоловок (необходимо, чтобы отправителем пакета оставался узел А). Так выrляmп таблиuа маршрyrnзашш УЗЛ3 М 1: Rl\ netstat rn Rоutiпg t.aыes Destinat1.On 127.0.0.1 199.165.146.0 199.165.145. О default Gat:eway 127.0.0.1 199.165.146.1 199.165.145.24 199.165.146.3 Flags UH U U UG Re[s 10 15 О 4 Use 10233 4529 121 168589 If 100 1е1 1еО 1.1 Эта таблица похожа на таБЛИIIУ ШJЯ У1Ч3 А. 1a 1СЮlючением Toro. что в перной присутствуют два физических сетевых интерфеЙса. Стандартный маршрyr 8 данном случае ведет к узлу М2, поскольку через Hero осушеСТ8 ляеrся выход в (ntemet. Пакеты. адресованные любой из сетей 199.165. достаВJ1ЯЮТСЯ напрямую. Узел Б подобно узлу А имеет Один реальныЙ сетевой интерфеЙс. Но для KoppeUHoro функuионирования ему нужен дополнительный 1арШрyr, по-- СКОЛЬКУ он напрямую подключен срз.зу к JIВyм маршрyrизаторам. Трафик для 366 ч ость 11 Робота в сеТАХ 
сети 199.165.145 должен проходить через узел Мl, а весь остальной трафИ1<  направляться в 1 пtеПlеt через узел М2. В% netatat rn Routing "[аЫев Destination Ga tewa у Flaqs Ref5 Use If 127.0.0.1 127.0.0.1 ОН 2 1543 100 199.165.146.0 199.165.146.4 о 15 4529 1еО 199.165.145.0 199.165.146.1 oG О 121 leQ default 199.165.146.3 UG 4 168589 1еО Можно сконфиrypировать узел Б так, чтобы изначалъно ОН знал только об ОДНОМ шлюзе, полarаясь на ПОМОЩЬ переадресуюших IСМРlIИректив для устранения избыточных переХОДО8 Ниже ПО казан один из примеров наЧалъ ной конфиryраuии. В% I1IItata t rn Routing "[аЫев Destination 121. О. 0.1 199.165.146.0 defau! t. Gatew.ay 127.0.0.1 199.165.146.4 199.165.146.3 Flags он U UG Refs 2 15 4 Use 1543 4529 168589 If 100 1еО 1еО Теперь. если узел Б лосылает лакет УЗJlУ А (199.165.145.17), лрямой маршрyr найден не будет, и пакет отправится на узел М2. ТОТ. будучи маршрyrnзатором. ИмееТ полную информаuию о состоянии cent. поэтому не ТОЛЬКО пошлет пакет узлу М 1. но также направит узлу Б IСМРсообшение. в соответствни с которым узел Б добавит в табтщу маршрутизаuии прямой путь к УЗJlУ А. 199.165.145.17 199.165.146.1 UGИD 1еО Блаrодаря этому маршрyry весь будущий трафик, адресованный УЗЛУ А, будет идти непосредственно через маршр)'-тизатор М 1. Однако даНI-ЮС изменение ие затраrивает трафик к дрyrим узлам в сети 145. Для них нужно получить отделъиые уnеДО1о.mения от маршрyrизатора М2. Некоторые администраторы выбирают для своих систем переадресуюшие IСМРлиреКТИ8Ы 8 качестве OCHOBHOro "протокола" маршрyrизации. пумм. ТО подобнъJЙ ПОДХОД обеспеЧlП большую динамичность. К сожалению, еслн ИНфОрМ8UИЯ, касаюшияся пс-реадреСОВ8нноrо марШр}7а. изменяется. нужно либо удалить маршрyr ИЗ таблиuы ВРУЧНУЮ, либо перезаrpузить систему. ИЗЗ8 ЭТОЙ, а также ряда друrих проблем (увеличение ceTeBoro трафика, возрастание наrpузки на маршру-тизатор М2, хаос в таблице маршрyrИЗ8I1И1't, зависимость от внешних серверов) мы не pekomeJ-Шyем применять такой подход. В пра вюrъно сконфиrypироваНIIОЙ сети переадресованные маршрyrы не ДОЛЖIIЫ появляться в таблнце маршрyrиззиии. 14.2. Демоны и протоколы маршрутизации в простейших сетях. подобно тай. ЧТО прелставлена на рис. А, имеет смысл настраивать маРШРУ-Тl-lJацию вручную. Но начиная с определенноrо момеНТа сеть становится слишком сложноЙ МИ ПО.!l.обноrо адМИННСТРИРО8а I01я. Вместо TOro чтобы явно сообшать каждому компьютеру каЖдОЙ падеети. как нахолить друrие компьютеры и сети, лучше заставить сами компьютеры отыскивать эту информацию. ДЗН}'lЗЯ задача возлаraется на протоколы маршр)'-тизauии и демоны, которые их реализуют. r лово 14. Маршрутизация 367 
Динамические ПроТОКОЛЫ имеют то преимущество НElД системаМИ СТ8ТИ ческой маршрyrизации. ЧТО OI01 ПОЗВОЛЯЮТ быстро адаптироваться к изме нениям в сетевой тоnолоrии. Коrда пропадает канал. дeMoHы быстро находят альтернативные маршруты и сообшают о них в сети. связанные с этим каналом. Демоны маршрyrизвuии собирают информаuию из трех иСТОЧНИКОВ: конфитурационных файлов, сушествующих таблиu маршрутизации и "pOДCT венных" ДемоноВ дрyrиx систем. Паниые объединяются, и вычисляется оптимальный набор маршрyrов, после чеro новые маршрyrы записываются обратио в системную таблицу (и при необхоJIИМОСТ1< лосылаются дрyrим системам посредством протоколов маршрутпзаuим). Состояние сети время от времени меняется, поэтому демоны ДОЛЖНЫ периодически опрашивать .npyr друта, чтобы убеДИТЬСЯ в акryалъиости имеюшейся У них и нформаuии. Коикретньrй aлrориТМ вычисления маршрyrов зависит от ПрОТОкола Протоколы бывают двух типов: ДИСТ8нuионновекторные и тополоrические. Дистонционновекторные протоколы В основе дистанцион}ювекторных протоколов лежит следуюшая идея: .. Если маршрyrизатор Х расположен на расстоянии пяти переходов ОТ сети у и является моим соседом. то я нахожусь в шестИ переходах от данной сети". Компьютер, работаюший по такому протоколу, объявляет о том, как палеко, по ero мнению. нахОДЯТСЯ от Hero известные ему сети. Если соседние компьютеры не знают лучших маршрутов к этим сетям, они помечают даиный компьютер как стаfШsrrньтй шлюз. В nPОТИ8НОМ случае ОIOl: просто иrнори руют ЭТО уведомление. ПреДТlOl1аrается, что со временем таблиuы маршру тизаuии придyr в стабютъное состояние. как упростилась бы маршрyrизация. если бы все работало так, как задумано! К сожалению. описанный алrоритм не лучшим образом справ.'Iяется с изменениями тополоrnи. Иноrда стабилизаuия -вообше ие наступает вследствие возникновеиия бесконечных uиклов (например. маршрyrизатор Х получает ииформацию от маршрyrИЗ8тора у и посылает ее марШРУ-Т1-1З8rорУ Z, который возврашает ее маршрутпзатору У). На практике лриходится вводить сложные эвристические правила или задавать ПРОИЭ80льные оrpв.ни "енИЯ. К лримеру, в RIP (Rоutiлg lnfОП11аLiол Protocol  протокол маршрут ной информаuии) считается, что любая сеть, находящаяся на расстоянии более 15ти перехопов, недоступна. Даже в обьтчиых сятуаuиях может потребоваться СЛИШКОМ MHoro UЮ(]ТОВ обновлений. чтобы все маршрyrизаторы переnmи в стабильное состояние. Следовательно, для предотврашения заuикливания необходимо слелать пе риодыl оБН08лений оченъ короткими. а это. в свою очередь, ведет к тому, что дистанuионновекторные проТОКОЛЫ оказываются слишком ('словоохот ливыми". Налример, лротокол RlP требует. чтобы маршрутизВ1'ОРЫ осуще ствляли широковешательную рассылку имеюшейся У ию: информации каждые 30 секунд. В протоколах IGRP и EIGRP обновления посъmaIOТCЯ каждые 90 секунд. в противоположность этому. в BGP (Border Galeway Protocol  norp8 ничный межсетевой протокол) вся таблиua посылается один раз. после чеro Не все так просто. поскольку определеЮfblе изменениЯ тополоrии MoryI' приводить К удлинению сушеcrвyющих маршрутов. Некоторые дистанuионновектОРНЬJе протоколы. Rапример EIGRP. хранят информзuию обо всех возможных маршрутах, чтобы Н8 tq>айниА случай БыJt ('план ОТС1}'ПЛения... Впрочем, коикреткые детали не так уж важны. 368 Чость 11. Робото в C8TRX 
передаются ТОЛЬКО изменения, по мере Toro как они происходят. Такая оmимизация позволяет сушест&енно снизить "переrosорный" трафик (боль шей частью ненужный). В табл. 14.1 перечислены .zmстанционновскторныe протоколы, uшроко используемые сеrодня. т облца 14.1. Ноиболее роспростроненные дистанционно-векторные протако лы моршрутизоции ЮР ЮRP ЕЮRP вор n . именение Локальные сетИ 1. RoutinJ lnformation Protocol (nparoКОЛ Map шрyn<оR информации) [",.rior Oat.way Routing Protocol (nparокол маршрyrизаuии .сеж.цу ВН)"I1'CННИМИ lШOO3а.l,tи) Enhaoced lnterior Gatcway Routiл& Protocol (улучшенный протокол .сарwрутизauии между внутренними шлюзаМИ) Border Gateway Protocol (поrpан.ичный межсе те80Й протохол) Некоторые rЛО бальные сети rлобалъные сети, корпораПfВные ЛОКАЛЬные Сети МlI.rистральные сетИ Intemet т ополоrическ><е протоколы Тополоrи-ческие протоколы, или протоколы состояния КQнаЛо., распростра НЯЮТ информаuН'ю в отно('ителыlO нсобработанном виле. ЗаmfСИ выrля.дят примерно так: "Маршpyrизатор Х является смежным по отношению к маршрутизатору У, и канал функuионирует". Полный набор таких залисей образует карту сетевых связей, на основании которой ка.жлый маршрутизатор может построить свою собственную таблицу. Осиовное преимушество топо лоrических npoTOKo;IOB по сравнению с дистанционновекторными зак.lюча ется в способиости быстро нахопить фyнкuионирyIOШИЙ маршрyr в случае краха. К издерж.кам относится необходимость хранения полной карты соединений на каждом узле. дли чеro требуются дополнитс:льные проиессор ные мощности и пам-ять. Поскольку "роиесс обшения меЖдУ маршрyrизаторами не является частью алrоритма в.ычислениЯ маршрyrв. появляется возможность реа.'1ИЗ0ватъ топо лоrические протоколы так. чтобы не возникало циклов Измс:иения в тополоrи-ческой базе данных распространяются по сет очень быстро. не заrpужая ни канал, ни цен-rpальный процессор. т ополоrИ'Ческие протоколы с::южнес: дистаНllИОIlНОвекторных. зато они позволяют реализовать такие технолоrnи, как маршрyrизация на ОСliоваНИI-1 запрашиваемоrо тпа обслуживания (поле TOS 'Рпакета) и препостав.jlение нескольких маршрyroв к одиому адресату. Ни одна из ЭТИХ возможностей не подцерживается в rOTOBЫX UNIХсистемах. и дЛЯ их использования потребу етск покупать выделенные марmрутизаторы. В табл. 14.2 перечислены популярные тополоrnческие протоколы OSPF т облицо 14_2 Роспростроненные тополОrические протоколы моршрутизоцJ.1И п .5о1М8иение Крупные ссти [SIS п н нозвание Орео Shorteot Pa.h FiI1it (открытый лро ТОI<ОЛ первоочередноro обнаружения кратчайших маршрyroв) Intermediate System {О lпtепnedtаtе Systc:m (протокол СВЯЗИ между npoме Ж}'ТОЧНЫМИ системами) (пра....тиЧесКJI не npIIMC:- НЯС:ТСЯ) rлоf.О 14. Маршрутизация 369 
Метр"'к", кратчойшею ПУТ'" Чтобы протокол маршрyrизauии Mor опредеffi:lТЬ, какой путь к ЗElД3ННО1l' сети является кра'Nайшим. необходимо преЖде вcero прояснить, ЧТО ]начИ1 "'кратчайший". Это nyrb с наименьшим числом перехопов? С наименьШИМ временем задержки? С наименьшиМИ финансовыми затратами? Для иелей маршрyrизащrn: качество канала определяется числом, назЫ ваемым метрикой стоимости. Путем сложения отдельных метрик вычисляется обшая стоимость маршрyrа. В простейших системах каждому квналу назиа чается стоимость 1, 8 результате метрИКОЙ маршрута srвляется число переходов. Но любой из переч-исленных выше критериев мож.ет ствть метрикой СТОИМОСТИ. ЗнатоJCИ сетей ДDлrо и упорно rpудились ИlШ тем, чтобы определение тaкoro понятия, как метрика стоимости. было максимально rибким, а некоторые современные протоколы даже позволяют исполъзоватъ разные метрики для разных видов cereвoro трафика. Тем не менее в 99% случаев из всю эту суету можно ие обращать вниманиЯ. ПIIOСТО воспользуйтесь стандартными метрикю.m. принятыми в большинстве сетей. Бывают си1'}'3Ilии, коша кратчайший физический маршрут к адресщ не должен выбираться по умолчанию И3 политических соображений. В таких случаях можно искусственно завысить стоимост критИЧеских каналов. Всю остальную работу предоставьте демонам. Внутренн...е ... внешн...е протоколы Автономная система  это rpуппа сетей, находяшихся под алминистра тивным ИЛИ политическим контролем одиоrо юридическоro т,ща. Это довольно нечеткое определение. Реальные автономные системы MOryт пред ставлять собой как rnобалъные корпоративные сети, так и отпелън:ыe университетские объединения. Все зависит от Toro, как осушествляется маршрyrизaция. Основная тенденuия заключается в том, чтобы сделать автОНОМНУЮ систему как можно более КРУПНОЙ. Это приводит к ynрощению администрирования и повышению эффективности маршрyrиЗ8UНИ. Маршрyrnзauия внyrpи автономной системыI отличается от маршруrиза ции между такими системами. Протоколы BTOporo mпа (внеШlluе) поJIЖНbl уметь управлять множеcrвoм маршрyrов к различным сетям и пони мать тот факт, ЧТО соседние маршрyrизаторы на.ходятся под контролем дрyrих людей. Внеnnrnе протоколы не раскрывают тополоrnю автономной системы, полому в определенном смысле их можно рассматривать как второй уровень маршрутизации, иа котором соединяются меЖдУ собой rpyrтпы сетей, а ие отдельные компьютеры. На практике небольшим орrанизациям редКО требуется внешний ПРОТО КОЛ, если толькО они не подключены к нес кольки.... проваЙдерам OДНOBpe мен но. При наличии нескольких провaIшеров традиuионное разделение иа локальный домен и домен Intemet нарушается. поскольку марШР}'"Тизаторам приходится определять, какой маршрyr лучше вcero ПОдХодит для панноrо конкре11Юro адреса. (Это не означает, что каждый маршрyrизатор должен знать всю необходимую информаиию. Большинство узлов может по умолча нию направлять свои пакеты внyrреннему ШЛЮЗУ. осущеСТВЛRЮщему OCHOB ную работу.) Внешние протоколы не сильно отличаются от своих внутренних аналоrов, но именно на последних мы сосредоточим внимание в данной rлаве. так как они при меняются rораздо чаше. 370 Часть 11 Работа в сетях 
14.3. Основные протоколы маРШРУТl-1заЦ1-11-1 в этом параrpафе мы позиакомимСЯ с ОСНОВНЫМИ внyrpенними ПроТО копами маршр)'-тизauии. узнаем их преимущества и недостатки_ RIP: протокол маршрутной информации RIP (RFCI058)  ЭТО старый протокол компании Xerox, ап.аmировш-!ный для l Рсетей_ Он используется демоном routed и представляет собой простой дистаНЦИОIOiовекторныЙ протокол, метрикой стоимосm 8 котором ЯllЛяется чИсло переходов. Поскольку протокол RIP разрабатывалея в те времена, Korna серверы СТОИЛИ сотни ТblСЯч. долларов, а сети БЫ1Пf относительно маленькими, в нем предполаraется. что все m-ашины. находящиеся на расстоянии пятнадцати и более переходов. НС41ОСТИЖИМЫ. По ЭТОЙ причине в крупных локалЬНЫХ сетях с более чем пятнадц.атью маршрyrизаroрами на ОДНОМ nyrи протокол RI Р использоватЬ нельзя. Несмотря на то Ч1'О вследствие раСТОIl.ительноrо использования широко вещательноrо режима IlрОТОКОЛ RIP cтa.iT Н8СТОЯЩИ1\.i "пожирателем" ресурсов, он Becbl"r8 эффективен при частых изменениях сети, а та...'Же 8 том С.J'lvчае. коrда неизuестна тополоПiЯ удаленных сете к O.!lHilKO пос.lе сБШI '-:ЗНilЛ3 стабилизация системы можеТ занять д.овольно MHoro времени_ Протокол RIP ШИроКО используется не на UNIХruIатформах, Мноп.е устройства, включая сетевые принтеры и SNMPKoMnoHeHTbI, способны принимать RIРсо06щения, узнавая о возможных шлюзах. Кроме Toro. ПОЧТII во всех UNIХсистемах имеется демон routed. поэтому протокол RIP считается "иаименьшим обшим зиаменателем" в большинстве систем. Как правило, он при меняется для маршрyrИlации в пределах локальной сети, Torдa как rлобальную маршрyrизацию осущестR.I1ЯЮТ более мошные протоколы. RIP2: протокол моршрутной информоции, верси 2 RIP<:?  это ул"чшнная версия протокола RIP с поддержкой ряпз особенностей, отсyrствующих в исхопном варианте протокола. Самое важное измеиение 18ключnеТСЯ в том, что вместе с адресом следуюшеrо переход передается сетевая маска. Это упрощает ynравление сети, rде применяется протокол CIDR. Была также предпринята nonы.::aa усилить безопасность протокола RIP, но определение конкретной системы аутенmфикаuии OCTaB лено для будуших разработок, 0' о пропlOколе C/DR оворuлось 6 параzрафе /ЗА Во MHorllX системах демон routed выполняется с опцией q ("бесшумный" режим). В этом режиме 01-1 управляет таблиuей маршрyrизации и принимает сообшения 06 и]мене..ИI1 маршрyrов, но самостоятельно не осушеСТВJlяет широковещательную рассылку имеюшейся информации. Вычислеl-lием Map u..rpyr08 занимается более зффе",'Тивный протокол, например OSPF. Найпеl-l нъте маршруты пре06разуются в RI Рсообшения и рассылаются клиеmским маШИl-lам. ДеМОI-I routed, работаюший в "бесшумном" режиме. ПО1lДерживается почти ПО8СемесТl-Ю, поэтому большинстuо машин может пользоваться npe имуществами динамической маршру-тизации. I-Iе требуя специзJТЬНОТО КОlfфИ. rypирования. Протокол RIP2 имеет ряд особенностей, ориентированных на исполь зование в мноrопротоколъной среде. Блаrодаря сообшениям об обновлении следуюшеrо перехода широковещательные станции мО1УТ уведомлять о 371 r ЛОВО 14. Моршрутизоция 
маршрутах, Д..1я которых они не являются шлюзами. Посредством специаль ных меток информаuия о маршрутах, обнаруженных внешними протоколами. может распространяться через лротокол RIP. Маршрутизатор ЮР2 может работать в режиме совместимости, сохраняя большинство новых особенностей протокола RIP2. но в то же время обслуживая и обычных RIРклиеНiOВ. Лре.п:почтительнее исполъзовать про- ТОКОЛ RJP2, если ои поддерживается в системе. OSPF: ОТкрЫТЫЙ протокол первоочередноrо обнаружени кратчайших маршрутов Протокол OSPF является тополоrи-ческим и определен в ДОlo.1'менте RFC2328. Термин "первоочерсдное обнаружение кратчайших маршрутоВ" обозначает спеuиальный математический алrоритм, по которому вычисляются маршрyrы; термии I.открытый"  синоним слова "иепатентованный". OSPF был первым тополоmчесl<ИМ протоколом, нашедшим широкое применение. и до сих пор остается одним из самых ПОnyЛЯРНЫХ протоколов. Своей популяриостъю он обязан подпсржке со стороны демона миоrопрОТО кольной маршрутизаuии lated, о котором мы подробно поroворим ниже. К сожалению. сам протокол очень сложен. поэтому имеет СМЫСЛ применять ero только в крynных системах (rHe важна эффективность маршрyrИЗ8UИИ). В спеuификаuии протокола OSPF ничеrо не rовормтся о конкретных метриках стоимости. Демон gated по умолчанию использует в К8честве метрики число перехо.п:ов , как и маршрyrизаторы Cisco. ПослеlIние МО>КНО сконфиrypировать так, чтобы метрикой была полоса пропускаиия. OSPF  зто протокол ПроМЪ!UlЛеиноro уровня, которЫЙ зффективно работает в крупных сетях со сложной тополоrией. По сравнению с RIP он им:еет ряд преимушеСТ8, включая возможностЬ выбора между несколькимИ маршрутами, ведушими к одному адресату, и возмож.ность разле;тения сети иа cerмeнты. которые будyr совместно использовать только высокоуровневые данные маршрyrизаuии. IGRP и EIGRP: ПРОТОКОЛЫ маршрутизоциИ между внутренними шлюзами IGRP и ero преемник EIGRP  это патентованные протоколы. испоЛЬ зуемые только маршрyrизаторами Cisco. Протокол IG RP был создан ДЛЯ устранения некоторых недостатков протокола RI Р еще в те времена. КОТД8 не было таких стабютъных лротоколов, как OSPF. Протокол EIGRP конфиrypируется примерно так же. как и IGRP. хотя BHyrpeHHe он реа.mпован совсем подруroму. Протокол IGRP понимает только маршру-тные уведомле- НИЯ. в которых IPaдpeca заданы в соответСТВIП1 с традиционными rpаницами классов. тоrда как EIGRP понимает произволъныe rаски CIDR. Оба протокола я-вляюrся дистаНШЮНf-IOвеК'Торными. но ОЮf спроектиро ваны так, чтобы избежать проблем зацикливзJi}'lЯ и ствбилизаllИИ. С80ЙСтвен Hыx дрyrим аналоrичныM протоколам. С этой точки зрения протокол EIGRP является образuом. для большинства применений протоколы EIG R Р и OSPF обеспечивают равные фун.кuиона.Т"lьные возможности. · По иашему мнению, лучше Прl-шерЖИваться OTKpbIToro, широко исполь. J зуемоrо протокола. каковЫМ является OSPF. С ним мноrие работают. и имеется ряд ero реализаций. 372 Чость 11 Робото . сетях  
ISIS: протокол связи между промежyrочными системами Протокол ISIS является OТlIeТOM на лротокол OSPF со стороны орraнизаuии [50. Первоначалъно ОН предназначалея .nля М8ршpyrизаwm в рамках стека протоколов 051, но впоследствии бьU1 расширен на стек ТСР/lР. Оба протокола  ISIS и OSPF  разрвбатывались в начале 90x П., Korдa модель OS\ была в моде и считалась стандартом. Блвroдаря усилиям со стороны орraняэаuии \ETF лротокол \S\S нашел лрименение в сетяХ TCP/IP. НО со временем стал все сильнее уступать в популярности протоколу OSPF и сеroдня используется редко. Он отяroщен множеством фyнкuионалъ-- ныx особенностей, свойственных модели OSI, поэтому лучше ero избеraть. MOSPF, DVMRP и PIM: протоколы MHoroaдpeCHOH маршрутизации MOSPF (Multic"'t OSPF  мноroадреснь!Й протокол OSPF), DVMRP (Dist8DCe Vector Multic",t Routing Protocol  дистанuионновекторный лро токол мноrоацресной маршрутизаuии) и Р\М (Protocol \пdерепdелt Multi cвst  протоколънонезависимая мноrоадреснзя маршрyrизвuия)  ЭТО ПротОКОЛbl, предназначенные для поддерЖКИ IlJУППОВОro вещания в [p сетях  технолоrии, еще ие нашедшей широкоro применс:ния. Информаuию об этих протоколах можно наЙТИ по адресу www.сs.соlumЫа.еdu/h85/iл tеrпеt/mЬопеrаq. html. Протокол обнаружени маршрутиэаТОрО8 Протокол обнаружеиия маршрутиэаторов использует \СМРсообшения. посылаемые ло rpyтrловому IPaдpecy 224.0.0.1, для обмена информаш.ей О дpyrих М8рШрyrnззторах 8 сети. К сожалению, не все маршрyrизаторы в настоящее время умеют рассылать такие сообщения, и не все компьютерbl MOryт их принимать. Надеемся, что коrданибуllЬ ЭТОТ протокол станет более популярным. 14.4. Демон routed: crандартныЙ демон маршрутизации Демон routed в течение длитепьноro времеии бьт стандартным демоном маршрутизации UNIX. и ero до сиХ пор вклюЧают в большинСТВО системных дистрибутивов., Он признает только проТОКОЛ RIP. но ииоrда ПОД1lерживается также RlР2. Если нужно работать по протоколу RlР2, а демон routed .ro не понимает, всетда можно восполъзоватъся демоном lated (реальная потреб НОСТЬ в ЭТОМ возникает. только KQrдa имеются по.дсети с маскаМИ разной длины.. Демон routed может работать в режиме сервера (5) ИЛИ 8 "бесшумном" режиме (q). в обоих режимах принимаются ши:роковешательныe сообшения, но свою собственную информацию рассылают лишь серверы. Вообще rоворя, серверами должны быть только машиНЫ с несколькими интерфейсами_ Если не указана ни опuия .5, НИ q, ТО немон routed работает в "бесшумном" режиме при наличии опноrо интерфейса и в режиме сервера  при Н8ЛИЧИИ нескольких. Во миоrих системах, однако. ЭТО правило не пеЙСТ8ует 88 . в некоторых версиях UNIX (налример, в HPUX) СТ8щаpтнъrм является демоН II&to<l. Демон routed неправилЫIO себя ведет во мноrиx сиcrемах. один из наших рецензентов даже сказал: "Этому демону просто нельзя доверять". r лова 14. МоршрутltlЗОЦИА 373 
Демон добавляет обнаруженные маршру-ты в таблиuу ядра. Все маршрyrы должны быть доступны как минимум каждые четыре минуты, иначе они будyr удалены. Правда, это не относится к статическим маршрутам. добавляемым с помоШЪЮ команды route. o О команде _o" рш:сказЫВШIOСЬ в нара.рафе 13. /О. Для отладки подсистемы маршрутизашш можно воспользоваться KOMaH .пой routed t. ОП1lИЯ t заставляет демон работать в интерактивном режиме и отображать все посланные и полученные пакеты. Лемои routed, как правило, выявляет маршрyrnyю информацию динами чески и не требует коифиrypирования. Если же в системе естЬ шлюзы в Internet или в друrnе автоиомные системы, то, вероятно. понадобптся иекоторые дополнmельные операuии, W1Я тoro чтобы заставить эти кзна.Jты работать с демоном routed KorHa им:еется Bcero 01IИН выходноЙ шлюз, можно объявить ero CTaHдapT ным rлобалъным маршрyrом .nnя этото нужно запустить на нем Демон routed с флarом .g. это аналоrично заданию cтaJЩaprnoro маршрута на одиночной машине, ио 8 данном случае он распространяется на всю сеть. Второй вариант работы со шлюзами  описать их в файле jetc/gateway., к которому демОн routed обрашается при запуске. Однако в наши дни со статическими маршрутами удобнее работать посредством демона gated. 14.5. Демон gated: более удачный демон маРШРУТl-1заЦ1-11-1 o Демон ваШ  это базовый командный "роuессор маршр)-тизаuии. позволяющий одновременно использовать различные маршрyrные ПJIOтоколы. ПОД ero контролем находятся маршруты, о которых были получены yвeДOM пения, а также широковешателъные адреса. ПОJТИТИl(и безопасиости и метрики стоимости. Он разрешает нескольким протоколам использовать ОПIOf и те же маршруrы, позволяя тем самым создавать ШЛЮЗЫ между сетями. в которых приняты разные системы марШр)'-ТИJаIlИИ. HaKoHell, демон gated -имеет один из самых удоБНblХ иmерфейсов срепи Bcero администраТИRноrо ПО. что также можно сказать и о формате ero конфиryраuионноrо файла. Демон gated МQЖНО получить на WеЬузле www.ga/ed.org. В разработку пемона gated внесли спой вклад мноrие люди. Изначально работа коор.rrинировалась университетом Корне'lЛа. а сам демон распростри. НЯJJся бесплатно. Но в 1992 r. он бьm ПРИВ3ПfЗирован и перешел в ведеиие консорциума Merit GateD. Текушие версии демона доступны ТОЛЬКО членам консорциума. Таковым может стать каждый, но, вопервых. для этоro "1рСбуется принять условия ЛИllензионноrо соrлашения. а, BOВТOpЫX, членство является бесплатным лишь штя пользователей из научной среды. Конечно. определение "только для академическоrо и науцноисследова телъскоrо использования" является повольно ШИРОКИМ, но мы COвel}'eM избеraтъ бюрократической "трясины". в КОТОрОЙ увяз демон gated. ПОСJlедняя ero обшедоступная версия  номер 3  работает вполне успешно. На момент нaJП1сания книrи самый свежий ее релиз имел номер 3.5.10, именно ero мы и опишем ниже. Демон gated лодперживает лротоколы RIP iобе верею!), OSPF и ISIS дЛЯ внутренней маршрутизauии, EGP и BGP  для виешней По историче- ским причинам предусмотрена поддержка CTaporo протокола HELLO I j 374 Чость 11. Робота в сетях 
в табл 14.3 представлены данные О поддержке пеМОН08 routed 11 gaLed в наших тестовых система.х. Текушая версltя демона gated компилмруется практически на 'Всех распространенных системах. nO.:JToмy их леп:о оБН08ЛЯТЬ. ТоБЛИLlО 14.3. Поддержка демонов моршрутизоции в тестовых системо>: C"!t;reMQ roted'? atedi Solaris Да Нет HPUX Нет 3.5 Вeta 3 Red Hat Да 3.5.10 FrecBSD Да 3.5.11 Упровление начольным запуском и параметрами демоно ОбыtlllО демон gated запускается на этапе нача..I1L1-ЮЙ Jаrруя:и беJ apr)'MCHT08. Способ запуск.;) ависит от систе3.lЪ1 (попробнее об этом расскюывастся в параrpзфе 14.6. нужную информю1ИЮ можно также наЙТII в rлапе 2). Лемон берет С80И ,-шстр}-кшlИ ИЗ единственноro конфшурашIOННО'"О файла По умолчаНIIЮ он называется /eLc/gated.collf. но БЛdl"одаря спеUИdЛЬ' ному фJlзrу ком.аIШllоii C"lpOKI1 мол..о задать прyrой фапл После запуска демона Т1равлять им можно посредством команды gdc, которая инсталлиру стел вместе с НИМ. K.IK правило. она имеет тако"Й формат: qdc ИНСТРУКLU1Я н IIже дан список наиболее paCllpoCTpaHCHHbIX инеl PYKUHf1. iDterface Сообwает демону о необходимости ПОlПорно npocMorpel ь СПИСОК i1.КП'ВИЬ!J< сетевых шп(:рфейсон Hдpa ДСМОН сам делает ЭТО перИОДJI4С' CKlt, но, если kОНфиryрa.uия каt.:ОI.онибудь Iнт(:рфсйса ТОЛЬКО что измснилась, можно запросить неМСДJlСННОС' обновление recoolig ЗаСТ2WlЯет демон повторно np04J1тaTh сноА КОНфИI)раШlOниь!R файл checkconr Осущсств.:rnется СИНТАJi:СJIЧС:СК1'Й анализ конфш)'раш1ОННOIU файла и 1l0ИСК В нем ошибоl<, но демону не ссюбшается о неоохоllИМОСТИ заrpузки файла togglеtп.се Запуск "т1 останов .жима 1.истраLППI !!Itop Завершение работы ДС:МОJ-lа; по БОЗМОЖНОСТlI осущестшrяется KOpКТHoe завершение, но Б случае необходимости демон остаllaвJtюшется прнну дитедьно sun 3апуск демона, eC.'l11 он еще не выполняется restar1 Уt!ИчтожеЮIС дс:мона и повториь!А cro запуск; эк.вJlвалентно инструк.ции stop, за КО1'ороА СJlСДУет инструкuия st.ar1. т рассировко Демон gated может выполняться в режиме отладки (трассировки). D котором все llеЙстния реПICТРIfРУЮТСЯ 8 ЖУрllалbl-lOМ файле. Этот рСЖII очень удобен. коrда создастся новый КОllфиrураШЮf-[НЫ файл. Кроме Toro, 8 ж'''рнальном файле ФIН:СИРУЮТСЯ все обномения марштW8 к.ОI"да 8ключены некоторые ОПl,НШ траССJlрОВКИ, ж) ршtJIьныi1 фаЙл l'.южет очеllЬ быстро ра IpiICTaThCA. IIОЭТО"'I) C'ro I-IУЖf-JO ПСРНОДIlЧССКИ о'.шшать t1 375 r ПО во 14 МОРШРУТИЗОЦ1Я 
формировать заново. КомаНда gdc toggletrace закрывает журнальный файл, чтобы ero можно было переименовать и..'1И очистить. Следующая команда gdc toggletrace onmb вК1IЮЧИТ режим реrистрauии. Оппии трассировки MOryт задаваться в КОНФИТ1'раuиоmюм файле ИЛIf 8 строке запускв дсм-она (перед опuиями должен стоять флвr .t, перед имеНСh.I журнвлъноro файла иичеrо указывать не нужно). В конфкryраuионном файле можно задавать различные оппии для К8Ждоrо KoнxpeTHoro протокола. Оппии, указываемые 8 командной строке. ЯВЛЯЮТСЯ rлобалъными. Ниже пеptчислены наиболее полезные опции. аВ ВkJlЮчекие всех опuий трассировки попnа1 Трассировка обычных событий; иеобычиыс собыТJUI реrиcrpируются всеrдв pollcy Отслеживанис тoro, каким образом админиС1р8ти.вные правила безопасно. сти впия:ют иа распространсн.ие маршрутов route Трассиров.ка изменеНИЙ в таблиuс маршрyrиэauии lепиа1 Включение опций поnпа] и route Есть еше более детальный уровень отлanки. позволяюший заносить 8 журнальный файл отдельные сетевые пакеты. Но режим трассировки пакетов включается только в конфиrypациониом файле. 8 не в KOMaН1IHo" строке. Конфиryрационный файл В отличие от мноЛIX anминистративных утилит UNIX. по Ю.'1чанию демон gatfd работает лостаточно хорошо. У Hcro имеются сотни опuий, но nля простейших сетей требуется лишь несколько строк конфиryраuионноrо файла. Поэтому. ЧИТая далее настоящую rЛ8ВУ, а также документацию, помюrrе, что большинство опuий демона будyr неахтуальнътми в конкретной системе. Ниже описаны самые основные пвраметры конфиrypации демона иаtеd. Синтахсис мноrих из них .цвн в усеченном виле  указаны только те компоненты. о которых МЫ хотим поrОDОрИТЬ. Если читатешrм кажется, что должны сушествоВ8ТЬ дополнительные компоненты, то, возможно, так оно If есть: они просто не показаны. Подробности можно узнать 8 документаuии по демону gated. В .nокументаuии объясняется формат КОНфНJ)'раuионноrо файла. но не rоворится о сложных вопросах маРШРУТИЗ8UИИ. Если у читателей возникнет необходимость разобраться в назначении той ит1 иной опuии, советуем обратиться к слиску JJИТераТ)'ры, представленному в параrpафе 14.9. Конфкryра\ПIОННЪ!Й файл состоит из набора инструкuий, разделеиных символами точкн с запятой. Лексемы разделяются пробельными символами. к которым относится также символ новой строки. Иноrда пля rpynпировки употребляются фиrурные скобки. И меется несколько классов инстрyкuий. И нструкuии квждоrо типа должны размешаться рядом в конфиryраuионном файле, а секuии следует располаrатъ в таком порядке: . опuии и определения (включая объявления сетевых интерфейсов); . конфиrypаuионные настройки отдельных протоколов . статические маршруты; параметры импорта, экспорта и аrpеrаuии. Допускаются пустые секции. 376 Часть 11. Работа Б ceTX 
Опции трассировки MOryr находиться r.ne yrодно. Если ОНИ СТОЯТ В фнrypнЪ!х скобках, то относятся ТОЛЬКО к контексту конфиryрируемоrо параметра или протокола. Такие опции задаются с помощью ИJoIстрyкuии lraceopllons: tra.ceoptions [ 11ж.УР.нl!lЛЬныйфайл" [replace] [ei.ze разuер[klm] file9 число]] опцпитр.ссирсвICИ [ехсерс опции  трасс.ироsки] I Apryмeнт журна'1ЬНbJйфайл  это имя файла, в котором сохраняются результаты трассировки. Если указано ключевое СЛОВО replace. фаЙ:I су.nет очищаться при кажпом запуске демона (по умолчанию ИНфОрМ8UИЯ доб3Е1 ляется в конец файла). Apryмeнт рОз''.fер задает максимальный размер :журнальноrо файла в кило или меrабайтзх. Коrда файл становится слишхом большим, он очищается и все старые файлы полверrаются переимеиованию: журнальныйфаUл.l, журнйльныйфайл.2 и Т.д. ВПЛОТЬ до файла с номером, заданным apryмeнтoM число. Если указано предпожение size. должно обяза тельно присутствовать и препложени-е Пlеs. Возможные оппии трассировки были перечислены ВЫше. Подаерживается также ряд дополнительных опций. Ниже прпведена инструкцня, созлаюшая Ж)'рнальный файл /llsr/lo cal/elc/galed.log, предельный размер Koтoporo  1 Мбайт, ""сло сохраняемых версий  3, и все возможные опuии трассировки включены: trасеорtоnз "/uзr/lосаl/еr.с/gаr.еd.lоg l ' replace size 1m fi1es 3 all; Задание конфиryрационных параметрав Формат задания конфиrураuионных параметров таков: орtiОЛ9 (nозеnd] [nоrезоlvJ [зузlоq [upto] уровеньуеrиС2'Рации]; Apryмeнты имеют следуюший смысл: nosend Запрешает демону посылать любые пакеты. эта on.uия полезна при ОТлaд.kС, так как можно ПОПРОСИТЬ демон обрабатывать информацию. ПОСl)'пающую от друrиx маршрyrизаторов. но самоыу не взаимодей стповать с ннми Запрс.щает демону использовать базу да.нных DNS дЛЯ преобразованИJl имен компьютеров в [paдpeca. DNSзапросы потерпят исудачу. если для их обработки недостаточно маршруnюй информauин, что привеДе1 к поэникновению взаимоблокировки. Мы советуем не указывать имен компьютеров в какой бы то ии было сетевоЙ конфИJ)'pации  данная оJЩИЯ позволяет реаJlизовать подобную политику Определяет, какой объем юt.формаШtи реrиcrpируется: через систему Syslog. Эта ОnUИJI бесполезна, если 8 орraнизаЦJ.[IoI не используется СИстема Syslog ДОСl)'IOIые уровни реrнcrpаuии можно узнать на manстраюше syslogmask. По умолчанию принита оrшия S)'slog uplo iпfо noresol\l S)'slog Пример opt.iOI1s rlOre901v; Определение сетевых интерфейсов Свойства ceTeBoro интерфейса задаются посредством ИНСТРУК1DfИ iJller races. формат которой имеет ВИД: inr.erfaces i opt:ions [st.rictinr.erfaces]: rлово 14. МОРШРУТИЗОЦИR 377 
define адрес [broadcast адрес] I [pointt.opoint. адрес]; interf.a.ce список .интерфейсов [preference приоритет] [passive]  [simplex] ; [netmask иас«в] [mult.lcast.]; ); Может быть несколъКО инструкuий optioвs. iпtеrrасе ил" define либо ни о'nной. То же самое справедливо в отношенни большинства инструкuИ-И конфиrypauиоююrо файл.. Опция strictinterfaces делает нелеraльНОЙ ссылку из конфиryрационноrо файла на интерфейс, который на момеIП запуска не зареrистрирован R ядре и не упомянут в инстрyкuии define. Подобная ссылка всеrда является ошибкой, но при н8Лw.щи ОПl[ИИ strictinterfaces она становится не фаТiLЧЫЮI1. Инструкuия define описывает сетевой интерфейс, которыЙ может OTCYТ ствовать на момент запуска демона. Обычно укюываются коммп'руемые каналы и ллаты PCMCIA. И НСТРУКUIIЯ iпtеrf.все определяет пара метры KOHKpeTHoro интерфейса ИШ1 набора интерфейсов. Б качестве имени можеТ нспользоваться реальное имя интерфейса, такое как deO иnи lel. обобщенное имя, например de или le (ссылается на все зкземпляры интерфейсов даННоrо типа), доменное имя. IPaдpec или ключевое слово all. Если интерфейс объямен с ключевым словом passi\'e. маршр}"ы через Hero будут существовать даже в том случае. коrда сам интерфейс не подключен. Кnючевое слово siшрlех указывает на то, что интерфейс не должен принимать свои собственные широковещательные пакеты. Обычно демон gated самостоятельно выполняет подобноro рода конфиryрирование, но fI некоторых системах. ero нужно задавать Я1Iно. ПреllЛожение preferences требует более подробноrо пояснеЮIЯ. Поскольку протоколы маршрупвзции работают поразному и используют различные метри....'И стоимости llЛЯ определения "кратчайшеrо" пyrи. неТ rараНТИIi. что любые два протокола CMOryт ДОl-ОВОритЬСЯ о том, какай маршрyr наилучший. Если результаты, полученные с помошью разных прОтОколов, оказЫ8аются неодинаковыми. необходимо на административном уровне решить, какие маршруты следует занести в таблицу я.nра и послать ДРУПIМ маршрутизаторам. Для ревлизашiИ TaKoit политики можно посредством демона gated назначить каждому маршрyry ч-исловой приоритет. KOI.na возникает конфлиk.'Т двух маршрутов, выбирается тот, приоритет KOToporo наименьший. Значения приоритетов MOryт поступать из самых разных источников. у каждоrо протокола маршрутизации есть свой внутренним ПРИОРJПСТ. Приоритеты можно также назначать сетевым интерфейсам It удаленным шлю.зам Посколы..'У каждый маршрт соответствует и опрелеленному ПрОТО колу. и сетевому ннтерфейсу. и удаленному шлюзу. имеется несколько возможных приоритетов. Демон gated выбирает среДl1 них нанменъшИj.1. Обычно маршруты к непосредственно подключенным сетям имеют приоритет о. Ест, необходимо предпочесть од"н интерфеЙс дpyrOMY. можно воспользоваться прешюжением preference ШlЯ расстановки приоритеТО8. Б табл. 14.4 перечислены некоторые СТ31-шартные приоритеты. ПРНЗН38зсмые демоном gated В слеll)'IOщем примере интерфейс leO оБЫllшяется паССIIВНЫМ. Т.е. через Hero не будет распространяться маршрyrная liнформаuия: interface ( interface lеО pa6sive; ); 378 Часть 11 Работа в сеТАХ 
Таблt<1ца 14А. Стандортные nриаритеты маршрутов Иcroчник моршрутно" информации Маршруты киепосредственно псд;к.люче.кным сетям Маршрyrы. получснкые с ПОМОЩЬЮ прото:кола OSPF ПереадреСУЮ1Шfе директивы ICMP Статические маршрyrы, определенные внешне Статические маршруты, заданные в файле gated.conr Маршруты, полученкы посредlt11ЮМ протокола ЮР Маршруты ме-жду РРРинтерфейса.ми Маршрyrы через интерфейсы, которые не работают Приорктет О 10 30 40 60 100 110 120 Друrие определения в секции определений можно задавать ряд дрyrих rлобальных параметров. например: rouLerid узел; Инструкция routerid задает Идентификатор маршрутизатора. который ислользуется протоколами BGP и OSPE Он должен бытъ лредстаRl1ен в формате (paдpeca и по умолчанию соответствует адресу nepBoro физическоrо интерфейса машины. Это значеНИе важно пля протоколов, которые им пользуются. Дрyrие маршpymзаторы MOryт явно ссылаться на Hero в своих конфитураuиоННЪ!х файлах. та rt!ans { host: узел [allow]; сеть [allow) [exact I refnes]; сеть mask маска [allow] [exact I refines]; се'l'Ь masklen W1СЛО [allow] [exact I refnesJ; default [allow); 1; "Марсианские" маршруты  это маршруты к адресатам, которых нужно иrнорировать. В сети MOryт существовать неnpавильио сконфиrурированные маршрутизаторы, осуществляюшие широковещательную рассыл....'У маршрyroв к фИ'k-тивным адресатам Помимо этоrо может потребоваться просто исклю чить некоторые записи из таблНllЫ маршрyrизашt:и. Любой маршрут к адресату. указанному в ИНСТРУКUIfИ таrtiапs. иrнорируется демоном gated. С каждым пунктом маршрyrизаuии связаны anрес и сетевая маска. РЗЗЛИЧНblе варианты инструкции т.вrtiапs представляют собой различные способы задания пары адрес/маска. в прешюжениях mask и masklen оба значения зanаются явно. Если маска не указана. она вычисляется на осиоваюrn класса anреса. Ключевые слова exact и re6nes определяют два способа сопоставления anресов, ХОТЯ в действительности их трИ: если ни одна из ключевых слов не задано, пеленая маска иrнорируется. До тех пор пока часть ueлевоrо anреса. покрьrваемая указанной в инструкuии маской. соопадает с указанным там же anресом, anресат считается "марсианином"'. При наличии ключевоrо слова exact uелевой anрес и маска должны 8 точности соответствовать значениям, приведенным в инструкции, чтобы r лаво 14. Моршрутизация 379 
адресат считался "марсианином'". Точное совпадение определяет выбор самой сети, но не ее подсетеА ИЛИ нa.nсетеА. ПРИ наличии ключевоro слова refines целевая маска доюкнв быть дЛиннее. чем Т8, что УК8зана в инстрyкuии. В подобном случае адреса сравниваются обычным способом (с использованием маски из инструкции). Это эквива лентно выбору подсетей, а не самой сети. Записи host узел; default; можно представить так: узел mask 255.255.255.255 eKact; 0.0.0.0 mask 0.0.0.0 exact; Ключевое слово aHow разрешает адрес, Jапрешенный ранее более обшей спецификацией. Налример: martians ( 128.138.0.0 mask 255.255.0.0, 128.138.145.0 mask 255.255.255.0 allow; 1; в данной конфиryрации запрешаются все маршруты к сети 128.138 I<.тасса В. однако допускается маршрут в лодсеть 128.138.145. Более конкретное правшlO всеrда имеет приоритет. Конфиryрирование протокола RIP Обе версии протокола RlP конфиrypируются посредством инструкции пр: rip уе!!! I по I оп I off (1 broadcast; nobroadcast; preference приоритет; defaultmetrl.c метрика; interface спИСОl{ интерфейсов (nor:ipin I r:ipinJ tnoripout I ripout] [version 1] I [version 2 [тиl ticasr. broadcast] ]; trusr.edgar.eways СПИСОI<ШЛIOЗОВ; source9ateways список шлюзов; traceoptions [packets I request 1 rеsропзе [der.a.l.l]]; 11, Ключевые слова yes и по Я8.1ЯЮТСЯ синонимами слов оп и orr. ПРОТОКО.l RIP по умолчанию разрешен. Если нужно запретить ero, включите такую запись: rip по; Опции broadcasl и nobroadcast аналоrИ4НЫ флвraм s и q демона routed. Опция broadcast застаR11яет лемон рассылать RIРобновления даже тоща, коrда компьютер подключен Bcero к одной сети. Опция nobroadcast запрешает посылать любые RI Робновления. Предложение defaul[meb"ic назначает указанную метрику стоимости Miilp шрyrам, которые были получены от друrих протоколов, но повторно рассылаются средствами RlP. Вообше rоворя, это не самый лучший способ 380 Часть 11. Рабата в ceTX 
трансляuии маршрутов, но элеraнтноro решения просто не сушествует. По умолчанию метрика задается равной 16. Т.е. адресат недоc-rynен, поэтому маршруrы дрyrих протоколов никоrда не будут распространЯ'I'ЬСЯ через RIP. Если же нужно разрешmъ подобную paccьuncy, хорошим значением будет 10. Имена ин-rерфейсов назначаются так же, как и в инстрyкuии Iпtеrfасеs. описаниой выше. Опция riрiп залает прием RIРоБНОR11ений для двнноrо интерфейса, а опuия поrlрlп запрешаe'l' их принимать. Олции rlрои! и поrlроut ЯRЛяютея аналоrами опuий broadc8st и поЬroаdсast. используемыми для отдельных интерфейсов. Опция DOrlpout устаиовлеиа по умолчанию для РРРсоединений. Предложение vепlоп олределяет, какую версию протокола  RI P 1 IU]И RlP2  следует лрименять для заданных интерфейсов. В случве протокола RlP2 по умолчанию осушествлястся rpупповвя, а не широковешательнвя рассылка маршрутов, поэтому маршрутизаторы RI P 1 их не получат. Чтобы отменить подобное поведение, задайте опuИю broadcast. По умолчанию демон gated принимает RIРобновления от каждоrо, кто их ПОСЫЛает_ Но. если присутствует список trustedgateways, допускаться будут только сообwения от упомянутых в нем узлов. Список шлюзов предстаR11яет собой псречень I PaдpecOB. разпеленных пробелами. В пред.чожении .ourcegatewaY5 перечислены узлы, RIРобновления к которым должны посылаться напрямую. а не широковещатслъно. Подобная возможность ислользуется для отправки разной мвршрутноlI информаUИИ 38l1аиным шлюзам и пля доступа к м:аршрyrиэаторам в сети. r.п:е широкове. шание не подnерживается или запрещено. Опции трассировки устанаW1иваются посредством уже знакомоЙ нам ннстрyкuии traceoptians. Перечисленные з.nс::сь опции применимы только к прстоколу RlP. Опuии reque5!. respon5e и pBckets задают реrистраuию полученных запросов, ОТПРВR11СННЫХ запросов и всех пакетов соответственно. В последнем случае обычно записывается суммарная информация, но при нвличии оnuии detall фОрМИРУe'l'ся подробный отчет о каждом пвкете. Базовые сведения а протоколе OSPF ПреЖllе чем поrpужаться в детали конфиrурирования лротокола OSPF, необходимо поrоворить о .п:ВУХ особенностях протокола: областях маршpyrи зашt:И и отмеченных маршруrизаторах. Облаcrн морwрyrизоции В крупных орraнизаuиях обычно не требуется распространять всю информаuию о состоянии канала из одното кониа сети в дрyrой. Протокол OSPF позволяет с целью уменьшения трафика, вызываемоrо оБНОR11ениями маршрутов, объедннять отдельные сети в облйсти. Канальная информаШIЯ (т.е. данные о физической тополоrии сети) распространяется только в пределах области. Свепения об областях передаются во внешний мир в виде маршрутных резюме. Каждая сеть может вхоJIИТЪ только в одну облаС1'Ь. Маршрyrизаторы СЧlпаются членами всех областей. в которых У них есть сетевые интерфейсы. МаРШРУТИЗ8ТОР, прина.плеЖ8ШИЙ нескольким областям. иазывается пОi!ранuч НЫМ и отвечает за преобразование канальных записей в резюмируюшие сообщения. Маршрyrные резюме представляют собой совокупность маршрyroв C.'1e нующеro вида: "Маршрyrизатор Х может посы'18ть пакеты в сеть У. r nово 14. МоршрутиЗОЦЯ 381 
НR,ходящуюся на расстоянии трех переходав" (rHe Х  поrpаНИ"II-IЬ"'I маршру тиззтор). Маршрymзаторы. нахОДЯШllеся за пределами данной об.iШСПI. СIUIЭ1IЫваJOТ метрику стоимости, заявленную в резюме. с вычисленнои стоимостью .поступа к потраничному маршрyrизатору и получают ИТОI"ОВ}W стоимость пyrи в требуемую сеть. Описанная схема напоминает завуалированный л.истанционновеХТОРНЫJ..1 протокол. но есть два важных отличия. Вопервых, резюмирующие сообшеНItS1 распространяются точнО в том внл.е, в котором они поступают от поrpаничных маршрyrизаторов. Маршрyrизатор может подсчитать .!lЛЯ себя, что если он находится нв расстоянии дву" пере).ол.ов от сети х. а сеть Х расположенз 8 трех перехода.х от У, то от Hero до У  5 переходов. Но он никоша tte откроет результаты своих nы"шслеНIНt пруrо!\.f)' маршрутнззтору, 3 просто передаст дальше нсходны1и резюмирующий маршрyr.. Дрyrое отличие от пистанuионновекторныx протоколов заклюt(аетсЯ n том, ЧТО протокол OSPF не пытается подстроитъся под прои"Звольные сетеиые тополоrии. Требуется, чrобы псе области маршрyrизаuии были лоrИЧtСКИ .смежными с цеитральной опорной областью, известнОЙ как область О (они также Mor)'T быть смежными npyr с дрyrом). Маршрyrные резюме MorYT раСПрОС1])аняться только от краевых областей в uентральную и наоборот, 1-10 не между краевыми областями ее. Подобная простая двухуровневая иерарХliЯ предотврашает 80ЗЮfкновение uиКЛОВ. Если архитектура реальной сети не СООТНе'Тствует ДВУ).)'ровневой модеJlIi OSPF. еше не все потеряно_ Построить ПВУХУРО8невую иераРХIIЮ можно, воспользовавшисЬ имеющейся 8 OSPF конuепuией "виртуальных каналов.' К сожалению. эта тема выходит J3 рамки нашей книrи. Отмеченные маршрутизаторы ТеореТИ"lески тополоrические протоколы распространяют марl.llрyrliУЮ информаuию в виде записей, описывaIOШИХ связи меЖдУ маршрyrизаторами. налример: .. Маршрутизатор А rpаничит с маршрyrизаrором Б, а стоимость соединения равна 1". Если в сети 6 маршрутизаторон. придется рассылать 30 различных канальных удомлении, поскольку каждый марUlрутизатор rpаничJofТ с пятью друrими. Более Toro, все маршрyrизаторы булyr считать npyr дрyrа соседямИ. и, таким образом. потребуется синхронизаuия их баз данных. Протокол OS Р F сокрашает объем рассылаемой информапии, делая 01D1Ii 111 маршрутизаторов в сети отмеченным еее. Отмеченный маршрутизатор принимает канальные уведаМЛСН1tя от всех дрyrиx маршрyrИlаторов. а затем рассылает итоrовый отчет о собранных маршрyrax. Маршрyrизаторы поrовариваются о том. Koro из них выбрать H.iI "руководящую полжность". основываясь на значениях приоритеТО8, задаНIIЫХ административным nутем. МарШРУТИlаторЪJ с прноритетом О не MOryr быть это справедливо только внyrpИ области. Если реЗЮМИр}'IOшее сообшение поступает в смежную область, поrpаничнъdt М8ршрyrизатор производит перерасчет м:аршрyrО8 относи тельно своеro местоположения. это yrвeрждение не совсем верно. Есть несколько спеuиальных ТИПОВ областей, например NSSA (Not So Stubby Аreз  менее замкнyra.я область), предназначенных ДnJl переноса маршруrноА: информаnии меЖдУ краевыми областями. Но каждый маршрyr, полученный таким способом, особым образом помечается, чтобы случайно не возни.к uик.". ПраВWIьнее вместо термина "сеть" ynщребшП'ь терм.ин "широковсщательный домен". Имеется также механизм rюдnержки отмеченных маршрyrизаторов в ceTJLX, rдe не ПОJlдер живаетСJl широковещание. 382 Часть 11. Робото в сетях 
отмеченными. Среди оставшихся победителем становится тот  у KOro самый высокий приоритет. Если тахих маршрyrизаТОРОБ несколько. выбор осуще СТШ1яется псевлослучайным способом. АналоrичНblМ образом назначается резервный отмеченный маршрyrиза тор. Каж.n:ый маршрyrизатор в сети постоянно держит связь с обоими отмеченными маршрутизаторами. Если uенrpальный выхОДИТ из строя, ero место тут же занимает резервный. а на осво60лившyJOCЯ "должность" проводятся новые выборы. ОтмечеIOiые маршрyrизаторы обрабатьmают больший объем данных. Это следует yчптъmaть при их выборе. Конфиryрирование протокола OSPF Настройка лараметров протокола OSPF проводится с помощью инструк ции о.рС: ospf yes I по 1 ол I off [( defaul ts ( routerprio; ): trасеорtiолs ОЛW1И  трассировки; Ьасkbопе , (area область) ( networks ( сеть [exact I refines] (restrict]; сеть rnask маска [exact I refines] [restrict]; сеть masklen число [exact I refines] [restrict]; host узел [exact I refines] [restrict]; }: stubhosts I узел cost СТОИllоеть; 1: lnt;erface СЛИСйХ интерФейсов [cost стою.юсть) { епаЫе 1 dl.sable: priority приоритет; J: }: )]: Эта инструкuия проше, чем кажется на первый 8зrляд. Ключевые слова оп, orr, yes и по имеют очевидное значение. По умолчанию протокол OSPF не используется. Ключевое слово routerprio в разделе deraults указывает на то, что маршрутный приоритет (применяется при выборе отмеченноro маршрутиза тора) равен I пля всех интерфейсов. При желании это значение можно переопределить, описывая конкретный интерфейс. По умолчанию приоритет равен О, вследствие чеrо демон gated не может стать отмеченным маРШР""ТIf затором какой бы то ни было сети. Определение области начинается с ключевоrо слова backbone или area. Необходимо, чтобы была одна такая инстрyкuия для кaжnой области, членом которсЙ является маршрутнзатор. В спецификации протокола OSPF сказано, что опорная область должна быть областью О, но демон gated требует указывать ключевое слово Ьа.сkboпе, а не area о. Apryмeнт область может быть задан в виде десяти-чноrо числа или четырекбайтовоro числа в формате IPaдpeca (например, 128.138.45.2). Демон gated никоrда не интерпретирует номер области как IPaдpec, но точечная r лова 14. МОРШРУТИЗОLl.ИR заз 
четырехбaй'rовая запись предусмотрена ДЛJI тoro, чтобы облвcrn можно было помечвть IРвдресами основиых мвршрутизаторов или серверов. В списке networks перечислены сети, вхопящие в облвсть. Сети нужио указыватъ ТОЛЬКО в конфиrypапиониых файлах потраничных мвршрутизаторов. СneUИфИК3lIllя адреса и сетевой маски дается тах же, как и в рассмотренной выше инструкции martian., за ИСКJIЮчением TOro, что ключевое слово вllow атСутС'Твует. Сети, помеченныe ключевым СЛОВОМ restrlct, ие ВЮIючаются в маршрутные резюме. Оми являются Ilсекретными.' и доступны только в пределах данной области. В списке stubhosts леречислены иелосрелственно подключенные узлы. которые объявляются доступными через данный мвршрутизатор и имеюТ указанную стоимость (обычно 1), Обычно таким образом ОЛИСЬПl3ются ppp и SLIРсоединения. Наконец, в списке Interface указывается стоимость маршрутв к каждой подключенной сети (по умолчанию 1) и приоритет демоиа иаted пля нее (используется при выборе отмеченноro маршрутизвтора). Если для интерфейса задано ключевое слово dlsabIe, то через нето не будет npоходить ОSРFтрафИ1<. Конфиryрирование переадресующих IСМРдиректив Демон иаted позволяет обсспечиватъ lIдМинистрвТИI!НЫЙ контроль HIUl маршрутами, нвl!дeнными блвroдаря переадресующим IСМРдиреКТИDам (см. паратраф 13.5). red1rect уев , по I оп I off [( preference приори'I'В"l'; 1nterface спиСОl<'интерфейсов [поrеd1rесts] I [redlrecte] 1 trustedgateways список Ul1ШЗОВl traceopt1ons опциИ'l'ра-ёсироJ3КИ; )]. Все опции должны бытъ уже знакомы читателям. Предложение preferenee задает общий приоритет лереадресованных маршрутов (по умолчанию 30, что вполне приемлемо). Опции redlrects и nOl'edireets соответственно разрешают и запрещают прием переадресующих сообщений по данному интерфейсу, В списке trustedиаtewаys перечислены маршрутизаторы, от которых разреша етея принимать такие сообшения. С переадресацией не связаны никакие дополнительные опции трассировки. В некоторых системах ядро самостоятельно обрабатывает переадресующие IСМРдирективы, не позволяя вмешиваться демону ИDted. В этом случае демон проверяет. приняло ли ядро директиву, и самостоятельно УД8Jlяет маршрут из таблИ1lЫ, если он нежелателен. Статические маршруты Статические маршруты конфиrурируются посре.аством инстрyкuии stalle: stat.ic ( адрес gateway список Ш1IЮЗОS [1nterface список интерфейсов) [preference пр;;'орите-:r] [retain] [reject] [black.hole] [noinst:.all] ; }; 384 Часть 11 Робота в сетя)! 
Apryмeнт адрес может быть задан одним из следующих традиuионных способов: hos t узел defaul t сеть сеть mask иаска сеть masklen длина Apryмeнт спиСОКШJlюзов  это перечень маршрyrизаторов, посредством которых можно достичь указанноrо адресата. Теоретически может существо вать несколько nтюзов. но в большинстве систем ядро не поддерживает мноroвекторную маршрyrизаuию. Если обозначенный 111Люз не находится в непосредственно ЛоДЮIЮченной сети (список интерфейсов подключения задаетсЯ в предложении iпtеrfасе), маршрут иrнорируется. По умолчанию приоритет мвршрyrа равен 60. что позволяет перекрывать ero маршрутами. найденными посредством протокола OSPF или перемре сующих ICМРдиректив. Если маршрyr Помечен ключевым словом rеtаiп. ан будет сушествовать в таблиuе маршрyrизаuии ядра. пока выполняется .nемон gated. Обычно демон произвопит после себя очистку, оставляя пиllIЪ anреса интерфейсов и те маршруrы. которые существовали до Hero. В противоположность этому ключевое CJlOBO nolnstall запрещает помещать маршрут в локапъную таблиuy марщрутизаuии, разрешая лишь сообщать о нем друтим маршрутизаторам. Данная возможность оказывается полезной при реализаuии "серверов Map шрутизации", которые реально не осуществляют переадресацию трафика, а лишь управляют марщрутной информацией в рамках сети_ Маршрyrы. помеченные ЮlючевымИ словами blackhale и reject, запрещают перенаправление пакетов в тех системах, rHe оно поддерживается. В С.:1учае опции reject отправителю возвращается ICMPnaKeT с сообщением об ошибке; а при использоваНИи опuии bIBckhole пакеты просто исчезают. Экспортируемые маршруты Если демон gated нашел все необходимые ему маршруты, он помешает их в таблицу ядра. для большинства приложений больше ничеrо не требуется. Но иноrда нужно тах сконфиryрировать демон, чтобы он ВЫСТV'Пал 8 роли транслятора, принимая информаuию от oHHoro протокола и напраR11ЯЯ се в дрyrой. Упр8W1сние этим проuс:ссом осуwествляется посредством и-нструкuии .xport; export. proto прОТОl<:ОЛ Interface спИСОI('интерфейсов I gatewlkY спИСОКШI1Ю30.в] restrictl или export proto протокол !interface список интерфейсов I gateway СIJИСОКШ11IOS'О.в] [metric UВТРИКI!!II] {' зкспортируеuый  список; }; Арryмент протокол  зто протокол маршрутизации, осушестnляюший рассылку транслируемой информаuи-и. В экспортируемом списке содержится r"oeo 14. Маршрутизоция 385 
по OnHOJl.f)' предложею{Ю proto МЯ каЖдоrо транслируемоrо набора данных. Вот пример TaKoro списка: proto static { ALL metric 1; }: в соответствии с этим списком 8се статические маршрyrы помешаются в экспортируемый список с метрикой стоимости 1. ПОЛНЫЙ пример конфиryрации демона gated н иже показана конфИТ)'рацня сети, в которой используется как протокол RlP, так и OSPF. Конфиryрационный файл предназначен для поrpаничноrо маршрyrизатора (рис. В). корпораТИ8НaR ..аrмстраль опорt-lая область OSPF сеть 192.225.55 OSPF-об.nаСТ1:о 2 Рис. В. Т оnолоrия CeTi'I для при мера I<ОНфИryроциlo1 демона goted В верхней сети (корпоративной маrистрали) используется протокол OSPF. но в нижней локальной сети имеются устройства (несколько сетевых принтеров), которые понимают только протокол RJ Р В панной среле пемон gated повторно осушеСТВJJяет широковещательную рассыл-":У ОSРFмаршрyrОR через протокол RJP. это хороший образеu корпоративной илн университет скоЙ сети. 8 которой персоналыrые компьютеры и сетевые устройства получают маршрyrную информацию посредспюм протокола RIP, но в то же время используют более эффективный протокол д.rIЯ юаимодействия l.JерС'l маrистраль с компьютерами, расположенными R друrих рабочих rpуппах, этажах и здаюtях. Содержимое конфиryраuионноrо фай.'1а выrлядит так: Секция 1: rip yes { broadc:as t; defaultmetric 10; interface 192.225.-40.253 nor.l.pout:.; .l.пtеrfасе 192.225.55.253 ripeut.; }; 386 Часть 11. Работо 6 сетя): 
Свкцкя 2: Qspf уе.!!! асеа 0.0.0.2 authtype попе: networks ( 192.225.55.0 mask 255.255.255.0: ); il1r.erface 192.225.55.253 cost. 1 1 prior.1ty 2: ); ); backbone I nter:face 192.225.40.253 pr.1ority 2; }; !: 1; Секция 3; :>to:1r.ic ( defaul t gateway 192.225.40.254 preference :!.40 retain; 1; СеКЦj.1Я 4: ехросс. proto с::..р proto ospf I ALL r.1etric 1; 1; proto di сесс. ( ALL mеtп.с 1: 1; рсосо s:::at.c { ALL rnесс.1С 1; 1; ,; Се.ция 5: exporl proto ospf ( proto direct t ALL metrlc 1; ); 1; в секuии I немову gated сообшается о необходимости поддержки Пр{)ТО кола RIP. Демон ПРИНlIмает широковешатеЛЫlые RJРоБНОВJJения от друпtх маршрутиззторов по обоим Iштерфейсам, но l'оБСТ8енныс RIPr1aKeTbI 110CЫ лает ТОJlЬКО чере1 интерфейс 192.225.55.253. -:}то ПОlволяет устранить неже лате-льнъrй IIII1PO-КОRещательный трафик в корпараТIВНОЙ маl"ИСТpiL'lИ. В сеКUIfИ 2 .IКТИВl1JИРУСТСЯ протокол OSPF. Интерфейс 192.215.40.253 наханится в опорной области о. Через Hero демон рассылает друти,., маршрутизаторам "приветствеIIliЫС" ОSРFсообшения (протокол HELLO), чтобы обнаружJ.ПЬ своих соседей. Интерфейс 192.225.55.253 располаrается в области 2. Даl1ll3Я сеть имеет ЛИШЬ один 8ЫХОД во внешннЙ мир. Поэтому в секUlШ 3 объявляется стандартный стаТИL[ССКИЙ маршрут ... Iп(еrпе(шлюзу в сети 192.225.40.0. 387 r nOBO 14. Маршрутизоция 
в секuиях 4 и 5 демону gated сообщается о том, какие маршрyrы слел.ует распространять через протоколы RIP и OSPF соответствеННо. В RIРуведом ления будут вютючаться маршруrы к непосредственно подключенным сетям, стандартный статический маршрут, а также любые маршруты. полученные через протокол OSPF. В 05 РFуведомления будут включаться ТО.'1ЪКО маршруты к непосредственно подключенным сетям (например, 192.225.55.0). Объявлять станпартный шлюз нет нео6ходимости. так как ЭТО внyrреннии маршрyrизатор. 146 Q; Особенности маршрутизации в различных системах  Демон gated не ВХОДИТ в дистрибутив 501aris. Демон routed активизируется в режиме сервера (s). коrда компьютер имеет не менее пвух реальных сетевых интерфейсов u не использует протокол ОНСР. Если какоелибо из этих требований не выполняется, демон routed запускается в "бесшумном" режиме (q) пр" УСЛОВИИ. <по стандартный маРШР}"f не задан (В файле /etc/defaul- trouter) и не используется протокол обнаружения маршрyrизаторов (демон in.rdisc). Демон gated запускается, ес;ш в фа"ле /еtс/rс.сопПg.d/пеtсопr выполняется условие G}I.TEDl. Демон rouled не входит в 1IИстриб}"fНВ HPUX. В Red Нв[ демон gated запускается в том случае, если существует фай.'1 /etc/gated.conf. Демон routed по умолчанию отключен. Чтобы активизировать ero, нужно переименовать файл /elc/rc.d/rc3.d/KSSrouted В SSSrouted (это можно также сделать с помошью rpафической утилИ1'bl controJpaneJ). Во FreeBSD демон routed запускается на этале начальной заrpузки, если в файле rc.conr переменная r01Jter enable равна YES, а переменная route!" равна ["ои ted. Чтобы в данной операиионной системе стала возможнои пересылка пахетов между интерфейсами. необхOlrимо в файле rc.conf YCTaHO вить переменную gate\o,Iay епаЫе равной YES. Инсталляцию демона ga[cd можно произвести из J<aT"-10rа /usr/ports/gated. (Ьр] @ 14.7. Выбор стратеrии маршрутизации По сyrи, сушествуют четыре уровня сложности, посредством которых можно охарактеризовать процесс упраиления маршрyrи-заuией в сети: . отсутствие маршрyrизаuин как таковой; . только статическая маршр}"Тизаuня: . преимущественно статическая маршрутизаuия, но клиенты приниt.ПIIОТ RrРобновления: . динамическая маршр}тизвция. Общая тополоrия сети сушественно влияет на потребности D маршрут! зации КЗЖдоrо отдельноrо сетмеНТ8. В ра3.1ИЧНЫХ сетяХ мотут требоваться совершенно разные уровни поддержки маршрyrиЗ8UИИ. При выборе страrеrии полъз)'Йтесь следующими эмпирическимн правилами. . Автономная сеть не требует маршрутизаuии. . Если из сети есть только один выход во внешний мир. клиенты CeTJI (нешлюзовые машины) .п.О:JЖНЫ иметь стандартный статический маршрут к этому шлюзу. Никакой дрyroй КОНфИJ)rpацИlI не требуется, кроме кик на самом ШЛюзе. . Можно задать явный статический маршрут к шлюзу, веДУШС!-fУ " небольшой rpуппе сетей. и стандартный маршрут к шлюзу, ведущему но 388 Часть 11 Ро60та всетя); 
Rнешниi1 мир. Тс,", не "ieHee рекомендуется динамическая маршрутизаuия, если есть возможность добнраться до нужной сети разными маршрутаt.пt. [ели используется протокол RIP, избеrайте запускать демон routed в режиме сервера. так как он передает 8се, что знает (независимо от Toro, верНЫ эти сведения или нет), в широкоищательном режиме через короткие промежутки времени, вс."1едствие чета возникает избыточная Hrtrpy Jкa на сеть и систему. В отличие от Hera демон gated ПОЗВОJlяет явна указыватъ. о каких маршрутах можно сообщать. чта сокращает обым маршрутной информаuии. Кроме тora, демон gSlcd может посыатьь RIРабнонления в конкретные шлюзы. а не осушестRЛЯТЬ их широкове Ш31'ельную рассылку. . llilЯ Toro чтобы клиеНТЫ пассивНо ожида.J1J-l IlOступления обновленны'( маршрутов It не рассыла.'1И свою собственную информаuию, используйте С uе-;IЬЮ запуска демона команду routed q. То же самое можно сделать и посредством демона gated. но IO.I с."10жне.е )'Т1равл"Ять. Mt-IO....ие считают, что RIP  у:.касный. кошмарный прОlОкол, а .з.емон ....outed  потомок Сатаны Это совсем не так. Если демон работает u системс: J-I обеспечивает нормальную ПРОИЗВОДlfтельностъ. пользуйтесь ИМ на 3JlOpOBhe. Не нужно тратить время на ps.зрабоп...у сверхсложных схем марШРУТJ-I1ЗUИ1t. . Если RI Р  не основНОЙ протокол маршрутизаuии, можно lаставить демон gated преобраJОВЫватъ и передавать в широковешате!1ЬНОМ режиме С80И маршрутные данные через протокол RI Р Д.''JЯ удобства паССJ-lВНЫХ К'1ИСIIТОR. . Демон rou[ed ПРИIlЮ,lзет данные ОТОJ:lСЮЛ)'. не выполняя никаКIIХ проьерок. Демон gated позволяет осушествлять более строrий контроль нап. маршрутными обновлениями. Даже ееЛJ-l в сети используется протокол RI Р. можно УПрВВJТЯТЬ обменом маРШРУТНЫМJ-I данными с поr..lOшью демона gated, а демоН routed запускать только на машинахклиентах. Динамическую маршруппаuию следует применять в точках. rде сети пересекают политические или административные rpaниuЫ. В сетях с динаМИ'-lеской маршрутизаUJ-lей, содержаших замкнутые контурЬ1 ИЛИ избыточные пути. па ВОЗМОЖНОСТИ применяйте протокол OSPF. t\.'tаршрутизаторы. подключенные к JПLеmеl.маrистрали, .золжны ИСПОjJЬ зовать протокол BGP Обычно подклю[ение ПРОИ180ДИiСЯ в одной едннственной TO<IKe. поэтому подойдет простой статичеСЮiЙ маршрут. Хорошая стратеrия маршрутизаТlIIИ WТЯ ОРI.анизаuии cpenHero размера с ОПlосительно стабильноЙ лаК3.1ЫIOIi СТрУКl)'роЙ I-i имеющИМСА соединеНlll.:М с каКОИ!IН,бо друrой сетью  III.:ПОЛЬЗ0вать комБИНi1lПtю СПIПfческоi'l н диначической маРШРУТl1заllЮI Те ,,"омпьютеры. которые не ЯRЛЯЮТСЯ шлю замИ к внешним сетям, MOIl'T Ilсполыовать статическую маршрутизаUltю. по умолчанию lыправляя все неизвестные шкетЫ на машину, способную общаться с вне.шним миром и выIIлшпьь динамическую мв.РШРУТИ.J3ШIЮ. Сеть. которая для управления по такоЙ схеме стш1КОМ сложна, должна основываться на динамической маРШРУТИlаllН11. В крае-вых CeTJIX 1l0прежнему -можно ИСl10ЛЬЗOfЩТЬ стандартные статические маршруты, но компьютеры в сетях с более чем ОДНИМ маРШРУП13атором должны выполнять демон ....outed 8 "бесшумном" режиме Всем компьютер\1 с нескоЛЬКИМИ сетевымн интерфейсами следует ВЫПОЛl-iJtТL деМОI-l ga[ed 8 cepflepHor..! реЖIIIС If осушествлять ШllроковещателънуlO pacCl,uIKY маршрутов trерез протокол R I Р r пшю 14. МаршрVП'1ЗОЦИSl 389 
14.8. Маршрyrизаторы Cisco Маршрyrизаторы, выпускаемые компанией Cisco Systems. 'пс.. сеrодня являются станлаРТQМ дефакто на рынке подобных устройств. Захватив более 70% рынка, компания Cisco добилась широкой известности своих ПРОДУКТОВ. к тому ж.е имеется множество специалистов, умеющих работать с этими продуктами. Раньше в качестве маршрyrизаТОрОВ ПРИХОДЮIOСЬ часто исполь зевать UNIХ>системы с несколькими сетевыми интерфейсами. Сеrодня офисы крупных компаний буквально напичканы маршрутизаторами. распо ложенными в стенных шкафах и нап Rскусственныt.rи потолками, rде сходЯТСЯ сетеные кабели. эти маршрутиззторы дешевле, быстрее и безопаснее, чем их UNIХ-аналоrn. Большинство маРШРУТИЗ8rоров Cisco работает под ynравлением опера uионной системы 105, которая является собственностью компании Cisco и не имеет отношения к UNIX. У нее достаточно большой набор команд; полная бумажная документацмя занимает на полке почти полтора метра. Мы иикоrД8 не смопIИ бы полностью описатъ здесь эту операuионную систему. но все же постараемся .nатъ о ней основные сведения В IOS определены два уровня доступа (пользовательский и привилеrn рованный). кажпый из которых ВКЛЮЧает паролъную Jащиту. По умолчанию можно получить доступ к маршрутизатору Cisco на ПОЛl:)зовательском уровне посредством проrpaммы telne( Будет вы.nано ПРl11'лашение на ввод пароля: " t.1net xorgw.xQr_cOlll Connect:ed [.0 xor9w.xor.com. Escape character 1s . А J I _ User l\ccess Verlficat.l.on Password: После ввода правильноrо пароля появится приrлашение от интерпрета- тора команд ЕХ ЕС: xorgw. xor. сот> с этоrо момента можно начинать вводитъ команды I например команду show interraces. отображаюшуlO список сетевых интерфейсов маршрyrизатора, или show ? отображающую справку по возможным параметрам. Для перехопа в привилеrированный режим задайте комзн.ду enable, а при последующем запросе  пароль Признаком ПРИБилеrированноrо режима является наличие символа '#' в коние строки приrлашения: xorgw . xor . сот' Будьте осторожны На.ходясь в Данном режиме, можно делать Бсе. что утодно. включая удаление конфиrурационной информаuии И самой опера UИОННОй системы. Введя команду show Пlппiпg, вы можете узнать текущие дннамические параметры конфиrурашiИ. а по команде show config отображаются теlo.'У1llие неизменяемые параметры. В большинстве случаев оба набора данных одина ковы. Вот тиm1ЧНая конфиryраuия: xorgw . xot: . com' ahov runni.ng Current configuration: Мохно СКОНФИlурировать множество методов ДОС1)'П8. Если в вашей орrанизации уже используются маршрyrиззторы Cisco. обратитесь к сетевому администратору. чтобы узиать. какие методы доС1)'ПЗ имеются. 390 Чость 11. Робота в сетях 
vers:Lon 12. О host.name xorgw enable secret хххххххх ip subnetzero interface Ethernet.O dезссрtiоп хон internal net.work ip address 192.108.21. 25,q, 255.255.255. О по ip direct.edbroadcast. interface Ethernetl аезсс iption XOR backbone network ip address 192.225.33.254 255.255.255.0 по ip directedbroadcast l.p c!as5!ess line соп О r.ransport input попе line aux О transport input t.elnet line vty О 4 password 10g.1n end Модифиuировать конфиrураuию маршрутизатора можно разными спосо бами. Компания Cisco предлаrает rpафические утилиты, работаюшие в некоторых версиях UN IХ J.f NT, но опытные сетевые администраторы никоrда ИМИ не пользуются. Их самый мошный инструмент  комаН,!IНая строка. Кроме Toro, сушествует возможность посредством протокола TFТP заrpузить с маршрутизатора ero конфитураuионный файл и отредактировать в любимом текстовом ре.nакторе, после чеrо записать фаЙЛ обратно на маршрутизатор. Чтобы отредактировать конфиrураuионный файл в режиме комзндной строки. ввепите config term xorgW. xor . сот" con.f"iq tarm Enter configuration commands. опе per line. End wi th CNTL!Z. xorgw (config)' Теперь можно вводить конфиryраuионные команды точно в таком виде. в каком J-IX будет отображать команда show running. Например, есл-и НУЖI-IО изменить IPaдpec интерфеЙса EthernetO. укажите: in1:.erface Et.hernetO ip address 192.225.40.253 255.255.255.0 По завершении вва.nа конфиryрационных команд наЖfo,iИте <Соп(rоlZ>, чтобы вернуться к обычной командной строке. Если все прошло нормально. сохраните новую конфиrypаuию в постоянноЙ памяти посредcrвом команды write mem. Пред.lаrае1 вам нескольКо СО8етов касательно работы с маРШРУТIf3ато рами Cisco. Присвойте маРШРУТИJатор)' имя с помощью команды IIOS[l13П1f Это позволит избежать неприятностей. связанных с изменением конфиryра ции не Toro маршруппатора. 3aL1.€lНlюе ИМЯ всеrдз будет отображаться в комаНДНОЙ строке. r паВQ 14. МОрШРУТИЗQUИЯ 391 
. ВсеIШI храни-re резервную коmfЮ конфиryраlllюнноrо фаЙ1lВ маршрyrизатора. Можно написать короткий сuенарий expect. который будет посредством протокола TFТP каждую ночь лересылать текущую конфиrypацию в UNIХсистему. . Контролирyltre nocтyn к командной строке маршpyrизатора лyrем созда НИЯ списка доступа W1Я каЖдоrо порта VТY (вналоrичен порту рту в UNIХсистеме)- Это ПОЗВОЛИТ исключить вероятность Цвзлома" маршру. тизатора посторонними ПОЛЬ30В8теля}.m. . Упрв'ВЛяйте трафиком между сетями (8, возможно. R Ба внешний мир). создавая списки nocтyna ШlЯ Кaжllоrо интерфейса. О том, как составлптъ такие списки. рассказыпается в первом разделе параrpафа 21.9. . Физически оrpаничивайте доступ к мвршрyrизаторзм. Ведь если у злоумышленника есть физический доступ к устройству I ОН леrко смажt:Т сбросить параль n РИБилеrированноrо режима. 14.9. Рекомендуемая литература . Huitema, Christian. Rou/ing in /he /n1erпe/, Second Editioп. Prentice НаН. 2000. Эта книrа преДСТ8'ВЛЯет собой введение в маршрутизаuию .nля начинаю ЩИХ. В ней описано большинство используемых сеrоДНЯ протоколов маршрутизации, а также рассматривается ряn слОЖНЫХ тем, например rpyтmoBoe вешание. . Моу, John Т. OSPF: Aпйlйтy О/1JП /п/erпe/ Rou/tng Рro/осо/. АddisолWеslеу. 1998. Данная книrа содержит исчерПbJваюшее описание протокола OSPF, выполненное автором caMoro протокола. Halabl. Ba.ssam. Jтernel Rоштg Arteclures. Cisco Press. 1997. Книra ориентирована на описание BG Р  OCHOBHaro протокола внешней маршрyr:иЗ8UИИ. Имеется также множество nокумеитов RFC, посвяшенных марШРУТИ3Е1 иии. Основные из них перечислены в табл. ] 4.5. т оБЛ"1ца 14.5. Докумеt-lТЫ RFC. посвщеt-lные маршрутизации RfC 2328 1058 2453 1256 1\42 IQ75 1519 1771 Название OSPF \o'c<Sion 2 Rouling Information Prolocol RIP \'erslOn 2 1 СМ Р Rouler Discovery Меssзgе5 051 1515 Inlradomain Routin8 Protocol DlStance УеСlor MulllCast Routing Рrоюсоl CIDR: an Address AssignmeПl and д8gn::gaLion 5t.rn.tc:gy А Border G8teway Protocol 4 (BGP4) Авторы Jo1m Т. Моу С. Hedrick Gary Scon Malkin 51ерЬсп Е. Оеелng David R. Оran D. Waitzman с. а1. Vince Fulle.r с. al. Yakov Rekhter ct al. 392 Часть 11 Робота в сеТАХ 
75 Сетевые аппаратные средства  (J  .d : w (е А )  r1i-  {  Cf11  Ничто не оказывает ссrоДНЯ СТОЛЬ большоrо ШJИЯНИЯ на раЗRИ11lе науки, как вОЗМОЖНОСТЬ перемещатъ orpoMHbIe объемы данных из OHHoro места и друтое с очень большой скоростью. rлобалъные коммуникаuии достиrли TaKoro уровня развития, о котором п:есятъ лет назал моrли мечтать .:Iншь фанатики научной фантастики. За всем этим безумием стоит самое разное сетевое оборудование. мноrие коmонеитЫ Koтoporo берут свое начаlQ 8 UN 1X. Актуальная на сеroдня задача  уrнатъся за стремительно разпиuаЮШНМСfl MJ-IрОМ. Быстродействие .., надежность сети оказывают непосредственное а'lияние на результаты деяте:JЬНОСПI компан и орrзннззuий. Недостатки 8 построении сети приводят к ЛИЧНЫМ и профессионалънъrм проблемам. и устранение этих недостатков порой обходится очень дороro. Успешное создание сети зависИТ от трех важне'Йuшх факторов: . разработки прие:r.шсмой структуры сети; выбора высококачественноrо оборудования; . правилъной инсталляuии и iIоК)'М'ентирования В настоящей fлаве рассматр'Иваются среды передачи. которые чаше Hcero используются .nля орrан'Изаuни локальных и r.'lобальных сетей. в TO! чИС.'lе Ethernet, А ТМ и DS L. Кроме Toro. освещаются некоторые вопросы nрое", тирования сетей. а....'ТУа.'1ьные .fi..,'Iя любых сетей  как новых, так и сушест вуюших. 15.1. ЛВС, rBC и ОВС в определенном смысле нам повезло, что протоколы ТСР /1 Р MOryт :IefKQ работать в самых разных средах. Но в пействите!JbНОСТИ рынок сетевых аппаратных средств разбm на множество плохо совместимых дрyr с друrом cerMemoB. r лава 15. Сетевые оппаратные средство 393 
Сети. проложенные в предела'\: здания или rpуппы зд.зний. наЗЫni:1ЮТ локальными ВЫЧJiСЛИТельныМТi сетями или ЛВС. В них распростраиены высокоскоростные дешевые ЛJ-lНИИ передач. В rлобальных вычислитеJ1ЫIЫХ сетях (rBC) конеЧные точки соединения reоrpафически MOryr быть УZlалеIЫ друr от дрyra на 3flзчительныe расстояния (тысячи километров). В таких сетях высокоскоростные каналы стоят большие денъrи, зато в сеть MOryr объс:ди нятъся компьютеры, расположенные в разных rородах и странах. Обшеrород екая вычислительная сеть (ОВС)  это новый термин. обозначаюшИ'Й высокоскоростную умеренной стоимости среду, ФУНКUИОНItруюшую в рамка.'\: ropoдa или rpYTmbI rородов. В этой rлаве мы узнаем. какие технолоrии стоят З8 всеми этими сетями. 15.2. Ethernet: общепризнанная ЛВС Захватив более 80% MlfpoBoro рынка Л ВС. сети ЕthеПlеt сталlt почти повсеместным я:anением в СОБременном компьютерном мире. Разработку cTaн.napT3 Erhemet начал Билл Меткаф (ВiII Metcalfe) из Массачусетскоrо технолоrическоrо инсти1утз в рамках ПОдТотовюt своей 1l0КТОрСКОЙ диссер таuии. После окончания учебы Билл стал работать в научноисследователь СКОМ ueHтpe фирмы XEROX. Объединив усилия с корпораuнями DЕС и Inlel, фирма XEROX в конце кониов превратила Etherne[ в ,'стовый продукт. Этот проект стал одним из первых примеров сотрудничеСТ88 конкурируюших компьютерных фирм. В первоначалъной спеuнфикашш E[herne[ БЬU1а определена скорость п<редачи J Мбнт/с, но она лочти сразу же выросла до 10 Мбнт/с. Аппаратура разрабатывалась на основе CIICTeMbl Xerox Alto, на печатной плате которой не нзuтОСЬ места ПЛя внешнеrо тактовоrо reHepaтopa. ПОЭТО}l.'1)' пришлось использовать внутренний reHepaтop этой системы. в результате чеrо скорость передачи должна была составить 2.94 Мбит/с. Эту uифру окруrлили до 3 Мбит/с. Бюш Меткаф и друrие спеuиаЛIIСТЫ, работавшие в то время над архитектурой ARPANET. возражали против такой поrpeШНОСТJ-I окр}тления. которая превышала всю полосу пропускания сети ARPANET. но соображения маркетинrа побелили. Период становлеНJ-IЯ технолоrни Etheme[ пришслся ШI 80--е rr. 3то ObLl0 время, коrпа мноrие cCTCUbIe операШlOнные CJ-lстеМbI. включая LINIX. приобретали базовые функuиональные позможности и учюrись взаI1МОДеПСТ 80ВаТЬ дрyr с дрyrом. Всеобшее внимание техиолоrия приобрела в 1994 r.. коrда в соответствии с новой спеuификаuисfl ее скорость работы оставила 100 Мбнт/с. В 1998 r. был достиrиут НОВЫЙ рубеж: I rбит/с Сеrодня перед разработчиками стандарта стоит uель  10 rБI1Т/С. Технолоrия E[llernct уже затмила всех своих КОIfI..:урентов, и. по сушествуюшим проrнозам. к 2008 f. широкое распространение получат терабиrные сети В табл. 15.1 перечислеflЫ основные этапы ЭПОЛЮUИИ различных СП1Н.rшртоп [tllеП1еt. 394 Чость 11 Робота в CeT!'I1( 
т облица 15.1. Эволюция Ethernet  rOA с.:оростъ Нозвонив IEEENo Расстояние Средо стандарто 1973 3 Мбит/с Xerox коахсlwIъиый к.a00tь Ethernet 1980 10 Мбит/с Ethemet 1 500 м Коаксиальный кабс:ль RG 11 1982 1 О Мбит/с DIX 500 М Коаксиальный кабель Elheme. RG11 (Elheme! U) 1985 1 О Мбит/с 108ase5 802.3 500 м коаксиальJiый кабс:ль ("Thickne.") RGII 1985 10 Мбит/с 108ase2 802.3 180 м КоаксиалЬН:Ы:Й кабс:ль ("1l1inne.") RG58 1989 1 О Мбит/с 10ВaseT 802.3 100 м Медиыil к.a00tь нвп' К8теroриИ 3 1993 10 Мбит/с 108aseF 802.3 2"" мм 2 0товолокно 25 км ОМ отО80J10к.но 1994 100 Мбит/с 100BaseTX 802.3и 100 м Медный кабель нвп кa (Fast теroрии 5 Ethemet) 1994 100 Мбит/с 100BaseFX 802.3u 2"" ММ ОПТО80J10КНО 20 "" ОМ оrrroволок.но 1998 1 rбит/с 1000Ba.seSX 802.3. 260 м ММ оmoволокно (62,5 мхм) 550 .. М М оптоволок.но (50 мхм) 1998 1 rбит/с 1U00BaseLX 802.3. 440 М ММ ОnТОllOлокно (62,5 МЮо.I) 550 .. М М оrlТОIlOЛОк.но (50 МКМ) 3к>< ОМ оптоволокно 1998 1 rбит/с 1000BaseCX 802.3. 25 .. ДнуxnроВOJ1НЫЙ зкран.и- рованкый кабель 1999 1 rб.п/с 1000BaseT 802.3аЬ 100 м МеJIНЫЙ кабель НВ П кa ( Gigabi. теroрки 5Е Ii 6 Etheme!) нвп  неэкранироваиная витая пара. 2 ММ  MNOf'OMO'nOBOC. ОМ  о.nномодоное. Как работает Ethernet т ехнолоrию ELhernel можно представить в виле великоветскоrо раута. на котором roсти (компьютеры) не перебивают ПР}Т дpyra, а ждyr паузы в разrоворе (отсутствия трафика в сетевом кабеле), чтобы заrопоритъ. Если два rOCTA начинают rонорить однонременио (т.е. случается Конфли....'Т). оба они останавлипаются. извиняются дpyr перед ApyroM, ждут HeMHoro, а затем оди-н из них начинает rопорить снова. r лаво 15:. Сетевые оппоратные средство 395 
Рис. А. ..т ОЙОfl вечеря. Ethernet В технической терминолоrии эта схема называется CSMNCD (Carrier Sense Multiple Access with Collision Detection  множественныii доступ с контролем несушей и обнаружением конфликтов) Вот смысл 3Toro названия: мно:жествеИНbl:Й доступ: любой может передавать сообшения; . контроль несушей. можно определить, занят ли канал; обнаружение конфликтов: пс:релаюшая система ЗНает. коrда "пере6ивает" коrониб}:m.. Фактическая задержка при обнаружении конфликтов  величина слу чайная. Это позволяет избежать TaKoro разВИiия событий, при KOTOPO\J две машины одновременно передают сообшение в сеть, обнаруживают "столкно- некие". ЖДУТ некоторое время, а затем синхронно возобновляют передачу. переполняя таким образом сеть конфликтамFi. т ололоrия Еthеrлеt С точки зрения тополоrии сеть ЕthеП1еt представляет собой шину с ответвлениями, но без KOH1YPOB У кажд.оrо пакета есть только один путь следования между любыми лвумя машинами в одной сети. В Ethemet MOryт передаваться пакеты 'ТРех типов: опнонаправленные. Il'упповые и ширакове щателъные. П aKeTы первоrа типа ацресованы одному УЗ}1У. второrо  Il'yrrne узлов. TpeTьero  всем узлам в данном сеrменте. Шираковешательный домен  это совокупность уз.,ов. которые ПрИНJI мают пакеты. направляемые по аппаратному широковешателъному адресу. В К8JКДOM лоrическом EthemetcerMeme имеется ровно один LlIИраковеша reльный домен. В ранних стаНдартах Ethemet (например, IOB05e5) лонпnlЯ физическоrо и ЛОПfЧескоrо cerMeHTa были тожп.ествеННЫМИ. поскольку все пакеты передавались по одно,.,!)' большо,.,ry кабелю. к которому прикреплялись сетевые интерфейсы компьютеров-. Мы не шутим! Подключение иовоro КQмпьютера к сети предполaraло прокалываtше отверстия в изоJUШИИ кабеля С помощью спеuиальноro соединителя, назы:ваемоro "зуб вампира". который позволял добраться ДО uентральноro ПРОВОдника. Этот СОСДШlИТeЛЬ затем лрикручквался. ОТ5Срткой. 396 Чость 11. РоБОТQ В сеп)( 
С появлением современных мостов .'10rические сеrмситы стали включать в себя множество (десятки и даже сотни) физических сеrnентов. к которым подключены Bcero па устройства: порт моста и камлъютер. Мосты отвечают за доставку rpупповых и однонаправлеННblX пакетов в физический cerмeнт, rBe расположен нужнЪJ1::\ адресат (anресаты); широковешателькыс пакеты поставлиются ВсеМ сетевым портам в лоrическом cerMcmc. Лоrnческий ceп..leнт может состоять из физических cerмeJfТOB. И'4еющих разную скорость передачи паннъrх (\0 Мбит/с, 100 Мбит/с или 1 rбит/с). Следовательно. !r.юсты должны иметь средства буфеРИЗ8W1И и синхронизаuии, позволяюшие устранитъ возможные конфликты. Неэкранированноя витая паро НеэкранироВ8ННая витая пара (НВП)  самая популярная среда передачи naнных в сетях Ethemet. Этот стандарт основан на звездообразной топо;юrии и ю.iееТ ряд преимушесТ8 по сравнению с дрyrими средами. . применяется недороroй. недефицитный медный кабель (иноrда можнО использовать уже проложенную телефонную проводку): соединение на основе Н БП rораздо проше смонтировать и наладить. чем соединение на основе коаКСИ8JТьноrо кабеля юrn ОПТОDолокна используются дешевые, надежные н удобные в эксrl:lуатаUИII разъе\.IЫ Ю45; . все соединения функuианируют незаВIIСИМО .apyr от пруrа, поэтому неисправность аппаратуры или дефект кабельной системЫ в одном саепинении не поалияет на дрyrnе компьютеры, работаюшис в сети; . все соединения яаляются частными, и сасеЩ.rис: компьютеры не MOryт перехватъrватъ трвфик прус npyra. Обшая схема ceTl1 на основе НБП изображена на рис. Б. Соединение с М8rИСТР8ЛЬЮ .....   Конц.нтр.тор нвп  Питание !5' if ;J I      Р.60ЧU спнц"''' Р.боч-я СПИЦИI'I Еth.m8l:принтер Pc. Б. Схемо сети но основе НВП (Правода, исполыуемые в современных ЛБС на основе нвп. обычно подразделяют на восемь К8теrорий. Эта система опенки ПарЗ\lеТрО8 была впервые введена фирмой Алiхtеr, крупным постапшиком кабе.'1ьноf1 продук пии. Сеrодня выделяются катеrории 1  7 и 1lf=10межуточная К8теrория 5 Е. Кабели катеrорий 1 и 2 rодятся только для пере.зачн звуковых сиrt-!<l.Jl08. Кабель катеrорин 3  СТ3Iшартный для сетей IOBaseT со скоростью передачи 10 Мбит/с. Кабель квтеrории 4 конкретно ни ШIЯ кaKoro ПРl1ложения не r лово 1 s. Сетевые аппаратные средство 397 
предназначен. Иноr.nа ero применяют в построенных на основе НВП сетях Token Ring со скоростью передачи 16 Мбит/с, а также в спе-Ltи8ЛИЗнрованны'\ системах IOBaseT Кабель катеrории 5, помер:живаюший работу на скоросn1 100 Мбит/с. чаше вcero прю.iеняе-тся в современных кабельных системах. Кабели катеrориJj 5Е и 6 подперживают скорость передачи I rбит/с. Д']Я соединений IOBaseT требуются две пары ПрО-ВОДО8 катеrории З, причем ШIина каждой ffi1НИИ перчи оrpиннчена 100 метрами. В соепинеНИI1 100BaseTX прe.nельная .штина та же самая, но ИСПОЛЬ.1УJOтся две пары проводов катеrории s. Бывают правода с поливинилхлоридной и тефлоновоf1 И30JlЯ иней. Ее выбор диктуется средой, 8 которой будут проложены кабlll. В ЗЗМКНyrых помешеннях. связанных с веНПТЛЯUИОIIНОЙ СJ.lсте.юИ JдаНIIЯ. обычно требуется тефлоноuaя ИЗОЛЯШiЯ. ПОЛlfВИНИЛХЛОРИДНая J1ЗО;JRUИ)1 дешевле '"1 проще 8 эксплуатаиии. 0' Подробнее о прокдадке кабелей .'Uожио узиать 8 паРlllрафе /5./0. При МОнтаже соеДИНеНИЙ используются разъемы RJ45, в которых .задейсТВованы выводы 1, 2, 3 и 6. Хотя мя нормальной рабаты соединеНI1Я са скоростью 10 или 100 Мбит/с достаточно двух пар ПРОБОДОВ катеrОрШ1 J. рекомендуем в случае монтажа НОБОЙ сети использовать кабель KaTeropliH 5 с четырьмя парами проподов и подключать все восемь контактов розетки RJ45. Подключая четътрехпарtlыf1 НВПкабе!Ть к комм)'ТаuионtlЪJ/I.'1 панелям и настенным розеткам RJ45. используйте стаlшарт разВОllКИ TIA/EIA568A. Этот стандарт rЮJволяет избежать ошибок при разводке конuоп кабеля неЗ8ВИСиМО от TOro. есть свободныf1 доступ к самим парам или нет. Некоторые требования этоrо CT;i.tlДapTa отражены 8 табл. 15.2. ТаБЛlo'lца 1 5.2. CTOtДOpT ТlA/EIA568A: подключение четыреХnОрНОfО НВПкобеЛR к розеп:е RJ45 Пор" Цвет Koнтaы разъема  Белый/Сини1\ 5/4 Белый/Оранжевый 3/6 БеJlЫй/Зс:леиый 1/2 БеЛЫЙ/К"РИЧ>lевый 7/8 Имеюшаяся 8 Jланин rlроводка может подходить или не ПОДХОДIIТЬ д..'1А прокладки сетеи. а зависимости от Toro. как и Korдa прокладывалась она саМа. Соединение и расширение сетей Ethernet Соrласно семиуровневои модели ISO, сети E[heme[ можно ЛОПfч-ески соединять в нескольких точках. Не!. первом уровне. физическом, исполЬJ}'IOТСЯ либо аппаратные соедннители, либо повторители (в наши дни заменяемые концентраторами) анн передают непосредственно эле....-тричесКие сиrналы. На итором уровне, канальном. применяются мосты. ОНИ передают сетевые кадры. содержашие аппаратные адреса отправителя и получателя. На третьем уровне, сетевом, I1СПОЛЬЗУЮТСЯ маршрутизаторы. ОНИ ДocтaB ляют сообшение следующему УЗЛУ на пути к адресату, не заботясь о ТОМ. что затем произойдет с :пнм сообшеl-lием. 398 Часть 11. Робота в сетях 
Повторители и концентраторы KoнueHTp8ТOp  активное Уf..."Тро:йство, которое используется ШlЯ соеди Не-ПИЯ физи-ческих cerMeHToB Etherncc построенных на основе Н ВП. Он мажет восстанзмиваТL и ретраllс!шровать сиrна..пы и требует внсшнеrо ИС1'0{IНИК8 питания. Выступая в роли повторителя. концентратор передает сиrналы из одноrо кабеля R .прутой. не выполняя обработку сетевых П8кетов. 011 не имеет представления НН а том, купа Н8праRЛЯЮТСЯ пакеты. IIИ а том. кзкоf1 протокол используется. Две самые дальние ТОЧКI1 сети должны отстоять дpyr от лруra liа paccтam-rne не более четырех повторителей. В первом и втором стандарта.х Ethemet число после.nовательно yctahaB-ТIИваемых повторителей оrpаНИЧJmа лось Л8УМЯ на сеть; в спеuификации IЕЕЕ 802.3 1_10 Мбит/с) это число возросло до четырех. В сетях со скоростью передачи 100 Мбит/с допускаются ДВа повторителя, а 8 стзмарте 1000BaseT  только один На рис. В показан-ы допустимая инедопустимая конфиryраuии ШlЯ десятимеraбитной сети. Просто прекрасно Вас нужно ноказать @ /   @ П'@}@ cif @ П @ '0 n = Повторитвпь A.I:: Машина А Б= Машина Б Рис. В. Считоем повторители Кониентраторы время 01 ире мени rребуют RНИМ3Н1fЯ со стороны систем Horo алминистратара, по:пом'\ их НС следует располаrать в трУДl-юдостynНЫХ местах. ВключеШ-1е н выключение питания обычно позволяет "ОЖИБ-ТfЯТЬ" ИХ В случае зависания Mocrы МЧIСТЫ соединяют сети Ethemc[ на канальнОМ (втором) 'POBHe модет, OS[. Их назначение  объедин-ить две отдельные физпчесЮlе сети так, чтобы они выrлядели как olIНa большая физическая сеть_ МОСТЬ! не требуют nporpaMMHoro обеспечения. принимая, реrенерируя и повторно переllавая пакеты на зппараТНО'\1 уровне -. БОJlЫIJ11tlСТВО мостов используют 3..'1I-ОРИТМ диНамическо'.О об}чения_ OHII lаПОМI-I-Н-ЗЮТ, KaKlle ИСХОДllblС .шресtt поступают с oDHoro 1I0рта, а каЮfС  с дртоrо. Пакет переходнт из QДHOrO порта R друrой только в том случае, если Cro получатель находится u соседнеи сеПi. ПеРВQначально переСЫЛi:I.tОТСЯ все пакеты. но через несколько секунд, Korдa мост ИЗУlfl{Т расположение БО.'lьшинства компьютеров. он запускает механизм фильтраuи н . Поскольку между сетями пересылаются не все пакеты, каждый cerMCHT кабеля менее Jзrpу.жен. чем в случае, Korna все компьютеры ПОlll<...тючены к Посколы.-у пакеты реrенерируются. то сети, все cel1wteRТЫ которых соеllинены мостами. лишеНhl оrpаничения. nодобtlO'.О "счетчиt..'У повторителей" иа рис. В. r лово 15 Сетевые оппоротные срепство 399 
одиому кабелю. А в связи с тем, что основной трафик имеет теНденцию к лока.лиЗВlUrи, увеличение реальной пропускной способноСТИ может оказаться довольно серьезны.м. Кроме тата, мост не влияет на лоrмческую модель сети, поэтому еТО установка влечет за собой лишь незначительное вмешательство со стороны администратора. Еслн сеть имеет замкнутые контуры. мост может безнапежно запутаться, потому что пакеты, посылаемые одной машиной, окажутся иа обоих партах мОСТа (или сразу Н8 несколькИХ портах, если у моста их более двух; такие мосты иноrда нвзывают коммутаторами). В QЛной сети Ethernet замкнуrых контуров не бывает, ио после объединения несколькиХ таких сетей мв.ршру тизатарами и мостами тополоrмя измеиится, вследствие чеrо может образо ваться несколько пyreй к одной машиие. Некоторые мосты решают эту проблему за счет резервирования альтернативных маршрутов Н8 тоТ случай, если основной маршрут сТаНет недо(1)'ПНЫМ. Они упрошают тополоrию видимой ими сети до тех пор, пока в оставшихся частях не окажется толька по одному маршрyry к каждому узлу сети. Некоторые мосты создают между сетями двойные каналы и направляют трафик по кольuевой схеМе. Нарашивание функuион8лъных возможностей микролроrpаммноrо кола мостов позволяет повышать их "уровень интеллекта". Некоторые мосты можно использовать для контроля безопасности сети. Они реrистрируют все "чужие" Ethemeta.npeca. выявлJUI таким образом новые ответмения на кабеле и сообшая о них. Поскольку МОСТЫ ФУНКUИОНИРУlOт на канаЛЬНОМ уровне, они не заВ'Исят от протоколов И MOryт обрабатывать любые сочетания пикетаD. ИСПОЛЬЗУlOших протоколы более BblCOKoro уровня (например. IP, AppleTalk или NetBEUI). Мосты должны просматривать каждый пакет и определять. нужно ли ero пересылать в дрyrой cerмeнт. Их производите..1ЬНОСТЬ обычна измеряют как скоростью просмотра пакеТО8, так и скоростью их пересылки. Мноrие пОСТ8ВШИКИ не указывают в nиarpамм8Х произвo.nительности мостов размеры пакетов, поэтому реа.пьная производительность можеТ быть ниже об'Ья-влен ной. Вообше rоворя, мосты  хороший, НО довольио дороroй способ соединения сетей Ethernet. Несмотря на то что быстродействие мостов все иремя растет, эффективна использовать их можно при объединении в один лоrический cerMeНi не более чем сотни коmьютеров. В крупных коммутируемых сетях часТО возникают проблемы наподобие "широковешательньrx штормов", поскольку широкове шательный трафик должен проходить через Все порты. Для решения проблемы нужна изолировать трафик между сеrj\1еНiами посредством маршрyrиЗ8ТОр8. (создавая тем самым более OnHoro лоrическоro Ethemetcerj\1eнтa). В крупных орrанизаllИЯХ можно использовать мосты, позваляюш!е разбивать их парты (nporpaMMHNM путем) на тpyтmы. называемые 8ИрТУаль НЫМИ ПВС (ВПВС). ВЛВС  это rpулпа лортов. принадлежашая одному и тому же лоrическому cerмeHТY, как еспи бы порты были соединеиы со своим собственным вьшеленным мостом. Подобное секционированне позволяет повысить степе-нь и]оля-пии трафиха, что полезна с точКИ зрения как безопаснОСТИ, так и производительности. Выбор моста может представлять определенные трудности. В этом cerMeme рынка очеНЬ высокая конкуренШfЯ, следствием которой являются мноrочисленные рекламные за.я--вления, не Bcer.na подтвеРЖдаемые на прак тике. Поэтому не стоит особо доверять данным, которые приводятся поставшикамм; лучше прислушаться к советаМ независимых экспертов. В пОСЛедние ТОДЫ не-редко случалось так, что чейто продукт оказыва.пся 400 Часть 11 Робота 8 сетя'Х 
"лучшим'. в течение нескольких месяцев, а затем, после ПОПЫТОК внести улучшения, ero производителъность или надежность пааsлв киже критической О'!'Метки. В любом случае убедитесь, что скорость об'ЪеДИНIfТельной пвнели моста является достаточной У хорошо спроектированноro моста эта скорость должна превышать сумму скоростей всех ето портов. Моршрутиэоторы Маршрyrизатор представляет собой спеUИ3JТWзированное ВЫЧИСjТительное устройство с двумя или иесколькими сетевыми интерфейсами, работающее на третьем (сетевом) уровне модeJП{ 05[. Мвршрутизвторы доставлRЮт пакеты адресатам, основываясь на информаuии, хранящейся в IРЗ8rоловках. Помимо простоrо перемещения па.кетов из oднoro места в npyroe маршрyrизаторы вьmолНЯ1ОТ также ряд особых фyнкuий, наПрИМер фильтрацию пакетов (в соответствии с правилами безопасности), раздсление трафика по приорнтетам (В соответСТвии с заданным качеством обслуж:и:вания) и обнаружение обшей сетевой тополоrии. Подробно об этом рв.ссказывалОСL в rлаве 14. На одном маРШРУТИ3llторе MOryr быть установлены аппаратные интер фейсы разных rипов (FDDI, Ethemet, АТМ). На проrpаммном уровне некоторые мsршрyrизаторы MOryr обрабатывать трафик, не относяшийся к протоколу [Р, налример пакеты протоколов 'РХ и AppleTalk. В этом СЛ)"l8С маршрутизвтор и есо интерфейсы нужно сконфиrypироа8ТЬ для KaJКдOCO КOHкpeTHoro протокола. у маршрутизаторов может быть фиксированная нли модульная конфи rypаuия. Устройства первоro типа содержат сетевые интерфейсы, пре..цуста HOВJleHHыe в заводских условиях. Они ПОl[Xо.nят для спеuивлизированных применений. Например, маршрутизатор с интерфейсами ТI и Elhemet может оказаться удобным, Kor.n.a нужно подключить нсбольшую компанию к сети [nteme!. Модульные маршрутизаторы имеют слотовую или шинную архитектуру. а интерфейсы к ним добавляются конечными пользоеателями. Обычно это более дороrие устройства, но зато они ПРОЯ1lЛяют большую rибкость в эксnлуатauии. В зависимости от необхonимой надежности и ожидаемоrо трафика выделенный маршрзатор МОЖет оказаться как дороже, так и дешевле UNIХсистемы, выстynаюшей 8 роли М8рШрyrИЗ8тора. Однако спеuиа..пизи pOB1fНoe устройство Всетда будет демонстрировать более высокую произва ДИiелъность и Н8,llежность. Это та область ceTCBoro проеКТИРОВ8НИЯ, rne лучше заранее вложить дополнительные деньrи, чем потом иметь ненужную толовную боль. 15.3. FDDI: дороrая локальная сеТьраэочарование При скорости передачи 10 Мбит/с технолоrия Ethemet ие обеспечивала пропускнyIO способность, необходимую для решсния некоторых сетевых задач, например соединения рабочих rpуттл через корпор8Тll1lную или унияерситет скую маrистраль. С uеЛLЮ создания более произволительной среды КОмнтет Х3Т9.5 Американскоro наuиональноrо инсти'l)"Пl CT8I\дapТOB (Аmеriсал N. uолаl 5tandards [ns!itute, AN51) в середине 80x rr. опубликовал стандарт FDD[' (Fiber DiSlributed Data IЛlеrfасе  распределенный интерфейс передачи FDDI БыJl также прИЮIТ в качестве станцарта 180. r пава 15 Сетевые аппораn1bJЕ' средства 401 
данных по ВОЛОКОIOiOоmическим каналам). Он разрабатывзлсЯ и выпускалея на рынок как интерфейс для сетей Token Ring со скоростью лередачи 100 Мбит/с. Ожи.nалось, что техНОЛОrия FDDI позволит леncо реШ1iТЬ проблему проnyскной способности, стотцую переп мноrими орrанn3aUИЯ.МИ. К сожалению, очень скоро стандарт всех разочаровал. В первое время цена интерфейсов FDDI (около 10000$) частО превышала стоимОСТЬ рабочих станuИЙ. на которых они устанавтruались. а производитеJJЬНОСТЬ (например. в первых FDDIплатах фирмы ОЕС) была во мноп,х случаях хуже. чем у Ethemet. FDDIплаты и сейчас дороrи. но их праизводительность улучшилась. Современные платы TRКoro типа имеют пропускную способность примерно 80 Мбm/с. Для нормалъноrо качества функцнонирования FDDInлате требуется ropa3no большее значекие MTU (максимальный размер перел.аваемоrо блока), чеМ ТО, что по умолчанию установлено для Ethemet. Наилучший выбор  4352 (задается с помощью команды irconfig). До тех пор пока проrpзммное обеспечение. используемое ШIЯ перемешения файлов по сетям, не будет настроено на быстродействие и характеристики FDDI, пользователи будут довольствоваться npоизводителъностью в диапазоне от одной трети до половины теоретическоrо максимума. o Более подробно о значении A-fТU рассказывалось в параzрафе JЗ.З. CTaJ-Щарт FDDI определяет кольцевую rополоrию сеТи сперелачей маркера. построенную на базе волоконно--оmическоf1 среды со скоростью передачи 100 Мбит/с (рис. П. Здесь используется двойная кольuевая архи тектура: основиое кольцО обеспечивает передачу даннЫХ, а вспомоraтелъное используется как резервное на с!Тучай разрыва. Нормальная робота . Компьютер  отключен Бомба твррориcтd n V ;А 8 спшндаpnw l7UZICOй "-""'''"  Т7oт".. (\ : :JIt' Рис. r. Двойноя кольцевая сеть на базе FDDI Компьютеры MOryr полключаться к обоим кольиам tB ЭТОМ случае они называютсЯ машинами класса А, или машинамн с двойным подютючением) или толька к основному кольцу (машины класса Б. с одинарным подклю чением). Маrистральные маршрynваторы и концентраторы обычно имеют двойное ПОДI01ючение. i:l рабочие станции  одинариое, через кониентратор FDDI. Одно из преиt.fYШеств колыIвоf1 сети с передачей маркера заЮIючается в том, что ДОСТУПОМ к Taкof1 сети управляет жестко детерминированныf1 протокол. Конфликтов не происходит. поэтому праизвопительность сети при высокой наrpузке не ухудшается, как ЭТО бывает в Ethemet. Мноrие кольцевые 402 Часть 11. Работа в сетях 
системы с маркерным даступом при абслуживании нескольких к..1иентав MarYT выходить на 9095% своей наминально'Й пропускной способности. Для физической среды стандарт FD DI лредllarает два типа оmоволокна: одномодовое " мноrомода80е. МОДЫ  ЭТО пучки световых Л)"Чей, в"юшnuих в волакно под конкретным уrлам. Па однамодовому волаКJ-IУ может распространяться световая волна толька однай частоты, поэтому в качестве источника излучения предпачтительно использовать лазер. Мнаrомодовое волокна дап}'ска.ет распрострзнекие света несколькими путями и абычна при меняется с менее дороrостояшими и MeHe- опасными светадиопами. ОДl-IOМОДОИое ВОЛОКНО обеспечивает передачу и нфаРМоШIfН на более дальние расстаяния, чем мНоrомодовое. Для FDDI чаше Bcero используется MHaro модовае ВO:'laKHa диаметра 62,5 МКМ. В FDDI применяются самые разные аптические соеДИНИТeJrи, предлаrае мые разлИЧНЫМИ праизводителямн. Независима ат Toro. какие соединители используюrся, памните, что чистота Наконечникав оптичеСЮ1Х соединителе'Й иrpает большую роль в обеспечеюfИ на.цежнаrо функuионирования волакан l-юаптических линий связи. На рынке пре1l1laraIOТСЯ спеUИilльные камплекты. предназначенные для самастаятельноrо мантажа соедвнений. на лучше обратиться за ПОf>ЮШЬЮ к профессианалам. 15.4. А ТМ: локальная сеть несбывшихся надежд Аббревиатура АТМ расшифровывается как А5улсhrолоus Trall,re,' Mode (асинхраl'IНЫЙ режим передачи), но некоторые настаивают, что ана должна обозначать Anather Technical Mis[ake (еше одна техническая ашибка). Один обозре-В8те.J1Ь описа..п А ТМ как "папьrтку телефоннай каМIl3НИИ преврапrтъ работу в сетИ в не}.:ую }слyry. за котарую можно. назиачить тариф". с технической точки зрения АТМ  асобая технолоrия, так как щесь пропаведуется и.дся а том, что. неБО!1ьшне пакеты фикснроваННОI'а размера (называемые ячейками)  самый эффективный спасоб ре:UllI3ЗЦИИ rиrабит ных сетей будущеrо. АТМ, краме тoro. абешает вазмажнасти. каторыми не располаrают друrие среды передачи. включая резервироваиие полосы пра пускания 11 rарантированное качества обслуживания. А ТМ urnрока реЮIaмировалась как универсальная каммутируемая сеТевая среда ДJlЯ лакальных, rлабальнъ[), и абшеrОРОДСКJfХ вычислительных ceтeil. Но сеrоДНЯ эта технолоrия практически мертва, сохранившись ;rишь в те, rлобалъныx сетях, rne крупны{' телефон.ные карлараuии все еще ПЫтаЮТСЯ вернуть инвестиuии, недальнаВJшна RlIоженные в АТМаборудаnание. Разме_р ячейки в А ТМ составляет 5] байта. Для транспортировки ячск определены пять уровней аиалтаUИII .АТМ (АТМ АdарtаLiал Layer, ААЦ. И'\ назначение аписана 8 табл. 15.3. Не ясно, как в рса.пъной жизни может использаR.:'lТЬСЯ AAL 1. Никзкаrо стандарта для эrаrо уравня пока нет. AAL ] и 4 ОкaJaJ1ИСЬ ачень похажими. и их абъедннили. Те праизводители. катарым пришлось реализавывать стандарт АТМ, были весьма неДавольны этими ураннями и ра.зработали свае решенне  уровень SEAL (Simple alld Efficienl Adaptation !.аует  простоЙ и эффеКТИВНЫЙ уровень аиаптauии), которыи вскаре стал УРО8нем AAL 5. НШI:Ot!до не смотрите на концы вис.нщео или обреЗОНltOlО волокна! Если световод сопряжен с лазером, можно обжечь сетчатку rлаза. r лова 15. Сетевые аппаратные среllПSО 403 
ТD&ИЦD 15.3. Уровии ОДОnтоции АТМ ML При"'ltнение 1 Передача с постоянной скоростью; например. roлосовыс данные 2 Передач.а с перемен.ной скоростью, требуюшаА orpв.н.ичснной за.п.ержх.и СИI'>lапа Передача Д&ИНЫХ с установлением соединений Передача .п.аикых без установлеиЮl соеАИкоки.й Обшне средства передачи данных (особенно IРтрафих); заменяет уровни 3 и4 15.5. Ретрансляция кадров: rлобальная убыточная сеть Ретрансляция кадров  это теХНОЛОПfИ rлобальныx сетей, основанная на передаче .панных с коммутацией пакетов, как правило, ПО приемлемым иенам. Часто rОВОРЯТ 1 что ретрВНСЛЯШfЯ кадров  ЭТО вновь выпущенный на рынок протокол X.2S (теХНОЛОПl Ilоступа к сетям с коммутauией пакетов, сущест вовавшая с сереlIИНЫ 70x IТ). к счвстъю, протокол X.2S распространен достаточно широко, поэтому обоРУllование и проrpаммнос обеспечение за МНОПlе roIlbl научились рабоrатъ НВIlежно И эффективно. В традиционной схеме пользователи, желаюшие установить соединеиие с удаленными компьютерами. дoiDКНЫ были покупать у телефонной компании въшеленный канал, налример линию DDS (Digital Data Servlce  служба цифровой лередачи данных) со скоростъю 56 Кбит/с или линИю П. Это каналы перс.nачи данных типа "ТОЧК8точка". которые ПОJIКЛючены 24 часе в сутки. Увы, такое соединение СТОИТ довольно naporo, так каК телефонная компания должна выделять для канала отдельное оборудование и полосу частоТ. РетраислJЩИЯ кадров, в противоположность трaдиuионной системе. предполвraет использованИе эффеК'18 масштаба. Телефонная компаНия созnвет сеть (часто называемую "облаком"), которая соеДИНЯет между собой ее uеИТР8ЛЬные стаиuии. Пользователи передают предназначенные для удалеR нЫХ узлов дaннъlC В виде небольших пакетов. Телефонная компания коммyrиpует пвкеты через соответствующие центральные станuии и обеспе чивает их дocrавJCy в nyнxты назначения. В такой модели пользователь  телефонная компания исходят из Toro, что в каЖдУЮ конкретную се5l.'У Н п.у трафик не превысит пропускной способности сети. За nOCТRB5I.'Y I Р.трафика в сетях С ретрансляuий кадров отвечаюТ маршрyrизаторы. Пакеты коммутируются через невидимые постоянные Bp- 1)'8льны1e каналы (РеrmалеПI Уiпuаl Сhалпеl. РУС), которые обеспечивают получение пакетов только в тех пун.ктах, доставка в которые была оплачена. При этом rарантируется определенная степень КОНфИденциальности. что защищает информацию пользователя от получения ее дрyrкми абонентами, подютюченнЪ1М к этой же сети. Самое большое преимущество технолоrии ретрансляции кадров заЮIюча ется в том, что используюшие ее сети, каК правило, не.п.ороrи. В реальной жизни, однако, пользователь получает столько, сколько заплатил,  и часто обнаруживает, что произво.п.ительностъ таких сете'Й болезненно низка. Доля накладных расходов на коммутаuию пакетов в соединениях с ретраНСЛЯWofей 404 Часть 11. Рабата е сетSlХ 
кадров достаТО'Diо высока. поэтому в периоды значительной нarpузки быстродействие канала может ухудшаться. 15.6. ISDN: rлобальная сетьневидимка ISDN (lЛ!еgratеd SefVIces DigiUiI Nelwork  uифровая сеть с комплексны" обслуживанием)  это сервис телефонных компаниf1, способный принимать самые разные формы. Наиболее распространен сервис ВЮ (Basic Rale Interface  интерфейс базовоrо уровня). Он лреДСТВRЛяет собой чисто цифровую телефонную линию. которая включает два коммутируемых KaHa ланосителя (называются Вка.налами) со скоростью передачи 64 Кбит/с и один дополнител:ъный конфиryрационнъfЙ кана..п (называемый Dканалам) со скоросТЬЮ передачи 16 Кбит{с. Каждый из В-каналов "ожно использовать для доставки звука или даl.IНЫХ (звук можно передавать по одному каналу). ISDN позволяет получить относительно быстродействующую цифровую линию связи за приемлемую цену (от 30 до 150 долларов в месяu в зависю.ЮСТJi от Toro, rne вы живете). Устройства, называемые терминальными ацаптерами. превраШ8ЮТ эту телефонную линию в более привычный интер фейс, например в RS232. Они используются почти так же., как модемы, и стоят приблизительно столько же. Большинство ацаптеров способно объеди нять два Вкана..па, формируя в результате олин КаНал передаЧJ1 данных со скоростью 128 Кбит{с. ISDN можно применять вместо обычных ком-м-yrируемых сетей. а также как rлоба..пьную технолоrию, в которой посредcrвом маршрyrnзатора Ш1И моста удаленные машины соедюiЯЮТСЯ по телефо"нноf1 линии. Но несмотря на то что мноrие телефон.ные компании США уже установили коммутаторы. совместимые с lSDN, они до сих пар не решили, как предоставлять и обеспечивать эти услyt.и.. 15.7. DSL: всенародная rлобальная сеть Для крупных KOh-mаниi\: не составляет oco60ro тру.nа перемешать большие объемы .naННbIX. Такие технолоrии, как Tl. ТЗ, SONEТ, АТМ и ретранс.'1ЯUНЯ кадров. реализуют достаточно простые кана..пы обмена данными. Но они не поnxодя-т ДJ1Я подключения к сети в домашниХ условиях. Их стоимость очеНЬ высока, да и не Bcerna МОЖно найти ПОдХодяшее 060рудование. В технолоrии DSL (D'gilal Subscriber Line  uифровая абонентская лнния) используется обычный медный телефонный провои, по которОму передаются данные со скоростью до 7 Мбит/с (правда, для тИПИЧНОrо DSLсоединения этот показателъ на.ходится в диапазоне от 256 до 768 Кбит/с). В большинстве домов есть телефонная линия, что делает технолоrию очень удобной. со стороны пользователя DSLлиния заканчивается 8 устройстве, работаюшем подобно маршр}тизатору ТСР/lР. К нему подключаются локальные Ethemet- устройства. Технолоrия DSL в uелОМ оказа..пась дешевле и быстрее, чем ISDN, поэтому сеrодия именно ее предпочитают домашние пользователи. В отличие от обычных телефонных линий и ISDNсоединениf\, тде требуется "дозваниваться" .по абонеl-Па, DSL  это выделенная линия, в которой постоянно есть связь. Пан.ная особенность делает ее еше более Orcюда такой вариант расшифровки аббревиатуры ISDN: "[! S.Ш Does NothiIJg", Т.е. "она все еще ЮfЧеI"O не .ne..18eт". r лово 1 s. Сетевые аппаратные средпsо 405 
привлекательной. поскольку отсутствуют задержки, связанные с начальным конфиrypированием и дозвоноlo't. Сушествует несколько реализЗl[ИЙ DSL, поэтому название технолоrии часто приводят В виде xDSL, rne х  префm:с конкретной реалпзации. например: А (асимметричная), S (симметричная). Н (высокоскоростная) и RA (с адаптируемой скоростью). Конкретный вариант реалпзаuии и доступная скорость передачи зависят от оборудования, установленноro в центральном офисе телефонной компании или провайдера Intemet. Подключение к сети сотен милЛИонов .nомашнпх пользователей  заветная uель для МНОrnx компаний. Здесь замешаны большие деньrи Тсхнолоrnя DSL основана иа существуюmей инфраструктуре телефонных ЛИНИЙ. инвестиции в которую позволили телефонным компаниям и провай дерам lntemet извлекать сказочные прибыли. пока мимо них проносилась сетевая революция 1Юх  90x rr. Компании кабельноro телевидения. развиваюшие оmоволоконную ин фраструктуру, предлаraют собственные высокоскоростные (хоть и асиtAмет ричные) решения мя конечнЫХ пользователеЙ. В индустрии кабельных модемов не так давно начался проuесс станпартизации протоколов пере.дll'lИ данных. и сеroдня рекламируется стандарт DOCSIS (Dota Over СаЫе Service lnterface Specification  сnеuификa.uия ннтерфейса передачи дaнныJ( по кабельным линиям). Этот стандарт определяет технические характеристики как кабельныx модемоа, так и обору.nования компании, предоставляюшей соотвеrСТВyIOшие услyrи. и позволяет взаимодействовать УСТРОЙСТВ8М- различ ных ПРОИ3ВОJIИТелей. Если сравнивать DSL и кабельную технолоrию, то DSLсоепиненИfI srв.ляются частнЫМИ для абонентов, тотда каК пользователи кабельных модеr.юв обычно делят канал передаЧ11. со своими соседими. Поэтому кабельные лиtnfl1 пanвержены nереrpузкам в периоды повышенной активности ПОЛЪJователей. Они также rораздо менее безопасны. 15.8. Будущее сетей Котда знакомиШься со всеми Оffilсаниыми Rыше технолоrиями, замечаешь одну общую закономерность: простые и иедороrие решения побеЖдают, а сложные и дороrие быстро уходят в небытие. Куда же, в коние кониов. приведет нас "нить Ариадны"? Технолоmя Etllemet раЗf1Юмила своих конкурентов блатодаря необbl'iай ной дешевизне. Она столь проста в реалJ.fЗ3UИИ. что сеrодия можно даже купить микроволновую печъ, оснащенную ннтерфеисом Ethernel. Тоnолоти чески эта технолоrия хорошо масштабируется. Во мноrих орrанизаuиях старые IОмеraбитные сети, проложенные еше в начале 1Юх П., до сих пор функuионируют. соединяЯСЬ с сеrментами. работающими на скоростях 100 Мбит/с и 1 rбит/с. в настояmее ВреМЯ В стадии разрабоТ1Gl нахОДИТСЯ спеUИфИК8Ш1Я 10 rбит/с, которая nолжна быть внедрена в эксплуатацию 1\ 2004 r. Что касается пользовательскоrо cerMema рынка. то теХНОЛОП1Я DSI махнула новую жизнь в покрываЮЩJlеся пылью старые медные рудннки. Очевидно, при сушествуюших темпах разВИПIЯ скорость DSLсое.дннениЙ в ближаЙшем будушем возрастет на порядок, открыв ноаые rоризонты Д)1Я домашних пользователей и малых офисов. Друraя перспективная область разработок  беспраВОДНblе сети. Уже началИ появляться продукты ПРОМЬШU1енноrо уровня по вполне nриемлемо'Й 406 Часть 11 Робота в сетя)( 
пене. К СОЖ8..11'екию. в сравнен ин с успехами традипионныx прово.nных технолоrий скорость этих сетей кажется несколько Нea.n.екватной современным tpебованиям, колеблясь в диалазоне от 2 110 11 Мбитjс. Orладка беСпр08011ноlI сети тоже сродни черной мanfИ. Короче roВОРЯJ беспроводная сеть  модная иrpушка ШIЯ малых офисов, но маловероятно, чтобы в обозримом будущем она вьrrеСНИЛа корпоративные мarистрзли. Во всех этих новых разработках прекрасно то. что, несмотря на тип носителя и скорость передачи данных. протоколы ТСР 11 Р применимы аезде. 15.9. Тестирование и отладка сетей Серьезным преимуществом широкомасштабноrо пере'Хопа к станлар1)' Ethernet (и к .npyrHM теХНОЛОПfЯМ, основанным на использовашПl неэкрани рованной витой пары) стала простота отладкИ сети. Поскольку :эти сети можно проверять посеrментно, аппаратные проблемы решаются за считаffitые сеКуrШЫ, 11 не приходится возиться целыми днями. Ключ к отладке сети  разбивка ее На CerмeHTЫ и теСТИРОВ.ННlе каждоrо ИЗ них .по тех пор, пока не будет обнаружено неисправное устройспю илн кабель. Заrадочные лзмпоч-ки На мостах и КОН11ентраторах (обозначаюшие. к прнмеру, статус kaH3-'lа If трафик пакетов) во \fНОrих случаях дают КlЮЧ к быстрому нахожлению ИСТQЧНИJ{а проблемы. Высококзчествнна)1 nOK}.rMeHTa uия на проводную СlIстему ПОЗ80ЛJ.П разобраться 8 Н8значеmоt ЭТИ\" 11н.дIlКtI тороа. Как 8сетда, важно иметl. под р\"Кой нужные ннструменты. чтобы CY,"leTL ВЫПОЛЮfТЬ работу праВIIЛЬНО и без проволочек. Есть .nВа OCHOBllbIX типа средств сетевой отладки (правда, наблюдается тенденция к их объедннеШiЮ). Устройство первоrо типа  .это ручной кабельный тестер. Он измеряет элекrpические хаРЗI(теристнки кабеля. включая также сто длину. Обычно такие устройства MOryт БЫЯRшrть простейшие проблемы. например разрыв или неправильную СКр}'ТК)' кабеля. Второй тип устройств  сетевые аналИJ3ТОрЫ. llt устронства 11pocMaT ривают сетевые пакеты на npe.!l.MCT налwщя ОllЛfбоК' протоко::roв. неnраlшrlЬ ной конфнrypашlИ и nрочеrо беспоря.nка. Для эффектииноrо ПРllмеНt;нНя подобноrо УСТРОИСТВ<1 требуется спеШI3ЛЫlая Пош.отонка 1-1 "'nlOI"O терпешlЯ, к ТОМ)' же в нзlШf ПНI-I аналнз сети на ПакепlOМ уроове неоБХОЛIIМ редко. Тем. Koro интересует эта тема. рекомендуем посетить WеЬУJел КОмп.ШI1l1 Sniffer Tecllnologies fWW\v.sniffer.com) 15.10. Построение кабельной системы При прокладке кабелеЙ Еrllетес ПlrаБИТIfЫХ или обычных. рекомендуем ИСПQЛbJОвать пропад маКСIIМалыю RbIcoKoro качества. Это повысит l«::рОЯТ НОСТЬ TOI"O. что спустя десять лет южио БУ!lет продолжить им rюлыова"J"ЬСЯ Самый .пешевый вариант  "РОЛОЖIIТЬ кабеЛlt сраз}' во псе\1 ЗДJНlНI. <1 не растяrиllать эту проuедуру иа неопределенное время. Варианты развадки НВП Кабель катеrариJt 5Е ЯВJlяется относнтелы-ю IЮfiЫМ 11 11leeT наJtпучшее соОтношение uена/производительность на современном рынке. [ro CTaн.дapT нъ.й l!ариант  четыре пары проводов под o!lHoir оБОЛОЧКОif. 'ПО ПОДХОДИТ для большинства соеn.иненнй. ВКЛlOчзя RS231 и rиrабlПllые линии. rлово 15. Сетевые annopOTHblE средства 407 
СпеuификаШlИ кабеля К8тсrории S Е требуют. чтобы cкpyrKB провопа захакчивалась не более чем за пoл.moйма.nо соединения с монтажным блоком. Это означает, что :кабель с более чем четырьмя парами проводов под одной оболочкой необходимо снабжать отвеТRЛениями либо дополнительно обма тыватъ, так как данный кабель предназначен для обслуживания НескольКИХ соединений. Офисные подключени O'nHoro по.nключения на помешение явно недостаточно. Сколько же нужно: .nва или четыре'? Мы peKoeHдyeM четыре. обосновывая это слепую щими причинами. Такие ПОПК11ючения можно использовать nля последовательных УСТРОЙСТВ (модем, принтер и т.п_). Их можно ПРИ'lенять просто .nля подключеН11Я телефонов. Их можно использовать для подключення llополните:rьнъrx илн дeMOHCТ раuион нътх коt.mъюrеров. Стонмость материалов состаR.'1яет. как правило. 8cero 510% обшеЙ стоимости. rораздо дешев-тте проложнть весь кабе:JЬ сразу, чем пелать это позже. При ПрОЮl8Лке кабеля по всему зданию можно установИ1Ь пополнитель. ные розетки в холлах, конференuзалах. сталовы"; и .паже ваннЫХ комната.,_ Сети проникают повсюду. Стандарты кабельных систем Необходимость обеспечения всех вид.ов деятельности, протекаюшей внутри современных ЗД8НИЙ, оБУСЛ8в."ивает потребность в крупно И сложной кабельной инфраструктуре. Если КТOTO заrлянет в обычный Р8спреде.:rrитель ный шкаф, он будет потрясен, увидев ero стеНЮl, сruюшь покрытыe непомечеmiЫМИ провопами одното ивта. С uелью улучшения прослеживаемости и стандартизаuии кабельных систем Зданий в феврале 1993 r. был вьлтушен aJlМинистративный стандарт на телекоммуникаuионную инфраструктуру коммерческих зланий (ТlА/ЕIАб06). Этот стаtШарт устанав-ттивает требования. а также принципы идентифнкаuии И покумеитирования телекоммуникашюнной инфраструктуры. Он касаетс}\ CJiедующих аспектов: . оконечно аппаратуры; кабеле ; прокладки кабелей; расстояний между элементами оборупования; uветовой маркировки; обозначений стандартньух компонентов. В частности, определены стаНдартные ивета lарКl1роВКИ ПрOlЮDОII (табл. 15.4). Часть 11. Робота I! сетях 408 
Табnица 15.4. Тоблицо U8eT080 МОРl<;;ИРО8КИ ПО стандарту TlA/EIA-606 Тип СI(CН8ЧJolСЙ Ц.ет Код1 Комментарии Hor .... rраиичная Оранжевый 'OC ц.>fIl'IJ\Ь..... офисы Сетевые сое.а.ине- Зел.ный 33C Также применя.СТСJl ..ItJlЯ вспомоr8Тель ЮUI ных электросетей Обwсс обоРУДО88 Фиолетовы.й 264С Основное оборудование коммyтatiии и ни.' передачи данных Маrистралъ пер Белый Кабели вoro уровtuI МаrистрВ1l.Ь втo Серый 422С КабeJw poro )о1Ювня СТ1!НЦИЯ Синий 291С rОРИЭОНТ8ЛЬНые кабели Мarистралъ между Коричневый 46SC Кnmycныe обели 3l1аниями Разное Ж<.лтый IOIC С11}'жсбные и сиrнал.ьныc .'lИНШI Ключевые теле Красный 184С фонные системы в соответствии с UВСТОВОЙ модет.ю Рвп[оnс. 1 Офисные АТС, компьютеры, ЛБС, мультиплексоры и т.д. 15.11. Вопросы проектирования сетей в настояшем параrpафе рассматриваются вопросы, связаниые с ЛОПfЧе екаЙ и физической структурами сетИ. Этот материал. касается сетей средней величины. Пре.nстаR.r'lенные здесь идеи применимы длЯ нескольких сотен машин, но не подходят ни для трех, ни Ш1Я трех тысЯ'Ч компьютеров, включенных в о.nну сеть. Мы также предполarаем. что у читате:iя достаточно среДСТВ и он начинает работу с нуля, хотя, наверное, это соотнеТСТ8ует реальности лишь tfастично, Основной объем работ по проектированию сети состоит из определения: типов сред nередаtfИ; тополоrии и способоВ прок,lадки кабелей; системы повторителей, мостов и маршрутизаторов. Еше ОШ1Н ключевой вопрос проектирования cen  контроль переrpузки. Например. распределенные файловые системы (NFS) очень сильно заrpуж.зют сеть, поэтому фаЙловый сервис по маrистралъному кабелю осущеСТБ..1ЯТЬ нсжслателыlO. Ниже освещеl,Ы аспекты, которые необходимо учитывать при проекти ропаюш любой сети. Архитектура сети и архитектура здания Архитектуру сеТII проше JlзмеНJПЬ, чем архитеК1}рУ '"ЩЗНIIЯ, но обе ОIlИ ДОЛЖНbI норма..'ТыlO сосушествовать. Если же имеется возможность проеk....П1 ровать сеть до постройки здания  вам круmю повезло, поэтому бу,nьте щедрым. Однако В большинстве случаев здание и техническиЙ отдс!! компанни r пава 15 Сетевые оппоротные средство 409 
на момеНТ проектирования сети уже сушествyIOТ и являются жесткимИ оrpаничиваюшими факторами В rOTOBЫX сооружениях сеть .полжна адаптироваться к архитеl..'ТУре здания, а не противостоять еЙ. В современных зданиях помимо высоковольтной злектропровo.nки. вoдo и r3зопровопов иноrдз имеются каналы для проклanки кабелей. Часто монтируются подвесные потолки  настоящая улача для тех, кто устанавливает сеть. Во мноrИХ уннверситетски.х rоропках и офисах сушествуют туннели. которые облеrчают создаl-tИе сетей. Необхо,nимо сохранять uелостносТЬ брандмауэров-. При nрОКЛaD.ы-ваНlI1 кабеля через бранш..f8)"ЭР отверстие должно соответствовать .nиаметру кабеля и запоЛНЯТЬСЯ неrорючим вешестВОМ Выбнрая кабель. учитывайте НL'lI1"-ше приточной вентилЯ:UИИ. Если узнают. что вы нарушили правила nОЖ8РНО безопасности. от вас потребуI01 устранить созданные проблемы, даже ес:а1 мя этоrо придется разрушить всю сеть и построить ее заново Лоrнческая структура сети ДOJlЖна соответствовать ФИЗИ 1 lеСКl1М оrpзни чениям. накладываемым на нее архитектурой здаНJtЙ, в которых будет фУНКUl-юнировать сеть. Пристynая к проеJo..'l"нрованию, nомюпе. что можнО очеIЬ леrко найтИ лоrи-чески красивое решение, а затем uдруr обнаружить, что реализовать ero фИJнчскlt сложно Itли Бообше НеВОЗМОЖНО. Сущеcrвующие сеТ>1 ЭтОТ материал касается компьютерных сетей, но во мноrих орrанизаuиях уже НСПО!1ЬЗУЮТСJl сети кабельноrо телевидения и телефонные сети, по КОТОРЫМ можно передавать даl-n-Jые. Среди АИХ часто встречаются ВОЛОКОН нооптические .,инии связк Если ваша орrЗl-lИзаuия rОТОВIПСЯ к установке новой телефонной системы. )о,:упите побольше волоконноrо кабеля И nопро сите ПрОJlОЖИТЪ ero одновременно с телефонным. Нам представилась rакая возможность пару лет назад. Мы спросил,", подрядчиков, не мотли бы они проложить длЯ нас HeMHoro волокон]--юOIl тическоrо кабеля. OHJt ответили: "Конечно, и даже бесплатно". а затем слеп:::а опешили. коrд8 t.rъl ПОИ8ились с rpузовиком. ПО....11--1ым кабеля. Модернизация Проп-юзировзтъ потребностн на десять лет вперед очень сложно. особенно а области вычислнтеяьной техники н сетей. Поэтому. nроектируя сеть, 8сеrда HY.iКHO иметь в виду перспеКТИIIЫ ее расширения и увеличения пропускноЙ I...rюсобности Прок.l"Ja1IЫВая кабель, особенно в труднодосТ)т-пных местах. протяrиваЙте в триче"ыре рЗJ больше пар, чем Н}A{HO. Помните: оснош13Я чзсть стоимостн установки приходится на оплату труда. а не на MitTep'laJТbI. Даже если не планируется использовать волокоmюоптические лиНИИ немедленно, разумно будет все же ПрОЛОЖ1ПЪ heMJ-IОrО оптоволокна, особенно если известно, что впоследствии протянуть e-ro булет rорзздо труднее. ПРОКЛCIЛывайте 11 1I.1Н0rоМОnОВЫЙ, и одномодовый кабель; всеrла бывает так, 'по нужным OK3JbIBaeTCSI как раз тот кабеJTh. который не ПРО!Iожен. Речь идет о БРЗItJ1М8yJрах В их ПСРВОllзча..IЬНОМ смысле: бетонных. кирпичных или ОП упорных стенах, которые прспя-rcтвуют рзспространению оrня по всему зданию. Значнте.ль ио отличаясь от сетевых брандмауэров, 01111' так же важнЫ. 410 Чость 11. Робота I! сетях 
Переrрузка Сеть подобна uепи: ее качество определяется самым слабым ИЛИ самым медленным звеном. Производителъность Ethemet. как и МНоrиx пруrих сетевых архитектур. при увеличении наrpузки Падает. Безлисковые клиенты, кониентраторы терминалов, иестьлсующиеся кн терфейсы, НИ3КQскоростные каналы СВЯЗИ  все ЭТО может лривести к переrpузке. Эффективный слособ борьбы с ней  локализация трафика nyreM создания подсетей и установки маршрyrизаторов. Подсети можно ИСПОЛЬЗО взть И !DТЯ изаляпни компьютеров, задействованных 8 отдельных экспери ментах. т ру.nно ПРОБОдИТЬ .эксперимент на нескольких компьютерах. если '",СТ На.цежноrо и леrкоrо способа изолировать их физически и .'lOI-ИЧески ОТ осталЬНОЙ части сети. Обслуживание и документирование Наш опыт показывает, ЧТО удобство обслуживания ссПf напрямую зависит ОТ качества ее доКУментации. Точная, полная, своевременно корректируемая документаuия  абсолютно необходимое условие. Кабели следует маркировать во всех точках подключения наrpузки и через каЖlIые одиндва \1етра, чтобы их можно было леrко узнавать'". Рекоменлуем вкладывать копии местных МоНтажных схем в распределительные шкафы. чтобы при всех НJменениях эти экземпляры можно было откорректировать на месте. Раз в несколько недель необходимо пере носить 8се корректировки в электронную базу данных. Стыки межлу крупными системами в ВИДе повторителей, мостов. маршрутизаторов и даже соедИНlпелей MOIyr оБлеrчить отладку, посколы.'У они позволяют изолировать части сети и отлаживать их по отпельности. Полезно также ставить стыки '-JеЖll.У политическими и административными областями. 15.12. Вопросы управления Если необхо.nи-мо обеспечить нормальную работу Cent, некоторые аспе....'ТЬ1 управления нужно uе..rrра.'lИЗОвать. некоторые  распределить. а HeKO торые  оставить на локальном уровне. Требуется сформут1РОвать и соrласовать обоснованные "правнла поведения добропорядоных rpaждан" Типина.я среда вкпЮчает в себя: маrистральную сеть, соеднняющую здания; сети подразделений, подключенные к маrистрали; подсети рабочих rp)''П1I в рамках подразделеЮfЯ; · соединения с внешним l\ШроМ (напри-мер, с [ntemet ЮIИ перифеРIfИИЫМИ филиалС1мн). Некоторые аспекrы проеКТИРО8ЗНИЯ и реализаuии ceTett должны прсдnо лаrать повсеместный контроль, ответственность, СОПРОВОЖll.ение и финанси рование. ПОСкОль...."У подразделеШfЯ, как правило, стремятся свести к минимуму собственные расходы. быстро растет число сетей с uентрализован ноЙ оплатой каждоrо сое.nинения. Вот основные объекты uентрализованноrо управления: Некоторые ПРОИЭ80Дители nQ{..IaВJlЯЮТ катушки с уже промаркированным через ка.ж.и.ый метр ка6елем r лова 15. Сетевые аппаратные средство 411 
. структура сети, в ТОМ числе использование подсетей. ма.ршр)'Тмзаторов. мостов и Т.Н.; . сам маrисч>8ЛЪНЫЙ кабель, 8 том числе соединения с ним; I Paдpeca и имена компьютеров, имена поддоменов; . протоколы, rлавным образом с целью обеспечения их взаимодействия; политика ДОС1)'Па в Iпtеrпеt. И мена доменов, I pa.дpeca и имена сетей -в определенном смысле уже находятся под ll.ентрвлизованным контролем таких орraнизаuий, как ARIN и ICANN. но координация Io4спользования этих элементов на локальном уровне также неоБХО1J}fма. Uентральный орпн управления имеет общее представ..Т'lение о сети. et cтpyкrype, производительности и перспеКПlвах роста, Он может позволить себе иметь собственное контрольное оБОРУДО8ание (и обслуживаюший ero персонал) и следить за нормальной работой маrистральной сети. llентральный opraH может настоять на правилъном выборе структуры сети, даже если мя этоro нужно будет дать подразделению указание купить маршрyrизатор и создать подсетъ мя подключения к маrистральной сети университетскоrо rорошса. Такое решение может быть необходимым Д,Т[Я Toro. чтобы новое соединение не навредило работе существуюшей сети. Если в сети работают разнородные компьютеры. операuионные системЫ и протоколы, оБЮ8те.пьно нужно иметь "высокоинтемектуалъный" маршру. тизатор (например. компанИИ Cisco). который будет служить шлюзоМ межд) сетями 15.1 з. Рекомендуемые поставщики За 15 с неБОЛЬШИ\,1 лет Нi1ШСИ рабоrы 110 инсталляции сетеЙ во всем мире мы несколько раз обжиraш1СЬ 113 продуктах. которые не соответствовали спецификаuиям. имели з.шышениую ueHy. неrlравилъно у}(азанные xap8КТ ристики или KaKTO иначе не оправдывали наши ожидаНИJl. Ниже приведен список поставщиков. которым мы доверяем, которых рекоменлуеы и услyraми которых пользуемся сами. Кабели и соединители Belden СвЫ,:: www.beldeп.coт Кro"" www.kroпe.com Lanlech www.lonlechiпc.cOпJ Newark Еlc:сtюпic.s www пewark.cпт Тhe Siemon Сотрап} ",",'W siemoп.com Black Вох Соrpоratю[] www.bIockbox.coт АМР www.omp.com Ашxtеr www.oпbиer.com КонтрольноизмерительнаJ! аппаратура Fluke Corporation Actema wwwflukecom WYo'WoDclerno.cnпl Моршрутизоторы Сiзсо SystеП15 »'WW.CLsCO.COт 412 Чость 11. Робота в сетя)( 
15.14. Рекомендуемая литература · Groth, David аnd Jim МсВее. Cabling: The Coтple,e Gиide '0 Nerwork W/riпg. Sybcx. 2000. Seife/t, Ricll G/gabit E,he",e,. RеаdlПg, МА: Аddisол Wesley. 1998. АNSlfТIА/ЕIА5б8А, Coттercial Bui/d/пg Telecoттuпica,/oпs Cabliпg S,aпd ard. и АNSlfТ[А/ЕIАБОБ. Adт/пistratioп S,aпdard for ,he Telecoттuпica'ioпs 1,i!rastruclUre 0/ Coттercia/ Buildiпgs,  это стандарты nос:троеЮtя кабелъ ных систем для телекоммуннкаuионной nромышлеННQСТИ. К сожалению. они доступны не бесплатно. Посетите WеЬузел www.tiaonline.org. Советуем также лосетить WеЬузел Чарльза Слерджона (Cllarles Sрurgеол), целиком посвяшенный Etllerne(: hltp://wwwhoS!_OIS. utехas.еdu/еthеrлеl/еthеmеt home.lllmJ 
76 Система доменных имен ......."'.t\oo..з......:-t.. к Iп[еrпе( поnключены миллионы компьютеров. Как упраВJIЯТЬ tМИ всеми, если OHII ПРИ1iадлеЖ31 разtlЫМ странам. сетям и администрати-нным rpуппам'! Этой нели служат два элемента rлобальной сетевой инфраструктуры. снетема доменных имев (Domain Nшnе Sysl.cm. DNS), которая отслеживает ИНфОрМ3U И lO об именах КОМl"lыотеров. и система \fзршрутизаuии в Iпtеr'1С[, контролируюшая соеu"нения между компьютерами. В настоишей f!laBC речь (lOмет о DNS. Эта система ВЫПОЛНJlет несколько ].l!l.iЧ. НО оснонная ее работа  I1реобраЗОБзние имен компьютеров 8 I P<:lДpeca и наоборот Полыопатe.r:ШМ.1 nporpaMM3M ПОЛЬЗ0вательскоrо УРОВНЯ удобнее обращаться к КО'l.lпьютерам по имеНаМ. но НИЗКОУРО8нсиое сетеное проrpзммное обеспечение понимает толькО I.JИС!lОRые адреса. DNS выполняет роль промеЖУТОЧНОI-' СIiЯ"Jуюшеfl системы_ DNS представляет собои распрел:еленную бюу дзнных. СнеДСIШЯ о ...о\.шыотера'Х хранятся на мноrих серверах. которые автоматически вступают 1'1 КOIлакт пр\'!" с дрrrом. запрашивая данные и обмеНlfваясь информаuией. 16.1. DNS ДЛЯ нетерпеливых: добавление HOBoro компьютера Данная I-шша имеет ровмср небольшой книrи. по:пому. прежш: LJe'd 1I0rРУЖёПЬСЯ n пеТ<lJlИ ФУНКШ1ОНltРОIШIIИЯ DNS. ответим на наиболее 'Iil.СТО задаваемый вопрос: КаК по6ЗНlfТЬ новый компьютер в сеть, r.ne уже используется DNS'! НI-Iже продеМОI-lСТРНРОвано. как это сделать, КОШlрУЯ 11 редаКТIlРУЯ существуюuше l<1ПIIСИ для похожеrо компьютера: templal.ellOSC nly.doтain. Швr 1 Вы6еРlпе ЛJН! Hoнoro компьютера ссте.nое ИМЯ 11 IPdllpec, соrлаСОВ;;J1:I 1l0слеДI-ШЙ с сш:теМIIЫМ адМlIнистратором или провайдером Internel. 414 Чость 11 Робота 11 ceTX 
Шаr z. Найдите похожий компьютер в тоП же подсети. Мы воспользуемся записями этоro компьютера в качесТВе модели для новых записей. Шаr 3. Зареrистрируйтесь на компьютере, являющемся rлавным сервером имен. Шаr 4. Просмотрите файл /etc/named.conr или /etc/namedb/named.conf. Найлmе 8 инструкuии options строку di rectory, rne сообщается местоположение файлов зон В системе (паратраф 16.9). В этом файле находятся реальные имена и IPaдpeca компьютеров. Отыщите в инструкциях zone имена файлов зон прямоrо и обратноro преобразований для сети, которой принацлежит новый 1 Ралрес (параrpаф 16.9). Шаr 5. Перейдите в каталоr файлов ЗОН и отредактируйте файл зоны лрямоrо преобразования (ДЛЯ этоrо придется запустить систему RCS или проrpамму sudO), НаАДlЩ записи J]JIЯ компыотерз-обрвз!Ш. Они будут выrлядетъ примерно так: ternplatehost IN 1'0 IN мх IN мх 128.138.243.100 10 mailhub 20 templatehost Шаr 6. Скопируйте эти записи и модифицируйте их 'nолжныM образом мя HOBoro компьютера. Записи файла MOryт быть отсортированы по именам компьютеров, поэтому следуйте прюuпым соrлашениям. Измените также порЯдКОВЫЙ номер записи SOA в начале файла (это первое И3 пяти чисел в данной записи). Порядковый номер может только возрастать. Прибавьте к нему единицу, если ПОРядКовые номера выбираются произвольно. или поместите в .панное поле текущую дату, если в сИстеме используется подобное соrпашение. Шзr 7. Откройте файл зоны обратноrо преобразования 8. скопируйте lаnись для КОl\.mьютераобразца и отредактируйте ее. Она бу.пет 8ыrлядеть примерно так: 100 IN РТН templa tehos't. my. dornan_ Необходимо также обновить порядковый номер записи SOA в данном файле. Если в файле ЗОНЫ обратноrо преобразования отображается не только послеnниЙ байт I Paдpeca каждоrо узла, то чнсла нужно ВВаЛИТЬ в обратном порядке. Например, запись 100.2-43 IN PTR tеmрlаtеhоst.mу.dоmаiл. соответствует IPaдpecy 128.138.243.100 (здесь зона обратноrо лреобразования относится к домену 1J8.128.inaddr.arpa, а не 243.IJ8.128.inaddr.arpa). Шаr 8. Не выходя из системы, вызовите KOMattЦ.Y ndc reload 88 Шаr 9. Попробуйте выполнить команду ping или traceroute, задав имя HOBoro компьютера, даже если он еще не сконфиrypИР083Н. Сообщение "host unknown" (неизвестный узел) rоворит о том, ЧТО вы ошиблись. СообщеНJtе .'hOSl not responding" (узел не отвечает) означает, ЧТО все в ПОРЯдке. Можно Этот файл может храниться rде yroдно. например у проваЙдера. В этом случае ИЗМСliения прмется вносить там. до noя:вления версии 8 в Solaris отсутствовала 11porpaммa п4с.. Если она не была устаноменз вручную из дистрибyrквa BIND, пркпется послать демону пamed cиrнал HtJP, чтобы ИНИlIИИpовать nерезаrpузку. r лова 16. CJ.1cтeMQ Доменных имен 415 
также проверить конфиryрацию системы посредством протраммы dig (параrpаф 16.14). 16.2. История DNS в старые .nобрые времена таБЛИlIЫ соответствня имен J.{ алресов Хр8НJIlИСЬ в ОДНОМ текстОВОМ файле, который велся централизованно и рассыла.ттся на все компьютеры сети ARPANET Никакой иерархИИ в именах машиН H было, и процеnypа присваивания именН компьютеру преllполаrа..18 проверк}' УНИХ8JlЬНОСТИ выбранноrо имени в масu.rraбах страны. Объем изменений был отромен и поrлошWf большую часть пропускной способности CeTI-1 ЛRРА!':ЕТ, ПОЭТОl\oJ)' в содержимОМ данното файла l.JaCTO не отображал ось реа..lытое состояние сеn'!. Вскоре стало ясно, что статическая таб.1Jl.1ua компьютеров явно нсадек. ватна лотребностям большой и растywей сети ARPAN ЕТ. DNS решает проблемы, с КОТОРЫМИ не спрввилась такая таблица. используя две КOIшеп llИИ; иерархию имен компьютеров и распределение обязанностей. Систему доменных нмен формально описал Пол Мокалеrpис (Рао1 Mockapetris) в документах RFC882 и RFC883 (1983 r.), обновив спецификаuию в nOI.'Y"eHTax RFC1034 и RFCI035 (1987 r.), Пол, кроме тото, создал лервую версию D:-JS не для платформы UNIK Работа по реализаuии DNS в UNIX БЪUlа начата в 1984 r. tlетырьмЯ аспиранта"и университета Беркли. Д>тласом Терри (DoU8\as Terry), Марком Пейнтером (Mark Раiлtеr). Дзвидом Риrrлом (David Rigg\e) и Сонт Ньян Чжоу (SОП8 лiап Zhou). Эстафету Тlолхватил Ральф Кемпбелл (Ra\ph Campbell), сотрудник исследовательскоЙ труппы по вычислительНЫМ системам, которЫPI начвл 1IC1'pвивать DNS в BSD UNIK В 1985 r. Ковин Данлал (Кеviл Duлlар), инженер ОЕС. временно работавший в БерКЛИ, приНЯЛ на себя руководство про.ктом И создал Л8кет BIND (Berke1ey Iпtеrлеt Name Dоmaiл  системв .nомеНН'ЫХ lntеmеtимен реализauии универс'ИТета Беркли). Майк Кареле (Mike Karels). Фил ,l\.ль"квист (РЫI Almquist) и Пол Бикси (PBU\ ViXle) сопровождали этот пакет 8 течение мноrих лет. Он входит в 6о:JЪШИНСТПО дистрибутивов UNIX И, кроме Toro, доступен на WеЬ.УЗ-1е www.isc.org. ISC (Iпн:rпеt Softwar СОllSОnШПl  консориJ.lУМ разработчиков Ilporpn\l мното обеспечения иля lтernet)  зто некоммерческая орТВНИ38UИЯ, уnрап ляющая разработкой важнеЙШИХ проrpаммных компонентов ШТЯ IпtСПltl. включая пакет BIND. Пол Викси В настоящее время отвечает в )TO орrвнизаuии за сопрОВОЖ1lение всех вариантов BIN D 8, ПО!lЪЗУЯСЬ помошью мноrочислеIO-tblх .nобровольцев nараллелъно с этиМ консорuиум занимается СОЗll.ание:м пакета 81 N D 9 за счет финансовых средств рЯда постаВUnliСО8 операционныХ систем, правителъстненных учptждений и дрyrих компаний. ISC также предостаа.ттяет ПОJ1ъзователт..1 своих прОД)'l<ТОВ различные випьт технической поддержКИ, включая помощь в настройке и даже проrpаММИРQ вании. Некоторые орrаНИlации оказывают консорuиyму финансовую под. держку посредством заключения дороrостоящих контрактов иа обслуживание. хотя никоrда не звонят в сервисный центр. Документы RFCI034 " RFC1035 лопрсжнему считаются Gвзовы>'" спецификаuиями DNS. хотя ]а последнее десятилетие ПОЯ'ВИЛОСЬ бо..'lее 30ти друrих документов, вндоизменивших или дополнивших раз..1ичные аспектЫ DNS (перечислены в конце rлавы). В настоящее время не сушествует еzrииоrо стандарта, в КОТОРОМ все эти компоненты был.И бы свеllены воедиНО. Традиuионно определение DNS звучало так: "Это то, что реа.ТIизует пакет 416 Чост.. 11. Робота & сетях 
BIND". Но такое определение стаНОВИТСJJ все мсиее ТОЧНЫМ по мере Toro, ках ПОИВЛЯ1ОТся дрyrие серверы DNS. Система доменных имен реsлизована для разных платформ, но в этой книre мы будем рассматривать только пакет BIND. Компания Nonel перенесла BIN D в Windows NT, передав права на полученный продукт обрвтио орrанизauии ISC. В результате, начиная с версии 8.2, пакет BIND доступен также в среде NT. Блаroдаря стандартизauии протокола DNS различные DNScepBepbI, работающие как в UNIX, так и в дрyrих олераuи онных снстемах, Moryr свободно взаимодействовать и обмениваться данными дрyr с друтом. Во мноrих орrанизauиях имеютсЯ UN IXcepBepы. выстynаюшие в роли серверов DNS для рабочих станцИЙ Wiлdо.'s. 16.3. Основные задачи DNS DNS опрелеляет: . I-Iерархически орrанизованное пространство имен компыоеров;; . таблнuy имен компьютеров, реализованную в виде распределенной базы данных; I'распознаватель"  клиентскую библиотеку функuий, осушеСТВЛЯЮШИJ< запросы к базе панных DNS; . усовершенствованные средства маршрутизации злекrpонно'Й почты; . механизм поиска сервиCQВ в сети; . протокол обмена информauией об нменах. Узлу. подключенному к Iпtеmеt. система доменных нмен нужна штл лолноuениоrо участия в работе сети. Вести локальныЙ фаJ\л /etcjhosts с данными о каждом компьютере, с которым коrпанибудъ понадобится установить контакт, невозможно в принuипе. В каждой орrанизаuии хранится один или несколько фрап.rентов распределенной базы данных, составляюшей всемирную систему DNS. В состав фраrмента входят два или более текстовых файла. содержаших записи об имеlOШих.ся в орrанизauи-и компьютерах. Запись  это отдельная строка, состопшая из имени компьютера, обозначения типа запнси и нескольких информauиониых полей. Например. строки iorklitt IN А 192.108.21.1 IN мх :0 ch1.mchim.xor.com в фdЙЛС:: ЗО"IЫ прямоrо преобразования и строка IN PTR torkl! ft. xor. com в файле зоны обратноrо преобразования устанавливают соответствие меЖдУ )'Злом fork1il\.xor.com и [PaдpeCOM 192.108.21.7 DNS  это К1lиентсерверная система. Серверы (называемые сериерами ш.rсн) заrружают данные из юrиентских DNSфайлов в память и пользуются НМИ при ОТIIетах на запросы как от внутренни.х КJТИентов, так и от внешвих КОJ.lПьютерон Все сетевые компьютеры должны быть ЮlИентами DNS. но лишь некоторым нз них требуется быть серверами имен. В небольшо орrаНИЗ8UИИ (несколько компьютеров в одной сеП1) можно lапустить сервер на одной из машин или попросить Iпtеrl1etпрОDзпера обеспечить сервис DNS. Средних размеров орrаНlfЗ81lИЯ с неСКО:'lЬКИ:\fI1 417 r ,11 ' 16 Системо AomeHt-4ыx имен 
подсетями ПОJ1Жна иметь серверы DNS в каждой подсети, чтобы СНИЗIfТЬ обшую наrрузl<.')' на сеть. Очень большая орrанизаuия можеТ разделить свои домен на поддомены и запустить для кажпоrо из I(ИХ несколькО серверов. 16.4. Что HOBOro в DNS За последние несколькО лет в DNS был внесен ряд важных изменении. В этом параrpафе МЪоI расскажем об основных изменениях и о том. rде можно узнать о них более подробно. И сам протокол DNS. и пакет BIND постоянно оБНОВЛЯЮТСА. В D S появились новые типы ЗВШlсеи О ресурсах и добаШfJIСЯ ряд Н08ЫХ фУ1"кuно напьны)( ВОЗМОЖJiостеи Пакет BIND БЫJl полнОстыо перепнсан с учетом подnержки мноrопотоковых If MHoronpoueccopHblX систс"'с Основные ИJме нення представлены в табл. 16.1. Т06ли.,о 16.1. Новые возможности в DNS и BIND Пороrpоф RFC 16.11 2052 16.11 16.11 26П 2673 16.11 2317 16.11' 16.7 2671 16.9 1996 16.12 2136 16.12 1995 16.13 2535 2541 16.13 2845 .. 11\ Описание 3аrшси SRV, задающие меcroполшкение серВИСОВ Записи А6, ЗЭ1lаюш.не a.nреСiI IP,,6 3аrшси DNAМE, предназначенные для поиска апрс.СОВ IP\'6 БеСКJ1аССОI!ОС формираНRННС 11ОДСете в домене in addr.arpa (новое применение 'W'шси CNAМE) Применсние домена ip6.arpa для преоБРВЗО8&НИJI адресов IP\'b в сетевые имена Модуль распознавания. поддерж:иnaюший стандарт IPv6 EDNSO J!ЗмеI-lСНИЯ и расширени" протокола Асинхронные уведомления об изменениях зон Динамические обновления (пля орraнизaЦИЙ, в которЫХ используетСJl протокол ОНСР) инкремеитныc зонныс: переСЫJlКl1 Спецификация DNSSEC (ауreнтифнкация и безопасность зоннhl.х данных) СnC:Цllфикашш TSIGrrKEY для СИПlвтур И КJlюче шифра- НRНКЯ транзакций Не описаны в даниоЙ книre IШИ, в CJI}'чае домена ip6.arpa, ОШIСаиы лишь в общих чертах. Некоторые из новых возможностей это orpOMHbIe проекты. еше не прошешuие стандартизаuиlО в орraнltзаuии IETF. Рабочие rpуппы. отвечаю щне Ja составлсние стандартов, имеют в своих рмах "\ороших mfсателей, но им недостает проrpаммистов, которые занимались бы тестированием спеuи фнкаuий на ПОСТОЯНноЙ основе. Поэтому некоторые из наиболее све>ких спецификаuий очень трудно или вообшс невозможно реализовать. В тe.....'Yll1e версии пакета B[ND (8.1.2 P5) имеется лншь часть нз перечисленны)( выше новых возможностей. В первоначаЛЬНЫR выпуск пi!кета BIND 9 входят почти все они, но не 8 своем фНШL'1ЬНОМ Rиле. 418 Чость 11. Робото в сетях
Два дополнения  лоддержка стаНдарта (РУс и спеиификаuнп DNSSEC  заслуживают более лодробных коммеюарнев. В IРv61U1ииа IPlIДpeca возросла с 32x битов до 128ми. Еслн бы ЭТОТ стандарт был полностью реализован, он оказал бы OrpOMHoe liЛияние на ВСЮ сеть IПl.еП1еl Пакет BIND 9 подперживает те компоненты IРУ6. которые прошли проиесс стандартизаuии. НО маловероятно. чтобы на протяжеtrnи ЖJ.lзненнаrо цикла данной книrи CT3t-Шарт I Рvб получил широкое распространение. Поэтому МЫ лишь вкратие затронем вопросы поддержКl.' (Pvб в BIND 9. Спецификаuия DNSSEC является попыткой добаиитъ средства аутенти фнкзuии к базе нанных и серверам DNS. В ней используется алrОРНТI\t шифрования с открьпым Ю'1ЮЧОМ W1Я проверки ИLrОЧНI-,ка данных DNS J.f их uелостности В этоЙ схеме посредством DNS распространяются не только данные о КQМllьютера.'\:. НО и ключи Ш1iфрОВ3НИJl. Описзны таl\-же более простые механизмы аyrеНП1фllКilUШ1, например CI-,стеМbI COBMCCTHoro использоваНJfЯ ceKpCTHoro КJlюча. 1--10 ткои ключ должен передаваться каждой паре серверов, желаюшей осуществлять вза IfM ную аУТ1ПИФIf1(аЦlIЮ. Подобная схема хорошо работает 8 неБОЛЬШОI-' opra низаuии, располш'эюшеи несколъкимн серверами, однако она непримеНJfма в rлобальном масштабе. BIND 9 реализует системы аyrеНТИФI-,каЦЮI DNSSEC (используется открытый ключ) и TSIG (используются сиrнатуры транза1(Ш1l в виде COBMecnlblX секреПlblХ ключей). 16.5. Пространство имен DNS в СЛСllУЮШИХ разделах мм Сli811ала рассмотрим обшую структуру DNS (спеuификаuию), а затем опишем фЙлы конфитураultИ, ИСПО.1Ы}'СМЫС пакетом BIND IреаЛИЗilШНО). Те. кто хорошо знаком с DNS. MOI}I сразу персходить к rrар<lrрафу 16.8 Иllll 16.9. В pea.fJbIlOM MIpe теРМIIНЫ DNS и BIND часто lзмеНflЮТ лруr дpTiI. Тем не менее в этой пшве мы сделаем попытку (возможно, неудаIНУЮ) сохранить разтrчие между ними. Пространство имен DNS имеет виД дерева оомеllов. Каждый домен  это отдельный фраrмент пространства имен, которым упрааляет ОДИli адМИИI-'стративный субъект. Корень дерева носит нмя 1. I (точка); пол ним на.\'одятся домены BepXtlero. I-,Лlt корнеиоrо, уровня. Домены 8epxHero уровня раньше были относителbtЮ постоянны, но fl наСТQяшее время opraHl-паШIЯ ICANN"' прорабатывает вопрос СОJдания вовых доменов. ОШlа половина дерева домеН08 описывает преобраЗОВЗНие сетевых IIMe1 в I Paдpeca, а друrая  I Ралресов обратно 8 сетевые имеllа. ПерваJI I1роиедура называется "РЯ",IЫЯ "реобразоваlll.iе.I. и С8язанные с ней информа Ш1QННblе фаЙЛbl Шlкета ВI N D именуются фаЙлами юн прямоrо преобразо вания. Вторая проuе.nyра называется обратны.м IIреобразование..f, с\ соответствуюшис фаилы  файлами зон обратнor'О преобразОI\ЗНJfЯ. По историческим ПрИЧI-1Н3М сушествуют два вида имен доменов BcpXHero уровня. В США домены BepXHero уровня изначалъно отража-ТIИ орrаtlнзаuион нополитическую структуру rлобально сети и, как праВI-IЛО. Jfмели трехбу)( венные имена, HanpiiMep "сош.' иЛl-, "edll". Некоторые Н3 .:НИХ доменов ICANN (Intemet Corporalion for Assiglled Names and Numbers)  ЗТО орrallизаllИЯ по назначению имен и адресов в Intemct, ЯВJlяющаяся РУJo:OВОДЯЩИМ opl"atlOM rлобальной сети (см. лараrpаф 13.1). r ЛОВО 16 Системо доменных имен 419 
(особенно "сот", "org" и "ner") распространены также за пределами СlllЛ Все они называются общими или орzанизйционнымu доменами BepXHero YP(}KIII В табл. 16.2 перечислены наиболее важные обшие домены и указано 11\ первонаЧ8ЛЪное предназначение (после тoro как домен "сот" был OKJo::Y"11 рован мноrоtfИсленными орrанизаииями и мнотие "красивые", КОРОТЮI. имена оказa..rrnсь занятыми, адресные канuелярии стали продавать имена 11 доменах "orgl' и "пеС'. не обращая внимания на существовавшие Hoce;It" оrраничения). Домен Таблица 16.2. OprOt-1изоциоt-1ные домены BepXHero YPOBHII сот II KOro првдноэначен Коммерческие КОIOШНИИ Учебные заведения Правителъственные учреждения Военные учреждения Поставщихи сетевых уcлyr Некои.мерческие орrа.низаuии Мeжnyнaролные орraнизации Верхний элемент дерева 1 Pa.цpeCOB edu во, mil пО! 01]1 int ыра Для большинства доменов вне США используются двухбуквенные KO;],I.I стран, принятые орraнизаuией ISO. Эти .помены называются lеОlрафU1tfl€КШШ Домены обоих типов сосушествуют в одном rлоба.1lЬНОМ пространстве ИМ!:II Некоторые коды стран приведены в табл. 16.3. Т облицо 16.3. коды стран " Код Строно au Австралия са Канала br БрззWUUI CIe [ермания fi ФинJuiJ-uшя fr Фраиция jp Япония se ШнеЦШI ch Швсйцария hu Вс:нrpи.я ua Украина ru Россия Во мноrих странах орrанизаuионная структура строJПСЯ на базе ДОМI:II' " 8Toporo уровня, прн этом правила именования MOryr быть ра.и 11.1'1.1 11 Например, научные учж.nеlil.IЯ в США относятся к домену "edU'.. ;J. 1 Японии  К домену ac.jp. 420 Част!. 11. Робота в П" . 
в Соединеиных Штатах домен верхнеro уровня "us" исполъзуется чаще веета в сочетании с реrионвлъными доменами; например, bvsd.k 12.co.lls  домен шхольноrо окрута ТОрОМ Боулдер. l1ПRТ Колорадо. Домен "us" никоrда не объединяется с орrвниэаuионнымИ доменами, Т.е. домена edu.us нет (пока). Преимушество домена "иБ" заключается в том, что реrистраuия имен в нем бесплатна или стоит очень нсдорото; З8 подробностями обратитесь на WеЬузел WWW.пic.us. ToproBUbI доменами иноrда выкупают пространства имен uелых стран. Например. домен ресnyблmcи Молдова, "md", в настояшее время продается мeдиuинским заведениям и резидентам штата Мэриленд (MD), США. Дрyrоi! пример  островное rocударство Тувалу, код страны KOToporo  "tv". Первая сделка тзкоrо рода коснулась королевства Тонта (домен "'tO""). В настоящее время активнее Bcero распродается домен островаколонии Ниуэ ("nu"), а одним из самых прИRЛекательных является домен Туркменистана C"tm"). Иноrда подобные спелхи были BbJroJIНbl этим странам, иноr.да  нет. Широко практихуется также С8МОВОЛЪНЪ захват доменных имен. Пре,!I приимчпвые дельuы реrистрируют имена. которые, по их мнению, обязатель но буlIУТ востребованы в будушем. Через некоторое время какаянибудь ничеrо не подозреваЮШ8Я компания пытается зареrисrрировать аналоrичное имя и с удивлением обнаруживает, что оно занято. Ей прИХОДИТСЯ выкупать имя у предусмотрителъноro владельца. М ното лет назan ОДШ.j бизнесмен зареrист рировал доменные имена всех лыжных кypopr01f Колорanо и заработал большие деньrи, продавая имена по мере Toro, как ап.МНl-Iистрации ЛЫЖНЫХ курортов осваивали rлобальнyJO сеть. Стоимость хорошеrо имени в домене "сот" колеблется от нескольких тысяч до нескольКИХ 'fиллионов ДОJL'1ЗРОВ. Недавно домен ыlsпеss.соmm был продан за 3,5 млн. долларов. Нам предrrо жили 50000$ за домен admin.com, который мы зареrистр'Ироnaли нескольКО лет назад после Toro, как оказалось. что домен sysadmill.com У'...ке занят журналом "/Sуs/АdП1iп". В именах доменов Не учитывается репtстр. В контексте DNS домен "Colorado" идентичен "colorado" и "COLORADO". В текуших реаЛlпаUI-ШХ протокол DNS должен иrнорироватъ реrистр при сравнении ,,,мен, но распространять имена в том реrистре, в котором они указаны. Ранъше принято БЬU10 домены Bepxнero уровня обозначать прописныl\.rн буквами и начинать с прописной буквы домены moporo уровня. Сеrодня па.чьuы очень устают от работы с клавиатурой, и HOpMO стали строчные букпы. Два новых свойства DNS  интернаuнонализаuия имеН и спеuификаUIIЯ DNSSEC  конфликтуют с точки зрения реrистра символов. В межд)'народ Hьrx доменных именах реrистр важен и должен быть сохранен. а в DNSSEC все имена переподятся в нижни реrистр перед вычислением сиrнат}р. Очевидно, в DNS вскоре будет офиш..ально принят нижн-ий реПIСТр 1UIЯ внyt1Jенних КРИТПОll'афических вычислений, но фактические данные буду1' рассылаться с учетом реrистра. Потребуется разработать правила прсобр3JО вания имен из международных кодировок 80 BHyrpeHHee прдстав.'1еНlfе. Надеемся. что орraнизаuия 1 ETF сумеет разобраться в этих вопросах до Toro, как новые технолоrии получат Шltрокое распространение. Полностью определенное нмя компъютера, rlOдКЛ10чениоrо к Iшеrl1е[, формируется путем прибавления имени домена к имени МаШИны. Напрнмер, boulder.colorado.edu  полное имя узла boulder. находяшеrося в уни-верСl-Iтете штата Колорanо. Дрyrие орraнизацин MOIyr использовать имS1 boulder. не спрашивая на то разрешения, потому что полностыО определенные rMeHa IfX компьютеров все равно будут друrИМI-'. r лово 16. Системо домеННIoIХ имен 421 
Прямые и обратные преобразования по возможности должны ос-шеств ляться в одном месте. Некоторые ПРОШlЙдеры с удовольствием отдают KOI-ПpОЛЬ над прямым преобразованием, но отказываются .делать то же самое в случае обратноrо преобразоваНI-'Я. Подобное разделение обязанностей ведет к проблемам СИНХРОНИЗ3L1ИI-'. В параrрафе 16.11 ош,сан красивый прием. ПОЗllОЛЯЮЩИЙ посредством записей CNAME управлять делеrированием даже крошечных фраrментов здресноrо 11рОСТРанства. Домены DNS должны (более Toro. обязаны: СМ. RFC1219) обслуJКИВ3ТЬСЯ как минимум дв)'мя серверами. Чаще Bcero в орraШ11аUШ1 Ф)НКШ-IОl-lItрУСТ rлзвныИ серВер. в серверы 11рокайдера ЯRЛяются резервными. После Toro как система сконфитурирована. серверы проваЙдера автомаТlfчесtl."}! заrpужают ИНфОрМ3ШIЮ из rЛа8I.юrо сервера орrаl-шзации. Изменеl-lIfЯ в конфиryрац-ии DNS отражаются на резервных серверах, не требуя вмеlllателЬСТВt1 админи страторов любой из сторон. Выбор имени домена Некоторые имена зйпрешены. Это. в частносТи. относится к "же ИСl10льзуемым именаМ. Ряд имен. выбор которых ранее был ззпрешсн, тепсрь доступен; T3KOBblMJ1 ЯВJlЯЮТСЯ комбинзш1И имеН доменов nep.XHero уровня (например. еdLI.СОПl-). а также IrмeHa, содержашие повторяюшиеся KOMrlO ненты (например. х.х.соm-.). В прe.nыдущем I-,JдаИI-Ш KHI-,ruМbI советовал н Rыбl-,рать имена ТаК. чтобы они были короткими, удоБНЫМI' Ш1я виола и идеНТИФИUJ.fРОВ3J1И исполыую тую их орrаНИjаШIЮ. Сеrодняшняя деИСТВI-,тельность такоиа. что осе хорошие. kopOTKI-,е I-,Mel-Ia заняты. по крайне-и мере в домене "сот" Часть из них Ilредусмотрительно с....')/Плена лельuаМJ1, но в ОСНОВНОМ все они используются реа.jЫIЫМI1 лиuзмн. Док)'меfП RFCI032 рекоменпует, чтобы имена доменов ВYoporo уровня имеffil в Ш1ину не более 12 СltМНQЛОВ, несмотря на то что DNS лоnyскаеl I-IСПО!1ЬЗОвать в ..aж.nо состзвляюше до 63x Сl-,МВОЛОВ и 255 сиМИО;lОВ в полном I1meHI-'. ДRсналП8ТИСIIмвольное orpaHI-,чение часто ИПlOрируется. потому нет смысла ero придерживаться (не стоит. однако, заБЫ8ать о том, что минные имена очень неудобно ПВОДIПЬ). Взрывоподобный рост числа доменов Протокол DNS преllназнач3.I'JСЯ D..1Я Toro, чтобы можно было связать ДОtеl-lllое IIMJJ орrаюtзаШll1 с сервером имен, закрепленным .18 этоl'I орrанизаUl-tе1. Данная схема ДОlЖН8 была применяться во всех орr31lизаUIIЯХ. ПОДКJlюченных к Inlerllet. Но сеl'ОДНЯ сеть Intemet стала элементом массовоЙ .,:ультуры, и доменные имена есть у МНОПIХ коммерческих продуктов. кинофильмов. СПОРТИ'Rных событиЙ и Т.Л. Имена наподобие lwillkiеs.соП1 IUТИ рlаУS13tiоп.соП1 I-Ie связаны (напрямую) с компанИЯМИ, создавшими продукт: они используются скорее в peK.rraMHbIx uелях. Не ясно. сможеТ лн DNS справиться с подобным ра Jрастанием rлобa.rтъной сеП1 Проо.1ема заключается в том. что дерена имен DNS яв.ляется эффеk:ТIrвноЙ информаUИОН1ЮЙ структурой лишь в том случае. ,",orna в нем ПРОСЛ\:,:ЖI-,вается четкая I-Iерар'\ия. Следует OTMC'f1IIТb. 'ПО мноrие версии Вl N D не работают с такими именамк Не все имеl-lа с ПО8ТОРЯЮШИМИСЯ КОМПОН':I-rraми СЧ1Пались нелеra.лъНЫмИ. Например. хiПСl.хiIlСl.СОПl 8сеrда БЬul0 допустимым именем, поскольку имя домена  xinct.com. i:1 в нем есть компьютер xiпеt. r лово 16. Системо AOMeHHblX ",мен 423 
Но котда кажnая ортаиизаиия дает сотням или тысячаМ своих проД'ТОR домеюrъJе имена, расположенные У самой верurnНЫ .перева, о KaKO бы то ни было иерархии rоворИТЬ не приходится. На саМОМ деле нам нужна служба квталоrоВ, которая СВЯЗЫвaJ1'8 бы названиЯ рa:iJ1ИЧНЫХ тортовых мароК с соответСТВУЮЩИМИ компаниями, предоставив DNS возможность заниматься только [Радресами. В своем начальном виде эта идея реализуется в совремеиных WеЬброузерах посред стаом сервиса, предоста.аляемоrо компанией Rea1Names Соrpоratiоп. Но эТt\ услyra не бесплатна: тоЛЬКо орrанизаuии. полnисавшиеся на нее и заплатив шие опре.nеленную сумму денет, CMOIyr иметь свои IOlючевые слова в базе .nаННЫХ. Дрyrое возможное решение заключаетсЯ в установлении принуи тельной иерархии имен, однако подобное НИКОТll8 не случится: все заШЛО слишком далеко и ](омпании. имеющие серверы .сот, заня.чи прочное место на рынке. Реrистраци домена BTOpOro ypOBH Для Toro чтобы получить домен noporo уровня, необходимо подать заявку в opraH ynравлеиия соответствуюшеro домена BepXHero уровня. В настоя шее время орraннзаuия ICANN заЮ-IмаетсЯ аккредитаиией мноroчисленных аrентств, управляюших реrистраuией имен в rеоrрафических доменах. На момент написаниЯ книти сушеСТDОвало около 25ти ретистраш,онных бюро и еше почти 80 проходЮJl.1 проuедуру аккредитаuии. Полный их список имеется на WеЬУЗJlе www.icann.org. Б Европе заявления о предоставлении домевны'< нмен принимает орraнизаWfЯ CENTR (Council оС European Nalional Toplevel domain Regis tries  Совет европейсКl.'Х наuиона-ТIЬНЫХ домеННЫХ канцелярий вepXHero уровня). Ее WеЬалрес  wv.'W.centr.org. Там же можно узнать адреса реrионалънъrx реrистрационных бюро. В азиатскотихоокеанском ретионе ответственным opraHoM является орraнизаиия ЛРNIС (AsiaPacific Network Iпfоrmаtюп Сепtеr  Азиатскотихоокеанский иентр Се1"еВОЙ информаuии): www.apnic.net. ДЛя Toro чтобы заполнить бланки реП-lстрации, нужно назначить OTBeT cTвeHHoro техническоrо спеuиалl-,ста, ответственное административное лиuо и хотя бы два компьютера, которые будут серверами домена. Кроме Toro, нужно выбрать доменное имя. еше никем не занятое. Создание собственных поддоменов ЛронеДУl1 8 фОрlI-1рОhания подnомена аналОI"Ична проuедуре создаШI1. 1 домена второrо уровня, за ИСКЛЮLIением Toro. что ответственный opraH теперь находится в пределах самой орrанизаUИI-'. Этот проuесс предусматрИlЗзет следующие этапы: . выбор имени, уникалъноro для данноrо ПОдIlомена: назначение двух мн более компьютеров серверами HOBoro домена: . соrлаСОН.lНие вcero сдеЛЗНl-lоrо с аш.ншистратором родительскоro дОМеll.1 ПреЖде чем осушествлять передачу ПОЛНОМОLlI-1Й. сероеры рОдlпелЬс....Оf"tl домена должны убелиться R том. что серперы имен дочернеrо HOMCHd СКОНФШУРI-,рованы и работают правильно ЕсЛl-, данное условие не выполня ется. произоknет ТО, что называется напрасным делеUРО8анuем. Подробнее об этом rоворится в пара.rрафе 16.14. 424 Часть 11. Робото fI ceTRX 
16.6. Пакет BIND BIND (Berkeley Intemet Name Domain  система доменных IпtеmеlимеН реаЩ1З8ЦИИ унивеРО1Тета Беркли)  ЭТО открытый проrраммиы пакет. предлаrасмый орrанизаuией ISC. Он реализует протокол DNS и фуНКllИОН"1 рует в качестве сервера имен на платформах UNIX (С недаинеrо времеИ"1 также в Windows NТ). Версии пакета BIND Имеются три основные разновидности пакета. BIND 4. BIND 8 11 BIND 9. Первая 1-13 них сушествовала с кониа 80x П. (ее выпуск примерно соответствует появлению документов RFCI034 и RFCI035). Вторая была выпущена в 1997 r., а третья  в середине 2000 rода. ВерCl!Й 5. 6 и 7 ни"оrпа не было. Существовала красивая леrенда, будто версия 8 содерЖМ8 н себе столь значительные изменеНIIЯ, что авторы решили упел.ичИ1Ъ ее НО'-!Ср в два раза по сравнению с прелшественницей. Это, конечно же, не так. ПрОСТО пакет BIND 8 предназначалея ДJlЯ 4.4BSD, rHe номера версий мноrих nporpaMMHЫX продуктов бьUПf доведены до ВОСЬМI-I (то же самое произошло с системой sendmail, которая также "перескоч-ила" через несколькО номеров). Па](ет BIND 8 содерЖ1П множество технических новннок, способст"1О щих повышению эффективносТИ, надежности и безопасности. В BIND 9 планка поднялась еще выше: поддерживаются мноrопроuессорные систеIЫ. потоковые операuии, реальные технолотиl'I безопасности (ШI-'ФРОВ3Нllе с открытым ключом), стандарт IPvб. инкрементные зонные пересылки I мнотое друтое. Пакет B[i'JD 9 оказался полностью пере писанным и. по сути. реализованным заноВО. В нем изолироваНЫ фраrменты кода, зависящие от платформы, блатодаря чеt.ry стало леrче переносить пахет в дрyrnе опера иионные систеfЫ. Внутренняя структура пакета BIND 9 существенно изме нилась, но проиедура ](онфиryраnин осталась той же. Подцержка JТ'aKeTa BIN D 4 осущесталяется только в виде ВЫПУСКОВ "заплат", закрывающих бреши в механизме 'Защиты. Вскоре даже такая поддержка прекратится. Ожидается. что I.rерез тод 1fЛf.1 .:rna, котда работа пзкетз BIND 9 стабилизируется и он получит широкое распространение. уй.з.ет u небытие и BIND 8. В этой тлаве мы булем ОШIСЫR\ТI ЯЗЬ1К КОtlФ и r:'РllрОR..1НШI обоих пакетов: BIND В и 9. МНОПiе opraHI-1Заиии затяrивают с обновлением ReРСИ, поскольку и\t не хочется менять работу полностыо ФУНЮlJlОI-mруюше cI-,стемы. Те, кто до с,,'\ пор работает с BIN D 4, MorYT восполыоввться Реrlсценарием nomedboo( conr.pl, входЯIШ'М в дистрибyrиl!Ь! версий 8 " 9. Он преобразует конфиryра UИ:ОН1iЫЙ файл из формата версии 4 в эквивалентный формат версии 8 1fЛII 9. Записи самой базы данных DNS меняТЬ не требуется. Конечно, преобразо ванньrЙ КОНфl-'l)'рашюниыи файл не будет подперживать новые свойства версий 8 1-, 9. но зато он послужит отправным ПУНКТQМ Ш1Я наЧ8..!18 расширения системы. Определение текущей версии ПостаВШИКlI операuионных систем часто не указывают. какие neрСI1И внешних проrpаммных пакетов они включаюТ в С80И JП1стрибyrипы. Поэтом нам, 8lIминистраторам. приходl-'ТСЯ 8ыступать в роли ищеек. чтобы узнать. с какой версией мы и.меем дело. В случае пакета BIND получить IiIl-пересуюшую 425 I rlf18C1 16 Системо доменных имен 
нас информаUIIЮ можно посредством nporpaMMы dig, входяше'Й в состав пакета. Команда d1.9 @сервер versl.on.bind tю:. сhаоз 80lвращает номер версии при ус.ю-вии. что ')Та информаuия не была у.з.алеН<l из конфитураuионноrо файла. К примеру. панная команл.а вьшаё:Т н\:ЖНЫИ результат лля сервера \ ix_cOIl1_ , d.i.fJ @bb.rc.vx.colll. version.bind txt сЬаО8 VERSION.BIND. 05 СНА.О5 ТХТ "е.2.ЗТ4В" НО В случае сервера cs.colorado_cdu она бессильна: % d.ifJ @m::r08.CB.co1.orado.edu v.r8ioo.bind txt сЬаО8 VERSION.BIND. OS CHAOS ТХТ "wouldn't. \lOU 11.ke to know..." Некоторые админ.истраторы конфшурируют пакет BIND так. чтобы номер ето версии нельзя было \'Знать посредство...! Ti3KorO рода lanpocoB_ Считается, что это повышает безопаСНOLiЬ системы. М ы не одобряем 1l0добIУЮ практи...]_ хотя она действительно способна поумерить пыл некоторы\ юных хакеров Подробвее о задании версни pCtJi:. поМет в параrpафе 16.9_ Обычно можно )знать верСIfЮ BI'\JD, просмаТРШI3)1 Ж)рнальны(: фаJШЫ в каТЗJlоrе Ivarflog ИJ1И ero эквивалентах. Напри:о.-Iер. пе\IQН паmсd при запуске реrистрирует С80Й HO,,"lep версии через систему Syslog (среДСТ80 "'dael11on"). Поиск посредством команды grep дает Т8кне результаты: Оес 13 16:32:21 d!..sазt.еr па.mеd[2З99]: st..aI:t..1.J!g. "amеа 4.9.7 Кеа Sep 2 09:39:12 GMT 1998 PHNE14618 Оес 13 16:35:13 suod named[93251: st:Clrt!.пg. пёtЛ1еd 8.2.2РЗ Wed Nov 10 i7:21:59 MST 1999 ml.llert.@haxJ;us infs/depot/src/cs/Bl.nd/b.ind 8.2. 2P31oDj /sun4.&.SunOS.tl/bin/nanted 0" о СlIсте."е .'))'s/vg росскозывалось в loBe /1. Первая строка получена EI HPUX II.QO (дистрибyrИПНЫI:' варюнlТ CllCTe МЫ), вторм  В SL1ПОS (система J..IeKOTopoe Rрt:МЯ была 8 .я::сплуаташш) Во втором случае данные HeMHoro не верны. поскольку "lаплатз" 4 Д)1St 81 ND 8_2_2 по какойтО ПрИЧИllе не ПОRЫСШl3 отобрotжаемый ypORCllb "lзппаты"_ В лсЙствителыюсти полнО{я вереня па кета  8_1.1P4. Если лемОн named и НСТaJUtирОВ3Н. но система Jle запускает сто 113 этапе нз'-шльНОЙ ..шrрузки, вызовите этот nCMoJ..l самостоятельно (без aprymel-lТОЩ от имени пользователЯ root Дt:МОII зареrистрирует CBOl1 номер версии. обнаружит отсyrствпе КОНфllrу-раmЮlrноrо фаЙла и 13f1eрШИТСЯ. В табл 16.4 указано, какие верени BIND "ХОЛЯТ в состав ваших тестовы' систем_ В версиях ниже 8.2.2P3 имеются проблеfы с беlопасностью. Тоблица 16.4. Версии BIND в РО3ЛИЧllblХ оперОLtИОННЫ)( сиcrемох Си 8.е р сия ОС ВерсиЯ BIN D Solaris 7 и.л.. 8 8.1.2 HPUX 11.00 4_97 Red Hal 6_1 8_2 6_2 8.2.2P5 FrecBSD Н и.л.. 4.0 8.2.2P5 426 Чость 11. Робото в ceT)( 
G Известно. что в Red Hat номера ве-рсий фиксируются и не меняются при последуюшей установке "заnлат". Поэтому при поиске номера может отображаться недостоверная информация, как В показанном выше примере В Red Hat внутренние номера верси добав.,lЯЮТСЯ к именам файлов, содержащих ИС'\Qдные тексты пакета. и иноrда к ним присоединяется BHYТ ренний номер исправления ИЛИ "заплаты". Например. blnd8.2 7 .arch.rprn  это седьмое исправление ИСХОДНОЙ ве-рсии 8.2. Компоненты покеТQ BIND в паКl:Т 81 N D ВХОДЯТ три коt.mонентз: пемон named, отвечаюши на запросы: библиarечные попnроrpаммы, контактирующие с серверами распределен ноЙ базы данных DNS; проrраммы nslookup. dig. host. позволяюшие вьmолнятъ DNS]апросы из командной строки. Соrласно терМИНОlOrии, принятои 8 DNS, демон вроде named (ИЛИ компьютер, на котором он работает) называется сервера.М U.\feH. а проrpaмма клиеJП, которая обращается к нему,  раСlIознаватеДf!Л. Ниже мы RKpaTue рассмотрю.f функuии всех этих компонентов. а реальная конфиrypаШ1Я пакета BIN D описывается начиная с параrpафа 16.8. Демон поmеd: сервер имен покеТQ BIND Демон named отвечает на запросы об именах компьютеров и их 1 Paдpeca". Если демону не известен ответ на каконибупъ запрос. он опрашивает др}тне серверы и помещает результаты их ответов в КЭШ. Кроме Toro, этот демон осуществляет зонные переСЫJlКИ. копируя данные между серверами домена. (Зона  это помен без С80ИХ nOnДOMeHOB. Серверы имен работают именно с зонами. но часто rоворИТСЯ "помен" , хотя на самом деле ПОДР<l.зумевается "зона".) Серверы имен работают 8 неСКОJlЫСИХ режимах, раJЛИчаюшихся по неСКОЛЬКJIМ аспектам. поэтому дать их точное Оllрелеление нелеп.::о. СI1ТУauия усложняется еше 11 тем, что олин И ТОТ же cepl!ep может иrpать неОдинаК08ые роли в разных зонах. В табл. 16.5 перечислены прилаrательные. уттотребляе МЫС при описанJ.Ш серверов m.ieK Определения, данные С arcTynoM. считаются относяшимися к более КРУПI-IО Kaтeropml. Серверы нмен систематизируются на основании источника данных (авторитетный. К.:tширующий. rлавный, ПОПЧlfнеliНЫЙ). типа хранимых дaH ных (усеченный), пути распространения запроса (переадресуюшиЙ), типа въщаваемоrо атнета (рекурскnный. нерекурсивный) и, наконеи. доступности сервера (невиди'Мый). В следующих нескольКИХ разпелах конкретизир}'lОТСЯ наиболее БаЖ1iые из ЭТИХ различий; об остальных pe 1 rъ пойдет в лруrих разделах rЛ8ВЫ. r пава 16 Сиcrемо доменных имен 427 
Таблица 16.5. Т ОКСОнОМИR серверов ...,мен Оnсоние ОфиuиaJIЬНЫЙ представитель зоны Основное хранилище :юнных данных; получает ИНфорМ8.WOO И3 ДИСJCOВОro файла Копирует свои данные с rлавноrо сервера Напоминает подчинеtuiЫЙ сервер, ио копирует д&IOLblе только о серверах имен (записи NS) Сервер, дocтynн.ый только в пределах домена I (таюке Называ стсн нсвl\дИМbLМ сервером) Orвeчает на запросы, по.n:ъзyясь данными из кэша; ие знает о том, яв..ruuoтcJl ли эти дaнliыe коррсктиыыи Кэширует данные, полученные от npeдыдуших запросов; обыч НО не имеет локa.ru.ных З0Н Выполняет запросы от имени мноrиx клиентов; фарм.ирует большой кэш Осуществляет запросы от имени клиента ДО тех пор, пока не будет найдсн ответ или получена ошибка Отсылвет КJ1Jtсита к дpyroMY сервеРУ. если не может получить ответ на залрос ВИyJ'peНЮt.А. сервер доС1)'11СН любому, КТО знает ero IPaдpec. :z Cтporo roвори. атрибyr "неавторитетныА" ОТНОСЮ'СJi к ответу ив DNSзапрос. а не к серверу. ц,л се. ,еяа АвтоP>fI"I'НblЙ славныЙ ПО.INНнекныА усеченныА ВНyJ1)С:ННИЙ НеаlПOритетный 2 кэwиpуюШIIЙ переадресуюwий Рекурсивный НерекурсивныА ABTop><reTHble и кэширующие серверы rлавный, подчиненный и кэшируюший серверы различаются только двумя характеристиками: откуда ПОС1)l1ают данные и авторитетен ли сервер ми naHHoro домена. В кажnой зоне естЬ один OCHOВНO сервер имен. На нем храюпся офиuиальная копия зонных данных (В файле на диске), СистемныА администратор модифицирует информацию. касаюwyюсЯ зоны. редактируя файлы rлавноro сервера. Подчиненный сервер копирует свои данные с rлавноrо сервера nосред ством операции. нззыааемоА зонной пересЬ/лкой. В зоне может быть несколько подчиненных серверов; обязательный минимум  один. Усеченный сервер  это особая разновидность подчиненноrо сервера, заrpужающеrо с rлавноrо сервера только записи NS (оrrnсания серверов имен). О том, зачем нужно создавать такой сервер. речь пойдет в лараrpафе 16.11. Одни и тот же компьютер может быть rлавныM сервером МЯ одннх ЗОН И подчиненным  Ш1я дрyrих. О зонных tJересылках рассказывается в параzрафе /6. 12. Кэшируюший сервер имен заrpужает адреса серверов KopHeBoro домена из конфиrypаUИОННОfО файла и получает все остальные данные. кзшируя ответы на Bыаваемыыe им запросы. Своих собственных данных у I(ЭШИРУЮ шеrо серве-ра нет, и ои не является авторитетным ни Ш1я одной зоны. Пример создания Taкoro сервера приведен в парarpафе 16.10. в разделе "Кафедраль ный сервер". rарантируется, '11"0 авторитетны А ответ сервера имен является точным; неавторитетный ответ может быть устаревшим. Тем не менее большое 1.Jнсло неавторитетных ответов оказываеТсЯ совершенно корректным rлавные ,., подчиненные серверы авторитетны .n.чя СБОИХ зон, но не мя КЭШИРОll,lIIноfl o 428 Чость 11. Робота f\ ,'I3-:-ЯХ 
информаЦI1И о лртих ломенах. По правде rоворя. лаже авторитетные ответы MOryr бьrrь неточными. еС.11t системный администратор изменил ланные rлавноrо сервера и заБЫ1 обновить их ПОРЯ.!IКовыfl номер либо запусnпь команду ndc relo8d (или если И]"fсненИя еше не успели дойn до подчинеННblХ серверов) rлавный сервер имен лолжен располаrаться на Машине. которая стабнль на, имеет небольшое КоЛичество пользователеЙ. ОТНQCIIТСЛЫ-1O безопасна 11 подключена через источник бесперебОАноrо пита'IИЯ. Необходимо. чтобы подчиненных серверов имен БЫJIO МИlНtмум пва. причем ОДИН из них  вне орrанизации. Подчиненные серверы на места.х лолжны быть ВК.'IЮЧНЫ В разНЫС сети 11 в palHыe uеШ1 шпания. В зонных данных домена оБЫЧIIО присутств)'ют Iшентифнкзторы сер13еров имен всех ero подп.оменов. На.1ичие попобной uепочки позволяет DNSK7JlIeH там опускаться вниз по лереву ломенов В поисках любоrо VЗЛ3. попк.'1IО'Iеll1-10rо к IIHernet. ЕCJТИ в РОд1пельском ломе не не упоминаются oIlpene.'lCHHbIC серверы имен ПО!lllомена. оюr t:тановятся 'Ю-l\треННIfМИ" и неДОСТУПНЫ\1\-f ШIЯ внешнеrо мира. Кэшируюшие серверы ItC .tВТОРlпепrы. но ОНII, тем не Fl.IeHec. ПО]НОllJЮТ сократить объем DNSТР3фllка во 8l1yrpс:ннеЙ сепt и умеНЬШIПЬ время затрачиваемое на ВЫПОJ1неl-lие DNS]апрОС08. Желательно раЗ)lеЩJТЬ ОДIIН такой сервер в каЖllОЙ ПОдсеЛf. В большинстве орrанltзаuиЙ DNSJапросы от настольны,\ компьютеров обычно прохолят через t:::JШIlРУЮЩИИ сернер. В BIND 4 и BrND 8 не реКОМСlIдовалосъ лелать один 11 тот же сервер имен авторитетным для олни\: "юн И ,,"-ЭШIfРУЮШИМ  Ш1я npnrx. Кажз.Ы'. лемон named эксплуатировал сВОЮ реЗllлентную базу панных, и С1>lешение мостlO произойти лишь в том СТ'l'Чае, Korna изза нехватки паМЯТИ даНlые выrpужались на лиск В BIND 9 .па проблема устранена. Рекурсивные и нерекурсивные серверы Серверы имен бывают либо рекурсивными. либо нерекурсивными. Если у нерекурсивноrо сервера естЬ адрес, оставшийся в кэше от nре.ilьшушеrо запроса, и!Iи если этот сервер автор"тетен д.Т'lЯ ломе на. к которому ОТНОСIIТСЯ запраШlIваС:'\fOе имя, то 011 даст соотнетствуюшиЙ ответ. В противно" c..1Y L rae ОН вернет ОТСЫЛКУ на авторитетные серверы npyroro ломена, которые должны знать ответ. Клиент нерекурсивноrо сервера долже... быть rOToB принимать отсылки и обрабатывать их. у нерекурсивнъrх серверов обычно есть веские причI'I:ны не вып.1нятьь дополнительную работу. Например, все корневые серверы и серверы ломеНО8 вepxнero уровня Я8..1ЯЮТСЯ нерекурсивными. ПОСКО.1ЬКУ им- приходится BЫ полнить до 10000 запросов в секунду. Рекурсивный сервер возврашает только pea'lbl.lbIe ответы илн сообшения об ошибках. Он сам отслеживает отсыл::и, освобождая от этой обязанности КJпtента. Базовая проuепура на:lIIза запроса, по С}ТИ. остается тоЙ же; елинствеНllое ОТ.'1ИLJие заКЛЮLfеТCft 8 том, что рекурс"нный сервер JаБОТIIТСJ.l об обработке отсылок. не ВОJврашая ИХ КJlиенту. Библиотеки функuий распознавания, имеЮШl1еся в БОЛЬШJ1нстве bePCI-1I UNIX, не понимают ОТСЫЛОК. ОНИ ожила ют, что локальный сервер имеlt являетсЯ рекурсивным. Есть один побочный эффе.....Т при arслеживании отсылок в кэше сервера имен накапливаетсЯ "нформаuия о промежуточнык ломенах. При работе в IТокально сети от ЭТОrо обычно только польза. носколъку в последуюших r лово 16 Системо доменны)( имен 429 
операциях поиска, ИНИllиируемы:х любым КОМПl>ютером -этой сети, можно будет пользоваться результатзми преды.пуших запросов. С дрyroй стороны. сервер домена вepXHero уровня (T3Koro как "соП1" или .'edv") не должен храюпl> информзmfЮ, запрaJПИ1iаемую компью:rером, который нахолится на несколько ypOBHe ниже. В ранних версиях BI.ND требовзлось модифиuировать исходный кол li перекомпилировать пакет, чтобы изменить рекурсивность сервера. Затем появилась опция командной строки r. которая теперh ЯWlяется параметром конфиryрационноrо файла. Можно лаже сконфиryрироватъ сервер таКИМ образом, что он будет рекурсивным Ш1я Rнyrpенних КJ1ИентоВ и HepeKypCI1'H ным  Ш1я внешних. Отсылки rенерируются иа иерархическо основе. Если сервер, к примеру. не сможет узнать адрес узла lair.cs.colorado.edu, он выдаст отсылки к серверам поменов cs.colorado.edu. colorado.edu, "edu" иJПt корневоп) домена. OTCbI'lKa должна содержать адреса серверов тoro ломена, на который она указывает. поэтому выбор домена ие случаен: сервер ДОllЖен ссылаться на тот ломен. серверы KafoporO ему уже известны. Как правило. возврашается наиболее полныи из изоеl'ТНЫХ ломеНО8. В нашем примере в первую очередь были бы выданы адреса серверов ломена cs.colorado.edu, при условии. ЧТО они изве-стны, Если этот помен не известен, но известен домен colorado.edu, бьuти бы выданы адреса ero серверов имен и т.п. Сервер имен предварительно I::Iзполняет свой кэш солержимым фаЙла "попсказок" , в котором указаны серверы KopHeBoro помена. Бпзrодаря этому всеrда можно сделать какуюнибудъ отсылку, паже есIТИ она rласит: "C-ПрОСli у KopHeBoro сервера". Модуль распознавания Клиенты ищут соответствия между именами компыотеров и 11Х IРздре сами, вызывая библиотечную функuиlO gethostb'1JameO, В исходной версии это функции имена искались в фаЙле /etcfhos1s. Для roro (Iтобы та",1'Ю информацию выдавала система DNS, ФУНКUИSI должна делать запросы к модулю распознавания, который знает I как IiRХОДlfТb серверы имен и взаимодействовать с ними. В большинстве операционных систем ФУНКllИЯ gethostb}l1ameO может черпать информаllИЮ из нескольких источников: обычных файлоп (например. /etc!hosIS). DNS и даже локальны\: аДМИНllстративных СУБД. таки\: как NIS А NIS+. Иноrда возможен четкиЙ администраТИШ'IЫfl контроль над ТСМ, К3Ю1f' 1fCTO(II-IИКИ опрашиваются и 8 ю:!.ком порядке Подробlее об этом paCCKa.1Ы вается 8 параlJ)зфе 18.3. а также в Ilараqrnфе 16.16 прнменительно к НШJИМ тестовым системам. Выполнение запрасов из командной строки В пакет BIND входЯl ПрОlJ)аммы dig и nslookup. позволяющие ВЬtnОIТнять DNSзапросы в режиме командной строки. ОНИ полезны при отладКе 11 как инструмеl.rrы извлечения информашш из базы даНIIЫХ DNS Обе ПРОIl'ммы имеlОТ с-холные ФУНКUНОllзльные возможности. но реализованы HeMHoro rIOразному. Подробнее о нИх расскззыnается в параrрафе 16.14. 430 ЧОСТh 11 Робота в сетях 
16.7. Как работает DNS Каждьтй компьютер, полъзуюшиися услуraми DNS. является либо. IOIJ.' ентом дaHHQ системы, либо. опновременно и кл-ие, нтом и сервером. Те читатели, 1<0000орые не планируют lапускать серверы DNS. Mor)'T. ПрОnyСТИR следуюшие несколЬКо. разделов, СрЗJУ перехолить к параrpафу 16.8. Отметим, однако, что. эти разделы полезны Ш1Я более rлубокоro "снимания архитектуры DNS. Делеrировоние Все сероеры имен знают о сушес-твовании корневых серверов. Последние. в свою очередь, знают о доменах "сот", "org", "edu". "fi", "de" и дрyrих доменах BepXHero уровня. Сервер домена '&edu" знает о. домене colorado.edu. сервер домена "СОШ" знает о. ломене admin.com и Т.Л. Кажлая JOH3 может лелеrировать полномОЧИЯ по ynравлению СRОИМИ помоменамИ лруr1lМ серне-рам. Рассмотрим реаЛЫ.IЫИ при мер. Пред.положим. требуется узнать адрес узла vangogh.cs.berkeley.edu с машины lair.cs.colorado.edu. Компьютер lair просJ.П CBO локальный сервер имен, ns.cs.colorado.edu. наЙТИ ответ на этот 80ПрОС. Послеnyющие события изображены на pltC. А. Мы использовали ОП-IOСIПЛЬ ные имена. чтобы уменьшить неразбериху и улучшить Чl-пабельность н<ш.lllf сей. Цифры возле стрелок определяют порядок событий, а буквы  тип транзакuии (запрос. ответ или отсылка). Мы предполаrаем. что перед запросом никакие из ч>ебуемьrх данных не I<ЭШИРОвались, за исключением имен и I PaдpeCOB серверов KopHeBoro домена. Рвкурснвныв Нврекурсивные 2 Начвло J .орневой (".") ... 3-R 1 4.0 181r nc_cs.colorado.edu edu 10A eд tl в.а t I &R а = Запрос ба "1 А = Ответ berl<eley.edu R = Отсылка 7.R cs.ber1teley.edu Р....с. А Процесс обработки запроса в DNS ЛокалънъrЙ сервер имен не Зllзет нужный алрес. Более тото, ему ничеrо не известно ни о домене cs.berkeley.edu. Ю1 о домене berkeley.edu. 011 знает лишь некоторые серверы KopHeRoro домена и. бупучи рекурсивным, СllраlllИ вает корневой домен об узле vangogll.cs.berkeley.edLI. Раньше корневые серверы храшtЛн данные как о корненых З0Н3.'<. так I об обших доменах. во сеrодня у 1l0следни:х есть свои собственные серверы имен. В ответ на заllрОС к корневому серверу об узле vangogh.cs.berkeley.edu мы получим ссылку на сервер домена "edu", лоl<aJJъный сервер имен посыает свой запрос 1< серверу домена "edu" и получает обратно ССЪ11П<У на серверы домена berkeley.edu. Torna он повторяет запрос. направляя ero в домен berkeley.edu. Если сер8ер увинерситета Беркли r nOBO 16. Система доменных имен 431 
ие рекурсивен И не содержит ответ в кэше, он вернет ссылку на домен cs.berkeley.edu. Сервер этоro домена авторитетен в отношении запрашиваемой информauии и возврашает а.црес компьютера vangogh. Коrда все ЗRКОНЧиrся, в кэше сервера ns.cs.colorado.edu окажется адрес КОJ\.mъютерR vangogh. В кэше также будут сmlСКИ серверов доменов "edu". berkeley.edu и cs.berkeley.edu. Демон namfd посыаетт запросы па протоколу UDP через порт 51 Ответные пакеты также имеют формат UDP, если ТОЛЬКО их объем не превышает 512 байтов: в этом случае используется прОТОКОЛ ТСР. В ЗОННЫХ пересылк3.'< Bcerдa применяется ПрОТОКОЛ ТСР. Кэширование и эффективноСТЬ Блаrодаря кэшированию повышается эффективность поиска: кзширован ный ответ почти бесплатен и, как правило. точен, так как адресноименные соответствия меНЯЮТСЯ редко. Большинство запросов касается локальных машин и разрешается быстро. Пользователи невольно содействуют повыше нию эффективности работы серверов имен. так как t.fНQТ"Ие запросы повторяются. В течение долrorо времени кэumрование npименялосъ только к положи тельным ответам. Если имя или адрес компьютера было НеВОЗМОЖНО найТИ. этот факт не фиксировался. Схема кэширования отриuательнъrx DNSoтвeTOB была описана в документе RFC 1 0]4. НО она оказалась неПолной и осталась нереализованно в большинстве версИЙ BIND. В 1998 r. был опубликован документ RFC2308, в котором описывалась обноменная схема оrnрицйrnельно.?о кэшировйния. Она была реализована в BIND 8.2 в виде опuиональноrо компонента, но в BIND 9 это уже обязательный компонент. Измерения, провепенные на сервере RIPE в Евролс, показали, что 60% DNSзапросов относилось к несуществующим данным (мноrие запросы были адресованы домену 127.inaddr.arpa юти содержали в качестве сетевых имеи названия сервисов Мiсrosоft). Кэшируя эту информацию как можно rлубжс: в DNSnepeBe, можно добиться резкоro снижения наrpузки на корневые cepsepbl. При отриuaтелъном кэшировании сохраняются ответы следуюших типов: . отсутствие узла или домена, соответствующих запрашиваемому пменп; па иные запрашиваемоrо типа не сушес:твуют для указанноrо узла; запрашиваемый сервер не отвечает; сервер недостуnен JlЗза проблем в сети Ответы первых ПВУХ ти пов сохраня ются в кэше в течение 1  3 часов, остальные  5 минут. Неавторитетные ответы MOZYrn кэшироваться, а aBTO ритетные неraтивные ответы  обязаны. Демон named часто получает несколько DNSзаnисей в ответ на запрос. Например, при попытке узнать адрес сервера имен KopHeвoro домена будет получен список из всех I Зти корневых серверов. К какому из ЮfX следует обращаться? Коrда демону named прИХОДИТСЯ выбирать среди удаленных серверов, все из которых авторитетны .ШIЯ данноrо домена, он в первую очередь определяет период кpyroBoro обрашею{я (roundtrip timc, Rn) каждоrо сервера. Затем серверы сортируются по <'корзинам" в соответствии со значениеМ R1Т, после чеrа выбирается сервер из самой быстрой КОРЗИНЫ. Серверы в пределах QП.НОЙ корзины считаются равнозначными и выбираются по циклической схеме. Часть 11. Робота в сетях 432 
Простейший, ио весьма эффективный способ распределения нarpузки  закреплЯ1'Ь одно имя за несколькими IРадресами (соответствующими разным компьютерам):  IN А IN А IN А 192.168.0.1 192.168_0.2 192.168.0.3 3arpуженные WebcepвepbI. такие как Умоо и AltaVista. в действителъ пости не ЯВЛЯЮТСЯ ОДНОЙ машиной. Они просто извесПJЫ под Одним доменным именем в DNS. Сервер имен, обнаруживший несколько записе'Й с одинаковым именем и типом, 8QЗВрашает все их юmеl-f1)', но в UИК11ическом ПОрJШке. Например. порJUXОК записей А в показанном выше примере будет 1, 2, 3 ДЛЯ лервоro запроса, 2, 3, 1  ДЛЯ второro и 3, 1, 2  ДЛЯ тpeTьero. Расширенный протокол DNS Исходное определение протокола DNS датируется КОНПОМ 80x rr. и предnолаraет использование протоколов UDP и ТСР. Первый нужен Ш1Я запросов и ответов, а второй  ДЛЯ ЗОННЫХ пересыIТОК между rлаБНШfИ и подчиненными серверами. К сожалению, маКсиМ8ЛЪНЫЙ размер пакетз. который rарантироВ8ННО прииимается всеми реалИЗ811ИЯМИ UDP. состаnляет 512 байтов. это слишком мало мя новых схем обеспечения безопасности DNS, подразумеваюших включение в каждый пакет цифровой подписи. Данное оrpаничение влияет на число и названия корневых серверов. Чтобы все данные этих серверов умешапись в 5]2байтовом UDPnaKeтe. КОЛИЧестВО серверов оrpаничено числом ] 3. а имя кажпоrо сервера состоит из ОДНОЙ буквы. Мноrие распознаватели выдают сначала U DР.запрос, и если приходИТ усеченный ответ, то запрос повторяется в формате ТСР. Эта проиедура позволяет выйти за рамки 512байтовоrо лимита, но она неэффективна. Koeктo может посчитать, что следует вообще отказаться от UDP и перейти исключительно на тсР, но ТСРсоединения явл.яются rораздо более лороrо стояшими. Обмен панными межну серверами имен в рамках протокола UDP может свестись Bcero к двум пакетам: один запрос и олИ1i ответ. В случае протокола ТСР требуется минимум СеМЬ пакетов: трехфазовое квитироваlШе для иниuиализации диалоrа, запрос, ответ и завершаюшее квитирование мя разрыва соединения. В середине 90x rr. протокол DNS был усовершенствован мехаlШзмами инхрементных зонных пересылок (наломииает применение команды diП мя сравнсlШЯ cTaporo и HOBOro зонных фaI!JIОВ; npOТOТIUIOM послужила nporpaM мв pateh, Написанная Ларри Уоллом), асинхронных уведомлеlШЙ (для информирования подчиненных серверов об изменеlШЯХ файлов rпавноrо сервера) и динвмических обновлеlШЙ (для DНСРузлов). Все эти нововведе- ния привеЛ1l к расширению ФУНКЦИОИВJIЬных возможностей DNS, но они не решиmr фундаменталъную транспортную проблему. В коние 90x rr. появилась спеиифик.аuия EDNSO (расширенный протокол DNS, версия О), которая устраняла некоторые недостатки DNS. В этой спеинфикаuии звпрашивающая сторона сообшает размер буфера сборки пахетов. подперживаемые опции и версию протокола. Если сервер имен отвечает сообшеIOfем об ошибке, запрашиваюшая сторона возвращается к исходному протоколу DNS. Пвкет BIND 9 реализует спеuификацию EDNSO как на стороне сервера, так и на стороне распознавателя. r лово 16. Система доменных имен 4ЗЗ 
16.8. Работа с клиентом BIND Перед тем как ВlUlОтную заняТьсЯ проблеМ8МJ1 I<онфиrypирования пзкerа BIN О, давайте определим Крут основных заиач. которые сопряжены с использоваtrnСМ BIND в Intemet. В табл. 16.6 показано. что нужно делать, кому и как часто. Если элемент в СТQлбllе .. КаК часто" содержит слово "распространить". то это означает. что указанное действие необходиМО выполнить ОlПfН раз в каждой лодеети или архитектуре. а затем скопировать результат на дрyrnе компьютеры с ПОМОП[ЬЮ такой nporpaммы, как rdist или "Упс. 0' Подробнее о распространении фай.Юд по сети 'НОЖ'НО уз"ать в aBe /8. Поскольку кажДЫЙ компьютер в сети должен быть клиентоМ 81 ND. начнем с рассмотрения задач, стояших перед КJlиентами Таблица 16.6. Задачи, (вязонные С инстапляuией и сопровождением покеТQ BIND Сконфmypировать распознаватель СКОНфИJуРировать эффективный распознаватель Сконфиrypироnarь Файл "ncp" ключеиия сериисов" Запуcтmь демон namecl во врем)! качaJIЬНОЙ зarpузки. Отредактировать конфнrypацяон ный файл демона nameiJ СКQНфиryрироиать файл "подска зок" Клиента К-'lиента lt;aK часто ОДИН раз Один раз или больше Один раз, но следlПЬ за обнов лениямм ОДИН раз и распростр.liН1ПЬ Для каждОЙ подсети и распро стра.нить ДJIЯ каЖДОЙ аРХJПeКfУРЫ и pac простраюпь ДJlЯ каждоro сервера IMeH Задача Получить доменное имя Выбрать серверы имен Получить диcrpибyrив BIND J],IJ R Орraн.изauии Орraниэaиии Орraнизации Клиента Сервера Сервера ДЛЯ каж.доro ТIOl8 сервера Сервера Один раз' и распростраНИТЬ на серверы имен Один раз rnaBHых cepвe ров rпивных cepвe По мере необходимости ров Просматриввть журнн.лъные фай УЗJ13реrиCIpa Хотя бы раз в неделю лы тора Обучать ПOJlb3Oвателей Всех узлов Постоянно I Нужно выполнять повторно. если меняются корневые серверы. Сконфиrypировать файлы зон Обновлять файлы за.. КонфиryРИРО80ние роспоэновотел' На каждом компьютере. подключенном к сети, должен быть файл /etc/resolv.conf, содержаший список серверов имен. которым можно посылать на MHOrnx компьютерах содержится файл "переключения сервисов". который задает, к каким источникам данНЫХ следует обращаться 8 процессе поиска имен. Если 8 эrm файл недобавитьзвnисьdns. то в ряде операционных систеМ (например. в So1aris 7 и более ранних версиих) протокол DNS не будет использоваться. Подробнее об этом рассказывается 8 ппраrpaФс 16.16. 434 Чость 11. Робота в сетяJC 
запросы. Если узел ПOJrучает свой IPan.pec и сетеные пара метры ОТ OHCPcepHepa. этот файл заполняется звтомапt"lеСКI1. В противном слуt.!ае ero нужно редактировать вручную. Файл имеет следующий формат: search имядоиеJ-/а ... nameserver iрадрес Может быть указано от OflHOJ'O до трех ссрисрон имев. ВОТ rrО.'IIIЫИ пример: search сз. colorado. edu colori:!do. edu ее. colorado. eau nameserver 12B.13B.23.11 nameserver 128.138.204.11:1 ; piper nameserver 128.138.240.1 ; anchor Для файла resolv.conf никоrла не вподилось понятие коrмеlпарнев. ОН11 подnерживаются лишь н том смысле. что любой нераспо:шанный J!1e\leHT файла иrнорируется. Комментарии разрешается размещать R конпе диреК1ИВьr nameservet:, поскот.ку анализатор файла ишеl лишь IPaдpec. Itl.НОРИРУЯ остальную часть строки. ДиреJ..'ТИва sea rctl может содержать несколыш apryмeнтoB. поэтому комментарии в ней l1Y'-ПlJе не ставить. В лиреКТИ8е sea "'ch указан список доменов. которые следует опраШII В8ТЬ. если имя компьютера оказывается не ПОJlНОСТЫО опреде.ilIШЫМ Например. коr.да пользователь ВИОДJ1Т команду ssh roo. раСПОjнвнеlI. дополняет имя первым доменом в списке (в данном СЛУ!;jне  cs.colorado.edLll Jf в результате ишет узел foo.cs.colorado.edu. ЕСШI JTO IМЯ не наЙлеНО. делается nOnbrrK3 нзm-и узел foo.colorado.edu, затем foo.ee.colorado.cdLI. Пользователи нашеrо подпомена "cs" Moryr обрашаться к люБО\I:!-, локальному узлу по сетевому именн. а вот поль.зователи родитепьскоrо домена ЛОЛЖНhI указывать U/.LЯJ.lа.сs. чтобы IIОJl}ЧИТЬ ЛОСТ'iП к нжному КОМllьютеру в этом поддомене. При СОlдаюtи HOBtol)( ПОДllомс:нои приходится ЛОПО;lНlI тельно обучать пользователеЙ. Директина sеа rcr! в фаЙJI3), resol"'.conr компьютеров ролительскоro домена может допускать lIсполыованне простых имен в обоих налрамеНIIЯХ: search colorado.edu. c5..::o1orado.edu. ee.colorado.edu. Естественно. в такой конфиrураUИII преЛlюлаrнется. что имена КОМIIЬЮ теров уникальны в пределах всех трех доменов В Лl1реКТlIве sea rch можно задавать до Bocы,,1 ломеНОR. Серверы J1MeH. указанные R фаиле I.еsоl\'.сопr. О;IЖIIЫ быть рекурсивными (распознаватель не понимает отсылок) и иметь С80Й K.-tШ. Если исполыуетсн пакет BIND 4 IUHt BIND 8, то cepepы не ДОЛЖНЫ б....пЬ апторl1теНIЫМIt ЮI ДЛЯ одной -юны. ИХ К:JШИ MOlyr стать очень большими, а поскольк} Ii версиях 4 и 8 работа с кэшем ведется некорректно. вся ШIН1ТЬ компьютерi:J может оказаться занятой. При смешеюш кэширонанных и авторитетных данных Н)'Ж110 воспользоваться конфиryраllионныM пара метром 11.stеI1ОП, позволяюшим запустить на одном компьютере два отлельных cepBtpa. прослушиваюших разные порты. Серверы имея опрашиваются в том порялке, в котором заданы лнре"'"Т1IВЫ nameserver. Если первый сервер OTBl:'llaeT на "1апрос. др}'тие серверы иrнорируются. В случае преВЬП1Jения пери ала Ti1Mayтa lanpoc nepC31lpeCeTcll следуюшеr-.'У серверу Все серверы оnpашинаются по очерели. до четырех р31 каждый. С каждой неудаей период таимаута Уflе.1ИЧl-шается. БольшинсТRО распознавателей допускает наличие максимум тре\ серверов имен. Все остальные просто ИПlOрируются. Если узел сам является сервером имен, он должен быть указан первым в собственном файле rcsol\'.conr В ранних версиях BIND вместо тtректи:вы search в файле r-esol".conr исполъзовалась лире....'Т1fва doman. Она Ja.Ш\вала ешпiый ЛОII.lеll, которыи r лова 16. С"'стемо доменных I-1мен 435 
следовало набавлять J:: неполныМ именаМ. Мы рехО'менцуем замеl--l1lТh диреlcr'ИВЫ domain пирективами search. ОНИ ЯВ1IЯЮТСЯ взаимоискточаЮШИМJI, так что ТОЛЪJ::O одна из них палжна присутствовать. Если имеется старыЙ распознаватель, а а файле resolv.conr IIРIlСУТСТВУЮТ обе директивы. действителЬНOIt будет та, что указана последнеЙ. По умолчанию современные раСJ10ЗН3'Rатели веlIУТ себя кажnый ПОСIЮ ему. Одни предполаrnют, что .'lOка.'1ьны" компьютер является DNScepRepoM. если в конфиryраuионном фаЙле не указаны серверы имен. Друте pacKrri'l дывают полное имя ЛОКaJ1ьноrо КОМllьютерз на КОМП0ненты, формируя СrlИСОК поиска. Третьи MOryт работать вообще &3 фаЙла /etc/resolv.conf. Не обращайн: на псе это внимаиис. Просто сконфиrypируйте должным образом фаif'l resolv.conr на каждом КОМI1Ъютере. DNSзапросЫ. поступающие ИJ ннешнеrо мира, попадут на авторитетный сервер имен. Хорошим решением будет выделить отдельные серверы ШlЯ ответа на запросы внутри домена. Необходимо, чтобы nнyrреНЮtе серверы были кзширующими и реКУРСИ8НЫМИ. В крупной орrанизации ДОЛЖнt.1 ФУНJ::ЦИОНИРОвать несколькО серверов имен. а фаЙЛ resolv.conr нужно CKOI1 фитурировать так. чтобы распределить натрузку между серверами, МИНИМI зиропать сетевой трафик и уменьшить послепствия выхода из строя сериероп. Коrда сервис DNS перестает работать, вся сеть "зависает". Оптимизировать работу орrанизаuии можно также посреnством переад ресуюших серверов. Локальные серверы имен обращаются к переan.pесуюшему серверу, который делает все внешние запросы и создает очень большой кэш. В подобной схеме внешний трафик, вызываемый серверами имен. сводmся J:: минимуму, а все локальные компьютеры совмесТНо полъзуются ОДним большим кэшем. Подробнее о переадре:суюших серверах будет рассказано в пвраrpафе 16.9. На рис. Б изображена примерная схема функционирования DNS. Здесь преДСТ8.ВJlена двухуровневая иерархия переa.n.ресаuни, что. конечно же. является избьrrочны1M DJ1Я ма.леньких орrанизаuий, Оrреryлируйте заrp)'Зк) серверов, обрабатьrваюших исходящие запросы, и серверов, принимаюших входящие запросы, чтобы ни одна из трупп не оказа.лась перетруженноЙ Обратите внимание иа наличие внешнеrо подчиненноrо сервера. Настоятель но рекомендуется сле.поватъ данной структуре. если есть возможность использовать сервер ПрОВ8Й.nера в этой роли. . Заnросw изнyrpи Запросы снаружи PIo4C. Б. Архитектуро серверо DNS 436 Чаcrь 11 Работо в сетях 
Тестировоние роспозновател в нехоторых системах для нача.ла работы с DNS нужно тlШЬ добавить 8 файл /еtс/rеsоl".сопr пирективу nameserver. В Пр)ТИХ системах С.'1ед)'ет nать явное указание на использование DNS BieCTO файла /etcjhosts или службы NIS (это пеnается в файле "переключеlПlЯ сервисов". который чаше Bcero называется /etc/nsswitch.conf). Коммеmзрии ПО ИСПОЛhзоваНИIО пакета BIND 8 наших тестовЫХ системах приведены в параrpафе 16.16_ Описание Toro, ках наЗНачаТЬ приоритеты источникам административных панных. дано в параrpафе 18.3. После конфитурирования файла /etc/resolv.conr (препполаraем, что соепи нение с локальной сетью УСТ8ноалено и функционирует праВИlЬНО) поль.зо вателъ сможет ссылаться на дрyrие компьютеры по именам, а не IPaдpecaM. Если при обращении к лока.JlЪНОМУ хомпыотеру KOM8нna "зависнет". попро буйте найти машину по IPaдpecy. Успешное завершеиие TaKoro поиска озиачает, что в 'Конфиrypаuии DNS есть ошибка. УбеlUtтесь. что IPaдpeca серверов имен в файл /etc/resol\'.conr правильны. а самим серверам разрешено обрабатывать запросы из вашей сети (см. опнсание параметра allowquery в слеПУlOшем паРllJ1Jафе). Влиние но остольную чость системы Переход от статических таблиu имеН к DNS создает не'Которые заnиси МОСТН между проuедурой начальной заrpузки и конфиrypацией систеl.rы, от 'Которых нужно избавптъся. Ссъиrки на нмена компьютеров В сuенаРJiЯХ /etc/rc. или init.d '\-IОr)"т оказаться неразрешимыми, если они встречаются раньше. чем заrpvжается сетевая подсиcrема. Команды сuенариев будут безуспешно пытаться связаться с DNS. Блаrодаря устойчивости распознавателя они станут повторять попыТJm MHoro раз на мноrих серверах. при 'Каждой из попыток увеJТИЧ1.i8аЯ июерnа.'1 таймаyrа. Пару минут спустя комаНда, которой нужно ИМЯ компьютера. наконеи ВЪJ.паст ошибку. Проблему можно решить, используя на ранних стадиях проиесса начаjТЬ ной заrpузки только явные IРалреса. Или же, если система поддерживает одновременное использование DNS и файла /etcjhosts. можно инстаттировать файл hosts, содержаший адреса серверов, KOТOpЫ необхо,nим:ы во время начальной заrpузки. При этом данньtй файл должен проверяться в первую очередь. чтобы не пришлось ждать истечения срока таймата. Полностью определенные имена доменов требуются в нескоЛЬКИХ местах. О.пно из них  файл /etc/exports, который управляет совместным использо ванпем файлов N FS в некоторых системах. В списках компьютеров, имеюunVr.: право монтировать файловые системы, по:Iжны содержаться полностью опрепеленные имена этих машин. В HeKoTqJbIx системах кaжnая строка в файле exports оrpаничена 1024 знака!\fИ; каr.па имена компьютеров меняlOТСЯ с anchor на anchor.cs.colorado.edu. этот преде1 достиrается nyraюше быстро. Подробно об N FS росскозывоется в zлове JZ o 16.9. Конфиryрирование сервера BIND в следуюших разделах мы предполаrаем. что все "ПО..'lrпическис" задачи вами решены. т.е. вы получили имя .помена (возможно, подцомена), связа..1J1СЬ с администратором DNS--сервера родительскоrо домена и переда.пи ПО,1номочия r лава 16. Ct.<1creMo доменны)( имен 437 
ПО обратному преобразованию адресов домену inaddr.arpa. Бьт выбран rланный сервер имен и несколько по.пчиненных. а также ннсталтlроваи пакет BIND. Аппаратные требования Пакет BIN D  настоящий пожиратмь реСУРС08. Ero база данных хранится 8 памяти. поэтому одновременно с увеличением кэша растет число стрaниu памяти, занимаемых пеМОАОМ named. Некоторые новые компоненты BIND 9. особенно DNSSEC и подсистема IPv6, столь же интенсивно используют иентральный процессор. Для снижения нarpузки пакет BIND 9 бьт сделан MHorOnOTOKOBbIМ. и теперь он способен эффективно работать в мноrопроuессорных системах_ Имеются также конфиryраuионные парамеrpы, посредством которых можно коитролировзть. как демон named использует системные ресурсы. Лучший способ определить, достаточно ли памяти на компьютере, rде устаноален сервер имен,  дать серверу поработать некоторое время, а затем провеРIfТЬ размер процесса пап,еd. Требуется одна.пве иедели, чтобы этот размер стабилизировался и старые записи в lCэше устаренали с той же скоростью, с какой пшrвляются новые записи. Запуск демона named Демон named запускается 80 время нача.льной ззrpу]ки и работает непрерывно. Например. для запуска этоrо немона в Solaris иеобходимо добавить в O.дm-l из старТОВЫХ сиенарнев слеДУЮШlfе строки: if ! /usr/sЬiп/iЛ.паmеd a r /etc/named_conf J; then lusr/sы.l/п.паmеd;; echo п . лаmеd' > /dev/console fi в послещПlХ версиях BIN D нмеется nporpaMMa ndc (или mdc, в зависимости от версш). позволяюшая посьurать команды немону папd_ Ее формат прост: I nd.c lCоман.иа Сре.п:м полезных KOM3Нn назовем start, stoP. restart и status, назначение которых очевидно. Проrpамма ndc будет подробно описана в парarpафе 16.14_ Демон named использует систему Syslog, поэтому сначала нужно запустить немон S)'slogd_ Не применяйте для упрамения сервером имен немон inetd: он бунет при ма.лейшей необходимости переlзТТ)'скать пемон пап,еd, замеlUТЯЯ время ero реющии и препятствуя накоплеНИЮ полезной информаuии в кэrnе_ o Подроб"ее о де.моне ;пetd россказыsается s параzрафе 283. Конфиryрацианные файлы ПОД I(онфиrypauией демона пап,ed понимается конфитураuионный файл, файл "подсказок" и. в случае rланноrо сервера. файлы зонных данных, содержашие Мресные привязки для кажлоrо узла. Конфиryрauионный файл имеет свой собственный формат; остальные файлы представляют собой коллекции оТдельных DNSзаписей. отформатированных в соответствии со спеuификаtIИей DNS. Ниже речь пондет о содержимом конфиryраuионноrо файла, тоr.па как о формате DNSзаписей бупет рассказыватъся в naparpa- фе 16.11. 438 Чость 11. РоБОТО В сетях 
в конфитурационном файле Демона named задается роль (rлавнъrй, подчииеннъrй или усеченный) данноrо сервера в каждой зоне и определяется способ, которым сервер получает СВОЮ копию записей о ресурсах. COCTaB лЯюших локальную часть базы панных. Здесь же приuo.пятся всевозможные параметры  как rлобальные. связанные с работой caMoro .пемона и серпера, так и зонные, RЛияюшие на ФУНКl1ионирование Qт.пе.тIЬНьrх областей DNS. При переходе от BIND 4 к BIND 8 формат конфиryрauионноrо файла ПОЛНОСТЬЮ поменялся и стал напоминать формат фай.тlа gаtеd.соп[ Имя файла 'ffiкже изменилось: в БIND 4 ОН назывался /ete/named.hoot, а " BIND 8 " 9  /etc/named.conf. Формат файлов кзша и фаАЛ-О8 данных остался прежним. Мы опишем КОНФlfrypаllИОННЫЙ файл пакетов BIND 8/9. проиrnОРlfровап BJND 4. Надеемся тем самым подстеrнyrь самых консервативных из наШJf'( читателей к переходу На новые версии пзкета. Как и в случае со мноrими дрyrими IlроrpаММ3МИ. старые версии BIND MOryr содержать "пыры" в системе защиты. которые .паано устранены 8 современны"\ версиях. Файл пап,еd.сопr состоит из набора инструкuиЙ'. кажДaJ.J ю которых Оканчивается точкой с запятой, Лексемы разделяются пробе..1ЬНЫМИ OtMBO лами, к которым относится и символ Новой строки. Иноr.па ДJИI rРУНIJИРОВКИ лексем применяются фиrypные скобки. Формат фаi.шз очень "ХР}lIкшi"  достаточно одной пропущенной точки с запЯ'Тои. чтобы Ilce перестало работать Комментарии .попускаются 6сзде, rlle MOryт СТОЯТЬ пробеЛbl. РаСllOзнаются комментарии в стиле языков С, С++ и командноrо интерпрета10р.1 ,- Это КОblNентарий, который может заниыать нес!Солько СТРОК. ,,' '1 Все, что идет до КОiiца строки, является KoмweHTaplo1eN. i Все, Ч'1.'О идет по КОНЦа стро.ки, яsляется KOblNeti'I'apHeи. Каждая IfНСТРУКUИЯ Начинается с ключевоrо СЛОМ. OIrpеЛСJlяюшеrо ее тип. Может присутствовать несколько JlНСТРУКUИЙ опноrо типа, ]3 ИСКJIIOЧС ннем инструкuии options и l0991.ng. Отдельные инструкш.rи, а также их чаСnf MOryт oTcyrcTВOBaTb; В этом случае будyr приняты установки по умолчанию. В табл. 16.7 переЧJ.fслены инструкции. включенные в BIND 9. Инструкция include Таблица 16.7 Инcrрукции, ИСПользvемые в фойле nomed.conf Орt:iолs key acl tru.stedkeys сол t rols lО991.Л9 view Функция Встзкляет ДОПОЛНJПСЛЬН.ый фuйл (чаще вcel'o ПОДКJUO"j8ЮТСЯ файлы с ключами шифроиания. досryШiые ТОЛЬКО демону named} Задаст rлобащ.ные парамстры КОНфllryраUИlt ccpl!cpa IMeH. а также усТановки по умолчанию ЗадаеТ параме1])Ы ....онхретнOI"О сервера ОлредeJUlСТ аутентификаuион.ную ннформ8J.LНЮ Формирует список управления ЛOCL)'лом Определяет зону. МЯ которой демон ЯRJIЯется авторнтетным Задает заранее устаноRЛСННЫС ключJ1. шифровании Определяет. как ПР0rJIilММR ndc булет упран.'lЯ1"Ь сервером имен YcтaH3ВJIIoIBa(."]" к.атеrОРИI! рсrиcrpаЦИЩIНЫХ со{)бшени.1 и !.;OilНЗЛЫ 11)( расrrРОC11Jiilнения Определяет ПРСДСТ.dUJ1СНllе простраНL-ТН8 имен (ТОJlЬКО в BIND 9) r пово 16. СиcrеМQ Доменных имен 439 
Прежде чем приступить к описанию ЭТmc инструкuий. необходимо рассказаlЪ о структуре данных, используемой 80 мноrих инструкuиS)).: список соответствия адресов. Этот список является 060бшением понятия I r(lпреса и может содержать: . IPaдpec (например, 199.165.145.4.); . адрес сети, включаюЩИЙ маску CIDR (например, 199165/16); ИМЯ ранее определенноrо списка упрааления .поступом (см. описание инструкции acl); . ключ аyrентификаuии оператор отриuания !. Списки соответствия адресов используются в качестве арrуиеНТШ:l МНОПIХ инструкций и опuий Приведем ряд примеров: { ! 1.2.3.13; 1.2.3/24; /; ( 128.138/16; 198.11.16/24; 204.228.69/24; 127.0.0.1; 1: в первом из этих списков из числа адресов исключается УЗeJI 1.:2.3.13. но разрешаются дрyrне адреса в сети ] .2.3/24. Во втором списке указаны сети, закрепленные З8 университетом штата Колорадо. Фиrypные скобки и З8вершаюшая точка с запятой не являются частью списка: они относятся к ннструкции, В которой содержится список. Korna lРалрес или адрес сети проверяется на соответствие списку, содержимое списка просматривается по очереди до тех пор, пока не 6упет найдено совпадение. Порядок элементов списка важен, так как ишется первое совпадеНИе. Например, если в первом из показанных выше спискои ПО\fенять элементы местами, результат не будет достиrнут. поскольку адрес 1.2.3.13 удовлетворит первому условНIO (сетевому адресу 1.2.3/14) и второе условие никоrда не бупет проверятъся. Палее переЙдем непосредственно к инструкциям. Некоторые из (!ИХ короткие и ПОНЯТНЫе, для описания дрyrиx может потребоваться uелая rлава. Инcrрукция include Korna конфитураuионнътй файл становится слишком большим, МОЖIЮ разбить ero на части, поместин их в от.пельные файлы. Дополнительныс компоненты подключаются к файлу пап,еd.сопf посредством инструкшш include: include "ПУТЬ"; Еслн указан относительный пyrь. то он :lOбааляется 1.: nyreвolY. JIМt:ЮI. заланному в параметре airectol"}' (описан в следуюшем разпеле). Очеш. часто инструкuию l.nclude ПРlIменяют.n.ля ПОДК.r1ючения фаЙ-10fl. СО'iсржа щих ключи шифрования. Эти панные должны быть доступны толы:о ЛМОIIУ named. Чтобы не запрещаlЪ доступ ко всему файлу Ilamed.conf. КЛЮЧИ \.paH)JT 8 ОТДельных файлах, которые может читать лишь демон паПlеd. ИнcrруlЩИЯ options Инструкuия optons задает rлобапьные параметры конфиrураШflf, которые ВПОCJ1е.пствии MOryт быть переопределены .n.ля конкретных зон шш серверов. Общий ее формат таков: орtiолs I nараиетр; 440 Часть 11 Рабnто в сетях 
лараNетр; 1; Если в файле named.conf нет ИНСТРУК11Ии opt.ons, принимаются установки по }1\юлчанию. В BIND 8 имеется около 30ти параметров, а в BIND 9  более 50T". Полный их сrrnСОК можно узнать в покумнтаиии. Ниже Mы опишем лишь те параметры, которые pCKoMeHDyeTCft задавать. Значения по УМО_'1чаНJ1Ю указаны в квадратных скобках рядом с каждым пара"!етром. verl5ion "строка"; [реальный номер версии сервера] Имеются два ПРИНЦНПИR..,тъных подхода к вопросу о ТОМ. нужно ли скрывать номер версии. Некоторые администраторы полаrают, что их сервеРЪ1 бупут больше по.пвержены атакам, если хакеры CMOryт узнать, какая версия па кета BIND выполняется. Друrие считают зто избыточной праuедурой, арryментируя свою позицию тем, что хакеры в любом случае БУд)1 пытаться "взломать" систему, а большинство недавно обнаруженных ошибок прис}т ствует во всех версиях па кета Мы рекомендуем не сбрасывать строку версии. Для администратора бупет очень полеlНОЙ ВОЗМОЖНОСТЬ lапрашивать сервер имен, tlтобы RЫЯСНIIТЬ текуш),ю верСll10 пзкета_ direct.ory "IJУЗ'Ь"; [K.a:J.'.a.JiOl' О'J'куда был Эi4пущен сервер. Этот napi\1eтp задает каталоr, из Koтoporo должен стартовать демон 11зmсd Korдa в конфиrураuионном файле встречаются отнОСИП'.:Iьные путевые имена, к ним побавляется указанный путь (сам он должен бьrrь абсо.<JюпIы).. В лат каталоr также помещаются все ВЫХОПlrые файлы (оmа.п.ка. вывод статистиче ских .панных I т..п.). Лучше хранить все конфиryрационrые файлы пакета BIND (кроме паmеd.сопf и rеsоl\'.сопn н ПОДката..оrе КЗТЗ..'10rз /\'31" (или 1юбоrо :lpyt.oro каr3.поrа, rде содержатся конфю-ураUИОНllые файлы Др}ЛIХ проrРЗ\Р"I) В нашеЙ системе это ката,OI- /vзr/паlllсd not.ify yes I по; aisonot.fy адреса  серверов; [yesj [пусто] Если параметр notify равен уез, а пемон паmеd ЯR.J--ТЯСТОJ r!l3BHbIM серпсром одноЙ ИJПI нескольких зон, то демон будет аВТОмаТtческн увеДОМlПТЬ IЮ.l'IIIНСННЫС серверы ЭlllХ зон при изменении соответствуюших баJ панных. В OTIJCT на полученное }вепомлеН1fе ПОДЧJ-fнеl-lllые серверы связываются с r.l;IRllbIM " обно8..'1ЯЮТ свои копни 30HI-Iых данных Параметр notlr}" может }С131I;tИ':IJШ...IТЬСЯ как на l--..поб3.l1ЬНОМ уроине, "["JK и на уровне отдельных юн_ Это ПОJIЮШlет быстрее обноRПЯТЬ JOHHbIe файлы Прll инесеllИl1 изменениЙ R DNS !lС\lШI ШШlеd иыясняет. К<tЮIС компькперы Jlв.:1ЯIOТСЯ ПОДЧИllеllНЫМI1 \ ; 11'''P,I\1II 1.,1111.1. щюсf,ШI рНli3Я JC1nllClt NS лоЙ aHЫ. Прt 11.:iЛИЧIIII параметрi:l. '-' I() 1 БУlLУТ также уведомляться поIIo,lllительны' серверы. которые Н\." ЫРСПtL I рЩ>ОU;lны посредством ЫIIIIССЙ NS Подобl-tыii IIplteM IIIIOI-Щ..l НШJ:\ОДШ.I, \,;lIH И ОРI.atllllзшtll Ilмеются внутреllllие серверы. В списке а sorjQ 1:  L l I-Je нужно указывать усеченные серверы. Поскольку IIХ интересуют только Jаписи NS, они MOryr участвовать в обычном ШfК:lе обновления_ o Об усечеlllfЫХ зстw.: рассказывается IJ I\Оlfце Ilйраlрафа /6.//_ r nаво 16. Системо доменных име.... 441 
Серверы BIND 4 не понимают уведомляющнх сообшениЙ. Они реrист рируют ошибку И обновляют свою информацию только по истечении периопа обновления, yJ<аззнноrо в зонных данных (см. описание записи SOA fI параrpафе 16.1 L). УведомлеНIIЯ желательно также отключать ДЛя зоны обрат Horo преобраЗОБаНИЯ узла localho5t. recursiol1 уез I [\0;  11 [yes] allowrecurs.ion ( с.vtсоксоотве'rС'I'ВИ.Rадресо ) 1 (все УЗJtbl) Лараметр recursion укаЗЫRает на то, Я8ляется ли деИ'он паmеd рекурсивныМ сервером (см. парш'раф 16.6). Можно разрешить рекурсию для внyrреннm клиентов деМОНfI и отключить Д/IЯ внешиих запросов. Параметр allaw recursion ПОЗ80ляет точнее управлять рекурсией. В нем задается список узлов и сетей, от имени которых разрешается выполнять ре.,"урсивные "1ВПРОСЫ. useldpool yes I по; [по (ТОЛЬКО s V8J] в BINI) 8 этот пара метр "1ilставляет демои Ilап\Сd хранить иденrnфикаторы исхоляших запросов, что ПОЗВОJ1Иет избеrать их дублирован ия и неззконноrо ИСllОЛЬЗОНВН.:ия. Korila параметр включен, демон использует больше памяти, но результат Toro СТОИТ. поэтому мы рекомендуем всеrда устанааливать значение уеs. В BIND 9 параметр useldpool ИС'lез. поскольку деМОI-I Бсеrда сохраняет идентификаторы запросов. m81ntainlxfrbase уеs I по; [по {ТОЛЬКО В V8J J При помоши механизма инкрементных зонных пересылок (см. RFC199S) серверы рассЪUl3ЮТ "заплаты" к зонным базам панных при наступлении изменений, блаrодаря чему устраняется необходимость в повторной отправке Ilсей базы данных. для такой lОНЫ. как, например, "сош", это очень важно. В текушеЙ реализации BIND 8 разрешаются инкрементные пересылки для любой юны. поддержн:наюшеil ДlIнамические оБНОШ1ения; коrда параметр maintain .1xfrbase рапен yes, иедется журнал транзакuий. В BIND 9 журнальны файл ПРIfСУТСТВУет ПОСТОЯ1ПЮ. Подробне о зонных пересылках расскззывается . параrpафе 16.12. checkname9 I mазtеr J slave I response действие }; [(;J"j. текст] в BIND 8 появился модуль проверки правилъности .поменных имен. Лод правильностью подразуме-вается не ТО, сушествует узел или нет, а ТО, следует ли данное имя правилам. определеИIIЫМ 8 RFССllеЦИФИ1{аuиЯ'" штя доменных имен. Как ни странно, мноrие имена оказываются непранильныи.. Имя считается правилъным, если оно содержит только буквы. uифры и дефисы, длина каждоrо компонеtПа (включая точку) оrpаничена 64мя символами, а обшая lU1ина имени не преflышает 256 СИМБОJlDН. Правила именования и вопросы разrpаничсиия узловой и nOMeHHoi1 частеЙ имени обсуждаются до сих пор. ЛокалИЗ8UИЯ СИСТе'МЫ DNS JI поддержка спеШi:8JТИЗИРОванных КОЛИрОАОК сИ'Мволов MOryт привеt.-ТИ к тому. что все правила придется r.,'lенять. Параметр cl1eck  namf;:S можно задавать rлоба.льно и отдельно для каждоЙ зоны. Зонные спеuификаuии перекрывают rлобальную. Этот параметр может применяться к rлаБНЫМ и подчиненным серверам. а также к ответам, Бозврашаемым -в результате запроса. Сушествует три ВОЗМОЖНЫХ .пействия: . iqnore  не выполнять проверку; warn  реrистрнровать непрэиильнъrе имена. но про.пОJIжатъ обработку: fail  зареП1стрировать непраВl1льное имЯ и отказаться ero принять. 442 Чость 11. Робота 8 сетях 
Для rлавноrо сервера действием по умолчанию являеlСЯ fai19 ПОСКО;1ЬК} ошибки на rnавном сервере, скорее веето. возникают вследСТВИе. опечаТОJ:: или ВАода иеприемлемых имен. Все ЭТО системный администратор полжен устракитъ: орrанизаUИIf не следует заниматься распространением неправилъ Hьrx имен. Для подчиненноrо сервера УСТ8новха по умолчанию  warn, а для ответов На запросы  iqnore. Стандартные установки вполне прием лемы. и менять их ие нужно. trans.fer.format oneanswer I manyanswers; [си. текст] Этот парвметр влияет на то, каюtм образом записи базы данных DNS (описываются в параrpафе 16.11) передаются от rnaBHoro к ПодчиненНЫМ серверам. Раньше пересыпка осуществлялась по одной записи за раз, что было очень меШ1енно и неэффекти-вно. Атрибут manyan5""erSI позволяю ший объединJПЪ несколько записей в один пакет, появился в BIND 81: он устаноален по умолчанию в BIND Q. Задавать атрибyr manyan5wers можно только в том случае, если на всех серверах. между которыми происходит обмен зонНЫми данными, выполняется пакет BIND версии как минимум 8.1. поскольку серверы BIND 4 не понимают этот атрибут. При работе в смешанной среде rлобальные установки можно переопредел.ить nля отдельных серверов. transfersn "МСЛО; transferSO\Jt: ЧИСJlО; transferspecn:s ЧИСЛО; tran5fersource IРадрвс; serialqueries число; [10] [10 ('l'ОЛЬКО.l! V9J] (2] [зависит от CJ.1CTewwJ [4 (r.I'ОЛЬКО В V8 J ] Эти параметры отвечают за работу механизма зонных пересылок Их требуется настраивать в крупных серверах. упрааляюших очень большими зонами (в частности, зоной ..com". база данных которой в настоящее время превышает 2 rбайт) или обслуживаюших тысячи зон. ПаРdметры trar!s fersin и transfersout Оl'раничивают число входящих и исходтuИХ зонных пересылок, которые MOryт происходить одновременно. Параметр transfersperns задает предельное число входящих зоннъD.: пересылок. одновременно поступающих от одноrо УД8..пенноrо серверв. В крупных серверах может потребоваться увеличить значения trans.fersin и trans fersout, но будьте осторожны, иначе можно превысить допустимое число файловых дескриmоров штя процесса named. Парам«=тр transfersperns обычно не требуется MeHJrrb; ero мож1ю увеличить только В том случае. если все удаленные rлавные серверы rотовы обрабатывать более .пВУХ одновремен  ных зонных пересыпок Если уж чтото менять, то лучше делать это посре.пством предложения t ransfers инструкции server. Параметр transfer50urce позволяет указать IPaдpec ceтeBoro И1.rтeр фейса, испалыуемоrо пля ПР1lема входяших пересылок. Этот адрес полжен совпадать с адресом, указанным в параметре allowtransfer rлавноrо сервера. В BIND 8 Можно оrpаНИЧIПЬ число опнопременных попыток выяснить порядковый номер зоны. Этой uели служит параметр serialqueries. При Каждом подобном запросе сохраняется ннформаШ1Я о локальном состояl-ПШ. Соответственно. если одновременно поступает тысяча запросов. данное оrpзничение поможет серверу не "зах.."1ебнуться", Стандартное значение  4. ЧТО слишком ма.ло NЛЯ крymюrо сервера; можно nOBbIcrrb ero до иесколъких сотен или даже ТblСЯЧИ. В BIN D 9 этот параметр пока что иrнорируется; fI будущем он будет Iзменен показателем частоты запросов. r лова 16. Cf.1c.тeMo доменных f.1MeH 443 
При изменении любоrо из перечисленных параметр08 нужно внимательно следить за тем! Чiобы прОИЗВОДИТfШЬиость системы не УХУДШИП8СЬ. В ЭТОМ вам помоryт журнальные фаЙJlbl. files ЧИСЛО; [unlirnlted1 Параметр files задает максимальное число файлов, которые MOryт быть одновременно открыты на сервере. Значение по умолчанию, unlimted. не .попускается в некоторых операционных системах. В таком слyqае нужно посредством параметра f i les сообщить .пемону named о том, какой предел установлеи в операuионной системе. Если парвметр не указан, а в операци онной системе оrpаничивается число открытых файлов, .nемон вызывает библиотечную фyнкuию sysconro. чтобы узнать существуюший предел. и фyнкuию setrlimjt(), чтобы попьпатьсSl повысить ero. liзtеПQП port аорт списоксоот.ветст.!!ияадресов; [53. все .интерфеJ:iсыj ql.lerysource address IРадрес port порт; [случайные значения] Параметр list.enon определяет сетевые интерфейсы и порты. ПО которым демон named ожидает ПОС1Yf1ЛСНИR запросов. Параметр query sou rce задает интерфейс и порт, через которые демон паmed будет опрашивать дрyrnе серверы имен. Если ни порт, НИ IP81lpec не указаны, демон ведет себя следуюшим образом; прослушивает порт 53 по всем иmерфейсам и посылает запросы по прОИЗВОЛhному интерфейсу, используя непривилеrированный UDPnopт. выбранный случайным образом. Блаrодаря параметру list.enon можно запускать нескоЛЬКо серверов имен на опном узле. Это требуется. например, в тех случаях, коrда не нужно, чтобы сервер В 1 N D 4 ИЛИ В 1 N D 8 бът одновременно и авторитетным. и кзпrnрующим. В этих версиях пзхета ииформаuия хрзн-ится в одной rиrантской базе данных, поэтому пе1ОН named может столкнутъся с нехваткой памяти. вследствие чеrо данные окажутся поврeж:nенJ-lым.. Чтобы не попасть в такую ситуацию, запустите два отпельных процесса named: один в качестве авторитепюrо сервера, а др}той  кэшируюшеro. Во втором случае в параметре li5t.enon должен быть }'-казан др}той виР1)'альный IPaдpec. Авторитетный и кэширующий серверы MOryт вззи-модействовать так, бупто они выполняются на разных компьютерах. В файле resolv.conr необходимо указывать lP81lpec только кэшируюшеrо сервера. Если R орrанизации имеется брандмауэр, настройте должным образоr..'1 параметр querY50urce, чтобы можно было леrко распознавать внешиие DNSзапросы. Бранлмауэр полжен знать. что исходяший DNSтрафик поступает от опноrо из надежныx серверов имен. forwarders ( входнойадрес; ВХОДНОЙiJдрес; ... ); [пустой список] forward only 1 first.; [first] Вместо Toro чтобы поручать каж.nому серверу имеН выполнять свои собственные внешние запросы, МОЖНО сделать один или несколько серверов l1ерейдресующимu. В такой конфиryрau-ии обычный сервер просматривает в своем кэше записи, для которых он авторитетен. и если не находит ответ, то посылает запрос переадресуюшему узлу_ Последний создает кэш, которым пользуются все осталъные серверы. Это позволяеТ снизить нarpузку на сеть, сократить использование uентральноro процессара и памяти на более слабых серверах. повысить производительноcrь работы пОЛЪJователей и уменьшить зависимость от внешнеrо попключения к Iпtеrпеt. Мноrие орrанизаuии назначают свои наиболее мошные компьютеры переалресуюшими серверами. 444 Часть 11. Робота в сетях 
ОрrafiИЗация среднето размера может построить очень эффекnmную DNSсистему. сделав так, чтобы rpyлпа кэшируюших серверов указывала вcero на один или два переадресующих сервера. В более крупных оpraнизаuпях может потребоваться сформировать иерархию лереадресующих серверов. В рвз..еле "кафедральный сервер" параrpафа 16.10 создается двухуровневая иерархия. В параметре forwarders перечисляется СПИСОК IPaдpeC08 машии. Я1IЛЯЮШИХСЯ переадресуюшими серверами. Они опрашиваются в указанном порядке. При ИСПОЛЬЗОНВН-ИИ переадресуюшеro сервера традиuионная проце дура ПОИСКа nOMeRB (сначала опрашивается корневой сервер. затем осушест мяется прохоп ПО uепочке ОТСЫЛОК) нарушается. Поэтому нужно внимательно следить за тем, чтобы Не DОЗНЮ(ВЛО циклов переадресации. Сервер, для KOToporo установлен атрибyr farward only, опрашивает переanресующие серверы 11 кэширует их ответы, но не обрашается ни к кому дрyroму. Если переадресуюший сервер не отвечает, запрос потерпит неудачу. Сервер с атрибутом forward first преnпочитает иметь дело с переадре суюшими серверами. но при необходимости сможет обработать запрос налрямую. ПОСJ::ОЛЪКУ У параметра forwarders нет значения по умолчанию, переадресация не происходит, если она не была СJ(Qифиryрирована СОЗН8 теЛЬНо. Включать переааресаuию можно либо rлобально, либо в пределах отделъных зон. allowquery { С17ис"кс"ответс:rвияадресов .1 аllоwtrвпзfеr [ спИСОI(соо:rве:rс:rВИRадресов ]; blackhole [ список  соответствия  цресов ]; [все .Узлы] [все узлы} [пусто] Эти параметры позволяют указывать, какие узлы (или сети) MOryr обрашаться к данному серверу имен и запрашивать пересыпки зонных данных В списке blackhole перечислены серверы, которые никоrnа не удостоятся внимания со стороны демона named; он не будет принимать от них запросы и обрашаться к ним за ответом. sоrtйist { СЛИСОJ(СОО7'Ветствияадресов ]; [не должен испольэова'l'ЬсяJ Мы упоминаем этот параметр лишь затем, чтобы читатели помнили: ero не нужно использовать. Он пре,nназнача.лся WIя оказания ПОblОШИ примитив ным распознавателям, которые неправилъно сортировa;п.I наборы записей Он позволяет задать порядок, в котором возвращаются множественные отиеты, что противоречит внyrренней лоrике текущих версий П8кета BIND. Среди .пруrиx параметров, нарушаюших привычный поряпок вещей, следует упомянуть парам rrset order опрелеляюший. в какой после llователъности .полжнъr возвращаться множественные ответы: uиклической, фиксированиой или слуtrайноА. Имеется также парвметр t.opalogy, посред ством KOToporo можно пОпытаться npellyraдaТb, как будет осущеcrВЛJrrься выбор удаленных серверов. В большинстве случаев ни один из этих параметров ИСПОЛьзовать не нужно. Инструкция ocl Список упрааления доступом  это просто именованный список cooт 8СТСТВИЯ адресов: ас! ИN.Яслиска { список  соответствия  адресов 1; r nшю 16. Сиcrемо доменных имен 445 
Заданное имя можно указьmзть везде. rHe требуется список СООТJJетстния aдpCOB_ ИнетрУКlПlЯ ас! .должна стшrrь самой первом в файле nanled.conf. rюэтому не пытаЙ1"есь размешать ее среди др}'rих объявлении. Файл паmеd.сопfGнтается за один проход. поэтому списки управления HocryT1OM должны быть опреде 'IeHbl до TOI-O. как на них встретится ссылка. СушеСТ8}ет четыре препопре деленных списка: anY2 lфсаlnеts. localhost. и попе, относя-шихся соответственно ко всем }злам, всем узлам локальной сети, самому компьютеру и ни одному УЗЛУ. Сети. входящне n rpynny localnet.s., определяются адресами интерфейсов компьютера с учетом сетевых масок. ИНСТРУКЦИ server Демон named потенциально способен общаться даже с такими серверами. KOTOpЫ исполыуют не самую последнюю версию пакета BIND, а также с теJИ. что неправильно СКОНфИI")'РИРОваны_ Инструкuия server сообшает демону характеР1СТИКИ уда.;lенных узлов. server IРdдрес ( boqus уез I по; provideixfz уез 110; requestixfz уез по; support.ixfz уез по; transfers число; transf"erforI1"Lat oneanswer I manyanswers; keY5 f ключ; ключ; ... ); LnoJ (yes ('1'ОЛЬКD в V9)] [yes ('олы(.в V9)] [по ('l'ОЛЪКО В V8) 1 [2 ('олъко в V9)] [V8: ОЛИН, v9: MHOl'O] 1; ПосредсТl:ЮМ инсrРУh:шtll server можно переопределять 31laчения KOH фиryрационных параметрон, относяшихея к серверам. Просто укаЖlrrе требуемые параметры и ил 1I0ИЫ значения. Если для сервс:ра зашtН атрибу," bOgllS, пемон named не будет посылать MY JaПросы. Этот атрибут устанавливается для серверов, которые не должны опрашwваться. Предложения с суффиксами lxfr JIзменились при переходе от BIND 8 к BIND 9. В врсии 8 присутствонало предложение support:ixfr. а в версии 9 ero заменили прсд.'южен-ия providei.xf[" " ["eque5[ixfr А.три6ут S!.ipportixfr задается рапным yes, еСI1И уналенныti серneр ПОНИJl,.шет JIIIKpCMCHTHble зонныс псреСЫ'IКII_ Cepl\Cp версии 9, являюшийсп rланным сервером зовы. будет ВЫпО.'IНЯТЬ IfнкрсмеllТНЪ1С зонные пересьUlКИ. если 31РllОУТ pro'!ld'!..)o:.!:- рапен 'ies. Точно также подчиненный сероер версии 9 будет Jапрtlшиватъ ШIкрементные зонные пересылкн, если атрибут prov.1deixfr равен yes_ Атрибут rransfers 01-раНИ4lшает число одновременных входЯШИХ ЗОН ных пересылок от YHa:leHHoro сервера. Это серверный эквивалент параметра transferslll. но поскалы..)' 011 IIрименяется только к Одному сернеру. то. по сути. переопредеШlет пара метр transfer5perns. Ero имя ИJменеио ШlИ сохранения совместимости с BIND 8. ПреДJlОЖСЮ1е tr:ansfe"'format SlRЛятся ЭКВIIIШJlt'I-JТОМ ошюимеННОl'О пара.метра. Ero приходится i-IСП"-ЫЬЮШПЬ. КОI"1Ш IlpD}IСХОДИТ взаимОДействие сервсров BIND 8/9 " BIND 4. В предЛожеНll1t keys соперЖИТСJ1 IШСIIТI-1ФlIкатuр ключа. который ранее был определен Б ИНСТРУКШJlt key W1я испальзоиания 8 сиrнатурах транзаКUI1Й TSIG (о них рассказьшае-тся В пара'l'афе 16.13). К любому запросу, посылаемому 446 ЧоС!ъ 11. Робота в ceT)' 
удаленному серверу, будет нобавлена сиrнвтура. зашифрованная посредством этоrо I01Юча. Запросы, поступаюllIИе от ynaпенноro cepBepa не обязаны иметь цифровую Подпись, но если она есть, то будет проверена. Инcrpукци logging Демон named в настояшее время заслуживает ншраду "за наиболее конфиryрируемую подсистему журнальной реrистраиии на Зе",mе". СИСТeJo.lа Syslog преlJ.оставляет проrpаммистам КQитроJIЪ над приоритетами сообщений. а системным администраторам  контроль над местом хранения ЭТИХ сообшений. Но в рамках заланноrо приоритета администратор не может сказать; "Это сообшение меня интересует, а это  нет". В BIND 8 были добавлеНhl К8теroрии, позволяюшие клаССИфИllИРОвать сообщения по ТИП.1м, и каналы. расширяющие возмож.НОСтИ 8 плане хранения сообщений. Кзте roрии назначаются проrpЗЮfИСТОМ, а каналы  администратором. Поскольку вопросы журнальной реrистрации лежат несколько в стороне от нашеrо повествования (особенно если учесть объем материала), мы рассмотрим их позднее. " параrpафе 16.14. ИНСТРУКЦИ zone ИНСТРУКllИИ zone являются "сердием" файла паmed.сопf. Они сообшают демону named о зонах, шrя которых он авторитетен. и Jадают параметры управления каждой зоной. И нструкшlЯ z0ne также исполыуется пля предварительной зarрузки "подсказок"' с KopHeBoro сервера ("попсказКIf"  это имена и адреса корневых серверов, учаСТВУЮШIfХ в Щ-JИUJlд:IИJiЩIIII npouecc8 DNSпоиска). Точный формат инстрк:uии zone заВИСИТ от роли, которую немон пашсd должен иrpать в отношенwи этой зоны (например. rлзвньm или ПОНЧИНСI-JНЫИ сервер). Мы по очереди проанализируем каждую роль. Мноrие 11] paCCMOT ренных ранее rлобалъньrx параметроп MOryr быть частью инструкuш'l zone и тем самым переопрепелять rлобалъные установки. Мы не будем повторно упоминать о них, за исключеннем тех параметров. которые наиболее часто используются. Конфиryрирование rлавноro сервера зоны Ниже показан формат инструкuи:и zone для зоны, в которой пемон namcd является rлавным сервером zone "ИМЯДDиеJ-/а" I type mast.er; f1.J.e ., путь"; allowquery f списоксоотвеТСТВИR адреСО8 t; (все УЗЛЫ] allowtran5fer I списоксоотвеТСТВИRа.дресов 1; [все УЗЛЫ] allowupda!:e { СП-J-jсоксоотве7'Сj"'вияадресов}; [поле] ixfrba5e "пy'ь"; lиия.доиена.iхfr (7'ОЛЬКО в VB)] 1: Доменное имя 8 спеЦИфl1каuии зоны всеrда дается в ДВОЙНЫХ кавычках. Зонные данные хранятся на llilCKe в текстовом фаЙле. поступном ДJlя реда1о.."Тирования. Поскольку нет соrлашения о нзименоианни :поrо файла. и ооъявлении зоны должна присутствовать Пl1реКПlиа flle 30нный фаИ1 представляет собой набор заШtсеJI о DNSpecypca.x: ero формат опнсан в nараrpафе 16.11. rЛ080 16. Система доменных (.1мен 4 47 
Параметры, связанные с управлением доступом. не являются обязатСJJl. ными. Если WIя зоны поддерживаются динамические обновления, в прС'д.'-ю жении allowиpdate должен присyrствовзтъ список УЗЛОВ, от которы\ разрешено принимать данные. Динамические обновления применимы толькu в отношении rлавных зон; предложение allowupdate не может присутст вовать В объявлении подчиненной зоны (В BLN О 9). Убедитесъ, что В списке имеются лишь локальные DHCPcepBepbl.. Если зона ПОДZIерживает инкрсментные зонные пересылхи, то в BIND  .штя нее создается журнал транзaкuий  файл UAt.Rдо...wеНQ.1xtr в начальном каталоre демона named. Изменmъ имя файла можно посреIlСТВОМ диреКТJiUbI ixfrbase. Этот файл ведется демоном named и не требует вмешатеЛЬСТlIiI со стороны 8ДМИIOfстратора. В BIND 9 журнал транзакuий используется как пля динаМИЧCll:II:\ обновлений, так и WIя инкреМС:НТНЪJХ зонных пересылок. Ero имя заКaI-!I.JII вается на .Jnl и Не может быть изменеио Оба ynомянутых механизма являютс'.! относпrельно новым-и В BIND. Подробнее они описываются в параrра фе 16.12. При наличии различных зонных парамеТРО8 (а мы не обо всех рассказаЛII) конфитураuия зоны начинает казаться довольно сложной. На самом же деле вполне допускается объявление тлавноЙ зоны. состояшее из имени зонноrQ файла. В BIND 4 больше ничеrо нельзя было задать. Ниже пока.зан пример. ВЗЯТЫЙ из документации и слеrка модифицированный нами: ZQne "example. сот" ( t.ype maзt:еr; file "forward/example.com": allowquery ( злу; }: allowt.ransfer , mY51aves; 1; }, Имя mY51ave5 ОТНОСИТСЯ к списку ynравления доступом, опреде.'Iен ному ранее. КОНфlo1ryрlo1рОВQНlo1е ПОДЧlo1ненноrо сервера зоны Формат инструкции zone .штя подчиненноro сервера будет почти таким же, как и В случае rл8Вноrо сервера: zane ".иия  .домена" ( type зlаvе I stub; file "путь"; ixfrba5e "путь"; (ТОЛЬ.f('О В VB] mаstеrз ( IРiJ.дрес; IРадрес; ... ): allowquery { СПИСОl(соответствияадреСОS.i [все УЗЛЫ] аllОW1:rалsfеr ( СЛИСQ](СQответствияадреСО8 ); [все уЗЛЫ] }, Полч-иненные серверы обычно хранят полную копию зонноЙ базы данных. Но если тип сервера stub. а не slave. ему переIl8ЮТСЯ ТОЛЬКо записи NS (описания серверов имен). Усеченные зоны позволяют демонам narned родительской зоны автоматически узнавать, какие компьютеры прс доставляют сервис DNS для дочерних зон. Это делается на тот случай. еСЛII администратор дочерней зоны забудет проинформировать роmrrельскую зону Необходима также входная фильтрация ка брандмауэре. 8 еще лучше использовать Texнo лоmю TSIG ШIЯ вyrентифихаuии. 448 Чость 11 Робота в сетя:ll. 
об измеНениях. Родительской зоне нужна эта информация. чтобы правильно делать отсылки либо рекурсивные запросы. Подробнее данная тема будет освешаться в конце ларarpафз 16.11. Директива f11e задает имя фвйла. в котором сохраняется реплиuиро ванная база данных. Каж.пый раз. Kor.цa сервер ИЗRЛеRает новую КОПИЮ зонных данных, он сохраняет их в этом файле. В случае сбоя н пере.заrpyзки сервера файл можно просто заrpузитъ с дИска. а не лересылатъ по сети. Редактировать файл базы даннbIX не нужно. ТИХ как он упраа.Т'lяется демоном named. Тем не менее имеет смыл просмотреть ero. если есть подозрение. что в базу даннbIX rлавноro сервера закралась ошибка. Файл подчиненной зоны создается уже после Toro. как демон narned ПрОИН1'ерпре mровал ИСХОДНЫе зонные данные н раскрыл все относительные ИМеНа. Korдa в файле nрисутствуют имена нanодобие 128.1 J8.24J.151.cs.colorado.edu. anchor.cs.colorado.edu .cs.colorado.edu. можно быть уверенным в том. что rHeTo пропущеиа З8вершаюшая ТОЧКа. В списке masters перечислены IPaдpeca компьютеров, с которых чожно получить зонную базу даНных. Выше мы roворили о том, ЧТО лишь один компьютер может быть rлаВНblМ сервером зоны. Почему же допускается указывать более одноro адреса? По двум причинам. Вопервых. у rлавноrо компьютера может бьпь несколько сетевых интерфейсов и, соответственно. несколько IPaдpecoB. Коша один из интер фейсов становится недоС1)'ПНЫМ (проблемы с се.тью ИЛJ1 маршрутизаuией). остаются в резерве дрyrие интерфейсы. Следовательно. рекомендуется yкa зьrвать все ТОПолоrически различные адреса rлавноrо сервера. Boвтopыx. немону named n действительносПf псе равно. откуда поступают зонные данные. Он так же леn:о может извлечь базу данных с ПОДЧl1'неНноrо сервера. как и с rлавноro. Этой особенностью немона можно воспользоваться .штя Toro. чтобы сделать какойнибудь подчиненный сервер. с которым леrко }'станавливается связь, резервной коmlей rлаDноrо сервера. В любом случае IPa.npeca проверяются по очереди до тех пор, пока не будет наЙден рабо тающий сервер. Теоретически можно даже создать иерархию серверов, в которой rлавньfЙ сервер обслуживает несколько серверов 8Тороrо уровня. а те, в свою очередь. обслуживают множество сервероо тpeTьero уровня. Мы советуем указывать толъко адреса rлаnноrо сервера в директиве masters. Задание корневых "падсказок. Инстрyкuия zone типа hint сообшает демону named местоположение файла. из Koтoporo он может заrpузитъ имена и адреса корневых серверов имен. чтобы предваРltТелъно заполнить свой кэш: zone ..... i t.ype hint; file "путь"; 1; "Подсказки"  это набор DNSзаписей. в которых переч-ислены серверы KopHeвoro домена ('е...). Они нужны ДЛЯ TOrO, чтобы демон named знал. откуда наЧинать Поиск доменов. Не имея "подскаэок". демон lНал бы только о тех доменах. которые сам обслуживает. а таюке о своих ПОДПоменах Файл "подскззок" чаще вcero назьmается root.cache. В нем содержатся результаты ответов, которые можно получить. если запросить у KopHeooro r лово 16 Системо ДОМенных имен 449 
сервера список серверов имен в домене ". ". Подробнее о со.щании фаилз "подсказок" речь пойдет в парarpафе 16.15. В BIND 9 "подсказКИ" KopHeBoro сервера встроены 8 скомпилированный код пакета, поэтому конфиrypировать корневую зону не требуется. Но если все же задать файл .'подсказок", то система примет ero. Мы рекоменл,'ем предоставлять явные ..подсказки"; сеroДНЯ 8 область DNS начала вторrаться политика, поэтому корневые. серверы имен и их IPaдpeca стали больш подвержены изменениям. Задание ЗОНЫ переадресации Зона типа forward переопределяет rл06алъные параметры переадресаШП.1 демона named ми КOHKpeTHoro домена: zопе "ИМЯ.lIоиена" I type forward forward only I firBti forwarders , IРадрес; IPaдpec; ... J }; Создавать такую зону имеет смысл. если у орraнизацим есть деловой партнер и нужно направлять трафик непосредственно ero серверу имен R обход стандартноro ПУТИ распространения lапросов. Блаrодаря этому можно получить доступ к серверам имен, которые невипимы внешнему миру. Инcrрукцн key Инструкuия key задает именованный КЛЮЧ шифрования, применяеМbJiI для аyrентификаuии на конкретном сервере. Подробнее о мехаНИJмах аyreнrификаuии, используемых в пакете BIND. речь пойдет в параrpафе 16.13 Здесь же мы лишь вкратце опишем суть процесса. Для построения Ю1юча нужно указать как алrоритм шифрования, так 11 совместный секретный ключ, представленный в виде строки, закодированной по основанию 64: key идентификатор  lCЛ1O'iа algorithm C"l'poKa; secret строка; ); Как и в случае епископ управления поступом, Iшентификатор ключа должен бьпъ определен в файле named.conf до тoro, как будет произведена ссылка на КЛЮЧ. Чтобы связать КЛЮ'I с сервером, внесите идентификатор ключа в списо" keys соответствующей ИНСТРУКUИII server. Ключ исполь зуеТСЯ как мя проnерки запросов, поступаюших от сервера, так и Ш1я подписи ответов на эти запросы. Инcrрукцн trustedkeys ИНСТРУКЦИЯ rxustedkeyg ЯВЛЯется частью механизма DNSSEC, опи caHHoro в документе RFC2065. Каждая заПИСЬ состонт из пяти компонентов, идеНТИФИllИРУЮЩИХ имя домена. флаrи. протокол, алrорИТМ шифрования 11 ключ. Все ЭТО необходимо МЯ безопасноrо взаимодействия с сервером имен домена. Формат инструкции таков: tru8tedkeys I лоиен флаrи протокол алrОРИ'l'U IOlЮч; 450 ЧастЬ 11. Работа 8 сетях 
домен фл.а:r.и I1pO"l'OKOJI алrОРИТJ4 ICЛ.ЮIJ; 1; Атрибуrы флаzu, протокол и алzoритм являются неотриuaтельными uелыми слами. Атрибyr ключ  ЗТО строка, захолироВ3НН8.Я ПО основанию 64. Инструкция trustedkeys полезна в тех случаях. Korдa сама зона имеет llИфРОВУЮ подпись, а ее родительская зона  Нет. поэтому нельзя бьпъ уверенным в том. что открытьrn ключ, получае...fЪrA от DNScepвepa, действительно надежен. Подробнее о технолоrии DNSSEC рассказывается 8 nараrpафе 16.13. ИНСТРУКЦН controls Инстрyкuия controls определяет. каким образом npOI1JaMMa ndc будет }llравлять работой демона named. Эта проrpамма может запускать н OCTaHaB ливать демон. выводить отчет о ero состоянии, переводить демон в режим отлв.т...н и т.д. Буду'-Ш сетевой проrpаммой, ndc требует должной конфиrypа иии. чтобы '1J10умышленники не МОf.'1И через Inlemet в..'lиять на работу сервера имен. Формат ИНСТРУКUI111 таков: controls { inet IPaдpec por(; номер allow I сп.иСОI<соответс'rвияа.дресов КJIЮЧ . ,.1; unix реЖИJ4.достула sла.делец rpyппa; {ОБQО О О] 1; Было бы рискованно в открытую указать IPaдpec и порт сервера имен. Лучше вообще опустить строку inet и обрашаться к серверу только через UNIXcoKeT (параметры ЗiШзются в строке unix). Друrой вариант  упраБ лять доступом посредством ключа аутентификации Те, I<.."ТО любит pICK. MOryт попробован. оставить строку llne. 1-10 настроить СIIИСОК allow так, 'Iтобы ДОП}'СК3..JIИСЬ только подключеНIfЯ по адресу 127.0.0.1. а внешние алреса блокировались бранлмауэром Но.ло подразумевает выдачу нсем локальным пользоиателям кредита поверия: предполаrается. что они не будут пелать ничеrо противorlраиноrо с сервером имен. Хотя любой И3 них может подключиться с помошью nporp8MMbI telnet к упраВ.'Iяюшему порту и ввести команду "SLOp". Поэтому по умолчанию строку inet удаляют. Проrpамма ndc может взаимопействовать с демоном 113П1еd через HMeHO ванный UNIXcOKeT /vаr/пш/пdс в строке Unlx задаются режим доступа к ЭТОМ}! сокету и ero ElJlадельцы. ApryмCHT ре.ЖU.'fdоступа ПО;lжеJl быть вос..:ьмеричным числом. определяюшим значение шпоsk. Apryмel-lTЫ В.Jоое.1ец и Py"пa ПО':IЖНЫ СОдержать идентификаторы соотнетстпсшlO пользователя и rpyrmbl. которым принадлежит СОКСТ. ПО умолчанию СОКСТ доступен только пользователю root. который имеет право чтения и записи. ИНСТРУКЦИ view Представления  это новый 'Элемеm BI N D 1), пnзволяюший показывать внутренним компьютерам r-акой образ иерархии имен DNS. который отличаеТСЯ от образа, доступноrо внешнему MJIPY. Например, внутренние пользователи MOryr видеть все компьютеры зоны и лишь несколько разре шенных внешних серверов. ИЛИ пруrой вариант: внутреннее и внешне преДСТ30JlСIЛlЯ одинаковы по охиат)' узло". однако для внутренних пользова телеи препостаМИЮТСR пополнительные (либо ОТЛl1чаюшиеся) J;аписи r л(]во 16. Система доменных имен 451 
Подобная КОНфl1ryраuия приобретает 8 последнее время все БО:JЬШУЮ популярность. Ранъше, чтобы ее реаЛlПОвать, требовалось запускать разные серверы для внутренней и 8нешнеQ версий. Локальные клиенты обрашались к внутреннему серверу. занимавшемуся рассылкой внутренней версии зоннои базы данных, а записи NS родительской ЗОНЫ отправляJrnСЬ на серверы. хранивши.е внешнюю ее версию. Инстрyкuия vl.eW, появившаяся в BIND 9, упрощает эту конфиryрацию, позволяя хранить оба набора данных в пределах о.цной копии демона narned. На основании списка соответствия адресов дeMO1 выясняет. какие данн.ые нужны тому или ИНОМУ клиенту. ИнстрУКllИЯ V1ew со.цержит список адресов. определяюший. кто имеет доступ к ЭТОМУ представлению. плюс ря.л параметров. применимъrх t<:a всем зонам в представлении, и, наконеи, опредепсния самих зш! Синтаt<:СllС инструкции таков: view иин представления I matchclients { спИСDксоотвеТСТВИ.JliJ..дресов }; пapaue"l'p  пре.дстаsления; мнструlCЦИЯ zoпe; '" 1; Представления просматриваются па порJШКУ, ПОЭТОМУ представления с саМЫМИ большими оrpаничениями доступа ДОЛЖI{Ь1 идти впереди. Зоны R разных представлениях MOryт иметь Одинаковые имена. IlредстаВJlеlilfЯ на.паrают следую шее оrpаниченне Hd СТРУКТУРУ файла named.cunr: ес.'}и они прису"Тствуют. в It)\ состав По..1Жl-IЫ входить все инструкшПl zone. Ниже прнводится взятый 1-13 покумеЮ1Ш!Н-1 '" BID 1) IIp,"p,,lep. ItМIПII руюший разделение ПРОСТР('1нства DNSимен на BHyтpCHllee и внешнее. В обоm< представлениях задаются одинаковые зоны. но с разными базами данных: view "internal" ( matchclienr..s I наши се'I'И; ); 11 ТОЛЬКО внутренние сеТИ rесurвiоп уез; 11 'z'олько для вну'!'ренних клиеt1ТCJiI zопе "exaтple. соrn" ( 11 полное :::одержиwое зоны type mast:er; file "exampleinternal.d.b"; 1; 1; view "external" I matchcll.ent.s { апу ); recursion ПО; "example. сот" { type master; file "exampleexternal.db"; 11 '.!.OJlbKO внутренние сети 11 рекурсия отсутствует 11 только "общедос'!'упные" узлы 1; 1; Если поменять порядок представлении, HIIJ...IO не сможет получить ДОСТУll к внутреннему предста81lСНI1Ю. Адреса ВН}'ТрСННIIХ УЗ. Т 1Ов пройдут проверку на соответствие УС:1Овию arlY в пред,,1lОжетНI mc;:tcn.:-ll.ent.s внешнсrо пред. ставлен ия до Toro, каК начнет проверЯТЬСJl внутреннее преПСТdБ.чение. 16.1 о. Примеры конфиryрации пакето BIND После Heтa.'1bHOrO знаКомства с файлом named.conf настало время pac смотреть ряд rOToBblX примеров. В следуюшltх разделах fbI опише!l.l три типичные конфиryраllИИ: домашний компьютер студента. работающеrо в Lin1.1x; 452 Часть 11. Робото В сетю( 
. кафеДра1rьный сервер, в котором применяется трехуровневая иерархия переадреС311ИИ; сервер компании, lзнпмзюшейся WеЬхостинrом и обcлyжJmающей окало 2000 зон. Домашний Liпuхкомпьютер Робби Браун, студент, имеет дома Liпuхсистему, предост.аВ:НIЮШУЮ услути DNS дЛЯ ero .помена ynack.net, а также ДЛJI доменов несКОЛЬК1fХ ero друзей В системе выполняется пакет BI:'-JD 8..:!.2P5. Содержимое фаила Ilamed.conr Ilредставлено ниже. МЫ добавили к нему ря.n комментариев. Конфиryраl1ИЯ системы студента довольно проста. Параметры 8 основном имеют стандартные значения: сервер fШJlяется ре"'-урсивным, файлы находятся в прнвычных каталоra.'\, заПИСlt базы данных реJU1ИUИРУЮТСЯ по ОДНОЙ за раз, взаимодеиствие происходит че-рез порт 53 и т.д. Изменения наблюдаются лишь в настройках отдельных зон, Например, зона synack.net допускает пересылкн тОЛЬКо к одному узлу и не разрешает динаМJ1ческие обновления. Описываемый сервер нмен является rлавным д.Т'lЯ нвух .nоменов: sYni\ck.net И xll1e(d.org. Он также выступает в качестве ПОllчиненноrо сервера для домеНоВ [eich.net и rmlзi.соПl. при-на.llпежаших двум друзьям Робби Р3зде:I фаЙла Ilamed.conf, 1l0свяшенныЙ' журнальной реrl1страuии, является неСТ3lшартным. что неудивительно. так как Робби все же студент факультета вычислительной техники. Включен режим отладки на уровне 3 и созданы ориr-инальные каналы (за основу взят образеu файла конфиryраUИlI. ВХОДЯЩИЙ в коМпле....'Т поставки BIND). '''' Фай.л named.conf, gw.sYrlack.ne.: "'/ орr:iолs I dicect.ory "/var/named"; pJ.d fJ.le "/var/named/named.pid" i ); zone "synac::k.net" ( r.ype master; file "synack. [ос""'; allowtransfer ( 198.11.19.15; ); 1; z-one "x:.netd.org" type rтJёt.s!.:.er; f.lle "xifled. focw"; allowtral1sfer ( 198.11.19.15; }; 1; Lone "1.168.192 .inaddr .arpa" type master; file "пап:еd.rеv"; // обра'l'НblЙ поиск, для чёt.С"1'kЫХ адресов ); zone ..." ( t.ype hint; fi1e "cache .d.b"; ); zone "te1ch.net" I r пава 16. Система доменны( имен 453 
type :s!aVei fi1e ..te1.Ch.net.SeC"i masters { 216.103.220.218; ti 1; zone "rmtai .сот" I type s!avei fi1e "rmtai.com.sec"; mast.ers { 216.103.220.218; .; 1; 11 ОпределяlO'l'СЯ три каНil.Лi!l реl'ис'rр.ации соl5ыТий (важные сообщения /1 систеwы Sys1oq, отладо...ные соощения умеренной с'rепеыи 11 детализации, сообщения о заrрузt<:е зонной азы данных), а за'l'еи 11 за ниыи эаlCрепляlOТСЯ wатеrории. 10ggi"9 { channel sysloqerror5 sy:s1og 10ca11; sever1t.y error; 1; сhаплеl moderate debtlq severity debug 3; fi1e .. еоо"; рriлt.time уез; pr1.ntcategory уез; print:severity yes; J; channel по 1"fo тезза9ез sysl09  loca12; severity not.ice: 11 отладка уровня 3 11 запись в файл foo 11 еывод ue'l'ox времени 11 вывод названия ка'1'еl'ОрИИ 11 вывод уровня серьезности }; cat.eqory par:ser I sys1ogerrors; defau1t.  sys10gi J; cat.egory 1ame:servers ( nu11; ); /1 сообшения данной катеrории 11 I-Ie реI'v.с"l.'рИРУIO'I'СЯ category load I по info me:ssages; J i cateqory defau1t {  defau1t sy:slog; moderatedebuq; 1, }; 11 конец ИНС'l'рукции 10g91.ng В этоЙ конфиrypаuии отсутствует зона обратноrо преобразования дпя узла localhost. Соответствующая привязкз должна быть сделана в файле /etcfhosls. Кафедральный сервер На факультете вычислительной техники университета ипата Колорадо применяlOТСЯ кэшируюшие серверы 8 каждой подсети . При отсутствии нужных данных в кэше запрос переадресуется на один из подчиненных серверов. После,nние, в свою очередь, контактируют с rлзвным сервером, который связывается с внешними серверами от их имени. На каждом переапресуюшем сервере установлен параметр forward f1.cst. Ниже при вeдeHы все три конфиryраuионных файла: .штя кэшируюших серверов, 454 Чость 11. Робота в сетях 
ПОДl..jинеН1-IЫХ серверов 1 rШl.Вноrо сервера. На всех серверах выполняется пакет БIND 8. Кэшируюший сервер удобен для подсетИ, rHe нужен локальный се.рвер. но нет необходимости управлЯ1Ъ зонной базой данныХ. Все, что требуется, это создать файл named.conr и файл "ПОПСКaJОК". а также орrанизовать запуск демона named на этапе начальной заrpузки. В конфиryраuионном файле ие создаются локальные зоны только зона корневых "подсказок" и зона обратноrо преобразованJ.fЯ мя узла loc.alhost. // Файл конфих'урации BIND 8. 2 кзширу.I:!ЩИЙ сервер / / rлобальные napawe'rpbl opt.10nS { directory "/var/nameo"; named xfe(" "/usr/locill/sbin/named J(fer"; 11 ТОЛЬКО 8 BIKD 8 11 создаем большой КЭШ БЛilI'одаря. ['лав"'ОUY и 110.пчиненнb!U c pBepa).l forwarders { 128.138.243.151; 1/ узел тсое 128.138.243.140; 11 узел anchor 128.138.243.131; // узел moet 128.138.243.138; 11 узел vulture 128.138.236.20; /1 узел piper ); forward first; querY 50urce address * poc 53; 1; / / Сообщения систеыы Syslog ре!'Ис'l'рИрУЮ''!''СЯ от имени средства loca13; 11 сообшения о неrlравильно Hac'!'poeHНblX серверах не реl.'ИС"'!"рИрУЮТСЯ logginq I сhалпеl sysloq info sуз10g loca13; severity info; }; cat.egory lame 5ervers { null; }; category defau1t I syslog info; ); 1; /1 Кэш корневых серверов хопе ..... i суре h nt; file "named. cache"; 1; 1 / rлавныЙ сервер зоны обрат..,оrо поиска ДJIЯ узла localhost zоле "0.().127.iл аddr.аrра" type mast.er; file "localhost"; лоt.ifу по; }; В конфиryрашюнном файле подчиненных серверов определяется 30НС!. прямоrо преобразования cs.colorado.edll l' rpуппа зон обратноrо преобразова- ния. из которых мы показали только две. В данном примере маски зон обратноro преобра:ювания не проходят по rpанице байтов (суффикс адреса в основном равен /26), но поскольку Бсе четыре подсети на'\:ошПСЯ под единым административным контролем и описаны в одиом файле, спеuиальное применение заmlСИ CNAME (описана в следующем параrpафе) не треб}ется r лово 16. Системо доменных имен 455
/ / ФаЙЛ конфиrурации BIND 8. 2  подчиненный сервер options ( directory "/var/na.med"; namedxfer "/U5r/lосаl/ЗЬ:iп/паmеdхfеr"; 11 ';rолько в BIND 8 forwarders ( 128.1З8.2З.151; ); 11 1'лавныf. сериер forward flrst; querY90urce аddrезs * port 53; a11owt.ransfer ( попе; ;; 1; 11 Параыетры реl'истрации.. описания :!IOНЫ t(opl-lеНblХ "по.дсказок" и зоны 11 обратноrо Ilреобразования для узла localhost 'l'аrще же. i<:aK и 11 в случае 1<эширУlOщеrо сервера, поз'rоыу они 'Эдесь ие DоказанЫ. 11 ПОДЧИl-lенные зоны zone "cs. colorado.edu" { type slave; file .. forward/cs. colorado .edu"; mas1:ers j 128.1З8.2.qЗ.151; 1; 1; zone "250.1З8.128.iпаddr.drра" { t.ype slave; file "reverse/250. 138 .128"; mast.ers 1. 128.1за.2З.151; }; ); zone "245.1З8.128.iлаddr.drра" ( type slave; file "reverse/25 .138 .128"; mаstеrз { 128.138.243.151; ; 1; 11 ... описания t.4ножествС!. зон обра'l'ноr.о (реобразования опущены СледуюшиЙ' конфиrураI.ЛIOI"I-IЫ файл ПРl-IНад.:'Jежит сервер"', которыЙ является для домена cs.colorado.edu rлавным It переадреС}'IOШIIМ OДH08pe:мel-\ но, Т.е. через I-\ero проходят нсе локальные J31IpOCbI. Это позволяет построить большой кэш, но в то же время представляет собой нарушение праnlfла. rласящеrо, что нельзя смешltвать dBTOpltteTl-\bIе и кэшнруюшие серперы. В данном файле посредством параметра topology задается ПрЮрJ.lтет локальных серверов. Некоторые ССрliСрЫ не указаны в списке делеrИРОLlаШОI РОДlfтельо:оrо домена. 01-111 оповсшаются об ИJменениях блаroдаря наличию параметра alsonot.j.fy_ РодltТельскиЙ сервер \:рЗНlIТ (.:ВОIO базу данных DNS 8 нескольких фаi-L"Ш\:. Зоны обрапюrо преобраЗОВ<iНIIЯ орrашповзны по HOlepaM подсетеЙ. У KJ ждоii пош:еn1 (8 tшшем случае  три о",тета n адресе класса В) имееТО1 CIIO(1 собственный фаил. Подобl-l1Я орrЗНI1l31l1fЯ не flR.lf1СТСЯ оБJllПСilЫIOИ. 110 Ollil позноляет щерживать размеры фю':'еЮ8 11 ра IМl-IbJ\: предела...: 11 упрощает и\ оБНО8.:'lение. В то же время она Ilредполаrает, что маски подссте проходят по rpаниl..lС байтов или же, если подсеПJ подверrаются Д8льнеишему де.'СIII-IЮ. каждыЙ новыи КОМПонеНТ остается под наШИ\-1 ад!>.'lин-истраТIfВНЫМ контролем. Если для всех юн обратноrо преобразовзния ПРlмеllяется один и тот же файл. то записи МОЖIЮ орraнизовать по адре(.:зм сетеи. а в нача:Iе каждоЙ секции ставить з.ирсктиву .$ORIGIN. чтобы 3311080 идеIПIIФИШIJIOИЭТ1. Cr&1H даРТI:IЫИ домен. f)одробllее об лом раССК3.Jывается IIрИ Оllисатш 3аIШСII DNAME В СJlедуюшем nраrpафе. 456 Чость 11 Робото в сетях 
. Файл конфиrураuии BIND е.х  r'JlавнblЙ сервер доыена cs.colorado.edu . $!d: named.conf, v 1.28 2000/01/12 00:20:34 root Ехр S acl CUnets { 128.138/16: 198.11.16/24: 204.228.69/24: 127.0.0.1; 1: . rлобвльны:е параа.1е'rры opions ( dl.rectory "/var/named"; namedxfer "/usr/1oca1/sbin/namedxfer"; t ТОЛЬКО в BIND 8 not.1.fy yes; alsonotify [ 128.138.192.2050; 5uod 128.138.244.9; r.:..ker 128.138.243.70; squl.d 128.138.241.12; 900ber 128.138.244.100; avserver 128.138.202.19; nасзо ); querysource address * por'C 53; t.opoloqy ( localhost.; lосаlлеts; СUлеts; 1; ): jj параwе'.!.'ры реl'ис'!'раШ1.И. описания эоны корневых "ЛОДСl<аэох" и зоны t обра'rНОL'О преобраэованин для узла localhost. 'l.'акие же, KaJl: и прежде, . пОЭ'l'ому они здесь не Ci.оt<:i!заны. . Фаt<:УЛЬ'l'ет вычислительноЙ техники zone "cs.colorado.edu" { r.ypema!lt.er; file .. forward/CS. co10radO.edu"; ); . Записи для зоны обра'хно.l"О r.реобразоеания (128.138.Х. Х) zone "250.138.128. inaddr .arpa" i t.ype mas"C.er; fl.le "reverse/250 .138 .128"; ); zone "245.1зв.128.!.паddr.аrра" t.ype mast..er; fi1e "reverse/245. 1зв .128"; 1; . ., описаНиЯ Nножес'хвв зон обра'l'НОI'О лреобразоваi"IИЯ опущены . Подчиненные зоны zоле "colorado. edu" ( . домен верхнет'о уровня type slave; file "secondary/colorado.edu"; allowt.ransfer { попе; 1; masters ( 128.138.2.410.1: ); 1: zone "орелЬsd.оr9" .. прое1<:';> OpenBSD type slave; fl.le "secondary/openbsd.org"; masters { 199.45.131.58; }; }; zоле "23З .1лаddr . arpa" { " экспериментальный дoeH rРУllлоаых адресов 457 r пова 16. Система доменных имеt-l 
type .slave; fl.le "sесопdаrу/23З .lnaddr .arpa"; ma.ster.s ( 128.223.32. ]5; 1; 1; . описания мноrих зои опущены Сервер компании, занимающейся WеЬхастинrом Наш следуюший пример  компания. ззнимаюшаяся WеЬдизаином и WеЬхостинrом. Она предостRЛЯет своим клиентам сервис DNS. rлавному серверу приходится обслуживать почти 2000 З0Н, причем шrя половины ИЗ них он я-uпяется rлзвным, а для ПОЛОВИНЫ  подчиненным. Большинство зонных файлов не очень вслики (обычно lOзо Кбайт. самый большой  160 КбаАт), но ИХ СЛИШКОм MHoro. Сервер  это компьютер SPARC 20, работающий под улравлением SuлОS 4.1.3 И BIND 8.2.2P5. У Hero пва сетевых интерфейса и 512 МбаЙ1' оперативной памяти. Ниже приведены лишь неболъшие фраrменты конфиryраuионноrо файла. ОБЪЯRЛения подчиненных зан не пок3.ззны; анн ана.поrичны объtoIВJтеНЮIМ rланных зон, за исключен-ием ТИШ!. зоны J1 ,дИре......,.иu master. укюываюшнх, rHe брать зонные данныс. Зона корневых "rlодсказок" н зона обратноro преобразовзния шrя узла localllOst также улС!лены из ЛНСТИНIЗ; OI-lИ TClKlle же. как и в предыдущих ПРllмерах. Изза наличия болъшоrо числа зон. информаllИЯ о мноrих из которых заrpужается с внешних серверов, журнальные файлы полны сообщении "zone expired"' (зонная база данных устарела) и "1101 ашh()ПIЗli".е for zOlle" (не авторитетен ШlЯ зоны). Просто мноrие орrанизации не успевают 80премя обновлять свои базы данных DNS. // rлавный сервер КОUr:!ании XOR opt.ions ( directory "/var/dornain"; qUerysource a.ddress 192.225,3].1 port. 53; alsonotify 192.108.21.2; 1; 1/ Внутренние зоны пряыоrо преобразования КОDdпании XOR zone "хое .сот" 1 type master; file "xor.com"; ); zone "creative.xor.com" еуре m.aster; file "creative.xor.com"; ); /1 ... друrие вну'!'ренние зоны 11 Зоны обратноrо преобразования ХО" zone "21.10e.192.inaddr.arpa" type master; file "xor. rev"; 1; zone "2.16e.192.inaddr.arpa" type master; 458 Часть 11 Робота в сет'!): 
file "back1an2. rev"; 1; 1/ .., друr>ие зоны обра'I'liоrо преобраэован.ия не похазаны // Клиентские зоны nряwоI'О преОбразоsания //d  d 1/ ОбщеС'l'зенная БОЛЬНIO!а I'орода Боулдер setup :01/21/2000 / /dd zone "'boulderhospital.com" I type masr.er; file "boulderhosp1. ta.l. com"; 1; zone "Ьоuldеrhоsрltа.l.оrч" { type master; file "boulderho5pi tal . com"; 1; 1/ Описания rJриw.ерно 1750 Dокаэаны. 16.11. База ДОННЫХ DNS База данных DNS штя кзждоrо домена представляет собои набор текстовых файлов, которые системный Шlминистратор ведет на rла8НОМ сервере имен зтоrо домена. Часто ИХ называют зонными файлами. В них содержатся элементы двух типов: директивы синтаксическоf'O анализатора (напрпмер. $ORIGIN и $TTL) и записи о ресурсах. Первые не являются частью базы данных. а предназначены мя упрошения впола записей. В ЭТОМ разделе МЬ! сначала познакомимся с форматами заnисеe:l о ресурсах, которые рeI11аментнруlOТСЯ документами RFC882, 1035, 1183, 2065. 2181, 2308 и 2535 Записи а ресурсах С каждой зоной 8 иерархии D N S связан набор записей о ресурсах (он может быть пустым). Вот базовый формат заПИСJ!: [иияJ [ttl] [класс] тип данные Поля разделяются знаками табуляuии или пробелами и MOIyr содержать спеuиальные символы (табл, 16.8). Тоблицо 16.8. Специальные символы, используемые в зописях о ресурсох Нозноqвние Начало tюмментарня ИМЯ текущеro домеНа ПО3ВOJl.Яет данным занимать HCCKO.'lbKO строк МеТ8символ l (только в поле ILЧЯ) t ДОПО.1lНИ'l'eЛЪНО об ЭТОМ мcrасимвале будcr рассказЫJt8'IЪCЯ лри DrnIсании записеR МХ. Символ @ () Поле имя обозначает объект (обычно узел или домен). к которому относится даl-rnая запись. Если несколько последовательно расположенны"i записей ссылаются на один и тот же объе.....,.. то после первой записи поле 459 r лова 16. Системо доменных имен 
U.iЯ можно оnyстить. Данное поле должно начинатьсЯ в первой KO10HJ<:e. еСШJ она присутствует. Имя может быть либо относительным, либо а6солютньrм. И"\.lена BToporo типа заканчиваются точкой и яВJтяются полностью определенными. На BнyrpeHHeM уровне проrpзммное обеспечение работает с абсолютными именами, добавляя имя текущеrо домена и точку ко всем именам. которые ие заканчиваются точкой. Это позволяет укорачивать имена, но часто сопряжено с ошибками. Например. в домене cs.colorado.edu имя anchor будет проинтерПретиро вано как ..anchor.cs.col0rado.edu.... Если же ввести имя anchor.cs.colorado.edu. то отсутствие точки в коние таюке бvдет подразумевать относительное имя. к которому следуС1 добавить стандартный домен, что в HTore даст имя ..anchor.cs.colorado.edu.cs.colorado.edu.... Такие ошибки встреЧАЮТСЯ очень часто и MOIyr оставаться необнаруженными довольно долто. В поле ttl (Time То Live  время жизни) задается врем" (в секунл8.,'Х), в течение KOTOpOro элемент данных может оставаться в кэше и при этом считаться достоверным. Это поле часто опускают. но оно обязательно присyrствует в файле, содержашем корневые "подсказки". Стандартное значение поля зanае1'СЯ директивой STTL. размешаемой в начапе зонноrа файла. В BIND 9 эта директива обязательна. В BIND 8, ест! она отсутствует, поле Itl определяется отдельно для каждой зоны на основании значения. задаваемоrо в записи SOA. Если время жизни записей ЗШlзтъ равным примерно неде.ле, зто приведет к значительному снижению ceтeBoro трафика и наrpузк-и на DNS Однако следует помнИТЬ о том, что. KorAa запись сохранена в кэше за пределам'" локальиой сети, ее уже НеЛЬЗЯ принудительно сделать недостонерной. Поэтому. планируя провести реСТРУ1о..'ТУРизацию сети, сделайте значение $TTL достаточно низким-, чтобы записи, Н8.ходяшиеся во внешНИХ кэш8.х, быстро устаревали В поле К1асс задается тип сети. Распознаются три значения: lN (lnternet). СН (Chaos) и HS (Hesiod). Класс Chaos обозна'Jaет CllЗosNеt  по'rrи исчезн}''Вший сетевой протокол. ранее пр1tменявшийся на Lisрмашинах фирмы Symbolics. Hesiod  это информаиионная служба. ЯВJтяюшаяся нШl стройкой П81\ета BIND. Класс IN установлен по умолчшшю. но даже несмотря на это, он. как правило, явно указывается R зонных файлах. В настояmее время ffilШЪ один элемент данных скрыт 8 предел8.,-"; класса Сhзos: номер версии демона oan1ed. который можно узнать с помошью протраммы dig (СМ. паРaI1'аф 16.6). Сушествуют рaзmfЧные типы DNSзаписей. но широко используются менее десяти из них. В стандарте IPy6 добавилось еше несколько типов. Мы разбиваем заПИСИ о ресурсах на четыре rpуппы: зонные записи  определяют домены и их серверы имен; базовые записи  связывают имена с an.реса..ш и обеспечивают маршру Тlпаuню почты: аyrентификаuионные записи  предоставляют информаuию. Кrlсаюшуюся аутеНТИФИ1<аuии и сиrnатур; . факультативные записи  содержат дополнительную информаuию о компьютерах и домена'\(. Содержимое поля данные зависит от типа записи (табл. J 6.9). 460 Чость 11 Работа в сетях 
Таблица 16.9. Типы заПL<lсей DNS Тип Зонные SOA NS А АААА А6 Базовые PТR DNAМE мх КЕУ Аутент><фи- NXT кационные SlG CNAМE LOC Фокульта тивные RP SRV ТХТ Содер:жимое/нозначенив Опред.еление DNSзоны Определение серверов зоны, ДeJJ.еrирова.иие полномочиЙ поддоменам Преобра.зование имени в адрес Устарела м не ДOJDКН3 использоватъся Преобразованис имени в адрес (Рvб (только в BIND 9) Преобразовэние адреса в имя Передача ПОЛКОМОЧ11.Й при обратном npeобр3.30и&нИИ :aд реСОВ IРvб (только в BI.ND 9) Маршрyrизauия электронной почты OrxpытыА к!uoч шифрования для DNSимени Указание на сле.дуюwую запись зонноЙ базы данных при обработке mpИШТCJ1bКЫХ ответов в протоколе DNSSEC Сиrнз1УРВ зоны ДОl10JDDпсльные имена узла r еоrpафнческое местоположеIOlе и физический размер DNS--объе.кта l Контактная информw..uLA ШlЯ СПЯЗМ С BJ1MI1IOlcтpaтopoM узла Местоположение ИЗUCСТНЫХ сервисов в пределах .домена Комментариt1 или неСТ8Ндартная информация I Сушествуют проблемы с поддержкой записи lOC 8 NТ (запрос к записи LOC прJ.ШО.IIИТ Х краху сер1lсра Nn. СушествyIOт и друrnе типы записеи, которые либо устарели, либо являются экспериментальными. либо не Н8ШЛН широкоrо ПРllменения. Полный их список приведен Б документаuии к пакету BIND. Порядок записей о ресурс8..Х почти произволен. Запись SOA ш!я зоны должна идти перпой. Последуюшие записи MOryr располаrаться в любом порядке. но обычно сразу же за записью SOA следуют записи NS. Записи по кaж.nому y.3..'IY, как праВИ.10, rpуппируются. Самый расnpoстраненный метод сорти рОБКИ "Этих записей  по полю имя. Подробно описывая все типы записей о ресурсах. мы рассмотрим Б качестве при мера записи из базы данных домена cS.colorado.edu. Поскольку ,домен по умолчаНlfЮ  cs.colorado.edu. то имя машины anchor в действи тельности означает апсhоr.сs.соlоrаdо.еdu. Запись SOA Запись SOA отмечает нзtJало ЗОНЫ  rруппы Jаписей о ресурсах, распо ложенных в одной области пространства имен DNS. Этот узел дерева DNS также называют точкой делеrирования. Как будет показано ниже. ,домен DNS обычно соответствует минимум lIВyм зонам; одна служит ш[я npeобразования имен компьютеров в 'Paдpeca. а осталЫfые  для обратноrо преобразования. Для каждой зоны создается Bcero одна запись SOA. Зона продолжается до тех пор. пока не встретится следующая такая запись. Запись SOA содержит имя ЗОНЫ. контактный anрес, порядковый номер и различные пара метры оБНОR.;lения данных. Например: Начало зоны для ДOЬoleHa cs. colorado. edu Ir\ 501\ ns.cs.colorado.eau. admin.cs.colorado.edu. r пово 16. Системо доменных имен 461 
1999121501 21600 1ВОО 1209600 7200 J Порядковый Howep Период обновления, 6 часов ИI1'l'ерsа.л NeЖДУ попытками, 30 мин.у'1' Лер'юд УС'l'аревания. 2 недели Миниw.aльное время жизни, 2 часа Поле имя содержит символ @. обоЗН8чаюший ИМЯ текушей зоны. В данном примере можно было вместо этоrо символа использовать cs.colo rado.cdu. Текущее имя задается 8 инструкuии zone фаЙла named.conr и может быть изменено в зонном файле посредством директивы $ORIGIN (СМ. опи calme записи DNAME) В показанном фраrменте поле "'ОТСУТСТlJует. Класс зоны  IN {lл(еrпсо. тип записи  SOA, а остальные элементы составляют поле данные. Имя "ns.cs.colorado.edu.» ссылается на rлавньfЙ сервер имен этой зоны. Имя "admin.cs.colorado.edu." указывает адрес электронной почты для KOHTaK ТОВ с администратором помена. Адрес дан в формате "пользователь. узел. .. (а не nользователь@узел). Еслн необходимо отправить сообшение админист- ратору, просто '1амените первую точху знаком @ и уберите К80СТОВую точку. Вместо peanbHoro реrnстрационноrо имени часто используется псевдоним, например admin или hostmaster. Крyrлые скобки позволяют растЯliyrь запись SOA на несколько строк Их размешение не произволъно в BIND 4 и 8: мы попробовали укоротить первую строку, разделив ее перед контактным адресом, но демон паmеd не смот распознать такую запись. В некоторых реализациях крyrлые скобки распознаются только в записях SOA и тхт. В BIND 9 улучшенный модуль синтаксическоrо анализа, поэтому крyrлые скобки мотут IIспользоваться веЗде. Первый числовой пара метр  это порядковый номер конфиrypаuионных данных зоны. С ero помощью ПОП'fиненные серверы определяют, коrЛd следует брать новые ,данные. Порядковым номером может быть любое 32разрядное целое число, причем оно должно 'Величиваться при каждом изменении ]OHHOrO файла. Во МIЮrnх орrанизациях u этот номер зашифро- вывается дата лоследней модификаuни файла. Например. 2000123101 озна чает. ЧТО первое изменение в зонном файле было сделано 31ro ,декабря 2000 r. Порядковые номера не обязаны быть непрерывными. но должны MOHO ТОННО возрастать. Если случайно задать на rлавном сервере очень большое ч-исло и оно будет передано ПОДЧИНеННЫМ cepBt:paM. то исправить порядковым номер на rлавном сервере не удастся. Подчиненные серверы ВПРliшивают Iювые данные только в том сл)чае. коrда порядковый номер записи SOA rлавноrо сервера больше, чем у НJ1X. Сушествует три способа решеlП1Я этои проблемы. В ШND 4.9 и ВlND 8 есть прием, который позволяет сбросить порялковыЙ номер 8 нуль на один интервал обновления. а затем заново начать нумер,аuию. Нулt:rюй номер Bcerдa вызывает обновление, поэтому не забудьте присвоить ему НОРМ3..,'1ыюе значение после Toro, как все ПОД'lиненные серверы заrpузят зонные даШIЫС. Более yrомительный способ  изменить порядковый номер на rлавном сервере, уничтожить процессы named на подчиненных серверах, удалить их резервные базы данных, а затем перезапустИiЬ их. При отсутствии кзша ПОДчиненные серверы вы:ну...кдсны будут повторно заrpузить базы данных с rлзвноrо сервера. Третий способ  воспользоваться особенностями последа- вательноrо пространства, из KOToporo выбираются ПОРЯlIковые номера С)ТЬ заключается в rOM. что к имеюшемуся номеру добав.rтяется "'маrичсское" число, все подчиненные серверы обllOВЛЯЮТ свои данньте. после чеrо 462 Часть 11. Робото в сетя)', 
устанавливается требуемый номер. Подробнее об этом рассказывается в документе R FC 1982. Наиболее распространенная ошибка состоит в том, что пользователь из меняет файлы даННЫХ. забывая при этом исправить порядковый номер. В наказание демон паmеd откажется расnpoстранить внесенные изменения на подчиненные серверы. Следующие четыре элемента записи SOA  значения инreрвалов времени (в секундах), определяюших. как полrо данные MOryт Н8..ХОДИТЬСЯ в кэше в различных точках всемирной базы данных DNS. Их выбор требует нахожnения компромисса между эффективностью (использование стврото значения дe теме выборки ROBoro) и точностью (новые значения более точны). Первый элемент  период обновления данных. Он показывает, как часто подчиненные серверы должны связываться с rлавНЬfМ сервером и Т1роверять. не изменился ли порядковый номер конфиrypаuии зоны. Если зонные данные изменились, подчиненные серверы должны обновить свои копии базы даниых. Обшепринятые значения для H8HHOro интервала  от одноro ДО шести часов (3600  21600 секунд). Вместо ТQTO чтобы пассивно ждать истечения периода обновления. современные серверы BIND самостоsrreльно уведомляют свои подчиненные серверы об изменениях зон. если только в конфитурациоином файле не отключен параметр notify_ Серверы, понимающие подобные увеДОWIения, немедпенно обновляют свои базы данных. Если подчиненный сервер Т1ытзется узнать ПОРЮIковьfЙ номер У rлаuноrо сервера, 8 тот не отвечает. то по истечении определенноrо иtfl'eрвала будет сделана повторная попытка. Наш опьrr показьrвает, что tlзиболее подходяшее значеиис МИ BToporo зле мента  от 20 до 60 минут (1200  3600 секунд). Если rлавный сервер дтштельное время отключен, то подчиненные серверы будyr мноrократно nъrrатъся обновить свои данные. однако 6езус пешно. В конце КОlЩов все подчиненные серверы решат, что rлавнъrй сервер не включится НИ1<оrда и ero данные наверняка устарели. Период устаревания определяет, как допro подчиненные серверы будyr продолжать обслуживать домен в отсyrствие rлавноro сервера. Система должна просушествовать. даже если rлавный сервер не работает неделю, поэтому третьему элементу следует присваиватъ большое значение. Мы рекомендуем выбирать интервал от недели до месяца. До появления BIND 8.2 четвертый элемент задавал стандартное время жизни записей о ресурсах. Он вк.лючался в каждую запись и ИСПОЛhЗОШlЛся Д!lя проверки устаревания записей на неаfПОРИТетных серверах. В BIN D 8.2 значение этоrо параметра в записи SOA изменилось. Теперь он определяет длительность нахОЖдения в кэше отриuательных ответов. Время жизни по ложительных ответов (т.е. собственио записей) устанамивается директивой $TTL в начanе зонноro файла. Как свидетельствует практика. значение $TTL ДОЛЖНО быть от нескольких часов до нескольких дней, а минимальное время жизни  одиндва часа (предельное значение  три часа). Значение $TTL. период устаревания и минимальное время жизни в конечном итоre заставляют всех пользователей DNS удалять старые данные. Изначально архитектура DNS основывалась на том факте, что данные об узлах относительно стабильны и меняются нечасто Но с появлением прото кола ОНСР и портативных компьютеров все перевернулось. Теперь разра ботчики пакета BIND отчаянно пытаются yrнатъся за времеием. внедряя механизмы инхрементных зонных пересылок и динамическоro оБНОВJтения (описаны в парarpафе 16.12). r лово 16. Системо доменных имен 463 
Записи NS Записи NS описывают серверы имен, которые авторитетны для ДЗНt-ЮЙ зоны (т.е. все rлавные и подчиненные серверы). а также делеn1РУIOТ полнОМОЧИЯ ПО управлению ПОDдоменами дрyrим орrанизаuиям. Обычно ЭПJ записи следуют за записью SOA. Их формат таков: OHa [ttl] IN NS иw.яуэл. Например: са. colorado. edu. са. colorado. edu. са. colorado. edu_ IN NS па. са. colorado _ edu. IN NS anchor. св .colorado .edu. I S nc.cs.utah.edu. Если ИМЯ зоны совпадает с полеМ имя записи SOA. которая ИДеТ перед записями NS, поле ЗОНQ можно оставить ПУСТЫМ. Поэтому строки IN NS IN NS IN NS П5. са. colorado. edu. anchor. сs. colorado. edu. nc.cs.utah.edu. стоящие после записи SOA для зоны cs.colorado.edu, будyr эквивалентнЫ npиведенныM ВЫШе. Следует указывать Все авторитетные серверы имен домеНа cS.colorado.edu, причем это нужно делать как в зонном файле данното домена, так и в файле родительской зоны, т .С. colorado.edu. Кэшир}'юшие серверы не моуут быть авторитетными. поэтому их приводитъ не нужно В заПИСИ NS нет ключевоrо слова, которое указывало бы тип сервера (rлавный или подчиненный). Эта информаuия находится в файле named.conr. На основании записей NS ЗОtlЫ демон named нахощп подчиненные серверы, косда ему нужно разослать уведомления об изменении зонныХ даННыХ. Те же самые записи. присутствуюшие в описании родительской зоны (colorado.edu). определяют поддомен "С5" и передают полномочия по cro упраалению серверам имен факультета вычислюсльной техники. Если СПИСОК серверов имеи в описании родительской зоны Не совпадает с анanоrичным списком самой зоны, то любой новый сервер становитсЯ невидимкой и не используется дr1я ответов на запросы из внешнеrо мнра. Подобные ситуаuии иноrда возникают вследствие ошибок проектирования, иноrда  иэза забывчивоСти. Беrлый взrляд на ИНфОРjаuию о делеrироваI01И в нашей собственной сети позволил обнаружить крупный сервер домена coloтado.edu, о котором домен "edu" НИ1-Iеrо не знал. Иноrда стоит проnерять информаuиlO О делеrировании с помощЬю nporpaMMbl nslookup или dig, чтобы убедиться n наличин правильноrо набора серверов. 0' Подробнее о делеZUРО8D1ШIJ рассказывается в КОI.ще текущеzо nараzрафа. Записи А Записи А ЯВЛЯЮТСЯ ОСНО8НОЙ частью базы данных DNS. Они обесneчи вают перевод имен компъютеров в IPaдpeca (проuедура, ранее ВЫПО.'Iняв mаяся в файле /etcfhosts). Дпя каждоrо из сетевых интерфейсов компьютера должна существовать одна запись А. Эта запись имеет следуюший формат: ИJotRуэла [ttl] IN Д lPaдpec 464 Част.. 11 Работа в сеТА>: 
Например: anchor IN А 128.138.243.100 Если у компьютера несколько сетевых интерфейсов, то с НИМИ МОЖНО связать обшее поменное имя ИJffi же З8 кaжnыM ЗВJфeшпь свое имя. Записи PTR Записи PТR выПОЛНЯЮТ обратное преобразование 1 Pa1IJIeCOB в доменные имеиа. Как и в случае с З8ПИСЯМ'И А. дЛЯ каждоrо ceTeBoro интерфейса компьютера должна быть сделана одиа запись PTR. Но прежде чем знакОМИТЬСЯ с этими записями, давайте немиоrо отвлечемся и DorOBopm.1 о спеUИ8ЛЪНDМ домене BepXHero уровня, который называe'rСЯ inaddr.arpa. Полностью определенные имена компьютеров МОЖНО рассматривать как СТРУКТУРУ, в которой наиболее '.зиачащая" часть СТОИТ справа. Например, в имеНИ aDchor.cs.colorado.edu узел anchor принадлежит домену "cs". последний находится в домене "colorado", а тот  8 домене '"edu". С дрyrой стороны, в IРanpeсах самая "значащая" часть стоит с.лева. В адресе 128.138.243.100 узел 100 нахоДИТСЯ в подсети 243, которая является частью сети 128.138. Домен inaddr.arpa был создан с ТОЙ целью. чтобы и дr1И прямых. и шrя обратных преобразований использовался один и тот же набор проrрзммных модулей и единое дерево имен. ДОмены в ветви inaddr.arpa именуются как IPaдpeca с обратным порядком следования байтов. Например. зона .nля нашей подсети 243 называется 243.1J8.128.inaddr.arpa. Общий формат залиси PТR таков: адрес [ttl] IN PTR иинуsла Запись PТR . зоне 243.1 38.128.lлаddr.аrpа, соответствуюшая приведенной выше записи А Ш1Я узла anchor, будет иметь такой вид. 100 IN РТН anchor.c8.colorado.edu. Имя 100 не заканчивается ТОЧКОЙ и потому является относителЬНЫМ. Bonpoc: относительно чеrо? НИ в коем случае не относительно домена "cs.colorado.edu.". Для тота чтобы эта запись была точной, домен ПО умолчанию должен называться "243.1 38.128.inaddr.Brpa.". Этоrо можно добиться, ПQмесnfВ записи PTR для каждой подсети 8 отдельный файл, за которым закрепляется стандартный домен в фай..т1е KOH фиrypаuии демона named. Дрvrой способ ВЫпОЛНИТЬ обратное преобразова ние  ВКЛЮЧИТЬ В зонныЙ фаАл записи вида 100.243 IN PTR anchor.c9.co1orado.edu. с доменом 138.l28.inaddr_arp8 по }'молчюшю. В некоторых орrанизаuиях асе записи обратноro преобразован.ия помешаются в один файл, а залание подсети осуществляется посредством директивы SORIGIN. Обратите внимание на то, что имя anchor.cs.colorado.edu должно оканчиваться точкой, иначе к нему будет добавлена строка 138.128.inaddr.arpa. Поскольку cS.colorado.edu и 243.1З8.l28.iпаddr.arpа  разнъrе области пространства имен DNS. они составляют две отдельные зоны. У каждой из этих юн дол-..кна быть своя запись SOA и свои записи о ресурсах. ПОМИМО определения ЗОНЫ inaddr_arpa .nля каждой реальной сети, нужно также задать зону, которая заботилась бы об интерфейсе обратной связи. 127.0.0 О. r лово 16. Система доменных имен 465 
Описанные привязки прекрасно работают. KorHa маски подсетеА проходят по rpаниие байтов. Но как вьmолнять обратные преобразования для такоА подсети. как 128.138.243.0/26? В документе RFC2317 олисан краснвый лрием. основанный на применении записей CNAM Е; подробнее об этом речь пойдет ниже. обратныe преобразования, выполняемые записями PТR, используются всеми проrpаммами, которые аyreнтифиuируют ВХОДЯШИЙ сетевоА трафик Например, демон sshd допускает удаленную реrистраuию без пароля, если исходная машина указана по нмени в пользовательском файле  / .sbosts. KorHa машинаадресат получает запрос на установление соеnииениЯ. она знает машинуотправИ'fелъ только по IPaдpecy. nолъзуясь уcлyraми DNS. она преобразовывает IPaдpec в имя. кО'Торое сравнивается с содержимым соответствующеrо файла. Проrpаммы ".Istat. tepd. s."dmail, sshd, syslogd. fingerd, rtpd, r10gind  все они получают имена КОМIТbютеров из I Ралресов с помоmыo обратноro преобразовзI01Я. Важно, чтобы записи Д соответствовали записЯМ PТR. Несовпаление и отсyrствие последних приводит к ошибкам аyreнтификаuии и таймаyrзм, в результате чеrо система замеШlяет работу. это само по себе неприятно, но еще хуже то, что появляется почва для атак типа "отказ от обслуживания", направленных на любое приложение. требуюшее соответствия заПИСЯМ Д или д6 при обратном преобразовании. Записи МХ Заnисн МХ используются системой электронной почты для более эффективной маршрyrизаuии почтовых сообшениА. Запись МХ подменяет адресата сообшения. в большинстве случаев направляя сообщение KOHцeH тратору электронной почты на сервере получателя. а не прямо на ero рабочую станпию. o 06 электронной 1I0чте речь 1I0йдет в zлаве 21. Запись МХ имеет следуюшиА формат: имя [ttl] IN мх ПрUОрИ'I'ет узел... Ниже приведены ДВа примера: один для узла. который получает адресованную ему по'пу, несмотря на то что выключен, а второй  для узла, который вообще ие может получать почту. piper IN МJ( 10 piper IN МХ 20 mailhuь IN МJ( 50 ьoulder. colorado. edu . xterml IN МJ( 10 mailhuь IN МХ 20 алchоr IN МХ 50 boulder .colorado .edu. Сначала опрашиваются узлы с низким приоритетом (наиболее предпоч тительныА приоритет  о; самый нежелателъиый  65535). В данном случае почта, адресованная полъзователю bob@xterml, будет маршрyrизироваться следуюшим образом. Если доступен кониентратор rnailhub, почта оmравляется туда; в противном случае она посылается иа машину anchor. Если оба отключены, почта направляется на узел boulder. При этом иМя узла boulder должно быть полностью определенным, поскольку он не является членом стаядартноro домена (в данном примере  "cs.colorado.edu."). 466 Чость 11. Робото 8 сетях 
Список приоритетов И узлов можно, н приншmе. давать в одну строку. но отдельные строЮ1 ле читать. Между значениями приорИ'J"eТОВ оставляйте числовое "пространство", чтобы в случае необходимости вcerдa можно было добавить HOBoro адресата. Записи МХ полезны во мноrих ситуациях. например: если в системе есть центральный KoнueHтpaTop почты; если машинаЮ1ресат выключена: . если адресат не подключен к Iп(еrпе(: . если машинаадресат ие ПОННМ8С1 протокол SMTP; если локальный снстемный админнстратор лучше знает. куда следует посылать сообшения. В первом из этих случаев почта направляется на KoнueнтpaTop  компьютер. rHe большинство пользователей читает почту. во втором случае почта переадресуется на ближайший компьютер и возврашается на машину адресат. Korna та вновь будет включена. Если компьютер не подюуючен к IПlсmеl. у Hero не может быть записи Д в DNS. но MOryr бьrrь запнси МХ. Система sепdrnаil не способна установить непосредстneнное соединение С адресатом. но может переслать по'-rry поблw.кс к нему, связавшись с одним из узлов. у...азанныx в записях мХ. ТClкой узел. вероятно, напрямую подключен к машинеадреС8ТУ или знает. как получить к нему доступ (к примеру, через брандмауэр нл-и по протоколу UUCP). В конце концов. записи МХ MOryr при-меняться просто потому, что локальные системные администраторы rораздо лучше знают орrанизtlUИЮ почтовой системы. чем те, кто ПрИСЫllает в орrаЮ'lзаuиlO письма. За администраторами остается прзно определять, по каким каН3J18М распростра няются почтовые потоки. у каждою узла должны быть ]О/шси ЛfХ Для второстепенных узлов достаточно одноrодвух альтернативных вариантов. Крупный узел должен иметь как минимум трн записи: одиу для себя, как ОСновной вариант; дрyryю для локалъноrо почтоnоrо концентратора. как второЙ вариант; третью для uempa..r1bHoro коtшентратора помена ил," ero РОilительскоrо домена. как резернный вариант. у caMOI.o домена должна бьrrь j3ШfСЬ МХ мИ узлаконuентратора. чтобы можно было посылать по1)' по схеме пользователь@да,\Jен. Естественно. такая КОНфИТ)'р8uия требует наличия уникальных пользовательсJo..'ИХ имен на всех коt.mьютерах дaнHor.o домена. Чтобы иметь возможность посылать почту пользователю evi@cs.colorado.edu. нам нужна либо машнна а. либо записн МХ в домене cs.colorado.edu: IN мх 10 mailhub.c5.colorado.edu. IN МХ 20 anchor. cs. colorado. еаи. !N мх 50 boulde1.'.colorado.ed\.J. Компьютер, принимаюшнй почту для llPYTOI.O узла, должен содержать ero нмя в файлах конфиrypации sendmail. В параrpафе 19.8 будет рассказываться о средстве use cw file и файле lосаlhоstпаrnes, используемых F! scndmail для этих целей   в базе данных DNS иноrда можно встретIПЬ метазаписи МХ; IN МХ 10 mailhuь.cs.colorado.edu. r лова 16. CcтeMO доменных I1мен 467 
На первый взrляд кажется. что такая запись позволяет избежать MHoroKpaTHoro ввола данных и ЯВ.'1яется стандартной записью для всех УЗЛО8. Однако метасимвол работает совсем не так. как можно ожидать. Он соответствует любому полю имени. которое еше не было указано -в явном виде в дрyrих записях о ресурсах. Следовательно, нельзя использовать звездочку с целью задания кaKoro либо стандартното значения для всех своих компьютеров. Можно  что неправилъно  задать посредством нее маршрут для "чужих" машин. В результате на концентратор будет поступать масса почтовых сообшений. '1)'- же oтaepraeМbfX по тоА причине. что имя узла. обозначенное звездочкой. не принan.лежит данному домену. Посему следует избеrать }7Тотреблеffi1Я метасимвола в записях МХ. Записи CNAME Записи CNAME позволяют назначать узлу дополнительныe мнемониче ские имена. nсевдшПlМЫ широко применяются для закреплеиия З3 компью тером какойлибо функции либо просто для сокращения имени. Реальное имя и ноrда называют каноническим. Вот несколько примеров: ftp IN CNAМE anchor kb IN CNAМE kiЬЬ!.езnbitз Запись CNAM Е нмеет слепуюши/l формат: псевдоним r tcl] IN CN.AМE ИUЯ'УSlла Korna DNSl\.toЛУль обнарУ'А<ивает запись CNAME, он перестает посылать запросы по мнемоническому имени и переКЛlOчается на ремьное имя Ee.'l'"t у компьютера есть заffifСЬ CNAME, то дpyrHe заmfСН для naHHoro узла (А, МХ, N S и др.) .nолжны ссылаться на ero реальное имя, а не на мнемоническое Например, строки cologw IN А moogie IN CNAМE п; CNAМE 128.138.243.25 cologw moogie яв.rrяются правилъньrми Но если связать алрес или почтовый приоритет (посредством заmiсей А и МХ) с именем WW или moogie. то это будет неверно В BLND .плина цепоLJl<И записей CNAME не должна быть больше восьми. Цепочка  это ситуация, коrла одна запись CNAME ссы.лается на дрyryю. та  на третью и Т.Л. Последним. восьмым элементом должна быть реальная запись А. В некоторых орrанизация'\: делается попытка посрелством 'Записей CNAM Е обеспечить распределение наrрузки. Открытое имя WebcepBepa связывается с несколькими компьютерами' IN CNAME web! !N CNAME web2 IN CNAМE wеЬЗ Подобное применение записей CNAME является нестанп.артным. По сyrи, оно запрешено, так как противоречит спецификации. В BIND 8 eciЪ спеЦИaJ1ЬНЫЙ параметр. разрешаюший данный механизм. Пакет BIND 9 более требователен, поэтому лучше не пользоваться множественнЫМИ записями CNAM Е. Лучше создать для Webcepвepa иесколько записей д, ссылClЮШИХСЯ на разные компьютеры. 468 Часть 11 Робота в С8")( 
Специальное применение записей CNAМE с поМОЩЬЮ записей CNAME МоЖНо орraНИЗ0вать поддержку зон обратноrо преобразования д.ЧЯ сетей. rде маски подсетей не проходят по rpаниuе баЙТоВ. ДО ТОТО как прОТОКОЛ CIDR ПО;Jyч1iЛ широкое распростра- нение, такая орrанизаuия подсетей не при'менялась или. по крайней мере. "неправилъные" пОДСети сушеСТ80вали в рамках ОДflОЙ орrЗНИЗ8nИН. ПОЭТОМ} управлять зонами обратнor-о преобразовзния было несложно. Например. если сеть ] 28.138 класса В разделить на rpуппу подсетей класса С. ТО каждая подсеть займет СБое cтpor-o oroвopeHHoe МесТо в домене inaddr.arpa. ЗОНОЙ обратноro преобразования ДЛЯ лодсет 243 будет 243.138.128.iлаddr.аrpа. o О протоколе CIDR рассказывалоео в пара. рафе /3.4. Но что ПрОИ30ЙlIет, ес:1И подсеть 243 разделить еше. допустим. на четыре подсети /26? Если все они нахОДЯТСЯ в пределах одной орraнизаuии. то эТО не проблема: такие подсети попрежнему описываются в одном файле. содержаwем все их записи PТR. Но может быть так, ЧТО подсеть 243 при наалеЖИi проваrшеру In(eme(, который делеmрует полеети /26 разным клиентам В этом случае решение будет более сложиым. ПроваЙlIер должен либо ynравлять записяМИ зон обратиоrо преобразОВ8Н11Я на стороне каЖдоrо клиента, либо найти способ раздслИiЬ третий байт IPaдpeca (8 данноМ примере  243) на четыре разных элемента, каждый из которых делеrируется независимо. Коrла администратквная rpаница прохоnит посередине бaй'rа, приходится быть изворотливым. Нужно также тесно взаимодействовать с доменом, находяШИМСЯ выше или ниже в иерархии. Решение может быть следуюшим: для кaжnоrо возможноrо адреса узла в зоне inaddr.arpB следует добавить запись СNЛМЕ, которая переВОДIП операuию поиска в зону, ynравляемую владелъпем соответствуюшей по.!lсетИ. Подобная схема приво.IIИТ к образова нию rpoмоздких зонных фаЙ.'10В в роnителъском домене, но она же позволяет передавать полномочия реа.,lЬНЫМ пользователям каждой подсети. Рассмотрим описываемый процесс детальнее. Родите!ТЬская орrаНlП8UИЯ (В нашем случае  проваЙlIер) создает для каждоrо возможноr.о IPaдpeca записи CNAME со специальным искусственным компонеflТОМ (отделяется точкоА), представлmoщим подсеть. Например, для nepBoro из четырех блоков адресов подсети /26 дополнительный компонент будет называться "O63", дЛЯ втoporo  "64127" и т.д. ВОТ как это выrлядит: $ORIGIN 243.138.128. inaddr. arpa. 1 IN CNP.МE 1 O63 2 IN CNAМE 2 .o63 63 IN CNAМE 63.063 64 !N CNAМE 604 . 64  121 65 IN CNAМE 65.65127 Чтобы передать управление адресами o63 зоны обратнor.о преобразонания клиенту, за которым закреТU1ена эта подсеть, нужно добавить следуюшие записи NS: O63 o63 IN NS IN NS nsl. customerl.com. ns2. customerl.com. r Л080 16. Система доменных имен 469 
На узле custO'merl.com будет создан зО'нный фаАл, содержащий привязки штя зоны обратноrо преобразования 063.Z43.138.128.inaddr.arpa. Например: 1 IN PTR hostl. cust.omerl. com. 2 IN PTR h05t.2.customerl.coro. ДО'бавив дО'пО'лнительный кО'мпонент. мы тем самым СО'ЗДали нО'вую точ....')' передачи полнО'мО'чий. KO'rna, например, КТOTO пО'пытается найти дО'меи ное нмя, СОО11!етствуюшее адресу 128.138.243.1, ЗRЛись CNAME В точке 1.243.138.128.inaddr.arpa перенаправит лоиск в точку I.O63.243.138.128.in addr.arpa, а этим именем уже УПрaвJlЯет реальный клиент. Клиентские зонные файлы не сО'держат ннчеrо лишнеro; со всеми ко'нфиryраиионными записями ПРИХО'ШПСЯ иметь делО' проваЙдеру. Смтуаu ия услО'жняется, если I01иент сам является пров3.Йдером и дальше делИi свое адресное пространство. ОJl.накО' неnpeО'ДО!lИМЫ), препятс-твий не сушествует: в BIN D подnерживзются цепО'чки записей CNAM Е длиноА ДО' восьми элементов, а ПО'СКОЛЬКУ в байте, как известнО', восемь битов, превышения дО'пустимО'rО' предела не произойдет. РаЗЛИЧНblе дО'кументы RFC не одО'бряют, но и не запрешают приuенение таких цепочек К неrатИЯНblМ послеДСТ8ИЯМ МО'ЖНО' отнести ТО, ЧТО' cJCOpOCTh распО'знавания имен замедляется. так как модуль расnО'знавания должен пройти по каждому звену цепО'Ч1Of, послав соответс-твуюшее числа запросав серверу. Описанная схема применення записей CNAME ужаснО' неэффективна, но она насталькО' удО'бна, что ее разнО'видность была nринята в качестве О'фициалънО'rо стан.naрта .пля абработки зон обратнor.о преО'бразО'вания I Pv6. Падробнее аб этом будет рассказываться НИЖе. при описан ни записей DNAME. КО'rда данная схема стала дО'статочнО' папулярной. набор кО'манд. понимаемых деманО'м named. паполнился директивой $GENERATE (О' ней речь будет идти далее), которая упрошает сО'здание записей О' ресурсах в родительскай зоне. Например, чтобы сreнерировзть все неО'бхО'димые записи для первай подсети , достаТОЧNО' следуюших стрО'к: SORIGIN 24З.lзе.128.iпаddr.аrра $.GENERATE О6З .s CNI\МE !$.О6З О6З IN NS nsl.cust.omerl. сот. O6] IN NS пs2.сusr.оmеrl.соm. Метасимвал S в директиве $GENERATE является счетчикО'м цикла и приво.nит к сазпанию б4х различных записей CNAME. Остальные три подсети /26 обрабатываются аналш"ичныM О'бразО'м. РаССмотреннО'е применение записей CNAME подп.ер:живается в BIND 8 и 9. В некаторых старых мО'дулях распазнавзния пакета BIND 4 не преmюлаrается пО'лучения записей CNAM Е в ответ на запрос к записям PTR, пО'этому такие запросы потерпят неудачу. Это адна из причин. по каторой не рекомен.nyется прпменять старые версии пакеТ8. Записи lOC Запись LOC определяет rеоrpафическО'е местопалО'жение и, неО'бяза7епь НО', физический размер (диаметр) О'бъекта DNS. В настоящее время записи LOC не О'казывают влияния на ФункциО'нирование сети Internet. и сушест вующие профаммы не прО'изводят их паиск. НО' былО' преШlоженО' множество 470 ЧО'сть 11 Рабато в сетях 
интересных применений информаШIИ. содержашейся в этих записях, включая трассироВ....')' и оптимизаuию маршрyrов. а также сетевые исследования. o Записи [,ОС описаны в документе RFC/B76. Формат записи таков; иия (ttl] IN l.DC ШИРО"J.'а до.п.rо'rа [.высота (разм [roрточн [веРТ'l'очнJ]] J Широта и долrотз задаются в f1)aдycax. минутах J1 секундах (разделяются пробелами), после которых следует обоЗliачение N (попll  север), S (SOLltl1  юr), Е (east  восток) IVТИ W (wesl  запал). Секунды можно опустить. допускается также указывать только 'Рвдусы. Последуюшие поля задаются в сантиметрах (по умолчанию) ИЛН в метрах (суффm::с m). Apryмeнт высота  это высота объекта иал уровнем моря, разм  это диаметр воображаемой сферы, окружаюшей объект, zорточн  ,.оризонтальная точность нзмерения, а вертточн  вертИК::t.'1ышя 'lUчностъ. По умолчанию размер равен ОДНОъ'f)' метру, rоризонтальная точность  10 метров, а вертикальная  10 кнлометров. Вот пример для узла caida.of&. расположеннш.о в CaHДHe'.o. штат Калнфорння: caida .org. IN LOC 32 53 01 N 117 14 25 w 107m 30m 18т i5m Мноrие yrилиты ВИЗУ3J!IваЦИI1. написанные орratiИЗUИС:Й СА! ОА (Co operative Аssосiаtiоп for [пtеrпеt Data AnalY$is  совместная ассоuиаuия по анализу данных в сети Internet). требуют наличия ШiННЫХ о широте и lJ,олrотс. ПОЭТОъ'f)' адмнннстраторам WеЬузлов рекомендуется включать СООТRетСТRУЮ тую информauию в свои базы .nанны DNS. Но не все ззшпересоваllЫ в том, чтобы кто утодно знал их меСТDположеtше. В таюrx сlt1)'Iшиях можно использовать неточные значения. Они все равно представ..'lЯЮТ определенную ценность для людей. зани-маюшихся сетевым ана.'1I1ЗОМ, и 8 то же время обеспечивают некоторую анонимнОСть. К особенностям записей LOC следует также отнести то, что запрос к ним приводит к краху сервера нмен N r 4.0. поэтому буньте осторожны Записи SRV ЗаmfCЬ SRV определяет расположение серlЗИСОБ в предела, цоменз. К пример. эта запнсь MO)f..eT позволить З3llрОс..;ить удаленный домен If узнап. имя с,.о FrPcepвepa. Раньше в подобной ситуации приходилось действовать наутад. Можно было лишь надеяться, 'ПО администратор удаленноrо домена. следуя традиuионной праl<тихе. добавил запись CNAME .!lЛЯ Ifмени "Пр" в базу данных DNS. Записи SRV rораздо разумнее применять .пля этих uепей, и с: ю. помошью адМИ1[истраторам HaMlloro удобнее менять местоположение сервисов и KOHTPO-,lИРОвать их ИСПОЛЬJование. Однако требуется. чтобы сами клиенты знали. как найти и проаналИЗl-fрОВ3ТЬ ЭТИ заmfСИ. поэтому эффект от 10; применеиия пока не столь ощyrю.iъrk Записи SRV напоминают обобшенные запнси МХ с дorlOлните.-1ЬНЫМII полями, которые позволяют локальноЪ,f)' ацМИНI-Jстратору DNS управлять внешнимн соединениями 11 распреде.--rять наrpузку на сервер. Формат записей таков; сеРВИС.flРОТОКОЛ.ИМЯ [ttl] lN SRV приоритет вес порт сервер 471 r nОВО 16. Сиcrемо доменных имен 
А.ртумент сервис  ..по If'\IЯ cepUlfca. определенное в базе данны"," IANA (lлtеrnеl Assigned NUn1bers Ашll0пtу  aTeн-rCTBO по выделению IIмен и уникальных параметров протоколов Internet): полуtJИТЬ дополнительную информацию можно в параf1JRфе 13.3 I-UIИ по адресу wv.'\v.iапа.оrg/IШn1 bers.htffi. Артумент "ротОКО.1 ДО;Jжен быть равен либо (ср, пибо udp. Apry'MeHT UJ,lЯ  это домен. на KOTopblt1 ссылается записЬ SRV. Артумент приоритет нмеет тот же с!\.iысл. что 11 В 33ШIСИ мх. o\pl}'MeHT вес используется Д)lЯ распределения Н311JУЗКИ между неСКО.'ЬЮIМJ-I серверами. порт  зто номер порта. на КОТОРО" выполняется cepBIIC. а сервер  это имя сервера, предоставляющеrо данную услуrу. В ответ на запрос к записи SR\/ обычно 80зврашается заПlIСЬ А сервера И мя сервера. равное " ". означает, что сервис недоступен на данном узле. [с'1и вес равен О. то спеUИaJ1ЬНОro распреде:rеНIIЯ наl1J'3КИ не требуется. Ниже покззан IlрИ-МСр, взятый ИЗ до"'''умента RFC2052 (rпe определена запись SRV) и адаПnlроваННhlИ мя домена cs colorado.edu: ftp.t.cp SRV О О 2! ftpserver.cs.colorado.edu. i достуа: к серви::::у F'iлgеr за!l.-рЫТ (имя сервера. "'" .1 fl.лgеr.tср SRV О О 79 i одна че"l.'вер'l'Ь соедv.tlеtiИЙ оОСllужиаается C'I'apbll4 i<:ОNЛЬ.IJ,::'еРОN, i а p"" ч.е'.!.'вер'.!.'и  i-IOBblЫ ssh.tcp SRV Q 1 22 o1ds.!OWDOX.Cscolorado.edu. SRV О 3 22 newfast[)ox.cs.colorado.edu. ; OCH08i-10"р' сервер ДОС'l'Уl1еl-!. через порт ВО. ; а резервн  через ;:орт веоо t-!a t!OBOи. Olтb.o'!'epe ht:.t.p.tcp SRV О О 80 wwwserver.cs.colorad.o.edLl. SRV 10 О 8000 леwfаsr. box. сs. colorado .edu. ; в адресной C'l'pOKe МОЖНО указывать ax http://www . сs .col0rado. еаи, ; так У. http://c.!I.colorado.edu http.tcp.ww;,.; SRV О О 80 wwwserver.cs.co1oraQo.ed.u. SRV 10 О 8000 newfastbox  СЗ, colorado. edu. ; все ос'!'алы-!.ые сервисы елокироваliЫ -.::.ср SRV О О О . .udp SRV О О О В лом ПрИ'\lере деМОI!трltруется Прll\tеНСI-iИС KK aprY?\leHTiI ее, (серянс SSH). так н apl}'MellTOl "риОРllтет (ССРН1IС НТТР). Будут JадействOJНШЫ оба сервера SSH. ПРilчем J-tзrРУ1К3 \IС:;КДУ 11111'111 распред.еляется в соответствии с IlРОИЗВОДИтельностыо сервера". Ре-зеряный сервер нттр ИСПО.'lьзуется To..l1""O в том С'l}'чае. коrла основной сервер не ф} нкuионирут. Сервис fillger не доступен на naHH01 у 3.1е. как 11 нсе остальные CepBI1CbI. имена которых не )'ТlО'\lSПl}1b1 SJ8HO. ТОТ факт, что дсмо!! finger отсутствует в базе .nаt-п.rых D:'\JS. не означает. 1ПО 011 не 8ЫIlО:'НЯется: просто ero нсльзя наf>iПf средствами D:'\JS. Раньше в б.ве ДЗНJ--IЫ\: DS сушеСТ80ва.J13 запись \\'KS (wellkno\vn services  изВестные сервисы). B"1(CTO Toro tJТобы переадресовывать Jапра uшваюшеrо на узел, который предоставляет указанный сервис в рамка.\: домена, она содеРЖaJ1а СПисОК всех сеРВItСО8. ПОДLlерживаемых заДalтым узлом. Эта запись Я8.'1ЯnСЯ практичеСЮ-1 беСIlО.'1езнои и. к тому же, считается рискованнои с ТОЧl..li зрения 6elonacHocTI1. полому она lIе получ1 1.'1a распространения 472 Чаcrь 11 Робота в сеiЯХ 
КомпаН1IЯ М icrosoft ИСПОЛЬЗует 8 Windows 2000 стаНдартные l8ПИСli S R \. но способ их внедрения 8 базу данных DNS является liестан.цартным и несовместимым с документаuией. Записи ТХТ 3апнсъ ТХТ добавляет 8 б.lJ данных DNS ПРОИЗБОЛЬНЫИ TeJ..:C::T. Наllрш.IСР, 8 нашей базе данных имеется С.'lед}lОШая знпись, идентифицир} ЮШШl Ilашу орrанизацию: IN ТХТ "Univеrзi!.у of со, ВФuld.еr Campus. CS Dept:" Эта запись непосредственно следует за заПИСЯМ'-1 SQA и NS зоны "cs.colo rado.edu.... наследуя таким образом от них поле IНtя. Записи ТХТ нспо.пьзуются также в сочетании с записью RP. которая содержит КОНТВI<Т.iУЮ liнформацню .пJ1я связи с человеком, отвечаюшим за функuионирование узла (8 записи SOA Уl<азан лншь ero электронныЙ адрес). Запись ТХl имеет такой формат: иия [r tl] IN ТХТ инфориаuия ... Все информаШIOНl-lые :>леменТЫ должны быть заключены 8 кавычки. Это может быть 1<31< Oдlla строка, так и неСI<ОЛЬКО строк, каждая IfЗ I<ОТОРЫХ заключеНа в каВЫЧI<К Будьте предельно внимательны  пропущенная закрываюшая кавычка может привести 1< разр)wениlO базы данных DNS. у записей ТХТ нет BHyrpeHHero ПОрЯДl<а. Сllедовате"JЫЮ, не ctOI-П пытаться добавить 8 базу данных единый mrформацнонный БЛОl<, преДСТШI ленный в виде нескольких записей ТХТ: 8 ответ на запрос демон паП1сd может возвращать их в произвольном ПОрЯДl<е. Записи ресурсов IPv6 IP\16  это новая версия ПрОТОl<о.'1а IР. Процесс принятия спецификации .пJ1mся уже более десSJТИ лет. Своим поя-влением протокол IPv6 обязан сушествовавшей в то время острой потребности в ДОПОЛНJrrельных I Paдpeca\:. Однаl<О решения этой проблемы. считавшиеся временными,  ПIХПОКОЛ CIDR. снстема NAT и строrнй административныii контроль над адресным пространством  оказались СТОПЬ успешными, что массовый переход f,. стандарry I р\lб вряд тi nронзойдет 8 скором будушем. Если не ПОЯI!ИТСЯ I<акоенибудь сynерпопулярное ПРИЛОЖfнне. работаюшее rолько с IPv6 (НЛI I(омпания Microsoft не сделает 3тот протокол стаЩi]РТНЫМ в V./il1dows). то D ближаЙшие несколько лет систеМНblе администраторы не заХОТJlТ иметь дело с нным форматом адресов Ряд аН8..r1НТИI<ОВ полаrает. ЧТО чаша весов CK/10t-lИТСJI к пользу I Pv6 блar-од;зря новому поколению мобильны:\: телефонов, имеюшш. I Paapec._ ХОТЯ мы не ОЖIШ3сМ ШI1РОКor-о распространения протокола I Р\'6. 6'дeT все же полезно OnlfcaТb flЛНЯНRе 12Вразрядных JPanpecoB нз DNS. Иlменению подпсрrнутся "J3ШfСИ А и PTR. но это относительно простые перемены в сравне,ни с lадачей внедрения совершенно новой конuепЦl1И: cOBMecTHoro н.ладеНIIЯ aдpecaMII. Сетевой плате. которой соотвеТСПlует адрес I р\'ь. "РИН3Шlежнт лишь несJ...ОЛЬКО битов адреса. но не псе OHI1. ..!lРУПIС биты деJlепtРIЮТСЯ Вblше стояшим пронайперам н попытке сдеЛ::iТЬ IIСрСI1Мt:рНШIO t1 смен} проваидер;,] простой :lэдачеЙ OllHal<O реi3!Ш.ШНIIЯ эт(}rо fехаНIIЗ!\.Iа _:ювольно сложна. r пово 16. С..,аема доменных ..,мен 473 
в [Р\'6 эк-вивалент записи А первонач8ЛЬНО назывался АААД, поскольку адреса [Pvб в четыре раза шrиннее чем простые [Paдpeca. Коrла ПОЯВИлась схеМа разделеННОI-О управления адресами, орraн-изаuия l ETF стандарти")иро вала два новых типа записей: А6 (.пля перевода имен компьютеров в адреса) и DNAME (.!lЛЯ передачи частей адреса Лрyrим орrанизаuиям). Протопmом для записи DNAME послужила запись CNAME, с помощью которой, как было показано выше, обеспечивалась по.пд.ержха сетевых масок, не проходя щих по rpаниuе байтов. Запнсь А6 задает адрес. но при этом учитывается. что часть старших битов должна быть получена из дрyrоro источника. Мы не булем подробно рассматривать Механизмы поиска имен в [Ру6, поскольку они еше недостаточно четко определены орrанизацией IETF, да и у нас ие очень большой опьп работы с ними_ В следующих двух разделах излаraется лишь C}Th этой совершенно новой методики. Записи А6 Формат записи А6 таков: иияJlзла [tt.I] IN А6 УИСЛОО'l'ложенн(iитОВ IРадрес ссылка Например: .anchor anchor IN А6 О Зffе:8050:201:9:аОО:20ff:fе81:2ЬЗ2. IN А6 "18 : :9:аОО:20ff:fе81:2ЬЗ2 prefix.myisp.net. Обе записи задают одии и тот же адрес IPvб для узла anchor. В первом случае адрес полностью определен, а во втором  48 префиксных битов делеmруются узлу pref1x.myisp_net. Обратите внимание на то, что 8 первой записи в качестве ссылочноrо apryмeнтa указана точка. Она означает, что никаких дальнейших CCЬUТOK не требуется. Модулю распознавания может потребоваться обратиться ко МНОПfМ серверам имен, чтобы собрать полный 12В.разрядный адрес по цепочке записей А6. Например. во второй из ноказанных выше записей на следуюшем уровне MOryт оказаться отложеННЫМJ1 47 битов, далее  46 и т.д. Для получения omeтoB придется сделать 48 запросов. Добавьте эквнвалентное число запросов DNSSEC. требуемых мя проверки каждor-о компонента адреса, и получится 100Kpaтнoe умеЛИLJение DNSтрафИК8 при распознавании одноro единственнor-о имени! Как видите, офиuиальные спеuифнкаuии не всеrдз просты и эффективны. На практике из Сорока восьми возможных уровнеЙ переадреС3LtИИ останyrся два или три, но сама концеПI(ИЯ On"l'blвaeT интересное поле .пля атак вида '"отказ от обслуживания". Более подробная (и менее предвзятая) документапия содержится в ката-тюre doc пахета BIND 9_ Записи DNAME Обратное преоБРЗЗОВ4ilние адресов l РУ6 в доменные имена основано на использовании тралиuионных записей PTR и заmiсей HOBoro типа  DNAME_ Записи PTR связывают локальные биты адреса [Pvб с конкретным сетевым нменем, а заПИПI DNAME определяют. какие из оставшихся частей адреса каким орraниззциям лринадпежат. В IРУ4 зоны обратноrо преобразования располаraлись в домене in addr.arpa, а зоны примоrо преобразования  в друrих ветвях дерева доменов (например, в доменах "сот" или "edu"). В !Ру6 информация об обратном 474 Чоcrь 11 Робото 8 сетях 
преобразовзнии более рассредоточена. Часть ее находится в домене iп6.a..rpа, а часть хранИiСЯ в зонах прямоr.о преобразования. Компонепrы ИМен в домене inaddr.arpa представляют собоА байты 'Paдpeca. В 'РУ6 эта схема обобщена, и компонентам именн разрешается представлять произвольные части адреса. Такие адресные секuии MOryr бьпь дпиной ОТ 1 до 128 битов; они известны как битовые строки. Битовые строки заПИСываются посредством спеuиальноrо синтаксиса. Рассмотрим ero на конкретном примере. Все ОДНОЮШр3вленные адреса I Рvб начинаются с трехбитовоrо префикса 001. Ч'тобы запнсать этот префикс языком битовых строк. нужно взять ДВоичное число 00 I и дополнить ero незначашим битом, чтобы дЛина цепочки была кратна четырем: 00 I о. В результате получаем шестнадцатеричную цифру 2: у нее три бита значащих и один  незначащий. Финальная строка записывается так: \ [х2lЗ] Обратная косая черта, квадратные СКобки и литера х оrpаничивают каждую битовую строку. Содержатс.'lЪНая часть строки  это после.дователь ность шестнaдu.атеричных цифр (о данном случае одна uифра  Z) и спецификатор длины (/3). Последний указывает, сколько битов, представ ленных шестнадцатеричными цифрамн, нужно учитывать. Это необязателъ ньJЙ КОМПоиент. Если он отсутствует, длина битовой строки ВЫЧИСЛЯется на основании количества шестнацuaтеричных цифр, умноженноrо на 4 (В данном случае длина строки СОСТ1\вляет 4 б.па). Даже если битовые строки оканчиваются на rpaнице шестнarщатеричных цифр, желательно указывать спеuификатор ДЛИНЫ, иначе читатели DNSфай лов ОСлепнут, пъrrаясь пОдсчитать длИНу больших строк Самые левые БJПЫ строки я-вляются наиболее значашими. Дополнитель ные биты, "рисоединяемые к самой правой uифре, просто не учитываются. Все они должны раRНЯТЬСЯ нулю. Поскольку нсе однонапраRJIеННLlе адреса I P\16 имеют обший префикс 001, самый верхннй домен в ветин обратноrа преобразования  \lх2/31.lрб.аrpа. Д ВОТ более сложный пример. Ниже записано три разных представления ОДНОТО адреса: первый раз  в цельном виде. второй  с разделением на три части (3/45/80), третий  на четыре (3/13/32/80).. По мере лерераспре деления блоков их шестнаццатеричное представление ПОЛНостью меняется. хотя в основе остаются те же самые биты. Чтобы получить ДВОичное представлеЮfе чисел, воспользуйтесь утилитой Ьс. \ r х Зffе8050020100090аОО20fffеВ12ЬЗ2/128] . ip6.arpa. \ [хQОQ90аQО20fffе812ЬЗ2/ВО] . \ [xfff402BOI008/45] . \ [х2/З] .l.рб. асра. \ IхООО90аОО20fffе812ЬЗ2f80J. \ [х80500201/З2]. \ [xfffO/B] . \ [х2/3] .ip6.arpa. Как и в случае зон домена шаddr.аrpа в IPv4, отдеЛЬные числа читаются сЛева направо, а Компоненты адреса (блоки, раЗ1lеленные точками)  справа нвлево. Первый Компонент второй и третьей из показанных выше строк  ЭТО локальная часть адреса. Он представляет младшие 80 битов адреса и СОСТОИТ из шестнaдuатеричны> цнфр 00090a0020fffe812b32. Приведем еще раз те же самые строки с вьшеленной локалЬНой частью адреса: Не упустите ИЗ виду тот фак-r. что адреса IPv6 caM по себе имеют определенную внутреннюю С1руктуру. В параrpaфе 13.4 рассказывалось о том, из каких КО"шонентов состоит адрес [РУ6 и что ОНИ означают r Лово 16. Сиcrемо доменных имен 475 
\ [хЗf"fе80S0020100090аОО20f"ffе812ЬЗ2/128J . l.p6..arpa. \ [хООО90аОО20fffе812ЬЗ2/ВО) . \ Lxf"ff402801008/4S] . \ [х2/3) . l.p6. arpa. \ [x00090a0020fffe812b32180] . \ [х80500201/32 J . \ [хfffО/lЗ] . \ [х2/3].iрб.аrра. Спецификатор /45 во второй строке rаБОрИТ о том, ЧТО 8 шестнап.uате Pl{qнo цепочке fff402801008 45 битов из 48ми являются зна 1 rащи,-ш. ОIJеви.ш..ю. разработчики стандартов С1Jитают, что для иас это развлеlJение  вбивать все эти фраrменты в DNSфайлы без ошибок. Записи DNAME делеrируют адресиые секuии дртим серверам -lмеН. Формат записеЙ имеет следуlOWИЙ 8И:1: БИ'l"DБаRС'lрока {ttl] IN DNAМE целеВОЙДОNеJol Идея состоит в том. что рilзныии частями адреса УПраВЛЯЮТ разные орrанизации. Вам принадлежат 80 БИТО8. вашему npoвal.jnepy  собственныи блок. ero провайдеру  свой и т.д. Проuесс делеrирования иллюстрируется на примере показанных ниже фраrментов. Здесь используется че-тырехблоко вое представление ПРИВОДИRшеrося выше адреса, при котором uепочка делеrирования прохолит от 1C0рневота сервера к серверу пропаЙдера и далее к серверу искомоrа домена. В данном примере директивы SORIGIN зanают контекст каЖllО ззтrnси. Эти фрarменты взяты из ЗОННЫХ файлов трех разных орrаниззuий: KopHeBoro сервера домена ip6arpa. сервера myisp.nel и сервера mуdоmзiл.соm. Таким образом, они не относятся к единой конфю)'раuии KaKorOTO одното ушз. KopHe.o сервер домена ip6.arpa  \lx2/3J.ip6.arpa  делеrnрует зада" HЫ 13битовый адрес серверу mуisр.пеl, для чеrа в зониый файл включаются следующие строки: ; передача aдpecHoro префv.кса серверу mysp. пе!. $ORIGIN \[х2/3] _ip6.arpa. \[хfffQ/IЗ] IN DNAМE iрб.mуisр.nеt. При этом создается нечто вроде псевдонима для задаиноrо адреса \lхiП1Jjl ЗI.\lх2jЗI.iр6.аrpа. и этот лсеВдОНИМ указывает на строку "ip6.mv isр.пеt.... Провзйдер, в свою olJepenb. передает З2битовый сетмет адреса серверу mуdоmаiп.соm. помешая пtкие строки в файл CBoe зоны iр6.ПlУ isp.nel: ; передача адресноrо префиУ.са серверу rnydom.an  net $ORIGIN 1р6 .тУ1Sр. net. \ [х8050Q20i/З21 IN DNh'1E :!..рЬ. mydotТ\ain.net.. Здесь формируется имя '.\lх8050020Ij321Iрб mУlsр.пе(.", которое. paC,Kpы ваясь из Ilредыдуwей записи DNAME, образует 48БИТО8ЫЙ префикс ацреса I Рvб. Эти 48 битов ЯВЛЯЮТСЯ синонимом имени iрб.mу-dоmаiп.соm Б зонных файлах домеиа iрб.mуdоmаin.соm посредством .lаПJfСИ PТR устанавливается привязка для оставwейся IJасти адреса: .$ORIGIN 1p6.mydomain.net. \ [хООО 90аОО20 ff [еВ 12ЬЗ2/ВО] IN PTR hos t . туаота1П. пеt.. Мы СОБе1)'ем не беСПОI<ОИlЪСЯ 110 ПОI:Ю!lУ делепtРО8анtя. естl у вас ОДIIН проваЙдер и система расположена в OДHO'I месте. Просто Вклю....Н7с весь 128рюрядиый ап.рес в файлы зон nряl\tоrа и обраТllоrо преобразоваНltЯ. Если у провайдерз ПРО-ИЗОДУТ ка...'Неrо изменения. он сообшит о них и иесложно будет самостоятельно отразить ю: в нескольких фаЙ.lах. 476 ЧОСТЬ 11 Робота в сетя)( 
Протокол IPvб еше ОПIOСИТеЛЬНО молод, по крайней мере с ТОЧКИ зрения ввода ero в эксплуатаuию ддpecныe канuелярии только начинают распреде пять адреса. Локальная часть адреса I pv6 никоrда не меняется, и это прекрасно. С дрyrо CTOpOHbl, большинство орrанизаllИЙ так же редко меняет csoero провайдера, поэтому биты. получаемые от провайдера. можно смело включать в зонные файлы. Напишите небольшой cueHapH на Perl, которыЙ помеияет префикс всех адресов. если вы решите перети к npyroMY провaJ!деру. Команды в файлах зон Закончив ИЗ)'llение базевы'\: записе о ресурса,,<. rlереЙilе\f к ЗНС1комству С командаМlI, которые 8ставляютСЯ 8 зонны фал для МОДИФllкаUIfИ после дуюших записей. Таких команд четыре: $ORIGIN ИWl  доиена $INCLUDE иuяфайпа $TTL стаНДi:lртное  знат,;:ение $GENERATE aplyиeHTbl Команды обязаны нач.инаться в первой колоике и занимать отдельную строку _ Korna демои namcd читает зоииЫЙ файл, он добавляет стандартное 11МЯ домена ('"исто'шик") к любому имени, которое не является полностью определеиным. Первоначальио ИСТО'ЧНIfКОМ СЛУЖIП домен, указанныЙ в соответствуюшей ИНСТРУКШIII zone В файле named.conf. Эту yt.cltlOBKY можно изменИ"Ть 8 ЗОННОМ файле посреilСТВОМ диреКП1 ыы .$ORI G IN. Исполъзование относительных имен вместо полных позволяет сэконом'П MHoro времени на вводе HaHlIbIX и делает зонные файлы 1.0раздо болс\': удобными для восприятия. Например. все записи JOH обратноrо преобраlО вания для сети класса Б с rpуппой 1I0дceтe MOryr находиться в ОДНОМ JOНliOM файле. rne пире......,.иВы .$ORIGIN устанавливают контекст каЖДОJ.j подеети И нстрyкuия ви.да $ORIGIN 243.138.128. naddr .arpa будет предшествовать з3п1кт..1 подсети 243. Ба мноrих орrаНИ18UИЯХ в зонные файлы включаются дире....'Тивы $INCLUDE, ПО380ляюшие разделять зонные базы !lаниых иа лопt"lесюt\': б.i10ЮI или хранить ключи шифрования в отдельном фале с оrpаниченньrми прапаМII доступа. Указанный в директиве файл включается в базу данных в том месте. rne стоит директива. ДиреКТИва STTL задает стандартное зиа'чеиие дJIя поля 111 заПJlсеЙ. идуших после иее. Раньше ЭТО знз'чение можно было определить rолько в записи SOA В BIND 8 рекомеНдУется размешать директиву .$TTL в Rачале ЗОННЫХ файлов. Б BIND 9 это обязательное требование, и те файлыI1 В которых директива отсутствует, ие будут lаrpужеиы. Б BIND 9 применяется конuепuия, известная как соrласование ВРС'lени жизни: все записи опиоrо типа, прJlналлежашие одному узлу, должны иметь одннаковое зна'чение nL. Используемое зиачение берется у перпой записи. относящеся к !lанной паре узел/тип. ЛиреJoп.ива $GENERATE. относИ"Тельно новая конструкuия В BIND 8. позволяет леrко создавать наборы похожих записей. В основном она применяется при работе с записями CNAME в файлах зон обраТНОI.О r лово 16. Cl.1cтeMO доменных имен 477 
преобразоизния. коrдз маски IlOдсетеи не проходят по rpанине баИТОR 8 IРадресе (см. докумеи-r RFC2317). Формат директивы Т3К08. SGENERATE на..аЛОКCJнец[/шаr] леВblЙарr l'ИI1 ПрdSblЙарr' rкомиеН'l'ариЙ1 а rенерируемыe строки будут иметь слеДУЮШJfЙ' пид: левыйарI' тил пpaBapТ' Поля начало и конец определяют диапазон знз'чений счеика UИКЛ3. ДЛЯ каж.доrо зиз'чения R лиапаl0не создается одна строка. Ссылка на с'четч-ик uикла в левом и прапом apryмeнтax осуществляется посредстROМ метасимRO- ла S. Если задан шаi!, СII.JетчиК uикла будет изменяться н" укаЗ3Нl-1УЮ величиНv, Поле пшп определяет тип 13ПИСIf. В настоящее время подnерживаются только залиси CNAME, PTR и NS. лричем лишь" BIND Б. В BIND 9 эта лоддер",ка. возможНО, появится в будушем. Конкретный пример ПРИ80ДlfЛСЯ при описа нии спеUИaJlьноrо применення записи CNAM Е. ЗОН о locolhost Адрес 127.0.0.1 обозначает исходный KOf,.mbIOTep и должен Bcerдa COOT ветствовать имеии '.localllOst....'lOKa.1bItbIiJ дОJrlеlt." _ например localhost.cs.colo rado.edu. В некоторых орraнизаuиях данный адрес связывается с имеием "localhosl.", как будто ОНО является частью KopHCBoro nOMeHa; подобная конфиryрация неверна. Если забыть сконфиryРИРОRать зону localhost, то компьютеры в системе иачнут запрашивать информзuию о самих себе у корневых серверов. ПОС,lед ние 8 настоя шее время ПРИI-Iимают так MHoro подобных lanpocoB, что "х администраторы раССМ3ТрИ8ают ВШlрОС об устаНOFJЛении соответствия между именем localhost и адресом 127.0.0.1 на верхнем уровне. Пример правилыlOЙ КОllфиryраuии зоны (oca.18Ost ПРШleден 8 napal"'Pa фе 16.15. Связующие зописи: ссылки между зономи у каждой зоны CBO набор файлов даННЫХ, серверов имен и клИентоВ. Но зоны должны бьrrь соединены npyr с друrом, чтобы ПОЛУЧ3..'lась связная иерархия К при-меру, домен cs.colorado.edLl является II.J8СТЬЮ домена colo rado.edtl, и в DNS должна с\'шеСТROВ:JТЬ связь между ними. Поскольку ОтСЬШКIt всеr!lЗ FIOзираШ3l0ТСЯ п наПРЗИЛСН1fИ от рОШПСllЬСЮ-fХ доменов к ilочерНltм, серверу Ifмен не обязателъно знать чтото о домеJ-IЗХ (TOII.JHee. зонах), Рi:кположенных выше R Itерархии DNS. В то же время серверы родительскоrо домена ДОЛЖНЫ хранить I Paдpeca серверов имен всех свокх поддоменов. По CYTlI, В ответ нз внешиие запросы t.tOlyr иозвращзтъся ОТСЫЛКИ только к тем серверам ю.!СI1, которые известны в родительскои зоне. rоворя Я1ЫКОМ DNS, родительская зона полжна содержать записи NS .nля каждой деле....ируеМой юны. Но n них указываются доменные имена. а не IPaдpeca, поэтому родительский сернер должен имеп.. способ KaKTO преобрaJовать эти имеНа. т.е. либо выполни1Ъ обычный DNSзапрос (ес.'1И при этом не 80зникает uнКЛltчеСJ.::ая зависимость). либо обратиться к собственным копиям соотвеТСТИУЮШИ1\ записей А. Реализомтъ это требование можно ДИ}'l\.fЯ путями: хранить все необходимые записи либо использоваТЬ ycell.JeHHbIe ЗОНЫ. 478 Чость 11 Робота в ceTX 
В первом случае в базу данных родителъско зоны включаютсЯ требуемые записи NS и А. Например. зонный файл домена colorado edu может содержать следуюшие записи: ,.,. . i информация о С5 под.поыена:к lN tiiS ns.cs.coloI:ado.edu. ltii NS рlреr.сз.еооrаdо.еdu. ltii NS ПЗ.:КОJ:.соm. IN NS ns.ee.colorado.edu. lN tiiS ns.cs.colOJ:ado.edu. ; связующие пз.с!! piper.cB па.ее IN " IN " IN " 12в.13в.243.151 126.136.204.4 126.138.200.1 .'Посторонние" записи А назыaIoтсяя связующими, так как они в действительности не принадлежат данной зоне. Они присутствуют лишь для тoro, чтобы связать новый домен с дереROМ имен lntemet. Отсутствие или некорректность связуюших записей приведет к ТОМУ. что часть aдpecHoro пространства окажется недоС1)'ПНОЙ и пользователи, пытающиеся обратиться к нему, будут получать сообщения об ошибке "hos\ uпknоwл" (неизвестный узел). Распространенной ошибко является включение связующих записей Ш1Я тех доменных имен. которые этоrо ие требуют. В 'частности, в показанном выше при мере an.рес домеиа ns.xof.com может быть найден путем обычноrо DNSзапроса. Запись А пля Hero ПОН8 11 .JaЛУ буде1 просто лишней. но впоследствии окажет "медвежью" услyry, если адрес домена по ка"'ойТО причиие изменится. Правило rласит, что записи А должны включаться только ДЛЯ узлов, которые находятся в текушем домене или одном из ero ПОдJlомеН08. Сушествуюшие версии BIND иrнорируют ненужные связуюшие записи, а их ПРИСУТСТ8ие фиксируется в журнальном файле ках ОIIIИБК8. Описаиная схема предстаиляет собой craндартньтй способ соединения зон между собо, но она требует, чтобы ДQII.Jерние зоНЪJ держали связь с родительскими зонами и уведомляли их об изменениях своих серверов имеН. Однако в связи с тем, что такие ЗОНЫ 'часто контролируются разными орraнизаuиями. это стаиовится утомительным трудом, требующим объедине. ния усилий нескольких администраторов. Как следствие, П реальной жизни под.обная конфиryрация 'часто оказывается устаревшей. Второй способ обслуживания межзоиныx связей заклю'чается в исполъ зовании усеченных зон. Они полностью подлерживаются в BIN О 8. ИО быJrn также доступны и в BIN D 4 (там о иих rоворилось как об экспериментальноЙ ROзможности). Усечениая зоиа. по сyrи, представляет собой то же самое, что и подчиненная зона. но содержит только записи NS. Усеченные зоиы прекрасио работают в BIND 8, rne данные различны,< зон смешиваются в памятн. ко в BIND 9 дела обстоят подрутому. В BIND 9 усеченные зоны llolDll.Hы быть одинаково сконфиrypированы на rлавиых и подчиненных серверах рОlIИтельской зоны, которые сами по себе достаточно сложно пoдnерживать в соrласованном состоянии. Поэтому лучше Bcero просто держать связь с родительским домеиом и проверять ero коифиryрацию хотя бы иесколько раз в rод. С помошью команды dig можно узнать, какие из ваших серверов в настоящи момент известны родительскому домену. Сиачала введите комвн.цу d1.g родн'Телъскийдоиен ns r ЛО80 16. Системо доменных имен 479 
чтобы узнать серверы имен ролительскоrо домена. Выберите один НЗ НИХ 11 введите d1.g @серверииен.родите.т:.скийдомен д()чернийдоuен nll чтобы ПОЛУЧ11ть список собственных 06шедос1)'ПНhlX серверов имеи. Усеченные зоны особенно полезны в ситуаuии. коrДа внутренняя ад.ресация зоны основана иа частиом а.цресном пространстве (см. докумеит RFC1918) и необходимо подперживать синхронизаuию с делеrИРОВ8НИЫМИ зонами. При мер содержится в каталоrе jsrcjconf/recursive дистриБУТИ8<l BIND 8. Следует упомянуть о некоторых особенностях усеченных зон. Усеll.Jенные ЗОНbI не содержат авторитетных копий зонных даиных. н усеll.Jеяные серверы не должны указываться в заmfСЯ)( NS зоны. . Поскольку усеченные серверы не упоминаются п записях NS. они не уведомляются автоматически при изменении зонных .наиных. Нужно либо добавить параметр alsonotl fy в конфитураuию rлавных серверов, либо просто дождаться истеll.JеНI-fЯ периода оБИОRЛения зоны. указаниоrо в записи SOA. . Теоретически демону named не нужны копии записей NS зоны, если он не может получить соответствуюшие записи А. Но он способен сам сеБJ1 ззrpузить, исполыуя IРалрес rлавноrо сервера, содержашиися в файле паmеd.сопf. Зачем оrpамичивать себя lаПИСffi.tИ NS? Почему бы просто не быть вторичным сервером подnомена? Этот прием тоже работает. Но если КЗ ждый сервер родительскоrо домена бу.нет одновременно сервером дочер Hero домена. то нижестояшне серверы никоrда не будyr получать ОТСЫJlОК серверы родителъскоrо домена станут предостав.."JЯТЬ ПОЛ1l0мену все функции DNS. ВО"'lМОЖJ-lО. ЭТО именно то. что нужно. а возможно  нет 16.12. Обновление файлов зон Korna в домен вносится изменение (например. добаRJJяется или удаляется компъютер). следует откорректировать файль! данных на rлавиом сервере. Кроме Toro. надлежит увеличить порядковый номер в записи SOA пля этой зоны и вьmолнить команду ndc reload. которая просиrнализирует дeMOH named о необходимости принять изменения. Можно просто уничтожить и перезапусnrrь демон (команда ndc restart), но зто вызовет уничтожение кэшировзнных данных. полученных нз ДРУПfХ доменов. В р3tIНИХ версиях BIND lUlЯ управления демоном паlПеd примеиялись сиrналы и команпа kill. но Korna у разработчиков перестал о хватать сиrналов. появилась комаНда ndc. которая исправила ситуаuию. Скорее вcero. в БУlIушем сиrналы вообше nepeCTall}'T поддерживаться (за исключением сиrнала HUP. вызываюшеrо повториое чтение конфитураuионноrо файла. и сиrнала TERM. припод.яwеrо к выrpузке демоиа). поэтому реко\(енлуем пользоваться KOMaH ДO ndc. Обновленные зонные данные будут переданы подчиненным сервеРЗ\f иемеШ1енно, поскольку параметр notfy включен по умолчаиию. Если же по какойто причине он был отключен. подчпнеННЪThf серверам прилется дожи.наться. пока истечет период обновления. УСТЗНОRЛсниый в записи SOA зоны (обычно ОТ одноro до шести II.ШСОВ). Б с!Т)'Чае. Korna нео6'ходима более СРОIl.Jная корректировка. можно выполнить на подчиненном сервере команду 480 Чость 11. Робото в ceT:К 
ndc reload, которая зает8Вwr ero связаться с rnавНblМ сервером, убедитъся в том, ЧТО данные изменены, и запросить пересылку зонных данных. При изменении имени или IPa.дpeca компъютера ие забывайте tOдифи- цировать зоны как прямоrо, так и обратноro rtреобразования, Если забыть о файлах, в которых хранятся данные для обратноro преобразо88.ИИЯ, ЭТО приведет к появлению скрытых ошибок: некоторые кома. ы будyr работать. а некоторые  нет. Если изменить файлы данных, но не обновить порядковый иомер в записи SOA, ТО изменения вступят в силу только иа rлавяом сервере (после перезarpузки). но ие на подчиненных. Не следует редактировать файлы данных. относяшиеся к попчииенньrм серверам. эти фалы вепет сам демон named; систеМНЫе anмииистраторы не ДОЛЖНbJ вмешиваться в ero работу. Лучше вcero только просмаТРИВ8ТЬ файлы данных, не делая в них никаких измеиени.й. По этим файлам часто можно обнаружить скрытые ошибки конфиryраuии. Наnpимер, доемиый проnyск ТQЧЮ1, который можно запросто не заметить в файлах коифиrypации I"Ш\Вноrо сервера. может привести к появлению в файле данных подчиненноrо сервера явно ложноrо элемента наподобие foo _ cs _ colorado. edu. СВ. col0rado. edu Документ RFC2] 36 разрешает производить зонные ИЗ'-Iенения через библиотеку API Функuий_ Эта возможность иазывается динамическим обнов лением: оио необходимо для прОТОКОЛ08 автоматическоrо конфиryрирования, таких как DНСР. О том, как работает данный механизм, речь пойдет чуть НИЖе. Зонные пересылки Серверы DNS синхронизируются посредством механизма зонных пере сылок. В исходной слецификации DNS (и в BIND 4) требовалось, 'lТобы все .!lаиныс, оТносяшиеся к той или иной зоне, пересьrnались одновременно. Инкремеитные обиовления были определены п покументе RFCI995 и реализованы в BIND 8.2. ПОДll.Jиненны сервер. которыЙ хочет обновить свои данные, запрашивает зонную пересылo.."')'' с rлавноrо сервера 1t создает резервную копию панных иа диске. ЕС1lИ данные на rлавном сервере не изменились. что можно опрелеЛlПЪ путем сравнения порядковых иомеров (не самих даиных), корректировка не ПРОИЗВОдИтся и резервные копии файлов практически остаются без ИЗfенений (лишь время их модификauии устакаИlIКВ8.ется равным текущему времени). Зонные пересылки осущесТRIIЯЮТСЯ по протоколу ТСР через лорт 53. Соответствую шее событие реПfСТРИР}'ется системо Sys10g С пометкой "named xfer". ОрrаиизаШfЯ I ETF определила. что инкреме.iтные обновления MOryт производиться либо по протоколу ТСР. либо UDP. но в BIND реаПИЗОRaИ лишь первый вариант Во время зонно пересылки и перелаюшlfЙ, и принимаюший серверы остаются доеrym-lЫМИ для запросов. Подчиненны сервер Н81fИнает иеполь зовать J"ювые данные только после завершения всей опершии. В BIND 8 пересылка осуществляется путем вызова отдельной проrpаммы namedxrer. а в В I N О 9 демон named упраВlIяеl даиной операцией напрямую. Как следствие, параметр narnedxfer, определявший пyrь к ОДI-Iоименно проrpзммс. лерестал поддерживаться в конфиrypauиониом файле B/ND 9. 481 r пава 16. Сиcrемо доменных имен 
Если зона очень велика (например. "сот"') или обновляется динаМ1ЧССI<:И (СМ. следуюший раздел). объем изменений оБыl.Jl-1o мал в cpaBHНlIII с размером Bce зоны. В этом случае используются инкремеlПные оБJ-JО"'ЛНШI. при которых пересылаются толъко изменения (в том случае. Korna ИJМСI.IСНШI преВЫШaIOт размер .юны, производится обычная зонная пересыкi1\.. ЭТОТ механизм нзломинае1 nporpaMMY patch: старая база ПЗ1-1НЫХ сраВИlНsаеТС1 11 синхронизируется с НОROЙ. Б БIND 8 для включения I-1нкремеtrrНbIХ зонных пересыло к С:IСЛУСТ указать демону named на необходимость ведениЯ журнала транзаКШI И рто делается в rлобальиой сеЮlИИ cpt10nS). а затем установить соответСТВУЮIU1II атрибyr в инструкции server любоrо сервера, которому нужны TaKIIC пересыJтки. Конфиrypвuионные строки выrляДЯТ так: mantalnixfrbase true: supportixfr t:rue: t а секцИИ options t в инструкции server Если требуется изменить стандартные имена журнала траизакuиil и BpeMeHHoro файла, используемоrо при иtlкрементных пересылкзх, РЗJмеСТllТС в инструкции zone следуюшие лирективы: ixfrbage .. иu.я фdйла": ixfrtmpfile "имя фай.n.а"; ft в инструкции zone . в инс'].'рукции zone в БIND 9 инкремеlпные пересылКИ fюдnерживаются по УМСЛ'I.JС1НIIIO lLISI любой зоиы, сконфиryрироваННОЙ на прием ДИИaJ.,.lических оБИО8.1еНllii. а демон named самостоятельно венет журиал транзакuий. В инструкu ии s.:::::'J,"- [ теперь поддерживаются две отдельные директивы: p(ovideixfr н questixfr. Первая ВI01ючает JUlИ отключает механизм инкремснтны'\ пересьток для зои, в которых сервер является rлавныМ_ Вторая делает то ЖС самое для тех зон, rдe сервер я-вляется под1fиненныM provideixfr уез: requestixfr yes; в инструкЦИИ server f в ииструкции server Пакет BIND не работае1 с 30HMH, которые одновременно MOryT обиовляться динамически 11 реД3kjИРОваться вручную. Сервер BIND 9 может инициировать инкрементную пересылку в результате динамическоrо оБНШI- ления или друrой постymtвшеЙ пересылкИ, но не Torna, Korna и]меНlтl вызваны редактированием 10ННЫХ файло". Вероятно. эта nозможно(;ть появится в сле.дуюШIiХ версия-х [шкета. Было проделаио MI-ЮfО работы. LlТобы в случае краха сервера 80 HpCM1 инкрементно пересылки зонные даиные ие препраШaJ1ИСЬ в МУСОР_ 1апрuс иа инкрементную пересыл.....у к серперу. который не подперживает д<:J.lНlhlll механизм. будет авroмаrnчески преобразован 8 обычный запрос иа оБНОR.1IСНIIС. Динамические обновления Система DNS основана на преДllOсылке, что соответствия между IIMell;1\!II и адресами относительно стаБJ.mьны н меняются нечасто_ Но это 111);11111:111 постоянно нарушается, если u орrаНИЗ311ИИ используется протокол [)НСР 11 при ПОДКЛЮLJении к сети компьютеру динамичес,ки назна L Jзется I PtUlpt:(" Имеется два классических решения: добавить обобшенные записи n б;lJ данных DNS или непрерывно редактировать DNSфайлы. В большинстu C!IY чаев ни одно из решени не является удовлетROРИТелъным. 482 Чоcrь 11. Робото о tt!If!), 
Первое решение ДОЛЖНО быть знакомо каждОМУ. кто имеет удаленный доступ к Iл!еmе!. Конфиryрация DNS в ЭТОМ случае выrл<IдИТ примерио следуюшим образом: .... dhcphostl. domain. dhcpho9t2 .domain. IN А 192.1613.0.1 IN А 192.168.0.2 Это простое решение, но ОНО означает, что указанныe имена постоянно связаны с данными IРалресами, а компьютер, получаюши новый адрес, меняе1 имя Б такой среде ТРУДНО соблюдать требования безопасности, да и просто реmстрироваться в системе под определенным имеием. Механизм динамических обновлений, появившийся в последних версиях BIND, преllЛаraeт альтернативиое решение. Он позволяет демону онср уведомлять сервер BIND о СДеланных адресных иазначениях. обновляя таким образом содержимое базы данных DNS "иа лету". Имеется также 11нтерфейс комаtШНоЙ' строки. даюший возможность выполнять динамические обиовле ния вручную. Посредстном дзнноrо механизма можно добавлять, удалять и модифици ровзть записи о ресурсах. rлуБИН8 обновлений  зона. HeMHoro страшно разрешать .nинамнческие обновления 8ce базы панНых DNS, ПОЭТОМУ мноrие орrанизаuии создают поддомсн (скажем. dllср_орzаIlUЗЙЦUН) и осуществляют динами'ческие обновления только в ero пределах. Динамические 06ноиления зоны разрешаются в файле named.conf посред стаом директиuы allowupdate. После Toro как зона была динамJt'чески обновлена, ее нельзя редактировать вручную  нужно снаllшла остановить сервер BIND, чтобы текущая копия базы данных была записана на диск. Затем можно отредактировать зонный файл и перезапустить демон вamed. Естественио, исходное форматирование ЗОННОrо файла будет разрушено (он буде1 выrлядеть как файл, который ведется демоном named на подчиненных серверах) И нкремеНПIЫС ..юнные псре-сыЛlШ по УМОЛЧ3Нltю поддерживаются пля зон, Ii которых IIСПОЛb-JУЮТСЯ 'ДННttмн'чсские обномеНlIЯ. Но через meX31-1It)М инкремеНТIЫХ пересьmок не распространяются J1зменения зоиы, осушеств ляемые посредством ручиоrо редаКПlРОвания rлавноrо файла, даже если остановить демон named, отредактировать зонны фай'1 и затем перезапустнть демон. 16..13. Вопросы 6еЗОПQсi-юсти DNS по С80ей сyrn  открытая система. Именно такой  открытой  она ВЫШJIa в свет. но в процессе cBoero рВЗ8lПИЯ приооретала все больше средств зашиты ИЛlI, по крайней мере, станопилась более заwишенно. По УМОЛII.J3НИЮ каждый. у Koro есть доступ в IЛlеmеl, может исследовать 'чужой домен отделъиыми запросами с поюшъю таки\: yrилит. КаК dig, host или nslookup. В некоторых случаях можно получить lIамп всей базы данных DNS. Для устранения ЭТИХ недостатков в последнJtе 8ерсии BIND были введены различные средства управления доступом, основанные на проверке адресов или КрИПiоrp8фическо аyrеНТl1фИ'К8UИИ. Б табл. 16.10 перечислены элементы подсистемы безопасности, которые настраиваются в файле osmed.conf. r лова 16. Системо домеНt-IЫХ имен 483 
Таблица 16.10. Средаво зоЩИТЫ в фОЙJ"\е nomed.conf boqU8 server ас! various Что определяет Кто м()ж.ет ПОСЬиtать запросы зоне ИJUt CCpIICp>, Кто может запрашивать 3otI.ныc ncpeCbI;uGI Кто может делать динамические оБНОR.IIСНИJl Какие серверы нужно ПD.ilНОСТЬЮ иrнорИрО ватъ Какие серверы никоrД8 нсльзя олрашиПJ1'Ь СПИСКИ управлСНШI дОС1)ПОМ C Q. 6 A CТ1l0 Ин стру кции a.llowquery options. 7.0пе allowtra:15fer option:!l. zone allowupdBte zone b!ackhole options Демон named может функuиоиировать 8 срепе, rlle корневой кaTa.10r измеиен с помошъю команды chroot. 11 Пр'И этом и меть неПРИDилеrированныи ипеНТИф1{}::атор пользонатеl1Я Таким образом, устраняется МЮIейшая Rершп. 1-ЮСТЬ рпзрушениfl. 8ыRаl-lнъlхx неКОJПролируемыми деj:;СТПИЯ\-fИ со стороны с\'пеРПО.'1ьзовзтеля. Блаrопаря C1-frlli\турам ТР:iНЗ:.lКIIИЙ демоН способен F<:01l тр0-1Ировать динамические обновления И конечно же.. он ПОЛНQL"ТЫО подnеРЖIfВЗет спеиификаuJ.lЮ DNSSFC 060 всем JTOM речь 11Оидет R следуюших разделах, Еще роз о слискох упровления доступом Список управления ДОСТУПОМ  -зто именованный сПИСОК СООТветстнШ адресов. KOТOPЫ может СЛУЖ1.fТЬ apl')'MCHTOM ра1личныx директив. в 'чаСПЮСПI allowqUI::!["YI all{)Wtrar.5fe!: 11 blarkh01e. Они позвОЛЯЮТ СПр3(iЛЯТlСfl с такими нарушениями зашllты DNS. ка..: имитаuия DOMeHHoro имени и атаКII вида "отказ от 06С'I\')lшвания". СИНТ3КСIIС списков 6ьт рассмотрен IlР'! описании инструкции ас! 8 параlзфе 16.9. В каЖдоЙ орrаНllЗiШlII1 ДО;Jжен сушеСТ801ЫТЬ по краПIIИ "'Iepe 01lllH ткor! СПИСОК ПЛЯ иедостy1lНЫ); адресов и однн  п.ля лока.'lЫIЫХ. Например: асl Dogusnet5 1 // спи,;::ок недостуnНЬО-: и фИК'l',,:вных се'l'еЙ О.О.С.О/В; // адреса с ПОlJ.стаt-JОВОЧНЫМИ знакаИt.1 169.254.0.0/16; 11 !<анаJlЬНОJtокаJlьные деле.l'ируемые адреса 192.0.2.0/24; // 'l'естовые адреса. НВrJодоQие example.com 224.0.0.0/3; 1/ npOC'l'paHCTeo rpYl1110BblX адреСО8 10. (J. О. (J/8: 11 ""ас.!'ное адреСi-:!ое npOC'l'paHC'l'BO (RFC191i31 172.16.0.0/8; // ч.аС'l't10е адресное L1pOC'l'paHC'I'BO IRFC1918) 192.:!.68.0.0/16; // часное а.пресное ПРОС'J.'раис'r8О (RFC1918) ,. acl cunets ( 11 список ::е'l.ей Уt1веРСИ'l'е!'а штата колорадо 128.1З8.0.D/16; // OCl-IОilнаFl 1<:аwпуСl-lая сеть 198.1:!..16/24; 204.228.69/24: " Каиа-ТIЪиолокальные адреса используются компьютераМII Масшtоsh и персоналЫILlМI{ компьютерами, которыс ДO;DКIIЫ работа rb 110 протоколу P. но lIe мшуr найти сервер ОНСР. В этом СЛУ"lве они просто НЗЗllЗчают себе адрес из сети 169.254.0.0/16. Адреса в ШIНlЮМ диапазоие должны жестко фильтроваться, чтобы несушие их пакеты н.икоrда нс ":МОLЛИ выйти 3з пределы локальной кабельнои системы. Кабельные и DSL",юдсмы также наlШIШ ют ПО.:1ьзоВ8ться этим апресныM дшюззонОМ. Не денайте часпrые адреса непоступным, CCl' OHI ИСПО.1ЬЗ)"ЮТСЯ дли КОllфш).рltрOlШНlIJl внутренних DNSсерneрОБ! Чоcrь 11 Робота в ceTiII) 484 
запускают пемон с ипентификатором пользователя 53. ипентифк..Iкатором rpyтrnbl S3 (ТОЛЬКО в BIN D 8) и корневым каталоrом /var /named. НОВЫЙ корневой каталоr H может быть пустым. твк каК он доЛ">+-.еН содержать все файлы' необхопимые дп-я иормальной работы пемоиа named: /dev/null, библиотеки совместно исполъзуемых функций, зонные фаЙлы. named.eonf и Т.Д. ЕсJП1 скомпилировать демон так, чтобы библиотеки компоновались статически, то не припется думать, какие библиотечные фаf1лы копировать в каталоr /var /named Хакер, взломавшИЙ демон named. получает поступ к системе от имени TOro пользователя. который осушеСТ8ИЛ запуск пемона. Если это пользователь root и корневой каталоr не был ИJменен. последствия MOryт оказаться ра.зрушительными. М ноrие администраторы не заботятся об исполъ:ювании флаroв H, g и a, но в таКОм СЛУ'-Iзе они полжны быстрее cтaВJfТЪ "заruтзты", чем хакеры будут атаковать систему в случае обнаружения очередной "дыры". Безопасные межсерверные взаимодействия посредством спецификоций TSIG и ТКЕУ Пока спецификация DNSSEC (ОffifС3НЗ 8 слепуюшем разделе) находилаСL в стадии принятия, орrанизаuия IETF разработала более простой механизм. названный TSIG (RFC2845). Он позволял орraнизовывать безопасное взаи- модействие серверов блаrопаря использованию сиrнатур транзакuий. Кон- троль постynа. основаиный на таких сиrнат)'рах. надежнее, чем контроль на основании исходных IPaдpecoB. В сиrнатурах транзаКЦИЙ применяется симметрнчная схема шифрования. Т.е. ключ шифрования тот же. что и ключ пешифрования. Такой КЛЮ'-I называется совместным секретны.м клюrlO.М. Для кажПОЙ пары серверов, кота. рые хотят орraнизовать защищенный канал взаимодействня, должеll исполь. зоваться дру""'Ой ключ. Спеuификация TSIG rораздо менее затраТIа в Вычислительном плане. '-Iем Ш1фрование с. открытым ключом, но она подходит только для локальноЙ сети, rде число пар взаимодействуюших npyr с npyroM серверов неве.тшко. H rлоба'lЪНУЮ сеть эта спеuнфикаuJ.lЯ 11е распростраияется. Сиrнатурами TSIG подписываются DNSзапросы и ответы на ЮfХ. 01111 передаются только чежду серверз'l.1И. но не межлу сервером и распознавате лем. Сиrнатура проверяется в момент поступления пакета и тут же отбрасывается; она не сохраняется в кэше и не становится частью базы данных DNS. Спеuификаuия TSIG поnyскает применение различных метоnан шифрования, но в BIND реализован лишь опин из них: алroритм HMAC МО5. Утилита dnssecke:ygen... Я8Ляюшаяся частью пакета BI N О. relepJtpyeT ключ дrlЯ пары серверов. Например, eC1ll1 имеются пва сервера, сереl I l.:epfJ2. команда .. dn...ck.Y9\11!1n 8 128 b п cepBlcepB2 создаст 128ра.зрядный ключ и сохранит ero" файле Kcep8Jcep8.2+151+00000.pn "ае. В этом файле содержится строка "Кеу:". за которОЙ следует собственно ключ, заlCодировзнныЙ по основанию 64. Сreнерированный КЛЮЧ представляет собой Bcero лишь дrlинное случай Ное число. Создать ключ можно вручную. записав ДSСПстроку нужной в BIN D S она называется dпskеуgеп. 486 Чость 11. Робото в сетях 
дnины И притворившись, что она закодирована 110 основанию 64. Можно также воспользоваться yrилитой mmencode Д1lЯ копирования произвольной строки. Способ создания ключа не важен; rлавное. чтобы он существовал иа обеих машинах. Скопируйте ключ на оба сервера посредством комаНДЫ scp либо вырежьте и вставьте ero в нужном Месте. Не используйте проrpaМ1\.'Iы tеlпet и Пр для копирования ключа: даже внyrренние сети MOIYТ быть небезопасны:ми Ключ полжен присyrствовать в файле паП1еd.сопf на обеих машинах. В связи с тем, что этот файл является обшедоступным. а ключ  нет, поместите ключ 8 отпельный файл, который бупет потunoчатъся к файлу паmеd.сопrпосрством инструкции include. 0' Команда scp является частью пикета SSR; см. tlарazраф 21.8. Например, можно создать файл scrvlscrv2.key и включиТЬ В Hero такой фраrмент: key servl serv2 { alqorithrn hrnacmd5; secret nсrенерированный КJIICJV"; 1; Режим поступи к файлу полжен бьrrь 600, а ипентификатор ero владeJrъца  таким же. как и у пемона паmеd. В файл named.conf. ближе к иачалу, нужно побавить следующую строку: include "servl5erv2.key"; На данном этапе был лишь определен сам ключ. Чтобы ero можио было использовать для подписи и проверки обновлений, следует заставпrь каждый сервер идентифицировать ДРУryю сторону посредством директивы keys. Для этоro необходимо 8 файл паmed.сопr первоrо сервера включить строки server aдpeccepB2 { keys ( sеrvlзеrv2; ); }; и аналоrично в файл паmеd.сопr BToporo сернера  такие строки: server адрес  cepsl { keys { servlserv2; }: 1: Любые предложсНJ1Я allowquery, allowtransfeI: и allowupdate 8 ИНСТРУJ(UИИ zone также полжны ссылаться на ключ, например: allowtrans:fer ! key servlserv2: }: Если вы впервые имеете пело с сиrнатурами транзакuий, запустите пемон aamed на KaKoeTO время Hi:I уровне отладки I (о режнме отладки paCCI<8]Ы вается в парar-рафе 16.14) и посмотрите, не будyr Л1i выданы сообшения об оuntбкзх. Старые версии пакета BIND не понимают ПОППИсаННЫХ сообшений и rенерируют сообшения об ошибках, иноrда даже отказываясь заrружать зонные панные. ТКЕУ  это механизм в BIN D 9. позволяюший двум узлам автоматически rенерировать совместный секретныи ключ без телефонных звоиков и упаленноrо копирования ключа. При этом используется. aлroритм обмена ключами ДиффиХеллмана. в которам каЖдая сторона создает случайное rлова 16. Системо доменных имен . 487 
число, выполняет над НИм определенные математические операшfИ 1-1 посылает резулы'аТ rrpoтивоположноfi стороне. Полученное ч-исло задЗIIНЫ\1 образом объепиняе1'СЯ с и-мюшимся. И получается один и ТОТ же ключ. Человек. прослушиваюший линию. будет JНaTЬ о содержании ceaHd. но не сможет ВЫПОЛНИТЬ обратные математические преобразования.. Технолоrи DNSSEC DNSSEC  это набор расширении DNS. llOЗDОJIЯIOШИХ аyrентифltlщро вать источник ПРОИСХОЖдения JOHHLIX данных и провернть Ш. це...10СТНОСТЬ, ИСПО.'lьзуя шифрование с открытым ключом Таким образом, DNSSEC дает возможность DNSКr,иеlпам задаать вопросы вина "L1еЙствительно ЛI зонныc данные поступили от nладе..iJЪца зоны?" 11 "Те ли 'ЭТО данные, которые 11ОСЛал владелец?" . DNSSEC преШlаrает три раЯIЫХ сервиса: Р.lспреде,ение ключей пос_ред СТВОМ записей КЕУ. храняшихся в ЗОНнЫХ файлах. проверка ПОШlИННОСТII серверов и данных. а также I-Iропсркз целостностн ЗОнных данных. Система основана на цепочке новерия: корневые серверы прдоставляют подтnеРЖдi1Ю Ш)'Ю информаuию ,д,lЯ доменов вepXHero УРOIШЯ. те  ШlЯ доменов BTOPOI'O уровня И Т .Д. В система>. шифроию-шя с OTt\pbITbIM "'.l101JOM llмеется дна ЮIЮ1IЗ: ОДШI шифрует (подписывает-) сообшеНlе. <1 ДРУI.01 деШllфрует (проперяетI t:ro Опубликованные дйнные ПOlJЛИСЫRЭЮТСЯ секретным "ЛII'-lНЫМ" КJIЮIOМ Любой может прорить праЩIЛЫIO(:П.. 1.:lrf{aтypbI с поtoШЬЮ ..0TKPbITOI'O" ключа, которыЙ сиободно рнспростраllяется. Если открытыЙ ключ Ilравильно расшифровал JОнный фаЙл. значит, зона БЬU1а зашифрована соответСТИУЮЩllМ ЛИЧНЫМ ключом. Cyrb в том, чтобы убеНИТЬСJI в ПОnЛlfННОСти OTKpbITOro ключа, ИС[lОJJЪЗуемоrо ПЛЯ проnерки. Понобные системы uшфрования позво Ляют одной ИЗ сторон ПОсrd81ПЬ свою ..подпись" на открытом "'ЛlQtlе. передаваемом друrшi стороне. rараllТИрУЯ П.lКilМ оБРЗJОМ леrиrимность КJlЮ'I.I. Отсюда TepMllH ..ueIl0IK8 довеРЮ1.' Ланные, состаКЛЯЮШilе iOHY. 'lepectlYP ЯС.III 1\:1 I Д"IЯ ШIIФрокаНII)! с открытым Ю1ЮIIО[ ПрОlJесс шнфРОН\IIШ! 11O.1У I IIПС51 сrlllШКО\.l Mt:nJlt:HHIoIi\l Вместо 3Toro. поскольку данные сами по себе не секретны. над н"ми 8ЫIIОЛНЯется ХЭШКОДl-lрОI:iЗНI1е (1< IlpIIMCp.. IIСllOJlыуется KOHTpO:lbHS1 сумма МО5), а реЗ}'1ьтат ПОППИСЫli<iется (Шllфруется) секретным к.,1ЮЧОМ ЗОНЫ. Полученный ашифропаl-lllЫЙ ХЭIUКОД называется цифровой 1l0dllLlCbIO или сиrнатурои. Uифропые ПОДШIСII 061,1111-10 ПрllсоеШ-lllЯЮТСЯ J<: данным. IЮД.:ШННОСТЬ "-оторы, ОШ1 устанавливают. Для проверКlI сш.натуrы ее нужно дешифровать открытым к.ЧIOIOМ ПОДI1lIс-аnшеrо, npOrtlaTb llJtlllbIe череj тот же а..lrорIП\.1 Х,jШКОДI1ро8i.\НIЯ 11 ср;аRlIIIП ВЫ'-llrСlенНЫЙ ХШКО..1 с расшифроваIIIIЫ\I. В случае СOJНlаlI:НIIЯ 1l0..111нс,шшее .'1I1U0 С"lНтает(:я yrеНТIfФIШI1ронаНl-НМ,'\. з ШН-Iные  uеЛОСПIЫМII. В DNSSEC к3.Жnая -ЮН IIMeeT СВОII оп.рытые н сскrстныс К.'1Ю 1 11I Секретным ключом ПОДIll1СЫli2lеТСJ1 ки-жлыи набор pel\pl:OB (Т.С. 8СЯКlfll f--J<Jбор заm1сей ОДНОl.О типа. ОТНОСЯIШ1ХС51 1\ OllHOMY уз.1У'. Открытый I{;'1ЮЧ IIСnОЛ6 Jуется ШlЯ nроверЮf СИТIIЗТУР J! []Юlючается в JOHf-ryю базу HaHlibI'\ n IIIIДС "'пиен КЕУ_ в осноне методИКИ лежиr тот факт. что в модульной ар11фМСТН-КС ВОJве.деюt в cтenCllb  леrкая операuия. а наЙП1 .'юrарllфМ, чтобы OIlрсделlПЬ с.п'пеl{Ь. 1101.11"11 НСВО..JМОЖНО. 488 ЧОClЪ 11. Робото е сеПI:Х 
РОДlIте:IЬСМlе 10НЫ ПОдl1lfСЫRIIЮТ оТКр6ПЫ к.71ючlt СВОIIХ llО'lерни\ 10Н. Лсмон namrd ПрОllерSlет ПОД;IНlIIЮСТЬ записи КЕ' дочернеЙ ЗОНЫ. сраННtti:IЯ ее с Cltrll3TYPoA РОllИТС'lЬСКОЙ .зоны. Для проесрки по.п}шнНОСТI1 ПОС:lсдней 'nI:MOH обращатся к рошпельскои JOHe более EbIcoKoro уопнп и Т.Д. flll:ЮТЬ ПО корневоя зоны. F е открытый К'1юч Irмеется в файле корневых .'подск.азок -'. Для С01ll.ания и ИСПО:lbJОВЭlШЯ подписанных 10Н требуется проЙти несколько 'Этапов. Сначала нужно ПСНСрI1рШi<:IТЬ [Iapy КЛЮ'lеЙ nЛЯ зоIJы. ':}ТО де.'1зется с помошыо такой комаНдЫ в 81 N D q:  dn1!lsec)(eY9Bn a DSA b 768 n ZONE mydomai.n.com. И.111 В 81 '1О 8' I d.nвkеуgел D76B z п mydomain.com. 8 'raO!I. 1611 ОПlII...3IЮ liпна'IСНIIС .1р"lентои .:lТII КО\ЫIIД. т 06лица 16.11. ОП1соние opryMeHToB «ОмОНД dnsseckeygen и dnskeygen ApryMe дл,. dn5secke)en О$А o 768 Назначение л ZONE тyCio.iI:"r\. co;r. д.'IJI dnskс)'gсп 0768 ИСПО;'IыоваНI1С 2.JlrcJ.ITl.ia DSЛ СОlшttlltе 768--БЮО80А IЫРЫ КJ\ЮЧСPi Со-щанис }(.'1Ю"СЙ для зоны rnуdоmаiп.СОI1l myaoroan _ <-от. Ислот.]онаНIIС а..лrОрllТМi:I DSA с 7Ь8раЗрIlЩIЫМ Io:..IЮЧО)' Создание ЮIЮ'IС1 ЗОНЫ СошаНI1С ключей для ЗОНЫ mydom8in.com Комзн.з.ы dпssеС'kе-gеп и dnskeygell f!ОЗВр.3шают спе!1.уюшиtt реЗУ:llЬТ3Т: alg 003 key ldenti[E' ::3..:;:; f::".ags  1664 ОНИ та...жс СОШ/НОТ ф.ШJlЫ. СОllерЖйшие OТKpbIrblli 11 cc"-реПIЫН К:'IЮЧН: Кmуdоmаlл.соm.+ООЗ+12345.kеу  OI':"'-:РbJ'::>blt: ключ Kmydom&i.n.co-ш..+003+1234S.рri.V<l!l.tе IJ .::е::<:ре'.ШolJ7: :-:JLIO"l Файл on<pbIToro ключа обычно RJ{.lЮ'lается в :юнный ф.1ИЛ с ломошью тtрективы $ :r'.CLUDE. Чаше RCero он IIЛCT сразу же 1l0СПf ЗВПIlСlt SОЛ. TCXHO.10J IIЯ DNSSEC ос.нована 113 приншlП uеllОЧКlI ПОБерия. T.f' открытын КЛЮЧ 'юtlы ДО.:lжеll быть ПОдllllС3l1 ef' рОШlТе.1ЬСКОЙ JОНОЙ. чтобы С'lИтаться TC!paIlTltpoH3HHO IIМеЖНЫ1\I. В 81O 8 нет MexiВ.НlI3Ma. которыЙ заСТйНИ..rr бы рО!1.IIТС.1ЬСJ..у'Ю зону IIОДТ1l1сатъ ключ дочерней ]оны; едннственныЛ BbrxO..'l  В1LШ\fOll{'ЙСТl3lfе <iПминItСТрЗТОрОБ. 8 81 f\iD 9 11\lеется nporpi1MMB dnssecmakeke}'et. УПРОIШIЮU[3Я )тот проuесс. ТlporpaMMa dnssecmakeke'set УIlЗКООЫнает к.1ЮI.1. которые нужно 1I0дпtt сать (ЭТО MOlyr Бы1ъ не ТО.'1ЬКО щнные к,1ючtf). устанаВ:1Ныает JЮ!lrеНIIС ITL n"'lЯ полученноrо H60pa. задает период л.сhСТIНIЛ сиrнатуры. а зате1 ПОСЫ:lзет пакет е ро!lJпельск}ю ЗОllу' на ПОШIIIСЪ. Например. komaJ--ЩЗ t dn...cl'IUIk.k.y..t t 3600 . +864000 :КШуdоm&in. COAl. +ОО3+12345 489 r паве 16 Сcrе"ш домеlщЫ)( име>1I 
ynaKoBblвaeт открытый КЛЮЧ ЗОнbI. который бьm сrенерирован выше. устанавливает время жизни пакета равным 3600 с (один час). а срок пействия роmпелъской сиrнатуры  10 днеЙ начиная с текушеrо момента. npolpaMJ\.f3 dпssесmаkеkеуsеl создает один ВЫI(ОДНОЙ файл, mydomBin.com.keysct. Ero нужно послать в родительскую зону на подпись. Он содержит открьrтый ключ и сиrнатуры. созданные сами'ми ЗОННblМИ ЮIючами. чтобы родительская зона моrла проверить открытый ключ почерней зоны. В BIND 9 родительская зона использует проrpaмму dпssесsigпkеу дли подписи ynакованноro набора кmoчей: t dn..ti!lc.ignkey шуd.0ш4in. сош. keyaet I(com. +003+56789 Эта команда созд.ает фзiu1 щуdоmаiп.соm.sigпеdkеу, который ропительская зона ("'сот") возврашает дочерней зоне (l1lydomain.com) дпя включения R ее зонные файлы. В BIN D 8 этой же uели служит проrpамма dnssigner. Получив родительскую сиrнатуру, МОЖНО начать подписывать реальные зонные панные. Этот проuесс происходит слеl1УЮШИМ образом: берется зонный файл и после каждоrо набора записей о ресурсах ставятся записи SIG и NXT Первые содержат реальные сиrнатуры, а nтopLle обеспеЧИП8ЮТ подпись отриuательных ответов. 8 BIN D 8 uифровые поптiСИ ставятся посредстиом nporpaMMbI dпssigIlсr. расположеиной в каталоrе contrib дистрибутива. 8 BI N D 9 дrlя ЭТоrо используется протрамма dпssесsigпzопе. HanpI-lМё:р. команды dne8iqner or mydош..in.соm zi db.D1ydolll.Ain жо db.шуdош..in.аiqnеd kl DlydollLiain.colII д.А 123"'5 .t dn.8.c.iqnzon. o шуd.oш.аin.СОIII db.D1ydom.ain BIND 8 BIND Э читают зонныЙ файл db.mydomain и создают попписанную версию зонноrо файла, иазываемую db.mydomain.signed. Первая из комзнд отображает также crаТИCПIЧесхую информаuию о процессе простаНО8КJI подписи (ззпраШИRa стея параметром st). В частности, сообшается, сколько времени заняло попписание. и ПОК3..1ываеТся. какие записи БЬUIИ добав..'1ены «ли удалены. Запись SIG содержит мнОТО информаUIfИ: тип ПОЛПИСЫRаемОЙ заПIIСИ; . используемый алторитм (в ПШiНом случае  DSA); ЗНаченИе nL мя nодписаннш"О набора записей; срок пействия сиrнатуры (в формате zzzzл,/.Мддччсссс); время простановки подписи (также в формате li!2ММ()дччсссс): идентификатор ключа (В данном случае  12345), . имя ПОДl1исынаюшеrо (mуdоmаiп.соm.); наконеи. сама uифровзя подпись. Чтобы можно было работать с подписанноЙ зоной. найпите в фаl1ле named.conr зону mydomain.com JI измените в ННСТРУКЦlIИ zone параметр f  1 е так. 'rrобы он указывал на файл dЬ.mуdоmаill.sigш.'d. а не dЬ.mуdопI3Ш. В BIND 8 нужно также ВКЛЮЧIТЬ н инстр}'кuию zone пре1.U10жеН1iе pubkey. Дело в том, что сервер BIND 8 IIроверяет зонные панные по мере их заrрУ"JЮI. поэтому он полжен знать I01lОч заранее. 8 81 N D 9 такая проneрка OТCYТCTII'CT: сервер берет открытый КЛЮ'I из запнси КЕУ зоны и не требует никаюо. друrих настроек. Uифровые подписи прекрасно ПОдХодят для положительных отпеТОII следуюшеrо вила: .. вот 1 Paцpec узла anchor.cs.colorado.edu, 8 ВОТ сиrНOIтура. 490 Часть 11. Робота в ceTX 
показывающая, что панные пействительно поступили из домена cS.colorado_edu и эти панные корректны". Но что пепать с Оl1Jиuательными ()ТВ(:тами напопобие "Нет TaKoro узла"? При таких oтneтax обычно не 8Озврашаются подписанные записи. В DNSSEC проблема решается за счет записей NXТ, в которых указывается следуюшая запись зоны, отсортированной в каноническом порядке-. Например, если после записи anchor.cs.colorado.edu Иде1 запись awesome.cs.colorado.edu и поступает запрос к узлу anLhill.cs.colorado.edu, в ответ буi1ет получена запись NXT следуюшеro вида: ancho-r. cs. col0rado. edu. IN NXT awesome.cs.colorado.edu А. мх NXT Она rоворит о том;: ЧТО сразу после имени "anchor" в зоне cs.colorado.edu следует имя "awe.some", а имени "anchor" соответствует как МИНИму1-.f опна запись А, МХ и NXT Последняя запись NXT в зоне ССЬUJается на первыif узел. К примеру, запись NXT Д11Я имени zamboni.cs.colorado.edu ссылаеТСЯ на первую запись, т.е. на сам домен cs.colorado.edu: zambonl.C9.colorado.edu. IN NXT cs.colorado.edu А. мх ЮСТ Запись NXT возврашается также в том случае, если узел сушествует, ио запись З31lрашиваемоrо типа отсутствует. Если, скажем, запрос произвопится к записи LOC узла allchor. будет вылана та же самая запись NXT, что и показана выше. но 8 ней бупyr отображены только записи А. МХ и NXT И:lIlОженный здесь материал касается реализаuии DNSSEC в BIND 9.0.0 (июль 2000). В пакет непрерывно вносятся знаЧИ"fелыrыс измеиения, поэтому информация вряп ли бупет оставаться корреКТНОЙ в течение долrоro времени. Как всеrда. точные петали можно узиать в справочных руководствах и документации к пакC'l)' BIND. Помня об этом. рассмотрим, какие потенци- альные проблемы MOryr возникать в текущей. реализаuИ1t DNSSEC. Спецификаuия DNSSEC не соrласуется с понятиями кэширования и переадресаuии_ В ней преЛПО-'1аrается, что запрос сначала адресуется корневой зоне, а затем следует за отсылками 8НИ1 по дереву поменов в поисках ответа. Каждая ПОЛП'С:lННая зОн R СВОЮ очередь попписынает ключи своих ПО"lерннх ЗОН, и эта uепочка поверия Нiадежна и нерушима. Если же в системе имеетСfl переадресуюший сервер. то пер80начальный запрос попадает к нему, а не в корневую зону. Кэшируюший сервер. посылающий запросы через переадре сующий сервер, бупет перепроnерять ситнатуры, поэтому ответы бупyr rарантированно надежными Но чтобы запрос имел успех, переадресующий сервер должен уметь возвращать все записи SIG и NXТ, требуемые Д11Я проверки сиrнатур. Серверы, не померЖИВ8юшие спецификацию DNSSEC, не умеют этоrо пелать, и в ПО"l/t.lентах RFC ничеrо не rоварится О проблеме переадреС311ИИ. В BIND 9 реалlвонан ряд дополнительных мехаНJtЗМОВ помимо тех. которые определены пок\'ментом RFC:!53S. поэтому кэшируюшии серпер BIND 9 способен работать ло лротоколу DNSSEC через переааресуюший сервер BIND 9. Таким образом. для ОдllOвременнщ'о использования прото кола DNSSEC и переa.nресуюшеrо серпера во всей системе полжен быть устаноnлен пакет BIND 9 Это разновидность алфавитноrо порJUlК3, при котором имена, стояwие выше в иерарXJ.tИ DNS. указываются пеРВblМИ. Например, в зоне cS.colorado_edu имя cs.colorado.c:du следует перед любым именем узеА.cs_соlоradо.с:du В рамках одноro уровня иерархии поря.док сортировки  алфilВJПНblА. r rЮБО 16 СистеМQ доменных имен 491 
Технолоrия DNSSEC основана иа сушествовании инфраСТРУК'I)'рЫ OTKpЫ ты1x Ю1ючей. которая на практкке еше не Реализова.на. Нет чеПЮrо способа заставить ропителъскую зону подписать ключи почерней зоны; нельзя послать письмо по адресу hos(name@com и получнть в ответ подписанные ключи. Широкое распространение технолоrия DNSSEC. вероятно, получит в бли жайшие несколько пет. Сначала. очевидно. появятся пошIисанныe версии корневых зон. Сиrnатуры транзакций (технолоrии TSlGrrКEY) требуют меньше про ueccopHoro времени и меньшую полосу пропускаюrя. чем систеМЫ аyreнти фИК8UИИ с открытым ключом. Но они rарантируют подлинность mпuъ оmравителя. 8 не самих данных. Было бы неплохо взаимодействовать по технолоrиJl TSlG с сервером, реализующим протокол DNSSEC, однако невозмоЖНО установить подобные отношения с каждЫМ сервером, так как технолоmя TSIG требует ручной настройки DNSфаЙJlОВ Мiсrоsоft  плохо, UNIX  хорошо в Windows 2000 записи SRV используются для наХОЖдения Bcero: серверов имен, приmeров, файловых систем и т.п. Реализуя записи SRV. компаН}lЯ Мiсrоsoft следовала спеuификаuиям орrанизаuии IETF, но способ вставки этих записеЙ 8 базу данных DNS посредством зашишенных пинамических обновлений совершеюю нестандартен. Компания использует разновидность сиrнатур транзакций, называемую спеuификацией GSS TSIG. которая также основана на совместном секретном ключе. Ключ можно получить через систему Kerberos из центра распределения ключей. Вся прелесть в том, что реализаиия Kerberos, используемая компанией Microsoft. не совместима с открытой версией Kerberos 5 И как ПРlfкажете называть тех, ..."То все зто придумал? Если нужно работать с Win2K и использовать записи SRV, придстся отказаться от существуюшей системы Kerberos и запустить сервер \\/in2K Kerberos. Для мноrи.: орrанизauий, [де вся инфрастрyr.."ТУра давно налажена, это становится неразрешимой проблемой. Возможно, компаННЯ Microsofl разработает какието свои расширения. Через неделю после TOro, как была выпущена ОС Win2K. число запросов. адресуемых корневым серверам DNS. резко возросло. Пропеденные иссле.nо. вания показ3JlИ. что неправильно сконфитурированные системы Win2K пытались динамически обновить корневые зоны ИЛИ зоны BepXHero vровня. В результате число UDРзапросов к корневому сер-веру А увеличилось более Чем Вllвoe. Хуже Toro, коrдз запросы на обноаление З8КВНЧИвались неудаl.,ей, системы Win2K открывали ТСР.соединение, чтобы запросить запись КЕУ и попытаться вьmолнить аyreнтифиuированное динамическое обномение. у KopHeвoro сервера неТ ВОЗмОЖНОСТИ отвечать на миллионы запросов об устаноалении ТСРсое,nинения. На момент выхода книти в печать проблема все еше не была разрешена. Операторы корневых серверов тычут пальцам.и на сотрудников Мiсrоsoft. а те rоворят: "Нет, нет, это не мы!" 16.14. Т еcrирование и отладка Демон named располаrает рядом встроенных средств отлад:ки, ОСноВное из которых  великолеПН8Я подсистема журнальной реП-fстраиии. Можио также задавать уровни отлa.rrкн в строке вызова пемона или YCTaHaВJIlffi8TЬ их посредством 'Команды ndc. Имеются команды. заставляющие пемон вывести 492 Чость 11. Робото в се'" 
статистику результатов своей ра60ТЫ в файл. С помошъю проrpаvм dig и nslookup можно проверить. правильно ли функuионирует McxaI013M поиска имеи. Журнальна реrистраци Возможности подсистемы журН8..пъной реrистрашш демона named дейст вителъно впечатляют. Сервер BIND 4 использует систему Syslog для записи сообшеI01Й 06 ошибка.'I( и различиых аномалиях В BIND 8 конuепuия журнальной реrистрации обобщена: добавлен еше одИн уровень переадреса UИ11 и поддерживается направ..lенис: сообщений непосредственно в файлы. ПреЖде чеr-..! перехошпь к дета..1ЯМ. ПРИRепсм t.н!нисловарь терминов. связанных с журнальной реrистраUl1ей в naKeTe BIND (табл. 16.12). канал Таблица 16.12. ЛеkСИI(ОI-l покето BIND Термин катсroрJ1Я модуд!> средство серьсзt1ость Что означает Место. куда налр8R1lЯ1OТCН сооБЩСНJUl: система Sys1og, файл или yc-rpОЙСТ8Q Idev 10011 KIJ8CC сообшсний, rснсрирусМhJХ демоном asmed; например, сооб щения о динамических обновлс:НИRX или сообшени.я об от.вс:та.,< на запросы Имя ИСJЮllНОro модуля. который сl"t:нерировал сообшенис: (только в BIND 9) НаJвание средства системы Syslog; за DNS не 38креlUlсно собствен ное сре.аство. но МОЖJ-IО выбрать любое СТ8ндартное Степень тяже<..и сообшени.я об ошибке; то, что в Syslog называется I1рItОрИТС-том КонфиrУРI-1РОШlllие журнаТ'lЫЮЙ подсистемы осуществляется при помоши ИНСТРУКUНIf lagg1l1g В фаt'Сlе namcd.conr. СII3Ча.::ш определяются каналы  возможные пнкты достаВt-..'lI сообшениt1. Затем различным катеrориям сообшсний назначаются те KaHa..lbl. .....уда они будут поступать. При l'"Снераш-I1 сообщения ему назначается катеrорня. модуль (в BIND 9) н уровень cepbl3HOCTl1. После поrо ОIiО рассылается по всем каналам. связанным с lШННЫМН KaTerOplteft н модулем. В кажаом канале имеется фильтр, опредсляюишй. сообшеllИЯ K3Koro уровня серьезности можно про пускать. Кана..IЫ. вед)'шие Б CI1CTCM)" Syslog, подверrаются ПОПОЛНlfтеТ'lЬНОЙ фИJlьтраЦЮi в соответствии с праВJ.Uтам-и. устаноалеlll-fЫМИ в фаИllС /cl.c/sys log.conf. Вот оБШIlЙ НИЛ ннструкшш loggirlg: loqginq ( определение  каНёJЛiJ; определение  канала; cat.egory ИJ.IЯка'еl'CiРИИ ИNJ:l KaH.3.r;!;;;t; имя.  канада; ); ); 493 rЛ080 16 Системо доменны); име... 
Определение каиала может выrляnеть HeMHoro поразному в З3ВИСИМОСТli от тoro. ведет ли он к файлу или к системе Syslog. Для ка.ждоrо J.::3НilШt необходимо выбрать либо тип file, либо тип syslog; совмещать их КШIа.П Не может. channel юnr  канала ( file путь [versions числоверсI01 I unlimir.edl [size размер]; syslog средство; severi ty серьезность; printcategory уез I по; prln1:.severir:y уеа I по; prlnttirne yes I по; ); Дпя файловоro канала артумент числоверс:uй сообщает. сколько резеРВНblХ копий файла нужно хранить. Apryмeнт размер указьшает, какой лредельный размер файла допускается (лримеры: 2048, 100k, 20т, 15ч, unlimited. deJ'au1t). Дпя каналов системы Syslog задается имя средства, указываемое при реrистраll.ИИ сообщений. Это может бытъ любое стандартное средство, ио IШ праlCТИ1(е единственный разумный выбор  средства daemon и localOlo саН. o Список средств {.'ucme.t/bl Sys/og прuводилсл в lIuрuzрифе / /.5. Остальные предложения в опреnелении канала яRЛЯ1ОТСЯ необязательны. ми. Apryмeнт серьезность может принимать следующие зиачения (в порядке снижения приоритета): critcal, error. warning. notice. infa и debug (к нему может добaanяться номер уровня. например severi ty debug 3). Понимается также значение dynamic, которое соответствует текушем}' уровню отлa.mcи сервера. Различные параметры семейства print ЗlДают или отменяют вывал различных префиксов сообшений. Система Syslog добавляет перед каждым сообшением метку времени и имя узла, но не уровень серьезности или катеrорию. В BIND 9 существует также параметр. позноляюший отображать имя исходноrо файла (модуля), сrенерировавшеrо сообшение. Параметр printtime рекомендуется включать ТОЛЬКО для файловых каналов. посколь ку В Syslog произойпет ненужное дублироваЮfе информauии. В табл. 16.13 перечислены четыре кзнала, определенные по умолчаншо. В большинстве случаев соз.цавать новые каналы не требуется. Таблица 16.13. Стандортные KOHOl1bI журнольной реrиcrраulo1И покето BIND Имя каНQЛО НозначеНlo1в defaultsY51oq ПОСЫJIвет сообwеЮiЯ уровня info 11 выше в систему Syslog от имени средства daemoD defaul t  debug Направляет сообщения в файл named.nm; уровень серьезности устанавn.ивастся рапным dynamic defaultstderr Направляет сообщения в стандартный канал ошибок лемона oamed с уровнем серьеэнОС1'И info null Отбрасывает все сообщении 494 Часть 11. Робото . свт,. 
в табл. 16.14 прнneден список катеrорий сообщений, подnерживаемых в BIND 8 и 9. КатеrориJt версии 9 еше не полностью определены. Если в столбце Версия указано '"Sj9?". ЭТО означает, что К8теrория существует в BIND 8, но еще не подltерживается в BIND 9. Таблица 16.14. Котеrории сообщений ПQJ<ето BIND Котеro р ия Ве рс ия default 8/9 generai 9 config 8/9 parser 8 queries/cl1..ent 8/9 dnssec 9 lameserver.s 8/9'! stаtisсiсз 8/9'! panic 8/9" upda te 8/9 псасЬе 8/9'! xferin 8/9 xferout 8/9 db/database 8/9 еvелtliЬ 8 packer. 8/9'! notify 8/9 8/9" securiJ:Y 8/9 8/'!! insist 8/9? ma.intenance 8/9? load 8/9? rезропsесhесks 8/9? resolver network Что oxвa'Jыоет Катеrориlt, ДЛЯ которых НС: был явно назначен канал' Нсклассмфиuирова..н.ные сообwения этап аН8.J1Иза и обработки конфиrypaциокноro файла Этап низкоуровиевой обрабоl'КИ коифнl)IpВциОННОro файла Короткое сообщение ДЛiI каждоro запроса, прин.имас: MOro сервероМ (!) Сообщения системы DNSSEC Сообщеиия о серверах. которые, как предполаraСТСА, обслуживают зону. НО на самом .оеле это не тaK 1 ОБШJ1С статистические сообшения сераеров имен Фатальные ошибки Сообшения о динамических оБНОВЛСtUtЯх Сообwения о кэшировании ОТРИЦ8тeJU:,иых ОТИСТОВ Сообщения о зонных пересЫ11К8.Х, принимаемых cep мером Сообщения О зонных пересы.лках, отправляеМblХ cep аером Сообшения об операциях с базоА .aaННhIX Отладочная информация. поступаюшая от системы обработки событий) КОnШI принимаемых и отправляемы.х пакетов 3 Сообщения 06 изменеиии зоны Сообщения вида ..... указывает на запись CNAМE.' Прин.ятыс: или не прин.ятыс запросы Ошибки операиионной системы Внуrpeнние ошибки Периодические служебн.ые события Сообщеиня о зarpузке зоны Пояснения к неnpаВИJIЫiО сФОРМИРО88.НJ1ым или невериы м ответным пакетам Операции преобразоua.ния имен, например pcкypcкв ныЙ поиск, 8ыполняемый от имеим клиента Сетевые операции В BIND 8 в катеroрию defaul t попадают также исклассифицированныс сообшения. это может быть как РОДИТСдьская, так И дочерняя зона. это должен быть единый файловый канал Полный список катеrорий ВI N D 8 сопержнтся " файле /include/dn./ confcommon.h. В том же каталоrе находитсЯ файл log.h СО списком модулей. rлова 16. Система доменных имен 495 
в BIND 9 эти файлы называются I1b/dns/lncIud./dns/1og.h и bIn/named/ln- cIude/named/1og.h. Стандартный вид инструкиии lоggiлg в BIND 8 таков: o99in9 { category default. ( default !!I}'slog: de!aulr. debug; 1; ca1:egory panic ( default. 8yslog; default Btderr: ); category evenr.iib ( defa1r.debU9J J 1  C81:egory packer. ( defaultdebu9; ); }; в ВI:'oID 9 ОН будет следyIOШИМ: l099 in q ( category default { dеfаUltsузlоg; default.debu9; 1; }; Нужно просматрнвзть журнальные файлы при внесении сушественных изменений 8 систему BIND: ВОЗМОЖНО, СТОИТ также ПОВЫСIПЬ уровень отладки. После Toro как .пемон named вернется в стабильное состояние, слеllует переконфиryрировать систему так, чтобы реrИСТрИрОВaJlНСЬ ТОЛЬКО важные сооошения. Ниже печислены наиболее распространенные сообшения. НепРО8ШlЬНО СКОНФUZУРUРОВDННЫЙ сервер. Если подобное сообшенне ПОСТУ пает от ОДНОЙ из внyfpенних зон, значИ'Т', в конфиrураuии систеМbI приcyrcтвует ошибка Если же в сообшении rоворится о какойто зоне в InLernel.. то можно не беспокоиться: это чъято чужая ошибка. Неправuльная OnJCbU1Ka. Это сообшеlше свидетельствует о непрааилъном взаимодействии серверов имен определенной зоны Не авторитетен. ПОД'-П1ненный сервер не может получить авторJrrетные данные о зоне. ВоЗМОЖНО, У Hro хранится непраВiл-ьная ссылка на rлавный сервер или же тот не CMor заrpузить юну ОпщаЗQНUйЯ зона. Демон named ОТказа..'1СЯ заrpужать зонный фаЙJ1, по- скольку ТОТ со.пеРЖ1П ошибки. Не найдена запись NS. В зонном файле после .записи SОЛ отсутствуют записи NS. Возможно. онИ действительно отсутствуют либо перед ними не ПОСТаален знак табуляuии или какойнибудь дрyrой пробельный си...IВОл. Во втором случае эти записи не присоедяняются к зоне И, С.Jtедователъно. интерпреТJ1руюТСЯ непрзвильно. Не задано стаl/дартное значеНUl' TTL. Желательно змзвзть стандартное значение lТL посством диреl<."ТИ8Ы $TTL, расположенной в нача.,1е зонноrо фаЙла. Данная ошибка СВlлетельствует о том, что такая ЛJ!реk"'ТИва oTcyrcrnyeT. В BIND 8 в подобнои ситуаuии берется 1Нзчение парамеТРа ."ШНLlИlli1Ы!Оt! вреhfЯ .жuзuu заllИСИ SОЛ-. В BIND 9 НaJlичие !lНрепИВЫ обязательно. в противном случае демон 11amed откажется заrp}''Жать зониый файл. Нет I\.орнееосо сервера U-:WCH для aal/HOZO ",-",асса. Демону named не упается наЙти корневые серверы имен. Следует проверить файл корневых "подсказок'. и ПОДКЛЮ\lение сервера к lпtеmеt. Adpec .1>'.же Ш'nО.Jьзуетс.l. Порт. которыЙ нужен ,шт работы демона named. занят друrим проиессом, ВОlМОЖНО, дрyrой копией демона. Если де!\-IOН в BIN D 8.2 смысл :>ТOI'O параметра измею'шся: раньше ОН зааавал стзидартное ЗflЗЧСЮJС nL для вссх записей. теперь  только для отришпельных ответов. 496 Часть 11 Робота в (eT!=I 
отсутствует в списке выплняюшихсяя проиессов. то. ОЧ'RИДНО. он перед ЭТИМ аварийно завершил свою рабо1У и оставI01 открытым УПРВR.1яющиtl сокет проrpаммы ndc. Прекрасную таблицу с ОлнсаНffем сообшений об ошибках BIND можнО найти по адресу h,!p:/ /www.асmеЬw.соm/askmrdлs/Ьiпdmеssаgеs. h!m Уровни отладки Уровни отладки пемонз named обозначаются ue:lbI\111 "ШСЛ8МИ от О по J I Чем выше уровень, тем больше текста содержит выходная янформаuия Уровень О въrКJlючает отл8..IIКJ'. Уровня I и 2 отлично ПОlDiОПя-r для ОТ.!lадки конфитураuионноrо файла и базы данных. Уровни выше четвертоrо прспна значены ДЛЯ проrpаммистов, СОПРОВОЖдаюшн:х проrpаммный код демона. Отладку можно запустить из командной строки, аКТИВИЗ1-fРУЯ демон named с флarом d. Например. команда , n8ll18d d.2 запускает демон на уровне отлалки 2. По УМОWl8НИЮ отлм.О1fН8Я инфсрмаuия записываеТСЯ а файл named.rua, местоположение Io::OTOpOro зависит от опера иионной системы (подробности указаны в параrpафе IБJ6). Он растет очень быстро, ПОЭТОfУ 8 проиессе ОТ:Ia.m<и бупьте внимательны. Ес...1Н отладку нужно ВIC.J1ЮЧИТЬ во время работы пеМОН8 named. необхо.ш\1O ВОСПОЛЬЗОВаться командой ndc пасе. которая уаечичивает )'-ровень ОТШДКII на единиuy. Команда ndc notrace отюпочает режим отлa.m<и. KpoH:: тoro. воз можно создаJше к...1.нала rистраuии сообшеНIIЙ. в определеиие KOToporo ВХОдИт строка следуюшеrо анда: severi ty debug 3 Она обеспечивает напрааление всех отладочных сооошениl1 вплоть до уровня 3 в данtlЫЙ канал. Друrие пиректнвы n определении канала указываюr на то. куда в конечном итоrе попадут сообшения. Чем выше ypOBHЬ серьеЗНОСПI. тем больше информзU1-Ш реrистрируется. Просматривая фай..1Ы реПlстраUIfИ и Оl718Дочные сообшения. "'iQЖНО заМеТИТЬ. как tШСТО делаются ошнбки н КОНфllryр.аuии DNS. М.idЛюсенькая ТОЧКа в KOHue имени (точнс:е, ее ОТСУТСТlше) при ВОДИТ к утрожаюшему pOC:T трафика DNS. ТеоретичеС},']-t точка нужна в кенис I(3Ж1l0rо полностью определенноrо имени помеН8. Отлодка посредством проrраммы пdс ПроrpaМfа ndc (Пldс в BIND 9)  очень упобн сре.пСТ80 упраllJlfНИЯ демоном пашеd. ПОll.1lерживземые ею команды перечис-лены 1:1 табл 16 15 I-c команды. которые СОlД4ЮТ файлы. помешают их в ката.лоr. обозначенныЙ в файле named.conr как наЧ3..,lЬНЫЙ к.ата.поr пемона named. Выполнить команду ndc reload  все равно что ПОС;JЗТЬ демону Ilзmсd сиrиал HUP. Эта команда ЗdСТ81L1яет демон IвНОНО прочитать КОНфИl)р<tШf ОН1-lый файл и nOBTopl.1O lаrpУЗI-1ТЬ зонные фаIЛЫ. Команлу ndc rcload IOItQ удобно применять иа заrpуженном сернере, коrпа ИЗJ.1енеtIНЮ ПОдверraета.:я только опна зона, а остальные троrзть не нужно r лова 16. Система доменны:к имен 497 
Таблица 16.15. Полезные отлодочные кОмОНДЫ nporpOMMbI ndc KOMQ.a belp .tatus Irace поtnlсе dumpdb ..... reload reload зона restan querylog Фун Вывод списка ДОCl)'пных KOМ8ttЦ проrpаммы ndС Orображение ТCKywero CТ'd1)'ca выполнения демона Damed Увemtчение урооЮl отладки на единицу Вы.xmoчсние отладки Вывод образа базы данных DNS 11 файл oameddump.db Вывод статистической инфорыаuIOt в файл named.stats Повторная заrpузка файла oamed.oDf .и зонных файлов Повторная зarpуэка только указанНОЙ ЗОНЫ Повторный запуск демона oamed с очисткой кэша Перс:юоочение режима трассировКИ ПОС1)'паюших за.лросО8 Команда ndc dumpdb застзаляет демон паmеd записать образ своей базы данных в файл named  dump.db. Он будет очень большим и будет содержать не только локальные данные, но также Данные. накопленные в кэше серпера имен. Не так навно МЫ провели Э1)' операиию иа основном сервере имен домена coloradoedu. и 8Ыnтo. что кэш базы нанных занял 16 Мбайт. тоr.па как весь зонный файл  менее 200 Кбайт. Последние версии пеМОИ8 named ведут статистику запросов, которую можно получить с поJ.ЮЩЬЮ команды ndc stats. В ответ на нее демон записывает статистическую информаuию Б файл n8med.stalS Ниже показан 06разеu TaKOfO файла. 8ЗЯТЫ-Й с rлаВНОfО сервера домена cs.colorado.edu (перед ЭТИJ.1 ои непрерывно функuионировал в течение 4Зх дней). Мы HeMHoro сократИJm ВЫВОД, УДалив записи. К8саюnrn:еся устаревших ИЛИ неиспользуемых типоВ записей. Кроме TOfO, мы переформатировали нижнюю секuию, которая обычно записывается в одну С1]>ОКУ. +++ Statistics Dump +++ Wed Feb 2 15:[)7:18 2000 180/165 52669 О 475460 3 194 15686 138616 76244 130939 1 171 42 124587 t1me з1псе boot Isесз} tl.me 5ince reset (БеСБ) Unknown query types А queries NS queries CN.AМE queries SOA querl.es PTR querieB мх quеriез ТХТ queries LOC queries SRV quer ies AXFR quer l.es ANY queries +.,. Name Server Statistics RR RNXD RFwdR RDupR RFal RFErr RErr RAXFR RLame 320252 23620 249626 1013 3532 О 903 42 10339 ROpts SSysQ 5Ал. SFwdQ 5ОирО SErr RQ RIQ RFwdQ 498 Часть II Робото Е! сеТЯIo: 
55547 65297] 265736 29104118 G 963690 О RDupQ 47816 RTCP 1605 SFwdR SFail SE'Err SNaAns SNXD 2-49826 l8 О lБ25ЗJ 19064 3аrалочные данные 8 конце ЛJlстинrа отображают rЗКJ1С СТЗlllстичеСКllе покизателн. как число дуБЛИр}lОШIfХСЯ заl1рОСОВ и ответов. а также количествО СЛj'\1аев HanpaCHoro делеrирования. Первая буква аббреВИ3i);РЫ обозначает прииятъrЙ (R) или отправленный ($) пакет, последняя  lапрос (О) или отнет (R). Реальный СМЫСЛ заrОЛ08КОВ описан в фаЙле nsstats.c. который распо ложен в каталоrе srcfbin/named дистрибутива BIND 8. На момент наПИСClНI1Я книrn статистические показатели еще не были реализованы в BIND 9. поэтому мы не можем указать нужный исходный фаЙ!I. Fro можно будет найти с поt.IOШЬЮ утилиты grep или fiпd. Любой запрос. приоодяший к ошибке, реrИСТРl1руется. У\II1ТЫElется 13 одном пли неСКОЛЬКJtх спtтНСТl1ческих показателях и отбрасывается. В KaTe rорию Unknown query types (неизвестные типы запросOl) включttется любой запрос к cypcy. тип KOToporo не поддержи-взется сервером. rр}'llпа ANY  это не настояший тип записей. Сюда попапают запросы. СОilержашие просьбу преllоставить люб}lО информauию о требуемом ИJ.1ени. Колонки в нижней половине ЛИСТИllrа. 8 заrоловке которых содержится строка Онр, отображают ЧИСJ10 дублируюшихся заПРОСОВ или ответов. ДуБЛllрование оБЫLJНО происходит. коr.па срок действия запроса истекает рШ-Iьше. '-Iем на Hcro будет получен ОТпет. В jTOM ClYLIae запрос ПОСЫ.:1зется заново. В BIND 8, если установлен пзраметр deallocateonex. t.. команпа ndc stats. помимо Bcero ПрОЧСI"О. ЗJпltсывает в файл Ilamed.memstalS стаТIIСТИК} использования памяти. В BIND 9 данная информаuия доступна только в режиме отлапКII демона nanl('d Отлодко С помощью проrрамм nslookup, dig и host Проrpаммы пslооkuр. dig It l10st позволяют в режиме командноЙ СТрОi<..'""И посылать запросы бюе Д€tHHЫX DNS. Самая старая из них  Ilslookup, Оllа BCer1l3 ямялась частью дистриБУТlIна BIN D Проrpaмма dig (dol1181n iлfоrmа[юп gюr  искатель 1l0менноЙ IfllФОР\1аUШI) первоначильно бьUl3 написана Стивом XOТUOM (Steve HOIZ). а МИl1ЮI Cojep (Mlcllael Sawyer) переписа.Т'I ее пЛЯ BIND 9 Она также ВХОДIН в состав BIND Проrpамма hша, написанная Эриком Вассенааром (Епс Wassenaar). ПОСТ8мяется с исходными TeKCTat.Пi и имеет фун",--ции для проверки Сlllпакснса ЗОliНЫ). фаилоп Мы paccMoTpl1111 Все TPIl утилиты. но преЖде нужно ск<п:пъ, что МЫ преlIПочитаем ПОЛЫОВ81ЪСS1 проrpаммой dig. а не 11Slookup, хотя проrpзмма hosL нам тоже нравится Иноr.!Ul они выдают разные реJультаты И"jза TOI""O. что используются раЗIIЫ МОД)".IН1 распознавания: в dig 11 host это раСIIO"lНOlшпель па кета BIND, А в nslookup  СБОЙ собственный, Проrpамма nsloo"1Jp  утил1ТО1 ПОЛЪJователъскоrо уровня, посылаюшая запросы базе ванных DNS Она принимает n качестве артумента ПОЛНОСПJЮ определенные имена, ОК3НЧ18аЮl1IJ1еся точкоЙ. и добаН:lяет стандартное имя домена, если TOLfКa не указана. Пр, работе с локальными именами :по как раз то, что нужно. В табл. 1616 ПОil:а3ЗН краткий CIIHCOK комаНll. ПОдЛеРЖIf ваемых проrpаt.rмоЙ nslookup. r лова 16 Система nOMeHHbl)( имен 499 
КомоНДО т аблицо 16.16. I(OMOt-1nbl. KOTopl:.1e поддеРЖI.'180Ю.С nроrроммои nslookup belp или ? eXI' sener уз lse"er узел settype'""'J\X( н! debuK ... dZ 1, домен Функция Вывод информа..ции об указанном у]JIе ИJllI домене ВЫВОД полноro списка комам Выход З8..If.8НИС сервере по УМО!l1.j8ЮIЮ С 11СПОJlьзованием текущеro сервера Задание сервера по УМОJll.j3НИЮ С использованием ис)юднщо сервера Установка типа з.аписи ДJHI з.апроса' Вкл.Юl.jение отладкll Включение массы OT.,aдO'i.Нbl)r; средств ВЫВОД всех машИliНоадресньrx соответствИЙ  Хороший врryыСИ'Т Д,ТUJ этой комаиll.bl  апу, т.е. "ВСС". Проrpамма dig имеет те же функuиона:rьные возможности. что и 11s1ookup. но установки, заложенные в ней по умолчанию. БО;lсе эффективны. Кроме Toro. она выдает больше информашш н ОТ.1l1 t lаетсЯ более нзысканныf интерфейсом пОЛЬЗ0вате.i1Я (особенно Б сравнении со старыJ,Ш 8СрСИЯ\f11 nslookup). Например. заПРОСl1ТЬ записи МХ дЛЯ узла зш:hоr можно посреЛСТRО\1 команды , d.ig anchor. св. oolo:rado .l!Idu. rnx Команда " dig @nsl.be:rkel.8y.edu v.angogb. berkel.ey. edu. аnу запраurnвает все записи 'nllЯ узл,в \311g0gh с сервера bcrke1e!,.edu а ком..шда " d1.q x 128.32.33.5 выполняет обратны"Й запрос, R результатL" которою бv'lе'Т наЙ.пен узел ..alll::;ogll. Приве.nем полный прнмер. 8 KOTnpoM проrраммы Ilsl()okup и di2 заl1РЗ ШИRают одни и те же данные '\ na100kup Def.ault. Server: bb.rc.vi.x.com .D.ddre5s: 204.152.187.11 > !!1st type""any > amaZОn.СQШ. Serve::::: bb.rc.vx.co:r Address: 204.152.1B7.1 Non.aul:hociLat.ive .an.swers: amaZO!1CO nameserve  .D.U"I'HOO.NS[JU.NET amazon . саш namese c.....er NS1. PNAP. NE:':' amaL.On . com nae5er"'e   1':,51. РNЛР. NET arnazon.com narreserver  NS1.aa:::on.c:orr. .amazon.com p.reference =- 10. т<1':'1 excharlger  service4. a'aL.On .com amazon.com preference  20. maJ..l exchangel.  5er."ice5 .arnazon .сот amazon  com iлt:.еrпеt аоосеS5 208.216. 182 . 15 Лut.hо::аLvе answers сап ое tound [co: amazon.co... па:т.еsеr".еr =- ЛUТl-JОО.t>S.LIUNI:.Т 500 Част!:. It Робото В ceTX 
.ата;LОП . сот arт.azon . сот amazon. COil\ AU':HO е . KS . 1:1.: . NE'I NS2. PNAP. NE7 NS 1  PNAP. NE'l' NSl. а.1'Li,iZОЛ. com sel.'v...ce-1. a.i1!.aZOf1.CO;:, ser'\.'1.;;e5. a::lazo. ::O;r. na;;!esec\"eJ: Sl. Е''\:АР .N.t::"i :1ar:.e"'el..ver :-'Sl. PNAP. !'.Е: llarт,eS€J:ver  N5.!.. .а:та",:оrl. СОП, LI.'.:.errle addre.ss 198.10. !..t! n:"etiet aCia:-еss ln;:.ernet. .i!lQQ!:"c-S5 I\r..enet. аcia..rеs.Б r.tez::,et osddrеsз ...п':..еrнес aadress  ::Сб.53.:' 4. а 7  206..t.:::)3..J. .t.I!I 2Q919...4.2e :09  :"9:'.1 1;14 50  209.:"'1 164 51 Проrpзммз пsluоkuр вернула 'lfTbIpe 381111('11 ;\JS. две JallltСИ М\ 11 Oдll З311ИСЬ 1\. 011..1 та....же RыдJ",а IР..1дрсс<'! серверов II'ICII 11 \I,\)лов \ dig 4И1а2.0П. COD. any : «» Dl.G 8. 3 ....<» a:r,a..>:or:. -:o:n апу .' ces oР:::l.ол.s: iл=..t t"eCLlt"s d1na;n dllSSL ;. 90"( dЛS\oIеr= »HEADER« opCC'iloe: QlIE.P.':', st.at:.U5: r-;Оl::flRОf:. CI: 4 .. fla93: qr rd Са; Ql;ER': 1, ANS\>,Ef!: . ЛUНОR1 У: -1, ЛDGI::Oi.\-1..о. .. QI.jERY SECTION: а:nа..:.оп. ::['1. :"}ре A.,.':', ldSS ANSWER SEC:' IOl\: ата. zол . con:  аmаz.ол. con: а:nв.L.ОЛ . con,. a:r1al.On. сот. amazot\.com. arr.azon.com. а:1а:.::оn . СОт. ;; AUl'HORI:' SEC":'ION: аmаLОЛ . СО:'1  a:r.azon. COI'"  amazon. cor::, aтazon. corr,. h.]m1::s !N r-;S ЛI:':fiОО. r;5. Ul1 ',Е :h27m11 s IN NS N52 . Р1";ДР. ":ЕТ . lh27rп11s IN NS N.31.PNAP.KEi'. lh27:1111s lN NS NS1. аl'паLОП. СО::!. :.9п,22s IN МХ LD .5eCV.Lce4. arr.a.lOI.. <:Q:r1 59rт.Ls lN ,,-" lC 5er'llce5. amaor.. ..;0"Т L!".:-9if.L9s IN А 208.210.':82.1: H, ls IN NS лu:ноо. NS. Ol1.NE'' r:. 118 .=r-: NS NS2. PN1:P. NE"", thl i ;""11s :r-: NS Sj..PNAP.l';ET '" "., N5 i . .:!!Т.оС! ":'О!") . ':::0.. . .; ЛDD::'Iоr;:ДL 'зI:..СТ':Ш;; ДIЛ'НОО.N.sUll.ЕТ. Л'L:nОs N А NS2.PNAP.KET 2QhS1..п..IJI'!:!:N А NS1.FI\ЛР.!\:I:..:.'. .20)1.:....4s :N А NS.аrnа..>:C'ilЛ.соm S9;r22.з.:;:r; А. servic€.o1.a'-laz.on.cofi1. S9rт22s :N д sе\r].се5,dП,о;:;Оn.СОr.:. 59:r22 IN Л То:::а.!. uery t.rпе: "1 set.: ;; E'ROM: Db.rc.vJ<;CO:;"l '(О SERVER: .. WHEN: 5..111 Jl 2 !2;45:=-'9 2000 ., r'SG S!ZE ser:'.:.: 28 l"C\'.d: 3B :.а8,б..оS 206.2;:5.:19....91 L06.. и.l'9-'1.t'5 20(\1.64......0 20a 91.':('4 S(I ..О'" :i. O;. .,4. oetau! t 04....::.....,8 Проrра\I!l.Ы dig JIORОЛЫIО МlIOП)ОIOБН3 Ее 8ЫХОДlliНl 11нфор'шlНl 1I}..!III)Ч.lеl не только СИСДСIfIlJl О .пОlеl-lе, но 11 .l.н-tllые о колltчестне П()(;Л,lII11Ы}. J.lпрOl;оа И ПО.'iНОМ времеНIf IlрОХОЖдеНШI OTHt'Т3. ВывоЛlЫ(' Д.i:lIlIIЫС отфор"-f.lПlрОН<.!НЫ так. чrобы IIХ МОЖНО было IIСПО1Ь-ЗО8ать 8 101iI1bl\ ф,IЙ.Id'\. ')TO особенно улобно, еС1И де.'IaJOТСЯ }.тросы J< корневым сервера\! с Ш_lhlO li..l 110. IНСIIШI фаЙла '.IIОДСКaJОК". ПроrpЮl.I\I.а lюst 110 \"'fOl'1i1НltЮ flЫ..IНТ крап.\'Ю НО IЮIОIIУIO IfllфОрМIIIIЮ об \K3JaHHo\t lIO\leHe С,.шеСТ8УТ rакжс:- ОПШIЛ \' .з.лSI БО.1ее .d.еТ;IIЫlOrо описания (хотя н не CTO.lb lюдро6tюrо, .::ак 8 С:lуче IIрOl""р(;J'\.ШЫ dig-). BHOJJI\lO(' ИМЯ домена должно ззвершап.ся точкоi1. Ветре'l-'Я ОТlIО<.:JПС.1Ь!юе li\ТЯ. проrраМf;а Сliзча..1а пьпается .:IобаВI-IТЬ к He"'l) !lO\.fClIbl, YK..Bo:IllllbIe k ф.IИ.lt' resolv.conf ЕС.1И ни одно ИЗ них не flо.nxОДllТ, nporpaMMa просто rlрlt:ое.1:1l1яеr к имени точк) 501 r 110&0 16 Cl-1стеМQ АОМ€I-;НbI>l име, 
, ho.t amaZОn.СQШ. arnazon.com hаз аddrезs 208.216.182.15 amaz.on.com mal i handled Ipri'""'10) Ьу service4.amazon.com amazon. com mail. i handled (prl-=-lOl ау 5ervl.ce5 .аmа.zол. сот Тестируя новую конфиrypаuию, не 1абудьте проверить как локальные, так и удаленные узлы. Если дocтyn к узлу можно получить по IPaдCY. но не по и-м:ени. скорее вcero. виновата система DNS. Нопросное делеrировоние Подавая заявление о получении доменноrо имени, вы просите, чтобы вашему основному серверу ffi,.leH и администратору DNS была выделеНiI (делеrирована) некоторая часть дерева имен. Если не поддерживать работу домена или перенести сервер имен на дрyrой компьютер, не оБНОRИВ связующие записи родителЬскоrо домена. будет иметь место так назыaемосc напрасное делеzироsание. Последствия HanpaCHoro делеl'ИРОвания MOJyr быть оче.нь плохнми. ЕСЛl1 пользОватель попъrrается связаться с узлом. нзХОДЯЩИМСЯ В непрtlRИЛЬНО сконфш:урироваином домене, сервер имен ОТКЛОНlff этот запрос. но система DNS продолжит повторять запрос сотни раз, терроризируя " rлавныЙ сервер пользователя. и корневые серверы. В одном журналъноtl.1 файле, размер KOToporo за неделю возрос до 3,5 Мбайт (на уровне iпfо), более треПi записей касались ниnрасноrо делеl.ирО8ания ИЗ ннх 16% запросов были к корневым серверам, преДПОJlОжителъно по поводу несушествуюших дОМСIЮLl Один насТОЙЧИВЫЙ полъ.зователь более сотни раз ззпраШIfDaJl корневые серверы о домене [ot...yolOpless.neI. Бедняrа! Приведем пример: Jan 29 05:34:52 ipn.caida.org nаrnеd[22З]: Lame server оп 'www.games.net' (in 'GAМES.net'?): [207.82.198.150) .53 'NS2.EXODUS .net.' Вот как можно установить источник проблемы с помощью проrpзммы dig (часть выходных даННЫХ отброшена): , d.ig www.gаш88.п-t. ;; QUESTIONS: . www games. net, '(уре =- А, class .;о IN ;; ANSWERS: www.games.net. :; AUТI-!ORITY RECORDS: games.net. qames.ne't. garr.es . net. ;; ADDITIONAL 3600 А 209.1.23.92 3600 3600 .3600 RECORDS: ... NS ns.exodus.net.. NS ns2. exodus. net. NS лs.рсwоrld.соm. в ответ tШ первы-й запрос 1< локальному серверу ВОЗВрЗllll1ется iШреСII<tJ1 заIlИСЬ для узла WWV.'.gЗП1еs..nеl и список авторитетных серверон. Сернер ns.eXOdL!s.nel на момент обращения к нему работал норма.ттъно (зультаты jапроса здесь не показЗIIЫ). а нот сервер пs2.ехodш;пе[  совсем дрyrая история: -\ d.ig @ns2.8xodulII.ntlt www.g&m8l11.n.t. QUESTIONS: W\fIw.garne5.net., type "'" А, clas5 lN AUTHOR:ITY RECORDS: 502 Чость 11 Робото 8 сет"' 
пес. net. 2<14362 NS F.GTLDSERVERS.net. 244362 NS J .GТLDSЕRVЕRS.леt. 244362 NS K.GTLDSERVERS.net. 244362 NS А.GТLDSЕRVЕRS.леt. леt. Сервер указан как авторитетный для помена, но шrя Hero не возвращается записей. лишь ссылки на серверы домена вepxHero уровня J.ne["'. Следова телъно. можно сделать вывод о том, что помен ns2.exoduscom сконфи.ryри роБан иеправядьно. 16.15. Всякая всячина в этом параrpафе собран материал. который должен был ПОЯRIIТЬСЯ раньше. но мы не CMOrllH нати lUIЯ' Hero 1I"'+:Hoe место. Файл 'подсказок' .Файл "подска:юк" служит для первичноrо заПОЛllеШIЯ кэш,а деМОllа ПЗПlеd информацией о серверах KopHeBoro домена. Это позволяет автоматически начинать процесс пояска всех llРУrю: имен При отсутствии фаила '.IIOДCKa З0К" сервер BIND 9 воспользуется СПИСКОМ корневых серверов. залОженным в коде caMoro пакета, и в любом случае сможет заrpузить корневую зону. В более ранних версиях пакета этот файл обязателен. (В BIND 9 содержимое файла "подсказок" переопределяет предустановленные "подсказки".) Корневые серlJеры имен время от времени подверraются измеиеННЯ)"f. но З3 ними леп::о следить, так как всем этим серверам Присвоены IIMella R домене rootser\'ers.nel. Если в системе уже работает сериер имен. можно посредством nporpaMMbl dig связаться с корневым сервером и сrеllерировзть файл "подсказок". rлавным в настояшее время является сервер a.rOQ[sel"\' еrs.пеt. но в данном случае подоЙдет люой из них: 1; d.iq @t.root.8erv.r.l!!l.nllt . па> root.cilche Если сериер f.roolserveтs.nel не отвечает, можно вообще не УКaJывать KOHKpCTIIЫ корневой сервер: 1; diq . nв > root.cache в результате будет получен список корневых серверов НЗ кэша ЛОЮ\Jlьноrо сервера имен, а не из авторитетяоrо ИСТОtrникв. Но ничеrо страшноrо 8 этом нет. Даже если сервер имен не перезаrру-жался или не перезаПУСКaJlСЯ rод или llБа. он пернодически сам обновлял записи корневых серверов по мере их устаревания. Korlla демон named запускается. он повторно запрашивает "подскз.зки" от Oт.lOro из корневых серверов. Таким образом, даже R OTHO сителъно старом фаilле содержится по крайнеЙ мере. одна запись о доступном сервере имен. Приuедем Прlll\fер фаЙла "подсказок" (IIСПОЛЬЗ083ТЬ ао в таком RI1дС не слепует) : cs.colorado.edu. IN NS anchor.cs.colorado.edu. cS.colorado.edu. IN NS ns.C:9.ucah.edu. «» DiG 8..2 «» @f.rootservers.net. . ns ; Lot.s of detaJ.led dig info formatted а:!! cornrnenr.s here... r Л080 16. Системо доменных "-'мен 503 
ldlh42m IN N5 Е. ROOTSERVERS. NET. ldlh4211'. IN N5 О. ROOT3ERVERS .NE1. ldlh42m IN NS л. ROOTSERVERg. NET. ldlh42m IN NS Н. RQOTSERVERS. NE.T . Е. ROOTSERVERS. NET . 2d!h42m IN А 192.2()З.230.10 D.ROOTSERVERS.t.ET . 2dlh42m IN ]о. 128.8.10.90 А. ROOTSERVI:.RS .NET. 2dlh42m IN А 198.41.0.4 и. ROOTSERVERS .I'ET . 2dlh"l.2п-, IN ]о. 128.63.2.53 Обрап rrе ВНИМi]Н1Iе lIа точки С которых наЧl1наюТСЯ ЗЗП1tСlt первоro н<tбора. Это не пятна, остаRленные ТИТlоrpаФСЮН,i станком. На СЗJ>.-IO\1 пел ОНИ опрелепяют !lOMCH (корень), к которому оп-юсятся заm1СИ NS Некоторые версии I1porpaMMbI dig отображаlОТ время жнзни в се....ундах,  не Б фОР'lспе дней, часОВ, минут и сеi<.')'Нд Текyurий файл ПОДС5(310К, называемыif lIоmаill/паП1еd.roоt. "-lOжнО ПОЛУЧИТ[, Чl:реJ анонИМНЫЙ доступ с I=]Ру-та r.II)1.:rll1Cl1el.. В He'.1 ""'lеютсЯ KOI\,rMell тарltн. в которых У1<юываются старые имею! корневых серверО8. Альтерна ПfВнъ.Л адрес  fiр://ftр.лiс.mil/dоmаlЛ/паmеd.rоо.. Конфиryрирование домена \ocalhost Прямая ПРIt.Вязка к IIмени localhosl. или lосаlhОI.до..wе" устанавливаетсSl в файле ЗОНЫ ПрЯJ.1Оrо преобразовання ДЛЛ данноrо домена. Но каждый сервер обычно ЯRJIяется rлаВНЫ1 для своей собственной зои-ы обратноrо преобраJO ванил узла localhost. Вот пример зоtlноrо файла: IN SOA c!I.co1orado.edu. h05t.rr..as:::ercs.olora.do.edl.J. 1996110801. nОРflД!(ОВый. иоыер 3600 ПерИОJl оеНОВJ1ениq 900 интервал Nеж.nу попы'rКlI.JdИ 3600000 ПерИОJl устаре:еанИЯ 10800 ) Мv.юш.аJlьное 5реNЯ жv..зни. IN NS cs. co10ra.do. edu. IN PTR loc:alho5':.cs.colo ra do.eciu. Обратная 11РНВЯlка к anрес:у lосаllШSl (127.0.011 IШКОf!НI не меняаСf1, поэтому перfЮ.пы оБНОНJlеНllSI 11 устарСIЫl1Шl можнО де;lатъ достаточно большими. ОбраТИте ВНlll\lанИС на порялкопl.lИ НОМСр. В котором з:жо.пироиана даТа: последний раз фi\ЙЛ \lОДltфIlUllроtlа.101 в 1996 r. Заl\lеты также, что для домена '.Iocalht"' указан только rлавныЙ cepBp имен. Метаснмвол @ здесь раСi<.рЫ8ается как "0.0.117 .iпаddr.аrpа." Свяжите адрес 127.0.01 с IIменс'" "lосаI11ОSL.домеfl".  не ПрОСТО "local 11OSt." Пра1Щ3, корневые сервсры прШlИмают столько запросов к домеl1У "Iocalhosc", что, возможно. 8 KOIH[e ОI.ЩОВ ПОЛ!llfТСЯ rлобальн.Нl ЗiНJlIСЬ 0.0.127 .iпаddr.аrpа. Средства управлени узлами Файлы базы .п.анныx D:"JS LlaCTo бьшаюr раt:I.lреnе1ены по uелыМ реrионзм. администр:ативныM ИЛИ даже ПО!lIlТlfчеСКl1М. во мноrnx случая" жеСТКJ1 централизованный KOHTpO.r:lb невозможен. Такая ситуапия порожлает общую Адрес зтоro узла вскоре может измениться, посколы..)' компания Nerwork Sоluriопs больше не собирается обслуживать rлаВIIЫЙ корневой сервер IIMCH. 504 Часть 11 Работа Б CeT'R)( 
проб:rему аДIИЮКТРИРОDаНI-fЯ: кик управлять важными (и уязвимыми) фзи ламн пзнньтх, которые будут поС'Тотшо редактироваться множестВОМ неопыт НbIX полыоваей. Как с.пелатъ так. чтобы. например, факулътет прик.:Jадной \f3TeMaTJfKH не Mor Jlзменять 18ПlfСИ факультета 8ычислительной техниlo;:И 1 наоборот? Если Кс1КОИ!lнбо ПОЛlIтический реrион содеРЖIН MHoro КОI\Шhютеров и U нем имеется адМИНИСТРiПltнный персонал. ТО JJУЧUJlfИ способ распрсдетпь управление  создать для .Horo репlOН8 поддомен ЕС.111 же основноЙ домен мил 1-1 наСЧИТblвает ЛИШЬ нескоЛi:.КО компьютеров, полаомен не ну:жен Лучше вcero СфорМI-IрОВ3ТЬ базу ланных lDAP, солеРЖi:iЩУЮ сведения об узлах в пределах всеЙ орrаllИЗ8UНИ, J.I воспользоваться утилитами. созлаюшимн зонные файлы отпельных подразделений. Мы пока работаем с древней. написаннои собствеюrыми силаМI проrpаммкой addl1Ost но П'JанltрусТ\l перейти не lDAP. как ТО:II:>КО прелстаВИТСJJ возможность сделать эn' Ja..1i:1I.JY С1)'пенчесЮiм npoel.,:ToM. 0' Прорйм.ма Qddl,ш., доступllО на .1'11e fip. 't:or.cOпJ. Доступ к DNS для систем, не подключенных к Iлtеrпеt Ес:ш система не ПОЛКЛЮ'lена к Il1tcrnel. а нужно работать с DNS. МОЖIIО объянить спой rЛit8НЫЙ сервер имен авторитетным для kophe8ol-0 ЛО"iсна. Такая КОНфИI1'раl.{11Я ПОДОlfдет либо д..чя небольшой фирмы. еше не имеющсп доступ 8 Inlcrncl. .!Iнбо для орrанизаUIiИ. СКРЫШllошеи СВОЮ структур\' за браtlЛМiУЭрОМ . 0" Подро611ее о ораJfdмауэрах РОССКОJывоется tl парt1рафе 2/.9. В TdKOJ.1 СИСТем фМtJI '.nО.'1сказок" ЛОJ1жен УКClJЬШ;ПЬ 11..1 JlOKaJlblibIe серверы имен, €t не на ....oplleKbIe с!::рнсры IllIеlПеl. Л"ШJС. конечно. IIOЛУЧIIТЬ ЗЗрt:rиСТрllрОRJННОС доменное ЮМ1 11 ОфИUlI!lьные I Paдca ИЛl4 80СПОЛЫо взться 'It:!.ПIIЫ'\.IИ IPaд.peca\tIt. Io;:OTOpbIe опрелелсны в до",:умеtlте HFCl918 (см. табл. 13.7 в IШР<lrpафе 13.4). 16.16. Особенности DNS в различных операционных системах в ЭТОМ П.JРЗI--рЗфс OnllCilНO. каким измеНСIIIIЯМ полверrся свободно распространяемый OPJ-ашпauиеЙ ISC Jlакст BIND в наших тестовых опера ЦИОlfНЫХ CICTeMa\. F\.11.1 приrЮНlIМ ссылки на конфиryраUlюнные фаt'tлы. сообш.IСМ, каая IIерСl1Я BIND IfСПОjlЪJУется в том ИЛИ IIHO\f С!Iучае м ка'" IIНТСIрllрОИil rb 11KT с ДРУI"IIМН IICTO<IHIKaMIt ClДМИНliСТР'ПfВНЫХ ДiJННЫ\:. напрИМСр с оБЫЧНЫМII фанлами 11 Сlстемой NIS. Более подробно пос.lедняя тема ОСIЗСJI[t:'Нd 8 1.:Шие 18 В 'r!,(.:THoCTII. обраТlIте BIIIIMaНl1C HtI. параф 183. Soloris ОпеР;ЩIIОllIlЫС cIIcTeMы Sоlr'1П 7 и 8 в I1i:1стшшtсс ПI1С\IЯ постаn.'!)lЮТСИ с ndKCТO\f BIND 8I.l. Имеется фаЮI "переКЛЮ<IСЮIЛ сеРlшеов.'. На1ываIOШlfИСЯ /etc/nss"iitcll.con(. КОТОI1ЫЙ Оllрелеляет. как 81аlfмодействуют между собои BIND. NIS. '\JIS+ 11 фаЙл /etc/hosts Естш строку host поrо файла записать слеПУЮШИI\I образом: host::.s: tllC!s dпs 505 r ПОвО 16. Сиcrема AOмeIHblX имен 
то 8 процессе преобразооания имен сначала будет опрашиваться файл /etc/hosts. а затем  DNS. Желательно поместить в этот фаил алреса важнейших серверов и маршрyrизаторов, чтобы устранить возможное за8J.i сание системы, которое может произойти, если сервер имен будет .недоступен на этапе начальной заrрузКJ.I. В документauии рекомеНдуется запускать серверы NIS в режиме переад ресаuии. чтобы ОЮ1 перенаправляли серверам DNS запросы, ответ на которые не получен из локальной базы даннЫХ. На этом основании компания SLln рекомендует такую строку конфиryраuии: hosts: nis INOTFOUND==return] f11es Мы не соrласны. Локальный сервер NIS не быстрее локзльноrо сервера DNS. а данные все равно должны находиться в DNS. чтобы из внешнеrо мира можно было получить доступ к системе. Поэтому. даже если 8 орrанизации используется NIS, лучше разделять обе системы. Имена файлов пакета BIND и их местонахождение 8 Solaris указаны 8 табл. 16. [7. Таблица 16.17. Фойлы покето BIND 8Saloris Фол re50I".conr in.named namedxfer named.conf oamed.pid пamed.nш named.stats named  dump.db namedbootconf Описание Фаил КОllфИlурЗLlИIi расrlOзизвате.rIИ ДC:OH сервера J!eH Код модуля ЗОННЫХ пересьшоК КонфиnrрЗIlИОННЫй файл сервера И\1СН Идентификатор проиесса демона in.named Выходная отладО'lная инфорauия Выходная стаТИСПlческа.я информаШiЯ Образ вce базы аl-lНЫХ Проrpаммз пробразова)IИЯ конфиryраШЮНt-IЫ>; фitАлов ВlI"D 4 в формат BIND 8 I ЭтОТ Каталоr указан в файле jetcjnamed.conf КаК НЗ'I8ЛЬНЫЙ lLlЯ фаи.'lОВ BIND I<о;r"доr /elC jusrjsbin fusrjsbin jetc jelc KQmtl.1oi lI:oтWJo... 1 КQтtlЛо1 /usr/sЬiл HPUX Используемый в HPUX 11.00 вариант BIND построен на базе иереии BIND 4.9.7. Задействован тот же Пр1НUИП nереключения сеРВИСО8, что Jj в Solaris. CaMoro файла ПSS\o\itсh.сопr нет. но в ката.поrе /ctc имеется несколько фай!]овпримероВ (найти их можно с помощью команды 15 /etc/nssw*). Чтобы создатЬ файл IIsswitch.conr. узнайте в дш",}'ментации. какую kонфиryраuию нужно реапизовать, а затем найдите в ф.iJ.йлаХПРl1мерах нужный вариант. Один из фаилон, /etc/nSS\o\itch.hpderaults, 1.1ЛЮСТрlрует по ведение системы в ситуаШ1И. коrда файл nsswitch.conr oTcyrcT8Yeт ИIlИ содержит СJ1!iтаксическую ошибку. В отношении поиска имен КОНфllryраШIJl такова: . hosts: dns [NOTFOUND==retUrl1] nis [NОТFОUND==rеtш::п] files Сначала используется DNS, но еслн сервер неДО<''''ТУnен или не сконфи rypирован, поиск продолжается в NIS, а lатем  в фале /etc/hosts. Коrда сервер DNS не может найти ответ на запрос, возврашается сообщение об ошибке вида .'host unknown". 506 Чость П. Робота 8 сетях 
Чтобы в процессе начальной заrpузки не вознихало конфликтов, мы рекоменцуем такую конфиrypauию: .  ... hозtз: fJ..lез (NOTFOUND"continue] dлs Если используется система N IS, она доmкнз опрашиваться второй, перед DNS, а в конфиryраиионном файле нужно указать директиву сопtiпuе (продолжать) как действие, выполняемое в случае возникновения ошибки. Важно сконфиryрировать проиесс начальной заrpузки сети таКИМ образом, чтобы имена узлов не искались в NIS или DNS. Для этоrо строка f11es должна стоять первой, а в стартовых сuенариях следует задавать IPanpeca, а не доменные имена. В табл. 16.18 указано местоположение важнеших файлов пакета BIND в HPUX. Тоблицо 16.18. Фойлы ПQкето BIND в HPUX Файл reso1V.СQпr 1IJUJl«l пamedxrer named.boof паmed.рid namеd.пш паmed.81at5 1IJUJl«ldump.db Католоr /etc /шrjюiп /шr/sbш /etc j\larjrun /var/tmp /var/tmp /var/tmp ОПМСОНJ'lе Файл конфюурации распознавателя Демон сервера имен Код модуля З0НИblJ[ пересbl.JlОК КонфиrypационНblЙ файл сервера имен ИдеНтификатор проиесса демона паmed Бы:ходНWI отлanочная информация Выходная craтистическая информauия Образ всей базы ДаНН:ЫХ в HPUX. в каталоre /usr/newcalllig, ИМеются фаl!лыпримсры с отлич ными комментариями, но почемуто разработчики не удосужились создать такис файлы JI!ТЯ DNS. В ранних всрсиях HPUX (до версии 11.00) образцы файла named.conr, зонных файлов и файла resolv.conr находились в К8талоrе /etc/llewconfig. Каталоr /nsr/llewconfig, похоже, яв.лястся обобщением каталоrа /etc/newcollfig, но лучшее  вcerna Bpar хорошеrо: пытаясь создать более полный набор nримерО8. разработчики lзбblЛИ о файлах пакета BIND. Надеемся. ЭТО недоразумение будет испраалено.. Korna операционная система HPUX перейдет к ВlND 8 или ВlND 9. Кроме Toro, в HP UX предусмотрены средства, которые помоryт перейти от файла /elc/hosts к DNS. ПРОl1J8мма hastslanamed вьmолняет преобразо мние файла /elc/hasts в формат записей о ресурсах DNS. Проrpамма siL..named позволяет поСылать СИТН3ЛЫ демону named это просто НЗДСТР"'1'К;1 команды klll с арп'ментами наподобие проrpаммы ndc. Red Hat Red Har llПих 6.1 постзмяется с BIND 8.2, а все файлы Ha.'I(OlfJlH,:tl н стандартных каталоrах (табл. 16.19). В Red Наl 6.2, как И во FrccIJSD. используется версия пакета 8.2.2P5, поэтому ннформацию о файлах иы можете почерпнуть из следующеrо раздела. Файл "переЮ1ючения сервисов" такой же, как и в Solaris. Он задает приоритеты различных источннков данных. (И нформаuию по нему Можно получить посредством. KOMaH.iIЫ mвп IIsswitCh, а не mall nsswitchcollr_) r nОАО 16. Система r.oMe_i!lhlX имен 507 
Тоf)л....ца 16.19. Фойпы покето BIND в Red Hot Linux Описание Файл КОНФИI'УРRI.lИИ Р8СПО3Нanaтеля ДСjОI'1 сервера имен Код '10D)':IЯ зоltныx псресЬL'10К KUJ-lфИl)'раШ1ОНIIЫJ.l фаJ.lJI серВ1:ра имен Илс:нтtlфикатор проиесса демона П8mеd Выходная отлanочнаJI l1J.JформаUИJl Быхотlая статистическая Ilнформвu ия Ста-rnстика использовании flамяти Обра.J всем базы данныХ I ЭтОТ Kara.lor yt<.:aJ.;:l.H в файле /еtс/namеd.сопf как нача.IЬНЫЙ ДOIJJ файлов БI'\JD. Файл Каталоr resolv.c:onf /etc named fusrfsb!л Dam('_dxrer /usr/!J:Jln named.conf !r.tc named.pid /var/run namcd.run KQпw..'101 named.stat!i I(aтa.Jot?1 named.Пlеmst315 капrало.!1 named  dump.db KaтQ.JIOi?1 При отсутствии фаила nsswitch.conr система по умолчанию принимает принепенную ниже конфш)'рацию: !10зt!l: dn.s [! UWA'w'AIL-=rеturn J files Прелложеl--ml: ! UNAVAIL. которое. как сказано в ПО....fентаuи1f. YCTaHOIJ лено по умолчанию. кажется нам непр;шильным. К ТО\1У же. 0110 вступает в противоречие с фi1Й':IOМIlРИМСрОа"" постамяемым с Rtd Ню, rде строка 110515 вьп'пя-тlJ.fТ слеllУЮШИМ образом: l",оstз: db flles !11.spltls dns Мы реi-..О'l.,ендуем т d....ую конфиryраиию: ho.5t.s: fl1es dлs в Red Hat есть ряп обрtlll10И конфиryрационных фаЙqов. Все а!-Н' на'\оляТсЯ в каталоrе /etc 11 снабжены хорошими комментариями. Д,'lЯ $'11М3 named.eonr отсутствует сноя mапстраIIIfШI. FreeBSD Ва FrecBSD 3.4 и 4.0 ВХОДИТ naKcT BIND 8_2_2P,) Файл "лсреключеm,я ("СРВIIСОВ" назЫ8ЗетсЯ /etc/host.conf 1I определяет ПОрЯllок обрашения к IIIlформационным службам только в 11роиессе преобразования имен. Во-змож libIe исТоtlНИК11 lIIформаuии у....азаНы в отдельных строка..'\ в том порsщке, в котором они должны ОПРtшшва1-ЬСЯ. 11 rначола пnоверяе'Тсq файл еtс/hо.stз :';.osts If Сле'ЮЩИN опрашива.е'l'СЯ сервео имеН ol.nd 11- Если С!о:ОНфJ1r'УРИРО.е.а.но ....лу:i\ба vp/NI ",КТИВИЗИРj/i:1те сл.цую.ц;,-ю c-rроК:/ 11 "115 F.:ели фCiИ;Ы host.COIlr не сушествует. пернои ОПРill11ItИ<-l.t:тся CICTe\la DNS. В сл)чае веупач--и проперяется фаl1Л /etcfllOsts Во frecBSD файл паПlсd.сопf пере\1еСТЮIСЯ из каталоra /NC в каталоr /etc/namedh. Имена фаЙлов 11 ката!юrов. в которых Р3СПО!1ОЖlrъl файлы, ПРИllедсны в табл. 16.20. 508 ЧОСIЬ 11 Робота в сетя)( 
 Ф ойл Тоблица 16.20. Фойлы по.ето BIND во FreeBSD resol,,' .conf кdrал;' /elc /usr/sbil1 /usr/libcxcc /etc/namedb /val/nт ката.'IOс'1 катило.?! катодосl nameil namedxfer named.conf n8med.pid поmеd.ruл named.stals named.memstat5 Ilamed  dlllllp.db Зонные фвйлы ,.иl1l0ЛОt!1 /С:lс/паЛ1сdЬ I Этот t<;aTI.JIOr )Ю:J.J2.Н 8 фв/ос /etc/namedb/named.conr как H8"8..lbHbJt1 ДЛfl фаЙ10В вrr--D. Описание Файл конфиryраини распознавателя ДeOH серВера И\iС!l КОД \iОДУЛJi 3ОШIЬ!Х лерссыпок КОlIфнrypаШiОltныА файл сервер.! Н\1ен ИllСНnlфикатор IlpOtlt:fXa nC\iOh-а паlllеd Вы.хоn.нЗfl отлa.nО1.JI-IВJI IНфОр!dаШIJl ВЫХОШiая стапrстнчеСКдJ\ iflфорчаш,я СТВТИCl1i.D Idспользов.ШИJl []<t\tЯТlf 06))3] 8Ccfi ба:JЫ данных Стзндар'rное \tCC rОПО.'l(1ЖСНl1е JОШIЫХ фdИ.108 Каталоr /etc/nanledh содержит рЯll файловпримерОh: файл kopleBoro кэша (пsшеd.rооt), ПРОТОТIlП файла JOHbJ обратноrо преобразовзния длJl узла localhost tPROTO.localhost.re\') и sllеllсuенариЙ makelocalhost. которыЙ lапра ШИБает у ПО.']ЫОВ<iтеля IIМЯ l1OMeH3. после чеrо создает фаЙл зоны оБРi\тноrо преобразОБания lL!lfl узла localhost tla основании имеющеrося прототипа. РеrlсценариЙ 11ашеdhооtСОllr. находяnrnися Б каталоre /llsr/sЫп. преоб разует стаРТО8ЫН сuеllЗрlIЙ 113ПlеdJюut пакета BIND 4 в фаЙ'l named.cOIlf формата BI:\ID 8. По нашему НlеНIIЮ. перемешеlrие файла lIашсd.сопf ИЗ каталоrа /etc следует рассматр"вать КаК yroJl08Hoe преступление. f\'lbl рекомендуем СО.шать на прежнем месте ССЫjlК)' на НОВое met.-ТОПОJ10жение файла, чтобы оба имеЮI  новое 1I CTpoe  работали. ПросмаТРИRая комментарJШ R КОI.ще файла пзшеd.сопf. \fbI ДОПlдёL7ИСЬ. что перноначалыlO разработчики FreeBSD планироВtL1И запускать де'\.IOН IIзшеd в среде с нзмененным корневым KaTaJJorOM. Но в стандартной конфиryраUltи :JТoro на самом леле не происходlfТ. ДОПО.'IНИТf:ЛЬНУЮ I-fнФОрмаШiЮ МОЖНО ПОЛУЧI.IТЬ ИЗ переменных лаr.1еd + 8 фаЙlJе jеtс/dеfаults/rс.сопr. Ha ПlапстраНllие. посвяшснноЙ демону пашеd. непраВI-IЛЬНО указаны некоторые П"ТИ. в чаСТНОСТJI к фа(11)' стаП1СТИКf( и ф;аЙ.1У образа ба1Ы ..1аННы..... ОчеВИllНО. ошиБКа ичеется в саIOМ дистрнбуТIIВС на узле isc.org. поскольку 8 Solaris и Free8SD ОДlfнаК08ые ошибки. 16.17. Рекомендуемая литература Система DNS и пакет 81 O ОlПlсзны 80 чноrих источниках. ВЮlючая документаuию, БХОПЯШУЮ Б состав дистрибутива. отпельные rлавы 8 He-KOTO рык KHHr.;1IJi об IntеПlе(. uе:l}"Ю КНШУ серии "In а Nutsllell" издательства O'Reilly. а также ll.iноrочисленные ресурсы в Il1terne(. Списки рассылки и rруппы новостей Ниже перечислеНbJ СПИСКII рассыки.. ПОСБяшенные ш\кету BIND: bil1dusers  чтобы прнсоединJ.ПЬСЯ, пошлите саобшенне по адресу Ыпdusеf"rеqиe.s(@isс.оrg; r лова 16 Система даменны( Io-1мен 509 
blndannounce  чтобы присоединиться. пошлите сообщение по d.llpecy ыпаппоuпсе request@isc.org; namedropper.s  чтобы присоединитъся, 1l0Ulшrrе сообщение по MfJ:CCY namedropp{"rs rеquеs[@iПlеmiС.11еt; bllldworkers  чтобы прнсоеДIfНИТЬСЯ. ПОШЛIПС сообщение по d..1pct:Y bindworkers request@iscorg. Сообшать о наЙllенных ошибках можно по адресу bil1dbugs@lc.or!; Ilml Ьiлd9Ьugs@isс.оrg. Книrи и друrая документация 1l1e NоmiпuП1 BIND DеvеlоршеПI Теаm. B/ND,'9 Adптristraror Rф.'П'Ш:f! Л/опий/. Этот документ доступен из .'lистрибуrИRa BIND (doc/arm) на ViebY1J1e www.isc.org. Здесь 8 общих чертах описаны ПРИНШlПы адМI"Il-IltСТр'lр08<1ШIЯ пакета BIND 9. Более раtший документ, B/ND OperatiollJ GuiJe. или BOG. как ero называют, содержит подробное ОШfС<lНJfе фУНJ.:U1toI-lИрОВtlIIШI 1.1 конфш"}:рирования па кета 81N D 4. Документ BOG RХОДНТ 8 ЛIIСТРl1БУТIШЫ 81 N D вплоть до версии 8. Albitz, PaLlI, al1d Cricke, [.iu. DNS alld ВI N О, Four1h Edi//oll. SeooslOpol. СА O'Reilly, 2001. Это новое издание популярной и очень уважаемой КНИПf О па кете BIND. содержащее описаl.mе всех осtюнныx версJIЙ паКеТ'd. (8.2.3. 9.1.0. а также 4.9). Ресурсы в Internet в спнске часто JaдaвaeMbJX [юпросоп телеконФt:рениЮ'1 comp.sys.[cplp.do mains имеетсЯ Мlюже-ство IшформаШIИ о паксте BIND. 8 оснонном nСрСИII 4. Список велется Крисом Пе..:емом (Cllris Peckhal11) и достvпен по адресу I,llp:/ ;Www. i Лlас.соЛ1/ cdp/cp(d faq Каталоr ресурсов DNS (www.dlls.neljdI1srd)  это полезная коллекшш ресурсов и ссылок на ЮIХ. сстрооожnаемая Андрасом Саламоном (Andras Salamon). Документы RFC RFCnoKYMeHTbI. R которых описывается сш;тема DNS, можно получить на ViеЬу]ле wwv..r.rfсеdiюr.оrg. Ниже леречислеll.Ы избраиные ПОllмножесТlШ :ЭТИХ ПОКyJI.-IеНТ08 Исхоdllые СIlIЙlidйрты I 034  DОП1зiп Names: Concep[s 2nd Facililles (Доменные ИМt:I-tа: ПШIЯП!J, И ба-ювые возможности); 1035  DOIШНП Naтes: Ill1рlетеПLalЮП and Sрt:сifiсarЮIl (Доменные IIMlioI: рeiШl1заШ'IЯ и спеUИФIlК8I1ИЯ). Прсд.ш:нсеUJlые стйидйрты . 1995  IIlсrеП1е11lаl Zone Тrаш;fеr 111 DNS (Инкрементные ЗОI-IIIЫС псресьтки в DNS): 1996  А Месhаl1lSП1 for Prompl NOllfic31ion of Zone Сllзпgеs (МсхаЮflМ уведомления об изменениях ЗОII); . 2136  Dynamic Uрdзrеs in DNS (Динамические оБНОW1ения n DNS). 510 Часть 11. Робото В сетях 
. 2]81  Clarifications to the DNS Specification (Попснения к спецификации DNS); . 2308  Negative Сасhiлg of DNS Queries (Кэшироеание отрицательны, ответов на DNS38прОСЫ). Наборы новых стаllдартов . 2535  Domain Name Syslem Secunlv Extensions (Расширения DNS. связанные с безопасностьюJ; 2671  E....tension Месhалis.П1S for DNS: EDNSO (Механизмы расширения DNS: EDNSO); 2672  NолТеrmiltаl DNS Nалtе RеdirеСliол: DNAME (Передача улрав ления именами в DNS: запись DNAME); . 2673  Billary Labels iл DNS (Двоичные метки в DNS). РаЗЛUlшые докумепты 1 535  А SеСUПlУ Problem алd Proposed Соrreс!iол Will, Widelv Deployed DNS Software (Проблема безопасности ШИРОКО распространенноrо npo rp8MMHoro обеспечения DNS И предложенное решение); 1536  Соmmоп DNS ImрlеmеЛlaliоп Errol1; алd Suggestcd Fi,es (Распро страненные ошибки в реализаuия DNS и предnаrаемые испраНЛClfl1Я): 1982  Serial NuшЬеr Arithmetic (Вычисле.ние ПОРЦnJ<.овых номеров); 25362541  документы, связанные со спеuифнкацией DNSSEC. Типы записей о ресурсах . 1183  New DNS RR Dеfiпitioлs: AFSDB, RP, Х25, ISDN. RT (Оnpсделе,-mя новых залисей о ресурсах в DNS: AFSDB, RP, Х25. ISDN, Rn; 1706  DNS NSAP Resource Records (Записи о ресурсах NSAP в DNS); 1876  А Means for Expressing Location IпfОП11аtiоп in DNS (СреЩ::ТО8 препставления Иllформании О местоположеНИИ в DNS); 2052  А DNS RR for Specifying Il,e Loса[iол оС Services: SRV (3аПIIСЬ DNS, задаюшаSI расположение cepBI-1СОИ" SRV); . 2168  Reso!lJtion of Uлifоrm Resource Idenlifiers usiлg DNS (Преобразо вание универсальных идентификаторов ресурсоо средстоами DNSJ: 2230  Кеу Ехсhaлgе Dеlеgаliол Record for Ihe DNS (Запись о ресурсах DNS. позволяющая передаоать право на осушеств.rrеl-mе обмена к...'IЮ1IaМИ). DNS 11 IllIerne/ . 1101  DNS Епсоdiлg оС Nelwork Names and O[I,er Types (КОДllрование сетевых имен и дрyrих типов ресурсов в DNSJ 1123  Requirements foc In(ernet Hosts: ApplicatioI1 and Suppon (Требооания к Intеrпеtузлам: прикладные и служебные протоколы); I 591  Domain Name System Struclure алd Dеlеgаliол (Структура DNS 11 ле.пеrирование полномочий); 2317  Classless il1addr.arpa Delegation (Бесклассовое делеrнрооание в домене iпаddr.аrpа). Ф}'llКЦllОllllрО6G11l1е DNS 1537  Соmmол DNS Data File Солfiguraliол ЕпОl1; (Распространенные ошибки конфиryриро.ю-mя базы данных DNS); 1912  Соmmоп DNS Ореrа[iолаl алd Солfigura[iол Errol1; (Распростра ненные ошибю.,- функционирования и настройки DNS); I r лова 16. Системо доменных имен 511 
. 2182  SеlеСliол алd Ореraliол of Sесолdary DNS Serv." (Выбор и функuионироваиие вторичных серверов DNS); 2219  Use of DNS Aliase. for Nelwork 5orv;ce. (Ислользование DNSпсевдонтюв для сетевых сервисов). Лруuе докуяеUпJЫ. свЯЗQlIltые с DNS 1464  Usiлg DNS 10 Slore Arbilrary Srriлg Altribules (Использование DNS для хранения произволъных СТРОКОВЫХ атрибутов); 1713  Tools for DNS dеыlggiлg (Средства отладки DNS); 1794  DNS SUPPOr1 for Load Ваlалсiлg (Срелства раслрелеления наrpУЗК11 8 DNS): 2240  А Lcgal Вasis for Domain Name AllocaLion (Правовые ОСНОВЫ выделения доменных имен); 2345  Dоmаiл Names and Сотрапу Name Relrieval t Поиск .п.оменных имен и 'Имен компаний). 2352  А Соп,\'епriОI1 For Usil1g Legal Names as DomaiI1 Name.s (Соrлашение об ИСПОЛЬ-ЗОВ3Ш1l1 зарепстрированных имен в качестве доменных). 
1 7 Сетевая файловая, Еистема ,/ Сетевая файловая снстема, или NFS (Network Fi\e System). позволяет компьютерам совместно использовать их локальные файловые системы. N FS почти прозрзчнз для пользователей и не подп.ержиме1' nоиятие сеанса, т.е. при крахе сервера данные в удаленных файловых системах не пропanaют. Клиенты просто ждyr, Korдa сервер вновь начнет ФУНКЦИОI-mроВ8ТЬ, а затем продолжают работать так. будто ничеrо не произошло. Сетевую файловую систему внедрила компания Suп Microsys[ems в 1985 roдy. Первоначально NFS быпа реализована как сурросат файловой системы для бездисковых клиентов, но прешюженный ПрОТОКОЛ оказался столь удачным, ЧТО СО временем стал универсальным решением проблемы совместноro использования файлов Сейчас уже трудно припомнитъ, какой бьmв ЖИЗНЬ по появления N FS. Большинство постаВШИКО8 UN l.Х>систем прeшrаrают ту или иную версию N FS. причем мноrие ИСПОЛЬЗУЮТ КОД, полученный по лицензии от Suп. 17.1. Общая Io4нформация об NFS Сетевая фаЙЛовая система состоит из ряпа компонентов, включая ПроТОКОЛ и сервер монтирован ия. демоны, координируюшие работу базовоrо файловоrо сервиса, а также несколько диarностических утилит. Части 1UТИеНiскоrо и сервернOI'6 проrpаммноrо обеспечения N FS находятся непо средственно в ядре. К счастью, они не ч>ебуют конфиrypировзния И преИ.мУШественно "прозрачны" с точки зрения администрирования. Версии протокола NFS Протокол N FS отличается удивительной стабильностью. Первый oткpЫ тыЙ выпуск N FS имел версию 2. В начале 90x п. в протокол были внесены изменения, которые привели к появлению версии 3. Ее характеризовали повышенная производительность и УЛY'fiUенная подn:ержха больших файлов. 513 r лова I 7. Сетевая файловая системо 
Пока сушествовала версия 2, клиент Не ..tOr считатЬ операuию заПIIСИ J38ерше1lНОЙ. 11С получив ПОДТReрждения от сервера. Сервер должен был заПllсать на дllCK каЖдЫЙ мQдифиuиров3нныи блок, преЖlIе чем отвечять. Это позволяло избежать nроблем в случае краха сервера. Подобное оrpLШИ чение ЯВ.IЯ}lОСЬ причиной сушсственноrо jамедления работы системы. по скольку во Мllоrих случаях МОДНфИlIИрованные блоки вполне можно было xpaHI1Tb лишь в резидентном буфере. В версии 3 данное узкое место было устране,но за счет схемы соrласования. которая позволяет выполнять операlШИ записи аСИНХроНtIО. Был УЛ'lшен также ряд ДР},ТИХ параметров протокола. связанных с ПрОИЗIЮ дительностъю. 8с.:tедствие чеrо Nl-:'S 3 ста.nз работать rораздо быстрее. чем :'oIFS 2. Сервер иерСИlt ] ncеrда может юсшмодеЙСТВQвать с сервером версии . Просто ОН "p11 зтом перек..IЮ'lается на ИСПОJ!bJопание более СПlроrо протокола. Выбор транспортноro протокола В основе NFS лежит протокол RFC (Rеmш(' Proccdure СаН  yna.rlelillbIll НЫ1ОВ rrроuелур) КОfПанНИ Sun. который определяет системнонеЗ3RИСI-lМЫИ способ взаимодеистшы проuессон ПО сети. ПОЛОЖi-пельным побочным эффс",,,,ом .поЙ архитекrуры ЯВJlЯстся 801МОЖНОСТЬ выбора транспортноrо IIрОТОКОЛ8  тср ми lJDP. Изначалыю н NFS ПримеЮiJ101 IIрОТОКQЛ UDP. поскольку он 06еспеЧШtil11 наИJ(\.ЧШ".Ю IIРОИ1RодителыlOСТЬ 8 ло....iшыfы.. (..етя). 80x п. И хотя nporp3MM Вое обеспечение NI=S само выполняет сбор!-,:у паКТО8 и осушеСТIJЛ.IТ КOIIТрОЛЬ ошибо..... но ни в UDP. HI-I 8 NIS не реCUllПОllаны 8.,lrоритмы кон rрОШI псреrpУ'ЗЮI. которые необходимы для достижения НОРМ3ЛЬНOII ПРОИЗIЮДИТ.ЛЪНОСТi-1 в КРУIIНОЙ I Рсети. С uелью решеНIIЯ ЗПf\ IIроБJlем в БОЛЬШИl-1СТве систем было Рa.lШt:НО использовать 8 качестве траНСПОрТIШП'l протокола lU1JJ NFS tiC lJDP, а ТСР. ПеРВОН8Ч8J11,НО данная ВО.jfOжность преДН3.1началась lU1я обеспеllСНИЯ работы NFS через маРШРУТИЗёПОрЫ 11 в сети Inlernel. Но в настояшее BpeM1 ООЛЬШЮ-IСТВО Сllсuна:'IIIСТОИ р<iссматри--нает ТСР и как оптимальное СПСТIЮ для УI1IJiнщеНI1JI 'юкальным трафнком. В конне KOHl108, по мере упешеВ.lеНШI паМИТI-I и роста ПрОl-1lно!нт:-льности uентральных npoueccopOH IIС_РRОШIIJа.1h ные ДОВОШ.,I Б IIОЛЬЗУ UDP СПIIIОflJJТСЯ нсе менее .IКТУCUIЬНЫМII. CepRcpbl. IlOддеРАшшtюшltс протокол ТСР. KK IIрашыо. прнни!'olсl.lОТ -ЫIIРШ:Ы на устаllOl:I;1ение t:oe!llflleHIJ от обоих TpaHCllopTHbIX ПРОТОКОЛОR. ПОЭТО"I". выбор межnу ТСР 11 II ОР деАает ICIIfНТ. Ьольшинство КЛllеl-lТОJl ПО \"1'..10 l'iallllЮ работаlOТ с LIDP. Sol3ri:-. к их ЧIIСЛ} не оrноснтсЯ. Помержка ТСР ОФИUlolaJI6НО rlOЯВIUJaСЬ в СПСЩiфЙ-каШfИ протоколCl NI---S Rt:рСШi . 110 сушествуют реаШf]аllНИ Rерсии 2, .-де такая подn.еРЖКi.l тоже НМСС'П:Я (II.ШрI1мер. в I{ed Наl) В 10 же вреf.IЯ есть 11 реализаuии nepCfllI 3. !"ДС: поддержка rcp OTCYТCТBeT (в '-IС!t:тНш....ПI. в HPUX). В\..с данные о поддержке протокола 1 СР If NFS версии 3 в 1-13ШИ), TCCTOIJbI\ систеМi:lХ CI:IC'.i1CIIt..! в табл 17.1. В колонке .'По УМОЛI.J<lНИЮ'. ).'казано. KaKOM нротоко:п: оrпает IlредrЮ'--lтеШIt' КШfСllтская часть CIICTeMbI. 514 Часть 11. Робота в сетях 
т облицо 17 1. ПОJJДерЖkО росширенны:": 1В0змОЖliостей NFS IВ операuионных системах Система NFSvЗ? ТСР? По умолчанию Solaris п. Jla тср HPUX П. Нет UDP Red Н., Не-т п.' UDP FrceBSD П. П. UDP I Протокол тср ПОДll.ерживается только на стороне К.'lИента. WebNFS в 1996 r. компаНIIЯ Suп предприняла ПОrlыТio.,..у Rвелрнть Nr-s в r.чоба.1ЫIУIO сеть. предложив собственную орипIнaJтыlюю систему v,.'cbI\Jr-S. БУДУЧIf lIaд множеством стзндаРТliоrо протокола NFS нерсни 3, v,.'ebNFS }СТрil.liЯСТ (точне, делает нсоБЯJaтеЛЬНblМИ} ICKOTopbIe НСl1'l1l1те'1ьные траН1.ilКЦIII1, через которые должен проf1ПI тралИI1ИОННЫЙ клиент "'JFS. lIpt'жnе чем 011 ПО."IУЧIfТ дост)л К фаЙловоt1 СlIстеме. Этот чехаmпм предназначеll не д!JЯ l<l..teHW :"JFS. а для подnержк1t ипплетов. RЬПIOЛНЯ10ШИХСЯ в среле WеЬброузеРО8. СJlе.:ю вательно. ДЛ)l орrзНl1ЗЗUИЙ. не JВНИМЗЮШНКСЯ написаннt:'" таки\ аmlЛt"ТОН. систеtа \VebNFS не llреДСПlВ.пяет особоrо Ю--l1.сресз Все НШ1И теСТОБые Оllсрзцашнные систеt.п.1 (кроме HPLIX) ооеt:пеЧIlНCiIОТ сеРnСРI.IУЮ 1I0lL'lержку протокола WebNFS. !lополнительн\'1О ИНфОРIi.шIlЮ IOЖIЮ получить 110 tlдрt:су w\\''W.sun.comj\vC'bnf. Блокировко файлов Блокироню фаt.\дои fрС3Лlt JУСМШI Сllсте\IНЫМIf RbI10BtI\tH nock иjllJlII Iш::kfJ в течеНllе лолrоrо BPCMCI-ll, ЯБ.'1ЯЛЗСЬ ..ООЛЫIЫ".. нопрОСО\1 lIЛЯ llN I'\CIKI""\I В локальны), фaJ1!ЮВЫХ система"" этот MeaH11111.1 был pe3JlIIJORtlII далеко "е' 'ИлеалыlO Что касается N FS. то положеНlt{' все еше неустоi.J1пt80. Серверы NFS не поnдержltШНОТ ПОНЯТllе CC,tI-1еа: OHI" не lНilЮТ о 1"0"1. KaКltc компьютеры работают с ",онкретным фаtНЮ"'1 НО ЭТ3 IIlIфОр\I&1ШIЯ llеоБХOllllМ..t .!J..;lJl I.IСПОЛЬЮКШIШI БЛОКI-1РОIlОК Как быть'.' TP3fll11lHOHliOe РСШСllие шключзется 8 рса.rrИli:ШIl11 tlIC"o\.IHlI"iM(t б:'lОКI1рОНОJ.... отлельно 01 N FS. В больuшнстве систеч .JтоЙ uеЛlI служат два дсмона. locd и statd. К сожа..'IеlИlO, реа'1lп3шtя тзкоrо ПОlNода lЗ1Т'Уllllf'Ш! по рЯД} I1рИЧ1II. поэтому БЛОКИРОRка файлои n 1\J FS часто ОРПНlПОИ.Н.JЗ неОПТII\.IС!.1ЬНЫ\1 образом. Дисковые квоты Доступ к ННфОрМ3ШIII О Л!IСКОI1ЫХ квота'\: IШ УДпленном J(()\IllЬЮН'рС осущсств.rrяет серверный демон rquotad. работаЮШIfИ во ВНСПОJlОСIIO\t рСЖIIМС Серир NFS булет 110дnеРЖIIН:lП.. ЛlIСК08ые квоты, 110 К.'lиенты lIe С\.10rп ничеrо о ни", узнать. ССЛI" HtI yna.rleliHoM КОl.НIIютере Ifе работает ЛС\.lOн rquotad. Мы с'штаем меХЗНИ1М ilИСКОВЬ!Х квот большей частью устареИIIIIl\.I. ПОЭТО,"IУ не будем рассказывать об "ЛОМ HC!\ilOlIe. r пово 17. Сетевоя фоj;;лово системо 515 
o r лобальные идентификаторы пользователей и rpупп В UN LX пользователи и rpуппы пользователей идеНТИфИШ.IРУЮТСЯ по номерам. Если пользователь КQмпъютера Х имеет файлы на компьютере". то желательно, чтобы ero идентификатор был одинаковыМ в обеих систеМ&lХ. иначе MOryт возникнyrь серьезные проблемы с безопасностью ИЛИ КUНфl денuиальностью. Бодее подробные сведения об идентификаторах пользователей u zpyпп содеРЖQт ся в zла8е 6. В некоторые серверы N FS были внедрены средства преобразования удаленных и.пентифи:каторов n локальные, но эта возможность не является частью офиuиальноro ПрОТОКО!13 N FS и не может считаться надежноЙ при работе с нескоЛЬКИМИ операuионными система'fИ. Мы рекоменлуем обра щаться с Идентификаторами старым. но надежнЫМ способом: следует сделnть так, чтобы на всех компьютерах. тде происходит совместная работа с файла"J!. ]а пользователями и rpуппами были закреплены ОДНИ и те же HO),tepa. Чтооы избавить администратора от rоловноЙ боли, добейтесь уникальности нденти фm::аТОРОВ в пределах всей орrаНИЗ8ЦИИ. Серверы NFS не требуют реrистрации удаленных пользователей в систе\f. Пользователь моЖет даже не иметь записи в фай:rе /etc/passwd. если тольJo.:О на сервере не установлена какаянибудь необычная ОПIlИП. например rnap n1.S В Red На!.  Учетные записи raa! и nabody В обшем случае полъзовате.1И должны иметь одинаковые ПРИВИ!Iепш n любой системе, к которой они получают доступ. Однако тралИШlOнно оrpаничиваются возможности неконтролируемоrо при.менения прав супср пользователя в файловых системах, смонтированных посредством N FS. По умолчанию сервер N FS перех--вз.тывает входяшие запросы. посылаемые от имени пользователя с Идентификатором О. и '''делает вид", будТО они поступают от npyroro пользователя. Таким образом. учетная запись root не отменяется. но уравнивается в правах с оБычныии четными З8ПИСSlМJ-I В большинстве снстем спеuиально опреп.елена фшr:тивная учетная заПIIСЬ nobod)., чтобы под нее "маСКllровался" ПО.'1ыомте.1Ь root, работаlOшнil нз сервере NFS. Ее I-Iдентификатор может бьпь разным в зависимоСтИ от систе\lЫ и в принuипе не иrрает особой роли; чаше ncero это  2 или 65534. Важно то, что этот идентификатор не пересекается ни с onHIIM из ип.ентификатороя реальных пользователей. В Solaris и HPUX .!lосТ)'п В систе",ry будет вообше заnрешен, если Назначить учетной записи root Идентнфикатор  1. Все эти предосторожности пресленуют блаrородную Ilель, однвко конеtl ный результат далек от идеа.fJ8. Будучи клиентоМ NFS, пользователь root может с nомошью команды su ;'ПРIlНЯТЬ облик" любоrо полъзовате.J1Я, так что иаши фаЙлы никоrда не бывают полностью зашишены. Систе\lНые учетные зал"Иси, Такие как Ып и sys, не ПО.!lneрrаюrся смене И!l.еНП1фию-пора.. поэтому принадлежашие им фзйлы (а это большой ПРОllент системны"' файлов) открыты nля напацен'ИI. Единственный !l.еfiственный -эффект ОТ смены идентификаторов заключается в том, что пре!l.отврашается ДОСТ) п к В действительности в Red Hat можно менять ияентифи-каторы дрyrюc: учетных ззшсей помимо root. Подробнее об этом рассказываетея 8 параrpaфе 17.2. Будьте осторожны, чтобы подобными изменениямlo{ не нарушить работу стандартных проrpзмм, в часnlOСТИ sendmail. 516 Чость 11 Робото В ceTX 
файлам, которые nрИН8д.J1ежат пользователю root и иедостyпны для 'freния или '\вn'Иси осталъным пользователям. Секретные ключи и мантиравание без учета састония Прежде чем начинать работу с файловой системой N FS, клиент должен ее смоитировать, как если бы это была файловая система. храняшаяся на локальном диске. Но NFS не сохраняет информацию о сеансах. поэтому сервер не знает. какие клиенты смонтировали каждую файловую систему. Вместо этоrа сервер ВЫдает клиенту секретный ключ по факту успешноrо завершения операции монтирования. Этот ключ идеитмфиuирует каталоr монтирования на сервере NFS и позволяет клиенту получить доступ к содержимому данноrо каталоra. Как правило. при демонтировании и повторном моитироваIOfи файловой снстемы Ita сервере ее секретный КЛюч меняется. Но есть особый случай ключ сохраняется при перезаrpузке. чтобы сернер ПОС.'Jе крахз смот вернуться в соое нормалъное состояние. H стоит. однако. пробоватъ ЗНРУJКаться в о.mюполь.зователъском режиме, работать с фаиловой системой. а затем З31-ружатъся вновь: это приведет к аннулированию КJ1Ю1lей н ЛИШIIТ Ю1t1еlrrов возможности доступа к файловым системам, которые они СМОНПIРОllали. !lO тех пор. пока они либо не перезаrpузятся. либо не осушествят повторное МОНiировакие этих файловых систем. Если у Ю1иента есть секретный ключ, он может с nОМОllIbЮ протокопа RPC посылать фай-,овой системе запросы, например на создание файла l'JИ чтение блока данных. Посколысу в N FS не1 понятия сеанса, то серneр все равно. какие запросы клиент делал (ИЛИ не нелал) ранее. В частности, прежде чем удалять собственную коmiЮ данных. подrIСЖв.ши-х заПИСI', клиеит саМ долже н ублнтъся. что сервер ПОffi"вердил запрос на запись. Соrлашени об именах совместна испальзуемых файловых систем Управлять сетевой файловой системой становитСЯ проше. есл'И пр'Идер живаться стаl-шартной схемы именован'Ия. Полезны таки и.мена. которые содержат имя с.ервера (иапример, /anchor/tools  файловз,:J система, распо ложениая на машине anchor). потому что они позволяют пере водить объяn.лсНJ1Я Вида "'машина anchor бунет всю L)-бботу отключена в связи (. модификаWfей" в "я не СМOI'У 110работап. над фаЙ'10М 'апсhоrjtооls (е\ в суббоТ). чтобы jЗКОНЧИТЬ дисссртаllИЮ, поэтому луtlше отnраВ1ЮСЬ на лыжную l1роry r псу" К СО)f'"а.Т'[JmЮ. "l'Т3 ех:."ма требует. чтобы K::J.T<1"lor janchor сушствова.iJ в корневых кзталоrах всех ЮIИснтских компьютеров. Если кr1ИНТ ПО.'1\'чзеТ доступ к файловым СИСТ('М8М, расположенным на неско.i1ЬКИХ машинах, ero корневой кaTa.T1Or может оказаться захламленным. PaCCMOTp1Te BOJMO:+:IIOCTb yrлуб.'Iения иер&рхиК например, используйте К8та. r ЮП1 ,bometanchor. .Ъo me/rastadon и 1'.Д. МЫ советуем прибеl н}ть к ПОМОШИ немонов автомап1'( ското монтироваНJ1Я. опнсание которых l-IаI'ИнаетсЯ 8 параrpафе 176. Безопаснасть и NFS Сетевая файловая система предоставляет удобнъrй способ доступа " файлам по сети и потому является серьезным источником 'ТРОЗ ШlЯ r nОВО 17 Сетевоя фоипОВQЯ систеМQ 517 
o o 17.2. безопасностн. Оив подобна треН3>1<.еру. на котором можно проверять любые бреши. сушестпующие ИJ1Н КОI-далибо сущеСТВОП38un!е n UNIX. Изнача.IlЬНО в ПРОТОКОЛС' NFS не были предусмотрены никакие средства за1illfТЫ. По.шнее лежпший в ero основе протокол RPC подверrся МОДИфИ кзщш 1-1 появилась ВОЗМОЖНОСТЬ использовать подключаемые модули ayrcH ТИфИКёЩI'l'И. Однако новая Сllеlшфикаuия так и не предложила KOHKpeтHoro механизма lаШJПЫ. Тnrла на арену Быll1ии два конкурента: компания Sun. представившая собстннvю технолоrию на основе систем ШИфрОFlания с открытым КЛЮЧОМ. проитнорирова.нную дрyrw.tll ПnСТ8ВШllками. Ii система Kerberos. раСШНр(tD шая С80И стзmартные средства аутентификашш на RPC. Оба решения ПОlИОЛЯЛJ1 убедиться. ЧТО у;ншенныи пользователь дейстьительно тот, за Koro себя IJbInaeT. Но НИ в одном Аз случаев ланные, передаваемые по сети. не подверrа..,lИСЬ шифрованию. поэтому пользователи поnрежнему находились по -власти хакеров. ПОЛЬ10вавшихся анализаторам-и пакетов. Пооробllее о систе.А,е Kerbero!J раССКtlЗЫfJоет(я в пОРОi'рафе 2/.8. Если в орrани3.аЦИИ },же используется система с открытым ключом компаlllfИ SUП ИЛИ система Kerberos, обязательно применяйте ее совместно с l'\I FS Раз есть корова. пусть она дает молоко! В протнвном случае установка такоя системы вряд JШ себя оправдывает. ВоЗМОЖНО, оба этих варианта Ilредстав..1ЯЮТ Иlперес. но на самом деле Qi-III обеспе'-П1ваlOТ лишь минимальное IIOнышеНI1С ззшишенности по СРf1пнению с уровнем, который определяется здравы,,", СМЫСЛОМ. В орrаtlllJ8ШIЯХ среднеrо размера достаточной Mepo '1.!Iшиты от нежелательноrо пронию-ювения является жесткий КОНТРОЛЬ нан совместно используемыми Фii:lЙЛОВЫ-МИ системами. Самая высокая степень риска связана с локальными компьютерами, ко.roрым офнциально разрешено монтировать файловые системы. Если че.:'10ВСК. КО10рОМУ вы не доверяете, имеет ПРИ8илеrированный доступ к к..f]иентскому компьютеру. не экспортнр} iTe на эту машину Нllкакие файловые СНI.:темЫ. При hallH-1Н-IИ в орrаНИЗaIJIIИ БРilндмауэра блокируйте доступ к TCP и UDPnopTaM 1049. которые используются протоколом NF-'S". Кроме тото. lIеоБХО!llf'\Ю блокироRЗТI доступ К демону portmap системы Sun RPC. которЫ#1 обычно Jlрос.'1УШIff\иет TCP ! tJDРпорты 111. Несмотря на все эти предосторожности, Не t.:TOHT также забывать праиило, соrласно которому фаf1ловые системы !\,J :S не должнЫ экспортироваться на неЛОJo;:альные мшины (\"'.ebNFS tlC в счет) О браuо"ш.i:J/JllХ речь l7ой()ет в 1l0ро<:рофе 2/.9. Серверная часть NFS r"оворят, что сервер "экспортирует" файловую систему. если он делает ее доступной ШI'Я исполыовзния дрyrнми КОМПЫQтераr>.rи. В Solaris употреб lIяется термин "преДОСТ3В.'lяет в СОАместное использование" Для ясности мы реши.'lИ ПрJ.ШерЖI1Я3ТЬСЯ 11 этой rла8С первоrо вариаtrrз. Проuесс МОНТИР08ЗНИЯ ФаЙ-тlОВОЙ системы (Т.С. опредеrrения ее CCKpeTHoro КЛЮ(13) полностью отличается от Ilроцесса ПОС.lеllуюшеrо доступа к }далеННЫ1 ФаЙ1ам В обеих операuиях исполыуются СОliсршенно разные ПрОТОКОfJЫ. а flравда, если орraнизаllИЯ предостав..IЯет epBIIC WebN FS, ПрlДется разблокировать TCP порт 1049. НО ЗТО lIе отllоштся к компьютерам. содеР:)fU:ШlIOI критичеСЮ1е данные. 518 Часть 11. Робото в сетях 
, запросы обслуживаются разными демонами;.о первом с.лvчar  mountd, во втором  11fsd. В некоторых системах оии называются соответственно rpc.mountd и rpc.nrsd  как напоминаН1lе о ТОМ, что их работа ОСНОRЗна на теХНОJ10rии Suп RPC (следовательно. мя. их RыполнениЯ требуется демон portmap. о котором рассказывзerrСА в []зparрафе 28.1). На сервере NFS оба демона. mountd и пfsd, ДОЛЖНЫ стартовать на этапе начальной зarpУЗКИ СИСТМЫ И продолжать ВЫПОЛНЯТЬСЯ, пока систеlа ие будет выюnoчена. Чаше Bcero запуск деМОИOlJ осушесТВJUlСТСЯ автоматически Стартовые Сllеяарии проверяют. сконфиrурировны ли экспортируемые файловые системы. и еслИ )ТО 1'81<. ТО демоны заПУСКRЮТСЯ. Демоны mоuпtd и nfsd совместно эксплуатируют обшую БSJУ данных с информauией о права>. доcryпа, rAe указано. какие фаИJlOвые сш;темы следует экспортировать и какие клиенты МОJ)'Т их монтировать. Рабочая кorlИЯ этой базы панных обычно ХрdНИТСЯ в двои-том фаиле {В большинстне снстем 0.1 называется xtab. в Solaris  sharetab) rneTO в корне130И файловоЙ системе; ее копия может быть также спрятана в ядре. ПОСКОJJЫ,"У фаЙл базы данных представлен в l-IечИТс1емом формате. ШlЯ добамения и редактирования -записей требуется RCпомоraТС:lьная KOMaf-{Д3. В больuш.нстве систем это команда exportfs. в Solaris  share. Удалить JiШИСИ можно посредством командЫ exportrs u или unshare. Упраnлять ДВоичНЫМ файлом вручную  не саМое приятное 1аНЯП1l, поэтому большинство снстем препполаrает. ЧТО ПОЛЬЗОRiПель веДСl текстояыfl файл, в котором переI.Jислены все экспортируемые каталоrи системы" IIp<lEl<! доступа к ним На этапе начальноЙ заrpУJКИ C,"ICTeMa чи,.nст этот фш'л и на ero ОСНОRЗнии автоматическн сознает фал xtaЬ К'IИ sharetab. В большинстве систем имеется файл /etc/exports. включаюшИ"Й канОIШ ческиА список экспортируемых К8талоrов в текстовом виле. Ero содер>Ю1мое- читается посредством комаНДЫ exportfs a В Solaris 'Канонический список храfППСЯ в файле /etc/dfs/dfstab. который в действителъности прСДСТ3В.'1яст собой сuенарий. состоящий 1'1] последовательности комаи.д share. (Команда shareвJl с помошью }ТИЛlпы grep извлекает из фаЙЛR dfstab все NFSt':омзнды и выполняет 101'= Но NFS  еДИНСТRенная широко рЗСПрОС1рЗllеНН3J1 систма COBMeCTHoro использования фаЙлов. поэто",fY комаlШ3 shareall эквивалентна вызову sh /etC/drs/drstab.) FreeBSD необычна ТеМ. \по де!l.Юl1 nlOUlILd ОПр3ШIIRет фаr1Л /etc/('\:porL\ напрямую, поэтому 1"lсоБХОДI1МОСТИ В файле :\Ш и ком;:шде expnr[rS 11 возникаст. Изменив файл exports. нужно послать деЮII mourlLd CltrHa:i HLJP. чтобы ОН ПОRТОРНО rlро\пп-ал содержимое фаЙJlа: t kJ.11 НUP 'cat /var/run/mountd.pi.d. Все 8ышесказ.аююе сведено в табл. 17.2. В ней указано. какой фаил нужно редаJ...iИроватъ прн экспорте новой файловой системы и что нужно сделать по окончании редаJ...iНРОВ3НИЯ, чтобы изменения вступиm.. н силу Таблицо 17.2. Кок ]кслартирOtЮТЬ lI:отолоr So1ari5 HPUX Rcd Hal FrееБSD Список экспортируемых ф ойловых сиcreм /etc/dfs/drstab !etc/exports /etc/expor1s /elc/expom Что делоn. после внесенYlЯ изменений ВЫIlОЛЮПЬ коыаИд)' sbareall Было.'1НИТЬ KOЫ8Нl1Y !usr/:!!оЬш/е,.,роnrs a ВЫПОЛЮrrb комаНдУ /u!ir/sbinJexpor1rS .a ПОС-'I8ТЬ демону mountd Сllrнал нор Системо r лово 17. CeTeBO фоипово системо 519 
 NFS работает lie на физическом уровне файловой системы. а на лоrическом. Экспортировать можно любой К8талоr; ОН неоБЯJ8ТeJlЪНQ должен быть ТОЧ1СОЙ МОIПИРОВ8НИЯ или корневым каталоrом физической фаЙ:IОnOЙ системы. Однако из соображеН1fЙ безопасности N FS определяет rpаниuы меЖдУ фаЙЛОRЫМИ системами, которые относятся к различным устройствам, И требует. чтобы каждая такая файловая система экспортировалась отдельно. К примеру. если раздел смонтирован как /users. то корневой каталоr МОЖНО ЭКСПОрniровать неЗ8НИСИМО от 3Tora раздела. Обычно клиентам ПО]RО!1яется монтировать ПОДК8тапоrи экспортироваН Horo кэталоra. Скажем. если сервер экспортирует каталоr /chimchim/users. то к.'1иент может смонтировать ПОЛКRталоr /chimchim/usrs/joe, а остальную часть кзта...'10rз Dsers  проиrнорироватъ. Большинство систем не позuоляет ЭКС портировать полкаталоrи с дрyrиМН параметрамJ1. чем у ролительскоrо экспортированноrо ка.талоrа. хотя Red Наl  исключение нз праUИ}lа. Команда share и файл dfstab (Solaris) Сuенарий /etc/dfs/dfstab выполняет команду share однократно ШJЯ аЖДШ1 зкспортируемой фаЙЛОRОИ системы. Например. на сервере, совместно ис пользующем каталоr /chimchimju.rs с маШlIнамн Ьапd 11 шооп (при это\.l клиент band имеет права полъзовзте.'lя root) и Кiпа.rюr /uеr/shаrе/Пlаl1 с машинами chimchlm и rastadon. файл /etc/dfsjdfstab будет содержать таки команды: 8hare F nfs o rw-'band.:xor.c:em:moon.xor.-::::orn.root;oband.xor.com /chimchim/U!'!f':r5 share po nfs c r""'"'ch1.mch1.m.xor.com:rar:ad(ln.;o.:or.CQm /15r-'share/man После редактирования фаила /elc/dfs/drstab не забульте 8Ы3f:18ТЬ команл}' shareall. и все изменеНl1Я вступят в силу_ }-чтите. ЧТО ....оМаВдз shareall просто Rыполняет команды, записанные 8 файле dfstab, поэтом} она не СМОЖе1 отменить совместное использование фаЙЛОИЬDi систем. 1аписи которых БЫЛl1 дa.leHы из файла. Наиболее распространнные оnuин командЫ share перечис.nенЪ1 в табл. J 7.3. Опция Опции команды shore tSolarlsl ОnИСQн'-!е Экспорт с AOCTYТlOM только Д:JR 'П(:НltJl RCC r.ользоваТС.'lJl'-i (не реКОМСtЩ}стся) -)",спорт с .il.ОС1)'ПОМ тол:ьке ДЯ ЧТС'ПSЯ н::..а1.анны.м узлам ЭJ(СI10р1" с аоступоМ lVUI 'пrНl1Я и 3itПИi;И Bc-et.' пользоваТСJlJl (IIC ре"омещуется) Экспорт с .ilОСТ)"ПОМ lL1Я чтения 11 '1ЭШ!СI! \'"аззиным узлам СШIСО" У1.:10В, KOTnrt.1M ра1р1"Ш('Н досту:"! 1( 'Этой фа.й.rювоfll системе с r:pa8aмl! сvпr:pПоЛЬЗОIJа.т; бсз даннаЙ опции привипсr-ираВ:II'!liЫЯ поступ с иашииы...-лиента зквивал('11 доступу от имеШ1 IIOJlblOB8 1'С.'lЯ oobody (как правило, ero и.деитификатор равеН 1) Значекмс III D которое нужно I<СЛОДЫОвать для запросов. пост) Ilаю ших 01' nОЛЬJOват'1R root; П[l УМОД:Чi3.tшю  Qobod За.лрсшаст J(..'1иентам .монтировать 1l0.a':Rta..-.оr-и ЭКСПОрТllроИilнноrо кэ.тадоra Залрс:шаС!т c01.ll.aa.ilТb Чс:ре".> N   файлы с стаIiОRЛННЫМI1 бllli1"U1 SLlD 11 SGID ra==clJ"co rw=-(.пU'::ОI< roo(==CIJUCOK anonc=uid QOSub nI}JШ", 520 Чость 11_ Робота в сетях 
Список. используемыи в различных опu'Ию: команды share. должен состоять И3 rpУI1П элементов. разделенных С"1мнолами дноcrоЧJ.1Я tтабл. 17.4). Все элементы идентифиuируют узлы или rpynпы узлов. Таблица 17..4 СпеuиФщюu узлов в tr:OMOHдe shore Тип . Синтаксис Нозначение имя компьютера UAIJlКОJA"ъютерtl Имена отдельных узлов (д0JOКН.bl ()ыть полно стью определены, если ислоJlb3Уется DNS) Сетевая rpуrшa Ш4Jlzруппы Сетевые rpуnпы NIS; подробнее об Э10 рассказываетея в параrpафе 18.3 Домеи DNS XQ;..'J-Y Любой узел в пределах домена IРсети @u.ия сети Имена сетей, заданные в файле /etc!networks l I Допускаются также специфш<.ации в формате CIDR. например C!'128.138.91.128/Z Примечание к табл, 17..4, касаюшееся имен узлои, стоит повторить еше раз: если в орrаНИJаllНИ используется система DNS. имена oTдe.:rьHЫX узлов должны быть полностью определенными, иначе они бунут проиruорированы. Перед элементом можно поставить дефис. что означает запрет Список просматриваеТСR слева ваправо. пока не будет найдено совпадение, поэтому операшш отриuания долЖНЫ предшествовать более обшим Сl1еuификаuиям. Напрнмер. строка share F nf:s o сw'""@128.1З8.2.t;3/2: .cs.colocado.edu /зе::-5 экспортирует кзтал-оr /usr с ПОС1)'ПОМ для чтениязаmlСН всем уз-.1а1 R домене cs.colorado.edu. за исключением узлов сети 128.138.143. РазреШdется э....спортироВать каталоr одним клиентам с доступом TO1bKO для чтения, а ПРУТН\I  для чтеН1iRJаПИСИ Нужно просто включить в спеuификацию как ОПШllO 1"'Yt'==. так и опцию ro==. На Пlап.страНИllе share( 1 МI описаны некоторые базовые пара метры NFS Полный их список Прl-1ве.о1СН на СТРClНИIlС sharenrs( I 1\1). Команда exportfs и файл expor1s (HPUX, Red На!, FreeBSD) ФаЙл expor-Ls содержит в крайнеи ;\еВQИ ....ОлОНI\:е переченъ экспортируемых каталоrов, за которым С.1едуют СI[ИСКИ опшtЙ 11 атрибутов. Например. R Н P UX файл e>..porLs. содержаший строки /chi.::him/users acces5==bad:rnoon. rооt....Ьалd /usr/shаrе/mал accessxora9aurus: rast.adon :rnооп. ro определяет, что машинам band и mOOll ра.зрешено МОНТllровать файловую системv /сhiП1сlliПl/usсrs. а с машины balld можно ПОЛ)'ЧIПЬ поступ к .лой файлоой системе от ",мени суперпо.'1bJОвателя ", Кроме Toro, машины хоrаsзurus. rastadon и 11100" MOryт монтировать файлов) ю систему /usr/slla re/ma" с доступом только для чтения. Файловые CIICTeMbI, которые казаны в файле exports без соответствую шеrо списка коmьютеров. обычно MOryт монтнроваться BCe.wu компьютерами Подобная беспечность приподит к ВОJНИКНОВt::IНIЮ серЫ::ЗI-IОЙ бреши 8 систе\."е заши,.ы. Доступ на уровне су"еРПО!lЬЗОВатеnя разрешен также сЫшсЫш  реалыюму владельиу это фаh:.повой системы r лава 17 Сете воя фойловоя систе'v\О 521 
[lrp] в некоторых реалИl3l.ШЮ; NFS D..!1ИIl3 строк n фаЙле exports оrpаl-ll.lчена 10.24 СИМВО'13МИ. Этот Ilрелел чноrда наступает ужасаюше быстро. особенно еслн УК31ыиаются IIОЛНОСТЬЮ определенны с доменные имена. ВЫХOlЮfll Н] rlО.'lОЖОIIIЯ может стать ftCll0JlЬ'J083HHe сетевых 'l1}ПП и \шеок подсстеt1. Конкретныс пара метры. которые МОЖНО указывать R файле /etc/exports. а также их СИlIтаксис у каЖДШf с.,стемы свои. "\ОТЯ' И наблюдается Оllреnслснное сходство Ниже описаны особенности систем HPUX. Red Har Lil1Ll и FrecBSD. но, как RCer!la. не ПО'-fсшает нсе СВСрJПЬ ПО локументаu ии . Файл exports в HPUX В HrUX формт файла с-хрош наиболее "классический" среди всех наших тестовых СJlстем. Возможные опuии (табл. 17.5) очень напоминают те, которые раСl10ЗНВЮТСЯ KOMaHДO share в Solaris, Но есть ", ряд ТОНКИ), р3ЫIЧИИ. Например, строка 1 ""'dnchcr. cs. coloradc, edu ::noet. сз. coluI:ildc, edu в {JI,lП.ь. 01118'ШItТ .1КСJlОРТ "aT3..JlOra с.: посч ПОМ .R.!IИ чтеНИЯl;lIlIlСII TO.'1hKO неречислеl-UlЫ'l.t УТ13М. В HPLIX -:па же строка разрешает все", ПОJlЪjоиаТСШl!\.1 монтировать Кclталоr только д!IЯ jallИСII. 3 ину"'" У"IЛ3111IЫМ  еше 11 ..аля .пення_ Попробуй ПОИМII ЛИХ р.враБОТЧIIКnВ В HPUX. чтобы разреШllТh \fOtПllрОВ3НJft: 3iilдHHЫM КЛИентам, нужно ВОСПОЛЫОВi:lТЬСJI опuией dL:Cess: CW. dcces..san.cher, СЗ. colorado. edu :moet.. СЗ. color:adQ. edu }стзнавка на чтеНИезаПlIСЬ сделана по УIO..'1чаНIiЮ. поэтому ОПl.1ИЮ П! МОЖI'IО OIlYCТllТb. С дртой стороны, не ПО\lсшает УКЗj3ТЬ ее Я8НО, В HPLI\ каждая строка фi:lйла exports ДО.'IЖН3 содерж.dТЪ путь к К3Т3ЛОr}. Ilробел 11 дефш:. после t.:oToporo идет список опtшil, раjдлеIШЫ\ ]iШЯТЫIII. ПрlI\Н::рЫ строк уже ПРltRОДl.IJIИСЬ RЫШ В та6:1 17.5 l1ереЧИС:IСIIЫ lIшБО!lее раСIIРОСТР,i:lНСИI-lLlе ОПlIIIII. КОТОрЫС "IOЖllO KaJbI8aTb n фале c'\:ports. под ClJllf..KOJI IlОНllмается рЗJДСllfНlI3Я ДRоеТО'l11Я'l.IИ rrОС.'lедовзтельность IIMCH рЛОБ 11 ceтeRbI'\ IРУПn (о ПОС!1еДНII\ речь lюйдеr в IшраlрOlфе 18.31. т а6лицо 17.5. Ноиболее pocnpoctpal-lенныe ОПuи'"' файпо expor1s 8 HPUX Опция .. .... . Опис ;и  access 1:1ШСО!< Список клиентов. которые MOryr монтирОНRТЬ файловую CIICТCMY ro Экспорт тодько ШIЯ чп:ния; ни один клиент не имеет права ]3ПИСН в фilR.lОИ}"Ю сш_rм". .:1t..CIIOP'l" ШIЯ ЧIIШЯ И ЗИПllсlt (ПО У)!ОЛ'Нltlltю) :tкспuрт IЛ;]ИНЫ:Ч обра.ю"1 для ЧIСЮIЯ; н СПllске переЧllCJIСНЫ к.nиеНIЬJ, котары)! p.1JpelllcHo \Юlll"llрnваНIС ;tJltl 1a1111CII; "се остальные должны MOHfllpOIUlTb фаЦJlOfI}Ю CIICTCMY TOJU,KO Ш1t1 ЧТСIН1Я root=oCl1UCOh- CrU1COK к..'1ИС'НТОБ. которым ризрсшсн доступ К фdЙЛО80f1 CIICtc",-е с "ранами с}'перПОJLbЗОМТСJlЯ, без этой ОПl.11tl1 11рllВШIСП1рОВtlнныl1 ДОС'"1)'П с маши.н.ык..'lиента ЭКИШI.а.пС'нтс:н доступу 01' и.м.сНJi nOJlb зоив-reJlЯ Dobod). ЗНИ"lенис U 1 D. Jo..OTopoe НУЖj"ю ИСI10.'lЪЗОвать ДЛJI запросов. посrу 11ВЮШШ.. ОТ пользователя rool_ По УМО.'lчаНIIЮ это 2 (ПОJ!.blО8dТСЛЬ Qobody). Ilр1 указаНlll1 "Ш3ЧСНliJI 1 дост)'Н or И\IСIIИ супсрrЮ;IЬЗО- II.НСJI.Я б}дст иообшс JdпрешеН :;.yr Асинхронная оБР<lБО"J"К::I всех З::lllрО<:ОI\ Ш! :.аШIСЬ; при Itал,IЧIIII ЭТО ОПUИИ IIРОИЛlOllите.IЬН()f..:ТЬ Оllср<lUИИ .J311ИСI1 IIОВЫШ::l.С rC)I, раИIIО ка... .1 8срояrность IЮ1СрИ ДOlIIlIblX EI CJlvчае Io:.p.axa cepllcpa 522 Чость 11. Робото . се'-', 
Не забуnъте по окончании рдактироваllИЯ файла /Nc/cxports ВЫПОllНИТЬ команду exportfs a. Файл expor1s в Red Но! Uлux В Red Hat клиенты. которые Mor)"T ПО.']) ЧИТ1. llОСТ)ll К опрt'..:J.е:Jt:'НIIОЙ файловой системе, указываются в файле t'xports в 8lfде списка. разде"'н::ннOI.О пробелm.lИ. Сразу после имени ютпента н Kpyri1LJX С'l{обках .JaлаетсЯ переqенъ связанных с Ю1М опций, разл('ленныx ЗЭПЯТЫМJ1. Д1Н1-IIIые строки можно разбивать на части с помошью обратно А косой черты. Вот образuы записей; /chimchim/I.lsers band( r:w, по  root squashl rnoon (r.....) /usr/share/mBn .. . сз. соlосаао .edu (ro) Нельзя зздать список КШ.1НТОВ с ОnlшаКОhЫМ lIабором опшtl1. \tНЯ некоторые ТИПЫ "клиентов" соотпетстнуют мнопп..! у..шам. В таб:l. 17 () перечи:слены четыре типа клиентских спсщ..lфИКЗЦИЙ. которые MorYT Bcrpc qаться в файле exports в Red На(. Тоблица 17.6. КлиентсtcJ.1е спец,,",фIo1КОЦИ"! в Red Hat Тил Синтоксис Нозначение 11 ......., им.я компьютера U."IЯl<:о},тьютера Имена отделЫIЫХ 'IOR Сe'fевая rpynna @иJ,lяt!РJ'IIIJЫ Сетепые I"pymlbl NIS, подробнее об .нО\1 расСК8JЫВII.еlCЯ в пзраrp.афе IH.) ПодсrаНО80чные знаки . И '! Полностью опрелеленные доиеЮ'IЫС имена с подстаНО80ЧНЫМI1 ЗНЗКа..'АИ. MC rаси.ВОJl .. не COOTвe'ТCTI!Ye'f ТОЧКС IРсети IРадреС/АlаСl(й СlIсшtФш(зция 8 формате CIDR. HiI пример 128.138.92.128/25 в табл. 17.7 описаны нниБОJlе раСПрОСТр<.1.нснные 011111-111 фtнl'l;:j ('ЧJOr(s. характерные ДЛЯ H.ed HL ПрОIраммное обеспечение NI.S в RC'd Н.н ООJlil.:шет IIООbI'II-1О11 liOl"ОЖ. ностью: разрешается экспортировать РUДlrrеJlЬСJ.;:ИЛ Kara.'lor с ОДIШ"II ОIILrИЯ ми. а подкаталоrи  с пруrиу.,.rи. ИмееlСЯ также оrШI-fЯ нос.   позволяющая отменить "Экспорт подкаталоrО8. к KOTOpЫ1 не IIУЖl10 Ilpeдoc таRТIЯТЬ удаленный доcтvп. Например, в КОIIФиryраШ1И /uзеrs /u:sеrз levi fr .xor.com{rw) ( noacce5S) узлам помена xor.con1 разрешен nОСl)ТI ко ВСС"'I К.IПI.1013М фаИ1l0RОИ ('lIстемы /users. кроме luscr/e"i. Отсутствие I1меНИ КЛl1еlrта ВО IПОрОli cтpol\.C ОJ!lич,ает. что установка ОТНОСIIТСЯ ко всем узлам; тзl':, О"lеIШДI!О. беl0llаСIIе В Red HaL имеется боrаТhlИ нС!бор cpeHCTR rlробра ЮМЮIЯ n'<l'It:lllIbI:o. J.ШеНТИфИК3ТОрОR (IOЛbJОl!:ате..1е1 в !юкалъные. Мы Ile сонстуем IlримеlВlТЬ 11), в reTeporeHHofi среле, но СCJIИ В орrЮIIВ3ШIII \'СТ81IОВЛel-IЫ rO.1bKO LII'LI\..('IC. темы. TQrn.a пожалуr1СТi!.. ПодробllOСТl1 можно )Jlt3Tb на m3l1cтpHIIIl exports(5). в действительности их ПЯТЬ. 110 спеUl1фикаuия =opublc ИСПОllbJуется roлько е v".ebNfS r лОво 17. Сетевоя ФОИJlОВОЯ система 523 
<о Таблица 17.7 Наиболее pacnpocтpOHeHHble опции фойпо ехропs в Red Ноl Опция rw""'cпucOK root:  squёl.sh norootsquash all  squash anonud""xxx anongid==xxx secure insecure поассевз Описание Эхепорт ТОЛЬКО A1UI чтения Экспорт дI1Я чтения и записи (по уолчaюtю) Экспорт rnaвным образоы дI1Я чтения, в списке пере.ч.ИС:IСI-IЫ kJutcmw, КОТорЫМ разрешено МОНП1рова.нн-е ДJ1Я 38.I1ИСI'I, все остальные д01DКJ-lbl. монтировать фаЙllОВую CtlcтeM)' только ДЛЯ чтения Закреl1ЛJlСТ значения UID и GID, равные О, за ИJlентификато раии. Ука3ан.ным.и в ОПUИJIX anonud и anongid;1 ЭТО установка по умолчанию Разрешает обычный ДОСТУП от имени пользователя root (опасно) За.креIlЛJlСТ ИДСIfl'ИфИК8торы всех пользователей и cpynп за своими aHOIOfMI-!ЫМИ верСИЯМИ; ЭТО удобно при работе с персона..ль.кыыи компьютерами и ненадеЖНЫМJf ОдНОпользова тельскими craнUИЯМ.и Значение UID, Которое нужно использовать AflЯ запросоВ. поступающих от лолъзовап:ля root Значение GID, которое нужно ИСПOJIЬJовать AflЯ запросов, поступающих от пользователя root Требует, чтобы эаnpoс на удаленный доступ постуnaл 113 привилеrираваююro порта Разрешает удалсННblЙ доступ С любоro порта Предarврашает дocтyn к даНному К8талоry и ero подкаталoraм в отличие от большинства оперa.uионных систем, Rd На. долуекает преобразоваНIIС идентифихатора не ТОЛЬКО учстно..й эаписи root, но и любой друrой. По.цроБНОСТII можно узиать В документации И3 ОПJ1С8Ю1Я опций squаShuldз И allsquash. Демон mountd 8 Red Hat может запускаться по запросу из демона inetd, а не выполняться непрерывно. Это позволяет обеспечить ДОПОЛНИтеЛЬНЫЙ контроль nOC1Yf13 С nомошью проrpаммы tcpd; подробнее о не" rоворнтся в лараrpафе 21.7. В настояшее время 8 Red На. не поддерживается NFS З, но ожндается, что эта подлержка появится в ближайшем будушем. Клиентам. по умолчанию работаюшим с версией 3, нужно ЯВНО сообшить О необходимости монтиро вания файловых систем с П01l-ЮШЬЮ протокола NFS 2. иначе буд,}т ПОЯRЛятbtя непонятные сообшен:ия об ошибках Файл exports во FreeBSD Во FreeBSD записи файла exports состоят из разделеююrо пробелами списка каталоrов, аналоrичноrо списка опии" (каждая из ни.'Х начинается с дефиса) и набора клиентских сш:цификациА, также разделенных пробелами. При ведем короткий пример: /сhimсhim/uзеrs /Chimchim/users /usr/share/man maproot'""root. band moon ro ma.pall"'daemon xorasaurus rastador. moon Особенность FreeBSD состоит в том. что имя каталоra может встречаться D несколъких строках. В каждой строке определяются некоторый набор опи 524 Часть 11. Робота в сетях 
и клиенты. к которым они относятся. Если разные наборы опuий применимы -к различным клиентам, каталоry должно соответствовать нескоЛЬКо записеЙ. В табл. 17.8 описаны наиболее распространенные опuии. В отличие от большинства реализашlЙ NFS, FreeBSD не 110зво:шет клиентам МОlпировать ПОДl(аталоrи экспортируемых файловых систем. если только разрешение I-Iе выдано явно с поfl.lOШЪЮ опuии a.lldlrs. Зачем зто бьUlО сделано, I-Iавсеrда останется JаrалкоЙ; бсзопасность от этоrо не повышаеrся. Во FreeBSD 1Сшенты задаются в Blne И\1ен комrтъюп:ров и.'1И сетевых rpynn Это raICACt мотут быть номера сетей. предстааленные в следующем формате: network сеТ'еВОЙdдрес mask маска Тоблица 17 8 Нои60f'ее распространенные опuии фОИJ10 exports ео FreBSO Опция O[JHCOl-lив _.- Экспорт ТОЛЬКО AflЯ чтения; по умалчан.шо эк(;лоp't прсдос n.вляется ДI1Я чтсниязаllИСИ mарrооtnОЛЬЗО8ат,е,1Ь Закреl't1Ulст ИДСJ-lП1фик.атор учстной JaПlIСН roo( за казаН НЫМ пользоиателсм (310 может быrь ЗН3"Н:Ы:С UID ИЛИ имя) По уолчаншо выбираcrся ПО.'lЪЗоватслЬ Dobod)' (и.D.ен П1фи.катор 2) 4тобы р.а](Х.шнrь ПРИВИ..'iСПfPОВ.анны дoc туп. з.ад2.Йтс тap:'oocoo: mapall<=пo.дb:J08aтeJ"' 3акрСIUI.ЯС1 e знач!:нУ.я LIID ]8 опрсдслеННЫf ЛОЛЬJОВiI те.л.еf: это удобно npн ;JJ.боIt: (; ПСрсОНaJlbНЫМИ КОМПЬЮТС рам.и u ненадсжн:ы.ми ОДИОПОJlьзова'I"eJlЬCКИм.и стаIO.1НЯМИ alldirs Разрешает монти.роваrь 'Jюбой подхаталоr; по УМО,lчанию разрешенис в.ы.дв.е'ТСЯ толь:к:.О lt1Ul )'КII3В..нноrо JC8Талorа webnf:!l Экспорт каталоп в формате WebNFS; дocтyn ТОЛЬJCо Д,.'IJI' ЧТСRИ.Я ВССМ noль.эoватс:лям:, а все идснтификаторы зз.креп л.яюТСЯ за nOЛbJOВ8тс:лем Dobody Документапи:я tlноrда TpeOj.::T на.Т'lичия оператора =о межn} l1араметром network или m:I.k Н (то apIJ'?'.tHTOM. 1-10 похоже, что такая система записи работает непраВlUlЬНО Сетевой адрес ' маска подсети залаются 8 традиU'И онноЙ точеЧllOЙ нОТ8U'ИИ. например. /chJ.mch:.m/users ro netwo!:k ::"28.i38.24З.О :na5k 255.255.255.0 Спс:цификаU1JЯ номера сети не может присутствовать в той же строке. rде указаны имена узлов и сетевых rpупп Если зто необхол:имо. задайте для каталоrа две LTpO...'t Поуните о необходи'мости отправки лс\.tQну mountd сиrна..ча HLIP. который заС.аиит cro повторно прочитать фай;] /etc/exports nOC:1 внесения в I-Iero изменении ..... СО>ll.алСШIЮ демон не спообен сообwать по.'тьзовате..1ЯМ об обнаруженных в ФаЙ.1С ошибках. Ilридется просматривать системные журнальные файлы Демон ПlOuntd передает сообшения в S}-"SJоg от имен'И средства "daemon' Демон nfsd: файловый сервис Если ле'.юн mоuпtd ПрОВt:ри!! клиеНТСЮIЙ запрос на МОНТНРОВ3liие It наше.l ero прd.шLlыIыM к..lиенту разрешается запрашивать раз.'шчные операщtit фай;IOНОИ CY.....Tt:;t.tbI. Эти запросы обрабатываются на стороне сервера лМоно'" 525 r лово 17 CeTeBoJ\ Фоиr,овоя СИОбмО 
( [hP.] ; nr"d-. Ему нет не.обхо,nимости выполняться на маШИlсклиеите NFS. EдIlH ствеНное исключение  кшла клиент тоже :экспортируст свои фаИ;lопые системы. Демон nfsd принш.lает числовоh apryMem. который определяет, сколько Iоемпляров C3MOI'O происс.са nrsd нужно породить посредством систеМlюrо вызова rork. Выбор неоБХQПИМОI'О количества пронеССОR очень важен. но, к сожалению, относится к области черной Маrиlt. Если это число будет слишком мало И слишком велико. производительность NFS может оказаться низкоЙ. ПроизвопителыlOСТЬ старых систем силыIо СННЖR..i3СЬ при завышении числа пыполняюшихся демонов nfsd, посколы,)' в случае поступления запроса я.аро посылало каЖДш.IУ liеактивному прОl(ессу Ilfsd СI.lfНал пробуждения. ЭТil проблема известна как "ланинный схоп проuессов". В современных система" она решена. так что ничеrо страшноrо не произойпет. если на вьmолнеНllС будет запушено несколько "лишних" проuессов. Раньше максимальное количество npoueccoB nrsd было тесно связано с чис 10М aJlIlаратиых контекстов, поддерживаемых центральным проuессором. Сеrодня в большинстве реализации NFS все копии демона совместно IlО!lЫУЮТСЯ обшим контекстом. ПОЭТОМУ упомянутый показ(!.тель больше не ЯRляется онрепеляlOШИМ Более реальная метрика  число оБСЛУЖlfваеf.IЫХ :жестких дисков. При высокой 3k'ПrвНОСПi NFS полоса пропускаН1IЯ жесткOI'О .IIJ1CKiI станет оrpilничиваюшим фактором для канала N FS. Нет нс:оБХОllИМОСТIf Jапускать СШfШКОМ f.IHOI'O экзеМllЛЯРОВ деМOIа на один ШllllндеIЬ. Четыре rlpoHccca вполне постаточно ДЛЯ сервера. которыА используетси нечасто. и достаточно 1U1Я Toro, чтобы не BO-ЗtlиКaJlO Ilроб,1ем с IlpOBjBO!lIf тс.'1ьностыо. На Kp)irIHOM серверё' 'ЭТот IlOказатеllЬ полжен БЫТI. в Пl1iШЭ.JQне от 12 до 20. Увели1.tиваf.Jте число проuессов до те, пор. пока показатепь срелней заrрvжеШIOСТIf сервера (el'o сообшает КШ.laнпа uptime) не начнет заметно возрастать. Это признак TOI'O. что система Ie справляется со СRОИМП ф'нкциями. УНJiчтожьте несколько процеСС08. и осе пршет в НОРМУ. На "13rp)'ЖеННОf.I сервере NFS с большим числом LJDРкrшентов буферы LIDPcoKeToR "'ШУТ переполниться, eCJm "13просы буп)т поступать в ТО время. коrла все демоны nrsd уже задеАствованы. ЧИСJlО переполненкй МОЖllO urслеживать с поf.юшыо команлы netstat s. Запусквr\те дополппельные Дrмоны до тех IlОр. пока ЧIIСЛО псреполненш.f не упадет до ну.'lЯ. так K(jK пере по Iнение Сfш.з.етсльстн.ует о серьезноЙ Не\:nЗТl':е серверных пемонов. ВО МIIOПIХ OICTeMLl.X число проuессов Ilrd задается n ОШlOм из фаЙЛОfl /etc/rc* IIII-t в ОДНОМ )П ('таРТОАЫ'\ cueHplleR. 3j:lJlCKOief.IbJX леf.ЮНОМ illi[ Иноrда сушествуlOТ и БО'Iее }леraвтныс способы УСТ3110НКН '13HHOrO lна 1 lеНI.tя В Solaris демон nrsd IIУ'А<ИО запускать с флаrом a. 'rтобы разрешить сернис N FS как 'Iерез протокол LJDP. так 11 через ТСР Подобны" запуск осушествляется по умолчанию. В HPUX IШСЛО проuессов 11rsd 3311ается посредством переменноЙ NШ1 N-SD . файле /elc/rc.config.d/nfsconr. во FreeBSD пемон nr!td нужно ЗЗI1УСК3ТЬ С фпаrаМII t и u. что сделает ВО3МОЖllыJ\t оБСЛУЖI1R.Iние по rlрОТОКОЛа.м ТСР 11 LIDP. ЧИСЛО Проll.еССОI:I .iадается с помошью флаrа " (НЗПрltмер. лrsd [ u л 8). Лрrументы KOMaHД JЮЙ строки, передаваемые печону, берутся IП переменнш' пfs 5erv ""... [laas 8 файле /e[c/rc.conr (ИЛII в файле /etc/deraul[/rc.conr. еСЛII IIO:lb3083Te...lh не lала,'l :пу псре-lеНI--I"Ю. 110 J\toJlчаНIIЮ IIСПОJlЬJУIOТСЯ с.:rедуюшие Дr-мон nfsd  это, как праВИ:10, ОЧСf1Ь простая проrpаМJ\t8. каroрая посылает системный вызов. lIе пре-цусматривзюший ответа. во встроенный в ядро K01l Nf'ScepBepa. 526 Чость 11. Робото в ceT}( 
ар1)'Менты: "U t n 4"). Необходимо также установить персменную nfs serve:renable равной YES t чтобы обеспечить запуск демОНОВ NFS. 17.3. Клиентская часть NFS Команда mounl понимает запись вида имя  КОAUJьютера: каталоr как n)rJb к каталorу, расположеl-1J-ЮМУ нА дрyrом ко\tllьютере. Команда mount и ее N FSрасширения  са"Iая важная область деятель ности системноrо администратора на NFSКЛliеIlП:. во мноrих системах добиться повышения ПрОИJВОДИТелыюсти можно с ПО"IОШIЮ демона блочнOI.О BвoдaBЬrвOдa biod (иноrда он назыоается nrsiod). Этот демон не ОТНОСIПс:я к числу обязательных, но мы настоятельно рекомендуем им пОЛЬЗОваться. Демоны biod и nfsiod: кэширование на стороне клиента При работе с файловыми системами демон biod/nrsiod ВЫПОЛI.IЯТ Мl0ные операuии блочноrо кэширования по aлrОРJПМУ оnсрежаюшсrо чтеНШI и отстаюшей записи. Он дocтyneH как R NFS 2, так и n NfS 3. "'1ы cOl:len-е..., запускать "ЭТОТ демон на всех NFSютиснтах, хоТЯ это и не ЯR.1lяетсt1 C""fpOI'O обязательным требованием. НалиЧУ!е или отсyrствие кэширующеrо дсмона не влияет на решение задач 81IМИНИСТРИРОвания. Как и nrsd, демон bЁod в качестве арI)'мсюа Щ1ИНИ"-lает ЧИСЛО, показы ваюшее, сколько экземпляров caMora себя ему нужно заПУСТltТь. Для обычноЙ машины достаточно будет четырех или восьми копиn. [сли демоны nfsd и biod работают на OftlIOM компьютере. то разумнее будет раздсЛltТь "ОПТIIМill1Ь ное" число экземпляров между I-1I-IМи. Все заВИСJ1Т от Toro. как используется система  вам ПРI-Шется поэкспериментироR3ТЬ. Во FreeBSD число экземплt1РОR демона Ilrsiod задаL':ТСЯ в KOM3HnHClfil строке с nоМоШЪЮ флаrа n. , Монтирование удаленных файловых систем  Для создания временных сетевых точек монтироиаНIIЯ может испол[..]о паться комаl-Ша mount. Но те МOfпируемые файловые системы. которыс являются чаС1ЪЮ постоянной КОНфИf)рашш. должНЫ быть персчислсны R файде jetcjrstab (/etc/vfstab в Solaris), в таком случае они БУД7 МОНТJ.lроваться автомЗтически на этапе наЧ&1ЬНОI1 l.arpVJКlI. С прrоЙ CТOpOIbI. они MorYT бъпъ обработаны службой автомат\.tческоrо МottТllрОRания, Н311ример проrр8М мой automount или amd (подробl-lее об этом речь 1l0й.D.ет начиная с параrpафа 17.6). СлеД}10шие элементы файла fstab предназначены для МОНТИРОИёll-IИЯ файловых систем fbeastjusers и jusr/man мi1ШИН beast и chimcl1im. i filезуstеm mоuntроiлt fst.ype flags dl.ll"1p fsck beast: Ibeast/users Ibeast./users nfs rw. Ь9. J.лtr. hard О О сhimсhirn:/usr/maп lusr/rr.an nfз ro, bg. .iлт;:r. 50ft О u В Solaris файл /etc/vfstab I--IМСет HeMHoro ДРУI'ОЙ фОР"t3Т. IiО OIIUИlI 'JI:S указываются СХОЖИ"'i образом. В ОСIIOИНОМ это те же опuии ЧТО 1--1 Б .3.рПIХ системах. Добавляя Jлемеmы в фай.п fSlab/,,'rtab оБЯliпе-'1 ЫIO СОlЛI-наЙ--тt.:' l ПОМОlllЬЮ komal-lДbI mkdir каталоrи точек \ЮВПlрOl'\31-НIП. МОЖIIO сде..""Iать так. чrобы rлова 17. Сетевая фойловоя с....стеМа 527 
Изменения вступалИ в силу немеШ1енно. Для этоrо в Salaris ИЛИ HPUX следует ВЫПОЛНИТЬ команду mount a F o(s, а 8 Red Hat И FreeBSD  вместо флаrа  F указать флаr I. 0: Подробиее о файле fstab рассказывалось в пара,рафе 8.3. В поле фАаu файла /etc/(stab задаются парвметры точек монтиравания NFS. Наиболее распростраиенные флаrи перечислены в табл. 17.9. Таблица 17.9. Флаrи MOl-fТИРО80НИЯ NFS Фпаr Система I Ноэна"4внив sНRf'2 Мантирование файловой системы для чтеНИJlзanиси (она дoroкнa экспортироваться сервером в режиме чтеIOUlэалиси) Монтированне файловой системы только для чтеIOUl Если монтирование прошло неудачно (сервер не отвечает) перевести операцИЮ в фоновый режим и продо.лжать обрабатывать друrие эа.лросы монтироВ8НIOl ECJUt сервер от.ключился, операции, которые пытаются по.лучить к нему ДOCLyП. повторяются до тех пор, пока сервер не ВКЛЮЧИТСJl вновь Если сервер ОТКЛЮЧИЛСЯ, операции, кaroрые пытаются по.лучить к нему ДOCLyП. завершаются. вы.давая сооб щение об ошибке; Э70Т флar полсзно устанавливать для TOro, чтобы предотвратить зависание процсссов в случае неуП8ЧНoro МQНТироВан.ия Не очень важных файловых систем Позволяет прерывать с клавиа1УРЫ з.аБЛОI01рованные операцIOl (и заставляет их вы.дав.ать сообщения об ошибках) Не позволяет лреры:вать с клавиатуры заблокирован иые операции Указывает. CKOJIIoII:O раз ну.жно повторкrь зanpос, прежде чем будС1 выдаНо сообщение об ошибке (В файловой системе. смонтированной с флa.roм 90ft) Устанавливает ИН"I'1::рвал таймаyrа для эа..просов (в десятых долях секуlЩbl) Задает размер буфера чтения равным n байтам Задает размер буфера 3аl1Иси равным " байтам Задает версию прarокола NFS: 2 или ] (обычно определяется автоматически) Задает версию протокола NFS: или (обычно оnредe.1JJlется автоматичсски) Назначает траисnoртны.J:I: протокол; возможные значения  1:Ср И udp Выбирает тср в качестве тpaHcnolТfНoro протокола; по умолчанию принят протохол UDP Рассматри:ваемые системы Solaris, HPUX, Red Н8( Linux и FreeBSD ооозначекы как S, Н, R. и F соответственно. Этот флar не УПОIOlНaетси в документации к Frec:BSD. но рабarает. 80 FreeBSD не разрешaer-ся указывать данны.й флar ЯВНо, ио 38.д8ВаСмое им поведение принято по умолчанию. .. во fRCBSD Э11i флarи Н83blВаютСJl no.цpYI'OMY: cet.ran9  x, 1::neo  t. rЗl.zti!:  I:, ....s1.ze  w. SHRF' ь., SHRF hard SHR' 50ft. SHRF iлt.r SHRF лоinLr SHRF' rеtrll.Л8"'"n SHRF' L1.meo.,п SHRF' I:size""п SHRF' w:9ize'""п SHRF' ve:::: s ""17 SH пfзv3. nfsv2 F рrоtо::npoпкжал tcp RF 528 Чость 11. Рабато в сетях 
Файловые системы, смонтированные с флаroм h8rd. MOryт вызвать зависание процессов при отключении серверов. Это особенно неприятно. КШ'Да такими процессами оказываются стw-шaртные демоны. Вообще rоворя. использование флarов 50ft и intr позволяет сокрапrrь число проблем, связанны>: с NFS. Но эти флаrи MOryт вызывать нежелательные побочные эффекты (например, останов 20часовото процесса моделирования изза BpeMeHHoro сбоя в сети после 18 часов работьr( Некоторые средства для борьбы с проблеМ8МИ монтирования npедлаraет nporpBMMa amd (ОПИСbJвается в лврarpафе I7 .8). Флarи, задающие размеры буферов чтения И записи, применимы в отношении обоих протоколов, ТСР и UD Р, но оптимальные значения будут разными. В случве тср буфер должен быть большим, лоскольку данныс передаются эффективнее. (В Solaris по умолчанию лринят размер 32 Кбайт.) В случае UDP, если сервер и клиент нахОДЯТСЯ в ОдНоЙ сети, оmим-альный размер буфера  8 Кбайт. В некоторых системах по умолчанию устаноanены roраздо меньшие зиачения (в Red Hal, нвпример, Bcero 1 Кбайт). Демонтирование сетевых файловых систем осуществляется командой urnount. Выбор порта Клиенты NFS при подключении к серверу NFS MOryт использовать любой TCP или UDРпорт. Но некоторые серверы требуют. чтобы запросы ПОС1У11вли из привилеmрованноrо порта (номер KOToporo меньше. чем 1024) В дрyrю: серверах данное Ipебование может включаться пользовате..чем В мире персональных компьютеров и настольных UNIХстанuий применение привилеrированных портов не при водит к реальному повышению безопасно сти системы. Большинство клиентов NFS следует традиционному (и лолрежнем} рекомендуемому) подходу: по умолчанию выбирается ПрИВИЛеrиpованный порт. что позволяет предотвратить возникновение конфликтов. 17.4. Проrрамма nfsstat: отображение статистики NFS в Болышfствеe систем имеется проrpамма nfsstat, которая предостав..rтяет различные статистичеСКИе данные, собираемые системой NFS. Команда nfsstat s вьщает статистику процессов NFScepвepa, а команда nrsstat c отображает информацию об оперauИЯJ< на стороне клиеНТа. Например: chlmchim% n:f'..tat Cllent. rpc: cal18 badcal18 retrans badxid timeou t wait леwсrеd timers 64235 1595 О 3 1592 О О 886 Client nf.s: cal18 Ьаdсаllз nclget лсlзlеер Джефф Форис (Jeff Fofy5), один из наших рецензентов, заметил ло этому лоеоду: "Боль wинство точек монrирования ДOJDКНo иметь флаrи hard, intr и Ь9. поскольку они наилучшим образом соответствуют исходной КОJЩспции NFS (нanежность И отсутствие информации о СОСТОRНии). Флаr 50ft  мерзкий сатанинский ТРЮК! Если пользователь захочет прервать операцию монтиpoвatfИЯ, пусть он сделает это сам. В противном случае следует дождаться включения сервера, и все, в КОJЩе КОЮlОВ, придет и норму без какой бы то ни было потери данных"'. rлово 17. Сетевоя фоi1ловоя системО 529 
62613 62643 null getattr set.iH:.t.r read.i.ink lookup СОО!:. read 0\ 34\ 0\ 21\ 30\ О, 2\ write wrcache ссеасе liлk 5утlJ.лk 3\ 0\ 0\ 0\ 0\ 0\ 0\ mkdir readdir rrndir fS5tat 0\ 6\ 0\ 0\ Эти результаты получены у относкrельно нормально ф} нкuнонируюшеrо NFSклиента. Если более З% ВЫЗОВОВ заканчиваются таймаутом. :по rORopllT о наличии проблемы на NFScepBepe или в сети. Причину, КаК правило, можно определить путем проверЮI поля badxld. Если зНачение badxid близко к нулю. а число таима}тов больше 3%, ЗНRЧ-ИТ. пакеты, идушие на сервер и от Hero, теряются rДеТО в сети. Возможно. проблему удастся решить путем уменьшения значений парамеТРО8 монтирования rsize и WSlze (размеров буферов чтения и записи). Если значение badxid почти так же велико, как и t.l.rr.eout, ЭТО означает. что сервер отвечает на запросы, но С!lИШКОМ меДЛенно. Замените сервер или увеличь-те параметр timeo РеI)'ЛЯРНЪrn nporOH npO(]J3"IMbl пfsstat и аНaJlИЗ выпаваемой ею инфор "'I8ЦИН поможет ;:щминнстратору ВЫЯW1ЯТЬ 1Ю1J-Лfкзюrnие в NFS проблемы раньше, чем с НИМИ столкнутся ПО:Jьзопатели. 17.5. Специализированные файловые серверы NFS Быстрый и надежный файловый сервис  ОДИН из важнейших элементан любой серьезной вычислительной среды. Дешевле Bcero развернуть фаЙловый сернер на рабочей стаНШiИ UNIX, размести--в ero на нескольких жестких ПИСКах Но это не оптимальное решение с точки зрения произвопитеЛЬНOCnI и удобства адМинистрирования. Уже более Десяти лет на рынке имеются спеuиаJшзиропанные фаЙЛОRые серверы. У них есть иелый ряд преимушеств: . они оmи-мизироnaны на выполнение операuий с файлами и. как правило. обеспечивают наивысшую ПРОI1ЗВОДИте..чьность при работе с NFS; по мере УВeJDlчеtПlЯ требоваНIIЙ к хранJUIИШУ файлов можно леrко нараШИВdТЬ мошнОСТИ сервера, которыЙ справится с терабайтныии массив3}.Пi данны" и сотнямм пользователей: . они более надежны, чем llN IХСПНII(ИИ, блзrОДll:рЯ усеченному набору Ilpo(]JaMM, примеНfШ.iЮ дополнительной аппаратуры. обеспечиваюшс:lot избыточность панных. 11 1epKaJlbHoMY дуб!ПIРОванию информашш на жестких писках; OH1 реа.1I1ЗУЮТ ФijЙllО8bJИ сервне !lJТЯ клиентов как lJNIX. T;lK и Windows. некоторые даже содержат встроенные Web и FrPcepBepbI; . '(атс 8cero они проше н 3JI....щНистрироваНии. чем файЛовые серверы UNIX; они об:ii:lЛaЮТ УЛПШ'I-lНhJМ-И средствами резерНlюrо копиронзния и контроля состояния, чем обычные UNIХсистеfЫ. На рынке существующих систем фаворитами являются устройства компаНИИ Nct\vork Appliance. loc. (wv.'w.ne(app.com). Диапазон предло жений  ОТ малых до очень КРУПIIЫХ систем, и иены вполне приеWlСМЫ. Компании Auspex и ЕМС занимают нишу устройств высшеrо класса. ОНИ 530 ЧОСТЬ 11. Работа в сетях 
делают хорошне ПРОДУКТЫ, но их иены MOryт исnyraть Koro уrодно. Приrотовътесь также ИЗ}'ЧИlЪ модные маркетинrовые термины-. 17.6. Автоматическое монтирование Инд..mидуалъное мо..mlропание фаknО8ЫХ систем посредством УПОМlIна ния НХ В файле jetcjrstaЬ илн jetcj>fstah сопряжено в крупных сетях с рядом проблем. Вопервых. веденне файла /etc/fstab на нескольких сотнях машин  yrомительная lадача. Каждая 113 ЛИХ маШ11Н может отличаться от друrих и требовать Иr{Цивидуальноrо ПОДХОД.!.. Boвтopыx, если файловые системы монтируются с десяткадрyrоrо компьютеров. то в случае краха Bcero лишь одноrо из ..них сер8ерон наступает полный хаос. так как все компьютеры. отслеживающие состояние точек монтироnaния, зависают. Втретьих. крах какоrОНJofб};аь важноrо сервера может нанести немальm ущерб пользоnaтелям, сделав недос1)'ПНЫМИ такие важные разделы. как, например. /usr/share/man. Самый простой пыход из подобной ситуаUИlf  временно смонтировать копию раздела с резервноrо сервера. Демон автоматическоrо монтироваНИА подключает файловые CIICTef.'bI. коrда к ним производнтся обрашение, и отключает их. коrла надобность в них отпадает. Делается это незаметно для ПОJIьзонателей и IIOЗВОЛЛСТ свести к f"ЩНJofМУМУ число а","ТИВНЫХ точек монтирования. Большинство aBTOMOHTH ровщиков, кроме Toro. ведет СПиСок "дублирующихся" (Идентичных) фаl':'IЛОВЫХ систем, чтобы сеть моrлв продолжать ФункиИОIIИРОнатъ в случае отказв ОСИОВНоrо сервера. Для Toro ЧТобы реализовать фоновое ПОДключение и отключеняе. автомонтировшик связыlJет драйвер виртуальной файловой системы с катa.r10rами, обознаtlенньщн как точки автоматическоrо монтирования.. PaHЬ ше он дела}1 это, выступая в роли сервера NFS. но данныи подход имеет ряд серьезных оrpаничеНIfIf. по:пому релко прнменяется в современных системах. В настоя шее ВреfЯ 1IСПо..1ЫУется llpaiiflep фашlOООЙ (lIстемы зulо['i.. размещаемый в ядре. Вместо Toro чтобы зеркалыtQ публировать в сети реальную фанлопую систему. аПТОМОНТИРОRШИК поссоздает ее иерархию в СОотlIСТСТНИlI со спеUИфllкаииями. указанными в ero файле конфиrypаLLНИ. Коrла ПОЛЬЗОf.liпе.:IЬ ссылается на каталоr в вир-туальной файловой системе автомонтировщика. последний перехватъm.aет эту ССbJЛКУ, монтирует реальную файловую систему. к которой обращается пользоnaтель, и передает ссылку дальше. В системах. rne поддерживается драЙвер aulofs. фаi1ловая система NFS монтируется трап...щионным для UNIX способом. В .!I.Pyrих случаях может потребоваться осуществлять монтирование в отле..чыlOМ каталоre. на который СОЗДаются Символические ссылки. Идеолоrом автомаПfческоrо монтироваtlия является компания Suл. Pea лизованная ею ПрО(]JDММ3 autonlOunt поставляется с большинствоf.' клиентов NFS. ПХОШIЩИХ в состав ее ПРОДУКТО8. В Red На[ имеется одноименная проrpаМf.I8. которая ф}'НКuионирует схожим образом. но реалИЗОВана нt:зtl висимо.. Насчет маркетиtIrовых теРМИН08. В рассматриваемом контексте чаще 8cero можно встретить выражение "устройство храНения даНных С подключением к сети". сокращенно NAS (Network Alracl1ed SlOrage). На "чеЛО8еческом" языке это озиачает файловый сервис. rЛQВО 17. Сетевоя фойловоя система 531 
До появлеНJiЯ драйвера 8utors ПрО(]J8ММЗ automount изобиловала ошибками и просчетами, которые пелали ее неконкурентоспособной в коммерчесJ...ИХ системах. Современные реa.rlизаuии функционирvют значительно лучше, хотя овьшы все еще неоднозначнЫ. Мноrие подъзователи широхо прнменяют ее без kaK-ИХ!lибо Ilроб!lСМ, В ТО "реМЯ как некоторые сталкиваются с псрио пическими зависаниями. Несомненно. Iадежность nporpaMMh1 зависит от операuионной системы и реатпаUИIf. ПРО(]Jзмма amd. Н8писанн.\я Джаном-Саймоном Пенлри (Jал-SIП10П Pendry) из Лондонскоrо Королевскоrо колледжа, стала результатом дoктop ской диссертаиии. которая развивает идею компании Suп. В проrpамме исправлен:ы мноrие серьезные недочеты ранних версий утилиты аutоmоuпt. Она бесплатна и леrко инсталлируется в самых ра]иых UNIХсистемах. КонфИI)'раuия протраммы аutоmоuпt относительно проста и понятна В случае amd больше сложностей. но и функuиональные возможности шире. хотя некоторые реализуемые ланной проrpаммой средства считаются экспе риментa.rIьныи.- В предыдущем издании книrи мы настоятельно рекомендовали исполь зовать amd. а не аutоmoШlt Поскольку н то время ПРОf1Jамма аutomоuпr действительно работала плохо, спе..чать выбор было несложно-. Однако при наличии более удачной версии automount, основанной на использованиJ.1 драйвера autofs. apryмeHТЫ в 1<8"'')'10 бы то НИ бы'lo пользу оказываЮТСЯ одинаково весомыми. Если rOBOptrrb в общем, то простота проrpаммы automount и тот факт, что она поставляется со мноrими системам н, повышают ее шансы. Принять решение МОЖНо слеДУЮШИ"I образом: просмотрите список возможностей проrpаммы amd. и если Не найдете там ничеrо Taкoro, без чеrо нельзя обой-rAсь, не тратьте на нее время. 17.7. Проrрамма automount: самый первый автомонтировщик в настояшее время ПРО(]Jамма automount входит в состав Solaris и HPUX. В Red На( одноименная ПРО(]Jамма имеет незначИlе..чьные отличия в синтаксисе конфиrypаиионноrо фай...1а Подробнее о ней рассказыпается в конис пара rpафа. ПРО(]J8мма аutоmоuп[ поддерЖlIвает три вида конфиrураUIIОННЫХ фаЙ'108 (называемых таблицами назначении): табшшы прямых назначениЙ. таблипы косвенных назначений и rлавные таБЛ1lUЫ--. Таблииы первых двух типов содержат инфорМ8иию о фаЙ.10ВЫХ снстемах, по.д.пежапшх автоматическому монтирован-ию. rЛ8Вная таблиua  это список таблиц прямых и косвенных назначений. на которые проrpаМ"IЗ automount должна обрашать внимание. В определенный момент времени активной может быть только одна rлавная таблииа. Стандартная ее версия храюпся в файле /etc/automaster. При запуске ПРОf1Jамма automount читает конфиrурационные файлы, создает необходимые точки монтиропаН1..Я в фай:ювой систеfе au(o[s. после чеrо завершает свою работу. Ссылки на смонтированные файловые системы в действительности обрабаТЫИ8ЮТСЯ (через драйвер autors) отпельным демоном automountd. Он выполняет свою работу, не требуя дополнительной настройки. Если в вашей системе поддерживается. старая NF.Sверсия проамМbl automount. мы попрежнему рекомендуем избеraть се. Таблицей примых назначений можно уnраlL';'[.ЯТЬ как базой данных NIS. но на домашнем компьютере лучше не делать ЗТОrО 532 Чость 11 Робото всетя): 
После редаfo..i-IIРОвания r.'lаВНОИ таблицы И!IИ одной ИJ rаб:I1fU ПрЯ\1Ы\ Назначений. яа которую она ссылается, нужно ПОВТОрl-lО запустить проrpЗ\IМ automounL. При нa.rlичюt флата v эта 11pO(]J3MM3 сообшИl об изменениях. вносимых в конфиryраuию. Получив флаr t, ПрО(]J3ММ3 automount сообшаст_ как ДОJlrо (8 ..екуtШ,d\J файловая система может оставаться неИСПО:lыуемой, прсА<дС 'leM бл('т демонтирована. СтаНдартная установка  5 МИНУТ. Желательно УШllяrь неисполь.зуеf.lые TO'--lКJ1 f.lOнтирования. поскельку в случае краха сервер,] проrpаммы. обрашаюиrnеся к NF.S, J3ВИСllУТ Иjза 3Toro не рекомеIfД)ТI.:Л устанавливать период Tafayra слишком ба'1ЬШШ/. Таблицы косвенных назначений Таблнuы kocbel--П-lЫ,.. назна'rсний исполы}тсяя Д,.1Я звтомаТИ'lеСКОI"('I монrnрования неСКОЛЬЮ1Х фdЙJЮВЫХ C1CTeM EI OOl1leM кзта.7Jоrе. Путевое II\HI кзталоrа задается в rлавной таблиuе_ Напрю.tер. Iзб.1иuа косвенных н.nна чений Ш1я файловых CIfCTet. монтируемых в каТаЛОI'е /chimchim. будет lI\leTb следуюший вид: usеrз сhimсh.!.Л'.: Ich!.:nchm/u5ers devel sof, proto>=ucip chimchilТ.: Ichmchim/deve... info ro chmchrn: Ichrnchi:il/info в первой колонке дается имя подкаталоrа, в котором буд ИJ-Iста..члиро вана фаЙJ-1ОRaЯ система. В С]lеlI)1ОШИХ колонках переЧllслеиы ОnUи1l r..ЮIIПf рования и "сходное путевое имя файловой систеf.IЫ В этом ПрllМf'ре (011 вероятно, хранится в фай.rн= /etc/auto.chim) npo(]J3MMe automount сооБШ4.iеп.Я о том, что она может монтировать катa.rюrи /chimchim/users. /chimchim.'de\(OI и /chimchim/info с компьютера chimchim. причем KaTa..IJOr Iпfо pd ршаст"н монтировать только для чтения. а катa.rюr de\:el  TO.'IbKO по проrOl...О.I) LIDP (пример взят из Solaris, rHe по vмолчанию выбран rlроТОКОЛ rc Р, в рассматриваемой КОНфlfryрзuии подкаталоrи на компьютере chim..:1li1l1 и на локальном КОf.lПьютере бvдут идентичными. но :ЭТО вовсе не об)ваТСJ1ЬНО Таблицы прямых назначений В табшше прямы\: tla"JначеЮ-lЙ перечнсляются фаИ'10вые систе\!ы. v которых нет обшеrо преф!кса. Нdпример jusrjsrc и /cs/100Is. Т <iо_шна ieK3>1\(:\I. /etcjautodirect), которая ОПlIсывает ЭТIf фаi:'mОБые системы для IIpOI.1M\lbI automount. может вытлядеlЪ так. lusrlsrc chimchlm:/usr/src /cs/tools ro .anchor:/c.s/r.ools Не имея обшеrо родите;Jъскоrо каТз"lО1'а. обе ф1ЙЛ08ые систе'l.fЫ nO_IA\HLI подключаться через отпе.,1ы-lеe ТОЧll.." МОНПlрования к фаЙ-ЮВОfl CHcтe\l!: autofs. НаI01мные расходы при этом возрастают. но появляется допо;ппrтеlЬ- ное преимушество: точка монтирования и реa.rIЬНая CТPYk.Typa К8Тз"'lоr8 Бсеrда доступны для таких команд. как. наПрИ!l.lер. Is. ИСПОЛЬЗ0ваНllе КШ,ЫНДЫ Is В каТd.Лоrе с косвенно смонтированными фан:ловымн систеfdМII lаПО 1ЗТр\'Л нительно для ПО'IЬ]08.пелей. ПОТОfo,.JУ tfТO проrра\f\1<:1 automount не отображает Обратной стороной меДз"lИ я--в..1Ястся тот фзкт, что МОlпироваllие файловой СИL. [MЫ I"рбуе I определенноro времсtlИ. С ТОЧIOl Jрения проИЗВОДИТeJIЬНОСТИ не:же:13ТСЛЫЮ. 'пооы фdnJIО----- вые системы непрерывно подверrз-'1ИСЬ персМОIПJ1рОВ3IiliЮ. r лово 17. CeTeBO фойловоя система 5ЗЗ 
подкатaJЮI и до обрашения к их сопержимому (комаНда Is не заrлядывает Bнyrpь каталоrов. поэтому и не вызывает их монтирования). r лавные таблицы rлавиая таблица содержит список таб..1ИЦ прямых и косвенных назначе ний. Для каждОЙ таблиuы косвенных назначений УК8JЫвается корневой каталоr, при Меняемый Ш1я монтирования пере"шсленны)., в таблиuе фаЙЛ08Ы): систем. rлавная таблица, исполъз)юшая 8ышеупомянyrые таблицы прямых l' KOCReHHbIX назнаЧС}ПIЙ. имеет такоЙ вид: t Directory /chimchim / Мар letc/auto.chim proto==tcp letc/auto. drect G Первая колонка  имя локальноrо каталоrа (ДЛЯ таблиuы косвенны): назначений) или спеuиалъная лексема I  (для таблицы прямых назначеНИIН Вторая колонка  имя фaйJ1tt, В котором хранится соответствующая табmща. При необходимости может быть создано по нес кольку таблиu каждоrо типа ПарсIМе7рЫ моmирования, указываемые в конце строк-н. lалаются для нсех точек монтирования в данной таблиuе. В большинстве систе"I пара метры, указываемые R rлавноЙ твблиuе, H смешиваются с параметрами, за.даваемым-и в соответствуюшей таблиuе прямых или косвенных назначений. Если запись подчиненной таблиuы имеет свой список опций, стакпартные пара метры полностью иrнорируются В Red На. все происходит подрyrому. Оба набора объединяются в один. 8 8 случае пересечения предпочтение отдается локальному параметру. Исполняемые таблицы Если файл, содержаший таблицу "оспенных назна"lении. является ИСПО:I няемым. он считается сценарие"I. динамически rенсрирющим информаul'lЮ об автомаТИlJеСКО"I \.ЮНТllРОвании ПрQ(]JаммааВТОМОНll{рОВШIК не читает таблиuу 8 текстовом виде. а ИСПО.'ТНяет сценарий. передапая ему .aprYMeHT (называемый "I01ючо('), в котором указывается, к какому подк.палorу ПО.ilЬЗ0вателъ пытается получить доступ. Сuенарии отвечает за вывод соот, ветствующей записи таблИllЫ. ЕСJП1 полученный юnoч нсверен, сuенариfi просто завершается, ничеrо не отображая. Данная методика очень удобна и позволяет компенсировать МНОI'QЧJtс леliные недостатки ДОDО:IЬНО странноя системы конфиrypирования npollJ3MMb! automount. По СУТИ. она дает 8Q"ЗМОЖНОСТЬ создать единый Ш1Я всей орrанизаuии КОНфlпураuионный фаЙл произволъноrо формата. Можно ня писать несложный сценарий на Peel, декодирующий rлабальные КШlфИJ]'Р3 uионные параметры на каждО"I компьютере. СuенарИlt автоматическоrо монтировання запускаются ДI1Н3'-IIt"jССJ...II. поэтому нет необходимости lIосле каЖДОI'Q ИlменеНIIЯ распространять rЛRНЫН конфиryрационНЫi:'I файл или преобраз08ЫnЗТЬ ero в формат проrрё:JММЫ automount. ')тот файл может ПОСТОЯННО на.ХОДИТЬСЯ на сервере N FS. Праrрамма autamaunt и дублирующиеся файловые системы В некоторых случаях доступные только JU1Я чтения фаИJlовые системы (шшример. JusrJman) MOryr быть идентичнымИ на нескольких серверах. 534 Часть 11. Робота в сетях 
( в ЭТой ситуаuии можно сооБШJfТЬ nporpaмMe automount о Нескольких потенuиальных Источниках данных. Она выберет сервер. основываясь на собственном нрелставлеНИ11 о ТОМ. K3KOI':" ИЗ них отвечает быстрее друrнх. Прн зтом учитываются сетевые адреса, версии протокола NFS. а также BpeM>I оТВета на Ilервоначальный запрос llублирующиеся файловые системы должны быть доступными только Ш]Я чтения. хотя npo(]JBMM3 automOUnl 1Тоrо не требует Просто она не способl-t.a синхронизировать операШfИ 13ПИСИ в rpуппе cepRepOB. поэтоt..fY редактируемые файловые системы ПОЛНОСтЬЮ дублировать неIЮJМQЖНО_ Дублируюшиеся файловые системы должны быть аОСОЛЮТRО идентичны ми. В противном случае при замене файловой системы ПQпь.зоваП.:Л11 начнyr волноваться и вести себя непредсказуемо. В Solaris npO(]JaMMa aulomounl 8 случае Бо]никновеНI1Я проблемы может свободно переКJlючатъся от одноro сервера дублируюшеися файловои Системы к дрyrому. Это подразумевает МОlfтирование файловой системы только Ш1я чтения. но. по слухам. фай,:ювые системы с возможностью З31111СИ обрабi:1 тываются правильнее. чем об этом rО80р1П ДОl<..умеНТi1IlIlЯ Пр.шда. при переI01ючении сервероя осе равно пропсходит Jaвисаllllе IlроrрЗ\I\I. которые ССЬU1"аются на фаЙлы. открытые Ш1Я Ji:ШИСИ. ЭТО еше ОДНd IB IlрIlЧIIН. 110 которой дуБЛИРУЮШllеся фаЙловые системы. ДОСТУТlI-1ые R реЖlIме LjTeHHSIja писи. практически бесполезны. Как уже было сказано, IlроrpЗfo,'Jма аulОПlОuлl выбирает сряеры I-1а ОСиовании собствнных критериев эффективности и достymroсти. но можно назначить им явные приоритеты Чем выше номер. тем ниже ПРИОРlпет. По умолчанию установлен ПрlfОрИТСТ О. обознаЧЗЮШllЙ ЛСI"кодоступtlЫЙ сервер. Файл auto.direct. который определяет К8Талоrи /usr/man и /cs/tools как публируюшиеся файловые системы. будет выrлядеть .JK: /usr/man ca chimch1m:/usr/share/man band() :/usr/man /cs/t.ools ro anchor,balld:/cs/r.oo15 Обратите внимание H.<I то, что имеt-IЗ сериеров \fQЖIIO указы.пLL вместе, если пуrь к искомOJ фаплоиой CIfCTeMe 8 них ОШНliiКОВЫЙ. Выражение (1) после имени сервера hand в первой строке задClСТ приорнтст JТoro сервера по отношеНIIЮ к файловой системе /usrjman. Автоматическое выполнение проrраммы аutоmоuпt B"lecтo Toro чтобы указывать ВC возможные Точки МОНПlРОВ3НIIЯ В таблиuaх прямых и KOCBHlIbI}( назначеШН':'I. МО"+:НО рассказать Ilроrpзмме аutоmОШlt HCMHoro о IlРIIНUИП8'Х ИМСlfQ83ИИf! файловых систем Ii lШТЬ Й ВОЗМОЖНОСТЬ действовать самостоятеЛhllO. Ключевым моментом Д311ноrо подхода ЯR1JЯется 80ЗМОЖНОСТЬ обратиться к демону l1Iountd. ВЫIIO:lНяюшсr-.,rусSJ на удаленном сервере. и узнать \. Hcro. какие файловые системы :ЖСПОр'Пl руются этим серпером" Есть несколъко Сllособшs СООтПеТСТR\'fОШIIМ обра30М СКОНфИI)'Ра.-lрОК3ТЬ проrpамму аulоmоuпt. Самый IIРОСТОЙ из IfIIX  rюспольюн;аться ОПUиеи монтирования host.s. ECJ1I1 указать JTY ОПШ1Ю в качеСТве IImct-ш Тlб.'IIЩЫ В файле rлавной таБЛИIlЫ назначсншi, npor1JaMMa аulоmоuп( закрепит экспор ТИР"С"Iые файловые системы удалеllноrо компьютера 13 указанным китt;ЮI'О"I: /net hQst5 no5u!.d. soft r nово '7. Сетевоя фаиловоя rистемо 535 
НаПРlfмер. если мапrnнв chimchim экспорти"рует каталоr jusrjsh8rejman, он будет доступен '-Iерез CCbU1r..l' /netJchimchimjusr Jsharejmaa. Заранее опредe.rrитъ все возможные '1ЛЫ, с которых монтируются файловые системы, невозможно Вместо 3Toro nporpaMM3 automount ожи.nает, пока 1.le буде.) СДелана ССЫJlка на отдельны 'А подкзталоr. 1l0сле чеrо монтирует соответстпуюш)'"1O файловую систему с JallраШl1ваемоrо узла. Аналопiчный эффект ДОСП1Пlется. если 'KaJaTb lI..JетасимвалЪ! ... и , в таблиuе косвенных назначений Кроме Tora. сушествует рJUI. макроконстант. ]В\lеНRЮШIIX имя текушеro 'зла. тиll архитектуры и Т.Д. ПодроБНОСТII МОЖIIО узнать на mапстраюruе automount( 1М). Особенности Red Hot Linux  ...,j' В системе Red Hat имеется собственная незаВlIсимая реаляза.uия про rpaMMbI automount, которая несколько оттiчается ОТ версии компании Sun В основном изменения затраrивают имена команД и файлов В Red Hat IlроrpЗ}.fма au(omount  это демон. деftСТВIIТе.льно монтирую ши'А 1-1 демонтируюший удаленные файловые системы. Он занимает ту же нишу. что и демон аu(опюuпtd в llРУrиx системах, н обычно не требует запуска вруч-ную Проrpамма. ВЫllолняемая дня закрепления изменениЙ в rлавноЙ таблиuе назначений. в Red На( называется jetcjrc.djinit.djautors (8 друrnх системах это сама automount). Она принимает apl)'!\.feHTbl stop, start. reload 11 status; нужныА нам aplYMeН'I  естественно, reload. Стандартная rлавная таблиuа назна'-lСНИЙ храНIПСЯ в фаАле /etc/au(o.mas. ter. Ее формат, а также формат таБлиuы косвенных назначений. были описаНЪJ выше В ,nокументаw1И )Тим таблиuам посвяшены mапстраниuы auto.mas ler(5) и autors(S) Во втором слу'I3С будьте внимательны: на mапстраниuе au(Ors(S) описан формат KO\faHnbI au(Ors. Таб-тнruы IlрЯМЫХ назначении 8 Red Hi.l.1 не поддержнваlOТСЯ. 17.8. Проrромма amd: более совершенный автомонтировщик Проrрd'l.Iма amd олиuетворяет ..-::oook дальнеЙшее разиитие конuеllUШI .:I.втомаТИ'lескоrо МОНПlРОlsi.l.НШ1 Она CTaJl.a в не котором роде сиротой, KorAa ее CiBTUP Д.,I(Cl.НС"ЩМОН ПеllДРН r1cpr.:\...r.I. СОl1рОИОЖШ:1ТЬ се В настояшее время разработку Ilporp8MMы продо r;+.dr Эрсu 3а.а.ок I E.rc7 Zadok) из КО11}-"),lбllйскоrо университета, с.делав ее КОМllOнеlПОМ IldKCla all1utils СоотнеТСТВУIOШllii \Yeb8ДPec таков: Ь[[р:! jw"...'.сs.соluЛlЬiа.еdu/ еzk/аЛl u[ ils Проrpаммз amd выrодно отличается от Кotll...)'рентов следуюшими особен ностями. Она посылает уда..'1енным серверам через постоянные nромежyrки вpeMe ни запросы типа "остава'АСЯ на связи" н ведет список доступных серверов. На основаНИИ ЭТОЙ информаuии ПРОИСХОЛJ.lт монтирование. деМОНПIРО. вание и замена фаЙловых систем. Ес;ш kakot-tто сервер зависнет, IlрИ последующих попытка.х доступа к фClt-tJlО80И системе будет возврашаТЪСf1 сообшение об ошибке "operation Vo.ould bIock" (операUИ,.l приведет к блокировке), предотtlращзюш jdl:sисаlше Ilршрclммы 536 Чость 11 Робота в сетях 
в amd нет патентон.анно,.о исходноrо кола; эта ПРOl"рамма перенесенз более чем на двадиать верен!! UNIK Проrpамма amd реализует ряп ПИДОR МОНТИрОEl3НИЯ. которые не ПОд1lС'р жиааются утилитой automoUnl (например. МОНТlfров;ание .'объединения" каталоrов) . В ПИС1рибутив amd в'\одит команда amq. позвопяюшая отслеживать статус проrpаммы amd я посылать еА советы и команды (например. запросы на ПРl-lн'дительное пемонтирование) Синтаксис rаблиu Н3ЗНЗ'lеНlfЙ amd более стандартизирован. чем v проrpаммы automount Д,l'Я всех компьютеров ОрfaJllпаШIII можно ИСllo.rlЬ зовать один фаИ1. распропраняечый ПОСРСДС1RОМ Ilpol-рclММbI rdj". IIЛИ rsynс. ПРОI-рамма amd основана IIа С..'1еЛ) юшсn КОllUеПШflf. люБOlt сервер Н'I.Iеет одну или несколько фаЙловых систем. каждая 113 которы\. созерл.Иl опин или более томов (СБЮНЫ\ СОВQКУПlIостеh фй.лОRI. Это ПОЗElоляет упростить обработку 110пкаталоrов по сравнению с rlpOl-Р3М\1Оh aulomount т а6лицы назначений проrраммы amd Формат таблиu IIЗЗI..шченнй проrpа\fМЫ amd исключите..1ЫlO п"оок 11 ПОЗВОШlет НсrlOlЬЗОRать на Ilескопьки)( КО-IIlьютерах оБШlfi1 фаАл КОllфiп"ура.. Ш1Н. Элементы та6лины MOI)"T содержать \"С..IОЛНЪ1С Оllераторы. 11РСДНiН";iчеll ные д.rlЯ аJ...ТНRlПJUlIН lзБЛJ.IUЫ только n конкреП-lЫ\: с..Ч"lаях IН3I1рЮ.'L"р. lid Ja.!13HHoM компьютере ИТ"lИ при Оllределенном тИпе рхитектуры) В УС..10ПНЫ\: операторах применяlOТСЯ 8СтроеНllые переменные (ce'leктopbJ). которые заПОЛНJ.IЮТСЯ ра3l1ИЧНОИ I1нформаuиеи о среде 8ыполнения ПрОI-рttММЫ 3П1d Наиболее часто JICllO.lbJyeMbJe селекторы псrx'lИС.'lекы в Тc:lбл 17.10 Селектор Тоблица 1710. Селеl(ТОРl:.1 nporpOMMbI amd .  arch aUi:odir b:yte clust.L dоmа:!.Л host host.d ka rch key "ар network 05 Зночение . Архитектура ТС1\ушеrо компьютера Катало." 110 умолчttНИЮ, U к(пором МОНТl[рЮТС" фаИЛОI!Ы'= снстемы IIОРЯДОi< СЛ'=Дованш' баЙТО8 .!JЛЯ НilНИШО компьютера (.лр,."юЙ ИЛII обратный) ИМJI Jlсж.а.l.ьнurо K:JaCTepa КОМПЬЮ1Сроl!, по умол'rёlНlIЮ  аОIf1.:ЙП ИМЯ локальноrо HOleHd NIS Имя ЛО...д.J1ЫIОro компьютера Имя KOMllbI01Cpa. объСЛИl-lсннос С именем лока.л-ьноro домена DNS Арюп'С...-тура я.дра (по умолчанlUО  значение селектора arch) Имя I1СПольз}-еюrо тома ИМЯ ИСПОЛhзуСtOй табл.иuы МОНТJlроваНИJl Ими сетll lIт, адрес любоro CCТt"Boro интерфейса Опсраuионная система Вс:рсия ОrJераЦ10Н1--!ОЙ систсмы Ниже преДСТЗВ:lен обрЗ'l.еll1':Jб!lIIUЫ.. сообшаюшеЙ проrpЗМ\1е зш(J о ПН\'Х файловы>: система\:" /usr/man 11 /c5/tooI5 Д-1Я каж.яои 111 1111"'\ имеется два 537 r лово 17 Сетевоя фОЙЛОВОfl Ci-lС1"eJЛО 
набора ОПUИI1. Перlъrf1 определяет параJl.lетры МОНТИрОП8НflS1 фиИЛ080Й системы НС\ том КОМllьютере. l.ne она реально нахоl[ИТСЯ. а второЙ Jaдaeт параметры моиrnроиания 110 сети: Idefault Opt.5 : "'"rw, sofr., r.imeolO. rer.rans5 U:'Ir/man host....:o.chimchlm; rype:ufs;dev:=4dev/:!Idlf \ hosr.! :o.chimchim; rhost'""chimchim; rfs: =/ {key}; \ t:ypenf5;f5: $[aur.odir}/S{k.ey} cs/tools hоsr...=..=.аПСhоr;tуре:"'ufS;dеv:.z=/dеv/SdЗС \ host! =-anchor; rhost:o.anchor; rfs :/S {key}; \ r:ype-==-rlfs; fs :S! auLodir} /5 {key I ')1С,.;менты Вlша ШIЯ: JHa'lelllle Оllределяют раз.rrИЧI-lые атрибуты MOlln1po R<JНИЯ. HallpliMep. первая строка 'станав...11IБает. что по умолчанню принима ются так-ие параметры. rw.sofL, tlmeolO, ("et.rans5. Элементы B(lдa и\fRJUal'eHlJe или lJ_lя==значеlше  ЭТО условные операторы: слеДУЮШIlС ЗCj НИМИ :элементы используются только в том сЛ)"ше. если УС..'lOпныА оператор имееТ значение "истинно" Записи випа S {a'1todl r J и S {key  предlfазиа чеtlъt для встa.nЮi Jначения соответстнуюшеro селектора. Предложение /de!aul t залает Зl-lачнИЯ по умолчанию. которые npli меняются ко всем элементам таБЛIfUЫ назначеннй. если не отмеЮlЮТСЯ я-вны-м обра"lОМ. Ра..L'Iичные ОПUИИ описаны 8 Пlбл. 17.11 Оция rhost Тоблица 17.11. Опциl't тоБJ1I11Ц нозночениl7! nporpaMMbI amd Описание rf. t.ype f. opts adaopt.s rernop ts Удаленный компьютер. на котором нахОДИТСЯ ТОМ ИМЯ удаленной файловой системы T.m мmпирования, обычно nfs или ufs (локальный диск) Лока.п.ьная точка монтироваН1LЯ Пираметры МОНТИроВЗНШI ОIЩИИ. добаВJlяемые к задаlll{hIМ по УМOJIчанию ОIlЦНИ, прllмсняемыс в ТОМ случае, KOlдa сервер не являстся JIОКa.JI.bНЫМ Запуск проrраммы amd ВЫllOЛНЯЮЩ3ЯСЯ КОlllfЯ проrpаммы amd управляет ОДНН1о.1 К8ТШЮroм виртуальной файловоЙ СlIстемы. n котором пронсходят все оперзuин aBTOMa тическоro МОНТl1ронания Имя К8талоrа и файл таБЛIЩЫ l-IюначеlШЙ. ше 'казаI-lО. по tMellHo монтировать. задаЮТ,,"l в КОМ8Нl1ншi строке. rlporpaMМY amd МОЖНО li'lЛУСТlПЬ посредством TCJ.Koro сценария: И  Ibn/c:sh ! cd /usr/local/et.c/amd. ехес /usr/local/bin/amd x fatal,error,user c l sy:sloq a II:П1p rnnt /amd amd.ma5r:er.map >& /dev/console  ОПUИИ. ИСllOль]оваНllые в ЛОМ СllенарlИ. Оllисаны в таб". 17.12. 538 Чость 11. Робото В сетях 
Таблица 17.12. Опциlo1 комондно';; строки amd Опция _ . Описание За..ааer П8рамCl'pЫ реrистрации сообwений на время работы проrpамыы r Задает подключение уже смонтированных файловых систем  1 Зацает файл реrn:сwauии или систему Syslog ДJUI реrиcтpa.uки сообшениЯ об ошибках Задает aJIbтернаТИ8Иое расположение точек МОНТИРО88.IOf.ll l /amd Имя внртуалъноrо каТ8Лоra (.апя автоМ8тическоro монтирова иия) amd.rnastec .тар Файл таблШlЫ назначений. содерж:аший ОПШIJ1 монтирован.ия I По умолчанию  / а. Коrда пользователь обрашается к ОДноЙ из фаЙJЮRЫХ систем, определен ных в таблице назначений amd. nporpaMMa МOIпирует эту файловую систему и контролирует ее последующее ИСпользование. Если n течение определенноrо периода времени (обычно от 5 до 15 минyr) фаИловая система остается незадействованноh. проrpзмма amd демонтирует ее до HOBOfO обращения. Статус смонтированных файловых систем можно узнать с помошью KOMaнДbl amq. Останов проrраммы amd п роrpзмму amd нужно ОСТЗН8МНН3ТЬ аккуратно, чтобы у иее была возможность "выnyrатъся" ИЗ струхтуры файловой системы. Корреl<.:ТНЫЙ способ сделать это  послать проrpзмме ситиал ТERM. 17. 9 _ Рекомендуемая литература Callaghan. BreЛI. NF5 IIIlistrared. АddisолWеslеу. 1999. · Pendry. JаnSinlOП. апd Nick WillIaП1S. "AMD: ТJle 4.4BSD Auloтттter Refereпce МQI",а/. .. 4.4BSD SУSlеЛ1 Малаgеr's MalluaJ. Usелix and O'Reilly. 1994. · S[em, На!, Mike Eisler, алd Ricardo Labiaga. Mal1agil1g NF5 aпd "'/5. 5ecalld Edilioп. Sebas[opol' O'Reilly & Associa[es. 2001. В табл. 17.13 перечислены различные документы RFC. посвяшеНИЫе протоколу N FS и ero расширениям. Таблица 17.13. Документы RFC, связонные с протоколом NFS .RFC 1094 1813 2054 2055 2224 2623 2624 двТ---о р SUD Microsystems В. CaLlaghan et а] В. Саllчhзп В. CaIlaghan В. Callaghan М. Eisler 5. 5hepler Название Ne[wod File Sysr.em ProIOCO) Specification N FS Version .3 Pro[ocol Spccification WebNFS Сlieпt Specification WebNFS Se.......er Specification N FS URL Scheme NFS Vеrsioп 2 and Version J Security (ssues: N FS Version 4 Design COnSlderations Дота Мы 1989 Jun [995 Ос[ 1996 Ос! 1996 Ос! 1997 Jun 1999 Jun 1999 rлово 17. Сетевоя фОЙЛОБОJ1 о-стемо 539 
78 Совместное использование системных файлов CJ r:j с] Е> <l(j   ) с9 g 8 \? Нормально функuионируюшая система зависит от десятков. а иноrла даже сотен фаилов КQнфшураuии. ка.жn;ьm из которых должен содержать корректные данные. Умножьте количество конфиryрационных фаЙЛО8. имею ШНХСЯ на ОДНОМ компьютере. на число машин, работзюl.JlИX в сети. и вы ПОЛ'ЧlfТе ТЫСЯЧИ фай..чоРо  СЛИIII1<ОМ t.пюrо, чтобы ynрВRЛЯТЪ ИМИ вручную. С dllМННJ.tстратипной ТОЧКИ зрен.ия в реальном \ilipe МНОПfе компьютеры С\:ОЖ-И 1lp' С npyroM BleCTO Toro чтобы редактировать текстовые файлЫ на каЖ1ЮМ компьютере. rораJДО JффеЮ"118нее будет объединить компьютеры в '"р} nllbI. совмс::стно исnа.'lъзуюшие и-нформаuию о КQнфиryрашfИ. ЭТО МОЖНО СДС.lать несколькИми способами I1ростейший ИЗ ШfX Jаключася в хранеНИII rлавной копии каж.поrо КОНфl1I:раuиnнноrо ф<'lйла в KaKOMTO ОДIЮМ Met.IC' и предоставлении ее членам rpynnbI при кажnом измененИИ. Пренмушеством TaKoro решения ЯtLlяется простота 11 DOCT)IIHOTb НС:1 любой UN'Хплатформе. Др}ТОI1 поnxоп  уда..1fние все'\; текСТовых файлов и выдача каждому КQ'шьютеr\ Нllфармзuни о ("ro Кf'lIlфнrvрВIIИИ с uентралъноro сернера, Делать -по сложнее, чем IlРОСТО КОПИРnR<!.ТЬ фаилы, 1-10 зато попутно решаются Ht'KOTopbIe Dprllt. прnб 1'rы НЗl1ример. клиенты в любом случае будут IЮТТ) чать ИСПР.:iR1енны(' версии фаилов. даже если во время внесеиия 1I1MeHeНlm маШИI-tаКЛ1{ент был.t:l ОТ1U1юченз. Кроме Toro. получать IIIlфОр"'lа LПtЮ с сернера в некоторых случаях моЖНо быстрее. чем нз файла (это заНIfСJJ1 ОТ БЫС1родействия локалЫIОIО Ш1ска и объема кэшнрования. ВЫПОЛllяемоrо сервером). С npVl ой стороны. 01 К8З сервера может IIрИ8еСТII к заНllсatшю 8ceh сеni. Имели место ПОПЫТКIi разработать адМlIIшстратнвные базы дaHIIЫ д.'1J! бо IЬШИ'Х сетей. в P<=-]У"Iьтате '1ero БЬ111i созданы интересныe системы. К. сожа.lению. НИ один из современных npOД) .....-т08 не кажется нам беlупреtl l-thIМ по cBoeh IUС010rnи Некоторые н] них просты. но не ОТЛWlаются достаточной степенью ОеЗОilасности и потенuиалъноrо расширения. ДРУТIiС об.'1мают хорошими ф'нкциона..т]ьными возможностями. но чересчур тЯ",+:ело весНЫ. "ретьи пыrлядяТ мноrообешаюшс. но пока ЧТО нахолятся на нача.'тьном 540 Чость 11 Робото в сетях 
этапе cooero развития Всем этим системам прнсущи Оl-раиичения, которые MOryт помешать орraНИЗ0ВЗТЬ и настроить сеть так, как хочется апМИШfстра тору. В Н8СТШIШe-J" rлаве МЫ рассмотрим некоторые базовые мето.1ИКИ СИI-J'(РО низании файлов в сеrn, а затем nоrоворим о .nвyx ивиболее широко используемых здминистраrnвных СУБД (NIS и NIS+) и одной относительно ноной системе. которая способна завоевать широкую популярность в БЛИЖАйшие несколько лет (LDAP). 18.1. Предмет cOBMecrHoro I-1спользования в UNIХсистеме имеется MHOro файлов конфиrураUИJf, но совместно использоваться неСКQ.Т1ЬКИМИ компьютерами MOryr далеко не все из них. Наиболее paCllpocTpaHeHHbIe совместно используемые файлы переЧlfслены n табл. (8.1. Тоблlo1ЦО 18.1. Систем..,ые фОЙЛ,",1 которые обычно J.1СПОЛЬ3УЮТСЯ совместно Имя фQЛQ /.tC/plWWd /etc/!lbadow l /.tc/group /.tc!bo.ts /elc/Detworks l /.IC/!IOn'iC.' /elc/prolOcols /elc/etbers l Соответствия МСж.д} именам..и компьютеров и Еrhеrnet---адресами /etc/maJI/allases ПсевдоюlМЫ электронной почты /.k/rpc /.tc/netgroup' /.IC/prlnICВP /elc/tenncap I Испо.льзуется не ВО всех системах Назначение База данных с имформаuией о пOJIЬЗОватtJ1.bCкнх учетных записях Теневой файл паролей Определения UNLXrpynп Соответствия меЖдУ именами КОМЛЫОТСрОВ и IX ] P.a.дpecaM1 Соответствия меЖдУ именами сетей и их IРааресами nечень номерен портов .!llIJI осиовных спевых сервисов СООПК:ТСТDJIЯ ме:ж.n.y СИМВОЛЬНЫМИ именами и НQмер8М.И протоколов Леречень идентификаторов RPCcepBHcoB Определения rpyrm компьютерОВ, ПОЛЬ10взтелеt'l и сетей База данных с ииформацией о принтере База данных с информацией о типе терминВЛ8 Большинство серперных систем СКОНФИfурировано на работ} только с этими файлами. В некоторых СЛ}Ч8ЯХ возмоЖно распространение по сетн еше нескольких файлов. но поскольку стандартное системное проrpaммное обеспечение не будет обрашаться к ним автоматически, эта особенность наиболее полезна ДТ!Я COBMecTHoro использования локальных фаЙлов. Доступ к файлам, перечислеННЫ\.f в табл. ]8.1, обычно осушеСТR.'1яется через ФУНКUИ..I. определенные 8 стандартной библиотеке "lзыаa С. Например, поиск в файле /etc/passwd пронзводится с nоМОШЪЮ функuий gctpwuidO, gеtр\о\'паmО и getpwelJtO. Они берут на себя открыrnе. чтеНl1f н Сl1нтаКСИ'lеСК1fЙ анаJТИ3 файла pass\\'d. освоБОЖдая оТ этоЙ задаЧИ ПрOl-рзммы поль 10BaTe,:lbCKOI.O 'ровня. Так как ЛI1ШЪ немнопrе проrpзммы обрашаются к RышеllеРСЧlfслеЮ"IЫ!о.{ конфиryраuионным файлам напрямую. переСТрОIfТЬ систему на нсrlOЛЫОВl;\нне сетевоЙ базы данных ОТНОСlrreльно несложно При корреКТlIромке бнбШЮl"e'IНЫХ 541 r лово 18. Совместное использовоние систеМНt>IJ<. фо\I'iOВ 
ФУНКIШИ БОJlЬШJ.tнсТJЮ проrpаммклиеi-IТОВ /l.lOдифнuнруется автоматически. Даже проrpаммное обеспечение. полученное бесплатно или от третьи). фпрм. обычно работает корректно с обновленной версией библиотеки. 182. Копирование файлов При оБСЛУ"+'"1mании сети Уllннерс(tп:та шппа Колоро мы распростраllЯСМ файлы методом rp'бой силы. Это решение не из самых элеrантных. но оно примеlllfМО на всех типах компьютеров 11 отличается простотоЙ HaCTpoКI", 11 СОПРОIЮЖдеЩ-'''l. 01-10 также нanеЖНО. поскольку чис:ю l1ерекрестных З3ВI-tси мостеЙ меЖдУ компьюп:раМJ1 МШlимаЛhlЮ. В РУК080дствах (В соответствии с обшимн I1Рl1ншшами UNIХк'льт)рЫI предполaraетсJ.l, что а.дминистрторы будут нспользовать систему TI111a N IS или NIS+, если таковая нмеется Однако если 8 орrаНIIЗС:ЩИI1 не решзются сложные задачи. то и н сложных решению.. нет неоБХОДИМОСlll. И1-l0rла самое ".10БOlюе". самое трипиапьное решение оказывается наI1ЛУЧШИМ. Наша ОРI"ЗН_ИЗ8ЦИЯ COCTOIIT из нескольких снизанных, но незаВИСШ,lЫХ "}'частков". Совместно используется лишь незначнтельная часТЬ алминистра n1вных данных. В нашей cxele распростраl-lеllИSl файлов каждыЙ 'часток имеет одЮtlIВC:1 сервера, rne \:ранятся ориrинаJТЫ erQ системных файлов. Это разновидность срелы, в которой ПРИНUIШ 110следоватеЛЫfQТО КОnИРОВ;НIlfЯ фаfi.'10В работает хорошо. 110СКОЛЬКУ задача СВОДIIТСЯ к rlрОСТОЙ ПСрf.::ачке данных. без подrовки (1'\ под УСJlОНИЯ конкретных ар\lпе....тур II'IИ ceTei.f. Системы копирования фС:'Й.'lОВ MorYT работать по модели прltнулнтельнои рассылки файлов шш 110 моделп зшроса В I1ерпом случае rnапный серпер периодически рассылает самые свежие ВСрСИИ фаЙJlОВ каждому клиенту неззвисимо от жеЛ3Ю1Я nослеДllеrо. ФаЙ.'1Ы МШУТ копироваться яnно при каждом и]меllе,-IИИ 1m" просто реryJlЯрНО отпраншп"Ься соrлС1СНО l-рафику (при этом, вероятно, одни файлы б'дут обнонляться чаше дрyrнх). ПреJtмущество молел-и nрннупительноЙ раССblЛКИ Jаклюqается 8 том. что CICTe..ra распространення РC:iботает uei-lтр31IИЗОIШНIIО. на ОДНОМ компьютере. Файлы, спнски КJlНСН108. откорректированные сuен.арШI (1 расnнсаНЮ1 ЧJi1НЯТСЯ n одном месТе. что делает эту схему простоЙ в YТlранлении. Есть у flСС (t недостаток: каждыЙ I01ИСНТ должен ПОЗRОЛЯТЬ rлавному cepAep МОЛНфИUJlроН3ТЪ С80И снстемные фаЙлы. что не ocerna IIриемле1O с точки зреНIIЯ безопаСIIOСТII. В МОl1СЛИ рассы.'жи по 'jапросу "аждыii к lИент ОТReчает 13 самообl-lOвлсние с 110МОШЫО данных. lаnраШllвасмы\: с сервера. Это менее l1ентрализонзнныи СI10соб распростраllСllНЯ фаЙлон. 110 он более rllбок 11 более безопасен. Система КОlшроваllИЯ особенно Ilривлекателыш при совместном использона нии данных с l1ересеченисr.1 II\НI Рi-IЗЛНЧНОТО рода rpRHHU. nOCKo.'lbKY ВО8се не оБJпзте.IЬНО. I.побы Т;13fIНЫЙ КОМl1ыотер Jf маШlIнак.'1иент находились н одном "'политическом" репшнс. Утилита rdist: принудительная рассылка В большинстве сл}'чзев наНlIУЧШIfМ Сl1особом распространеllИЯ фё1ЙIIО8 с uентральноrо сервера счнтается использоваНllе УТИЛlfТЫ rdist. В неИ есть С'\:ОДСТ80 с ПРОflJзммоh make: RНdЧruJС 1I0лыонате:1Ь в теКСТ080М pC!laKrope составляет описание (спеUИФIIК3LIIIЮ) файлов. 110!LIтежаши" рассылке. а з.псм yrишrrа rdist осушествляет Оl1сраuии копирования и соответствии с OIl1fсанием Утилита КОШlрует файлы. если их локальные КОI1I1I1 УСТiЗрe.JШ. ПО"ЭТШ.JУ в 542 Часть 11. Робото в ceT)( 
 @ СПСllllфrкаШIII мол.."НО 1ЗJlЗТЬ КOII11рО8ЗНllе всех ФО:1ЙЛОВ. .а П1ЛIIТН rdi,. С'lOстоятелы-JO определит. KaKle ИJ НИ'\( по.u.лежсп 3ТШ1 Оllсраl1НН 'nfЛlпа rdi1 сохраняет 11IIфоР\t3UИЮ о в...але.']ьuе. rp'lIne. IlpifИ3Х доступа 11 времени \ЮДlIфикаrntи фаi-f'lа. Коrда утилита оБНОВJНlет сушеСТВУЮШlfЛ фаhл, то 11ереП инсталЛЯLшеи HOBoro она УДа!IЯСТ старую версllЮ. 7ТО позволяет I1споль.ювать данн'ю nporpaMMY Д;JЯ перССЫIJКJ.t испо;rnяемы\ файлов, которые MOryr оказаться Iзпущснt"IЫМИ ВО время оБНОВЛСНJНl- К СОЖШ1СНJ.tЮ. )lТилнтз rdist и"меет ряд слабых мест с TOI.J Ю.I зреНIIЯ бе.юпасности. Она рабоrаст rюиер'\ ПРOf"раммы r!ottl ! 11спользует ее срсЛt:ТВН аутеНТl1ФIIК3Шfll п...-тя 1l0пучеlclltя доступа к удаТJеНIIЫМ системам. Прll "ЛОМ доступ от HMt:'11II с'перпо...1ЫОВiпеrIЯ RОJможеl1 с .'Iюбоr'о узла, укспаННОI'О в фаЙ:lе /.r110ts y'la..rlCllllot1 L:11CTMbI. В ПрОШ:Ю\1 rзкclЯ схема еше ОЫ11&1 Прltемлеlа в ИЗОlIИрОН21f11ЫХ ИН, матюдоступных етяХ. Сerодня. ЧIПЫВi:iЯ распростраИСllllе IllteT1\ct. OHtI с.lIIUlКОМ опас,",,,. I:'ПНI один KOMllbJOTCP ВЗЛОМаН. все остальные J.::ОIIlЬЮтеры, слепо ДОВСРЯlOllЩС ем\', также становятся неБС30П3СНhlМII. 110СКОЛЬК\' раСПРОСТРЮIЯЮТСЯ аДМИllJктративные фаИ.IЫ. 11311pllMCr /etc/paswd. ПОШlТllO. IITO привилеrированный доступ к I'Л381IОМУ t'er8ep \tQжет быть I-IСl1ОJIЫ08сlН !LI1Я 1l0лу t lения аНlliюrичноrо достул-з к КЛIfСIIТСКI1М маШШ'ltlМ. Но Ilробле:l.Ы не н ЭТОI\I. d В ТОМ. что, НЫПО,lНЯЯ деМО!l rlogilld (сернер для nporpaMMbI rll. а также rlogjn If rcp). KlIIeI-lTЫ MorYT Iюднерппъ('я ДРУП1М IШДllМ зтзк. В оБШС\1 I.:,lучае наш LOlif'T таков: оп::аh-.lпеСh ОТ nC:l.IOH3 rlogind. rC.11I ОСl УТШ1llТЫ rdit IIC'lbJSl оБОI1ТIIСЬ, 11}"""Жt-IO, 110 краинеи мере. IICllO.lbloBaTb пtКет tcpd. KOTOpbIil IIOЛЮ:IIП a!.Ial Ь. ..4:1....lIм Уlлам ра 'решен ДО"1)'П .... ne:l.lOlIY rlоgiпd каждоrо KOIIKpt:TIIOIO К1шеНlа, '-Этот пакет можно rlOЛУЧИТЬ по anрес rtp.porCtlpille.or,g. nOI 10,'1 1-1 11 rе'IЪНо:1Я 1IIIфОрМillШЯ о НСМ IlрН8едеll в IШР;<lI.ра фе 21.7. 'ТII,'П1Та rdist может 8ЫIIОllllЯТЬСЯ Ile 10,'lЬКО от IfмеIП1 супеРПОЛЪJоваrсля, но демон rlogind нсе равно должеll работать на каждом удаленном Y'l!le. Kpo\te Toro. в дан нои КОllфlfryраШIII треб\!С'тся. чтобы на каждом юшенте была ПрОl-рмма, Ilplfl-1НМ(\ЮIlIaЯ ....ОПllруеМые фаiЕIЫ и инста..'IЛИРУlOшая 11\ 11 требуемые кпалоr1l. Даllная OIlер.ЩIIЯ достутпы тоТ"/ько IЮЛЬ'lовзТ('rIЮ roo1. Но псе р",нно. Нllчеrо Ile MeUI,;leT HCllpIfRI-СlеrЩIOU<:1ННОIl.lУ Ю..10МШИl<:У 11epc.J.arb Ii уда:lенную СlIстему фi1ЛЬСlfфишtрОН<lнныt1 файл /ett'/pa!'>s"d Так что r.lhI не спrrаем. что В01!<ЮЖIIOСТь НЫllOлнеllНЯ \о-ТШ1ИТЫ rdi1 от имени НСl1рIНlII.'IеПI рои-.зНН(1rо П(1ЛЫОR:lтеля ПОlJhlШilет беJОII<lСНОСТЬ системы УТИ'lИТil rdist в Red HJt It r-rсеВSD позволяет за'IСI-lЯТЬ Ilроrpамч r"h любой дрyrоh. IIOНИМiJюшеи clНа..ттоrнчнып СШIПIКСJlС. Таl<:ОВОЙ можеl БЫl ь IlPOl-Р3М\1а Ssll. Ilмеюшая дв.1 основных flреЮ.-I)-'ществз. BOlIep8ЫX. она "1O..+.ет ИСПОЛЬiОА3ТЬ Шllфрование С открытым КlIЮЧОМ для проперки 11O!UIIIHHOC'11I СIIПЫТУРЫ r;Ii:lRHOrO УЗ:13. BOfSТOpыx. она шифрует В('СЬ ШlaJIOJ'. не Л3В<lЯ возможности 111 ПlЮН<lМ. rrРОСЛУЩJ1наюшим сеть. IIОЛУЧ3ТЬ КОIIИН СИСТМI-1Ы\ фаЙ:IOR, Недостаток Ji:lключо!ется В ТОМ. 'НО удаленные серверы lIih ДО.'Iл..IIЫ RЫllOЛНЯТЬСЯ Н реЖlIме, по]ноляюшем не указы3тьb парО.Ilb, tI ло Mel.lce безопасныЙ режим. JeM требуете,", п обычны\ условиях. Подробнее о деМOIlе sshd и ero реЖIIМ.il\: аутеНТИФНIo:i:lIlИII расскаlЫвастся н Ilараrp"'-фе 21.8. Хш я L:тзрая версия удаJlяется 113 ПРОСТР311СТВi:I имен файловой "CTeMЫ. ОНА IIРОДО)lж.аСl сушеспювать до сех Il0р, пока не будут освобоЖДIIЫ все ССЪЫЮI на ВСС. О даНIЮМ '}(jJфСКIе слсдует также 110MIIHTb IlрИ работе с Ж)-'Рна:IЫiЫМИ фаi1лами. Лодробllее 06 _}том раССКЗjЫ вается 8 параrpафе 11.1. r /1ова 18 Совместное I.1СflОl1ЬЗОВQtlие ccтeMHЫ)( фоилов 543 
Итак, разобравuntсь с тем, какую YIl'ОЗУ таит в себе У1'или т а rdist. рассмотрим подробно. как она фунхпионир'ет. Как и nporpaMM3 make. утилита rdist ишет в техушем каталоre yтrраВJ1ЯЮШИЙ файл (distfile J.UIи Distfile). КШ,fзнпа rdist f фаил задает пyrепое имя yтrраRЛяющеrо файла явно. В качестве разделителей в зтом файле используются знаки таБУЛЯШIII. пробелы 11 признаки новоЙ строки. Комментарии предваряются .тЗКО\1 решетки (#). Тело vправляюшеrо файла состоит J13 операторов. нмеюших слеДУЮШllii синтаксис: метка: пYTeBыe ииена > адресаты команды ПО."Iе .метка я.вляется именем данноro оператора. Из комаНllНОЙ СТроЮI можно дать комащу rdist метко, которая обеспечит рассылку только те\ файлов. что описаны в указанном ollepaTope. Поля tlyтeBыeиMeHa И адресаты содержат соответственно список фай:lOС. nОД,.'I]ежащих копированию. и список комльютеров. куда их нужно переСlать. Если в списке больше одноrо элемента, ero нужно заключить в крyrлыt скобки, а элементы  разделить пробелами. Список п}'тe8ыeuмeHa \fоЖСl ВКТ"lючать метаСИ\1ВОЛЫ. norтycnH,fble в интерпретаторе команд (напрrl'-fер. fusrfllb/* иmf /usr/mаn/mил[123]). flриемлема также запись пОЛЬЗОfJате;lЬ. НО соотвеТСТВ)1ОШJ1е ей ]начеНИ,.l на машинеотrтpавителе и машинеадресатt' fOf). не совпадать. ПО )'МОЛ"l8НИЮ УПU1ита rdist КОПИРУет файлы и 1(8Та.поrи, перечисленные в списке tlyтe8ыeиMeHa, в эквивалентные каталоrи иа каждоА машинеадре' сите. Этот порядок !>-fOЖНО изменить, указав последовательность комйнды. КаЖlIУЮ команду следует завершать точкой с запятоЙ. Можно использовать такие команды: install опци.и Lкаталоrадресат); notJ.fy списокииен; ехсер': список  пУ'l'еЙ; except. yat С!1ИСDХ  шаt}ЛОНQВ; зрес.:..аl [спИСОХi1у...еУ.' строка; КО\1анда 1лstаll залает опии:и, влияющие на то, как утилита rdist копирует фRЙ.:-JЫ. ОnиИIf.. как правило. используются .R...ЧЯ )'nраа'lения npouec СОМ обработки символических ссылок, Ilроверки правильности ПРJ1меняемоrо в }"'ТIШИТС: алrОрИThfа сравнения файлов, а также .дЛЯ контроля над проие,nурOl" обработки фаЙлов, отсутствуюших в ис'Хопном дереве каталОfОВ В каЖдоfl системе Э1'И опиlfИ задаются IlOCBoeMY. и мы не будем здесь вдаваться и детали. Имя команды 1пstаll слеrка вволит в заблуждение. так как фай'1Ы КОПИР)1Отся вне зависимоСТи от Toro, присутствует Э1'S команда или нет. Опиии зanаются так. как они задава.п-исъ бы в командноЙ строке )"'Ти..lIПЫ rdi!liit. но IlрИ включенИИ в }llравляющий файл они пействуют только H совокупность файлов, указаю-ryю в данноМ ollepaTope. Необязательный apfeHT Kaтa.10caдpecaт задает каталоr, в КОТОРЬН1 инсталлируются файлы на маШl1нахадресатах По }'i\tOлчаниЮ }.ИЛlпа rdisl IfСПОЛЫУет исходные путевые имена. В команде otJ.fy в качестве apry.MeHTa Зallнется список адреСОIJ электронной почты. flри каждом обноlt'1еннИ очерепноrо файла утилита rdis( посылает по этим адресам почтовое сообшеНlIе. Имя машиныадресаТi! добав.чяется ко всем адресам. не содержашим знак @. Например, при выдаче 544 Часть 11. Робота 8 CeTJI:II: 
списка файлов, oтrcоррекrировзнныx на компьютере anchor, компьютер pete превратится в pete@anchor. КомандЪ1 except и except pat служат для уnaления пyreвыx имен из списка файлов, ПОШlежаших копированию. Apryмeнты команды except трактуются б)"Коально, а apryмeHTЫ команДЫ except ре t интерпретируются как реrулярные выражения. Эти команды весьма ползны. поскольку утилита rdist, как и make, позволяет задавать в начале yтrравляющеrо файла макроконстанты. Можно использовать одИН список с несколькими операто раr-.rи. 'казыпня для каждоrо компьютера только те имена, которые нужно 'п.алить или добавить. Команда specal запускает интерпретатор sb (apryмeнт строка КOToporo нужно брать в кавычки) на всех удалСЮiЫХ компьютерах. Если есть apryмeнт cпиCOI(пyтeй. утилита rdist запускает интерпретатор ОДИН раз после коnиро вания каждоrо нз ука.занных файлов. В противном случае интерпретатор акти визируется поспе копирования каЖдоrо фаА.'1а n Ilрелела., текушеrо оператора. К сожалению, интерпретатор нельзя запустить ОДI1Н раз после копирования всех файлов. Прииедсм пример файла Di.tfile: SYSFILES  (/еt;::/раsзwd /etc/group /еtс/mail/аliа.зеs) GETALL "" (ch:":nchi:r. lollipop barkadon) GETSOME &. (whammo spff) <811: S{SYS F:LES) > S{GET МЦ no't.ifybarb;  specal /еLс/mаi1/а1аsез '"/usr/bin/newaliases": some: SISYS FILESi > S{GET SOМEJ e)(cep /etc/mail/ аliаsез7 notify eddie@spff; в даННОI1 конфиrураUИi трН указанных системных файла копируются на компьютеры cllimchim, lоШрор Н barkadon, а по адресу ЬатЬ@адресат посылается сообшение с описанием всех изменений и замечеННЪJ1( ошибок. После копирования файла JeteJmallJallase. утилита rdist запускает на К8Jl(Д0Й машинеадресате проrpВММУ newallases. На компьютеры whammo и sрlП КОПИр)1Отся только два файла, а отчет отправляется по адресу eddje@spiff. Проrpамма Ilcv,'aliascs на ЭТНХ llBYX компьютера., не запускается.  Подрооuее о "PQ'PQ.\fe. пеh'Оliаsез. раССКQзывается 8 параzрафе /9.4. Проrрамма rsync более безопасная рассылка файлов Прorl'аМ\fа "lIe. налисанная ЭН'nрЮ Т ри.nжеллом (Alldrew Tridgell) " Полом Макеррасом (Paul Mackerras), близка по .nуху утили-rе rdlst, но подруrому реалl1З0вана. Она напоминает улучшенную версию проrpаммы rep, пытаюшуюся сохранить ссытея, J.tнформаuию о времени модификаuии и nр""а, .nоcтynа Проrpамма ..yt1e более эффективна, чем rdist, поскольку способна анализировать отдельные файлы 11' пытается передавать только раз.1ИЧИЯ МСЖД' версия!t-IИ. 0" Прора},fJ,а r}'п(' достУIIНО 110 адресу rsyпc.saтba.org. С нашей точки зрения. основным преимушеСТ80М проrpвммы rsync fiJВЛяется ТО, 'ПО на Ilринимаюших компьютерах ссрверный ПрОllесс может заnyсt:аться из демона inetd. Сервер (на самом деле это та же проrpю.f\.lа r лова 18. Совместное использовоt-lие системНЫХ файлов 545 
rsупс, но работающая в дpyrOM режиме; она должна быть инсталлирована как на rЛ8ВНОМ компьютере. так и на клиентах) допускает rибкую настройку. он может предоставлять удаленный доступ лишь к заданному набору кaTaJТorOB и требовать, чтобы rлавнъlЙ компьютер подтвердил свою подлинность паролем. Посколъку дос1УТ1 на уровне проrpаммы rsh не требуется. можно орrанИЗ0вать распространение системных файлов посредством проrpаммы rsynс. не жертвуя безопасностью. (Тем не менее, проrpаММ8 rsупс разрешает пользоваться проrpаммамн rsh и ssh. а не серверным процессом. работающнм ПОД управлением демоиа Iпеtd.) Так как у nporpaMMы rsync нет конфитураuионноrо файла на отправ.rтяю щей стороне, она должна запускаться MHoroKpaTHO дпя передачи набора файлов нескольким узлам. Например. команда ,. rsyne 90pt ptl88"'Ord:fi1e=/ete/r8ync.pwd /etc/pas5wd 1011ipop: :/sys:fi.1ea посьтает файл /etc/passy,.d на компьютер lollipop. Флаr gopt указывает на неоБХОЛlfМОСТЬ сохранення прав дocтyna. ИдентификатоJIOВ прннал.1Iежности и времени модификапИ1f файла. Два пвоеточия в выражении lollipop::/!o)'sfiles заставляют проrpaмму rsynс связаться с удаленным сервером I"SJnc непосред- ственно Ilерез порт 873, ие используя n.ля этоrо nporpaMMY rsh. Для аyrентификапии соединения берется пароль из файла /etc/rsync.pWd-. Чтобы сконфиrypировать сервер rsупс на кажпом клиентском компьютере (т.е. на каждом компьютере, принимаюшем файлы; с точки зрения самой проrpаммы такие "клиенты". скорее. являются серверами), требуется ВЫnО!l нить несколько действни: добавить номер порта проrpаммы rsync в фаил /etc/services: добавить строку вызова сервера (rsync daernon) в файл /elc/ineld.conr; сохранить аутентификаlIионные пароли в фале /etc/rsyncd.secrets; сконФИIYрировать сервер в фаЙле /elc/rs}lIcd.conr. Записи в файла.х services и iпеtd.сопf достаточно просты. В первом случае это rsync 81З/tср во втором  rsync stream tcp nowait root /lОСсЙ/Ьin/rsуnс rsyncd daemon Если используется пакет tcpd. можно CKO}--lфИlУРИf'Юнать ero таким образом. чтобы блокировать доступ всем уз.'lам. за НСЮlючением тaro, который будет распространять системные файлы. Анwюrичную установку можно сделать и в фале rsупсd.сопr. НИJ<.Оfда не помешает возл.виrН)lТЬ несколько барьеров. Файл rsyncd.secrets должен содержать единственную запись: root : пароль Необходимо. 'побы napOJrь. используемый проrpaммой rsyпс, отличался от реальноrо пароля суперпользователя ПасКоль....-у пароль отображается в ПароЛh не посылается по сети в текстоlЮМ виде. но сами передаваеМhlе фай I'/bJ не шифруются. С дрyrо&:i стороны. ес;ш в качестве TpaHCl10pтHOrO средства используется лро'1'а.....а мЬ (rsync gopt e ..Ь /elc/passwd /etc/.hndow lоlliрор:/sysШ..  обратито BHllМa- ние на одинарное пвоеточис). шифруется все соединение. но демон sshd придется сконфи rypировать ТаК. чтобы он не :JaЛрашивал па роль Воистину, мы сами выбираем свою казнь! 546 Часть 11. Робота в сеТАХ 
незашифраваНl-tOМ виле. файл ДОJlжен быть доступен JL/lЯ чтения только пользователю roOl. Наконеи, следует МQЛИфlfuировать файл /etc/rsyncd.COIlr, который сооб щает серверу rsync (принимающей стороие) о том. как себя вести. Разумная конфиryрация выrлядит примерно так: [.5ysfile.5 ] path '"" /etc secrets file :: /etc/rsyncd.secrets read onl у :: false uid :: root gid ""' root hosts allow == rJ1авный i:epBep Существует масса Дрrнх опuий, но установки по умо.Jтчанию вполне приемлемы. В данной к:онфю)'раuин все операции локализованы в каталоrе /etc. а ДОСI)'П разрешен толькО указанному узлу. Проrpамма rsync вхоДlП в дистрнбутив Red На[. ИСХОдный код (общий для всех систем) можно заrpузить с узла rsуnс.sзтЬа.оrg. Система exped: рассылка файлов по запросу Существует несколько способов реа.пиззuни CICTeMbl раССЫЛJ<:И фаЙло" по запросу. Один IfЗ ВНХ, J<:ОТОРЫЙ нам нравится н который. оказывается, полезен lf Д!1Я решения друrнх lадач. заключается в том, чтобы сделать системные файлы llоступны:\tи на uентралыlOМ сервере по протоколу FTP и осушествлять последуlOШУIO их Rыборку и инсталляцию с помошью системы expect. o Подробнее о протоколе Frp речь пойдет 6 lIарQрtJфе 22.6. Система схрес[ предстаВЛfIет собой набор расширений языка Тсl (Тооl Comrnand Langu.age  инструмеитальный команлныlt ЯЗЫК). разработанноrо Джоном Оустерхаутом fJolln Ош"tеrhOlЛ). Эти расширения ПОЗRОЛЯЮТ писать управляющие Сllснарии ЮНr НlIтераКТИRНЫХ nporpaMM. Литором системЫ ехрес! я-вляется Дон Либис (Ооп l.ibes) из НаШfOнальноrо института стандартов и технолоrий (Natiollal InstiШLе of Sншdаrds and Tecllnology. NIST). Система expect отличается от обычною языка сценариев (например, от принятоrо в большинстве интерпретатора" команд) тем. что обеспечнмет пошаrовое упривле.mе подпроцессами. Можно пронерять результат кажnой операuИlf и определять, каJ<:ИС входные данные необходимо посылать дальше. Кроме TOI"O, язык ехрес. устойчив к недружелюбным дествиям. которые способна предпринять прОf1]змма, считаюшая, что работает с реальным терминалом. Тсl сам по себе  по функшюнально полный язык сuенариев. Фор мально сuенарин схрес! являются просто еuенаРНЯМJ1 Tel. R Ji:OTOpbIX исполь lУЮТСЯ ДОПОllнителыrые команлы. с.шредсленные в расширениях f""\pect. Тем не менее JL/lЯ НЗlшсания простейших cueHaplfCIJ ехрсс. не требуется fлубокое знание SIJЫКЗ Tel. ЯЗЫJ<: Tel синтаксически прост. Большинство команд задается аналоп{чно командам CHcTCMHoro IIнтерпретатора: команда и ее арryмеJПЫ просто разделяются пробеламн. Фиryрнъrе скобки объединяют rpynповые элементы в отдельные "слова" и nОJВОЛЯЮТ прошrсвзть операторы на несколько CтpoJ<:. В качестве разделителя команд используется точка с запятой; в конне строки и перед закрывающей фиrypной скобкой разделитель не обязателен. r лова 18. Совместное I-Iспользовоние системных файлов 547 
Вот основные команды систеМЪJ expect: е spawn  запускает ПОДnJIOuесс; е send  посылает подпроuессу -входную информаuию; . expect  -выполняет действие в завИСиМОСТИ ОТ выхопной информаuии подпроuесса. Четвертая команда. interact. также может оказатьсЯ полезноЙ. еСЛJ1 нужно. чтобы система expect 8ыполни.rlа часть Зa.!lЭЧИ, а затем передала управление пользователЬСКОЙ проrpамме. Прежде чем рассматривать команды по отдельности, разберем простой пример. Следуюший сuенарий пересылетT с КОfomьютера сервер (посредством nporpaMMbl ftp) файл jetc/passwd: spBWn /usr/bin/ftp сервер whi.le 1 { ехрес!. { "Name*: 11 {зепd" клиент\ r" j "Раsзwоrd;" {send "1U1иентскийпароль\r"} "ftp> .. {break} "faled" (8enduser "Can't 10g iл.\r"; exJ..'t. 1) t.imeout (зепdusеr "Timeot problerr..\r"; eXJ..t 2) }} send "lcd let.c\r" ехрес!. "ft.p> .. (send "cd pubIsysfiles\r") expect "ftp> " (send "get pas8wd\r") ехрес!. "ftp> {send "quit\r"; зеПduзеr "\r"} exit О Последовательность выолнения- операuий здесь очевидна. РассматрИ11flе мьrЙ' сuенарий сначала запускает комаНдУ ftp сервер, а затем ожипает приrлашения на ввод имени и пароля в цикле wlll1e (базовая КОНСТРУКUЮI языка Tcl). После получения OCHOBHoro приrлашения ftp> проrpаМ\1а вЫХОДИТ из цикла while, и в проrpамму ftp подается просТая серия комзнп. Перед отправкой кажnой команды сuенарий ожидает, пока заверШJfТСJI вьmолнение предЪ1дУШей КОМ8I-ШЫ; это не cтporo обязательно, но делает пьшоп информauии очень удобным. Начальный цикл реrистраиии предназначен штя решения JIВyx проб..'lем. Вопервых, производптся проверка строки "failed" I позволяюшая выявить ситуаuию, котда удаленный компьютер отклоняет указанное имя и пароль и проrpaмма пр выводит сообшение "Login f8iled". Бовтарых, условие timeou: позволяет обнаружить с..1УЧаи, коrда в течение десяти секунд н-ичеro не происходит, -возможно, потом)', что сервер отключен. Если ВОЗНИi(ает ОДI из описанных выше ситуаuий. сuенарнй вывошrr сообщение об ошибке и завершает свое выполнение. Данный сценарий ПРСllполаrает, что ПОС!lе успешноrо входа в систему ошибок быть не может; реальные сценарии обычно включают дополнительные npоверки. Б этом примере блаrодаря uихлу while мя нескольких пересылок задается одна проuедура обработки ошибок. Есть несколько спеuиальны>: версий команды expect, предназначенных дпя решения этой проблемы боле элеrантным: способом. Команда send посылает на вход подnроиесса строку, указанную '1 качестве apryмeНТ8. Прн желании можно явно включить в эту строку СиМПО:l возврата каретки (обозначается как \r). стро....-у без пробелов и специальны\; символов не нужно брать в каВЫЧКИ. Команда send  иser аналОrи'fНil 548 Часть 11. Робото в ce.Slx 
команле send. 38 исключением тота. что строка записывается в стандартный BbIXO'nHOet поток сuенария. Б команде expect в качестве артум:ентов задаются rpуппы пар ШQ6 лон/деuствuе. Если apryмcHTЫ занимают несколько строк. как в приведенном выше примере, их следует заключать в фиI)'pныe скобки. Каждыet apr)'MCHT действие также необходимо брать в фИI)'Pные скобки. Шаблон  зто ТО, ЧТО нужно искать в выходной ИНфОрМ8UИИ команды: как только rlOямяется эта строка, иниuиируется соответствующее ей действие. Понск по шаблону осушеСТRЛяется, как правило, в соответствии с синтакси сом ннтерпретатора команд. но можно использовать н реryлЯрНЪ1е выражения Действня, указанные ЛЛЯ условий timeout и eof. запускаются COOT8eTCТ BHHO после HeKoTDporo (задаваемоrо) пеРИОllа безлействия и по достижении кониа входноrо потока. Исходный код CHCTe'l.fbI expect можно заrpvзить с узла е'\ресt.пiSl.gоv. 18.3. NIS: сетевая информационная служба Административная база данных NIS (Nelwork (nfопnаtiоп Service  сетевая IIнформационная служба) была вьптущена в свет компанией SLlП в 80x rr. Снача.lа она назьrна.'1ась StlП Yellow Pags (Желтые страниuы S[щ). но по прич'tнзм пра8080rо характера ее пришлось пере именовать. Ко",анды NIS до сих пор начинаютсЯ с префнкса ур. поскольку И!l.Нt. данное при рождеНl1И. забыть трудно. Мноrие фирмы КУПИJlI-1 У StlЛ лнпензию на зто ПР О l1>зммное обеспечение. .ПО сдепа,"IO NIS наиболее широко распространен HO системои cOBMeCTHoro .,tПО.IJЬЗОВaJfИЯ фaйJ10Н. Б начале 90x компания Sun выпуспutа новую административную СУБД: NIS+. Невзирая на сходство названий. NIS и NlS+ не скязаны дpyr с ДР}'ТО\I. Снстема NIS+ rораздо сложнее, чем NIS, м не столь популярна. Подробнее о ней рассказыиается В параrpафе 18.4. Б табл. 18.2 отражеНЬf спедения О поддеРЖJ.::е I'\JIS н NIS+ в наших тестовых системах. т облица 18 2 Помержко NIS  NIS..... в ОJ1ероционных OolcтeMO)( Система Подцерж"воет NIS? ПодqеРЖJ<воет NIS+? SоlаriБ Да Да HPUX Да Дв Red На! да Н<7 Free BSD Да Нет fдиниuеЙ COBMeCTHoro I-tспользоt!3НИЯ в NIS ЯliЛяетс.я запись. а не фюш Запись обычно COOTBeTCTBveT одноЙ' строке ,,:онфиrурационноrо ф.1.,",.'1з. rлаВНЫI1 сервер храl-Пfr анторитетные копии системных файлов. которые находятся в сооих исходных КRталоrах и имеют те,,:стоВЫЙ формат. Серверный проuесс делает содержимое :JПIХ фаЙ:ЛОR доступным по сети. Сервер 1t ero K.l1I1CHTbI образуют домен N I s.. Для повышения эффективности поиска файлы полверrаlOТСЯ предваРI TeJJLHO,", обработке подпроrpаммами хэширования (обычно это ndbm И-'11-t ее Не путайте домены NIS с ДОМСll3М11 DNS. Это два аБСО.1:IOТНО разных ПОНЯnIЯ. кО'юрыс lIe имеют МСЖНУ собо НИLIСТО общеrо r лова 18 Совместное испощ.ЗОВОНIе системных фойлов 549 
GN UЗК8ивалент gdbm) , преврашаясь 8 файлы базы данных. называемые картами. После редактирования фай '10В на rлавном сервере необ:ходимо попросить NIS преобразовать их в хэшированный формат либо с помощью проrpаммы1 make, либо посредством сценария ypmake (в завнсимости от системы). Базовые ПОДПРШ1J3ММЫ хэширования позволяют связывать с каждоЙ записью вcero один КЛЮЧ. поэтому системный файл. возможно, ПРltlIется транслировать в несколько карт N IS. Например, файл /elc/passwd преобра- зуется в две карты: passwd.byname и passwd.b)'uid. Первая прнменяется ДЛЯ поиска элементов по имени пользоваТeJJЯ. а вторая  для поиска по идентификатору. Любую из них можно НСПОЛЪЗ0вать пля ПОJIy'lения списка всех элеМентоВ файла passwd. Но хэшнруюшие ПОДПРОl1>3ММЫ не сохраняют порядок записей. поэтому нельзя воссо.шать точную коmrю исходноrо файла (если только он не был отсортирован). Служба NIS позволяет ТИрЗЖl1роваТh сетевые карты. размешая ИХ на нескольких подчиненных серверах. Использование rpуппы серверов помоraeт ослаблять наrpузку на rnавный сервер н подперживать фуlf...."llионирование ЮJИентов даже в ТОМ случае, коrда некоторые серверы непocтynны. Если на rлавном сервере файл изменился. необходимо разослать соответствуюшую NISKapтy на все подчиненные серверы. чтобы на всех серверах БЫJТИ одинаковые данные. Клиенты не различают rлавныЙ н подчиненные серверы В соответствии с традиционной рсализаuией NIS. в кажпой физи-ческой сети необходимо назначать хотя бы один сервер NIS. С uелью обнаружения серверов клиенты посылают широкоneщательные IPnaKeTbl. которые не перензпрамяются маРШРУТИJзтораМJI и шлюзами. Для нацеливания юlltенrа на конкретный сервер можно воспользоваться командой ypse(, однако ПрИ первых признаках тревоrи клиент попытается обнаружить новый сервер Пyi.ем широковешательноrо запроса Е:.сли в клиентской сети нет сервера., это может вызвать зависание машиныклиента. Solaris и Red На( позволяют избежать трааишюнноrо широковешателъноrо способа обнаружения серверов NIS. Подробнее об этом рассказывается 8 коние даниоrо параrpафа. $   Сетевые rpYnnbl Вместе с С1стемой NIS ПОЯВI-1ЛОСЬ HOB ПонsrПiе. ставшее Бскоре весьма популярным: так называемые сетевые "'рут,ы. ':)то совокупности пользовате лей. компьютеров I сетеЙ. на которые делается ссылка в системных файлах. Сетевые rpуппы определяются н файле /etc/neroup и становятся и3нестны...пr клиентам сети через NISKapтy. Формат записи файла netgroup таков: иия.  rруппы спИСQК  членов Имена членов rpynп:ы разделяются пробелами ИЛи знаками табуляUlfИ. Член rpyrmbl может, в свою очередь, предстаВJlЯТЬСЯ именем сетевой rpуппы ЮIИ трнплетом следующеrо вида: (имя  КОШ1ъютера. имя  пользователя. имя  домена  NIS) Каж;дое пустое поле в трштете  зто метаСНМВШI. Так. злемент (boul der, ,) ссылается на всех пользователей во всех .домена.\ на компьютере boulder (И1Ш на сам компьютер boulder в зависимости от контекста, в котором используется имя данной сетевой rpуппы). Знак ,' в том или ином поле 550 Чость 11. Робото в сетя)( 
свидетельствует об отрнцании. Например. элемент (bo.ulder..) о.бозначает компьютер boulder и отсутствие по.льзователей. Определения трупп MOryт быть вложенными друт в друта..... ..... Вот просто!! пример фама /etc/netgroup:  bobcat.s servers anchorclients beers allhosts (snake,.1 (headrest...) (anchor,.) (rnoet..) (piper..) Сх)(..1 (wаtпеуз..) (molson,.) (anchor..) (anchorqa.teway..1 beers bobcat.s servers Ikirk..1 ...:- anchorclient.s ..... Все эти сетевые rpулпы определены в виде совоК}пностей компьютеров. что типично для реальных условий. Сетевые rpynпы можно испо.льзовать В различных файлах. определяющих права доступа. Например, В файле /etc/exports илн В KOMal-lДe .hare (В 50Ia';.) они указывают на то.. какие компьютеры имеют прано монтировать файловые системы. Это o.eHb удобна. если файловая система экспортируется на множество компьютеров и необхо.днмо. указывать ПDЛНОСТЫо. определенные доменные имена. потому что длина записи в файле exports часта о.rpаничена 1024 символами- Вообще тваря, примененне сетевых rpynп  прекрасная идея. Их использование помоraет упростить системные файJrы: и сделать их более понятными. Они также дают возможность ввести дополнительный уровень абстракции. которыЙ позволяет для изменения статуса пользователя и:!и компьютера вносить необходимые изменения в одном файле, а не в пятнадцати. Задание nриоритетов для ИСТОЧНИКОВ административной ИНфОрМОЦИИ В большинстве систем инфо.рмацню о. конфиryраЦИI1 мо.жно распростра мять несколькими способаМJI. Обычные файлы спосо.бна о.брабатывать любая система: кроме To.ro, по.чти во всеХ системах реализована подпержка NIS и о.беспечивается возможность поиска имен ко.мпьютеров и Jlltemetaдpeco.B срепствами DNS. Поскольку для кажпоrо элемента информаиии мажет существовать несколько потенuиальных источников. поставшики систем обычно предусматривают способ задания нсточнико.в 11 порядок их о.проса. В перпонаально.й реализацни NIS некоторые конфиryраuионные файлы (В частности, /elc/passwd и /etc/group) должиы были "втятивать" В себя содержимое соответств}1ОШИХ карт NIS. Для этоrо в сами фалы помешались особые обознаеННЯ. Одинокий симво.л '+' В начале строки означал включение всей карты NIS, выражение "+@сетеваяр}'ппа" зааавало включение записей. относящихся только к указанной rpуппе. а выражение .'+имя" соответствовало отдельной записи. у этоrо подхода HllKor.na не было MHoro староннико.в, поэтому в большинстве систем был введен uентр(U1ЬНЫЙ конфиryрационный файл /etc/nsswitch.conf, по.ЗВОЛЯЮЩliЙ ДЛЯ каждоrо типа административна ннфор мации указывать явный путь по.иска. ТИПИЧ1-lыet файл nsswitch.conf выrлядит слелуюшим образом: passwd: hosts: qroup: files nis files dns files r лово. 18 Совместно.е ",сnо.льзо.ВQние системных файлав 551 
КаЖllая строка описыаетт отдельн-ыet тип информации (обычно это эквивалеНТ onиoro текстовото файла). Возможные константы источникоо таковЫ: nlS , nlsplus, flles, di15 и compat. Им соответствуют (В порядке перечисления) следуюшие источники: NIS. NIS+. оБЬNные текстовые файлы (без учеоа спеЦ1lальных обозначений наподобие ''), DNS и оБъ1чныe фаЙЛЫ системы NIS. DNS предоставляет информацию только об узлах. Источники просматриваются слева направо, пока один из них не выдаст ответ на запрос. В случае ПОКRЗaнноrо выше лрпмера фyнкuия gethostbynameO сначала лроверит файл /ete/hosts, и если Т]Jебуемый узел там не будет У"азан, обратится к DNS. В лроиессе обработки залросов, касаюшихся UNIXrpYf1n. б1!ет проверяться только файл /etc/group. При необходимости можно явно ухазать, как следует l1оступать при получении отрицателъноrо ответа на запрос от TorQ ию" иноrо иСТОЧНlIка. Например, строка h05ts: anз [NOTFOUND""ret.urr.j nisplu5 заставляет получать информацию ТО",1:око от DNS, если эта система доступна. Получение ОТРИU8теш.ноrо ответа от сервера имен приведет к немедленному завершению запроса (с выдачей кода ошибки), и обращения к NIS+ не произоА:дет. Однако служба NIS""" бупет задействована, если все серверы имен окажутся недос1УТ1НЫМИ. В табл. 18.3 перечислены различные условия проверки ошибок Каждое иj них может бъrrъ за.пано равным return или continue. что означает соответственно прерыванне запроса или переход к следующему источнику. Табл....ца 18.3. УcrlОви провери ошибок в фоиле /etc/nsswitch.conf с.. ы с:, Условие. UNAVAIL NOTFOUND TRYAGAIN SUCCESS ИСТОЧНИК не существует или недоступен Исто'iКИК существует, но не может ответить на запрос Источник существует, но занят Источник ct.4or отмепrrь на запрос ; В каталоre /etc обычно сопержится нескопько образUОR файла nsswitch.conr (15/etc/nss*). Прежnе чем создавать собственный файл, проверьте. не подоидет ли ОДИJ-I из имеюшихся варшl.НТОВ. FreeBSD еше не П01lдерживает концепuию централъноro файла "пере ключения сервнсов". Приоритет нсточников данных при поиске узлов может быть задан 8 файле /etcjhost.conf, который является самодокyr..lентируемым. спеuиалы-lеe обозначеI01Я NIS должны включаться в файлы pass"'d и group Ш1Я импорта удаленных карт. Лополннте.льную информаштю можно получить в разделе 5 интерактивной док}ментаuии по этим файлам. Преимущества и недостатки NIS у системы NIS есть опна хорошая черта: e MOryr понять npoLIblt' смертные. Работает она ана.тюrично схеме копнрования фаЙлов. В болъшин стне случаев администраторам не ну'..кно ничеrо знать о внутренних формата.х данных NIS. Администрирование осуществляется с поt.юшью привычных текстовых файлов. и ДОПО..lнительно требуется и3yчl1ть 8cero олнудве новые проuелуры. 552 Чость 11. Робото в сетяlo: 
Поскольку механизма обьепинения доменов в системе N[S ие существует, ОНВ rодится Д}1я управления крупной сетью ТолЬКО при условии, что каждый ВХОДЯЩИЙ в сеть компьютер имеет одну и ту же конфиrypauию. Можно р83llе.лить большую сеть на несколько NISдоменов. но Torдa каЖдЫЙ из них должен 8.lIМИН1fстрироваться отдельно. Если подчииенный сервер 8 момент изменениЯ карты не работает юти неДОC1)'llен, нахОдЯшаяся на нем копия откорректирована не будет. По.nчи ненные серверы должны пеРИОlIИЧески опрашивать rЛ8ВНЫЙ сервер. чтобы иметь самую последнюю версию всех карт. Хотя 8 NIS есть базовые средства, позволяюшие это делать, требуемую схему опроса нужно реализовывать с помоЩЬЮ деМона cron. Но даже в этом случае существует вероятность Toro. что две разные версии одной карты в течение иекотороrо времени будyi обслуживаться одновременно. При этом клиенты, получая досl)'П к различ ным подчиненным серверам, будyr попеременно видеть то одну, то друrую версию. o Более подробная инфор.мацuя о демоне croп содержится в zлаве 9. Система N IS не безопасна. Л юбой компьютер сети может выступить в роли сервера пли Toro Иj'и иноrо домена и распространить среllИ N ISклиентов ложные администратwвные данные. Любой человек может прочесть NISKapTbI и попытаться расшифровать парали с помошью проrpаммывзломшиха, если в системе есть плохо зашишенные учетные записи. Некоторые серверы NIS пытаются повысить безопасность пвролей. запрешая доступ к карте теиевых паралей из непривилеrированных портов. Это блаrородная мера, но она Я13Jlяется очень С-'lабым способом заШИТЫ Те. KOro волнуют проблемы безопасности. не должны I-IСПОЛЪЗОватъ NIS. Схема работы NIS Файлы даннЫХ NIS (8 часто и некоторые команды этой системы) содержатся в одном каталоrе, обычно /,,'ar/yp. Палее мы будем Н8зьmать ero "'NISК8талоrом" Все NISKapтbJ хранятся в хэшированном виде 8 по.дхата лоrе NISKaTaI10ra. соотвеТСТВ}1Ошем домену NIS. Точные имена и число карт зависят от применяемой подпроrpаммы хэширования. Например, в домене С550П5 MOryr быть слеJIYIOшие пdЬmфайлы JIЛЯ карт файла /elc/p.5swd: /var /yp/cssuns/pa.sswd. bynarne. dlr /var/ ур/ CSSUn5/passwd. Ьупа.те. ра.ч /var /ур/ cssuns/passwd. byuid _ di r /var /yp/cssuns/passwd. byu1d. рач Помните, что ЛЛЯ каждоrо поля, по которому можно произвести поиск В файле, должна быть создана отдельная карта. Поиск в файле passwd осушествляется по имени и по идентификатору, поэтому из Hero получаются две карты (четыре файла в случае проrpзммы ndbm). Команда makedbm создает NISKapты из обычъ!хx файлов. Ее нИКОrna не нужно вызывать непосредственно. В большинстве систем файл I\takefile в NISкаталоre сконфиrурирован так, чтобы автоматически rеиерировзть все распространенные NISKapTbI. после модификаиии систем:ноrо файла перей дите .в NISкаталоr и заnyстите проrpaмму make. Она сверит лрем" мо'nификаUIfИ каждОI'О фаЙла с пре"-tенеt,,1 моднфикаШfИ карт. ПОJТу'енных из Hero, и ВЫПOJIНит команду makedbm МЯ каждой карты, которую необхопимо перестроить. rЛQSО 18 Совместное иСПОЛloзовоние системных фойлов 553 
[Ьр] в HPUX вместо протраммы make использ)етСJI команда "pm.uke_ Копирование карт с rлавноro сервера иа подчиненные осушеСТВJlяется с ПОМОЩЬЮ комаНдЫ ypxfr. Данная команда работает по принцип)' запроса; Ш1Я тoro чтобы ОНа импортировала карты. ее нужно запускать на каждом ПОllчиненНОМ сервере. Подчиненные серверы время от времени выполняют комаНlIУ ypxrr. с тем чтобы проверитъ. последние ли версии карт находЯТСЯ в их распоряжении. Посредством демона cron МОЖНО управлять перИОПI-IЧI-Ю стью этих проверок- Станnарrnая реалиЗ8LIИЯ ме\:8НИ3М8 коm1роtk1ИИЯ карт не очень эффеКТJ1вна. поэтому 8 большинстве систем сушествует пемон ypxfrd, выllлняюшийсяя на rлавном сервере JD1Я ускорения ответов на запросы команды ypxrr. ЭтОТ демон работает в обход cтaндapTHoro протокола NIS и просто рассылает копии файлов карт. К сожалению. 8 разных системах карты хранятся в разных форматах и имеют неонинаковый порядок сЛедО8ilНl'lЯ байтов, поэтомv применеНFIе демона ypxfrd чревато возникновением их нес.опместимQCТИ. Команда yppush используется на rлзвном сервере. Она. по суп'!. не пересылает никаких данных. а просто застав,1яет каждый подчиненныЙ сервер выполнить КОfанду ypxrr. Команда yppush залается в файле Makefile. находящемся в N ISкаталоre. и обеспечнн.аст принудительную рассылку откорректированных карт на подчиненные серверы. Есть спеuиальная карта ypsen'ers. которая не соответствует ни ОдНому обычному файлу. Она содержят список всех серверов данноrо домена и строится автоматически при ero конфиryрировании посредством проrpaммы ypinit (о ней будет рассказано далее). Содержимое этой карты изучается всш..--ий раз, Korna rлавному серверу нужно разослать карты на вспомоrательные серверы. После начальноrо конфшурирования аt..'ТИвными компонента..ПI системЫ NIS остаются лишь neMOllbl ypsen и )'pbind. Первый работает только H сериерах (и rлавном, и ПОДЧШIСННЫХ); он принимает запросы от клиеllТОВ 11 отвечает На них. осушестliЛЯЯ понск информацюt в хэшфайлах карт. Демон ypыnd работает на всех компьютерах NISломеllа. включая сервс:ры. Функuии библиотеки языка С обрашаlOТСЯ к ЛОК1ЬНОМУ демону ypЫnd ПСЯКИJ1 раз.. коrда им ну..кно ответить на административный 1апрос (при }'с.iТОПИИ, 'по это разрешено файлом /etc/nsswitch.conf). Демон ypbind нахонит в соотвеТСТВ}1Ошем помене демон ypserv и возврашает сведения о нем бибJJИО течной Функuии, которая затем обращается непосредственно ксеряер}'. МехаНИ1М обработкн запроса 11зображен на рис. Д. Сторона t(1Iивнто Сторона сервера 1:"::.ааЯ ypbInd t I uetpwUld I Сибиблиотеl(а  Файловая систеМiI j Рис. А. Процедуро оброботки зопросов Б системе NIS 554 Чость 11 Роботе в сетях 1 
Найдя сервер. демон ypbind будет попъ.зоваться ИМ при ответе на все запросы до тех пор. пока сервер Не отключится или пока не возникнет какаяIOIбудь проблема со связью. Демон ypbind на сервере не предоставляет себе никаких льrоТ. поэтому серверы не обязательно обрашаются к самим себе. При некоторы)о; обстоятельствах (например. KorHa все серверы. кроме 01IНoro. одновременно перезаrpу:жаются) клиенты MOryr "закрепиться" на одном серисре FI отказаться уйти с Hero даже после Toro. как cTaнyr доступны остальные серверы. Это значительно уменьшает быстродействне системы. Б NIS есть ря.n. 8спомоrательных команд. которые используются пля изучения карт. определения версий карт, исполь-зуемых каждым сервером. и упрамения при вязкой клиентов к серверам. Полный перечень команл и демонов NIS дан 8 табл. 18.4. Таблица 18.4. Комонды t'I демоны ClJlcтeMbl NIS neMOJ-l сервера NIS. залускается во время начальной эаrpузки ДемOIi клиента NIS. запускается во время начальной заrpузки Задаст домеJ-l NIS. в который входит ДВJ-IНЫЙ компьютер (выполняется во вреМJI начальной зa.rpузки) Заrpужает текущую версию карты с rлавнoro сервера Обслуживает залросы. поступающие от команды ypxfr (работает на l.лаВJ-IОМ сервере) ЗастаR.J1Яет подчиненный сервер оБJ-lОВИТЪ свою версшо карты Со:шает хэшированную карту из оБЫЧНОI.О файла ОбноWUlет хэширован.ные карты для тех файлов, которые измеНЮlI1СЬ Конфиl)IpИРУет компьютер как rnавн:ыА или подчиненный сервер ЗасПLR.J1Яет демон урЬiпd установИTh соедимекис с конкретным ceplК' ром Олределяет. с каким сервером работает текущий коыл.ьютер Определяет. какую верСI1Ю карты испоя.ьзует сервер Выводит Н8 экран значения, содержашиеся tI NISкapTe Выводит на экран элсмсю-ы карты, COOТBeTCТВyIOJJ..U.IC ЗсlД8.ННОМУ ключу Изменяет пвpo1IЪ нв rлавном сервере NIS Изменяет информаuию GECOS на rnaвHoJ.1 сервере NIS Меняет реrистраuионный ИJi1"eplIре'Татор кома1-Ш на rлавном сервере NIS yppU!lo'Wdd Сервер для KOMIiН.д yppasswd, урсlWJ н ypcbfn ypupd.atcd l Сервер для обиовлении NISкapT (им упраR.J1Яет демон iпеtd) I Исполъзуется не во всех системах. Команда ypsеП' ypbiDd domainname ypxfr ypxfrd урршЬ makedbm ypmake l yploil ypsel ypwbicb урроО урсай ypmatcb yppU!lo'Wd урсЫ. урсь..ь Оп....саН...е .. Создание NISAoмeHa Слу;кбу NIS следует ННИUИlli1изировать на rлаином сервере, на ПОЛ'lинен ных серверах и на всех клиентах. эта работа выполняется в два этапа Вопервых. необходимо заrтyсПffЬ ПJIOrp3мr-..ty ypillit на каждом сервере. 555 fлово 18. Совместное ,СПОПЬЗ0вание системных фойлов 
Boвтopыx. на кажnом компьютере домена нужно JMSTb доменное имя в одном из системных стартовых сценариев и сконфиryрировать файл /etc/nsswltch.conr на импорт данных NIS. Конфнryрнрсванне серверов NIS Для инициализации rлавноrо н подч.иненных серверов домена r1ре.дна значена проrpамма yplnlt. На rлавном сервере используются слеЛУlOшие команды": . cd /var/yp /'" NIS;t(а'l'алоl' '" / .. domalnname ,l:tOloteH /* ИIoIЯ HOBOI'O доlotена .. / . yplnlt ID 1- мницv.али.за.Ш1Я I'ла.8ноI'о сервера -/ ,. yp..rv /- за.пусх cepBepl!l NIS '*/ Флаr т указывает nporpSMMe ypinlt на то, что она конфитурирует r.'rавный сервер. Проrpамма сама предложит ввести список подчиненнbl."< серверов. После запуска rлавноrо сервера необходимо инициа..1изировать каЖllЫ" подчиненный сервер, для чето запускается nporpaWda ypinit с флатом s: . cd /var/yp f ypinl t . rлаsный сераер .. yp..rv Команда ypinit -5 создает локалъную копию теКУllПfХ данных тлавноrо сервера. Наличия файлов данных для какоrолибо домена достаточно для Toro, чтобы демон ypsen, знал о необходимости обслуживать этот домен. На каждом подчиненном сервере нужно задать сrопtаЬэлементы, которые запрашивают свежие коmrи всех карт с r'IaBHOro сервера Команда ypx:fr корта (тде карта  имя наподобие pass\II'd.b)"uid) запраШlIнает указанную KёlPTY с rлавноrо сервера. Эта команда 8ыпо.чняется по одому разу для кзжд.о" карты. Карты, как Правило. изменяются не одновремеюlO, И если пропускнм способность сети оrpаничена. одни карты потребуется пересылать чаше. че\l дрyrnе. В большинстве случаев речь может идти о пересылке всех карт не более одоrодвух раз в день (лучше поздно вечером). Следующий сценарий орraниэует лересылку всех карт: '! /bin/csh ! set. mуdоmаiл ;о ./usr/Ып/dоmаiлпаrnе" cd /var/yp/$mydoma.in . tаSl(а'l'алоI' foreach тар l' /bin/ls') /usr/lib/yp/ypxfr Smap ело в некоторых системах используются rOToBble сuенаРШI ypxrrIpcrday. ypxrr2perday 11 :ypxrr]perhour. которые пересылаlOТ IsKapты с различной частотой. Мноrие системы, поддерживаюшие службу NIS. на этапе На'lальноЙ заrpузки проneряют. является ли .nанный компьютер сервером NIS, и, если ЭТО так, аВТОМ8тически запускают демон ypserv. В остальных системах демон нужно запускать вручную. Подробнее об этом мы расскажем далее. Если нужно предоставить пользователям возможность изменять (80't пароли посре'nСТ80М проrpаммы )'Ppasswd, на rлавном сервере NIS следует запустить демон )-ppa.sswdd. Комаtшы N 15, такие как ypinit и урБсп. обычно ПРЯ'l}т в ttcСТ8tщартных каталОI"'8.Х. 8ОСПОЛЪЗО8аВШИСЬ документацией. ВЫЯСI-lИТе, rll.C: иахо.д.ятся ЭПI комаНдЫ в вашей CIICТC'Me. 556 Чоса, 11. Рабато в ceтwx 
0' + p]  Конфиryр"ровонне клиенто. NIS После конфиryрироваIOlЯ серверов необхOlП1МО лропнформировать всех клиентов о том, что ОНИ ста..тrи члеН8М'И HOВOro домена. Серверы JIOMeHa, квк правило. ЯВЛЯЮТСЯ одновраменно и клиентами. Команда domBlnBBme задвет NIS.!!oMeH, которому принвдлежит двнный компьютер. Обычно ее вьmолюnoт в ОДНОМ из стартовых спенариев на этапе начальной заrpyзхи; детали подобноrо проuессв зависят ОТ системы (см. Ю1Же). Сведения о системных стартовых сценариях .можно найти в l.ЛйfJе 2. Кажлы.й клиент должен иметь, по крайней мере, ЛИЧНЫе версии файлов passwd, group и hosts в минимальной конфиryраuии. Первые два необходимы для тoro. чтобы супеРПОЛЬ30В8rель Mor ВОЙТИ в систему при оrcyn::твии сервера NlS. ОНИ ДОЛЖНЫ содержать описания стандартных снстемных учетных записей и трупп: root, Ып. dBemon, wheel и т..п. Файл hosts нужен как источНИК пнфорМ8UИИ на этапе нач8ЛЪНОЙ заrpузки, пока служба NIS не начала работать. Особенности NIS в различных операционных системах в Solaris нмя .!!омена NlS должно быть ломешено в файл /etc/defaultdo main. Спенарий /etc/init.d/inetinlt залрашивает этот файл лри залуске системы и. если таковой существует. выполняет команду domainname, передавая ей содержимое файла в качестве единственноrо aprYMeнra. В процессе начальной заrpузки сценарий ypstart обнаруживает. что имя домена установлено, и запускает демоны ypыnd и ypserv. На rлавном сервере автоматическИ залускаются также демоНЫ YPPBsswdd и ypxfrd. Чтобы запретить демону ypыnd осушествлять широковещательный поиск серверов NIS, выполните на каждОМ клиентскоМ компьютере комаНдУ ypinit -с и задайте имена серверов, с которыми должен работать каждый клиент. nЛя Toro чтобы изменения вcтynили в силу. нужно уничтожить демон ypblnd и запустить ero повторно без опuии broadcast (или перезarpузиться). Имена серверов должны присутствовать в файле /etc/hosts, лишь при лом условии ОНИ MOryт быть распознаны до тата, Как произойдет запуск NIS. В HPUX конфиryраuионная информаuия системы NIS хранится в файле /etc/rc.config.d/namesvrs. На КЛl1ентских компьютерах переменная NIS OO MAIN дОЛЖНа содержать ИМЯ домена NIS, а переменная NIS CLIENT доЛжна равняться единиuе. На серверах нужно также- переменную NIS MASTER SER VER или NIS SLAVE SERVER (но не обе) установить равНОй 1. Демоны yppasswdd И ypXfrd автомзтнчес1СИ запускаются на rлавных серверах. В Red Hat ИМЯ домена NIS задаеТСЯ в переменной NISDOMAIN в файле /etc/sysconfigjnetwork. Запуск демонов ypbind. ypserv и yppasswdd включается и отключается с помоШhЮ комаНДЫ chkconfig: , chkconf'lg ypbind оп Демон ypbind можно заставить работать с конкретным сервером NIS (не используя широковешательный поиск). ПоместИВ следующую строку в файл /etc/yp.conf: ypserver ИЫR  сервера Эта строка должна быть единственной в ланном файле. Указанное ИМЯ сервера должно присyrСТ80НЗТЬ в файле /etc/hosts. r 11080 1 В. Совместное использовоние системных фойлов 557 
 Во FreeBSD имя домена NIS содержится в переменной nisdоmаlnпа:n в файле jelcjrc.conr. Налример: пiзdоmа ппате" сз.s апз" Для запуска демонов ypbilld. ypserv и )'ppasswdd необходимо задать значения перемснных nisclientenable, nisserverenable и nis yppasswdd епаЫе равными YES. Файлы /etc/passwd и /etcJgroup ЛОЛЖНЫ содержать спеuиальную '-'Iетку '+', если требуется использовать службу NIS в качестве источника информ.шии 18..4. NIS+: потомок NIS Система NIS+ предназначена для yc-траненнЯ' недостатков NIS. Ol-l работает с большими компьютерными сетями и имеет встроенные средства зашJПЫ. Эта система позволяет упрамять rpуппами доменов из любой ТОЧКИ сети, а также эффективно рассылает обновлеЮiЯ. Кроме тота, она ЯВЛЯеТСSJ распрепеленной базой данных В обшем, naнная система полозриI'слыio хороша, чтобы сушеСТ80вать на самом деле. ХОТЯ серверы NlS+ MOryr обслуживать клиентов NIS (с некоторым снижением уровня безопасности). '\JIS+  совершенно лрyrая система, у которой нет общеro с NIS кода. Она поддерживается некоторыми крупными поставшиками ОС (например. HPUX), но вследствие своей сложности не &холит ни в одну из бесплатных операционнъrx систем. NIS+  это хороший пример тато, что Фредерик БруксмладШ1lЙ (Frederick Р. Brooks. .Ir.) в своей класCJ!ЧССКО" книrе Тl1e Af)'117ica/ AfaпAfOnl'1 ('.M-ифическ!Й чеЛОНс;:комесяu"). посвященной теХIlОЛОrиям разработки про rpaMMHoro обеспечения, наЗНЗJl "эффе",'Том второй системы". Эта система пытается пробиться к польювателям на волне успеха своей преLlшественниuы. избеrая всех ошибок и ловушек предыдушей концепuии. Ра.:зрабоТ1.JИКИ уделили существенное внимание ее формальной архите"'-туре. Теоретическн система должна получиться совершенной. На ПРВJ..'Тике же она не)'1UlЮжа, тяжеловесна и находится несколько в стороне от повседневно" жизни. Нам расска.:зaJТИ. что паже в самой компании Suп ею не пользуются. Между NIS и NIS+ имеется несколько сушественных разли. Система доменов N 15+ обладает иерархической струт...-турон в мпсштабе орrаШf12UИИ. подобно DNS Как и в С!1)'чае нсnользоиания NIS. на компьютеры кС!ждоrо домена рассылается ДМИНlIстраТl-lI3Н<!Я информаlJИЯ разлI1 1 Iных Н1IДОВ. С целью делеПlрования адМИНllстраТИВllЫХ ПОЛНОМОЧlllt домены МОЖIIО дeтtТь На ПОдllомеllЫ Кажпы" I<омпыотер ОТНООiТСЯ к одному домену. но домены oryт обращаться к данным дpyr дрyrз. ЧТО П031юляет компьютерам получать информаuию 113 несколькнх доменон. NIS+ больше похожа на базу даиных. чем NIS, и позволяет осушествлять ПОиск н картах (которые здесь называют таблицами) 110 любому полю. Блаrодзря этому устраняется необходимость в ведении для каждото системноrо файла нео.:ОЛЬКltХ карт. В NIS+ каждый фай'l трактуется как одна табтнUI. В ОТ..'lичие от NIS. в N15+ не используются обычные файлы. Можно переслать в NIS+ данные 1-1) UNIХфаkl1 (ИЛИ NISl<apTbI). но после :ното служба NIS+ б'дет считаться авторитетным ИСТОЧI-1JКОМ переданной ей информаuии. При послед}'юшем измеНСI-IJtи файла система не стаНет оБНО8J1ЯТЬ С80Ю копию этоrо файла звтаматичеСКJ1  для внеССЮIЯ 558 Часть 11. Робото в сетях 
изменени" следует пользоваться комаНдОЙ, которая редактирует инфор маuшо непосредственно в таблицах N 15+. NIS+ rораздо эффективнее NIS в rшане упраи.nения ПОПЧИJ-{енными серверами, которые н NIS+ называют реrrnи-ками. Пересьmается только информаuия о ПОСЛСШIИХ изменениях, а удобная схема реrистраuии позволяет обнаружить реnлиuированкые серверы, которые вступают в контакт (Wlи прекрашают таковой) с rлавкым сервером. rлавнblЙ сервер может переслать серверуреплике всю свою базу данных N IS+, если посчитает, что реПJrnКа слишком устарела ДЛЯ пошаroвото обновления. Служб. N I S + лостроен. на базе системы SlIП Sесш" RPC. котора., помимо станпартной аyrеtfТ1fфихацпи. обеспечивает аyrентификаuию на основе шифроваl.mя с открытым КЛЮЧОм_ Серверы NIS+ можно настроить так, чтобы они либо требовали кпентификanионную информаuию в зашифрованном виде. либо с..Т"lеповали обычным правилам UNIX Как и обычный файл. каждый объект NIS+ (таБJlица. столбеu. запись) имеет владельца и rpуппу. Права поступа к объекту устанавливаются отделъно для владельца, rpуппы и прочих полъзователе'Й. Те, кто не имеет своих идентификаторов (налример, клиенты NIS), MOryr лолyчmъ достул с правами пользователя nobody. "Принuипалами" системы Secure RPC (объектами. которые MOryт предъявлять свои и.дентифlfкащIoнныe дaH ные) MOryr быть и пользователи, и компьютеры. При обращении 1( NIS+ от имени пользователя root вместо haIO-lЫХ супеРПОЛЬЗ0вателя применя ются данн:ые самото компьютера. С точки зрения ЮJиенrа служба NIS+ выrлядит почти так же, как и любая друтая административная СУБД_ Доступ к большинству паННых осушести.nяется посредством тех же библиотечных фyнкuий. и сложный мир доменов, таблиц, прав ПОСryтIа и путей поиска в конечном итоre сводится к обычным UN IХфайлам. NIS+ не имсе1 никакоrо отношения к DNS, за исключением Toro, что они применяют оnинаковую схему именования. DNS и NIS+ используют имена. обратные nyreBLIM именам в файловой системе: читая имя слева направо. продвиrаешься по направлению к корню иерархнчеСkоrо перева. Например. cs.colorad.o.edll  ЯВJ1Яется ПОДllOменом домена colorado.edu. KOM пьютер в этом помене может иметь имя anchor.cs_colorado.edu. В соотвеТСТ81fИ с соrлащенисм, корень иерархии NIS+ называется так же, как и DNSдомен верхнето уровня ДЛЯ нанной орrанизации. Если. скажем, DNSпомсн имеет имя xor.com. то корневой домен NIS+ тоже будет на:зьrваться хое.сот, а markering.xor.com бупет. к примеру, ПОдПоменом для отдела маркстинr.а. Поскольку DNS и NIS+ не взаимодействуют, риск от использования одинаковых имН сведен к нулю. Формально NIS+ не поддерживает конuеПШIЮ поменов и никому ее не навязывает. В этоi системе просто пре.nлаrаеrся баЗО8ЫИ метод постораения иерархии каталOl.ОВ N IS+. СОЗДЗЮIЯ В ЭТИХ каталоrа;х разных табпиu 11 привя-зки часп:й этой иерархии к раЗJП1ЧНЫМ rлавным серверам. Соrласно соrлашению. "домен" в NIS+  это каТз-rrоr, который содержит ПQЛкаталОПf orgdil"" и groupsdil"". Административные данные этоrо домена помешаются 8 таБIrnUЫ. на..ходящиеся в Подкаталоrе orx....dil"". а идентификационные данные "прннципз-rrов" NIS+ определяются в flодкаталоrе groupsdir. Теорети-чески в обоих названных подкаталоrа.х MOryr быть дрyrие ПОДК8rз-rrопt, но обычно этоrо избеraют. r nOBO 18. Совместное ИСПОnloзование систеМI1ЫХ фо':;пов 559 
Например, orLdir.markettng.xor.com  это имя каталоrа, солержз.шrо системные таблиuы домена mBrkering.xor.com. В плане ситаксиса обрашение к таблицам производится как к К8талоraм: строка hosrs.01'idir.markel ing..xor.com обозначает эквивалеНi файла /etc/hosts пл.я дакното домена в NIS+. При обрашеНЮI " элемеиту табmшы ислользустся друтой синтаксис (.зп:ссь он не рассматривается). Наше мнение относительно NIS+ таково: по возможности следует избеrать этой системы. Она, конечно. функционирует норма.ттьно, но то же самое МОЖJ-IО сказать и о более простых ее альтернативах. Естественно, \1Ы противники ТОТ8Льноrо отриuания; просто мы считае\ll, что нет особых причин, по которым предпоtпение следовало бы отлавать именно NIS. 18.5. LDAP: упрощенный протокол доступа к каталоrам Орrанизаu-иям, использующим UNIX, необходим належный способ pac пространения своих anмиНИСЧJ8ТИВНЫХ даюrых. Но пробле\.lВ в действитель ности более rлобsлънв. Как быть с нездминистраmвными pecypcaMJ.I. например с телефоном и каталоraми электронной почты'.' Как коитролирояать информацию, которую нужно предоставить внешнему миру? Решение устраивающее всех, заключаеТСЯ в УНИФИШlровании службы ката.ттотов. Служба каталоrов  это просто база данных. но такая. в которой сделан ряд дополнительных предположений. Любои набор данных с характеристи ками, соответстнуюшпмн 3тИ'{ преДТlО:'10женипм. становится канлипаТО\1 на включение в базу naнных. Основные предположеНИIJ такоВЫ: информаuионные объекты относитеьно невеjJИКИ: ба.:за данных будет реплиuироваться и КЭШltроваться на множестве компьютеров; у ИНфОр1l.IаШ1И есть атрибуты: . данные извлекаются часто, но заПИСЫваются редко: операuии поиска выПОЛ1-ШЮТСЯ очень часто. ТеJ..)I1llая станпартная система. предложенная орrаНИЗiduиеf.l I ETF дпя этих uелеf.l. нюывается LDAP (LlgIHweighL Directory Accec;:s Protocol  ПlрошеНIIЫЙ протокол лоступ К Kara.rroraM). В спеUИфИК8UИЯХ LDAP rОБОРИТСЯ не о саман базе Д3Hнъrx, 8 лишь О том, как ПОЛ}'\ПtТЪ к неЙ доступ по сети. В то же время зап.аны схемы орraНН.lапин .данных и осушеСlвлеНIIЯ поиска. т.е. подразумевается достаточно четкая модель данных. История LDAP едяа ли напоминает красивую СК.НКУ. Она ведет свое начвло от мопели OSI  мертворожленноrо семейства сетевых npoтoK0.'lOH. ошибочно ПРИНJlтоrо в качестве междунаролноrо станларта в середине 80x п. Молель OSI 8 ислОМ потерпела крах. но отлельные ее протоколы получили шанс на "заrpобную жизнь". будучи включенными в "мyrироваяшем" ВИде в стек ТСРjlР. Одним из них был протокол сетевото уттравлеНШI CMIP (Common Мапзgетеп( Infопnаtюn ProlOcol  протокол обшей упраВlIяюшей .,нформаuии); за ним слеДОR3.fJ IOДP. Изнача.:тъно LDAP был задуман как простои llUlЮl0ВЫЙ протоко.1, который позволяn Бы I01иентам TCP/IP взаИJ\юдеЙСТВОElать с ссрнсрами каталотов Х.500, работаЮШИ1\-1И в ОSIспстемах. Со Bpe\feHeM СТ3. 1 1О ОLJеВИДIЮ. ЧТО стандарт KSOO умирает 1{ в UNLX неоБХО!IИма какаято стандартная слркба K8Ta.rrorOB. Все это привело J.. тому. Что ИJ LDJ\P ПОЛУЧllлась совершенно С3\tостоятеЛЬНая, полноиенная система )правления каталоraмJt (ВО]МОЖIIO. б)l1o..'В3 L в названии стонт неlзслу'..кенн01. 560 Часть 11 Робота 8 ceTX 
Нв время работы над книтой процесс разработки все еще нахо1IИЛСЯ в лромежyrочной CТ81lИи. Наиболее распространенной версией LDAP lIRЛяется версия 2, rдe не.постает множества элементов. которые ЧОJyI" потребоваться в будущем для тоro, чтобы СДМаТЬ LDAP такой же функuиональной и надежной системой, квк, скажем. DNS. Даже версия 3, еше не принятая в качестве стандарта, имеет ряд значительных недостатков. Если не считать некоторых специфических областей примеисния (телефонные книrи в 1 nrerncr, конфиryрирование псеВдОНИМОВ !lendmall, определенные справочные службы), реа.ттьное распространение протокола LDAP все еше оrpаничено. К сожалению, протокол LDAP успел стать удобной мишенью для всякоrо рода спекуляuий. Подобно технолоrии Java в середине 90x "., нв тему LDAP было выпушено слишком мното прессреJrn:ЗОВ, звучв..Т'lи клятвенные заверения в подаержкс и любви до rpоба. но в результате поJJyЧWJОСЪ СЛИШКОМ мало nporpaMMHoro кода. А пока нам остается сидеть на берету моря, наслаждаться восходом и ждать ПОЯВJIСНИЯ прекрасной Венеры. Трудно предсказать, будет ли от развития протокола LDAP реальная помошь СИС1'емным администраторам. Протокол еще не cyмe.тt найти свою нишу. Мы советуем нзбрать тахтику "внимательноrо наблюдения". Документация и спецификации LDAP В настояшее вре\1Я наилучшю.t введением в LDAP является брошюра Understunding LDAP. написанная ХайНllОМ Йонером еНеiлz Johner) С coaBTO рами для межпународной службы технической поддержки компании 1 ВМ. Ее можно заrpузить в формате PDF на узле www.redbooks.ibm.com. Части. касаюшиеся библиотек функций языка С, можно проиrнорировать; все остальное  полезНая информация штя систеыных 8.ф.fинистраторов. Сушествует множество документов RFC, посвященных протоколу LDAP. Важнейшие из НИХ перечислены в табл. 18.5. Мноrие упомянуrые зпесь документы относятся к версии 3 протокола: у них есть эквиваленты и JIJlЯ версии 2. Кик видно из на.:званиfi документов, большинство объектов и транзакuий LDAP может быть представлена в текстовом виде, что является одной из наиболее приятных особенносп:й протокола. Можно леrко reнери ровать заПрОСbl из сuенария или орraнизовывать ШЛЮЗЫ к пр'ПfМ протоколам, 8 частности к HlТP. То6лlo'lЦО 18 .5 Документы RF C, ПОС8ящеf-iные протоколу LDAP RFC Название 1777 LJghfwel.ght Directory Ассeзs Protocol (у2) 2251 Ughtweight Directory Access ProtoooI (vЗ) 2252 LDAPv3: Attribut Sупrax Dеfшitiоns 2253 LD..t\P\'3: UTF8 String Rсрrcseпtаt.iоп оС Dist.iлguished Names 2254 1l1e Stлng Rерresепtаtiоп of LDAP Search Filtcrs 2255 Tho ШАР URL Forma! 2256 А Summary оС !Ье Х.500 Uscr Schema for Usc with LDAPv] 2307 Ал Аррrоиch for UsШg LDAP as а Network lnformation Service rЛО80 18 Совместное ИСПОЛЬ'30воние системных фаилов 561 
o в документе RFC2307 предnаrаются способы ПрИВЛ3КИ тралиuионны>.. дЛЯ UN lX наборов данных, в ТОМ числе файлов passwd и group. 1( пространству имен LDAP. этот документ НОСИТ пометку "экспериментальный". что я:апяется нarлядным свидетельством Tora, сколь далеки мы от момента. коrла протокол LDAP станеТ реальной заменой такиМ системам. как NIS и NIS+. Проктическое применение протокола LDAP Протокол ШАР был реа.rrизован университетом uлата Мичиrан. кш.та нией Netscape и РЯдОМ пруrих орrанизаuий Лучшее нз COBpeCHHЫX решений  СИСТt:ма OpenLDAP Ее реализацией Зatffiмается rpуnла Ореп LDAP (WW\v.openldap.org), которая унаследовала КОЛ мичиraнскоrо универси тета. К середине 2000 Т. Почти не бьшо локумеНТ3llИИ. посвященной работе с OpenLDAP. Краткое рУКОВОДСТВО, имеюшееся на WebY3.ile. поможет кнстamrировзть и запустить систему, 1-10 в нем нет информаЦИJi о том, как ее настраивать или отлаживать. Об использовании LDAP в систе,ме seпdпrail рuсскuзывается в пuраёрUфе /9.4. В nистрибyrИl! OpenLDAP входит стандартный сервсрный лемон slapd. а также демон slapnl, управляюший реn'П1fкаuией (напоминает механизм подчиненных серверов NIS). Сетевая cтpyкrypa прелстaRЛЯется в иерархиче СКОМ виде независимо от Toro, ЯВЛЯЮТСЯ ли таковымИ сами данные. Только коrда протокол LDAP версии 3 булет полностью введен в действие. мы перейдем к полноценным иерархическим системам. Если KOМYTO НУЖНО испопьзовать LDAP для распространения КОНфIfТУ рauионной информаuни (хотя мы пока не рекомеицуем .пота делать.). то в настоящее Время сушествуют дна способа решения ланной задачи. Первый вариант  применить ПрОrp8мму )'pldapd. продаваемую компанней PADL Sofiware и реализующую шлюз между LDAP и NIS. Этот демон нзвлекает из LDAP информацию о пользователях, rpynnax и узлах и выдает себя за сервер NlS, передавая данные ничеrо не подозревающим клиентам NIS. К сожа.rrе нию. лиuензия стоит сmtШКОМ лороrо даже ШIЯ некоммерческих орraнизаuий. Дополнительную информацию можно получить на WеЬузле www.padl.com. Второй вариант  встроить ПОДllержку LDAP в библиотеку фун-кuиЙ языка С, с тем чтобы LDAP можно было указывать в файле /etc/nsstch.conr нарЯдУ с пруrими JlСТО1lmtками ннформашrи Компания PADL преплаrает бесплатный пакет nssldaJJ. реа.rrизуюшиf.l данный подход. Но. как и в случае любоrо лр}тоrо ИЗМСIIСНИЯ стандаРПIЫХ библиотек. степень требуемоrо проrpаммистскоrо вмешательства оказывается излишне высокой Есть также пакет JJamldap. ПОЗВО!lЯЮЩНЙ использовать протокол LDAP совместно с подюnoчаемымн модулями аyrентификаuии. 562 Чость 11 Работо в сетях 
7 9 Электронная почто  B n  1 /  rТXJ I  J  L (51 (6)  Взявшись по.nrОТОБИТЬ эту rлаву штя TpeTьero ИЗД.1НИЯ, МЬ! прелползrали. ЧТО внести в Нее новые данные будет нетрудно. Ведь, казалось бы, за 5 лет изменилось не так мнота: появилась пара "заплат", улучшающих безопасность электронной почты, введены новые возможности по управлению спамам, вышла из употребления устаревшая версия rDЛ sendmail Однако мы ошибались. С момента выхода в свет пре.nыдушеrо издания книrи злеlo..ipонная почта превратилась из просто нажНОТО в самое важное средство общения между ЛЮДЬМИ как в деловой, так и в ЛИЧНОЙ жизНи. Мноrие нзменения в проrpзмме sendmail были вызваны тем, что проваlta.ерам. к которым обрашались МИJUlионы желаюших полъзоваться электрuнной почтой, потребов8ЛОСЬ yвe личить rибкость и масurrабируемость имеЮШJrxся nOIIToBbI систем. Рост объема спама и возросшая активность хакеров, постоянно атакyIOЩИJ( сисп:мы С конфиnенuиа.rrьно'Й информаuие", стали причин о" ДОПOJII-IИТельных изме НсF.....й и попыток ввести бо'1ее СтрОПfе пранилз. Все 3тн процессЪ1 окаЗa.lIJ1 влияние на Internet и злектронную почту. В результате орrанизаuии IETF прИ'<олится постоянно совершенствовать сушествуюшие стандарты и разра батывать новые. Широкое распространеюtе электронноя почты повлекло за собой любо пытные соuиальные последствия. Электрuнная почта кажется менее ОфНIIИ альной. чем бумажная, поэтому ЛЮДИ обычно более откровеЮfЫ в C80lf высказываниях. Кроме тато, при электронном общении отсутствует личный КОНТаК'Т. поэтому авторы Писем чаше проявляют такие чувства, как раздра жение. тнев, разочароваюtе и т.П. Люди обмениваются такими слопами, которые Нlfкоrла бы не произнестf пслух и не написали бы на бумаre. Например. один из нзuлrx полъзовате.тlей. будучи чемто недовольным. 8ЫХОДИЛ из себя If часто оскорблял администраторов. Мы нашли еЛIfНСТненно возможный способ защиты: мы сохраняли ето сообшения. а через пару недель. котла он остывал, возврщали их ему. Читая свои "перлы", этот человек приходил в ужас. r лава 19. ЭлеlПРОННОЯ почто 563 
Дрyrой социальный аспект. связанный с элеkТpОННОf.! почтой, особенно явно начал проямятъся в последние rоды. Речь идет о массово рвссылаемой информвции реклвмноro характера, которая просто засоряет rnобальную сеТЬ. Твкото рапа почту называют СnU.ЧDМ. Послать сообщение через Interner намното дешевле, чем, например, посредством обычной почтЫ. Для отпр8 вителя стоимость передачи одното и, скажем, 2S миллионов сообщений практически QЛИНакоВ8.. Однако этоrо нельзя сказать о ПрОВ8.Йдере, который должен обеспечить достаточную полосу проnyскания при рассылке спама (8 объем T8koBoro в одной ТO;lЬKO сети America Опliпе составляет порядка 30% от всей почты). Попытки оrpаничить спам при помОШИ закоНов и супов не привели к желаемому результату. Более эффективными являются тени ческие решения, в том числе применение почтовЫХ фильтров. (Подробнее об этом рассказывается в лараrpaфе 19.10.) Большой объем данной rлавы (около 100 стран ии) свидетельствует о ТОМ, что почтовые системы  тема лостаточно сложная. З.nесь представлены как базовые сведения ПО рассматриваемому вопросу, так и более детальная Ifнформаuия, в частности о конфиrypировании nporp8MMHoro обеспечения. СначаJта мы хотели разлепить эту rлаву на четыре поменьше, посвятк-в их поIfтовыM системам в иелом, конфпrypauии nporpBtl\fbI sendmatl, спаму и сиС1'еме POStf1X_ Олнако затем мЫ отка.:зались от этой Идеи и думаем, что поступили верно. Ниже предстаВJтена таблиua. в которой описан каждый лараrpаф наиной rлавы. Таблица 19.1. Пораrрофы донной rлаsы По ро rpaф 1 iE 2 о " u О '0 Е 'о   " " R   10 " 11  12 Q) 13  О 14 Q. с:: QПИСQtitlе Системы элекrpоНtЮЙ ПОЧТЫ и их структура Al1реcauи.я и ее синтаксис. зarоловI01 сообщений Принuиnы работы электронной ПОЧТЫ. модель КJLИен-r/сернер, почтовые ка:та.лOll1 Псев.дон.имы, маршрyrизаl1ИЯ почты, nporpSMMbl для работы со списками рассbI.JUCИ, протоКОЛ LD..t\P Проrpвмм.а sehClmall: инста.лл.яШiЯ, запуск, очередь сообщений ОСНОВЫ КQнфиryрироваНI1Я RDdш.аil Базовые примиТl{ВЫ конфиrypации seDdmail Более сложные примитивы КQнфиrypаl1И1'1 sendman Примеры: домашний КОМ1lbЮТер, не6ольшая компания, компания. заним.вющаяся ИИpl)'3.!I.bНЫМ ХOl..lИнroм Сла... Безопасность Статистика, тестиронанис, отл;адкв CHMa PostflX, aJtbтерн.в.тива пporpаи.ме st'пdmail Дополнительные ИСТОЧНИЮ1 ииформацни в по моть тем, кому может поналоб1ПЬСЯ быстро отыскать в rлане нужные сведения, мы состаВIШИ табл. 19.2. В ней приве.nен перечень часто встречаю щихся зацач и номера параrpафон_ r!le изложена Н\'жная I-IНфОР"ПЩИЯ. 564 Чоса, 11 Работа в сетях 
Таблица 19.2. Список ЗQДОЧ С укозонием соответствvюших ПОDоrDОФОВ ;!й,IIOЧО Обновление oeodш..ll Начальное конфиrypирован:ме sendmall Проектирование почтовой системы орraииза.цки Борьба со спамом Проверка безопасности Нвстройка ПК на прием почты Соэдание СПиска рассьuнси Настройка произвадительности Виртуальный хостинr Hp,po пороrРОФ9.' S,6 З, 6, 7, 8, 9, 12 З, 4, 6, 7, 8, 9, 11 10 1I 1, 3 4 З. 8 8, 9 в ланной rлаве 8 основном рассматривается конфиrypаuия sendmail  UNIХпроrpаммы. которая анализирует и маршрутизирует электронную почту. эту лроrpамму налисал Эрик Оллман (Епс АНтал) из Калифорний CKoro университета в Берюrn. Существуют три основные версии nporpaM мы: 5 (У5), ЮА и 8 (У8). Не за rорами выпуск версии 9. Версии 5 и ЮА 8 настоящее время применяются сравнительно peJIl(o. Ниже мы опишем версию 8 (точнее, 8.11). а также попытаемся зarлянуть в будущее я рассмотрим возможности, которые. как ожидается. предоставит нам версия 9. Коммерческие версии проrpзммы sendmail разрабатываются компанией Sendmail. Inc. Эта же компания осуществляет ПОDДержху и свободно распространяемой версии с открытым кодом. Коммерческие версии имеют rpафический интерфейс и дополнительные возМожности по улучшению произвопительности: Bcero ,поrо еше нет в открытой версии. Проrpа\.lма sendmail занимает постаточно ПрОЧIlые ПОЗJ.ЩИИ на рынке, однако 8 последние тоды ПОЯВИ.IИСЬ новые свободно распространяеtые транспортные атенты электронной почты. Среди них следует отметить систеfУ Postfix, описанную в параrpaфе 19.13. Остальные nporpaMMbI подобноrо рода будyr упомянyrы лишь BKp8Tue. 19 1. Системы электронной почты т еоретичесЮf система элеК1рОЮЮЙ почты состоит ИЗ четырех KoмnoHeтOB: пО.'ЬЗОfJQтельс"оо uzeHтu, который предоставляет пользователяМ возмож. ность чнтать и составлять сообщения; пrpUHCпOp1tlHOO aeHтu. который пересылает сообшения с одноrо компью тера на лруrой; ueHтu достаБКU, который помешает сообщения в лока.rrьное храни.'1ише сообщеl-Ш., йeHтa дОСПJJ'па. который соелинлет ПQлъзовательскоrо areHTa с храНII.'1И шем сообшеЮlf.l (например, посредством протокола 'МАР или РОР). Этот комПонент является необяззтельны.. В HeKoiopbIX орrаннзa1IИЯХ используется также arem Подачи 11ОЧТЫ. который работает по протоколу SMTP и выполняет часть функций тp8НC nopTHoro аrента Схема взаимодействия всех указанных компонентов прел ставлена на рис. А. ПОЧТО8ые ЯШIfКИ ПОЛЬЗ0изтелей, иноr:nа  база данных r ЛОВQ 19 Электронноя по'-lТо 565 
[ Edra \  pк:::=::j......  Узел В  получатель r=rq..... lmacall   ;ь ПА= Пользовательский ar8HT QJ ТА=: Транспортный ar.HT - Е ДА = ДостаВОЧНh.Й areHT I(J'1O!C8I1bl!bIM Imapd  м. Ar8HT ПОДВЧ" :::T- nbClO1М АД = Аr8НТ доступ. Пользовательские areHTbl Рис. А. Компоненты системы злектроннои ПОЧТbI эти проrpаммы используются для чтения и составления 'Электронных сообшений. Первоначалъно сообшения моrли содержать только простой текст, однако блаrодаря стаНдарту М 1М Е [Multipurpose 1 лtеrnе! Mail Еxtелsiолs  мноrоцелевые расширения электронной почты в сети Inte-rnet) появилась возможность ВКЛЮI.J8ТЬ В НИХ форматированный текст и присоединятъ к сообшениям разные файлы (В том '!Исле вирусы). Стандарт MIME поддер живается большинством пользооателъски.х aremOB. Поскольку ОН не вл-ияет На проuесс адресаuии и доставки почты. мы не будем ero рассматривать._ Одна из задач полъзовательскоrо атета  обеспечение тoro. чтобы текст со06шения. который может быть истолкован почтовой системой неправильно, не попал в нее "незащишениым". Примером является строка "From", которая служит раздетпелем сообшениЙ. Самым первым пользовательским aremoM была npol"]JaMMa /bin/mail Сейчас имеется НесколЬКо nporpaMM 'лоrо класса. ВОТ nеречень наиболее популярных из них: /bin/mail  сушествовапа в nервоначалыюй версии UNIX /u.sr/лсЬ/mаil  появилась в BSD'.. mh и nmh  разработаны на основе кода компании Rand Corporation, есть также пользовательская 060;)О'-l1<а exmh, созданная Брентом Уэлшем (Вreп( Welch) из компании Scriptics; pine  разработана в университете штата Вашинrrон (www_washing !Оп.еdu/рiле); elm  разработана ПЭВИДОМ Тейлором (Dз'id Taylor). сейчас ПОDдержи В8ется орrаНlfззuией EII11 De''"elopl11cnr Gюuр и КаРII Хуррта (Kari НlIта). доступна на FТРузле flp.\'irginia.edu; mutt  разработана Михаэлем Элкинзом (Michael Elkins), доступна на FТРузле f!p.tnutt.org, Порой кажется, что осиовной результат от внедрения стаtЩaрта МIМЕ состоит 8 ТОМ, что вместо единоro arкpьrroro формата почты появилось множество более мелких коммерческих форматов. Дены-и определяют всс. Проrpамма jusrjacbjm.ail иноrда называется /bin/mall.x или jbinjMad в системах, производ ных от Sys[em У. 566 Чость 11 РоБО1"О В С8"ТЯ:К 
ПП8iJ и \'1\1  пользовательские аrенты. которые янляются чзстъю редакторов emacs и XEmacs; . Netscape Communic.ator  разработана компанией Netscape Commullica [iопs мя различных платформ; Eudora  разработаиа компанией Qualcomm для систем Масiпюsh и персоиалъных компьютеров. работающих под управлением Windo\vs; Outlook Express.  разработана компанией Мicrosоft пля Windows. Некоторые пользовательские аreнты подперживают системный файл конфиryрашfИ, в котором задаются ст3fшартныe установки ДЛЯ всех пользо нзтелей. Любой пользователь может изменить З'Т'и значения. создав в своем Н8Чальиом каталоrе персональный файл конфиrypаuии. Пользовательские аrеmы эле....'ТРОннОй почты для Windows и Macintosh конфиrypируются посредством l"]Jвфическоrо интерфейса caMoro приложеиия. БО.ПЪШИНСТБО из них также допускает rлобалъную и автоматическую настройку на случай эксплуатацmt в крупной орrанизаuии. В табл. 19.3 приведены имена файлов конфиrураШПI и IЮЗМОЖНОСПf перечислеЮfЫХ выше ПОЛЬЗО8ательских areffiOB. МестонаХОЖДНl1е н паже имена системных файлов Иноrда являются системнозависимыми. Мноrис их файлов находятся в каталоп jetc. Таблица 19.3. ФаЙЛ!:>1 конфиryроции и хороктеристики ЛQЛЬЗО80теnЬСkИ)( oreHTOB Пользовательский СиCТ8МJ.iый Персонольный MIME РОР IМAP SMТP Оrент йл айл binjmaiJ acb/mail Mail.rc .mailrc *шЬ .mhrofilc ". ". ". .mai1delivcry piDe pine.conf .pinerc ". ". ". ".' .Im Ub{eIm.rc .elm/elmrc ". ".' ".' mutt Mut(rc .muttrc ". ". ". Netscapc ". ". ". ". Еudша ". ". ". ". Outlook Express ". ". ". ". I ЛроrpамМ8 pine по умолчанию вызывает seodmail, однако поддерживает It: протохол SMTP. 2 В стандартной реализацНИ Не подасрж:ивастся, однако .D.ОC1)'ПJi3 соответствующая "3aJlЛ1iтв". Столбец "SMTP" указывает на способ передачи почты от поль:юватель CKoro arema к трпнспортному areнтy ИЛИ areHTY подачи. Наличие отметки означает. что пользователъский areHT открывает сетевое соединение непо средстзенно к транспортному areH1)' НЛИ areHТY ПОдаПI ОтсуrСТ8ие отметк.! rоворит о том, что он самостоятельно запускает nporpaMMY тpaHcnopтHora аrента или areHT3 подач.!. Outlook Express  3ТО своболно распространяемая проrpзм.мн .пли чтеНtя элек:rpoн-ной почты, которая не имеет никакоro отношения к коммерческому продукту Мicrоsoft Ourlook. r лово 19 Электронноя почто 567 
Транспортные areHTbl Задача транспортноrо arema  принимать почту от ПОЛЬЗ0взтеЛЬСКОfа атента, интерпретировать алреса получателей и каКИМТО образом направлять почту иа соответствуюшие компьютеры МЯ последующей доставки. Кроме Toro, большинство транспортных areHTOB выступает в качестве areHТOB подачи. осуществляя пеРВОН8Чалъную вставку НОВЫХ сообшениR в почтовую систему. Транспортные aтeнrы работают по протоколу SMTP (SimpleMail Тrал,роп Protocol  простой протокол передачи почты). который определен в дoкy менте RFC821, нли по протоколу ESMTP (Extended SMTP), определенному в дoкyмeнrax RFC1869. 1870, 1891 и 1985. Для UNIX разработано несколько транспортных areHTOB (РМ DF. Ро,tfoх, smail. qmail, exim. zmaUer и др.), но самым мощным, rибким и поэтому caMЫ распространенным (75% по последниМ оиенкам) яв..."Jяется sendmail. ]  AreHTbl доставки Arem доставки отвечает за прием почты от транспортноrо аrснтз и ее передачу соотвеrствуюшим получателям. ПОЧ1'8. может доставляться KOHKpeт наму лицу. в СПИСОК рассылки, в файл и даже в проrpамму. Для обслуживания получателя каждоrо типа может понадобиться ОТдель ньтй атент  Проrpамма /bin/mBil  зто areHT доставки мя локальных пользователей. Проrpамма /bin/sh  arem доставки для почты, которая напраШIяется в файл или проrpамму. Последние версии sendmail осушестяляют доставку почты при помощи более надеЖНЫХ локалЬНЫХ areHTOB ПQСТ38КJ.1. именуемых mail.locaJ и smrsh. В качестве areHT8 может также использоваться nporpaMMa procmail (описывается в конце паРal"]Jафа 19.8; доступна .13 WеЬузле www_procmaj).org). Проrpамму mail.local не следует использовать в таких системах, кик. например. HP UX. которые осушествляют дОставку почты в пользовательские почтовые яшики, меняя прннадлежность файлов при помоШИ команды chowп. В старых версиях Solaris также не следует применять mail.local, олизко эта проrpамма поддерживается вплоть до версии Solaris 7. Хранилища сообщений Котла из университетской иrpушки зле....'ТРоННая почта превратилась в средство обслуживания орrанизаuий -напопобие America Online с миллионами подmfСЧ-ИКОВ, файловая система UNIX перестала по.nxодить .nля хранеНИfl сообшений. Поиск в каталоre. который СО.ilержит !l.JИллионы ПОЧТОRЫ ЯШИКОВ.  занятие очень дoporoe. Хранилмше сообщений  это место на локальном компьютере, rne располаrается электронная почта. Обычно DЛЯ зтоrо испо.'1ьзуется каталоr /\'ar/spool/mail или /var/mail. Почта храюпся в файлах, которые называются в соответствии с реrистраuионными именами пользователей. Однако так выrлядит обычное хранилище. Проnайдеры, У которых тысячи ИЛИ миллионы клиентов, ищут дрyrие технолоrи-и орrанизаuии храни;rиш (обычно это базы данных). В системах, rде при меняется каталоr /var/spool/mail или /var/mail, он создается во время инсталляuии операuионной системы. Режим доступа к данному каталоry лолжен иметь значение 775 (имя rpуппы  mаil), 568 Чость 11 Робото В С8"ТЯХ 
AreHTbl доступа Такие nporpaMMы. как imapd и !!iipop. являются аrентами доступа ДЛЯ пользователей ПК. MacinLosh или UNIX. чья почта доставляется на UNIX сервер. а затем зarpужается с Hero ло протоколу JMAP (lnLerncL Message Ассе.. Protocol  протокол доступа к сообшениям в сети [nLernet) ИЛИ РОР (POSL Oftice Protocol  почтовый протокол) соответственно. (Оба протокола рассмвтриваются в параrpафе 19.3.) AreHTbl подачи почты Необходимость в проrpзммах этото класса возникла в связи с ростом объема почтовых узлов. На большом узле траиспортный аrент вынужден тратить мноro времени на предварительную обрабОTh}' сообшений. Он должен: ПрОRерятъ, ЯВЛЯЮТСЯ ли имена УЗЛОВ ПОЛНОСТЬЮ определеННЫМ1I; модифиuировать заrоловки сообщений, полученных от непраВИЛЪНQ работаюших пользовательски:х areHТOB: . весПf журнал; . переписывать заroловки и т.д. В документе RFC2476 была сформулирована идея отделить arema подаЧ1f ПОЧТЫ ОТ транспортноrо arema с целью распределения наrpузки и повышения общей праизводительности Илея заключается в том, что атент подачи работает на ДР)ТОМ порту И выступает в качестве реrистратора новых сообшений. поступаюших в почтовую систему от локальных пользовательских areIПОВ. ОН лелает всю предварительную работу. ВКЛючая проверку ошибок перед arправкой сооб... шеиия транспортному areHТY. В частности, arem подачи должен убедиться в том. что все имена узлов являются полностью опрелеленными. Кроме Toro, перед добавлением к адресу локальноrо домеRНоrо имеfШ он проверяет, являются Jm имена локальных УЗЛОВ леnrrимными. Лrент подачи также исправляет зarоловки сообшений, если В них есть ошибки (и добавляет зarоловки, если они отсyrствуют). К примеру. MOryr добавляться заrоловки "From" и "Date" и корректироваться заrоловок "Messageld". Наконец, areHT подачи может переписать алрес отправителя. поменпв реrистраuионное имя на заданное внешнее (например, в формате Имн фш,ruлuя). Чтобы этот механизм работал, пользовательский arem должен быть сконфиrypирован на ПОДЮIючение к areнтy подачи через порт 587. а не через порт 25, который тршшuионно применяется для эле....'ТРОннОй почты. Если поЛьзовательскии areHT не может работать с портом 587. сушествует дрyrой путь: RЫЗnaть arem подачи через порт 15, но не на том сервере, на котором работает транспортный areHT. Необходимо также сконфиrypировать TpaHC портный arHT таким образом, чтобы он не проделывал повторно работу, выполненную areHTOM пода'"lИ. Дублирование не скажется на правилъности обработки почты, НО отразится на производительности. Проrpамма sendmajJ может действовать R как areHT подачи, и как транспортный areHT. В sепdmаil версни 8.10 arem подач-и включен по умолчанию. Эта конфиrypаuия устанавливается при помоши средства по canon1fy " макроса DAEMON OPTIONS (параrpаф 19.8). Korдa ПРО!1'амма sendmail итрает двойную роль: она предоставляет кaждьrй из сервисов на отдельном порту: порт 25 для TpaHcnopTHoro areнтa и порт 587 (по умолчанию) пля areHT3 полачи. rлово 19. ЭлеКТРОНIОЯ ПОЧТО 569 
19.2. Анатомия почтовоrо сообщения Прежде чем перейти к вопросам КQНфИJурирования просраммы sendmail, рассмотрим СТРУК1УРУ элсктронноro сообmения. Оно состоит из трех частей: конверт: заrоловки; . тело Конверт опрелеляет. куда должно быть доставлено сообшение 11Шl куда era требуется возвратить в случае, если доставка НfВО3МQжна. Обычно ЗТlt адреса соответствуют указанным в заrоловКах ,oFrom'"' и "То". хотя они формируются отдельно средствами areHтa подачи почты. Конвс-рт невидим ДЛЯ пользователя и является внутренним средством nporpaMMы sendmail. 3аrоловки  это набор пар свойство/значение. отформатированных 8 соответствии С документом RFC822. В них сопержится различная информзuия о сообшении. 8 ТОМ числе паТ'cI. и время ero отправки. а также транспортные аrеl-ПЫ, через которые ОНО ПрОIШlО на своеМ пути_ 3аrоловки  ЭТО неотъемлемая часть сообшения. но пользовательские areHTbI часто скрывают некоторые менее интересные заrоловки при отображении сообшеН1fЯ. Тело сообшения  это та информация, которую собственно и требуется переслать. Тело сообшения Д0ЛЖ1-l0 содержать ASCIITeKcT. однако часто он представляет собой двоичные данные в спеuиальноЙ почтовой колировке. В паpal1)афах. посвяшеННЫJ( вопросам конфиryрирования, мы иноrда будем rаворитъ об отправителе и получателях конверта, а 1IНоrда  об отправителе и получателях, указанных в заrоловКах. Там. rne из контекста не ясно. о '"leM идет речь, тип адреса булет конкретизирован. Адресаци почты Механизм локальной алресаuии прост. потому что реrистраUl10нное нмя пользователя является уник3J1ЬНЫ-М идентификатором. Если же у алресата нет учетной залиси на локальном компьютере. то адресаuия и доставка услож- няются. Есть два вида почтовых адресов: маршрутнозависнмые (относительныс) и марwрутнонезавнсимые (абсолютные). При ИСПОЛbJован-ии Периоrо способа адресации требуется, чтобы отправитель знал промежyrочныc компьютсры, через которые полжно пройти сооБШСН1fС на пути к получателю. В адресе IOoporo вида просто указывается пункт назначения. U UСРалреса являются маршрутнозависимыми, а InLemeLaдpeca обычно не зависят от мзршрута. Почтовый InLemetaдpec имеет слелуюший формат: ПОЛЬЭCJВdтель@узеЛ,домен o тде символ @ отпеляет имя пользователя от спецификаШ1И ceTeBoro узла эле....'ТРонные сообшения достаR.'1ЯЮТСЯ в почтовыЙ ящик у-казанноrо полъзо вателя на компьютере узел.оомен. В больuшнстне случаев домен  это обычны" DNSnoMeH. Например, в адресе evi@boulder.colorado.edLJ часть "evj" СООПlCт ствует имеии пользователя, "bOLJlder"  это имя узла. а colorado.edu  имя домена. О DNS рйссказЫВйе/1/СЯ в l..lйfJе J6. Раньше примеllЯЛИСЬ адреса и друтх типов. В частНОСТИ, речь идет о некоторых вариантах маршрутнозаВIfСИМЫХ адресов. Мы не будем описывать 570 Часть 11. Робота I! сетях 
их детально, так как они устарели. Вместо зтоro привепем таблицу. в которой показаны примеры таких адресов и их совремеиные эквиваленты. Табл....ца 19.4. Примеры устаревших моршрутно-.ЭОВИСlo1мы)( адресов Т....п адреса UUCP Маршpyrно 3&висиNый Проuситны.й Приме р mcvax!uunet!ucbvax!ha.o!boulder!la.ir.evi <O)'3€.J1 J.riyse.A2,...fiPУзeJlN:полъзоватеАЬ Око,U!чныuуэел> пОЛЬ30вотель9fj)'3€.J119fj)'з€.J1J1".Фуэел3 СовременнаА форма CV101air nолъзователь@к.онечпыu....УЗел пОЛЬ3otJотель@уз.елl Основные сложности в конфиryраuии проl-р3ММbI sendmoil вызваны сушествовавше ранее необходимостью управлять }'к3з8нныи видами aдpe соВ. Каждая из этих форм адресации связана с ретрансляuией. от котара" постепенно отказываются изза актИВНОСТИ спамеров. "Процентный" адрес (указан последним 8 табл. ]9.4) ЯRJlяется любимым средством спзмерО8, которые хотят скрыть СВОЮ личность Юlи переслатъ почту через ничеrо не подозреваюшие компьютерыпосредники. Подробнее о работе с такими адресами можно узнать в документаuии к проrpамме sendmaiJ. 30rоловки почтовых сообщений Каждое элеkТронное сообшение начинается несколькими строка'-ш. которые называются заrоловками и содержат информаuию о сообшеННIf. Любой заrоловок начинается с ключевых слов, таких как "То", "From" .ШII "Subjec(', после которых следуют символ lIВоеточия и содержимое заrоловка. Формат стандартных заrоловков определен в документе RFC822. OтiBKO допускаются и звrоловки друтих тИПоВ. Любой заrоловок, начинающийся символами "X", Ilrнорируется почтовой системой, но пересылается вместе с сообшением. Следователъно, можно добавить в сообшение заrоловок наподобие "XJokeof[he- Оау" и не беспокоиться о том, способна ли почтовая система обработать ero. Одни заrоловки добавляет пользовательский аrеит, а др}тие  трвнспорт НbI Некоторые заrОЛОВК.I отражают путь сообщения. Большинство полЬJО вательских aremOB скрывает эти неинтересные JarОЛОВКИ от пользователей. но, как правЮlО. всеrпа имеется возможность Jаставить arema показать ИХ. Чтение зarоловков становится важным делом. Korna вас бомбардируют спамом и нужно проследить. оп..'Уда он поступает. Ниже приведен блок заrоловков npOCToro сообщения. From evi Wed Jал 19 19:01:11 2000 Received: (from evi@localhost) Ьу xor.com 18.9.3/8.9.3) is ТАЛ17820; Wed. 19 Jan 2000 19:01:11 О700(МЗТ) Oate: Wed. 19 Jan 2000 19:01:11 o?oo (MSTJ From: Evi Nemet.h <Evi.Nemet.h@xor.com> МезsаgеId: <2()0001200201. TA.b,,17820@xor.com> То: trent@xor.com Subject: xor .тс Сс: evi@xor .сот Status: R  тело сооОщениJl.  r пова 19. Электро,ноя почто 571 
Это сообшение не ПОЮ1дaJlO локальной машиНЪ1 E.ro отправитель  пользоваТель e't'l, а получатель  пользователь trent. Первая строка "Froт" добавлена проrpаммой maU.local, которая в данном случае выступила в качестве аreита ДоставКИ. 3аrоловок "Stашs" добавлн проrpаммой чтн1fя ПО'ПЫ пользователя e'Vi, а дрyrие заrоловки  проrpsммой sendmall (TpaHC портным aremOM). Кажпый компьютер. участвуюший в проиессе передачи сообшения, добавляет заrоловок .. Rесеivеd'И. 3аrаловки эnеkLpонноrа сообшения содеР>60.ат масс)' ИНфоРМ8UИП о ТОМ. rде было сообшение, как nonra оно там оставалось и коrда, наконеи. было доставлено адресату. Ниже подробно описаны заrоловки почтавоrа сообше ния, посланноrо через [ntemet. Мы расскажем о назначении различных ззrоловков, а также о том. какие проrpаммы их доба.в.'1ЯЮТ. Номера строк (слева) даны Ш1я справки и частью сообщения не являются. Некоторые заrоловки разбиты на несколько строк, чтобы пример ПО}.fестился на страниuе 1: From eric@knecht:. 5endmaJ.. .org Первую строку добавила ПрОI"]Jамма /biп/mаil или шаil.lосаl в процесс&: доставки, чтобы ОТДелить ЭТО сообшеI01С от ДРУПL\ сооошении. НХОДЯШИ'\СЯ в почтовом яшике полыователяполучате.'lЯ. ПроrрамfЪ1 чтения почты распознают rpaHItULI сообшеНllЙ п}'"тсм no",cK3 пустоЙ СТРОЮI, ]3 котерап слелует слово "Froш" (здесь обязательно I-Ы..JПf(lие конечноrо пробела). Эт<l строка не сушествует до те" пор. пока сообшение Не будет лостаП.'lеНО, 11 ее не следует путатъ со строкой, начинаюшепся выражением "FrolП:"_ МНОПlе проrpзммы чтения ПОЧТЫ не отображают строку "From", поэтому ее МОЖf-Ю и не увшеть. 2: Ret.urnPath: er.1.c@knecht.senй-ffia.:.l.org 3: Received: from anchor.cs.colorado.EDU (rооt:@апсhос.сs.соlосаciо_еd:.! [128.138.242.1]) Ьу columbine.cs.colDrado.edLl (8.9.3/8.9.2) w....t:h ESMTP id НАА21141 fo): <еvruреr-.:.sЬеrg_сs.соlоrаdо.еdLl>; r.ri, 1 Oct 1999 07:04:25 a7(10 IМST) 4: Received: from rnre.colorado.edll (rn):oe.colorac:io.edu llB .138 ..l4j. 'JiJ) Ьу anchor.cs.colorado.edu 18.9.3/8.9.2) wlt.h ESMTP id НАА2611а fer <evi@anchor.cs.colorado.edu>i Fr, 1 Ос!: 1999 0.1:04:24 D7DD (МST) 5: Received: from !<.l1echt.serlamdll.ocg l-<песht.sелаmаil.оr9 [209.31.233.1601) Ьу mroe.c5.colorado_ed (8.'1.3i8.9.21 w:!.th ESMTP id НА.Ь,,09899 for <evl@alochor _ cs .colorado. edu>i Fл... 1 ос!: 1999 01': 0<4: 23 01(JO IMST) б: Received: from kпесht.sелdrnаil.оr9 (!ocalhost. ,127.0.0.1J) Ь:! knecl1t..sendrnail.org (8.9.3/8.9.3) wtt::\ ESMTP ....d GAA189f14; Fri, 1 Oct 1999 06:004:02 800 (PST) в строке 2 указан аарес пля BO"J8paT3 сообшения. Причем он \Iожет QТ'1ичаться от адреса. кзззнноrо р.шее 8 строке "FrоП1". СообшеНltе об ошибке посы:шстся по адресу. 1МаННОМ} с строке '.Rt"шrllРаlll". которая содержит адрес I'OHRepTa отпраRJtте!IЯ В строках З6 содеРЖJIТСЯ ИНфОрМ3ШIЯ о ПРО..1Rllжеf-IIНI сообшеllJlt! по РЗ-ЗЛИЧIIЫМ системам ШI. пути " ПОЧТОRUМ} яшш,у ПОJlыователи. каждыll компьютер, который обрабатыиает "JJlе....'ТРшnIое сообшенш:. добавляет к ею заrоловК)' строку "Recei\'ed" Новые строкн Р<lJмещаются вверху. полому, 572 Чость 11 Работа в сеп)( 
читая строки "Received" последовательно, можно проследитъ путь сообщения в обратиом порядке (от получателя к отправителю). Однако если сообшение является '"Iастъю спама, то единственная строка 4j Received", которой можно доверять,  это строка. сreнерированная локальным компьютером. Каждая строка "Received" содержит кмя машиныотправителя, ИМЯ машиныполучателя. данные о версии ПРОI1J8ММЪ1 sendmaU (или дрyrоrа тpaHcnopTHora areIПB) на маШlfнеполучателе. уникальнъJЙ идентификатор сообwения на М8шинеполучателе, данные о полъзователеполучателе, дату, время и разность между временем в данном часовом поясе и временем по rринвичу. Эти свепения берутся из внyrpенних макроконстант npol1JaMМbI sendmall. Рассмотрим приведенные выше строки, начиная с последней, и проследкм путь сообшсния от отправителя к получателю. Из строЮf 6 ВИДно, '!То сообшеиис постулило из интерфейса localhost (который был выбран пользовательским аreнтом Эрика Оллмана, проrpаммой exmh, ll.Ля установления соединения) узла knecl1t на внешний интерфейс эrоrо узла посредством псевдоустройства обратной связи. В строке 5 отражен тот факт, что компьютер knecht направил сообшение по адресу mroe.cs.colo rado.edи, несмотря на то что заданный пользователем адрес  evi@an chor.cs.colorado.edu. Быстрая проверка посредством проrpаммы nslookup или dlg показывает, что узел anchor имеет запись МХ, которая ссылается на компьютер mroe, что и вызывает перенanравление сообшения. Строка 5 лемонстрирует раЗЛИ'Jие меЖдУ адресом конверта (evj@mroe.cs.colorado.edu) и адресом получателя, }'казанным в заrоловке (evi@anchor.cs.colorado.edu) o Подробнее о записях МХ МОЖНО узнать . параzрафе /б. J /. На комmютере mroe работает проrpaмма sendmall версии 8.9.3. и эта лроrpамма лрисвоила данному сообшению идентификатор очереди НМ09899. Затем сообшение было послано на узел anchor.cs.colorado.edu (строка 4), после чеrо сразу же переналравл.но по адресу .vi@rupensberx.cs.co10rado.edu (cтpo ка 3). Очередная смена алреса вызвана наличием псевдонима (подробнее об этом рассказыввется в. параrpафе 19.4). ПсеВдОНИМЫ ИI1Jают бо!ТЬшую роль В пересылхе почты. ПсеВдОНИМ ставит имя пользователя в соответствие дрyrому объекту, например имени этоrо же пользователя на дрyrом компьютере, l1Jуппе пользователей или даже варианту наПИС8I01Я ero имени. Таким образоt.t, на основании СОllержимоrо одних лишь заrоловков невозмоЖНО определить. почему сообшение ОТЮIонилось от CBocro пути. Как и в случае с записями МХ, нужно искать внешние истоЧники информации . Сrpоки 5 и 4 содержат текст "for <evi@anchor.cs.colorado.edu>". ОН определяет, как выттшит адрес получателя, коrда сообшение поступает на локальный узел. Эта информаuия полезна, если нужно исключить ЛОЛ.ЬЗова теля из cmrcK8 рассылки, отправив сообшен:ие об отказе с Toro компьютера, с KOToporo была произведена подписка (возможно, MHoro лет тому назал). либо узнав адрес 3Tom компьютера и включив ero в тело сообщения. В финальном эаroловке "Received" (строка 3) содержится текст "for <evi@rupel1sberg.cs.coorado.edu>". Значение макроконстанты проrpаммы send- mall, храняшей адрес получателя, бьmо изменено при помоши псеВдОнкма на узле anchor. Но вместо узла rupensberg.cs.colorado.edu сообшение было достаИJlено на компьютер columbine. Просмотр записей DNS показывает, что на компьютере rupertsberg есть записи МХ. ссылаюшиеся на компьютер eolumbine. Они бы"и определены в тот период, котда компьютер rupertsberg обновлялея. Вероятно. по завершении работы эти заmrси забыли отменить. 573 r 110ВО 19. Э.пектронноя почто 
Комnьютер columbine. на котором работает npol"]JaMM8 sendmail версии 8.9.3, доставил сообщение в почтовый ЯЩИК Эви НеМет (l<Ulентификатор очереди  HAA21741). 7: MessageId: <1999100011404 .GAA1898-4@knecht..sendrnai1.org> в строке 7 содержится идентификатор сообшения. Он отлИ'"lается от идентифмхатора очереди. уникален во всемирной системе электронной ПО1IТЫ и добавляется к сообшеиию. коrда оно попалает в почтовую систему. 8: XMai1er: exmh version 2.0.2 2/2-4/98 9: '1'0: Evi Nemeth <evi@anchor.cs.co1orado.edu> 10: From: Eric Allman <eric@sendrnai1.com> 11: сс: еriс@зеndmаil.соm 12: subject: Re: hi 13: Date: Fп., 1 Oct 1999 06:04:02 800 в строке 8 в качестве пользователъскоrо areHтa Эрика Оллмана указана проrpамма exmh. Она сама лобавила эту строку в заrоловок. 3аrоловки, которые начинаются символами "х.", не являются стандартными. В то время. коrла разрабатывaJIИСЬ стандарты элеК1JЮННОЙ почты. никто не Mor предста- вить, что коrданибудь понадобится более чем один пользовательский arem, поэтому такой заrоловоК и не был Iнmючен в число стандартных. Строки с 9 по 13  стандартные. 3аrоловок "Subject". вообшето. не нужен, но большинство пользовательских areHToB включает ero. Строка "То" содержит адрес OCHoBHoro получателя (или получателей). В C1JIOKe .'Dale" указываются дата и время оmравки сообшения. В наинОМ случае время отправки почти совпадает с заданнЫМ в строках "Received". несмотря на то, что все Jна'JенИЯ брались на разных компьютерах. Строки "Received" обычно добаи.11ЯЮТСЯ транспортнымИ arеlпаt.lIt. iI дрyrие заrоловки создаются пользовательскими аrентами. Некоторые nользо ватеЛhClше areRТbJ работают некорреКТlIО и не добавляют нужных заrоЛОВКОВ. В этом случае на помошъ приходит проrpамма 5endmail. Первая строка .. Received" обычно создается машинойотпраflитслем. Korдa сообшение поступает на вЫХОДНОЙ интерфейс. Иноrда эта строка включает фразу "ident". которая содержит реrистраuионное имя отправителя. Это имя совпадает с указанным в строке "Frorn" (если последнюю не ПО,lIмеюuти). В нашем примере на компьютере Эрика knecht не "Jапуш.ен демон. реализую щий эту функuию (identd). поэтому фраза "idепt" у нас отсутствует. На рис. Б изображен путь сообщеl-lИЯ по системе электроннои ПоЧТbI. Показзно, какие депствия, [де .1 какимИ проrраммCiМИ выпJlнялись.. HerpYllHo заметить, что прOl"]J€'мма sendmail 8 nанном npouecce выполняет роль рабочей лошадки. эта проrpамма занималась сообшением с момента ero выхода И3 проrpаммы exmh вплоть до прибытия на компьютер columbllle дЛЯ доставки aдpeca-ry. Дополнительные примеры анализа заrоловкОВ приведены в коние паРaJ-рафа 19.10. 574 Часть 11. Робота 6 се"ях 
Но компьютере На компьютере Но компьютере На компьютере knecht mroв onchor coIumbine ... 3р". Рис. Б. Путь сообщения от ЭРИkО 19.3. Основные принципы орrанизации злектронной почты Соблюдение принциnов работы с электронной ПО\ПОЙ. описаннЫХ в этой rпаве, является почти обязательным условием Rормалъноrо функционирова ния почтовых систем В средних и крупных орraнизаииях Естественно. ими можно руководствоваться и внебольших орraнизаuиях. Существует несколько основных фактоJIOВ. которые позволяют значительно облеrчить решение административных задач. Это: ,. наличие серверов для входящей и исходяшей ПОЧТЫ ИЛИ. В случае очень боЛЬШИХ орrанизаций. иерархии серверов; наличие ПОЧТО80rо каталоra пля каждоro пользователя в орraнизаuпи: поддержка протоколов IMAP или рор. ПЛЯ интеrpации персоналъных компьютеров, систем Macintosh и удаленных клиентов. Кажп.ый ИЗ этих факторов будет подробно проана-ттизирован ниже. Кроме Toro. необходИМО добиться хорошеro взаимодействия и функuионирования дрyrиx подсистем и средств: записи МХ службы DNS .должны быть правильными. бранлмауэры должны обеспечивать прохождение почты внутрь сети и наружу, должны бытъ определены коыпъютеры, иа которых орrаЮl зованы хранилища сообщений. и Т.Д. 0' Подробнее о записях МХ рассказывается в параzрафе /6./1. Почтовые серверы выполняют три задачи: привимают исходmцую почту от пользовательсКИХ пеюов и направляют ее в почтовую систему; . принимают входящую поЧ'I)' из внешнеro мира: . доставляют почту на рабочие места конечных пользователей посредством протокола IMAP или РОР. в небольшой орraнизаuии серверы, реализующие указаmrые функuии, МОf)"Т работатъ на одном компьютере. В больших сетях для них следует выделить отдельные машины1. Настройка брандмауэра начитеJIЪНО ynростит СЯ, если 8ХQдяшая почта будет пoc1)'l1зтъ на алин компьютер, а исхопящая почта будет отпраи.11ЯТЬС Я с дрyrоrо. Сейчас предпочтение отдается протоколу lМAP. 575 1 rлово 19. Электронноя почто 
в некоторых орrаНИЗ8W1ЯХ внешняЯ почта поступает на проксисрвср. В действительности проксисервер не обрабатывает почту, а лишь ПрИJ-шмат и наКапливает ее У себя. Отл.елъный проиесс звтем переправлят .зту ПОЧl} проrpамме sendmaD .nля транспортировки и обработки. ПримеРВМII ПрОКСII серверов мя проrpaммы sendmall являются демоны smtpd и smtpfwdd \лостушIы на WebY::l11e www.obtuse.com). Оба демона распространяются свободно. ДеIOН smtpd способен фильтровать входящую почту на основании списков доступа. Почтовые серверы Для почтовоrо сервера необходимо аыбрать належны({ и стабильно работающий компьютер Ниже мы опишем CТPYКlVpy почтовой систеМЫ. которая. как нам кажется. является леrКО масurrабируеfOЙ. хорошо УПрНБ ляемой и безопасной. Задачи управления входяшей и исходяшеЙ почтоЙ It ней выполняют специально 8ьшеленные мя ЭТОЙ uели серверы. 0л.II3 IIJ таких структур приведена на рис. В. ИСХОДЯЩОЯ почта Кn"8ИТ"1 Рис. В. Архитектура почтовой системы (ворионт 1) Почтовая система, изображенная на рис В. имеет одну точку получения панных нз внешнеrо мира  это почтовый сервер. ПРИНИМ8ЮШИ-Й сообшеНiЯ из сети Internet. Такой сервер ожно снабдить средствами МОНИТОРИНId. установить на нем дополнительные средства безопасности н послеЛl-l'lОIО версию протраммы sendm811. ВКЛЮЧ3l0ШУЮ фильтры МЯ борьбы со СпИМО". Сервер, который отвечает за исходящую почту, также должен быть \:ОРОШ() управляемым. Он может содержать собственны фильтры от спEtма 'n.ЛЯ проверки Toro. не является ли ...."Тонибупь из лока.,1ЬНbJХ ПО.1ЬЗО8ател'й нниuиатором спама. Korдa есть риск утечки информаuии из внутренней ССПI. наличие одноrое1IИнственноrо сервера, через который проходнт исхоляша)! почта, 'Прошает реализапию правил безопасности и контроль над их соблюдеmtСм. Если а оprанизвШlИ используются БОЛЬUll1е СПИСЮI раССЫЛh":II. на сервере исходящей почты можно установить средства nporpaMMbI sendmail. предназначеиные мя повышения проиэводительности. Если объем почтовых сообщений очень велик, обеспечьте реrтикаuию серверов входящей и исходяшей почты. Но 'ЧТите. что данные меЖдУ ниМИ не доЛЖНЫ передаваться напрямую. Серверы следует отделить дpyr от л.руrd посредством BHyтpeHHero брандмауэра. Провайnеры, проектирующие почтовые системы мя обсЛУЖИllаlНIЯ КЛII ентов, до.'1ЖНЫ установить II.ополнительн:ый сервер, на которыи будут указывать ре:зервные- записи МХ клиентов и который булет ynрав.1ЯТЬ 576 ЧОСТЬ 11 Робото е. ceT)( 
списками рассылки. Этот компьютер должен приннмать почту и распростра НЯТЬ ее среди клиентов. Ero следует жестко КОНТРOJ1ИРО88ТЬ На предмет Toro. что почта отправляется ТОЛЬКО иyrеНТИфИUИрОН8ННЫМ клиентам, и отл.елить брандмауэром от серверов входяшей и исходтuей почты. На пользовательских UNIХсистемах достаточНО установить nporpaMMY sendmall в минимальной конфиrypации. чтобы они моrли пересылать исхо llЯП!yIO почту соответствуюшему серверу .пля обработки. Нет иеобходимости реализовывать иа т-аких компьютерах прнем почты из Intemet. Однако иноrла ОТ этой жесткой модели ОТС1уП8.ют и разрешают любым UNIХстанuиям посылать почту J..Iепосредственно в Iпtсmеt. В любом случае все клиентские КОll.mьютеры MOryr иметь одинаковую коифиrypаuию nporpaMMbl sendmail. ОрrаНИЗ0вать распространен не такой конфиrypаuии можно с помошью проrpаммы rdisl или rsynс 0' Пйдрйбиее о вопросах распрострапеllUЯ файлов pa'.CII.-азывается 8 l1араzрафе /8.2. В орra.НИЗ8UИЯХ. rде используются nporpaMMbl наподобие М icrosofL Exchange и Lotus Nores и rде нежелательно преДОСТ8В:ШТЬ ЭТИМ nporpaMM8M прямой выход в Inrerner. можно применятъ архитектуру почтовой систе'fЫ. изображенную На рис. r. Вход.ящоя почто Исходящая почта внyrpHIUI' СОТ'Ь ЛА ПОЛЬЭDВ8ТеЛЬС:КИВ почтовые arelolTbI Рис. r. Архитектуро ПОЧТОВОЙ системы {ворионт 21 Вне заВИСIIМОСТИ от Toro, какая структура почтовой системы выбрана. позаботьтесь о Tot.r, чтобы конфиryрация проrpзммь' sendmail, записи МХ и прввила работы брандмауэра соответСТВОБа'IИ обшей политике работы с почтой в вашей орrанИ3RЦИИ. Почтовые КОТQлоrи ПОЛЬЗОВQтелей Естественно, пользователю удобно читать всю свою почт} на OIl.HOM компьютере. паже если у Hero есть учетные записи 8 нескольких СИСТе\Ia.Х. Эта возможность реа.'1изусrся с помощью файла alfases, ПОJ1Я malld:o пользовательской базы данных или л.аже базы данных LDAP. Удалст"lыt1 доступ к К8ж.:.tому из по(IТОВЫХ яwиков пользователей \южно opraНl13088Тb при помощи протокола (МАР ИЛJt РОР_ Схема создания псеВдОНИМОВ, которой мы пользуемся. позвО.'Н1СТ нам иметь один и тот же файл псеanонимов на всех коt.mьютерах домена. С точки зрения администратора это большой вьrnтpыш. (Мы предполаra.ем, (по реrистраuионные имена И идентификаторы пОЛьзователей уникальны на всех компьютерах, и настоятельно рекомендуем ПРО80ДИТЬ такую политику.) 577 r ЛОВО 19. Электронная почта 
в некоторых орrаниuuиях снстему электроннои почты uеНТР3.ilJПУЮТ, экспортируя каталоr /var/spool/mail через NFS. Но проблемы блокировки файлов N FS МОТУТ привести к потере или повреЖдеНIIЮ файлов, хранmuих почту ПQЛЪJопателеи. МОЖНо. конечна, потом обвинять NFS. проrpaмм} sendmail или зreнтов доставки. НО зто вряд ли поможет несчастному пользователю. че поtlТОВЫЙ ЯШlfК поврежден (проrpзммв sendmaiJ всеrда непююпна, потому что в деиствительноеПI она нm.::оrла не достаВJ1Яет почту). Некоторые варианты реаJlИЗ8Ш1lf NFS (например. с иСПОЛЫОНЗIШf\1 пыделенных файловых серверов} включают nporpaMM)' \rnрflНJIения блокнроп ками. которая работает норммьно. Но большинстно рСдJ1ИЗЗUИ"Й' ЛII60 не подnержИlШЮТ блокиронкv. либо делают это tle твк, как нужне. В OnIШ\ орrdнизаuия'l( проблему блоI01роВКН просто ИПЮРИРУIОТ, иацеяСЬ на авось, а в друrи..\:  требуют, Ilтобы пользователи чита.п11 почту на файловом сервере Наш совет: не исполыуйте совместный доступ к каталоry /"ar/spoolfmail через NFS. Протоколы IМAP и РОР IMAP и РОР  ЭТО IlрОТОКОЛЫ, которые заrpужают почту на ПО:IhJопа телъские компьютеры, коrда те подключаютсЯ к сети. Данные протоколы являются идеальным среЛСТIЮМ vттpан.Т'lсш.tя почтой. особенно ДЛЯ 1<0мпыoе рОВ. которые не исеrла ПО1IКлючены к сети изза Toro, что выключаютсЯ после работы илн размешены дома 501 соеДИНЯЮТСЯ С сетью по телефонной л-инки. Протокол IMAP (lntешеt Mesage Access Protoco)  протокол доступа к сообшениям в сети Intcmct). которыЙ создан в унивеРСl-rrете штата Вашинr тон, Яliilяется более предпочnпельным средством Он доставляет сообшеН1IЯ по одному. а не все сразу. TaKO метод лучше для тех полыователей, которые подключены к МСШlснноii сети ИJН1 имеют 110ртативные компьютеры. Протокол IMAP особснно удобсн при отборе писем с объемными вложения ми: можно просмаТРllвать 3НОЛОRКИ сообшенн'Й и не заrpужать письма с вложениями до тех пор, rюка не бул.ет RыяснеllО их СОII.ержимое. Протокол IMAP управляет почтовыми шшками н нескольких система:". наllример на почтовом се-рвере и персонa.rтыюм компьютере. Почта. иа.,ходяшаяся на UNIXcepBepe. может быть объектом рсзервноrо копирования. {МНОI'О ПОJlезно информаШII.1 о протоколе 'МАР и ero реШIIIЗ3ШIЯХ можно наПI IIa 'W'еЬузле \\<ww.imзр.оr.J РОР (РО51 ОПiсе ProlOcol  ПОЧТ08ЫИ протокол)  .но протокол. ревли.JУЮUШЙ по\:ож}<'1O модель, R котороЙ, ОДIШI<О, t:lce сообщения заrp}жа ютея с сероера на перСОШU1ьньнl компьютер. Ilри 'ЭТом ОIlИ MOryr удаляться с сервера (заqастую бе"1Rозвратно) IЛИ сохраНJJТЪСЯ на нем (в этом случае хранилище IJO'rтbI буII.СТ ПОСТОЯНliO увеJJlIl.Jиваться h размера.\:). Метод II.оставки Bce поl.Jты за раз не ОПТИМ3.!lеН для сети и не очень rибок с ТОl.Jки зрения ПОЛЬ1.0вателя. Это особенно IIрояиляется в KOMh-ryтируемых соединениSL'\. (Приемлемая реаЛlпаШIЯ рор доступна по адресу \\wv.'.cudora.coт/qpopper.) Проrpаммнос обеспечение серпера I МАР можно найти по адресу WVv'\v.washiпgюп.еdu/iШttр. КонфиrУРНРОElа.ть серпер Ife требуется. нужно ЛНIIIЬ поместить СООТlsеТСll3УIOШltе IМЛР 13пнси 8 фаЙ:IЫ /ctc/scn-'iccs 11 /etc/inetd.con[ Кроме Toro. tlсдует убеllltТt.ся. что браНllМС1УJР не препятстнует работе сервера С npOTOKOJlOM 1 М А. Р paHbIl.le было связаllО MHoro проб:IСМ б'О:зопаСIiОСТИ. rlOЭТОМУ стараЙтсt,Ь IIOЛЫОВсПЬ(Я ca",rbIMH послел.ними иеРСИJlF\rи проrpамм. 578 Чостъ 11. Робота в сетях 
19.4. Почтовые псевдонимы псеanонllмы позволяют систеМIЮМУ администратору и отдельным ПОJlЬ зоватсляl\.1 '"lсреClлресовьmать по>пу... Имн МОЖНО ПОЛЬJОнаться для Зdд8НИЯ СПIIСКОВ рассылки. лля пересылки ПО'ПЫ между KOMnbIOTepaм101 JI ДJШ Toro. чтобы к пользователям можно было обрашаться по нескольким именам. Псевдонимы обрабатываются рекурСИRНО. ПО:lТОfo.f)' MorYT указывать на объСI':ТЫ. которые. 8 СБОЮ очердь. являются псевдонимами. Проrраммз sendmail nодnерЖl1пает нес.колько мехаl'IИЗМОВ создt:lНия IlceB ПОНИМQВ, а нменно: ПРОТОКОJl IOAP. службы NIS н NIS+, систему Ne[IIl'"o (разработка NeXТ/Applc), базы данных ПО'lТО80Й 'L1вршрyrизаUИIf. а также различные файлы псеfШOIiАМQD. которые МШУТ СОЗДаuaться пользователями и системными ЗДМlfIlI1страторами. Если требуеТС1 придеРЖН8iПЬСЯ KOHuenLt1II.J личных IIOЧТОВЫХ к;аталоrО8 IIOЛЫОR<iтслеJ:;. рекомеидуем реализовать ее путем хранения псевдониМОН на серпере LDAP_ ДР)rrlIС методы обладают рядом недостап.:ОIJ. '.РilПl1Ll1fOННЫМI1 файлаМI' ncearlOlllfMOB обычно доджен управлять пользователь root В случае базы шанны>,: пссвдOtШМОН ее приходится перестраииать при каждом и]мене нии, LI затем реП:НЩИРОR3ТЬ 113 "се компьютеры. которые not:TaRlIIIOT nOIТY. В тех орrаtlllJ3U1IЯХ. Пl.е имеется MHoro виртуальных доменом, н КаЖДОМ Домене ведется OTllfJJbIlbIft фраrмент фаJ..iла ПССEUlОIll1М08. а оБЩИIf фзил псеRДОIIИМОВ собирается IIOСрс.з:ством СПСLlИi1лыюrо сuензрня. Сам по себе ПРОТОКОЛ LDAP не может работать с ПССR!10НИМ3МII СПИСКОВ рассылкн. Имв лучше управлять при помоши ctal-lllаРТНblХ MexaHJ..t1MOB псевдонимон. Проrрамма sendndl11ail рйботает с сервером LDAP ночти IdK же. как с сероером DNS. Сервер DNS необходим W1Я преобр.азовв.НЮJ имен n 'PMpcca. trrобы можно БЬJJ1О определить. куда следует послsть сообшеtше. Аналоrнчным образом с помощью сервер<з IOAP f1Дется поиск псеanОНИМ08, ПО.JВОЛЯЮIUIIХ переНi.1пран.'1ЯТI почту в прзню/ьное место. В обоих случаях поиск начинается 8 IlpOCTblX фаЙ.1iiХ (jetc/hosls и /etc/aliases) и заК311чинается в базе Д8ННЫ'-.. ПрОТОКОЛ LDAP подробно описан в :)Toit rлаве, а также R П13flе 18. В конце Jтoro пар<зrpафа мы расскаже о том. как работает л.анный протокол, затем. R параrpафс 19_8. рассчотрим fЮПрОСЫ Вlаимодс,стnия LDЛР If !o>cndmail и, наконси. и Шl.раrpафе 199 принедем при мер IIСПОЛhJОRШНН1 протоко.'1Э ШIЯ сощаНIfJl псевдонимон 11 8иртуальноrо ХОСТИlrа. 01llНl.КО rlреждс f\cel.o след.уст рассмотреть ТРШl.lЩllOllllые Сllособы Ha1Ha чення I1сеНДОНИМОR JlcCB!I.OHI1MbI Mor)'T быть опре.:rслеl-lЫ н трех места"- (II: сожалС:IIИIO, с IfСПО.'1ыоваН1IСМ трех РЗ1НЫХ СlIнтаксисов): н фН1JС КОllqтrураUИl1 IIOЛЫОRlпе.llhCКОI-О 31'е1lТЗ (1IOльзователемотпра fllпелем1; 8 обшеСl1стемном фаИ'1е псеВДОШ1М08 /Clc/mail/aliases (С'lстемным aдMII- нистраТОрОМJ: 8 пользовательском файле переадреС31ШИ  /.rorward (поль::ювателемпо ЛУlЗтелем ). ПользоваТСЛЬСКIIИ з,-ент IIШет псе8ll0Ш1МЫ н филах КОНфllryРЭНJlИ пользователя 11 рскрьшает И ПО подачи сообщеНllЯ 8 поч roвую систем}. с ТСХlпрrеской ТОЧКИ ЗрСllИЯ псе81ЮНlIМЫ конфиrурирует только СIIСТСМНЫЙ ад...II1.lистратор. 1l0ль.зон:втеШI 1Тр.Н\.lЯЮТ маРШРУI'изашtсй почты Ilpll пОМОШI1 фаlIа .rorward. который в дсfiствитеIЫIOС ПI не Ilmce-r nряr.fOl.О отношсния к IIсевдонимам. но мы объеДI1".,JЩ здесь оба этих средства 579 r лово 19 3лепронноя ПОЧТО 
Трсшспортньrй areHT. т.е. nporpa\..1Ma sendmail. ишет псеВl10НИМЫ [\ rЛООi:L'1ЫIОМ файле alia5es, а затем- в обшесистемном фале .fоП\'аrd или 8 фаJlах переадресаuии получателей. Псевдонимы применяlOТСЯ только к теМ соо6ше ниям, которые nporpSMMa sendmail с'Читает локальными. Вот несколько примеров определения псевдонИМОВ в файле alinscs' nemet.h: evi evi: evi@mailhub aur.hors: evl, 9i!1rh, scot::., t:rent В перпои строке указано. что поЧ1)'. поступающ'ю на нмя пеmеth. следует доставлять ПО!1ыователю e\'i на локалъном компьютере. во BTOPO  что всю почту, прю:одящую на имЯ f"i, С.1едует Доста8..'1ЯТЬ на компьютер mаШIUЬ. И Н8конеи, третья строка опредеJ1J.1ет. что почту. адресованную rpynne DlJthors, следует доставлять пользователям fvi, gartll. scott Jf trсп[. Блаrодаря peкypcllJ.1, почта, посланная на имя nemeth. попвлет по адресу evi@maill1Ub. rлобальные псевдонИмы определяются 11 фай."'Iе /etc/mail/aliвses (в HeKO торых систеМах  /u.r/lib/alia.e. или /etc/all....). Местонахождение ф.йла aJlases указывается в файле конфиryращfИ nporpaMt.fbI selldmail. Допускается НИJ1Ичие нескольких фай..'lОВ aliasE:s, а также ИСПОЛЬ10вание альтернаТИI:I НЪТ ): мс:хани'1МОВ, например службы NIS или специальных б83 даНJ-I.ЫХ. 0' Более lJодроб/(\'/о IlНfJЮРltICщиlO о службе N/S .\IOЖНD найти в zлаве /8. Записи фCij.\ла aliases имеют следуюший формат: локаЛhноеиuя: 1I0луlJiI'J'eJlыl, j]ОJ:У"ilтель2, .,. rд.е .Jокtlльноеиft.fя  ЗТО адрес. СОПОСТRаляеIllЫI'I с адресом RХОДЯШСI"О сообшения. а список получателей содержит либо адреса получателей, либо друrие nceUOtii1MbI. Строки с отс1УПОМ считаются продолжеНJ.1ем предыдуших строк. е точки зрения системы электронной пОЧТЫ фал aliases имеет приоритет нм файлом /etc/pBsswd, поэтоr-.rу сrшестuование записи david: david@somewheree:!.se.edu не позволит локальному пользователю david вообше коrдалибо получить почту. По этой причине при добавлении НОПЫХ поль:ювателей (нручную или с поМоШЪЮ сuенария addlJser) необходимо IIроверять и файл passwd, н файл aliases. Файл /etc/mail/aliases Bcerдa дОлжен содержать псеanоним postmaster, который обеспсч--ивает пересылку сообщений лину. отвечающему за работу :электронной почтЫ. Кроме Toro, должен с}'шеСТDовать псе53ДОНИМ мМ аитомати1.JССКИХ сообшени nporpaMMbI sendmail. Обьrчно он называется MBilerDBemon и эквивалентен псеEUlОНИМ' рostщзstсr. Почту. приходяЩУЮ на и\.iя root, необходиfO lIepeaapCCOJ3blnaTЬ аДМИНIf стратору или лицу, которое '8XOдl11' u систеIУ ежедневно. Учетные записи Ып, sys, dBemon, nobod)' и hostmaster (и все остальные имеюшиеся в системе псепдополъзовательские учетные заПИСJ1) также должны pacno.1araTЬ псевдо. нимам.и, с поюшью которых осушеСТ8лялась бы пересылка почты реальном}" пользователю. Файл sendmall/Bliases из дистрибyrива проrpаммы я-вляется хорошим шаблоном лля создания псевдонимоВ систем-ноrо уровня В нем можно найти советь, оТНОС'J..пе;JЬНО безопасности и примеры тoro, как обрабатываются некоторые полыовате.:1ъские запросы. 5110 Часть 11 Робото В CeTlI)( 
nporpaMMa sendmall вывляетT umcrrы в псевдоню.f3Х, способные привести к бесконечной пересыl<еe почты к месту назначения и обратно. ПроrpаМ'f8 подсчитъmает число строк "Received" в заrоловке сообшения и, "310: только ЭТО число превыает установленный лимит (обычно он paBel:l 25).. ВQзнрашает сообщение отправителю. Каждое посешс:иие сообшением HOBoro J.::о\fпытераa на жарrоне разработчиков liепdшаi1 называется "прыж)'::ом" (llОР), а rЮJвра шеНI-IС сообшения отправителю  "рltкошетом" (bounc)... ПОМИМО СПl1СКОВ пользователей псеВдОНlfМЫ MOIyr обозначать файл, содержаlШfЙ список адресов; файл, в который II.олжны добавляться сообшения; команну, на ВХОД которой должны передаваться сооошения. Поскольку отправитель сообшения полностью определяет ero содержlt мое. указанные выше злемеtпы часто исполъ-зуlOТСЯ '\акерИМJ1. ОДl-13КО nporpaMM3 sendmail очень подозрительна 8 отношенин 8дадельuев н прав посту'па к таким файлам и командам. Чтобы избаВIПЬ npOrp<1MM}" от этои подозрительности. нужно устанопить одну 113 ОПLlltft DO;'LtB1C;:l""'eSr,ama:..l. К сожалению сообшеНЮ1 об ошибках. которые rеt-Iерируются nr or p;;tMMo1\ sеlldшаil при обllарr..кетН1 нарушеНI1lI. Кttса.IOШИХСЯ прав ДОСl)'па If Rладе-'lьнеU фаFlЛОВ. не исеrда понятны. Получение списков рассылки из файла Дирекnrва : 1.ncluae: является ОТJШЧНЫМ способом уllрав....ения ПО.11ЬЮ В3ТСЛЬСКlIМИ СlIисками рассылки. Она позволяет не у-казынзть объе....'Ты. оБОЗН3'rземые псевдонимом, непосредственно в файле aliases, а брать 11>' из ннешнеrо фал.а. Этот ФtlЙЛ \южно изменять без вмешательства CllCтeMHoro адМИНlfстратора. отвечаюшеrо за rлобальный фаtl.l aliases ДЛЯ СО-Ш3I-11-'1)1 списка рассылки Cl-IстеII-IЫИ MMIIHI1ClpaTop должеt-I внести IIсеflдотlJ в r110б.L'IЫIЫI1 фаил aliases, а затем СОЗ.!I.зть ПОДКJlЮ'lаеМЫII фаЙл И при ПОМОЩИ команДЫ chown ,-=л.слап.. el"o RладСjJhUСЧ 11Olъзои"'те.'J1. упраВ;IЯlOщеrо CIIIICKOM раП:Ы;!l..\I. Напрш..lер. фЗIL:J alia!roocs может (одержап.. строку: sabook: : 1nclude: /us:r:/loca.l/m.ail/usah. reacier.s ФаЙл usah.readcr,!;: ДО:Iжеl-l находиться 8 "ЮКа!IЫIOII ф.ШЛ0801f системе. а не R системе, СМОIIТllронашlOИ сrедстпами NF-.S..... KrOMt" ТOI.О, 13ШIСI. В .]ТОI фаил должна быть рlJрсшt"IЫ 10ЛЬКО el.o В!ltlдеIIЫI\'. п-IlЯ ПО.1IНОТ6I НЖIIO тtlКЖI: COJ.J.aTb ПССFlДОlllfМ. СООТliеТСIВЮIШIII BJ1dДeJlbIl СПl1С"d раССЫЛ...-JI. с тем чтобы сообшеНltя об ОШllбкil.Х ("рикошеты.') rIOСЫЛз"'lIft.::Ь fLlздельц). а не отпр.нш телlO сообшеl-IИЯ. Qwnersabo()k: evi Число 25 задано по умолчанию. Этот пара метр можно измеlllПЬ в фзил(' КQllфl1l1'РЩИИ В ЭТОЙ rлзве мы несколько IlеrlOспсдоваТСllЫIЫ 8 теРМИНОЛОI 1--1"11. I-tНОШ.а ШIЗЫ8а)J ВОЗ8raШаt' мое сооошеЮiС "рнкошетом", шюrДi1  '.сообшенисм об ОШl1БJ.::С". Об" rCrM1ll1od ОШЗ.'l.lюr ОllНО и ТО же: roобшеНl1е, которое оказа.лось невозмоЖиО доставить ащх:са-ry. поэтому 0110 Iюзвращается o6parHo. оБЫ'IНО ОТllр3ВИТСJlЮ. Есюt фай..l0вая CltcтeM(I СМОНТ"Рo8аН8 с флаrом ha.ro и сервер NfS выИ.дст 10 строя, то IIpOl1'3MM3 seDdmail "заВIСНСТ". При лом остзt-lYi.СЯ открытыми дескрШIТОрЫ некоторых файлов и окажутся заблокированными некоторые процессы. Это может ПрШIССТII к IIpeBЫ шенпю лимитов на ЧИСJIО I1роцеССО8 и открытых файлов. В результатС' ПрltD.ется перезшl'У зитъ компьютер. r лова 19 Электронная почто 581 
о СШIСКа..х рассылки и их взаимосвязи с файлом aliases речь IIО(ШfТ 'I)'TI:. Нlfже. Ноправление почты в файл Если объект. 1'13 КQТорыи укюыnaет псеВДОНIIМ,  .:но аБСО:1I0тное путевое IfМЯ фаила (заключенное в двойные каВЫЧЮI npll наJlIIЧИИ спеLlllaJlыl.ыx символов), то сообшення 1l0баВJ1ЯЮТСЯ в ука....ыНllый фаhл Сам ф3l1'Л II.ОЛ}kен сушеСТ80вать. Вот ПрИl\fер псеElдОI(има: COmpldir1ts: /dev/nul1 Возможность r!Осылать ПО'IТ:' FI фаил '''"111 1..1<1 IХОД проl-раММbI очень полезна. но она ослабляет беЗОll3СIIОСТЬ 11 поэтому должна быть оrp;.lниченв. Приведенный сиtпaксис ПОllXОШIТ ТОЛЬКО пля файлов aliases и ПОЛЫОRателъ-- СКИХ файлов .fonvard (а также ШIя файлов. которые присоеШ1НЯЮТСЯ к ним посредством лиреКТИ8Ы : lncllide:). И мена файлов не трактуются как злреса. ПОЭТОМУ почта, направленная по злресу /еlс/раsswd@llОSI.dОlЛаiп. будет возвраШfна. В базах данных LDAP неJlhJЛ ук..\зывзть фаилы в качестве места постаВКlI почты Некоторые nOJlb30BdTellbCKI1e areHTbl ПОlВО.'ЯЮТ направлять почту в локальный файл t например. н ПdПКУ IfсходяшеЙ почты), но таЮfМ способом СОJлается КОllliЯ сообшеt-IIIЯ, Т..е. соооше-llllе в деИСТВIПСЛЬНОСПI не посылается в почтовую систему.. Если ссылка на файл содеРлШТСSI в фаЙле ali.ses. то мресуемыА фаЙ:Т должен ;Jибо 'Meтъ раlрешеНllе на l<'1ПИСЬ пля всех ПОJlьзователей, .'11160 JtMeTb устаноменный бит смеllЫ идентификатора по;rЫ08зтеля (SUID) и быть АfИСТJолияемым. ЛАбо ПРШl31lлежап. OCIIOHI-IOMY пользователю nporpaMMbI sendmail Этот ПОЛI:.IOватель lадаеп:я при помоши ОПLl1llf Defaul t.User Обыqно ИМ J1Н.'Нlется IIO.'IЫОВ3Тt'пь tпаilШIII. dаешоп IIЛII ПОЛhJователь со lНOl'lеНИЯМII IЛD и GID. равными 1. Еслн же ссылка на фМ1..'1 содеРЖIIТСЯ в фаЙ.1е .fol"\\'ard. то a.npecyeMIзIt1 файл должен прина.плеж.пь 1I быть доступным пля- записи ОСНОВНОМ} попучзтелю сообшеl-lJ1JI. НеоБХОIl.IIМО, чтобы :пот пользователь был v..-а1<.tн в файле /etc/passwd. а ero IIIперпретатор KOM.H-Iд БЫ;1 упомянут  файле /etc/!'thells. Для файлов. IIРНII3Шlежаuшх rто;rьзонаТС.1Ю root. следует задать режим доступа 4644 К'Ш 4600. т.е.. vсТЗIЮВИТЬ бит SLIID и отменить воз",южность НЫПО.'lliснltя. Направление почты в проrрамму Блаrодаря пс-еВдОНlIМЗМ можно орrаНl130В.пь перСНi:шрзвт':Нllе 11O'IТЫ 1-13 вход ШlI.ЗННОН nporpaMMbI. )то реа.rшзуется с по,-юшью строки ПрllмерllО слелуюшеrо ВИДа: aULoftp: "] /usr/local/bir1/ftpserver" Однако ИСпОJlЬJOВШIJ1С T3Koro мехаllизма СОЗДает еше более серЬеЗJ-IЫС: бреши в зашнтс, чем наПРЗllТlеr-1ИС почты" файл. поэтому данный механизм раlрешен только ЛЛJI фаЙлов aliases ..., .fof'Vr'ard. а также JL1JЯ файлов. которые присоединяются К Нl'''' посредстиом lПIректины : inclUde:.. В фаЙпе зliзеs проrpамма вызывается от lI\leHII OCJ-IOВlюrо ПО:lьзоиателя проrpзммы sепdПlаil. в Oci..UlbHbIx слvчаях  от ИМСШi ВЛallСЛЬLl3 ф3f1!1<1. .rОI"\\'зrd ИШI ПОДКЛlOчаемоrо 582 Часть 11 Робото в сетях 
файла. Такой пользователь должен быть указан в фnfLПС fetcfpass,,'d. а ero интерпретатор KOMaнn попжен быть упомянут в файле fetcfsllells. Вызываемая nporpaMM3 использует каТ8Лоr очереди nporpaMMbI sendnlail 8 качеетRe р.lбочеrа. но не всем интерпретаторам команд разрешен к нему доступ. Если выдается сообшеШfе об ОlUибке, просмотрите 8 документаuни сведения о ф.'1аrе о== areHT8 постаВКII. ....апраВление почты в фаЙл создает потеНШ13ЛЬНУЮ брешь п системе зашиты. 1l0JТOMY 111 соображений беЗОfldСНОСТI.{ Не следует ИСllользовать npOl"paMJ\.IY fblll/sh ., K8'leCTue al'CHT8 доставки. Вместо зтоrо ПРИ!\'1еl-tяите проrpaмм} sll1rsh, которая предстаnляет собои усе'lеНlfЫЙ интерпретатор команп sendm3il (о He речь ПOJщет 8 параrpафе 19.11). Примеры псевдонимов Вот некоторые IIсевдонимЫ, которые Mor)'T понадобl1ТЬСЯ системному администратору: I обяэвтеJlыiеe псевдои.имы. pOSLrnaster: trouDle, ev1. postrnstre5s: post.mast.er МAILERDAEМON: post.rnast.er ho.st.master: trent аЬuзе: pos't.mas t.er webmas't.er: trouble, t.ren't. соо:[: trouble, trent usenet: пеwзmаstес I СflИСКИ рассылки ШI'! "npоблеыной" liОЧ'l'Ы t.rouble: : J.nc!ude: luзr/lосаl/mаil/trоuЫе..аlidS trouDleLrap: "/usr /local/mail/log5/ t roublemail" tmr: tr01.lbletrap, ;include: lusrJ local/mail/trnr. a!J.as It Для удоБС'L'ва СИС'l'еЫНоrо аДМИliис'ра'!'ора diary: "/usr/local/ad.min/dJ.acy" info: "'l/usr/local/b1n/sendinfo" . Лсе5ДОНимы. Y'-IеБI-lЫХ классов, lo1еНJlющv.есн кахдый ceыec'l'p sасlаБЗ: realsa.class@nag сеаl 5aclass: ; nclude: lusr Il",call adm/ засlаss.1 15 t: В ланном nplfMepf' мы хотим. 'lТобы Ilpll ВОJНИКНОIJСНШf проолем осе ПО!1ЬJовзтели УlIlIвеРСlIтетскоl"O rapOllKa моrЛ1l посылать nO'ln' по одному псеПДОIIИМУ: LroubIc. Отчеты о проблемах исеl'дЗ должны направляться СООТИСТ<"'Т8УЮШСИ rpУПIlС местных системных администраторов. Мы СLj(пасм, что почтовые псевдонимы нужно ЗМlIИ3ТЬ так, чтобы: почтовые сообшеН1fЯ о неиспрашюстях ncerдa постулатl Б соотнетсТ8УIO тую локальную rpуппу; на всех к()мпыотерах использовался ОДllнаК()IiЫИ фай.1J псевдониМОВ; Это не совсем верно. На самом II.сле иуЖIIЫ только псевдонимы postmaster и I\-L.uLЕR DA.EMON (зтоrо треб)'юr ДОКУМСf-rrbI RFC). Однако обbl'tио 8КЛЮЧают еще псевдоиим-ы hostll1aster. ahUJ!iC, webmasrer. 583 r 11080 19. ЭпеКТРОIНОЯ ПОЧТО 
отпельньrе rpYnnbf администраторов контролировали СНОИ собствеl-lные СffilСКИ рВССblЛКИ Уопии BC X почтовых сообшен-ий о неиспраflНОСПN ПОСтynв-'1И в :юка..'1ьный журнальный фаJ:tл каждой rpуппы В приведенном выше ПРllмере эnf цели ПОСПlrll)'ТЫ: опре.lСЛСНJlе IIсевдонима Lrouhle берется из од-ноrо и Toro же фаила Н8 каждом компьютере. Почта по адресу LroubIe@ancllOr и почта по адресу IrollbIe@botllder попмает в конце кониов 8 разные места, несмотря на то что на ком:пыотерах anchor и boulder используется ОДИН и тот же файл /etc/mBil/aliascs в пределах каждоro фаК}Jlьтета почтовые сооБШСIIИЯ о ненспранностях обычно обрабатываются на о,:{ном компыоере.. HdnpllMCp. прн наЛИ1.fiНI a!.lpeca ::rоu.ыl@rлiJвнblй ICOJ,lllblO'l'ep в файле troubIe.alias на ПОlIЧнненно\t компьютере сообшения о иеиспраВНОСПJХ направляются на соответств\'ющий rла8l1Ы компьютер. Поступившее сооБWСJlие посылается псевдоним tlllr. пол которым скрываются читатели почты о неисправностях. ПсеlШОНИ.М tmr задав таким образом, что сообшснне сначаJТ3 lаписыастсяя в )fo,.YP laJTLHbIt1 фай '1 блаrодаря псевдониму troubIetrap. d затем рассыл ется пользоnате.пям, список которых берется из фаила на ПliШНО\1 компьютере ВК.'1lОчение адмю"истраТОРОВ IЮ вичков в список lnlr хорошин способ ОJнаКОМIПЬ IIX с ПfПИЧНЫМlf оопросами по сопровождению системЫ. (; ответами ЗДЧНIIистраТОРО8 и с тем Т'!ЬСП1ВЫМ тоном. которым ВУЖIIО обшатъсSl с nолыоиатё:JlЯМИ. Данный МСХЗНII JM ЛIIШЬ flерх шк аj::\сберrа. ма,'1iЮl часть солидной системы обрабОТКII ЛltаrностичеСКШl з.'1с.....-троНной почты qllcUCll1h, построен нои на базе ПО.'1ьзошпе..1ьскоrо rellTOl tnh. ПсеВДОНИ 1 sa class яв....rяется двухуровневым, поэтому файл данных. сопержзшнt1 список ступентов. может УПрЗl1..1ЯТЬСЯ с ОДНОIU компьютера: nag. Для псеВдонима sabook, ПрИВОДIIRl.Uеl ОСЯ в одном из преды;rУШJfХ примеров. также должен использоваться такоЙ подход. чтобы НС требоuшlOСЬ копировзn. подк..'1ючаемыЙ файл. ПсеlШОI-IIIМ diary очеl'IЬ удобен для тех студенчеСКIIХ администраторов, которым требуется ПО"'l'меНТllfюuаl"Ь СПОll пеЙс rЩIЯ В файле diary системные администраroры \юrут \раннть сообшеllНЯ о Вз:юtЫХ соБЫПIЯХ в ЖИ)III-I компьютера (обllOвлеllllе ОС It ашшратвых средств. IЮЛОМКИ и т.п.). Опнако IIC IlОмеШdЙ1е JTOT фёtilJ1 R ту же ф;нi.10ПУЮ снстему. ITO 11 журнальные фМlЛы. ;;\J.:'epbl МОI)'Т добиться п.:реПОЛНСНllfI фаИЛО8011 CIICTeMbI J1 Tt:M самым 80СlIрелятствоn;:пь запнсн D ЖУРII<LIЫlые ФёIИ.IЫ ('по ПОlВО:IIП Ю., Ji1меСПI слепы). Перенопровление почты Фаj"1f] aliast's :по обшесисте\шыi:{ конфиrУРЗЩlOliНЫИ фай.'1. который должен нестись адМИНl1страторо\(' Если каКОЙ Нllбупь пользователь зз'\очеТ псренапраалять С80Ю nO'Il"} (t! ДЛЯ посТ) 11.1 к nоч re fI ОРI.аНlIзаШIИ не применяется протоко", РОР 11.111 (МАР). он сможет сделать JTO путем создания файла .rш"\\.аrd и споем H IMJlbHOM ката..ЮJ"t:. раныlсc проrрзммз SСlldшаil псеrл8 ПрОСМ8Трl1НillЛI вача. IЫlые ка1il!lОПI ПО.II,]()взтелсЙ 113 IlреД\IСТ II 'IIЧИЯ фаЙЖ1 .foпvard. однако сС'нчас lUlfI к.тJlОЧ IIЮl ДallllOl'О рСл.:l-tма необходимо IIСIIOЛЬ зовать пеРС\lенную .o["'.,;ardP.c.tll. Фаил .fCJП't'иrd часто IIР"I'lсняется п случае. Korдa 1J0льзоRltтель хочет получtlТЬ IЮЧТ). на КОНКрСТlIO\.1 компьютере ЮНt 584 Чость 11 Робота в ceT X
коrJlЗ он переходит 'iЗ onHora ПОДР8З.flелеН11Я в др}rое и хочет, чтобы почта пересылалвсь TVдa. Файл ,forward состоит из O;IHOI'1 строки, 8 которо" сопержится список разделенных запятЬНоШ адресов, или из нескольких строк с aдpecaM1 н каЖD.ОЙ Например: e v i@ipn.ca1.C:i.a.or9 ev.i@xor.com или \mcbryan, "fhоrnе/rnсЬr}{ал/аrсh::..vе", mсьrуаnQflэuрil.gmd.dе в первом примере почта пользователя evi не будет сохраняться на лока.1'JЬНОМ компьютере, а б)'.n.ет пересылаться на компьютер ipn в ортаШlЗаUIIИ СА' ОА (СанДиеrо) н на узел xor.com. Второй пример  это запись ПО!IЪЗовате.1Я, КОТорЫЙ не доверяет notrтoBbJM системам и XC'ICT, 'lТобы ero почта КОШ11:хшалась в Tpl-l \-Iсета: в оБЫЧIIЫЙ ПОЧТ08ЫJi Кdталоr на лока:IЫIQ\I компьютере, в l1остаяI-fныlй архип всей нходяшеА почты 1-1 по BpC\fCHHOMY апресу н rерм;аНIIИ. rл.с он ri настоя шей момент НR),ОДI1ТСЯ. Обратная KOCi:1}1 перед именем ПО.'1.ыователя ПРСIl.писывает сохранять почту на .'10Ка.,ьном компьютере вне заВllСJlЫОСТИ от тaro. что задают фаl1ЛЫ aliases и .rorward. Если речь И.iIет о временных изменениях в систе.ме маршрутизации почты, то лучше Ilспользоuать файл .rorward , чем rлобалъный файл aJiases. Нак..'1адные расходы lмаШ'iнное и пользовательское время), необходимые для ,вменения обшеСlfстемных псевдонимов. повально ВЫСОКII, Пользонательский файл .rorwaro должен принаШlежать ПЗIIl-lOМУ ПОJlЫО nзте.;I1О и не н мет[, раJрешеНI1Я на запись для труппы 11 остальных ПО.1ЬJовзте..1еи. ЕСЛII протрамма !'i;('lldmail решит. что п\rть ..: фЙ'lУ .rorward является безопасным (Т.С. ШI. ПУПI от KOPHCUOI'O KaTa.aora Ht нарушаются npaotl доступа), то фаlЛ JOr\\'ard бупет UК1lючен Ii П04тавуlO систем}'. В npoTIIHOM CJI)'llae IlрllсоеПIflения не ПРШ130йлет, так }о,"аК подозрнтльные фалы .rorward иrнорируются. Права достутш к родительском)' KaT3:Iery таюке должны быть правильными (т.е. Ilpauo 381ТИСИ ПО.'IЖен иметь только тот полыоватеЛh. который владеет фаЙ!Iа.\ш). Естественно. проrpaмма sеndшаil LIOлжна обладать правом ДOCTYТla к наtlальному каталоrу пОJ1ЬJOвателя на компьютере, куда доставляетсЯ почта. вепь nporpaMMe нужно опредешrrъ, И"1еется т1 Ta'd файл .ror\\.ard. Еспи изменение адреса носит постоянныt1 харю,"Тер, ero необходимо внестИ R фаЙ:l /ctc/mail/aliascs, так ..:ЗI< наальный каталоr и файлы 110ЛЬЗОВ&::Iте.1Я бдут в конечном f-IТОrе yдa.rтeHЫ. Проrpаммз sendmail располаrает чудесным средством. FЕ.:а.ПJRЕ ( I rdl  rect:. I ), которое позволяет обрабатывать Ilзменения потавых адресов. [CJНI псевдоним пользователя указывает иа адрес 1l0"bЗ06aтell,@1106blicaopec.REDI RECT. почта возвращается отnраuителю с увед.омлением о НОВОМ адресе. ПОСКШТЫ\.')' сообшеl-Пfе не пересылается по ноно",!}' адресу. отправитель вынужден внести ИЗ1о..rенение в СRОЮ адресную КНИТ)' и повторно послать сообщение. П IIOтрамму sendll13i1 можно сконфиryрировать на ПОМСРЖ"'у' uентральнО1"О каталоrа 1Я файлов .rorward. Это, O.iШёtКО. упобнее д..'1Я nporpaMMbI sClldmail. а не JL'1Я ПО.ll.ЗОВ8телсfr Местоположение файлов .rorward задается ОПШ1еt1 ForwadPatt:., которая указывает сна43!lа на Llентральный каталоr. в затем 1-18 начальныи катаЛОl пользователя. В доменном файле generic.m-l (принед,:н в параrpафе 19.9) содержится пример З8l1ания ueнтpa..1bHoro каталоrа ДЛЯ фаилов .rorward. r ЛОВО 19 Электронноя почто 585 
Записи rлобальноrо файла aliases ....МеюТ I1РИОРlfтет нал З<tШ.IСЯМИ файла .forward. Поскольку эти файлы ведутся разными людьми. следует действовать очень аккуратно и следить, чтобы не создавались "почтовые ииклы". Если пользователь сеТlJ имеет пОЧТовый кзталоr (и. следовательно. запись в rлобальном фаЙJlе aliases). он не может с помошью фаЙла .forward перена прз8.I'JЯТЬ почту на компыотер. Пlе I(спользуется такоЙ же файл ПСС8..'lОЮiМOII. Например. в университете штата Колорадо. rде мы прltмсняем rлобальный файл aliases. запись evi: evi@boulder и файл .forward на компьютере boulder. содержашнЙ строку evi@anchor.cs создадут "почтовыЙ иикл". Ilочта, адресованная пользователю e"i. будет напраWlЯТЬСЯ на компьютер boulder. rде () фаЙле .rorv.-ard задана ее ПрССL1Лка на коrпыотер snchor 8 поддомене "cs". Однако 8 файле aliases на компьютере anchor содержится указание пересылатъ почту обратно на компьютер bolllder.. После 25 переходов rю'па будет 80знрашеН8 отпраuителю. Если ваш основной способ J<оммуникаuии  Э:lектронная почта, то уведомить пользователя о В03НИКНОhCнии "ПОЧТОRоrо Ulfкna" непросто Koru(\ псевдоним задан в виде \lIйЛhзvватедь-. почта будет доставляться 1.13 ЛОК3..'1ьныи компьютер независимо ОТ Toro, 'IТO указано n обшесистеМIIОМ фаЙле aliases и ПОЛЬ..10RЗтеJlЬСКОМ файле .roп"ard_ Если имеllНО на этом компыотерс полыователь ожидает ПОЛУЧJlТЬ почту  rlpeKpaCHo. еслИ нет, ПОШЛlfте сообшение о I.ПlЮТС псеидониму postmdster ИЛИ обрапrrесь к проneреНl-IOМ} средству: телефону, Хэшировонноя 60ЗО донных псевдонимов Ilоскольку элементы в фаЙл(: ali:ases раСПОJlOжены неупорядочеНllО, прямой поиск в ЭТОм файле был бы для протраммы sеndшаil неэффе","Тивным_ Поэтом} создася 1(эшнроваllная BCpCIН:j файла aliases. Это llс;тается Лllбо средствами библиотеКII Berkeley DB. либо с помощью nporpfl'IMbI Ildbm. которая ЯRЛяется CT.JHIl<!pTOM для БОЛI>ШИНСТRd lIерClНI LINIX. ХЭШllроuaние значительно ус КОРЯС.I понск псевдонимон, о..:обенно в больших ФClЙ:13Х_ Файлы. оБР3JОНЩlllые из ФШ1ла jetc/mail/aliascs, lIа ILIBaJOTCSI aliase.dh (если они получены средствами ОВ) или aJiases.dir 11 aliases.pag (Н СЛУ1raе использования пdЬш) Файл с расширением dir  .ло ИНДекс lШЯ фаiлз с расumренисм pag. 1) котором ню:одятся данные. При К3ЖllОМ измеНении фЙllЗ aliases \:'Эшировзнную базу данных следует IIсрестраlшать с IIOМОЩЫО J.::ОМilНдЫ пеwаliзscs. которая просто вызывает IlporpaMMY sendlnail со сI1сшш.'lьнынH флаrами командной строки (ы), указЫRЗЮШI1Мl1 на необходимость перестроfr ки базы hal-lllbIх. Если команда newaliascs вызывается в автоматичеСКО'f pe>h'lfMe. сохраняйте выходные сообшеllИЯ об ошибках, поскольку MorYT быть про6леIЫ с форм:з.ТНРОl\анием. КОМПIfЛIРУЯ I1pOl-рамму спdlПаil. НУЖIIO НКJТIOl1fТЬ 1100U1СРЖКУ базы данных либо штя биб!IИОТСIШ dЬm/lldЬш, Лllбо ЮТЯ бибЛl10теК1t Berk:eley ОВ. либо Д.1Я обеих сразу. Если ПОДКJlЮ'IСШ,. обе бllбЛltоте...,., 11 СОJдается фаlt.!1 БЮbl даиНЫ'\:. ТИП KOToporo не указан, lIСПО.']ЬJУСТСЯ ИСрСllЯ ОВ. Если ПРНМСIНIСТСЯ Сll J жбd Возможно, ПрИЛt::ТСЯ использовать не ошщ. а дuз ,!ли более СИМБО.l08 обратнои KOCO!I 'Ie('JТbl. 'побы один из НИХ "прошеl" I1"IrrepnpeT3TOp ком..а-ш It попал Б Ilporp01MMY sendnlail. 586 Чость 11. Робото в сетя)( 
NIS. проrpаммi:!. send",ail созд,,"ст базы данных обои'\ ТИПОR. но работать б}-дет только с версией DВ. 0" Подробllее о 1VIS рассказываетСR в V/oee 18. Библиотека Berkeley ОВ написана и сопровождается КИТОМ Бостикоr-.l (Keith Bostic) и Mapro Сельцер (Margo SeltzerJ; ее код можно получить На WеЬузле www.sleepyc8t.com. Оиа намноro пучше (обеспе"нrвaет более бысrрыи доступ и меньurnе размеры файлов базы д..ншы'l(), чем проrpамма ndbm Библиотека имеет открытый код и своБОдНО распространяется при ус.повии. что она не входит в состаи коммерческоrо продукта. В противном случае требуется приобрести JlИIIf'Н]ИЮ Списки рассылки и проrpаммы ДЛЯ роботы с ними Список рассылки  ..по rpомадныЙ псевдоним. при помоши KOToporo копия каждоrо сообщения. .щресованноrо спио..'У. передается каЖдОМУ члену списка. Списки рассылки ПОдОбны rpупnам НОlЮстей User1et, в которых новости распространяютсSl посредством электрожой почты. Списки раССЫЛКl-1 обычно объявляются в фаЙле aliase:s. но ФОРМltрУЮТСЯ во внешнем файле. С}шествуют стандартные СOl'лашеНIЯ по IIрИL"80еНI1Ю .,мен. понятные проrpа,..",е SСlldшзil и спеlIНальным nporpaMM3M 8еления cmlCKOB Р1ССЫ:JI.;:И. Опытные ПО!lЫО83теJlИ rоже придерживаются их -ЭТи СОI"'Jlашения К'I!IЮСтрНрУЮТСЯ слеДУЮШIIМН примераt..НI: mylist.: : include: /er.c/mi!il/include/mylist owne["mylist: myli5trequest rnyli5t["eque5[: evi owne["ownec: postmaster rHe m)"list  JlМJI СIIIIСЮ:1 раССЫЛЮ1; в файле /etc/mail/include/mylis1. содержится список ero членов. СообшеНI1Я об ошибках, Iюзникаюшие при отпрапкс почты по CIllIC....-у рассылки. 11 запросы Н2 ИК.J1Юl.lеtше 8 список новых членов посылаются el'o MMe!lbUY: 11OЛЬЗOllателЮ cvi Косвенная алресаЦИJ1 "ПЛ8.а:слеu  JClllpOC  ПCJЛЫОR<l.тель" удобна. П'lК как адрес ютадеЛЬШI (nlylitreque!\ot) становится адресом ..ReНlrnPatI1" J.::""ждоrо сообщения. посы лаемOI о R список рассылки. ПсеUДОlII-lМ mylistrequcst  более rlOДХОЛSIШая форма. чем НастоЯ шее ПМrI ЕlJlадеЛbLl.l. СообшенJ.tя об ОШ11бках при I-Iапрдн лен-ии ПНсем псевдониму O"11ermyli5t (t13 саМОМ деле :по e\.jJ посылаютСЯ псевдониму ownerowner. Если достав1<.")' сообщения ВЫПолНИтЬ невозможно и владелыrу СПlIСК возвращается сообшение об ошибке, это называется рикошетом (bounce). Если же неnозможнО досnшить само со06шение об оumбке. то У8еllОU1ение об этом IlззываеТСЯ двоиным рикошетом. В 1.lашем прl-l'мере такое уведомлеtшс посылается IIсеl:lДОНI1МУ О\l,'Лrrоутеr (т.е. postmaster). КОfJl<! IIсполь.ч'еrся обшеСlIстемный фi1ИЛ псеВДОIIИМОП, lIеоБХОДIf\.Ю RвеСПI еше OnllН ypOBCllb КОС8енной адrесашш. связзв псеВДОНI-IМ 1n)o'list с a..!lpeCOM реаА,.,теU\fJl{"f'UСl(о@.ЬJ(JвlfыiСКО"lJт.ютер. чТобы фаин lIаНных. co держащий СI!ИСОК Чl"JеН08. xp..1.I-пtлся только R OnllOM Месте. Сущестиует несколько ПаЮТО8 проrpамм. которые антомаппируют рlбо' со спискз1.ш рассьv-нш. С их помошъю по.аыователи MOryr добавлять" \'lIалятЬ себя из списка, просмаТРIlБать информанию о списке. ПОЛ}'Ч3ТI. файлы по электронной ПО1.пе I т.д. Среди ЭТИХ пакетов отметш.r следуюшие: Мё1JоrdOl110 (\I/\v\','.grcalt:lrc1e.com): rJ10BO 19. ЭлеЮрОtlНОfl почто 587 
Маilп1ВЛ (www.list.org); LlstProc (www.cren.neO; Sl11зnLis( (www.procmail.org); LISTSERV Lite (www.lsofl.com)". Хороший FЛQархив На тему nporpaMM для списков рассьтки составлен НОрМОМ АлеКСОМ (Norm ЛlеksJ и достулеи на FТРузле rtfm.m;[.edtl (ишите раздел mаil/lislаdmjп). К сожалению, ЭТОТ архив больше не пополняется, поэтому может содержать несколько устаревшую инфорМ3UIiЮ. Тем не менее в нем MHoro полезных сведенJfЙ. способных помочь в выборе НУЖНО проrpзммы. SmartList  самая простая и \.!аленькая по объему проrpзммз из ззнноrо перечня. а LlstProc  самая большая и сложная. OCTaJТbHыe. соrлаСНQ этому критерию, находятся rHeTO посредине. Они QТ.iJичаются методзь..rи управления списками рассылки. Одни больше ориентированы из администраторов (ListProc), друrие  1:18 пользователей. упраn"1ЯЮЩИХ списками рассылки (Маjоrdол1О, Маilmал. Smart, LiSI LlSTSERV Lite). Проrpаммы Majordomo " LISТSER\' Lite ПОддерживают УД3Jlенное администрирование. УпраВЛЯlOшему спискоМ даже не нужно реПiстрrrроватъся иа том компьютере. rHe находится список, поскольку все операции осущест8..'1ЯЮТСЯ по электронной почте_ Большинство проrpаым позволяет создавать информационные ПОдборки (лайджесты) I-Iа ОСНопе материалов. публик)'емь,,( n списке рассылки. Одни делают это автоматически (LisrProc, Mailman, LISTSERV LiLe), n прyrие  после соответствующеrо конфиryрирования вручную (SП1аrtList, M8jordomo). Мы предпочитаем использовать Majordomo. однако. по слухам, некоторые орraннзацин перехоilЯТ на Mailman. ПроrpаМJ\.fbl ListProc и LISTSERV Lile Я-ВЛЯЮТСЯ коммерчеСЮiМИ, поэтому менее предпочтите.:'lЬНЫ: первая  дopo l-a.l, а вторая  лостynна то.."1ько в Д8Ш1ЧНЫХ кодах и нснадежна в работе. Мы не проБОВi:l..'lll работать с пакетом SП1аrtLisr. однако нам нравится проrpаМ!l.lа procmail. на основе которой он построен. Ниже кратко описана каждая из этих nporpaMM. За более подробllО информаuией обрашайтесь к локументации. MQjordomo Majordomo  это написанный .'18 языках Perl и С проrpаммныЙ пахет. который можно получить на WеЬузле www.greatcircle.com. Проrpамма была создана Брентом Чапманом (Brent Chapman), улучшена Джоном Руйаром (John ROLlillard). а в Н8Стояшее премя сопровожnается Ча.юм Уилсоном (Cllan Wilson). Разработка проrpаммы приостановлена. Majordomo 2 сушествует ТО!lЬКО в виде бетаБерсии. поэтому мы опишем ИС1\ОПНУЮ верСIIЮ проrpа"РоfЫ. Majordomo ВЫПОЛНяетсЯ справами неПРИВlUrеrиронзнноrо пользователя, обычно от имени пользователя mDjordom и rpуппы daemOII. Если 8 системе поддержltваются длинные ИJена (более 8 символов). можно задать ИМЯ nlajordonlO в качестве реrистрационноrо. Пользователь полжен принад.'1Сжатъ к числу "доверенных" пользователей nporpaMMbI send.nail и быть упомянутым в ее конфиryрацпи (обычно посредство, объявления оппии cor; tтRUSTED  USERS). 0' ИllфОр.мйцшо О "доверенных" пользователях МОЖНО полу t lUllJЬ в l1арйzрафе /9. / J Majordomo конфиryрируется пр.... помоши фала majordomo.cr. Этот фзй.l содержит команды на языке Perl. посредством которых ННИLIИ3!1ИЗИРУЮТСЯ Эrо сооБОnJiО распространяемая версия коммерческоrо nэкеТ8 LlSTSERV 588 Чость 11_ Робото EI сет'!); 
переменные. задаются каталоrn, опредеЛFIIОТСЯ подпеРЖlfИ8емые списки pac съrлки и правила доставки сообшений об ошибках. Вспомоrательная про rp8Ml\la eonftest позпо.Т[яет протестировать конфиryрашfOННЫЙ файл на предмет отсутствия ну.м:ных переменных и синтаксических ошибок МajоrdопlO треОУе& НaJШ1ШЯ спеuиа.1lЬНЫ>" псеllllОНИМОВ в фаИIJе aliase.!!. nporpBI\IMbI sепdmdil. Самый правильныН способ их интеlрашш в систему  создание отдепыrorо фаила псевдонимов для МцjоrdопlO (последние ElерСИIi nporpaMMLI sendmail поддерживают несколькО файлов псевдонимов). Такой файл содержит псе8110Ш'l'МЫ .nля caMoro пакета Majordomo 11 набор псеВдО нимов для каждоrо управляемоrо им списка рассылки. Дистриб}тив пакета включает файл majordomo.aliases. который может СЛУA<lПЬ образuом. Пользователи часто задаlOТ вопрос о том. как исключить себя из списка рассылки (отказаться от подписки}. Что касается списков. управляемых проrpafмоА Majordomo, то отпет звучит так. Чтобы отказап,сfl от получения JtнформашlН из спнска и.,иfсrшска@tI.ЧRJlзла. слеllУС::Т нзправиrь 110 апрес}' mвjоrdоmо@имя'з."u сообщение. D теле (а не в ззrОJlоике) которото естЬ фр.uз "LlnStJbscrib u.МЯClJUСКtJ" H;III .'Ш1SLlbsсriЬе u....fя'пflсJ.:tJ uдРr!С),lеl(тРOlЩОЙ1l0чты" В перпоч с...lучзr: сообlllение llОJlЖl-iO быть отраlJлеllО ИМСНlIO С тoro ко...тьютерз. с KOToporo ранее была осушеС1l:L.rrен& нодписка на р<!":СЫlК). Во втором случае ИМЯ компьютера, для KOTOpOro следует отказаться от подmfС"'И. является частью почтовоrо адреса. Просмотрltте еше раз параrpаф 19.2.. тде рассказывается . как извлечь необходимую ИНфОрМ8UИЮ из заrОЛОВК08 сооб щения, чтобы отказаться от подписки даЖе в том случае. котда ВЫ заБЫЛIf. [ какото KOMnblOTc:pa KorllnТO ПОДШ1са.1lИСЬ на раСС::ЫЛ"1. Для некоторых списков рассылки ДОСТЗТQI.fНО noc..13Tb сообшение с теКСТО\1 "Ш1SLlbsсriЬе'. по адресу и.иf cпuc,.,,urcqLleS[@u.\lR j':l.1Q. I--IIIКОТДЗ не nосылаЙтс: сообшение об отказе от nодrlИСКИ HenocpencTBeHHo в СПIIСОК рассы.:!КИ. 110СКОЛЫ..-У оно будет разослано всеМ ero подписчикам и все ПО11МУТ. что вы не nOHIIMaeTe. 'ПО делаете. Маilmал Mailman  .по довольно МОЛОдой 'lЛн семеЙства проrpамм. преllнззна ченных для работы со списками раССЫЛЮI t версия 1.0 nporpaMMbТ пQflвилась В июле 1999 тода}. Проrpамму можно найти на WеЬузле y.'\\'W.Hst.org И!IJ.1 8 GNUархивах. Ее звтором Я--ВЛJlется Джон Виеra (Jоlш \'iegв). Сейчас 8 ее разработке ПРllнимают участие Кен Манхзймер (Кеп МiшllеJПlеr) 11 Барри Уорсо (Взrry \Vаrsэ\\:). Ка.:: и МаjоrdопlO, проrpамма Maill1lal1 иаПl1С3Н3 lIа языке сценарltев, но в даНном случае это Pytl10n (WW\J.i'.PYlhOI1 OI"g). ТО,JЧКОМ .:: С01дЮllflO Маilшзп послужили непостатки протраммы Major donlO; плохое управ;rение "рlкошетами". с.лОЖIIЫЙ способ КОНфНI")'рирОВRНJlЯ ДОПQЛtштельных возможностей (8 'Н'IС1"НОСТИ. информзuионных подборш: и СПИСКОв с uе..трализоваННЫ\1 УllраRПением). а также низкая ПРОИЗВОДl1тель настЬ при работе с большими списками. В дистрибутив Malll11an вхолИТ сuенаРlfЙ. который позво;rяет импортировать списки Majordon1O. Проrр<!l\I"-t3 МаilПl311 обладает также сре!Iствами обнарУ'...кения Сllзма и борьбы с I-1ИI\I. БОЛЫIlИМ npCI1\.fYl.1leCT80M проrраммы JIRПяется ее \VеЬинтерфеflс. [то 113Лlfчие ynрОШJ.ет KOOP1ll1Н810py списка (моператору) II1II-f почтмейстеру проиесс управления списком. 8 IlOлыоизтелям  пошщску. отказ от раССЫЛЮI и настроЙку СПI!ска r лово 19 Электронно f"10ЧТQ 589 
ListProc LislProc  это одна из стареЙШltх nporpaMM дан нон) Класса. Она был написаШI 8 1991 r. Анзстасиосом Котеиконасом (Anasl3slOs KOISikoI18S) и поллерживаласъ ПР1fблизительно llO 1994 rода. Затс:м. после нескольких лет забвения. в 1998 r. появилась tювая бетанерсня nporpctMMbI. Ее можно было бесrlЛапlO получить на факультете ВЫЧНСЛlпеЛl,ноf! ТС\'I-llfюt R унииерСlfтете Бостона. 110 на несколько странных УСЛОRIIЯХ JIIшснзирования. Сей'.шс проrpВММ;::I Li!.1 Proc доступна 1-13 \VеЬ)'ЗЛе \V\\'w.crCI1.lle1. но УСЛOlНlЯ ее получения неприемлемы (2oao за копию. llзже ДШl университетов). Тяк что забулъте о ListProc и полыуЙтесь свободно распространяеМЫМI'1 проrраММ8МИ с OTKpьrrЫM КОДОМ. SmQr1Lisl Проrрамму Smar1List написал Стефан "ан llен Берr (Stepllen \'3.П del1 Berg), который является также автором пакета procmail. Дистрибупm SmartljM МОЖНо найтн На WеЬУЗJlе ,,'Ww.procmail.org. Ilоскольку пзнная nporpaMM3 использует пакет pl"ocmail, ПОЧJeбуется звrpузить фаилы рrОСП1311.t:II".gz ' Smar1List.tal".gz. SmanLlsl  IIростая 11 маленькая 110 объему проrpi3ММ.f1. По сутн она представляет собой комбинацию кода на языке С. пранил ПЗl(ста рl'"ОСll1зil ' сценариев интерпретатора KOMaIH. С "Рllкошетами". rл3В1-IОЙ неприятностью СПНСКОВ раССЫllКН. прш-раlма бореТСJI автомаТllчески IIОЛЬЗQватель аитома тически удаляется K ":пнска после Toro. ка..: напран.т-тен ная R ero алрес почта ИОЗDрашаe-rся опрепелеlшое J1.IСЛО раз. Проrраммз SтипLiSI требует наЛИЧl-lЯ в файле passwd .Jаписи (SШВI'"I. Н1IИ. может быть, list). соответствуюшей "довереиному" пользователю в конфш"урашlOННОМ фаi1ЛС проrpаммы SСl1dП1вil. ДистриБУТ1fR S,ШlпLtSl ИКJllОчает утилиту led. которая ззщишает nporpi!MMY от использования с несоrласованнl:.IМ или чаСТНllНО отреД3I<ТированнI:.IМ файлом конфиrypаuии. USTSERV Lite LISTSER\' Lile  это усеченная Rерсия пакета L.ISTSER\', KOMMep'leCKoro продукта компании LSofi IПLеП13Iiоnаl, Ine. Ее автором ЯlШJlется Эрик Томас (Eric ТhОПlа.s). Некоторые возможности LISTSER\" _ШССh отсутствуют. ПО:JТОМУ прor'раммз способна управлять Ecel.o I О списками рассылки по SOO '!Левоя каждыЙ. Ilporp3MM3 работает с пршшми rlсеНДОПШlЬ30пателя litscfY, коrорыЙ должен быть НЛiшельцем ее Ф::tИ.li1. Желательно также создать rpуппу li!"t('n Проrpаммз снабжена WеЬшrrерфсЙсом как ЛЛЯ ПОДIlНСЮI на рассылJ.i."у, ТiН( и для управления самой про.--раммои. Дистрибтив LISTSI::R\' Lile можно ззrpУЗIПЬ С \\'еЬузлз WW\J/.lsоf1.СОП1. ИсходНЫА код nporpaM}I.'lbI не раСПрОСтрtняется. ОllНЗКО ДОС1)'ПН_Ы предпари тельно скомпил-ированные llRоичные файлы JLIIЯ мноrих версltЙ UNIX и [jIlLlX. Тем. кто У'"ке работал с пзкетом J.I располаrает созданными ИМ спнсками рассылки. может быть, имеет смысл исполыовать усеченную ero версию. Всем остальным рекомендуем оспнюнить свой выбор на onHof1 IП Оlшсанных ранее проrpамм С открытым ":ОДом. ШАР LDAP (Lighlweiglll DireCIOI)' Acce!o..S Рю(осоl  упрошенный I1ротОКОЛ доступа к каталоraм)  это ПрОТОКО:i, KOTOpMil обt:спе'lИШlет доступ к 590 Чость 11 Робото в сеТfI). 
УНИфИШlрованной СЛУ'...кбе К2талоrов. Он с}щестnует уже несколько лет, но лишь HeIl<!BHO начал приобретатъ популярность. Администраторы обнару..кили. ЧТО протокол LDAP очс:нь \.'добен для выполнения самых разнообразных з<!дач, а именно; конфиrуриронания nporpaMMbI sendmail (псевn.онимЪ1. пиртуальные поме ны и no'rr08bIe ката.1l0rи) упраЮlеllИЯ пользователями (реrистраuионные ",мена, парОJlИ 1-1 т.н.); ведения clдминистраТ1IRНЫХ КоtlфнryраШIOIIIIЫ'( файлов (например. в SLISl Linux); в качестве '1а'Jены '\IIS: в качестве КЮlеlщарноrо сернерп: Д1IЯ ИСПОЛЬЗОll3ННЯ с ПОЛЮlючаСМЫI\fИ модулями аутентификаЦИ51 (PILlg gabIe АшhепticаtiОI1 Modules, РАМ). Таким обраJОМ. LDлr в скором времени CТ.IHeT rлоБНJII.ным инструмен том ллм работы с каталоrзмИ. который будет примеН)rfЬСSI RO Мllопrх оБЛ8СТЯ): В основе LDAP лежат протоколы ISO 11 пoqтона.я CICTC:Ma Х.500. А такое наследство предполаrает СJ10ЖНОСТЬ, rpoM01HKOtTb. массу недостатков и т.д. Оннзко наличие в Н31RiШl1ll протоко..1а б}КflЫ "L" указывает на отсутсттше таковых. Версии I 1-1 1 IlрОТОКQЛid уже прошли ПрОLlесс стан.naртизС1ЦИИ. PaGo"l'a над версией 3 также 3аDсршенз. К счастью, Бсе верСИIf обладают обртной совместимостьЮ. Версии I и .2 не яwrЯЮТСJ1 иерархичео..'lf"lН, в ОТJlIIЧИС' от версии 3. ПрОТQКО.'1 1 ОДР ОЧСНЪ удобен лли работы с почтовыми псеRДОНltмаМИ, особеюlO сейчас, Korna nporpaMM3 sendmail обеспечивает внутреНIIЮЮ под держку протокола. Проrpаммi'I SСlldшаil можеТ посылать серверу LDAP запроt: на поиск псеппонИМОВ. вместо Toro Lrrобы осуществлять поиск непосредст  вeHHO Прото....ол способен управлять маршрутизацией почты Н виртуa.rIЪНЫМlt доro.rенами. Среllстна IIO.!ULерЖКJI LDAP llОЛЖ.'IЫ бьrrь bctpoef-lbI о двоичный код проrpаммы Rlldlllail на папе компиляции. Тем. кто не знает. rде nзять проrpaммную реалИ13ШIЮ LDлr. рекомендуем обрапrrься на сервер \Nv/w.opell1dap.org орrанизаuии OpeIlLDAP. Она ПОJ1"Ч'Iла EI свое распоряжение, а JaTCM "lучш1tла код преДЬUIушеrо сервера LDAP, разработа.'IНOI.О в МИLII1I'idНСКОМ УНIIRерситсте (ДОПО:illlrrельная информаШ-IЯ о проrpаММI1ОМ обеспечении I DЛР npllBCnCHa в KOIIHe ,'лаnы 18.) ЗПI-IСIf ба'1Ы Il<!III'1bIX LDAP наПОМlIнают Jлемеl1ТЫ базы Lсnпсotр. но с более ,nлинными именами. Лтрибуты (имеf13 переменных) в базе лаНIIЫХ LDAP еше не полностью стандартизованы, 'ПО может пр"веСТII к иеСОRмес тимости реa.JН1заш'lЙ LDAP. Атрибуты. нзходящиеся в первоЙ строке JаПltСИ. определяются в файле КОНФИIY'рашш LDAP. В rlРI1НОПИМЫХ ниже пример3''< мы прсдполаrаем. что ссрис:рныи демон LDAP (slapd 8 случае па кета OpenLDAP) сконфитурирован с корневым именем (запись rootrin) следуюшеrо вида ..cn.....root,dc".syl1.ac. d.cnet.. АТРlfбут dc указан пвitЖЛЫ. посколы,..")' доменный компонент ,меIШ IIC может RКJIЮ'lать точку. С..1еДОВ.1телыlO, JLТ1Я преДСТ31шеНШJ помеюt synac.I1CI требуются ДИr:! элемента. 1l0след\.юшис атриб)оТhI (и),tсна пере1\1енных) 1\10"-УТ быть ПрОИЗIЮЛЫIЫМИ. Репtcтр с"r..IНОЛОR в даllllOМ случае не важен. IlporpaMM3 seшll11аil (которая ищет преДОl1репе..rltШНЫС "мена атриБУТОR It Н311li\чает 11М заранее "Jздзнные ]наЧСНШI). сервер LDAP и утитпа СОJД,ННlЯ бi1JЫ данных r лова 19. Электронная почто 591 
LDAP D.олжиы SЗ8имодейстповзть друт и прyroм И исполъзовать одинаковые соrлашен-ия об именовании атриб}тов. Среди доrтvстимЪJX атрибутов, которые мотут располаrаться в первой строке записи (ключи базы штных.. УТlQмянем dn (доменное имя), о (название орraниэаuии). с (назва.'lие страны), U1d (уникальный идентифи катар. например реrистрационное имя). ПРОl1'амма sепdmиil распознает следующие llескрипторы данных: mailLoCalAddress ma.!.!Rou Lngddress mailHost. Ниже приnеден при мер файла Idap.conr Демона slapd: '" Файл ldap. солf должен бы'l'Ь дос,:,уnен для записи 8сеы ПОJlьэоиатеЛJlN. I BASE HOST PORT dс....sуласk, dc-nec gw. synacit. net ЗВ9 0.'1 оDcспечивает поддержку базы nЗННЫХ с записями следующеrо вида: dn: u.!.a)on. dc""syna.ck. dc"r.e;;. objectClass: пеtLClсаlМаlRеср!.елt:. rnaJ.!Loca.1Address: Jon@synack.net rnaJ.IRout:.ingAddress: st:.ablej@cs .colorado. edи uid: JOn Адрес ПО:JyЧателя ВХОD.яшеrо сообшения сравнивается с полем mailLo calAddress. Если они совпадают, письмо перенапрзвляется по адресу. ухазаННО\IУ в поле malRoutngAddress. НЮlичие строки objectClass необхопимо: таковы требоиания документа RFC. который определяет Rзаи модействие протокола LDAP If почтовой систс:мы. На узле gw.synack.ne( этому элементу базы данных соответствует псеВДОНIIМ ]on: sabilej@cs.colorado.edu Все зто несколько !L'lIfIIHoBaTO. не правда .'ш? Ткие заШtси базы данных моr;ш бы заменить обычные элементы файла aliases, которые применяются для опреllелеНlIЯ почтовых каталоrов ПОЛЬ3Qвате.'lеЙ. Однако файл aliases все еше остается лучшим методом объЯW1ения списков р8ССЬU1Ю1 (при помоши ПИреКТИ-БЫ : incl ude:). ПроrраММЪJ управления списками рассыпки обычно передают (через канал) сообшение спензриюупаковщи'ку и повторно посы лают сообшеI-lJ{е. А LDАРзапрос может вернуть локальный адрес, по KOTOpO\.ry ведется обрiiботка СПlfска рассылки (посре.пством файла aliases). но не может непосредственно вызвать nporpaMMY. ДОПО:iНlIте.'1ЬНiiiЯ ИНФОРМ3LlЩI о ВК.rJlOчеНlIИ в npor,J3MMe sеlldПlвiI noд держки протокола LDAP содержится в параrpафе 19.8. В параrpафе 199 "ривеllен ПРllмер ИСПОЛЬЗОВШlНя протокола LDAP пля реализаuии псеВдаНИ. мои I1 вир.ryальноrо хостинra. 19.5. Почтмейстер sendmail Проrpамма sendmail  самая сложная и самая полная из широко исполыуемых систем транспортировки электронноЙ почты. Ее иаnисал ЭРИК Оллман (Eric Allman), БУlIУЧИ студентом Калифорнийскоrо универСJ.lТета в 592 Часть 11. Робота в сеп)r, 
Берюти. Он как раз заканчивал курс по вычислительной TeXHHK, n процессе изучения KOToporo работал с системами промышленноro уровня. Эрик решил аналоrичным образом ПОДОЙТИ к проблеме доставки почты. В то время такой подход казался ему поroней за мухой с кувалдой, и он собирался со временем, разобравшись как следует в проблеме, использовать более простые метапы. Однако оказалось. что универсальиость проrpаммы sendmaU позволила ЭРИКУ идти в ноту с быстро изменяюшимсSI миром craнлартов электронной почты. Некоторые важнейшие cTaНlIapTЪТ находились в стадии доработки и изменя.тrnсь чуть ли не каЖдУЮ неделю. Эрик понял, \по муха. 3В которой он rонялсЯ, на самом деле  слоН и силы ero J.i.-увалды едва '<ВатаеТ. Проrpамма sendmail может адаптироваться к ПРl-1чудам создателеЙ cтaH дартов блаrодаря rибкости CBoero файла конфиryра.ции, KOTOPЬтtl: позволяет ей удовлетворять потребностям очень разнородиоrо сообшества пользавате лей. Поэтому остальная часТЬ данной rnaвbI посвтuена описанию структуры этоrо файла. Н8ЗЬfВaюшеrося sendmall.cf. Проrpамма sendmail  это транспортный arem, проrpаммасвязка между пользовательскими аrентами и аreнтами доставки. Она работает по протоколу SMTP и доставляет сообшения на удаленные компьютеры через Internet. Проrpам-ма sendmail выполняет сле.цуюшие задачи: . упраnляет сообщениями после Toro, как они были сreнерированы пользователями; . анализирует адреса получателей: выб"рает соответствуюший зreнт доставкн или транспортный аrент; . преобразует алреса в форму, понятную areHТY доставки; осущестnляет необходимое переформатирование ззrоловков; . передает преобразованное сообщение army доставки. Проrpзмма sendmail таюке reнерирует сообшения об ошибках и возвра шает сообшения отправителю, если их оказалось невозмоЖНо доставить. Истори проrраммы sendmoil Проrpамма sendmail версни 5 написана Эриком Оллманом в 1983 rоду. Один из ее вариантов бьU1 доработан Леннартом Левстрандом (Lennan Lцvstrand) из Линчепинrскоrо университета (Швеция) в 1987 r. и назван ША sendmail*. Сопровождением этой версии занимались Ни,l Рикерт (Neil Rlcken) и Пол Поущ (Pau\ Pomes). Друrо!\ вариант, King James SепdЛ1at\ (КJS), разработан Полом Викси (Paul Vixie) из компаНИИ ОЕС на протяжении 1989199З п. Он осиован на версии IOA sendmail, но акцент сделан на повышенни производительности и пропускноfl способности коммерческих узлов. В (ОА и КJS впервые были реализованы некоторые ВОЗМоЖНОСТИ, которые теперь включены в sendmalJ версии 8 (написана Эриком ОЛЛlo.f8.ном в \993 rоду). На момент наmiсания этой книrи большинство реализаuий проrpаммы sendma'il, преДJ1аraемых ПРОИЗВОДJПелями операuионных систем, основаны На версии 8. Однако обычно они на одиндва выпуска отстают от версии. выпускаемой компаIOfей Sendmail. Inc. Производители чаще Bcero просто настраивают под свою систему определенную версию sendmail. а затем отказываются молифицировать ее с учетом текуших версяй проrраммы. Лениарт в то время бы.л студентом факультета вычислителъноА техники, который 11fl шведском языке называется Institutionen tбr Oatave[enskap. отсюда и со крашение IDA l 593 r лоио 19. ЭпеkТрОННОS1 почто 
Перечень систем, а также информаllИЯ о том, какие версии sепdПlаil в ! 11Х включеНЫ, ПРlшсдены в табл 19.5. Мы опишем nporpaMMY sendmail верси.и 8.11 и совсем не будем касаться версий 5 и lDA, поскольку они устарели. В версии 8 используется Ma.кponpoueccop m4. облеrчаЮШJIЙ создание фаj.1ла КОНфИI)'раЦШI для cтaH дартных ситуаций (В большинстве орrанизаШIЙ больше ничеrо и не требуетсS!'). К сожалению, при возникновении праблем с конфиryрацией sendmail придется заниматься отладкой исходноrо фаЙlа КОНфИf)'pallIlИ. Нам llOВОШ-l лось слышать О нем такие He.leCTHble отзывы, как "непостижимьаi", "устрашаюши", "крайне тяжелый", "заrадочный", "остааляющиА тяrОСПlOе впечатление", "'мерЗЮ1li". "утомляющий", "издеваТС.1ЬСЮ1Й", "запутанный", "rpОМОЗДIOt'\ "НCJlепый", "сбиваюший с толку", .'закрученный" 1--; еше MHoro чеrо. В прелыдушем издании книrи описание этщ'о файла lЗНИМ3...10 БО.'1ее 20 страНИll. В :пом издаНШ'1 из сострадания мы пре.длаrаем ЧlпзтелЯ\i обратиться к руководству "Sendlnail Installation and Operations Guide" авторства Эрика Оллмана и Браиана l\.ocTa:leca (Bryan Cotales), ПОСТ38Jlяе маму вместе с проrраммон. Версии проrроммы sendmoil, ПОСТО8лемые проиЭ80дителми систем в табл. 19.5 перечис..'Тены верСIIИ sendmail. постзв..'1,яемые с наШИМi тестовыми операUИОННblМJI системаи. В таблиuе таюке указано, rде HlXO дится исполняемый файл ,t фай..1"J конфиryр8ции sendmail.cr Для сравнеНIIЯ в перечень BK-ТIючеН8 таюке стандартная реа..1Изацин находяшаясS! на WеЬУЗ-lе wv.''\)J'.sendmail.org. Таблица 19.5. Версиl.1 nporpOMMbI sendmoll. поставляемые произвопителями систем (но 2000 rод) Система Версия Версия Каталоr ДЛЯ Каталоr для  I кода конфи ryР ОЦИ'-' двоичноrо кода конфиrypации Sl!:пdП1аil.оrg 8.11.0 8.11.0 /t'tС/ПI311 Solari...:; 7 8.9.3' 8.91 /usr/lib /etc/mail HPL;X 11.00 8.8.6 8.8.Ь jusr{sblll jelc/mail Red Наl LillUX 6.2 8.9.J 8.9.3 j1Jsrjsbin fetc FrocBSD 4-0 8.9.J 8.9.J /uн:/.JJin /01< , Au.аlпироваН<!I комлю"шей Sun. 0' ПОЯ8.l1ение новых вьтусков nporpaMMbf sendmail зачас1)'Ю ВЫЗIШНО про блемами с безопасностью. Поэтому мы рекомеНдуем посетИТЬ ссылку .. Release Notes" на сервере ww\J.i'.sendmail.org и заrрузить соответствующие "заn..'13ТЫ". Для ИХ подключения потребуются компилятор языка С и преПРОllессор m4 (они обычно входят в стандартиую поставку UNLX). Ко.мпилятор gcc яожно найпш на VеЬузле И:И-"Н'.gllu.оrg. Иноrда трудно опредеЛIIТЬ. какой выпуск sendmail YCT.i:1HOILleH н Сl1стеме. Попробуйте выполнить ко..!анлу i /usr/вЬU1/sendшаil dO  1 bt < /dev/null 594 Часть 11. Робота в сетях 
которая заставит проrpамм)' сооБШIlТI> СflОЮ бюопую перСl1l0, Шl.рамf'ТРЫ ко",mиляш1И и свои идентификаuионные имена, lIаfщенные после ЧТС:НIНJ файлs конфиryраlIИИ. Флаr d задает уровень ОТ'1адки (об этом рассказываетСfl в параrpафе 19.12), флаr bt переводит проrpамму в режим теСТI1роВ3НШI адреса, а чrеНllе 8OДHoro потока из устройства /dev/null npl100Hm к тому. QTO адрес д1JЯ теC'nlрования будет oTcvrcTВOBaTh. Результат работы команды будет примерно таким: Version 8.9.3 Compiled wi r.h: МАР  REGEX LOG МA'I'CHGECoS MlМE7'I'o8 MlМEST01 NAМED  BIN[) NDBM NE'I'INET NETUNIX NEWDB NIS NISPLtJS QUEHE SCANF SKfP USERDB XDEBUG --'=""======"" SYS'I'EM lDENTI'I'Y (afr.er reacicf) =-=,,===:o= (short dornain name) Sw  katroo Icanonlcal doman пап\е) Sj "" kar.roo.Sendma.1.1.COM (subdomal.n пате) $m  Sendmail. СОМ Iпоdе пате) Sk "'- kar.roo.Sendmai!.COM Проrpаммз sendl11ail должна использовать записи МХ СЛУ'...кбы DNS. по::::.тому ее псеrда слеllует КОМПЮПfровать с установлеШIOI'1 опuиеit NAt1ED  BIND (как и приведенном примере). Инсталлци проrраммы sепdmаil В )том ра.зделе мы "ратко ОПltшем процесс инстamтЯЦJШ IIрОrpзмыы sendmail. За 8сеВОЗМОЖНЫJ\.fif подробностями, а также за IIнформациеЙ. ..асаlOшеся кон"ретных операlJИОННЫХ CIICTCM, обрашайтеСh к примечаНISIМ по инсталляции, которые -включены  т,стриб,УТИ8 sепdlllаil. Если nporpaM\la уже инстал.1Jfрована 8 системе и праизuoдится лншь ее 33Мена. может оказаться, что некоторые "Лзпы (например, инстаJUlЯUИЮ файлов помоши) осуществлять не ПРИllСТСЯ. Дrтя работы nporpaMMbI требуются: двоичный фаЙл sendmail. которыи обычно инста.:lлируется 8 каталОf /usrjshin или /usr/lib и запускается с пр.l.Iами пользователя root (код прзИ дocтyna  4755); файл конфиrураuпи jeLc/lllailjscndllllil.cr. уст;анаНJшваемыи систеМНЫм ащ..Пfнистратором KaтaJlOr очерели j\larjspool/mqueue. СОЗШ\llНЫЙ адМlIнистраторо\'! ИРУLШУЮ (код прав доступа  700, владелеu  root); различные ссылки на :sendmajl (пеwаliаses, mailq. htsta[ и IIр.): безопасные локальные аrентЪ/ доставки (smrsh и mail.local), обычно устанавливаемые 8 каталоr /usrflibexec. IlоследнlOlO версию проrpзммы можно заrру-зить с узла www.sеl1dшаil.оrg. Для компиляuии и ИНСТ"aJlЛЯШfИ пакета запустите сначала сценарий Build, а затем  Build illstall. Оllнако .по начала компиляцюr tlУЖНО определиться в отношении формата базЫ дaHHЫX а также стр:.пеПfИ взаимодействия с административными базами llаШ.IЫХ. такими ка.. NIS, NIS+. Nellllro или даже Hesiod. Для баз ДiШIIЫХ, "раняшихся на диске, мы рекомендуем пакет Berkeley DВ, указанный R фаit!lе Makelile как NЕИDВ. Только не редактируйте файл J\.lakelile. а СОlдаите СПОЙ файл sitе.сопfig.ш4. посредством KOToporo будет осушеСТШIЯТЬСЯ настройка и r лово 19 ЭnеКТРОННОr:! почто 595 
установка спuий nporpaMMы sendmaiJ. Например. в случае испслъзования протокола LDAP создайте файл site.collfig.m4 со СJlепуюшими строками: def::.ne (. conlМAPDEF'. 'DLDAPМAP I J deflne ( . con:fLIBS '. .  llda.p  l1ber' ) Затем скомпилируйте проrpа"f"fУ при помоши такой команпы: .h ./Bui.d c r lIite.confJ.q.m4 ПроrpаММ8 sепdmаil обычно не работает под Уl1раuление\{ HCMOI'l8 incld. поэтому должна явно запускаться 113 rСфi8ЙЛОВ в проиессе начальноЙ заrpузки системы. Обычно это делается так' if [! /usr/SЬ1.п/эепcimа1.1 a ! /etc/mail/sendrnall.cl]; t.l1en (cd /var/spool/rr.queue; rrn ! [L.Tx] f"J /usr/sbin/sendrna::.l bd q30m & echo n . sendrnail' > /dev/console Li в данном случае ПРСJl3ВОДIПСЯ проперка ДDоичноrо фаiыа и файла конфнrypаUИJI. а затем проrpамма запус'Кается R реЖJ.1 ме демона. Если компьютер не является почтовым сервером, 8 ни нем нужно заnyстить sепdmаil. можно сконфиrvpирспать компьютер 8 качестве '.нле80ro к..'1eHTa" и не вызывать проrpзмму в режиме демона (т.е не указывать 'Ключ IJd). Таким образом, она не будет ПрIlННfaТЬ запросы 118 подключение из Inrerne[. 0' о средстве пиllcl;etlt раССКQЗывается в параzрафе 19.8. ПриведенньТй фраn.tент слепует добзлl'rТЬ R файл /etc/rc (Д,.,1Я ВSDсистем) или /f!tс/iпlt.d/seпdmиil (д"''lЯ систем Sys1em У). Можно также ВОСПОЛЪJсваться более с.пОЖНЬП,.r сuенарием из Р}'l<OIюдства по инсталЛЯЦИи, 'Который пытается удarrять файлы из прерванных очереде сообшений. Этот сuенарий работает с одним каталоrом очереди. Если их иес'Колъко, сиенари усложнится (см. раздел "Очередь почтовых сообщени-А"). Т р8llииионно файлы, необходимые nporpa!\lMe sепdП1нil. располаrаrНIСЬ R таких Kaтarrorax. как /usrflib, /etc, /usr/ucbIib 11 /-.sr/sllare. Ha'lIlHarl с веРСИI1 8.10 предполаrается. ЧТО все фай.1Ы храНJlТСЯ в подкаталоr", J.:зтаЛOl-а /еIС/П1аi(. Налеемся. что Поставщикн [IICTeM поймут этот намек 1-1 бу.!IУТ располаrать файлы 8 KaKOMTO ОДНО\I месте. Файл переключени сервисов Во мноrих операuионны). системL3,Х имеется специальный 'КонфиrураUJl- онный файл. называемый файло\-! переключения серВИСОIJ. В нем переlШС лены метопы, которые Moryт бьпъ использоваRbI lUIя вьmолнения стандартных запросов, в частиостJ.1 поиска компьютеров и полъзователей. Этот файл также определяет порядок применения методов псиска R СЛУ\lаJ.1Х. коrда лля ланноro типа запроса }'l<8зано более одноrо метала. 0' Файл переl(ДlOчения сервиСО8 подробно Оlшсан " ZЛClffе /8. Это пока еще не совсем так. Файл sendma.il.pid и Иl-iОlда файл (,'1'аТИСТИЮ1 хранятся 8.apyrOM меС1"е. 596 Чссть 11. Робото в сетях 
 Обычно проrpаммы не заботятся о наличии фа.Ала переключенип серВИСQD. Однако nporpaMM8 Jendmail СЛИШКQlrlf педантична и тшательно контролирует операции поиска. В Sоlапs, например, она читает файл переютючения сеРВИСОD напримую. В дрyrиx верси.m: UNIX у нее есть свой собственный персон8ЛЬНЫЙ вариант этоrо файла В файле переЮlючения сеРВИСО8 имеются лиа ПОЛЯ, которые влияют на почтовую систему: аl1.8зеs и hosts. Возможные значения поля host.s таковы: dns, nis, nisplus и files. Поддержка всех механизмов поиска (за ИСЮ1ючением файловоrо) должна быть встроена в двоичныIй файл sendmail на этапе компиляuии. По умолчанию фал переЮ1ючения сеРВИСQВ проrpаммы sendmail назы вается /е[с/mаll/5еП'iсе.switсh. Он содержит СJlедуюшие записи: аliаsез files пiзрlus пiз t если проrрамиа коw.nv.лируе".l'СЯ It С поддержкой служб nis/nis+ hosts dn.s n1splu5 n1& liles Если в строке hosts прис}тствует ЭЛемеm dns. то nporpaMM8 sепdmаil будет осуществлять поиск записей МХ службы DNS, даже коrда элемент nis указан первым Режимы работы Проrpамма sendmail может работать в несколькш< режимах. которые задаются с помошью флаrа ь. Он Bcerna используется в сочетании с дрyrим флаrом. определяющим роль. которую предстоит итрать nporpaMMC. Допус тимые значения флаrов перечислены в таб.i1. 19.6. Таблица 19.6. Флоrи комондной строки для основны)( режимов роботы nporpOMMbJ sendmall Флоr Наэночеиие -ы Работа в качеcrве демоне, npoслуwивaние порта 25 bD Работа в качестве демона. но в интераJ.."ТИВНОМ, а не фоновом рсжи.м:е 1 bb От06ражекне ИМфорМЗllИИ о после)D-Iем соеДJlнени.и (то :же. что про rpaMM8 boststat) bH Удаление с диска старой информации о СОСд.инениях (ТО же. что лроrpамма PUl'):estat) ы Иtuщиализация хэшировaJiНЫХ псевдонимов (ТО :же. что nporpaымa newallases) bp Печать содержи:моro очереди сообшеЮfЙ (ТО :же, что проrpаммill maDq) ы ВkЛЮчеиие режима npоверЮl в.п.ресов bY Только проверка адресов, почта не oтnpааляется b5 Включение режима SMTPcepвepa (чтение данных из crандартноro входноrо Потока, а не из порта 25) Режим применяется при arладхе, nocкольку будут отображаться сообщения об ошибках. r лово 19. ЭлеКТРОННОR почто 597 
Если входящая почта будет поступать по сети. проrpамщ sendmail следует запускать в режиме демона (bd). В этом режиме проrpамма прослушивает сетевой порт 25. и ОЖ1шает поступления запросов. Обы'.JНО указывается такжt: флаr q. который иазначает интервал обработкн очереди почтовых сообшеl-ШИ. Н.шример. флаП1 q30m и "'"'1111 Wlают обработку очере.ди каждые 30 МИIIУТ и 1 час соответственно. nporpaMM8 sendmall обычно старается доставlПЬ сообщение немеД;lеННо. не звписыва.я- ero в очередь. ЕСJIИ же компьютер слишком занят ..Шlf адресат недоступен, проrpаММ8 ставнт сообщение в очередь. а через некоторое время вновь пытается отправить ero. Каждый раз, Korna проrpамма обрабатывает очередь, оиа поро:ждает дочерний проuесс. поэто:t.fу иmервалы обработки не С.педует устанавливать слишком маленькиМИ. В документе RFCI123 peKOMeH пуется делать этот интервал равным миюrмум 30 мИНyraм. Поскольку проrpамма осущеСТRЛяет блокировку рабочих фалов, одновременные обра шения к очерели не вызьmают конфликтов. Проrpамма sendmail IIИтает свой файл конфнryрашш, sendmail.cf. только при запуске Поэтому при и]мененнн файла КОНФllrураиИJf нужно либо уничтожать и перезапускать проuесс sendnlail. Лllбо посылать проuессу сиrНШl отбоя (HLJP). Проrpамма создает файл sепdшаil.рid, СОдержаший идентифи катор проuессз seпdmаil И команду, использоваННУ10 для ero запуска. При вызове nporpaMMbl нужно указывать абсолютный путь. так как она переза пускает себя с помощью ФУНКЦИИ ехесО в ответ на сиrиал отбоя. НалИЧ1iе файла sendmail.pid позваляет уничтожать проиесс J<:oMaMo I ki.ll HaP . head  1 B8ndm&i.l _ pi.d . Раньше местоположение PI Dфайла зздавалось при копmлЯUИИ. но сейчас оно может устанавливаться в конфиrypационном mrфаЙJ1е при помОUПI оrшии confPID FILE: define (confPIDFILE. . /var/ run/sendmal. pid') В ВSDсистемах РIDфаfU1 по умолчаl-lИЮ называется /vаr/ruп/sепdmаll.рid. а в остальных  /еtс/seпdmаil.рid. Очередь почтовых сообщений Если коr-.mьютер С.11ИШКОМ заrружеll н не может дос-rЗfШТЬ сообшеНI,lf неМСШ1ен-но JfИбо недоступен адресат. сообшсние ЗJ.письшается D KaTa.Hor очеред-н. Этот катзлоr оБЫЧI-lО называется /var/spool/mqueue. ero владелы1мM ЯIL'1яется пользователь root. а код режима доступа paвel--1 700.. Все сеобшеНI1SI. IIOСl)'ПЗlOш!е от ПОЛЬ..30вательскоrо areHTa. на короткое время попадают в очереllЬ. ПроrpаМfа sепdmаil способна работать с неСJ<:ОЛЬКИМII очередями onнoBpeMeHHo Ecт-l каталоr mqueue содержит подкаталоrи q 1. q2 и qЗ и каталоr очереди задается как /1'ar/spool/mqueue/q*, то будут использоваться Порты, nрОСЛУШl1взсмые проrpаммой sепdmall. задаются с поJ.IOШЬЮ Ма....роса DAEMON oP TlOOS.  Ес.ilИ получате..IСМ почтовоro сообщения является сuенарий интерпретатора csb. то буфср НЫ каталоr должен иметь режим ДОСi)'П3 711 либо с IIОМОШЫО фJl31"3 D.... arema доста8КИ CJICДYeт 3Здать дрyroй каталоr. в котором сможет ВЬШОЛНЯТЬСJf ЭТОТ сuенари (у даННОl"О каталоra должен быть установлен как минимум бит поиска). 598 Честь 11 Роботе в CeTJ;}( 
Все три очереПlI. Это улучшает прOlвводителы ЮСТЬ при высокоЙ заrpркс почтовой системы-. Коrла сообшеЮfе СТ3ВJПСЯ в Оllерель, оно заПИСЫRается по частям 8 разные файлы. Имя каЖдоrо из этих фаЙлов содержнт двухбуквашый префикс. оБОЗНс1чаюший часть сообшения. и случайный идеI-lТИфИl<ilТОР, KOTOpЫ образуется из идентификатора проuесс.а sendmail. ДанныЙ идеl-ПН фикатор Не является КОliстантой, потому что проrpзммз scndmail постояtlllO порождает новые проиессы. Части. на 'Которые может быть разделено сообшение. переЧИСJlены в табл. 19.7. Тоблица 19.7. ПрефИkСЫ фалов сообщенlo1И в очереди Преф_кс qr dr tf тr Qr xr Содержимое файла ЗaroлОВQК сообшения и УПJ)3ИЛJ:1IОШИЙ файл т eJIO сообшения Временная версия файла qf на случай, коrna IlРОЮНОДИТСЯ cro обноиленис Означает, 'IТO было сделаlЮ 32 и более БСЗ}СПСШliЫХ попыток БJlШ,11РОИКJI Означает. что сооБШСЮ1С отброшено и не MO)f.,.eт быть ВО3f.1рЮllено Временный фай:1 сообщсниh об ошибках, rтОСТУШiЮЩI1Х ОТ areH"i"OB достаики ЕСЛJ[ В К21алоrе очереди имеются подкатаЛШl1 qf, df (IЛИ xf. ТО и НИХ буд}'Т Р..iЗмшатъся соотвеТСТВУЮШllе laCl1l сообшенJ.lЯ. Ф<l1'1 qf содtрЖIIТ lIе только ЗШ.О.10ВОК сообшеЮIЯ. но и L:веден.ия о ПОЛУ'lатеЛЯ1\. отпр.нштеЛf. д\тe. коrла оно должно быть ВО.1вращено изза неВОЗМОЖНОСПI доставки, прюри тете сообщения в очереДII и причине. по котороЙ ШIO там Н6\:\ОДlIТСЯ Каждая строка начинаеn:я ОДllобуквенным кодом, которыЙ идеНТllФИЦИРУСТ остапь ную часть строки. Для каЖ.10rо сообшеН1-fЯ. КОТОрОС::: ставится в olepenL. должны сушеСТ(lО нап. фаJlЫ qf 11 df. Все ОСТШ1Ыlhl(' фаи.."lЫ III.:ПО.'1L>1УЮТСЯ проrpaМ1I.I0I; .sclldlllail прн ПОПblтках дост.<IПlIТЬ сооБШеНl1е При HCPC.J;,h-рузке JЮ\.1l1ыо,.сра 110сле I<:p<ixa неоБХОДIIМО УД<l.IlЯТЬ фarJЛЫ [f. х! и Т! 113 Кorlждоrо 1<:3Тi'l!l(ЩI О'lерди. СистемныЙ адМИНlIстратор, отвечающии J3 работу почтовон orCTeMbI, должен перио.!lнчески ПрОl!ерять фаilЛЫ Qr Н3 предмет Toro. не стал н ли ПрlIЧИlЮЙ возврата сообшения ошиБIOl локалыlOИ КОНфl1l!рi:1l.tии. Очередь сообщений может стать причиноЙ КОllфЛШ..'Тов 8 неСКОЛЫ\llХ ситуаuиях Вопервых. может переполниться файловая система (поэтому по возможности не помешайте каТ8ЛОПi /\'3.r/sрооl/шquеuе и /vзrlsрооl/пещ н один разДС1). BOBTOPЫX. может переполниться сама очередь. НiЗконси. 8 очереди Mor)"T ПОЯRИТЬСЯ "осиротевшие," сообшениSl. IlporpC1MMa sепdшаil имеет ОПl.lltIO ynр<tАлеНIIЯ ШIСКШ1ЫМ IIрОСТрЮIПl1ОМ (сО:LН1Ii-J FHEE BLOCKS). ЕСоЧИ фаЙЛОRая система. которая содержит очеРЛh сообшсннЙ. пеРJOlIняеТОl, то НО'П3 не rrрIfНlIмаС'тся. 11 по тех пор, rlOK 111: осноБОШ11СЯ место IШ Дlfске. будет 8ыдаваться сообщение '.Н)' agttin Iз(а" (попробуйте позднее) IlplfleM пр"ем почты останаrul1lвается раньше, чем дllCK перепо:н.штся и Сl1стема швнснет. Кат3.iIOПi UNJX ЯВЛЯЮтСя эффективным храни.rrnщем даННЫХ только Torдa. кor:цa ие содержат MHOI"O фай.JIOВ. ЕСIИ же почтовый сернс:р слишком заl-ружеи J.j рабоrJет с БОЛЬШI-IМ Ч'ИCJIом списков рассыл.ки, кaTaJJOr очереди может так псрсполниться. что СКорос1Ъ ПЩlска в нем t.'ТЗнт неприешемой. rлаео 19. ЭлеkТРОННОЯ почто 599 
Если выйдет из строп ОСНОВНОЙ KOHUeнтpaTOp почты. то резервные МХуз.лы окажутся переrpу-JI(ены тысячами сообшений. В этоЙ ситуаUI-IИ проrpа.ммз sendmail может породlПЬ СJIИШКОМ МНОТО экземплЯрОВ самой себя и тем самым "монополизировать" систему. Если очередь переполнилась. нужно переместить ее 80 временный К8талОf, продолжить обработку новой почты в обычном режиме. а котда все стабн..Т'lизируетсп  запустить отдельный экземпляр sendmail ДЛЯ обработки переполненной очереди. 0' Подробнее о DNSзапu.сJIX Л1Х рассказывается в /lараzрафе 16.//, Вот пример J1ЛЯ OAHoro каталоrа очереди: .. ki11 . head  1 S8ndlD.aJ.l, pid . . IПV чuеи8 clog'qedqueu8 /- В дру.l"ую файловую СИС'l'ецу, если неоt5ходимо -/ /." 3.елаеu sладельца и праsа Dс:l'уl7а */ , mkdir IItчuеи8 t chovn root ИIqUеие f сhшО8 700 шqueи8 , /usr/sbin/aendm.ail bd чlh , Коша все нормаТlНзуется, запустите nporpaIMY sClldmail с такимИ флаrаМI.': /uar/li.b/s8ndlD.ail оQ/vа.r/.рооl/сl0чg.dqu8U8 q Эти флаrи укаЗblвают проrpЗl\.ofме, rnе находится каталоr переПО;Iнившейсп очереди, 11 дают ей комзнпу HeMenJleHHO обработать данную очерellЬ. Повторяте эту команду до тех пор, пока очерепь не очИСТИТСЯ. Если размеры очередей orpoM ны, СОрПlруйте сообшеНJfЯ по разНЫМ очередям на основании последнеН Ul'lфры идентификатора сообшення, как ПОКi:1зано 8 С!1СД)1ОШС-М сuснаrНlИ: "! /bin/csll f foreach sufflX (О  2 3 4 5 6 1 В 9) mkd:..r clog (suff1.x I n:v '?f"S{зuffх} сlоgs,зuff':"хj sendmail oQclogS !sul[ix} end Цель разбиения очереди  уменьшить время поиска в каталоrе. Десять малеНLКИ;'; очерепей обрабатываlОТСЯ быстрее одной большой, ПОСКОЛLКУ скорость раБоты проrpaМ'fЫ s{'пdшаil больше зависит от ПрОИЗВОlI1пельности ПОДСlfстемы ввода/Вblвола, чеМ от МошНОСПf проиессор8. МОМеНТ перепо..lнения очсре.ли зависит от размеров орrанизаuJtН .' аппаратных cpeдcТR. на которых работает nporpaMMa sспdmail. Естественно. у обычной рабочей CTaИUHl1 и у кониенТратора почты на узле aol.con1 обрабатываюшеrо миллионы сообщени', в день, бу.!l}'Т ра.lные критерии, по которым опрелеляется. переполнена очередь ИЛи нет ИнформаUIIЯ ометолике измерения трафика при-ведена В параrpaфе 19.12. Несколько лет назад комrlания Sun r....1icrosyS(ell1S рсШfла измеНlrть СБОЮ стрзтеrиlO маршру тизаци.и почты и перейти от непосредственноЙ адресаuии к системе шлюзов в ПОДР8зделе ниях. Очереди иа этих Ш"'lOзах стали такими ДJ1ИНt1ЫМ.н, что почта к сотруднику, сидяшему 8 дpyrOM конис зала, шла дольше ДНJI.llТ'lЯ решения этих проблем пришлось в очень сжатые сроюt нарашиватъ аппаратные МОЩIIОСПt всех umюзовbIX машин. 600 Чость 11. Робото в ceTX 
19_6_ Конфиryрировоние проrраммы sепdmоil Действиями проrраммът sendmail ynраВ!lяе"r единственны-n файЛ КОНфl1rу рапии sendmaIl.cf, который располаraется в каталоre /etc/mail (ранее  !ctc или Ju.rfllb). В этом файле олределяется следующее: выбор аrентов достаВКИ. . правила подстановI01 адресов, форматы )arОЛОВКQВ ПОЧТЫ, ОПUШI, меры безопасности. срелства заШИТbJ ОТ спама. Формат перОИl..fноrо фi3.i!lа конфиryраUНI1 прое,I(ТИрОНался таК11М обrазШ.1. чтобы файл :rerKO подп.авался сиНТа....сичесКоМу 3Н8Л1НУ. По .:НОЙ ПрlIЧlIне файл малопонятен ПОJJьзователям, 11 ero СОПРОRождение  самая серьезная здминистраТИ8Ная задаl.13 в области электронной почты. Файл коифиryраuии неоБХQЛ1tМ nporpaMMe sel1dmail всех версий. Однако 8 современных версиях процесс создания файла несколько  nрошен. так как для этоrо используется rlрепроцес.сор m4. Если провести аналоrllЮ в fllыкамв проrpаммиропния, то \южно сказать, что пеРВlt-ЧНЫИ фаf1.'l конфиryРi:ШИИ  ЭТО уровень ЯЗblка ассемблера. а конфиryрированпе средствами m4  это уровень я]ыка Perl-. Korдa макросы m4 БЫЛlo1 впервые предствлены. показалось. ITO ИМИ можно будет пользоваться в 8090% случев. В действите:ольностн этот проиент оказался еше ВЫI.Ш:: ПОрЯЛloа 98%. Поэтому мь! рассмотрим TOlbKO конфиryрирование средствами m4. Вникать в структуру peanLHoro фаЙ!Нl конфиryраuии ПРЮlется ЛИШЬ в том случае, если потребуется YCтpC:!.HIТb какуюто серьезную пр06лем) или расширить почтовую систему каЮfr..,(Нltбудь необычным способом. СушеСТ8ует три OI..:HOHHbI liСТО'lIшка, 1011 которых МОЖНО почерпнуть подробные сведения о npOlpa""IMe send",ail. "iTO КНИПI "Sclldlnail" издательства O'Reilly. наПJ{саНl.ldЯ БраЙёНШМ KocTa.:lecoM и "ipIlKOM ОЛ'lманом. работ;] Эрика ОЛЛМ8на "Sendll1ail Iпмаllаliоп il.lld OJ1el..1lioll Guic1e" (lаходЯщаясп в каталоrе doc/op листриб}ТlfВа) 11 файл READJ\1E (в каталоrе сп. Конфиryрирование с ПОМОЩЬЮ препроцессора т4 Снапuта мы кратко опишем препроu.ессор m. а затем rюкажем, K;.IK nOCTpOllTb конфиrураUНОНI-IЫИ файл 113 фаiiла 1П4. После :поrо буд}т описаны некоторые макросы 1114. которые 1l0станлпlOТСП с ПИСТрllбу'Тиrюм SСlldшаil Иlложсние темы ззвершltТCJI примерtlМl1 КОНфlifураLШОlll-lЫХ фаfl'lОU 1UIЯ с.чедуюших случаеF!: ДОt3ШIIЙ L.ll1Llхснстемы студента. которыи предоаанляст УСЛУПI хостин Пt для своих ДРУЗСJJ: }ЗJ13 небольшой КОМП.lI-п-tИ. н KOТOpOi1 Jнают, как правильно КОllфНI1РН ронзть проrрамму sеlldп\3il; орrанизаUl1l1, заНl1маЮШСЙCSI \\.'ebxocTIIHTOM. ЯJЫIC конфиrypирования прш-раммы sепdmаil Я8.[яется "функционально ПОЛНЫМ по Тью ринry". Это ознаJает. что он может быть ItСполъзовnн ДЛЯ Н:f.IписанИR любой возможной компьютерной Ilpol1'8MMbI. Те. КТО сталКин<tJIСJ:l с первичНЫМ фаЙJЮМ КО1IфиryР8ШШ. имсю.r прсдстаВ,IСIIИС о ТОМ, насколько МОШIIЫМ является ero ЯЗЫК. 601 r лова 19 Электронная почто 
ПреПРOllессор m4 зздумывался как внешний интерфейс ДЛЯ языков проrpаммироВ8НИЯ, который позволил бы разработчикам писать более ПОНЯТl1ые проrpаммы. Препроuессор m4  постаточное мошное средство решения мноrих задач, связанньDC С преобразованием входной ИНфОрМ8L1ИИ. 011 очень '\:орошо работает с файлами конфи.ryраuни scndmail. МакРОСЫ 104 имеют следующий вид: ИА4я(ар.r'l, apr2, ..., ар.['л) Между именем и открываюшей скобкой не должно быть пробела. ДЛJl заключения apryмeHToBcтpo'К в каиычки используются левая и пран.ая о.дпночные кавычки. Отметим, что 8 m4 правила употребления KaBbr\.JeK отличаются ОТ правил, ПРИl-lЯТЫХ n ДРynfХ я3ь1ка.1(, так как штя левой If праАОН кавычек используются разные СИМЕЮЛbl 8 . Допускается вложенное употребле ние кanычек. Удивительно, как "репроиессор m4 с таким экзотическим синтаксисом cMor выжить в борьбе с современными компиляторами. В 1114 есть нескольКО 8строенных \13KPOCOB. Кроме Toro. пользоn.aтели MOryr ОllредеllЯТЬ СВОИ собственные макросы. Встроенные макросы. которые наиболее чаcrо встречаются n ф;3.йла.1( KOl-lфиryраиии sendmail, переЧИС.Тlены в табл. 19.8. Таблица 19.8. Мокросы m4, чосто применяемые для конфиrУРИРО80НИЯ nроrроммы sendmail . Макрос Назночение define Определяет макроконстанту с именем apzl и значением ap2 undefne Отмr:НЯf:f nредьшушее определение микроконс..-таtПы с 1.MCHeM ap1 lnclude Вк.лючает файл с именем арёl 001 ОтмеНЯет Иl-IтерпретаU.ню все.х си.иволов до слсд.vюшеro СИМJIола НОВОЙ строки нключите.льнО divert Управляет выходными потокамя Некоторые администраТОРbl добавляют макрос dnl в конеи каждой строки, чтобbl транслированный сrфайл выrлядел аккуратнее. Без этоrо макроса препроuессор m4 добанляет 8 файл пустые строки Они не влияют на работу проrраммы SClldшаil. НО деЛают фанл конфнrураuии трудным 1UIЯ 'lТеНИI. Мы не 8КЛIОIИЛIf макросы dnl в наши примеры. ДЛЯ nporpaMMbI clldmail требуется препроuессор m4 более HOBO BepCIfJ.1. чем исходная версия 7 компании ВеН Labs, входяшая в состав UNIX- Большинство верСИЙ. постаnпяемых сейчас, подходит. При ВОЗНИКllOиеl-llilt сомнений используйте GNUверсию. Препроuессор m4 не очень любит комменrарии в файлах. КомментариЙ . And then de[ne the..... не ВblПОЛНИТ возложенную на нпо функuию, так каК def1.ne является Ю1l0чевым словом препроuессора. В данном случае CJleдyeT использовать макрос dnl: dnl .fJ And then define r.he.... Символы кавычек можно зз.мекпть с помощью макроса changequQt:e. но лучше этоro не делать. так как вы лишь усложните зааачу д1lЯ человека. который впоследствии буде'r сопровожп.ать файл. 602 Чость 11. Робота в сетях 
При этом не забупьте вставить пробел между именем макроса и комментарием. Файлы, необходимые для конфиryрировани проrраммы sendmail в Дlfстрибymве sendmail имеется подкаталоr cf. в котором содерЖl-lТСЯ Elce необходимое пля конфитурирования средствами m4, в частности файл REЛDМЕ и несколько подкаталоrов, перечисленных в табл. 19.9. Коталоr с! Таблица 19.9. Каталоrи, содержощие файлы ДЛЯ ностройки проrроммы sвпdmоil domain feature hack m4 ostype l1I2IIer .Ь Соде имое Примеры mсфаЙJЮI! (rлаllные конфш)'рационные фliЙЛы) Примеры m4файлов для ря3Л1!Чны.х доменов в }'ниверсИТСТС' Беркли Фраri'lеl--lТЫ файлов. И1U1IOстрирующис реа..'НlзаШ1Ю различНbl Ср(:llСТИ СпеuиИJlbНblС средства Базовый файл конфиrypации и дpymc основные фаЙlШ фийлы для конхретных операl1иониых систем фaftлы. m4, задаюЩ}IС конфиrypauию наиболее раслространс:иных areHТOB доставки Сценарии интерпретатора команд, используемые "репроиессором ш4 KaTa.l0r cf/cf содержит при.м'еры mсфайлов, Однако ИХ так MHoro. что можно леrко запутаться. f\.1bI рекомендуем перемеСТIПЬ солеРЖИ\lое каталоrа cf в каталоr cr.examples и созлать новый каталоr cf ДЛЯ своих локальных nlсфаЙЛОR. После этоrо СКОПllрylhе в НОIIЫЙ каталоr сuенарlo!И J\.'lakefile Jf Build. Лучше также скопировать все конфиrураuионные mсфайлы R одно месТо и не оставлять их в структуре каталоrов дистрибутива sendmail. lIути. указанные в сuенарии Build, потребуется изменить, если сfфаЙJ1 будет создаваться на основании mсфаЙJТа, не наХОДRШеrося в иерархии КЗТarJоrов дистрибутива. Создание файла конфиryрации из rOToBoro mсфайла Прежде чем перейти к описанию Rсеuозможных макросов. средств и опиий. давайте tlЗУЧltМся созлавзтъ простейшую конфиrypаuию без нсякнх излишеств. Это будет файл конфиryрашtи д.'IП ОДlшочноrо узла f.оо.соПl. Назовем наш файл roo.mc. Этот фал мы поместим в новый каталоr cf. Ilреобразованный (cpeДCT вами препроuессора m4) файл конфиryраuии буде1 называться foo.cf, находиться в этом же каталоrе и инсталтfРОваться в каталоr /еtс/шаil ПОД именем sendmail.cr. Сушествует ряд шаблонов. которые должны прнсyrствовать в каждом новом mсфайле: divert. (1) ',ft базовый mcfile для узла foo.com d.l.vert 10) VERSIONID 1. $ld$') rлшlO 19. 3леIПрОННОS1 почто 603 
Если в начале файла есть комментарии, то первая строка должна иметь такой вид: divert (1) Данная инструкuия будет отсеивать всю не нужную информаuиlO в выходном потоке m4. После нее MOryr располаraться комментарии tначина ЮТСЯ СИlВолом '#'), дополняемые дрyrой инструкuией divert.. Стандартная часть файла завершается макросом VERSIONID (Здесь используется формат RCS). Эта директива подробно рассматривается в следующем параrpафе. В большинстве случаев файл конфиrypаuии заканчивается заданием системнозависимых параметрО8 (макрос OSTYPE) и атентов доставки (макрос МAILER): OSTYPE I . lJ.nUX' ) dеfле ('confCOPYERRORSTO', 'post.ml!ster') МAILER (-local') МAILER , . smtp' ) Кроме Toro, здесь устанавливается ОПШIЯ confCOPY ERRORS ТО. опре деляюшая, что котrn заrОЛОВК08 всех сообшений. которые отправить не удается, будут посланы локально?о.fY администратору электронно ПО1IТЫ. ЭТО позволит ему вмешиваться в проиесс ФУНКЩiOиироваиия почты при 80]НИК новении проблем локальиоrо масштаба. Для построения файла конфиryрации необходимо вызвать сuенарий Build. который мы скопировали в новый каталоr сс: t ./Sui.ld f"oo. cf" Наконеи, следует инсталлировать фап roo.[f в нужное место. Обычно он преврашается в файл /etc/mail/sendmail.cf. однако некоторые поставшИКII систем придерживаются друтих правил. Любимые их таИНИIGI  ката.."JОrи /etc и /usrflib. в крynной орrаНИЗ8ПИИ можно в каталоrе cf/domain создать отдельным m4файл, содержащий стандартные общесистемные установки. Пользователи затем будут подкл.ючать содержимое этоrо фала к своим конфиrураuионным файлам. Не каждыЙ компьютер нуждается в отде..'1ьном файле конфиrураuин, однако каЖдая rpуппа похожих систем (имеlOШИХ одинакоuуlO архитектуру и роль: сервер. ютиент и т.п.). пероятно. должна иметь свой конфиryраu.ионныи файл. Даже сейчас, коrда проиесс конфпryриропания проrpаммы sепdшзil значительно упростился. некоторые решения о том, какой должна быть КОllфиrураuия почтово системы, придется принимать самостоятельно. Читая материал о возможностях этой nporpaMt.Iы, подумайте о том. как эти возможности "впишутся" 8 cтpyt..iypy вашей орraнизаиlfИ. В небольшой орrанизаuии, скорее Bcero, будет только узеЛКOIщентратор и HeCKO!lbKO одиночных узлов. поэтому поиапобятся Bcero ДБе верснн фаJ.mз конфиryРЗIlИИ. В более крупно орrанизаuии, очевидно, потребуются отдельные KOHиeHTpa торы для входяшей и исходяшеЙ почты и, может быть. сервер РОРjlМАР. Независимо от сложности структуры ПочтовоЙ системы 11 от Toro, в каком ВМС (OТKpbrTOt.t. за брандмауэром илн п виде виртуальной частной сети) она представлена внешнему миру. в К8талоrе cf Bcer:aa наЙдУТСЯ rOT08bIe фраrменты файла конфиryрации, в которые требуется внестн лишь незначи тельныe изменения, и они будут rOToBbI к ИСПОЛьзованию. 604 Чоcn, 11 Робота в сеТАХ 
19.7. Базовые примитивы конфиryрации проrраммы sепdmаil Конфиrураuионные КQман.зы sепdПJаil 'яствпельны к реПIСТрУ cI-tМL10':ЮI:l. В соответствии с ПрИНЯТЬ/f.Ш соrлашенияМ"и имена стандартных '-.rакрОСОI5 пишутся прописныии буквами (нпример. OSTYPE), 8 'Команды препроиессора m4  строчными (например. define). Имена конфпrypЯUИОIIНЫХ переме", ны)( начинаются с префИl<са conf, 38 которым следует описательная часть имени, набранная прописными буквами (например, confCOPY  ERRORS  "ТО). Макросы обычно (З3 иск.точением '/ERSIONID) ссылаются ни файлы ../им.я.''''lJi.РОСQlарzJ.Пl4. к примеру, макрос OSTYPE ( lnux') 8ЫЗЫIJзет подключение файла ../ostype/linux.m4. В :пом параrрафе Ы рассмотрим только основные КQнфнryраUlfQнные KOMaн.nы. Лополннтельные средства будут ОПt.1С8НЫ палее. Макрос VERSIONID Файлы конфиrураuии lIеоб\;OiШМО Нести с ПРllмененнем спсте\IЫ KOH треля версий CVS, RCS или SCCS. Это нужно не то,ько для Toro, чтобы Иметь возможность вернуться к OДHO из предыи}'l1.IИХ версий, но 1-1 для Toro, чтобы можно было определить версии m4файлов. заде:йствованных в формировании файла конфиrypаuни. Для автоматнческоrо встраИН8НIIЯ ин формаuии о версии используется макрос VERSIONID. В системе CYS/RCS этот макрос вызывается СJlел}'юшим обраюм: VERSIONID (. SIciS'} а в sccs ВЬJ30n макроса булет таким: VERSIONID (' ,W, (и'деН'J.jфИl<"а'J'ОР) 'Gt.) Реальная информаUlIЯ о верСllИ uносится системой CVS/RCS или SCCS. коrда полъзователъ КОfl.mилирует файл. В итоrовом файле sепdmоil.сf она появляется в виде комментария. Эта информация может оказаться полезной в ситуаuии. коrда пользователь забыл, купа он помеСТИJl дистрнбyrи-в scndlnail (во мноrих случаях \lес.rоположеНlIе фай.'1О8 определяется не i10ПfКОЙ построения файлоuой системы. а свободным дисковым пространство,,-,). В SCCS Rыражение \W\ рпскрывается в ИМfI 1 BpCI>lIO файла, а %G%  в пату последней модификаuии. ApryMCHT uдетnlJфuкйJtJор слдует заменить строкой, которая J.шеНТМфlfuнрует ОРI.анизаUI1Ю. Макрос OSТYPE Файлы в KaTaJТore ostype носят имена, соответСТВУЮШlfе операuионныM сИстемам. Эти файлы содержат установки по умолчанию для соответствующей опера.uионной системы. В частности, в них храlЛfТСЯ информация о местоположении ОТНОСЯЩИХСя к поЧТовой службе файлов. путевых имнах команд, иеобходимых проrрамме sеlldlПвll, флаrах аrентоп достапк-н и Т.П. ПО соr.'1ашению эта IfНфОр!о.l2UИЯ встраивается в конФИ11'рационньн файл с помошью макроса OSTYPE-, ВЫЗОВ макроса располаrается в наЧ8ле фВЙlа обычно после макроса VERSIONID. А rде же определен сам макрос OSTYPE? В фnЯ1С, нахОдЯщемся в кпталоre сf/ПI4. Это.r фаЙ.l волшебным образом npисосдиняется к конфшураuионному файлу при UblJOne СUСliарIЯ Bulld. r 110ВО 19. Эl1еКТрОННQЯ почта 605 
Файлы в каталоre Ostype u ОСНОВНОМ содержат олрелеления друrих переменных m4. Например. команла define (' ALIASFILE'  . /uзr/liЫаliа.sеs') задает местоположение обшесисп:мноrо фаЙла aIiascs. Стандартные установкн можно переопределитъ в mсфайле. Только не измен}(йте на!rl:ОДЯЩИЙСЯ в каталоrе ostype файл, за нсключением случаев, коrда он действительно неправилъныи (при этом нужно послать отчет о нзйден"ой ошибке). В некоторых орrанизаuиях стремятся УНИФИllИроизть местоположение фаЙла aliases для разных платформ и потому переопределяют ero местоположение в файле каталоrа domain. В файле READJ\1E, нахQUЯшемся в каталоrе cr. перечислены все переменные. которые МОI)'Т быть определены 8 файлах каталоrа ost)'pe. Наиболее важные из них приведены в табл. 19.10. В таблиuу также включены перемеиные. связаиные с борьбой против спама (по умолчанию они не ззлаНЫ). Таблица 19 1 О. Стандартные зночения переменных,. устоновливаемых в файлох "отолоro ostype ." Пееменноя ALIASFILE HELP  FILE STATUSFILE QUEUE  DIR LОСАLМЛILЕRРАТН LOCAL  SНELL  РАТИ LOCAL  МЛ!LЕR  МАХ LOCAL  МЛI LER  Мд.ХМSGS эмтр  МЛIL.ER  МАХ SMTP МAILER МAXMSGS ЗНО'-lf;tние по yM011'-10НИЮ /etc/mall/aliasC5 /elc/mail/hclpfile /еtс/mаП/Slatlstics /var/spool/mqueue /Ьiп/mаП /bia/sb не опреJlелена не опреJlслена НС: оnреДC)lеНа не определена ПРОll'амыз sendnlail допускает использование нескольких файлов aliases и N ISKapт. Это позиоляет искаТЬ псевnонимы одновременно и обычных файлах, и 8 службе NIS. а также ynрошает распределение псеlШОНИМОЯ между локальными и rлобалыrыми файлами. Например, команда defl.ne (. ALIAS FILE', .  /ecc/al::.ases, nl.s :mail.aliases' 1) задает следуlOШИЙ поряnок поиска: сначала в файле /etc/aliases. а затем. если понск завершился неудачен, и NJSJ(apTe, назыnаемой mиil.аliаscs. 0' Подробllее о служ:6е NIS раСClСйЗыоаетСJ/ в lлаве 18. Если проrpамма selldПlаil инсталлируется в новоЙ врсии ОС ИЛИ В ноооЙ среде. создайте соответствуlOШИЙ файл в каталоrе ost:!'pc и отправьте ero на узел sel1dmail.org, чтобы файл бы:! 8ключен в последующие версии IlРОrpзммы Модеmrруйте нопы-й файл на осноне существующих и сверяйтесь с таблиuей стандартных значений из файла cr/README. Если зна'-lеНИе переменной 8 нО80Й системе такое же, как значение по УМ0Л"f8НИЮ. нет необходимости 606 Чость 11. Робота. сетях 
повторно оnpeлелять эту переменную (можно. правда, обезопасить себя на случай изменения стандартных установок). Файлы ка,.алоra. оЯуре .nnя наших тестовых систем переЧИС:lСНЫ в таБЛ.19.ll. Тоблица 19.11. Фойл..! из r;отолоrо ostype д.пя роспростроненных операционных систем Система Файл Строка вызово Solaris 5О1аПs2.m4 ОБТУРЕ (" solaris2 . I НРИХ ЬР"" lI.m4 Щ:lТУРЕ I 'hpuxll') Red Hat Uaux.m4 OSTYPE (.linux') FreeBSD bod4.4.m4 ОБТУРЕ ("bsd4.4') Макрос DOМAIN Макрос DOfv1AIN позволяет хранить общесистемную ИНфорМ3UlfЮ в одном месте tсf/dOlпаiП/lLЮIфаЙДQ.ПI4) и ссылаться на нее n фаИШ1>: конфиrураШIИ кажДоrо компьютера следующим образом: DDМAIN (" ИNRфайла" Имя файла обычно выбирается так, чтобы в нем отражзлось наЗRание орrанизаuин. Например, наш файл Д!1я факультета вычислительной теХНИКII (Соmршеr Sсiепсе depanment) носит имя cs.nI4: DOМAIN ('c.s') Как и макрос OSTYPE. макрос DOМAIN является ХОрОШИ\l средство\.-'! подключеНИSI внешних файлов. Он делает структуру конфиryранионноrо файла поНятнее и ПОЗИО!Iяет в БУ.!lущем леrко вносить измененш! 8 конфиrvраuию. Макрос особенно полезен, Каrда все сrфайлы ueHтpa.rТlfl0R3HO создаются из П1сфайлов. хранящихся n ОДIiОМ месте. Внебольших орraнизаuиях необходимости в доменном файле. Каl': правило. нет. а вот kpyrh-Iыe орraНИЗ3ЦИII часто используют такие файлы для указания машинретрансляторов. устаlЮНКН обшесистемных опuиt\ ЗalUlПЫ. а Тitюке Ш1я определения таблиu arelfТ'OB поставки, ВIlРТУальных поменов н пр Поменный файл, Вl<Лючениый в дистрибутив. содержит при меры заПШ;СII. которые обычно помещают 8 общесистемные файлы. Он покюан в параrpафе 19.9. Макрос МAILER Макрос fv1AILER необходимо Вl<Лючать д..'1я J;:аж.цоrо areffia досташш. который требуется а.....ПlВизироваТЬ. ПОЛНЫЙ перечень подnерживаемых areH тои находится в каталоre cf/mailcrs дистрибутива sendmBil. В настоящее нремя подnерживаются следуюшие атенты: lecal. smt.p [ах, usenet. procтal::". qpage. cyrus. рор, phquery и uucp. Вот синтаксис этоrо M3KpOCil: МЛILЕR (. local') МAILER (. smc.p') Перяая пиреl<..тива аJ..ТИВИJирует areHTbI lacal и prog, а BTopa'l  .1п;нты SПltр, esmtp. dsmtp. smtp8 и relay. rлово 19. Электронная лочто 607 
Планируя менять значение какой.либо макроконстанты, связанной с аreнтами доставки (например, USENET  МАI LER  ARGS или FAX  МАI  LER РА ТН). убе1IИтесь, что строка, в которой YCTaHawтмвaeTCH макРОКОНСТИНТ8, предшествует строке вызова caMoro иreнта. В противном CJJyЧае будет использовано старое значение. По этой причине макросы fv1AILER размещают в конце файла конфmypации. AreHT рор взаимодействует с проrpаммой spop, которая является частью пакет8 МИ и реwтизует поддержку протокола РОР, определеиноrо в документе RFC1460. Аreит рор применяется персоналъными компьютерами и М8ССИС темами для дос-тупв к почте. наХОllЯшейся нв UNIХстанции. Лrент cyrus предназначеи .пля ИСПО.i1ьзования с сервером IМАР разработки университета КарнеrиМеллона. Пиректива МA.ILER (- ииср 1) активизирует несколько разновидностей U UCParelfТoa. Areffi usenet формнрует интерфейс меЖдУ электронной почтой и системой телеконфереJ-ЩИЙ UseneL. Для Toro чтобы он работап правильно, нужно иастроить значения макроконстант USENET fv1AILER. -в файле каталоra ostype. соответствующем архитектуре системЪ1 Публикаuия статьи в телеконференции осушеCТВJТяется путем отправки текста статьи по адресу телеконференцuя.USЕNЕТ. Иноrда добавляют apryмeHT, идентифицирующИЙ локальную орraнизаuию. Например, добаwтение элемента o "Оr9аЛl.zаtiол: University of Colorado" к значеиию М8кроконстанты USENET fv1AILER ARGS приведет к вклю'-rению заrоЛОВка "Organization" в каждую  публикуемую статью. К сожа.ттению. Usenet  это рай для спамеров. Еще больше проблем возникнет, если будет применяться areHT usenet, поэтому МЫ не рекомендуем делать это. Асент fax интеrpирует пакеТ HylaFAX, написанный Сэмом Леффлером (Sam Leftler), в систему электронной поЧТЫ. При отправке почты по адресу полыователь@получатель.fах тело сообшения передается как факсдокумент. В Качестве apryмeнтa получатель, как правило, задают liомер телефона. Чтобы разреlШf1Ъ указание символичесЮfX имен вместо телефонных номеров, используйте индексированную базу даниЫJ( или файлы /etc/remole и /еtс/phолеs. o Пакет HylaFAX МОЖНО пО.7}'1ить На WеЬузле www.hylaJax.org. Проrpаммы HylaFAX и sendmail необходимо интеrpировать друт с друтом путем инсталляции сценария из дистрибутива HylaFAX в каталоr /usr/local/bil1. Если требуется. измените значение макроконстанты FAX fv1AILER РАТН. ДЛЯ доставки ВХОДЯ:ШИХ факсоВ из буферной области в ПОЧ1'овый яшик пользо-- вателя все равно необходимо вмешательство человека. Факс документы можно преобразовывать в формат PoslScrip! (с помощью проrраммы HylaFAX) и просматрИВВТЬ с помощью GNUnaKeTa ghostscrlpl. 0' Пакет ,hostscripr доступен На WеЬу]ле \1fИ.'W.gпи.оr.g. Arem qpBge взаимодействует с проrpаммой QuickPage для доста8Ю1 почты на пейджер_ (Зв более полной информаuией об этой nparpaMMe обратитесь на WеЬузел www.qpage.org.) Описанные выше макросы VERSIONID, OSTYPE, DOMAIN и fv1AILER  это ВСС, что необходимо .пля создания базовоro файла иМRкомпыотера.П1С 608 Чость 11. Робото . свтях 
19.8. Дополнительные примитивы конфиryроции проrpаммы sendmail в этом парarpафе мы продолжим описание макросов и. кроме тoro, рассмотрим некоторые средства, используемые для измеНения cтaн.дapтHoro попедения nporpSMMbl sendma11. Будет таюке показано, как на уровне конфиryраuионных настроек решать рял адмииистративных задач, 8 частностt.1 маскировать адреса, создавать виртуальные домены, управлять безопасностью и бороться со сламам. Макрос FEATURE Макрос FEATURE позволяет активизировать некоторые распространенные аПL(КИ (называемые средствами) путем подключения m4файЛО8 из каталоrа feature. Мы помеспши вместе описание средств макроса FEATURE и pJlna друrих макросов nporpSMMbI sesdma1l, поскольку они тесно связаиы дрyr С дpOM. Даже в то ВремЯ. коrда ВОЗМОЖНОСТЬ КQнфиrypировать nporpSMMY seпdП1вil при помощи препроиессора m4 была ноеа. описание макроса FEATURE занимало значительиую часть rлавы об электронной почте. На сеrодняшний день список средств макроса E'EATURE так ве.'Iик. 'ПО для их рассотрения потребовалась бы uелая rлаВ8. Сиитаксис макроса имеет вид: FEATURE (ключввоеслово. IJpr. apr. ...) rHe КЛlOчевоеслово указывает на файл КЛlOче80еслово.П14 в каталоrе cf/feature. а apz  это apryмeHTЫ, записываемые в файл. Полный перечень средств макроса FEA TURE можно наЙТИ в файле cf/READIVIE. Ниже описаны наиболее часто используемые средства. Средство use  cw file Внyrpенни класс w nporpaMMbI sendmail содержит имена всех кш.tnью теров, для которых данный узел принимает и достаВJlяет почту. Если речь идет о клиентском компьютере, то в 'Этот класс можно включить tМЯ компьютера, ero псевдониы и номер интерфейса localhost. Если же КОНфИl)'pируемая машина ЯБ..lяется кониентратором почты, ее класс w ДО.1>кен также включать имена всех локальных узлов и виртуальных доменов, для которых он принимает почту. Средство use cw file определяет класс w на основании содерЖ5'lмоrо файла /etc/mall/localostnames (который раньше назЫВЗ-1СЯ sendmail.cw; точное имя файла можно задать с ПОМОШЬЮ опuии confCW F!LE). Без 3Toro средства nporpaMMa Sf:ndmail принимает только почту. адресованную компью теру, на котором она работает. Поскольку проrpамма sendmall читает сwфай" тоЛЬко в проиессе CBoero запуска, нужно послать ей сиrнал HUP, если сwфайл был изменеи и необходимо. чтобы изменения вступили 8 силу. Команда FEATURE (.useCWfilel) активизирует описываемое средство и подк.1ючает фиАл local-hostnames. Команда FEATURE (.usecwfile 1. . и.чяф.!lЙЛ" ') позволяет выбрать Hpyro файл. rЛО80 19. Электронная почто 609 
Средство redired ECJllII КТOTO ИЗ сотрудников покинул орrанизauию. ero ПО'П)' нужно Лllбо пересыпать по новому адресу. либо возвращать отправителю с сооБЩJНlем об ошибке. Средство переад.ресаUШI redirect обеспечивает более злеl-I-IТ ный способ возврата почты. Пусть, к примеру. некто Джо Смит Оое sтirll) закончил учебу в университете (oldsi(e.edu) и поступил на работу в "::ОМП:1II1t10 (newsite.com). Включение средства redirect командой FEATURE ( " redirect I ) и добав.аение стрсюt smithj: jое@пеwsitе.соrп.RЕD:;:RЕСТ в файл псевдоНИМОВ обеспечат возврат почты, приходящей на ИМЯ ПО;1ЫО вателя smithj. оmравителю вместе с сообщением об ошибке. в котором предлаraется посьuтать ПОЧ1)" по ал:ресу joe@newSlle.com. Сами ПО'-IТОIiЫС сообщения пересылатъся не бу,nут_ Средство olwoysodddomoin KOfJIa среДСТВО always add domain ВК;lюtIСНО. nporpaMM3 sелdlПзil добавляет имя локалъноrо узла к адресу получателя, ест!и ап.рес не tш.пS1ется полностью определенным. Предположим, чТО копия сообщения (ОТ ПОЛI:iJО мтеля lупda@сs.соlоrаdо.еdu). напранnснноrо по адресу barb@netrack.nel. посылается локальиому пользователю e"i. Если средство always add doma 1 r не включеНо, пользователь barb УВИДИТ в заrолоnке "Се:" просто имя evi. Предположим, пользователь barb хочет отвеппь всем указанным в заrОЛ{)F\К:I даиноrо письма адресатам. В ИХ trисло попвл:ет и пользователь evj, О'lщt....tI такое реrистрационное имя на маШlне nc(rack.net может либо otcyrCTI-J.Оl4ап.. либо принадлежать совсем HpyrOMY пользователю При включенном срс.ш.:ТIi\: always add domain имя evj будет преобpdЗОIJО:!НО в e\.'i@cs,colorado.edll ':Н.) Toro, как соо6шение покинет компьютер пользовате.JIЯ linda. Данное средство эффективно также в том случае, коrда буферные ката.тТОПI совмести о используются компьютерами. не имеюшиl\.Ш единоrо фаi\лз alia!'o или не содержашими одинаковые файлы passwd (в этой ситуации, Оl,1еfЩ:JJ-IО, не СЛедовало бы совместно использовать почтовые буферы). ПОСКОJlЬК адресат (псевдоним или пользователь) будет известен не на кажnом КОМIН,ю тере, то необходимо на ИСХОДliQМ компьютере полностью определить адрес. чтобы по нему можно было послать ответное сообшение. Еще один apryMeHT в пользу средства always add dOnlain COCТOilТ 1. том, что сообшеиия с неполИЫМИ именамИ '"сзето отбрасываются как CII.1\1 Поэтому мы рекомеип.уем Bcerдa аКПIВИЗlfровать ЗТО средСТ80. Если используется макрос МASQUERADE А3. средство always CJ.jd d main добавляет имя узла. которое было выбрано дЛЯ маскироваия_ O:! II имя локальноrо узла. это может вызнатЬ проблемы_ если файл аliзс 11.'111 passwd на локальном компьютере не ЯВJlяется подмножеством однонменноп, файла на узле, указанном в каче.стве маскирующеrо. Средство nocononify Это средство отменяет Ilроцесс поиска адресов в DNS. КОТОРI,llI необходим для отправки сообшеиип. Например, при нanИЧШI I-Л;IНIII.II., 610 Чость 11 Робото В f ', . 
кониентратора почты, 'LJерез который посылают СВою по'пу все клиентские компьютеры. на последних можно задать команду FEATURE (' nocaf10nfy') и тем самым отменить поиск В ONS на локальном уровне. Такой прием продемонстрирован в нашем втором при мере (см. далее). Данное средство также может быть использоВано На оченъ больших почтовых узла.х, rде ФУНКШfOнируют менты ПодаЧи и транспортировки почты. В ЭТОМ случае- поиск в ONS осущеСТRЛяет птекr подаЧИ, а rлавный компьютер, на котором запушен afeHT ТрЗНСПОРТИJЮВКИ. работает в режиме nocanonify. т облицы и бозы донных в 11pOrpi:lMMt' sепdшаil имеется несколько среllСТЯ, исполъзуюших KOHCT РУКШ1Ю, условно Н3lываемую таБЛ1uе. Она укаЗЫ8Jет. как маршр}1И3ИрОВЗТЬ почту. Таблиuа преllставляет собоЙ TeKCТOBЫ файл с информацией о маршpyrах. псевдонима.х и методах доступа. который конвертируется при помоши команды Пlаkешар в формат баЗbl данных и затем используется проrpаммоЙ seпdшаil в качестве внутренней поисковой базы данных. Одиако наличие uентрализованноrо [MAP или POPcep8epa избавляет проrpамму от рутинных ОJlераuи по поиск)' пользователей и делает ненужными некоторые из описанных ниже таблиu. ПодцеРЖ1RЗЮТСЯ две бибЛИотеКИ фуккuий, предназна'"rенных для работы с базами ШlНlIЫХ: dЬш/пdЬш (является стандартом в большинстве 8рСИЙ UNrX) н Berkeley DВ (расширяемая библиотека. пo.n..д.ерживзюшая HeCKOJlbKO схем хранеНIIЯ), Выбор биб.:lиотеки необходимо сделать на .паnе компилпции. Мы рекомендуем библиотеl<,:У Berkeley ОБ. таК как она работает быстрее и создает меньшие по объему файлы. Имеются три типа поисковых таблиu: dbm  использует раСШl1ряеrый алrоритм хэширования (dЬПI/пdЬш); лазл  Ifспользует стандартную схему хэширования (Berkeley ОБ) btr:ee  использует структуру данных тиna лвоичноrо дерева (Berkeley ОБ). Для большннства .Ja,цаtl, связанных с применением таблиц, наиболее приемлемым оказывается тип 11asll, который преlIJIаrается по }'Молчанию ИспользуЙте команду шаkешар пля построення базы данных из TekCTOBoro фаЙЛёl. При ':;tТOM нужно указать тип бi:!3Ы данных и имя ее файла, Текстовая версия базы данных должна подаваться на стандартный ВХОД КQмзf-ШЫ mаkешар: " шаkemaр ЬаsЬ /еtс/ш.аil/ассевs < /etc/IDA1.1/acce88 На первыи взrJJЯД данная комаf-Ш3 Быrлядит непрзвильной. так как Кажется, '"по в результате пронзойдет замена Бходноrо ф<l.йла пустым выходиы.. Однако команда Inakemap присоединяет к имеIOl файла суффикс. и потому BЫXOДHO фаил в деиствительности называется /eLc/mail/access.db. При КЗЖJ10М Иlменении TeKCToвoro файла необходнмо (' помощью команды пшkеП18р nepeCтpalbaTb фаЙл баIЫ данных (останавливать nporpaMMY SflldПlзil С'Пlапом Н UP нет необходимости). Посколы,:у для базы данных строятся ключи н прн поиске клю'"rа выбирается самое длинное из возможных совпвл:ений. порядок размещения элементов в текстовом файле не имеет значения. Если KaKoeTO средство ожидает файл базы данных в качестве параметра. то по умолчанию rnoBO 19. ЭnеkТрОННОЯ ПОЧТО 611 
принимаетея тип hash и файл lеlс/,".II/и.мнтаблиl/ы.dЬ. Чтобы измениТЬ эту установку. ухажите требуемый ТИП при вызове командЫ makemap и в макросе FEATURE либо поменяйте стандартные 3Н8'"rения. переопредеЛНR переменную DАТАБАSЕ  МАР  ТУРЕ: de!ine ('DАТАВАSЕМЛРТУРЕ', 'dbm') Дтуя подключения новой базы данных access.db необходимо добавитъ D mсфайл следуюшую команду: FEATURE (' acceI!l9db', 'hash /еtС/IП.411/ассеS5 1) Поскольку в даннОЙ строке активизируются установки по умолчанию. ее можно упростить: FEATURE (' ассезв  db' ) Имя файла базы данных разрешается указыватъ как с суффиксом (.dh). так и без Hero. Не забывайте перестраивзть базу данных при поМОЩИ KQM8f-шы пшkсП1Вр ВСЯКИЙ раз, коrла изменяется текстовый файл. В противном случае 3ТН изменения не будyr учитываться. В следУЮЩИХ разделах мы опишем средства mailertable , generlCr. аЫе и virtuзеrtаblе. Средство access оЬ рассмотрено в параrpафе, посвяшенном спаму. Средство userdb мы нё рассматриваем вовсе, так как в настояшее время оно используется редко. Средство mollertobIe Срелство maile:rtable перенаправляет почту, адресованную KOHKpeTHO му узлу или домену, по зльтернзтивноJ\..f)' адресу с помощью заданноrо areHT3 доставки Оно применяется ДЛЯ отправки почты и принимает во внимание только доменную часть адреса, 8 имя пользователя не рассматривает. Ап.рес конверта при этом не переписывается, ПОЭТОJ\..f)' почта предназначается тому же самому пользователю, но посылается на друrо узел друrим areHToM доставки. Средство Лlаilеrtаblе было создано для взаимодействия с иными почтовыми сисп::мами. таюtми как UUCP, DЕСпеt и BIТNET. но, посколы<:уy они в настояшее время почти не применяются. потребность в средстве mailertable в основном oma.rra. Запись ДЛЯ средства Лlаilеrtаblе имеет следующий вид. старый дoиeH areHT  доставки: пОJJ.ьзоа тельt'!lновый  лоиен Если перед левым КЛЮ(lевым словом указана ТОЧl<а, то ЭТО означает "любо узел домена". В качестве ключа для средСТБа mal1ertable можно применятъ только имя компьютера или домена; имена пользователей непопустимы. Элемент пОЛЫО8атеЛЬ@НО8ыйдо,чен может быть опушен. В ЭТОМ случае заrоловки сообшения не изменяются. В качестве параметра azeHтrJoc тавкu может бытъ задан только areHT. определенный с помощью макроса fv1AILER. Чтобы включить средство rr.ailetable, в mсфаАл необходимо БСТiШНТЬ след)'юшую строку: FEATURE (.ma.ilert.able ') 612 Часть 11. Робота в сетях 
Средство genericstobIe Применеиие средства genericstable C'generics laЫe'  общая таблица) аналоrично созданию псевдонимов .D.JlЯ иСХОдЯЩей почты. Например, можно заменить имя trent@xOf.COrn в нсходяшем сообщении именем trеПI.hеiП@ХОf.соm. При этом переписЫВаются ззrОЛQВКИ сообщения. а не ero конверт. Данное средство не влияет на то. куда будет доставлена почта. Оно определяет. кто получит ответ. Сушествует несколько методов переПИСЪ1В8НИЯ имени компьютера. anнако только средство gener1.cstable позволяет помещать -в ключ замены как имя пользователя, так и имя компьютера. К адресам. заданным в средстве genericstable, MorYT также применwrъся описанные ниже средства таз queradeenvelope и allmasquerade. Перед использованием средства genericstable vбе.дитесъ. что требуе мый домен ЯRЛяется доменом класса ger.erics. Чтобы поместить домен в Ю18СС generics, укажите ero в макросе GENERIC DOМAIN или вкточ-ите в файл, заданный в макросе GENERIC DOfv1AIN F!LE. Следуюшие команды активизируют средство genericstable со cтaH .nартньfМИ установками: GENERIC  DOМAIN  E"ILE ( . /etc/mail/local host names' ) FEATURE С' qeneciC."it.aDle') В данном примере в файл включается 1МЯ любоrо KO!L-lПьютера, .nля KOToporo принимается почта. СредсТВО genericstable замеШIяет работу проrpаммы sendlUail. IIOСКQПЬКУ оно требует просматривать каждЫЙ ал:рес оmравителя. Средство virtusertobIe Таблиuа ВllрТУальных пользователей содер>ll.'"ИТ доменные ПССВДQIШМЫ ЛJ1S1 входяшей почты. Сред.ство ",1 rll.lse!"tab позволяет работать на онно\.! компьютере с нескоЛЬКИМИ виртуальными доменамИ. Оно '"састо используется в Орl"8НИЗ8ЦИЯ'\. 18нимаюЩИХСfl v..'еЬ'(остинrом Поле ключа таблиuы содержит адрес электронной почты (пОЛЬ108Q теЛь@КD,,,"ыотер.до.1fен) или спеuификашfЮ ДОМена (@OOMelt). Поле )начеЮ1Я представляет собо лока.'1ьный почтовый адрес. внешний почтовый адрес или спеuификаuию типа аzентдостQвкu:адрес. Если ключ  зто имя домена, то имя пользователя в поле значения может задаваться в виде переменно i; i либо указываться явно. Рассмотри м СЛС!lУЮШИf! пример' @baL.orq \l@elsewhere.com t.4аршру к JlОКальному 1I0ЛЬЗОJ:li:!. .!.'еЛJ() ДРУl'ОЙ JlO..-SЛЬНblЙ ПОЛЬЗОВо'l'елi:o :возврат ошиб:ки вен почта наllравляетс:я nОJ1ьэоватеnю jane вся почта налрАВJlяе'rся 'l'ouy же пользователю l.nfo@[oo.com !nfo@bar.corr. Joe@bat".com @baz"orq fOO..Lllfo barl.nfo error::No such user: ]ane@elsewheI:e.com Все узлы. перечисленные в левой части. должны быть укюаны в сwфаиле (или в новом классе VirtHost) В ПРОПfННОМ случае протрамма scndmail ПОllытается найти узел в Iпtеrпеl и ДОСТЗВI-rrь поЧ1)' туда. Ес.'IИ DNS НiШрИ8ИТ проrpимму sendmail назад Шl данныЙ сервер. будет IlOлучено сообшение об ошибке ЛОК3..'IЫЮЙ конфиryРЗllИ1-1 К сожалению. ПрОI-раММd sendm3il не может r пава 19. ЭлвКТрОНtlOЯ почто 613 
сказать, что в действительности сообшение об ошибке должно выrлядеть 1".110.: "В файле cw отсутствует ключ ШIя средства virtusertable" I:Jтобы оnис8нный механизм работал, необходимо соблюдение следующ..( условий: должны существовать такие DNSзапис.и МХ. чтобы почта достаВЛЯ)ILIt.:I, правильному узлу; в cwфайле должны быть такие записи, чтобы локальный компьютер МOI принять почту; с этой же uелью может быть зanаи макрос VIRTUSER OO МAIN (или эквивалентный ему макрос VIRTUSERDOfvlAINFILE): таблица виртуальных пользоватеllе дол),(на указывать nporpaMMe sendlnuil что делаТЬ с почтой. Данное средство активизируется при помощи с..'lедующей команды: FEATURE (.virtusectable') Примеры в параrpафе 19.9 демош::трнруют использование средства 'J r tusertable ,WlЯ орrаН1fзаuии виртуальноrо хос1'ию',а Средство Idop routing Рассказывая о псеRдОНИМах и перенапранлении почты. нелЬЗЯ не Y"OM' нуть еше раз прarокол LDAP. Этот протокол может быть использован вместО! средства vl.rtusertable для маршрyrизации и приема почты в ВИРТУaJIЬНЫ,\ д.оМенах Он также позволяет управлять псевдонимами. за исключенне'-I списков рассылки. Чтобы использовать IlРОТОКОЛ LDAP для решения указанных 3iJдач. необходимо ввести в конфиryраuнонньrn файл несколько команд, а 3<1Te\1 скомпилировать nporpaMMY seпdП1аil с поддержкой LDAP. В mсфайл требуеТС:l-1 ВКЛЮ1IНТЬ следующие строки: FEATURE (.ldap  routlng') LDAPROUTE  DOМAIN ( . домен') defloe (.confLDAPDEFAULTSPEC'. 'h сервер b бdзапоиска ') Блаrодаря им проrpаЮl8 sendmail узнает о том, что нужно ИСПОЛЬЗОП:IТЪ базу данных LDAP для маршрyrnзаuии ВJ(одящей почты. адресован нои указанному домену. Опuия LDAp DEFP-,lJLТ SPEC определяет сервер LDAP и имя базы данных, в которой оvшестwтяется поиск в следуюшем примере база. в которой нanо осушестнлmь rЮЩ:i\. определяется ПIК: o==sendmail  сот, cus. Есшt протокол LDAP f1Р'i\fеЮI"lt:sr не на стандартном порте 389, добавьте выражение  портИ ь спеuиф,.,t..Шlll"l опики LDAP DEFAULT 5РЕс. Проrpамма sendmail использует два Tera в базе данных LDAP: mailLocalAddress  лля получателей входящей почты. mailRoIJtl.ngA.ddress  для псеидонимов адресатов. Проrpамма sепdП1аil также поддерЖliнает тer mailHo.st. Пр1 ero HaJllt'fI 11 почта для узла, указанноro в Tere mailRoutl.ngAddress. ПQCЫШI.L"Тl':-l компьютеру, на которыЙ ссылается наиболее прноритетная запись МХ )T... указанноrо в Tere ma.l.1Host. Например. присутствие LDАРзаписи (для сервера, СКОllфиryрироваtlll11ltl с уникальным ИМенем KopHeBoro каталоrа, равным Cn==Toot. o=ser  mal.l. com, c==OS) 614 ЧОСТЬ 11 Робота в сеТАХ 
dл: uidric. osenmal. com. c==US object.ClaS5: l-пеtLосаlмаilRесiрiеnt. mailLocalAddress: eric@5endmail.org mal1Routin9Address: eric@en9.sendmail.com приведет к тому, что почта, адресованная nользоватешо eric@sendmaiI.org (записи МХ предписывают посылать ее на узел sendnwl.con1), будет доставляться по адресу eric@eng.sendmai1.con1. Если же LDАРзаrrnсь будет включ.ать еще строку mailRost: mailserver. sendmдil.com то почта лля полыователя eric@sendmaiI.org будет адресоваться полыователю eric@eng.sendrnail.com и направляться узлу, на который ССЬUIается нанболее приоритетная запись МХ компьютера mailsen,er. Формат базы данных LDAP допускает использование непоЛНЫХ записей типа @домен, которые перенanра.нляют поЧ1)' на указанный домен вне зависнмости ОТ Toro. кому конкретно она адресована (Как в средстве virtusertable). Москировоние одрееов и мокрое МASQUERADEAS Макрос MASQUERA.DE AS ПОЗRоляет зздзть елиный адрес. З3 которым бупyr I'скрьmаться" все компьютеры. При этом созпается ВIШИМОСТЬ, что вся почта поступает с OДHoro компьютера или из ОДноrо домена. Адрес отправителя 110льзовате.о1ь@uсходныиУЗefl.оомен меняется на пОЛЬ306атель@мас кuрованноеи.М.я. Конечно, адресамаСК}I полжны быть леrИТИМllЫМИ, чтобы можно было получить ответ на свою поЧ1)'. Такая конфиrypаuия позволяет всем ПQЛЪ30вателям орraнпзации иметь о.nинаковыс электронные апреса. Если, например, все узлы домена XOf.com маскируются под именем XOf.com, то почта, направленная с адреса пОЛЬ308а. тель@компьютер.ХОf.СОП1, будет содержать адрес отправителя пОЛЬ308а теЛЬ@ХОf.соm. Компьютер. который управляет доменом XOf.com. должен знать. как доставлять почту всем полъзоватеЛЯМ. даже тем. кто не имеют pernCTpaUHoHHoro нмени на сервере nходяшей почты. Естественно, реrистра ЦИОНl-lые имена полжны быть уникальными во нсем помене. Некоторые ПОЛЬ'ЗОRЗТели и адреса (НЗПрJ!мер. root, postmaster, hostmaster, troubIe, operaHons, MailerDaenlOn и пр.) должны быть исключены из системы маскирования. Это можно СДелать явно с помощью макроса EXPOSED USER. В частности. последовательность команд  МАSQUЕRЛDЕ  AS ( . xor . сот' ) EXPOSED  USER I . root. . } EXPOSED  USER ( . Ма! 1 Оаетоп' I идеНТIJфицнрует всю поЧ1)' как поступающую от имени пОJlыова.тель@хоr.соm. если ТОЛl>ко она tle послана пользователями root и postmaster. Почта ЭПIХ пользователей бу.nет снабжена апресом реальной машиныотправителя. СущеСТRует несколько расширеНИlI базовоro макроса fv1ASQUERADE AS. ОНИ реamtзованы как в виде макросов, так и в виде средств:  макрос МASQUERADE  DOМAIN, макрос MASQUERADE  DOМAIN FILE, макрос МASQUERADE  EXCEPТION, сре.nство llmted  masquerade. r ЛОВО 19. Электронноя почто 615 
. средство allmasquerade. средство ma5queradeenvelope, . средство ma5queradeentredoman. Мы peKoMeН1IyeM использовать макрос МASQUERADE AS вместе со средствами allmasquerade и masqueradeenvelope. CpeДCTBO lim itedmasquerade мо1tИфиuирует поведение макроса МASQ(jERADEDOMA.rN. Оно полезно для орraнизапии сре.пы виртувльноrо ХОСТИ'fП"а. Макрос МAS QUERADE DOМAIN позволяет перечислить дoMeHы, под.пежашие маСКИр08а нию. ЭтОТ список предварительно заrpужается из класса w, КОТОрЫЙ обычно определяется с по"'1ошью средства :Jse CW fle и содержит перечень узлоn домена. Сренство llml ted masquer--;de  не иниuивлизирует СПИСОК Ш\ основе информаuии из класса w Все эти домены будут скрьпы за доменным именем, указанным в качестве маскируюшеrо Средство allmasquerade расширяет маскирование на получателей сообшения. а средство masquerade envelope маскирует адресе конверта и адреса в заrоловквх- Этих лвух средств достаточно, чтобы все адреса обрабатьmались одинаково. Средство ll.mitedmasquerade маскирует а.п. рееа указанных доменов. Мокроконстанты МAILHUB и SМARTHOST Используя средства маскировання, можно сделать так, что почта будет вьrrлядеть как отnримеНН8Я из одноrо компьютера шrn домена. Достиraется это пyreм переnисblВaНИЯ заrоловков или, иноrпа. конвертов. Однако Б некоторых случаях требуется. чтобы отправКОЙ (ИJlИ приемом) почты действительно заннмался один компьютер. Для входящей почты это реа.rш зуется при помощи макроконстанты ИАIL  HUB. а для исходяшей  посреЛСТDОМ макроконстанты S["1ART HOST. Есл,", необходимо пересылатъ RСЮ вхопящую почту на utНТральный сероер дпя nослед}ющей ее доставки, Прllсвойте макроконстанте МAIL нов значение аеН11JдQС11JQвки:ко.",,,ьютер, rne aeHтдocтйвKи  это areHT, который д.ол'..кен ИСПОЛЬЗО8iПЬСЯ для достижения указ.iНноrо компьютера. Если !l2нный apry мент не за.аан, используется аrеlП relay. Например: dеfiле (.МAILHUB' # . smtр:mаЙhuЬ.сs. colorado.edu') МаКРОКОНС:Тalпа SMA.T HOST заставляет компьютер доставлять локаль ную почту. а внешнюю почТУ отправлять по указанному адресу. Эта константа может применяться компьютерами, которые скрыты за брандмауэром If не MOryт непосредствеl-IНО посылать запросы в службу DNS. Сннтаксис ОПрепе лени}) этой константы T3KOI-i же, как у констанТЫ МА IL нив. АП:IПОМ поставки, установленным по умолчанию, ивляется i:l.reHT relay. HanpllMep: dеfiле I . SNAR'I'HOST', . smcp:rr..ailhub. сз .colorado .edu') З'ro адреса "То", "From", "Сс" и "Вес", которые пояБ.,'1я1отся 8ззrОJlовках сообщеНIIЯ. Аарсс конверта  зто адрес, ПО которому в деАствительности отправляется сообшение. Ааресз конвертов формируются пользовательским aremOM нз адресов в заrоловКRX, однако про-- l-рамма sendmail обрабатывает их 01'Ле.!IЫIО. Мноrис средства проrpамм-ы, относяшиссSl к маск:ироваНИIО и перенапраВ.'J.ениlO почты. не803МОЖНО бьUIО бы реализовать при ОТСУТСТВIIИ возможности учета раЗЛI1'jИЙ между адресами в заroловке 11 конверте. 616 Чоcrь 11. Робота в сетях 
в данном примере один и тот же компьютер действует каК сервер И вхояшей, и исходящей почты. В больших орrаНИЗ8UИЯХ может потребоваться выделить для этих uелей разные компьютеры. МОСКl<ровоние и моршрутизоци Итак, мы уже описали MHoro средств и макросов, которые тем или иным способом воздействуют на sдpeca электронной почтЫ. Сейчас, вероятно, свмое время провести их анализ. В частности, следует рассмотреть, что именно они делают: измеНЯют заrоловки, адреса K01-lвертв иЛИ upfC доставки сообщения, примен.яются к входящей или исходтцсй почте. к алресам получателя или отправителя и Т.д. Конечно, если бы СТрВНИU8 книrи бьUlВ рв38 в два шире, мы моrли бы проиллюстрировать псе различия. А поскольку это не так. приведем только обшую ии формацию. За более полными сведениями читателям придется обраТИТЬСЯ к д.окументаuии по nporpaMMC sendmail. Элементы, указанные в табл. 19.12 проnисными буквами, я8.,"]ЯЮТСЯ макросами препроuессора m4. Строчными буквами записаны средства, которые аl<ТИВИЗИРУЮТСЯ посредством макроса FEA.TURE. Отступами слева иллюстрируется зависимость средств и макросов. Например. cpeдcтna, KOTO рые связаны с макросом МASQUERADE AS, не работают, пока зтот 18KpOC не включен. Срепства !\-fаскирования воздействуют На 8дpC8 в заrоловка..х исходяших сообшений и определяют, можно ли будет ПО:lУЧ1fТЬ на ННХ ответ. Срепствз маршрутизаuии влияют на доставку сообшени'VI. Таблица 1912. Сровнение средств МОСI(ИрОВОНJAR и моршрvтизоции Конструкция ПочтО Влияние 1 Чостъ одрщ:о МASQUERADE  1\S уэм.домен аllшазquеrаdе уэе.л.доМI!Н МАSQUЕRЛDЕDОМАN [FILEj уэе.л.домен masquerade  ent..1re  oomain пDАьзователь.под домеll.домеп ф '" :r: D 8-  D  исх. 03 исх. П3 ис),. 03 "СХ. 03 ИС)... оз иех. ок1. исх. 03 иех. мАЛ ВХОД. пд ВХОД. пд lm:.. ::еа :r.a5querade masqueraC1e  enve!ope qener lC9table  ,s D [ О. 3 о. D  mailerto.ble virt.usert.able ldap . уэел.до.wеll ye..1.do.weH nО,1ьзоtfате..1Ь@\'ЗeJJ. домеll . уэм.домеll пОЛЬЗО8'DтельОуэм. домен пОЛЬ30f10пlель@уэе.л. до.ые" ma1lhub ВХОД. пд узел. домен зmаrthоst НС);;. nд }'зел.домеll а  отправитель, П  полуЧВтелЬ, Д  доставка, 3  зart\lIОВОК, К  KOtlPCpт, Ar  areHT, А  адрес. 2 Ес.!tи при поыоши cpeдc-rвa masqueradeenvelope задано переписывание мреса конверта. все ДРУПfе ыаскируюшие конструкции будyr neрс:nисывать не тол.ько эаroлОВОК. но и конверт. r пава 19. Эflектронноя почто 617 
Средство nullclient Средство пullсliелt предназначено иля компьютера. I\ОТОрЫИ не должен получать почту непосредственно. а ВCIO исходящую почту должен посылать на uеmpалЫrbrй сервер. Для тaKoro компьютера mсфайл включает вcero две СТрОКИ' OSTYPE (' ТилОС') FEATURE( 'лullсll.епt', - ПОЧТОВыИсервер') Средство пullсliелt отменяет назначения, выполненные при ПО:МОШIf дрyrnХ средств. Вся почта без исключення будет доставляться на компьютер почтовыйсеР8ер ШIЯ обработки. о Учтите. что сервер должен обеспечивать далЬНfЙПIyЮ ретрансляuию почты, исхолящей от клиеита. В последнИХ версиях проrpзммы sendm8il эта возможность отключена по УМОЛЧНJ1Ю. Об ynравлеmm ретрансляцией будет подробнее рвссказызтьсяя в параrpi1фе. посвященном спаму. Так как нее "нульклиенты" будут 8ыrлядеть кш.; пОllmО8ыйсервер, возмо:+,,'Но. понадобится ввести конструкuию EXPOSEO  USER штя пользователя root. К'1иент. иа котором аJo..'ТИВИЗИРОнано средство rlullсllепt. должен IMeTb соответствующую запись МХ. указьrвзюш)'ю на сервер. Он также должен быть ynомя-нyr В сwфайле серllера (обычно это файл jetcjmail/1ocalIIOI names) Все эти установки позволят серверу принимать поl.f1)' для дaliHoro клиента. "Нульклиент" не должен прнннматъ входmuую почту. Если бы 011 это делал, ему все равно пришлось бы перенаправл.ять почт)' на сервер. Запустите проrpамму sendmaiJ без флаrов bd. чтобы оиа не ожидала SМТРсоедкнеНIIЙ на порту 25. Флаr q30m не y.naляйте. чтобы в случае останова почтоноro сервера клнент MOr помещать ИС'\:одящие сообшения n очередь и отпрзRЛЯТЬ их позднее. Средство nullcllent поюшдит Д,.'lЯ конечных узлов небольшой орrани заuии с центральным ПОЧТовым сервером. В крупных орrанизаuиях следует рассмотреть возможность возложения почтовых Функuий на машинуко...uен тратор. разделить серверы 8ходяшеti и исходяшей почты или ИСПОЛЬЗО8ать иерархический под.ХGП к орrанизаUИII электронной почты. Средство locolJmtp и smrsh Проrpаммз /Ьiпjmаil все хуже спрап.тшется с ролью локальноrо arellTa доставки R LJNIX. Если средстио local lmtp определено. то ero ;;lpryMemoM ЯILЛяется имя JJокальноrо arem8, который пш-шмаеТ IlрОТОКОЛ LMTP (LOC;II Mail Trnnspon Prolocol  протокол ДОСТ8ЮI ЛОКaJlЫIОЙ ПОIПЪJ). определенныii в документе RFC203J. По \'МО.'ТЧ81-1ИЮ таковым ЯRJIЯСТСЯ nporpDMM3 mailJncaJ. включенная 13 ДИСТРИО}ТИБ endmail. Эта IlpOlpaMMd инста;rлируется в к;,тапоr jusr/libexecjmail.Jocal. 110 IlocpeдcтвoM OIIUlIH сопfЕВINОfR )lOжно задать друrои каталОf. Проrpамма sшrsh  ЭТО усеченный IIIперпретатор команд, ВХОДЯШIИ н дистрибутив sепdшиil. ОН СЛ}'--'А<ИТ заменоЙ тралиuионному areHT}I проrpаМtl-lоЙ доставки. /binjsh ПРОfрвмма Slпrsll облеrчает алминистратору JIОкальноЙ Если клиентский компьютер скоифюJrpИРОПЭTh таким образом. а затем Ilротестировать конфиrypацию посредством команды seпdшaJl ы. то окажется. что клиент лока..1ьно дoc тав.ляет локальную почту. ПричиноА этоro является то обстоятельство, что тtре.....юш nullcl1ent обрабатывается П03.llНее, 8 наборе правил 5 файла КОIIФиrypаШIИ. 618 Чост 11 Робота 8 CeTR)( 
системы контроль нan тем. какие команды вызываются ДЛfl обслуживания З!lе"h.lрОНJЮЙ почты. Заnyскать можно только те nporpaMMbI. которые Haxo дятся в KaTaTlOre Д80ИЧНЫХ файлов проrpзммы smrsh. Обычно это каталоr /usr/adm/sm.bin (задается в процессе компиляuии nporpaMMbI) ПроrpаММtt smrsh также отслеживает в командах "подозрительные"' симlюлы (например, операторы перенипраштения cтaн.nap1'Horo выходноrо потока) и при их обнар}А<'ении прерывает доставку почты. Мы рекомендуем инсталлировать и nporpaMMY smrsh. и проrpзмм}' mail.local. а также ВКЛЮЧИIЪ средства, которые их используют: FEATURE l' local smtp'. . /us:r:/libexec/mail.local') FEATURE (" smrsh', "/usr/liЬехес/srnrзh'» Подробнее о проrpзмме sml"Sh рассказывзется в параrpафе 19.11. Средство locolprocmoil При включении средства local procmall появится возможность при менять в качестве лока.'Iьноrо аrента доставки проrрамм р....ОсПlаil (автор  Стефан ван пен Берr). Данное средство требует ухазания только олноrо арrументз. Таковым являетсЯ путь к двоичному файлу рrостаП. Проrpамма рrОСПlаil может делать rораздо больше. чем простые проrpаммы jbiП/Пlвil или Пlиil.lосаl. Кроме доставки СQобшеНJfЙ в почтовые яшики пользователей nporpaMMa способна сортировать сообшения по папкзм. сохранять их в файлах. 8ызывать nporpaMMbI и фильтровать сПам Проrpaмма procmail не вход.ит в дистрибyrnв sепdПlаil. Ее можно получить на WеЬyзrlе www.рrоcmаil.ощ. При помоши сред.ства local procma11 можно задать использование д.руrой. отличной от procmail. nроrPВммы. Для этоrо обманите проrpамму sendmai1. сделав пил. что задаете локальную копию nporpaMMLI рrОСПlзil: FEATURE ("lDcal procma::..l' . lusr/loca.l/b::"li/rnyrnailer') Мокросы LOCAL. Если требуется liЗШtСать нес"ольКО новых эюотических праВЮI ШIЯ какихлибо особых СИ1)'апиt1, используйте набор макросов с префиксом LOCAL. Примеры таких конструкuнй приведены 8 параrpафе 19.9. Конфиryроционные опции Конфитураuионные ОПUИIl и макросы (команды О и D ЯJы-ка КОНф"lry рирования IlрОrpзммы sепdrnаil) мorут быть YCTClHOMeHbI при ПОМОШII команды define Ilрепроиессора Пl4. rlО.IНЫЙ список orщий. доступных в виде переменных npcnpOlleccopa. а также их знаlеНШl по умолчанию приведены в файле cfjREADI\IE. Для большинства систеМ подходят стандартные значения Вот неско]Ть"h."О примеров: defne (" confTOQUEUERETURN', .10') define (. confTOQUEUEWARN 1,  JJ.h') define (.сопfРRIVll.СУП.АGS 1. . пое>:рп , ) Опuия rолfТОQUЕUЕНЕТUРN опреде.:'lЯет, как долrо разрешено Haxo ДИТЬСЯ в очереди сообшению, которое не может быть поставлено. Опuия солfТО QUr:.UEWARN зnлает, сколы;:о иремеНJ1 сооошеlше должно стоятъ 8 619 r.. I 19 ЭnеКТРО..,НОfl почто 
очереди, чтобы ero отравитель получил уведомление о том. что с сообшением не все в порJШке. В первых двух строках для данных опций задаются значения 7 дней и 4 часа соответст-венно. В следуюшей строке устанавливаются флаrи безопасности. которые запрещают SMTPKOMВНДY EXPN (рвскрытие адреса). Опция солfРRI  VACY FLAGS принимает раЗделенный залятыми список флаrов. Некоторые версии препроuессора m4 требуют в этом случае ставить дне пары кавычек: def1.n8(.confPRIVAC'frLAGs', '.лоехрn, лоvrfу") 0' Более полная информация 06 оnцШlX безопасности nриведена в nаршрафе /9.1 J. Стандартные значения большинства опuий оказываются приемлемыми мя неболъших и среднеro размера орrанизаuий, в J;:OTOpblX безопасность И npоизводителъность не являются критическими факторами. On.нaKo, полъзуясь значениями по умолчанию, можно стать жертвой спама. С uелью борьбы со спамом рJШ установок придется и.змеЮ!'Ть. Если почтовый Koнueнтp8Top испытывает большую наrpузку и обрабатыает MHoro сп-исков рассылки, возможно. потребуется настроить ряд ОПЦИЙ, влияюших на ПРОИЗВОДlПелъ ность. Опции, которые можеТ понвдобитъся настраивать, перечислены в табл. 19.13 (это лишъ около лятнaдuати проиентов ИЗ 150 опций конфиry рации). Tyr же указаны и их значения по У1>юлчанию. В иелях экономии Места опции приведены без префикса сол f. Например, ОПl1ИЯ FA.LLBACK МХ в действIПельности называется солfFАLLВА.СК мх. Таблица разделена на части в соответствии с тем, для каких испей применяется опuия: обших, связанных с ресурсами, производителъностью и безопасностью/спамом и прочих. Некоторые опции правилънее было бы разместить в нескольких частях, однако мы ухазали их только в одном месте. ОПЦ><Я CWFILE Таблица 19.13. Базовые опции конфиryрации Описание и зночение по МQПЧQНI-4Ю Узлы, для каторы'\( nриниаl!ТСfl почта и KOTO рые СЧИТЗIОТСfl ЛОКn.:lJ;,НЫМ:И иetc/maJl/localhost nsmesl Anрес 8 заrОЛО8Ке "Сс" сообшения об ошибке (отсутствует) Перехват спама, в иеКОТОрЫХ системах сшl.1oj наnр8влясrсм в фаЙ.l /dev/nuU. но зто 'lрСВЭТО Te, что серьеЗНЫе проб!е\fЫ oCT8HyrcJol .iеза.\!е чснными (роst!J1азt.еr) МИНИМВ"lЬНОС пространство в фElЙ10ВОЙ систсс п.:IЯ получения ПОЧТЫ ООО} МаксимальныА разер в ба.йт.nх ОД1l0rо сообшс нии (нс.оrpаничси) Врея тайм-аyra д.1Я разных ситуаuий (варьи руется) Врсмя ожидании запросов на ayreH-П1фИкаuию отnравитсля; ссли задано значсние О, проверка не 8ыпо;rннеТСR (55) Макса-тrЫlое КОЛИLJССТВО ПОрОЖJ!сННЫХ 11pO UCCCOB 1 не о BНJ.1 t ICHO) Ес..1J..1 быть более ТО<!НЫМ, ТО 3ТО маКСJ..lма.IJЫtо количество порожденных npOllCCCOB. запускасмых одновременно При llОCПfЖСli101 npelle.lbHoro знач.СНИfl nporpfl"!lfI sendman отказывается ПрИНИМRTh запросы. эта ОЛIlИЯ позволяет предотвратить ата...'11 вила "отказ от обслуживаНИJl". i \D О COPYERRORSTO DOUBLEBOUNCEADDRESS . МП'fRЕЕВLОСКS  MAXMESSAGESIZE  TOи... ., о.. ТОIDЕ"Т MAXDAEMONCHrLDRE 620 Часть 11. Робото в ceTSI)C 
ОП UJoo1 А MCICACHESIZE MCICACHEJIMEOUТ HOSTSTATUSDIRECТORY  FALLBACKMX О I QUEUELA  8. REFUSELA t:: MINQUEUEAGE DONTINIТGROUPS TRUSTEDUSERS PR1VACYFGS МАХНЕАDЕRSLЕNGТН  о  МAXM I MEHEADER5LENOTH  CONNECТION  RAТЕТНRО1ТLЕ о z u О " О j МAXRCPТS PERMESSAG Е DONTBLAМESENDМAlL -'\UTHMECНANISMS ОЕР AUТНlNFO  LDAP DEFAULT SPEC о "'- Оnисон....е и значение по' vмопчани'О Количество cn:кpьcrыx кэшированны:х TCP некий (2) Время, в течение KOТOpOro кэwированные co единения 0CТ1IЮ'ТCJI O7IфЫТЫМИ (5m) Описание приведеио 8 основном тексте (значс нис по умолчанию oтcyrcTByeT) локалъкый узе.л. ШUI псрс:сылки сообwений, от- правk8 которых 38вершилась неудачно; п03ВОJ1ЯСТ централизовано обрабатывать "npoблемиую" поч. 1)' (значение по умолчaюuo отсутствует) ПохаэаТCJIЬ средней 3аf1Jуж.енност1, при KCТO ром сообwеиия помешаются в очередь, 8 не отпр8.ВЛJUOТCЯ немедленно (S.ЧUCl70  nроиессорое) Пока.зател:ь средней 38.rpу::инности, IlрИ KOТO ром происходит отказ от почты (l2...ислопро ц«сорtЖ) Минимальный период времени. 8 течение ко-- тoporo 38.дание должно находиться в очереш!, ПОЗ80ЛЯСТ улучшить обработку очереди на пере rpу::инной машине (О) PeKOMeНJ1yeтcM ВКJtJOЧ8ТЬ. есди ПОЧТОIIЫЙ сервер ими1' фаАл rpуn.л.ы большоro объема. УПРаш1Яе мыЙ службой NlS (false) Позволяет вла.аельuам ПРОI1>8ММ. свя38Н.НЫХ С управлеиием сmfСками рассblJlКИ, ПОJШелывать сроку "From" (root., daemon) Задает оrpaничения на информвwoo. BbLд8ввe мую по пparoколу SMТP (aur:hwarnings) МахсиN8ЛЬИЫЙ размер (11 байтах) эarоловка письма; ПОЗ80ЛЯС1 38ЩИТИТЪ буфер пользова тeJIЬCKOro R.reн-ra от атаки по принuИIIY пере ПОItНеиия (не оrpаиичен) Таюкс: 38J..I1ИШaСТ буфер по.л.ьзовательскоro arc:н-ra от перепоItНсНИЯ (размер буфера не оrpa.н.ичен) Лредотврашает атаки вида "отказ от обс,!IYЖИ вания" за счет оrpЮiИчения скорости, при которой разрешается устанавливать почтовое соединение (ие оrpaничена) Задерживает отправку спам.в; приоСТ8Нв.в.лива.ст обработку избыточноro числа получателей и rcиерирует временное сообшение об ошибке (ЧИCJIо получателей ие оrpаIOlчено) Orменяет тахие фуюшии ПР<Л1>8ММЫ sendmaD. как контрол:ъ 6е-:юпаснocrи м проверk8 фаАлон; не изменяйте значенне этой OJШИИ без особой необхоJlИМОСТИ (5afe) Список механизмов аутентификации П(l прото колу SMTP дл.я библиотеки Cyrus SASL (пуст) Файл с аутентификационной информвциеА для ..,сходящей почты (не определен) Спеuифи:кa.u.ия базы данных LDAP, вкточая ИМЯ компьютера. иа котором :JRЛ}'щси сервер, и номер порта (ие определена) r пово 19. Электронноя почто 621 
Используйте опuию HQST STATUS DIRECTQRY на заrpуженных узла, которые вынуждены обрабатыВать большой объем oтвeprнYToA почты. Эта опuия преllЛисывает проrpамме sendmail хранить встатусном каталOJ"е фаЙ 'l для каждоrо компьютера, на который не удается выполнить ДОСТ3ИК)'. На основании ланНОЙ информаuии определяются лриоритеты просмотра УЗ.ПОВ при повторной обработке очереди. Это позволяет реа.'1ИlОв.ать схему OTpJ1Ua телъноrо кэширования (см. rлаву 16) и обмеНllВаться патусной ИНфОРМ81ll1ей при обрабarке разных ПОЧТОБЫХ очередей. Ниже приведена команда. Б которой KaтaJlor /etc/mail/.hoststat выделяется для хранения статусной инфор М8ЦИИ (этот каталоr сначала нужно создать): define (' confHOSTSTATUS[)IRECTORY', . .hostst.at') ОПЦИЯ FALLBACK МХ также позволяет ПОВЫСИТЬ IIРОИ3ВОдlпеш.ность. Он;] задает пересылку всеЙ неотпраменной по\пы на локальныЙ сервер. ос"обо ждая тем самым OCHOBHOJt почтовый сервер для доставки почты с пра"lIJlh ными адресами. Это средство очевь }добно д..rrя р,,'lOП с большиrи стн:каМII раССЫЛIo.t1. rде постоянно попадаются anреса. по которым неВОЗМОЖIIО доставить поч1)'. HanpIMep. команда deflne (' соnfFЛLLВАСК  ИХ'. mailbackup_ хое _ com') задает пересьLТ1КУ всех сообшений, которые не удалось доставить с перБOI'О раза, на uеtпpальный сервер mailbackup.xor.com ДЛЯ последуюшей обработкп_ Некоторые опuии. относяшиеся к режиму пемона н влияюшие на производителъность. имеют слеrка ОТЛИ\laIOШИЙСЯ синтаJ;:СИС вызова. Напри мер, чтобы заставить nporpaMМY sепdшаil действовать и как зr"ент подачи. и как транспортный аrеит, ВВедите следуюшие J;:оманды: DAEMON OPTIONS (" Роп25. NamE!'""MTA') DЛЕМОN  OPTIONS (' Port5B7, NameMSA, HE') Это стандартная конфнrураuия Н3([lfная с верСllИ 8.10. 19.9. Примеры файлов конфиryрации Несмотря Н8 ТО ЧТО МЫ изучюти не все конфиryраuионные ОПШfl1 (параrpафы, посвященные спаму и бt::зопаснос:-rn, приведены далее), сейчас самое время рассмотреть примеры конфиrypаuионных файлов. Конечно. это может ПОКЮатъся очередной попыткоЙ поставить телеry БпсреШ1 лошади. но мы увсрены. что практиха  лучший способ упорядочить полученные ЗН31Н1Я. Кроме тoro. мы еще не рассмотрепи такой важный механизм, как бз'За ДОС1)'па. которая используется преШ,fушественно nля фильтраuии и YТlpaR:"le ния Снзмом. Она также описана чь Позже. Собранные нами в различных системах конфиrураuиоl-tные фаf'шы содержали "мусор", KoтopbIi Ilаслонлся R Ilpouecce ИХ МОПИфИ1<зuии. Переп включением файлов В кнИlУ МЫ "почистили" их, "справили rpамматичеСКllе ошибки. несоответствия и пр. Поэтому фаЙлы предстанут перед читатеЛЯМJI Не совсем В том виде, в котором они нахопились на реалЬНЫХ узлах. Т СМ не менее они отражают вполне реальные конфш)'раuии. 622 Чость 11 Робото В сетях 
Домашний компьютер студента факультета вычисл..пельнои техники В цetfТ]Je нашеrо nepBoro примера  С1)'дент Роб Браун, который имеет дома Liпuхсистему (gw.synасk.пеt) и занимается виртуальным хостинroм для пОЧТОВЫХ доменов своих друзей: xinetd.org, teich.net и cubecast.com Роб выполняет хостинr и для собствениоrо домена synack.net. ПравИJ1ЬНЫЙ адресат входяшей почты определяется посредством протокола LDAP. для управления виртуальным хости.нrом используется средство virtusertable. а пля обработки исходяшей почты  средство generc5tabe. Из вeera мноrообраз ия способон управления исходяшей пОЧТОЙ ТОЛЬКО средство qелеriсstаblе позволяет менять как имя пользователя. так и адрес доменв получателя. Лринадлежащий Робу файл ми средства genericstable (называется outmap) содержит слсдуюшие записи: ЬЬrаuл stabileJ tech rob@synack.net jon@synack.net orenQteich. net с uелью отслеЖИRaНИЯ crтaM3 Роб ведет СПИСОК DNS Rea10me 81ackl1OIe (dпsЫ). Он пользуется также функuия-м'И маскироваиия для Toro. чтобы любые исходящие сообшения, адреса которых еше не модифиuированы средством genericstable, выrшшели как поступнвшие от пользователя пОАьзоваmель@synасk.пеt. а не от I'IDЛbJователь@gw.sупасk.пеt. Ниже приведено полное содержимое файла gw.mc; divert (01 VERSIONID('@ (.) synack.net. .me В. 7 (Berkeley) 5/19/1998 1) QSTYPE (ll.ПUХ) DQМAIN Igeneric) FEATURE (дпвы) FEATURE(virtusert.able. . /etc/rr:ail/inmap') FEATURE (genericstable. . lеtс/П\аl/оutmaр') GENERICS DOMAIN  FILE ('/et.c/mail/loealhostnames') МASQUERADE  AS (sупасk. net) FEATURE ('masquerade envelope II FE.ATURE (.ldaprout.ing') LDЛРRQUТЕ DOMAIN ( . synack. net . ) define ( . confLDAP DEFAULT SPEC 1. . h gw. sуласk. net b dc=-synack, dc""net 1) МAILER(local)   МAILER (smtp) Файл /etc/mail/localhostname. (раньше он назывался sendmail.cw) coдep жит имена компыоеровB и доменов, для которых данный узел принимает почту. Средство use  cw  f i le. подключаюшее этот файл. скрыто 8 доменном файле gerreric (ero содержимое прю\едено в следующем разделе). Ретрансляuия отключена по умолчанию, потому что файл /etc/mail/relaydomain5 обычно пуст. Но в данном случае этот файл содерЖJ.П имена домеиов, плЯ которых узел gw.synack.nel осуще.ствляет виртуальный хостиНf. База данных LDAP сконфитурирована посредством файла Idap.conr. в котором задается уникаль ное ИМЯ KopHcooro К2талоra LDAP, узел пля сервера LDAP и порт: BASE dc==synack, dc==net HOST g.....sупасk.пеt PQRT зе9 r лова 19. Электронная почта 623 
Сама база данных LDAP формируется на основе TeKcTo80ro фаЙJ1а слсдующеrо вИJ1Э.: дп: u1d-rob. dc"synacx.. дс"'пе-::. objectCla.ss: J..netLoca.1MailRecJ..pien::. mаilLосаlАddrезs: rob@synack.net mallRoutlngAddreS!I: ЬЬrаUП@SУЛiSсk.nе t uid: соЬ дп: uid"'wеЬmi!зtеr, dс"зупа.сk, dс"'пе't оЬjесtСlазз: inetLocalMailReclpien't mailLoca.lAddre88: wеЬmаs'tеr@sупаоk.пе't m4ilRoutingAddreS8: bbraun@synack.net uid:webmaster дп: uld..teich. dC"!lynack. dc"net оЬjесt.Сlазз; inetLocalMailReciplent mailLocalAddress: teJ..ch@synack.net mаllRоutlпgАddrезs: oren@telch_net uid: teich dn: uid"xinetd. dс"зупасk, dc"net objectClaS8: inetLocalMallRecip1ent mal1LocalAddress: хiпеtd@sупасk.пеt. ma.ilRоutlпqАddrеss: xlnetd uid: xlnet.d Три первые записи служат ДЛЯ установки соответствия 'l.fСЖn)' зареrист рированными именами rob. wеЬШ8stеr и oren и ИХ псевдонимаIИ. Четвертая запись представляет собоtt список рассылки, который связан с лока..'1ьным файлом псевдонимов и обрабатывается проrpаммой Majordomo. CoOTвeTCT в'Юшие записи файла /еtс/шаil/аliаsеs выrляпят так: xinetd: "I/uзr/lосаl/mаjоrdomо/wrарреr resend l test :clnеtdliз'th хinеtdliзt:. = : include: /usr/lосаl/majоrdоmо/iiзts/хiпеtd x1netdow ner: bbraun оwлеrхinеtd: ЬЬсаиn xinet:.drequest: bbraun xinetdilpproval: Ьосаип Рассматривая первый пример. мЫ познакомились с несколькиrn 8Спо моrателЬНЫМИ файлами. СJ1едуюшие при меры более наrлядно илтострируют. что из себя представляет конфиryраuия nporpaMMbI seпdшвiI. и не содержат текстов 8спомоraтелъных файлов. Не забывайте, что в любом примере Д:1.Я nporpaMMЫ seпdшаil DNSзаписи мх иrpают важную роль и ДОЛЖНЫ соответствова1Ъ имеюшейся JCонфиrypащrи. Небольшая компания, использующая проrрамму sепdmаil В С.:lедуюшем ПрJfмере мы проанализируем конфитураuионные файлы небольшой компании Sendmall. Iле. знаюшей, как правильно настраивать nporpaMMY sendmail. Их почтовая система 8Юlючает rлавный почтовый сервер. который выполняет функu.ию кониентратор" электронноА почты для ВХОДЯ- ШИХ сообщений и служит '.интеллектуальным" "злом мя исходящих сооб щений. Сначала мы познакомимся с конфиrvраuией клиеlПОВ, а затем изучим более сложную конфиryраuию сервера. 624 Часть Н Робота в стя:( 
Во всех примерах мы слеrка изменили ориrинальные фа'Rлы: исключили примечания о защите авторских прав, добавили несколько комментариев и удалили пирективу dn 1 в коние строк Читатели, которые решат использовать один из наших примеров в качестве обраша для собствеIOiЫХ mс-файлов, должны убедиться в том, что в KOНUC всех строк удалены комментарии. Клиентские компьютеры на узле sendmall.com Файл smlсllепt.mс для клиентских компьютеров довольно прост. Он ссылается На сервер SП1tр.sепdmаil.соm, что в действительности является лсевдонимом (DNSзались CNAME) узла katrОО.sелdmаiJ.соm Лрименеюrе записи CNAME удобно тем. что ее леrко изменить при смеИе rлавноrо ПОЧТовоrо сервера. Обратите внимание на то. что файл lUIтирован октябрем 1998 roBa. В течение периода, прошедшеrо с Toro момента, nporp8MMa sendm811 неодно. кратно обновлялась, однако конфиrypационный файЛ не потребовалось изменять. divet (l) *.... Э'l'ОТ ф,аЙJI СОJlержит настроЙКИ дJ1я клиентских KOWnbl1'.repoB t.... компании Sendrnail, Inc.; версия 8.9.3. divert (О) VERS!ONID('@(')smiclient.mc 1.0 (Sendrnail) 10/14/98') OSTYPE ('b:sd4.4') FEATURE (' посапопlfу') undefine (' ALIAS FILE') define (' МЛILнuё', . :smp. :sendmali. com') def!ne (' SМЛRТНОSТ', 'smt.p. :sendrnail.com 1) def"!ne (' сопfFОRИАRD  РАТИ',  1) МAILER ( . local ' ) МAILER (' srntp') Макроконстанты МAIL HUB и SМART HOST задают перенаправление ВХОДЯШИХ и исходяших сообщений на узел smtp,sendmail.com. DNSзаписи МХ дОЛЖНЫ указывать на то. что этот узел имеет более высокий приоритет (более иизкИ"Й номер записи МХ). чеМ отдельные клиентские компьютеры. Луть для файлов .forward устанавливается пустым, файл псевnонимов также пуст. Расшифровка псеВдОНИМОВ осушеСТRЛRется на сервере. Средство ло саr.олfу установлено здесь для экономии времени. поскольку поиск в службе DNS вьmолняется на тлавном компьютере. r лавны компьютер на узле sendmall.com Почтовый сервер на узле sendmail.com, как правило, подверraется наиболее интенсивным атакам извне. Ои должен обеспечивать высокую эффективность при обработке спама. быть устойчивым ко всем почтовым атакам и зашишать клиентские компьютеры, Вот файл, задающий J(ОНфиry раuию сервера, divert (1) ,..., серзернblЙ файл katroo.mc; версия 8.9.3 divert (О) VERSIONID('fHf)katroo.mc 2.1 (:sendrnail) 10/19/98') OSTYPE (' solaris2') DOМAIN ('geneic') МASQUERADE AS(5end.mail,com') МASQUERADE  DOМAIN ( . send.mall. com' ) und.efine (' 8ITNETRELAY') r пово 19 ЭпеТрОННОJ1 nОЧ-ТО 625 
undefine ( . UUCP RELAY' I define ( . confCHECK ALIASES', 'True') define (' c:onfCOPY ERRORS ТО', . POSL.rnaster') define (' confEBINDIR'. '/usr/lib') define(.confERROR MODE'. .rn') defl.ne (' сопfИОSТ STA'I'US DlRECTORY', '. host.st.at' I defl.ne (' confNO RCPT ACTION' , . addtoundisclosed') defl.ne (. confPRIVACY FIJ\GS'. al.1thwarnings, needmailhelo, noexpn, nOVJ:fy') define (. confTRUSTED USERS'. -ma)ordomo') define (. confМAX DAEМoN CHILDREN', 'за') FEATURE (. аllmазquеrаdе--;-) FEATURE ('masquerade entire dornain') FEATURE ('rnasquerade  envelope') FEATURE(always adddomain') FEAТURE( 'local lmtp-;) define ( 'LOCAL МлILЕR FLAGS', 'SXfmnz 9РЕ' ) FEATURE (-mailertable", . hазh /еt.с/П1аil/mаilеrtаblе') FEATURE ('virtusertable', . hash letc/mail/Vl.ctuse!"table') МАI LER ( , local . ) МA!LER (' smtp') LOCAL CONFIG .".." Реl'уnярное 8ыражеtiие для О'l'ClраСbIВаI1ИН:' . . ... локальных числовых адРесов из доwеtiОВ aol. com и mзп. сот' " ... локальных адРесов из до....еНа juno.com, наУинающихся с цифры' KcheckaddrelSs regex a@МATCH .... [O91 +<@ (aoll mзп) \ .coml [O9] ["<] a-<@Juno\.com} \. ? . ..ttt. ИМена, которые не допускаются !I с'!'роке "То:'" с {RejectToLocalpart9} fп.еnа уои CtRejectToDomains} public,com LOCAL RULESETS НТо: S>CheckTo SCheckTo R$o= {RejectToLocalparts I Sa- $ferroJ: $: "553 Header error" R$*@$=-(Rеjесt.ТОDоmаl.ЛS} Sterror : "553 Header error" HМe:9sageId: $>CheckMessageld SCheckМessageld R< $+ @ $+> $@ ОК R$'" $Ierror $: "553 Header error" LOCAL RULESETS SLocal check mail '. про;ерка а.цресоВ на соответс'!'вие разлv.'oIНЬШ реrулярНblW выражеНИFlМ' R$* S: $>ParseO S>З $1 R$T $: S (сhесkаddrе:sз $1 $) R@МATCH Sterror s: "553 Header error" Макрос LOCAL CONFIG. расположенныЙ 8 коние файла, определяет правила проверки зarоловков на предмет нa.mtчия в них сведений о различных вирусах и известных спамерах. Мы не будет комментировать данныЙ фраrмент. поскольку привели ero для тех, кто хорошо знаком с файлом конфитурации и сможеТ адаптировать ero для CBoero узла. В конфитурациоННЪJX файлах машинклиентов не осушествляется KOH тролъ спама, так как вся поступаюшая на узел Itо'Пз проходит через концентратор, rде и происходит фильтраuия. Некоторые средства и KOHCТ рукuии В этом примере не описаны нами в книre. Необходимvю информацию можно найти в файле crjREADME. 626 Чость 11 Робото I! сеТАХ 
Доменный файл generic.m4. на который имеется ссылка в файле katroo.mc.  это файл, включенный в l1истрибyrИ8 sendmail 8 качестве примера. Он содержит слепуюшие записи: divert (1) . '1""#1 Файл generic.m.t из катаЛОI'а dоmаiл' divert. (О) VERSIONIDI'$ld: gелеJ;с.m4,v 8.15 1999/04/04 00;51;:09 са Ехр SO) dеfле (' солfFОRW1'.RD  РАТИ', . 5z/. Eorward. 5w+Sh :$z/. fcrward+Sh: $zl. forward. $w: $z/ . focward') define' 'confМAXHEADERSLENGTH', . 32168'} FEATURE ( . redirect . ) FEATURE ('usecwfile') EXPOSED  USER ( . root . ) Строка, rле определяеlСЯ опuия con fFORWARD РАТН, была разбlПа нами на две части, так как не умешалась на страниuе. Еще один пример модели С rлQВНЫМ почтовым сервером XOR Inc.  это срел.няя ПО величltне компания, в которой имеется опин rлавный почтовыЙ сервер. В общих чертах применяющаяся здесь архите....lYра почтовой системы напоминает ту. что используется на узле sendmail.com. но реализована она при ПОмоши лрyrnх конфиryраlIИОНIIЫХ средств. КлJ1ентскиЙ файл КОНфИlу.раuии 1П\.1еет следуюший вид: divert (l) "1" Файл хоrсliелt .те; все клие1-:l'l'Ы перееЫJlаlO'1' 'ft.. свои сообшени:я узлу o!; .ccm. divert (О) VERSIONID(' @ (') tcpproto .те8. 5 IBerkeley) 3/23/96') OSTYPE (.bsdi') define (' confPRIVACY FLЛGS'. .Il0ехрп') FEATURE (' nul1client', . xor .com' I Этот файл содержит минимум конфиryраuионных опuий. Даже локальная почта пересылается на узел xor сот (указан в определении среДСТ8а null  clJ..en t). Никакие areHTbI llOCTaHI01 также не заданы. Ниже показан фаил конфиrураuии rлавноrо компьютера. Коt.rпания XOR предоставляет услуrи \VеЬХОСТl-lllra и обслуживает MHoro виртуальных ДOMe нов. В первом примере компьютер стул.ента управлял тремя виртуальными л.оменами при помощи протокола LO-\P и средства generic5table. Компания XOR упрааляет почти тысчьюю виртуальных l10менов, польз'Ясь средством vlrtlJsertable. А средство generlcstable 8 данном случае применяется лля преобразовзния в исходящей почте реrистрационнъrx имен 8 форму иWl.фQ.мuлия. Псевдонимы задаются в стандартном файле aliases, который состоит их 3000 строк и содержит MHQI'O списков рассылки. Heloi:OTOpble из этих епископ включают несколько тысяч получателей. а один  более 100000. И все это Rедется в старой системе SunOS. Файл псевдонимов следует упорядочить и отделить псевдонm.rы клиентоТi от псевдонимов СJlvжащих компании. Псеnдонимы слvжаших vказывают на IМАРсерпер. а КЛ-иенты применяют протокол IMAP лля допа к своей почте. r лово 19 Электронная почта 627 
Обратите внимание на ТО, что 8 начале файла отсyrствуют пирективы divert. Они необходимы, толъко если 8 начале файла стоят комментарии в стиле интерпретатора команд (начинаются с символа '#'). На сервере работает проrpамма sendmall версии 8.9.3 и npименяются некоторые старые (до версии 8.10) конструкuии. Высокий уровенъ заrpужен ности потрс60В8.1J увелиЧ"ИТь стандартные значения некоторых опnий. связан ных с производителъностью. VERSION!D('O (')xor.mc3.0 (t.rеп'[.) 3/29/99') OSTYPE (' 8ипоз .1'1 define (' confPRIVACY FLAG 5', . поехрП. novrfy 1) deflne (' confМESSAGE  TIMEOUT', . 5d/72h') deflne (' LOCA.LМAILERPATH', '/usr/b1n/m.a11.10cal') dnl ..t., уаеличиа.аеw зн,ачеНИJil опций, С8язанных с ПрОИЗВОДИ'I'еЛ!аНОС":'ЫCl define (' confMCI СА.СНЕ SIZE', . 16') define (' confMCI  САСнЕ  TIHEOUT'. . 10т') dеflле (' сопfСНЕСК ALIASES', . False') define'"confDOМAIN NAМE', 'xor.com') define ( . confМAX МESSAGE SIZE 1, . 5000000' ) define (' сопfDАЕМОN OP'I'IoNS', . Port--NNN') define('confOUEUE и', 251 define ('c:onfREFUSELA', За) FEATURE (always add domo1!l.in1 FEATURE (use cw file) FEATURE (virtusertable) GENERICS DOМAIN" хох: . сот' ) FEA'I'URE (genericstable) FEATURE ('mBsquerade envelope') FEATURE (' redirect.' 1  FEATURE('ac:cessdb', 'hash o ler.c/rna.1.1/access') МAILER (lосиl) МAILER(smtp) LoCAL RULESETS t 'tt.t Пра8ила проверtcи cnawi!l. и вирусов удалеНЫi СМ. предыдущий раздел Из этих примеров IШДНО, что не сушествует еДlfноrо репеnта ПО СОСТ8алению конфиryраuион:ноrо файда. В проrpаммс sendmall имеется MHoro конструкuий, пред:назначенных д,1Я настройки маршрутизаuии и измененяя заrоловков сообшений. Поэтому конкретный выбор будет зависеть ОТ личныХ предпочтений. 19.1 о. Средства проrраммы sendmail ДЛЯ борьбы со сп омом Спам  зто жарrонное слово, обозначающее "мусорную", навязчивую злектронную почту коммерческоrо характера. Спам стал серьезной пробпе мой, в основном изза Toro. что отправитель сообшеНШI (по краиней мере, в США) платит не за переданное количество байтов, а З3 факт соепинеН1IЯ. Если же плата взимается за объем трафика, то создается одно сообщение. адресуемое тысяче получателей. но ретранслнруе'\lOе через JIpyrой компьютер_ При этом поль.:юватель Toro компьютера платит высокую иену за весъ объем слама, а сам спамер (т.е. отправнтель ориrинала писъма) оплачивает тольКо 628 Часть 11 Робота в сепх 
OJIНY коrrnю. Конечные пользователи во мноrих странах, естественно, тоже весьма нел.овольны тем, что они получают спам и вынуждены оплачивать ero побайтово. Похоже, проблема cnaMa характерна, а первую очередь, для Соединенных Штатов. Просто америхансхие маркетолоПi наUlJ1И золотую жилу и продол жают ее эксплуатировать. В США праваАдеры стали ощущать влияние спама, Korn8 нх службы техничсской подnержки начали сталкиваться со все возрастающим числом злоупотреблений спамом со стороны СВОИХ собствснных клиентов. один провal\пер в КОЛОРIll10, имеюший около 150 подчиненных клиентов тl (мноrие из которых сами являются провайдерами), вынуждеи трВ'ТИТЪ половину рвбочеrо времени своих сотрудников на то, чтобы разбираться с nроблемами СПама. С точки зрения маркетолоrов, спВм  очень полсзное дело. Эффектив насть применения спе.ма высока, плата З8 ero использование, наоборот, низкая, а доставка  мrновенная. Отправка сообщения по списку. содержа шему 30 миллионов злектронныx адресов, стоит BCCro около 40 домаров. МноПiС спамеры пытаются изображать невинность, помсшая в свое послание ссылку "remove" (удалить), тем самым предлаraя получателям возмоЖНость ул.атпь себя из cтCKa рассьU1КИ. Казалось бы, все честио, но отвечая на их письмо, получатель тем самым подтверждает наличие дейст вующеro электронноrо адреса. Удалив получателя из одноrо списка, спамеры MOJyr тут же внести ero в дрyrой список. Спамеры любят также менять заrоловки своих сообщений, пытаясь тем самым замаскировать автора послания и то, с какото компьютера оно было оrnраалено. Люди. которые продают электронные адреса спамерам, недавно начали применять новый ВИД "словарной" атаки для поиска неизвестных ранее адресов. Берется список наиболее часто 8стречающихся фамилий. и при помоЩИ nporpaMMLICK3Hepa к ним добавляются разные ннициалы в надежде случайно образовать л.ействительныА адрес электронной поЧТЫ. Для проверки адресов nporpa\fM3 связывается с почтовыми серверами, скажем, sоти крупных провайл.еров и вьmолняет команду VRFY дЛЯ каждоrо из HeCMeIHOrO числа образованных ею адреСоВ. Такое зондирование nOllBepraeT почтовый сервер оrpомной натруз:ке и отриuaтсльно сказывается на ero способности обрабатывать поЧ'ТУ реальных КЛиентов. Проrpамма sendmail может бороться с этой проблемой. если для переменной Prl vacyOption будет задано значение goaway. Опнако умно написанная прОI1>амма CKaнep постynает следующим образом: если команда VRFY заблокирована, сканер пьпается ВЫПОЛЮfТь команду EXPN, а если заблокированы обе KOMв.н.nы, то будет опробована команJШ RCPТ. В результате опрашиваются миJ1.JIионы адресов, и хотя не было послано ни одноrа сообщения, почтовый сервер raрантированно окажется заrpуженным. В npOI1>aMMY sendmail вюlючены достаточно эффективные средства борьбы со спамом, а также почтовыми вирусами К сожалению, болъшинство провайдеров вынуждено сканировать всю почry, в результате чеrа, опятьта.ки, страпают ни в чем не повинные клиенты. Тем не менее на компьютерах конечНЫХ пользователей эти средства оказываются очень полезными. Сушествует четыре типа срел.ств. предназначенных для борьбы со спамом. Правила управления Ре1рансляuией, под которой поЮ{Мается исполъзо вание ПОЧТ080rо сервера при отправке почтовоro сообшения ол.ним сторонним пользователем дрyroму, тоже стороннему. Спамеры часто прибеrают к ретрансляuии, пытаясь таким способом замаскировать r 11080 19  Э11ектронноя почто 629 
действителъиоro адресата сообщения и тем самым избежать оБНlружения со стороны своих собственных провайдеров. . База доступа позволяет фильтровать почт}' соrласно алресам. сопержа шимся в базе. это напоминает применение брандмауэра JJ)JЯ электроннои почты. . "Черные"' списки oткpьrrыx ретрансляторов и известнЫХ спамеРОБ используются проrpаммой sendmail для борьбы со спамом. Проверка зaroлов:ков  это мошное средство, поддерЖИRаемое н про f1)aмMe sendmall версии 9. Оно заключается в произвольном сканировании сообшений с последующим отбрасыванием сообшений. удовлетворяющю определенным критериям. Сначала мы опишем перечисленные средства, а затем познакомимСя с реальными примерами спама и покажем, как следует настроить ПОЧТОВУЮ систему, чтобы она распознавала и отверraла спам автоматически. Ретрансляция Проrpамма sendmail и дрyrnе транспортные areHTbI получают пходяL1yю поЧ'ТУ. читают заrоловки и адреса конверта, принимают решение о том. .,:уда следует переслать сообщеIOfе. и затем отправляют ero В СООТRеТСТRУtOu ии пункт назначения. Им может быть не толъко локальный получате:IЬ. 11.) и дрyroй транспортный аretп. расположенный далее по цепи ДОСТ3RКИ Кпща входящее сообщение не имеет локзлъноrо получателя. трзнспортвыЙ аrснт. обрабатываюший ero, вьmолняет ТО, что называется ретраНСЛНЦIIСU. До поямеIOfЯ проrpаммы sendmail версии 8.9 по умолчанию задавался режим "'беспорядо'П{ой'" рассьuтки (извесiНЫЙ как открытая репrРЙН("J1ЯЦUЯ). ПРОI1>амма sendmail принимала любые сообшения через порт 25 It nытз.лзсь осуществить дocraBКY самым оптимальным способом. В те временс!. СL,ит:шось. что lпtеrпеt  это дружественная среда. К сожалению. ретрансляцией начали злоупотреблять спнмеры. OHlt исполъ.зовали ее дпя своей маскировки и. что более сушестneнно. для переЮlМЪrвaния наrpуЗКИ (в том числе финансовой) на друп,е КО"lПью.-еры. Поэтому конфиrypирование ПОЧТО80rо сервера в режиме OTKpbrroi1 peтpa.ic ляции считается в настоящее время дурным тоном. Позаботиться сле.цует не ТОЛЬКа о своей собственной полити", peTpaliC ляции: нужн:о знать, кому 8ообwе можно доверять. В Koнue KnHUOB. любые сообшения. полученные с серверов открытой пересылки. оказываются слаМОМ. Пол Викси, IШзменныА бореu со спамом. и орrаНlfзаторы npoeIOa ORBS (Ореп Relay Behaviormodification System  система МОД1lфикаUИ11 поведения серверов отхрытой ретрансляции) собрали базы даннt.lх I P.\ДpeC08 тех серверов. rпе используется отхрытая ретрансляl.lИЯ. ЭТI1 баIЫ данных можно леrко подключить к проrpaмме sendmail в ниде "черноrо" СПИСКd, в соответствии с которым сообшения. поступающие от одноrо 10 ПИ\ апресок. бупyr иrнорироваться. Создатели проекта ORBS позволяют орr;(ни lашtЯМ. устранившим проблему открытой ретранслПIП1И. автоматически дал){Ть себя из Taкoro списка. На одном WеЬyзnе подсчитали, что от трети ПО половины псех почтовых серверов сконфиrypированы в режиме OТKpьrroA ретрансляцин (110 состоянию на весну 2000 rода). СтаТИСТИJ<:а ORВS показывает. что количсс'во ТаКИХ серверов составляет как минимум 15%. 630 Часть 11 Робота в сетях 
в проrp"I\.fме sепdшаil начиная с версllИ 8.9 ретрвнсляllИЯ ОТключена по У1'-юлчанию Только узлам. помеченным ключевым словом RELAY в базе л.оступз. или узлам, перечисленным в файле /etc/mail/relaydomains, разреша ется предоставлять почту ШIЯ ретрансляции. Доля серверо" открытой peтpaHC ляuии бул.ет снижаться в течение следуюших нескольких лет, и произоrшет это вследствие ynомянyrоrо выше нзменения в Проrpзмме sendmail, а также блаrодаря повышению степени осведомленности 11}'-БШfКJt по этому вопросу и ПРОФ.U1а...'Тической деятельности проекта ORBS Таким образом. ясно, что "беспорядочная" ретранс'lЯUИЯ  это плохо Но ясно н ТО. \IТO некоторые типы ретрансляции 11 нужны, И лелпиМНы. Как определить, какое сообшение необходимо ретранслировать. а какое  отклонить? Ретрансляuия л.ействительно нужна лишь в двух СЛУЧаях. . Коzда транспорптый azeHт ФУНКJuонuрует в качестве ,UЛЮза д-1Н узлов, ltедостУIJНЫХ никаким друzuм СIJособолr. Это MOryr быть UUСРсистеМbJ, периодически Выключаемые компьютеры (рррузлы, персональные KOM пьютеры, работаюшие под ynраВ.'Iением \Vindo\l,rs) и nиртуа.1ьные узлы. В даННОМ случае все получатели. которым требуется переслать сообшение. должны бъrrь расположены внутри Toro же л.омена Kozda траl1("IJортный af!eHm С1ужuт сервером u('Хоонщеи lIочты ОДЯ дру.!их }'1106. В этом СJТучае IIMeHa и 'Paдpeca всех V3Л08отпраnптелеЙ ЯШIЯЮТСЯ 'IокалЫIЫ\{И Любые друrис СЛУЧаИ ретраНСЛЯUI1If. nероятнее Bcero Сfl1lПстеЛЬСТI:I ют о IlJlОХОЙ конфиryраUlfJf серпера HacтpOKa н соотнетствии с первым из УПОМЯН)iТЫХ ВЗрll81-rrов попразумевает OThleH}I npOTOKO.'1.i3 L'LfCP 'он И так почти не используется) и конфиrУРlfропание uентра.'ТЪноrо серnсра на прием почты (с использованием протокола РОР или (МАР для клиентскоro л.оступа). Второй вариант должен быть Rсеrда допустим. НО только дпя локальных УЗJJОВ. Лучше проперять I Pi:1Дpeca, l:ieM имена компьютеров, так как последние леrко подделать. В nporpaMMe sепdП1вil фупкuия ретраllСЛЯШШ отключена по  Ю.ilчанюо. но с помошью спеuиалЫ.IЫ'\ средств ее можно ВК:IЮЧИТЬ .1ибо R полном объеме, либо в оrpаниченном и КОНТрО.'111руемом ре:;Юlме ЭП1 средства переЧИс.'iены ниже. И... можно ИСllOЛЬJоватъ, 110 мы рекомендуем прОЯRЛЯТЬ максимум осторожности и не lлоутютреблять ПМII. Срспство access db. рассматриваемое в слелуюшем разделе,  )ТО НEJ.llБО!lее беJОllасНЫЙ метоп задействования оrpаниченноА ретраНСЛЯUJlИ. FEATURE". ( :relayent.iredoтain')  разрешает ретраНСЛЯUIIЮ для узлов текушеrо домена: RELAY DOMAIN (' домен, ....)  добанляет дополнитеЛЫiые л.омены к списку ретранслЯlШИ; RELAY DOMP.IN FILE (имя фаv.лд')  то же самое, но I.:пис-ок л.омеllОВ берется. из файла;  FEATURE( relayhosr.s only')  RЛияет на макрOl.; RELAYDOl'AP.IN 11 срепство access  db. Придется слеЛ<1ТЬ lск.'1Юliение, eCJIII с rюмошью М;lI,:роконстант SMART HOST t1 МA!L HUB почта наПрЗ8.'1яется на конкреТlIЫЙ ПОl:iТОВЫЙ cepBep ЭтОТ сервер л.олжен быть нзt"Троен Ш:I рстраllСЛЯШIЮ всеи IIQЧТbJ. ПОСТУlыюшей от локалЫIЫХ компьютеров: FEATURE (' relay entiredomain') r пова 19 ЭлеКТРОННОR почто 631 
Орraнизациям, предоcraВJIяюшим услyrи tmpTya.abHOrO хостинrв, потре буется активизировать также макрос RELAY  DOМAIN, чтобы реТjJанCJlЯUИЯ подперживалась ,WlЯ виртуальных доменов, хотя средство FEATURE ('usecwfile') выполняет. по сути, те же самые действия. Ниже представлено еше несколько средств, но их использование связано с существенным риском. . FEATURE ('promlscuousrelay')  разрешает "беспорядочную" peT рансляцию; . FEA.TURE ( . relay Ьазеd оп МХ')  разрешает ретрансляцию для всех узлов, записи МХ  KOTOPbD: ссылаются на текуший компьютер; . FEATURE ('100serelaYCheck')  разрешает '.проuентную" aдpeca цию; FEATURE {' relay loca.l from 1)  разрешает ретрансляцию для ло кал.ъных адресов. Указаниьiх в поле "From" сообщения. Средство promiscиous relay позволяет осуществлять пересылку почты из кахоroлибо Y3l1a на лЮбой друтой узел. Активизируя зто средство, вы неминуемо попадете в черные списки Пола Викси. Не nользуйтесь ЭТИМ средством. Средство relay based оп МХ опасно по той причнне, что не позволяет контролировать, какие у:злЪi ссылаются в своих записях МХ на .данныИ компьютер. Обычно соответствующие записи МХ имеют ТОЛЬКо .'lокальные компьютеры, но ничеrо не мешает дрyrим узлам поменять установки сиоеro сервера DNS. Спамеры обычно не Mor}'T меняТЬ записи МХ. но орrвнизаuии с сомнительной репутацией ВОЛЬНЫ в своем выборе. Средство looserelaycheck разрешает применять I'процеmный" тип адресации, которым спамеры с удовольствием пользуются. Средство relay local from заставляет nporpaMМY sendmail доверять апресу отправителя,  указанному в конверте сообшения, и осуществлять ретрансляцию тех сообщений, которые якобы поступают от локальных aдpeCOB Естественно, и 'Конверт, и З8Толовки почтовых сообшений подпеЛDТЪ леrко, а спамеры  спеuиалисты в области подаелки. Планируя использовать ретрансляцию, не поленитесь сначала обратиться к документаuии на лроrpамму sendmall (файл cfjREADME), чтобы нечаянно не стать лучшим друтом спамеров. Активизировав функuию ретранcляuии. npоверьте. не включен mI случайно режим открытой пересъrлки. Для этоrо следует обратиться на узел ordb.org или abиse.net. При неправильной конфиryраuин компьютер может осушествляТh ретрансляuию сообщений со странными адресамн, основанными на искажс нии синтаксиса а.аресаuии UUCP. Чтобы предynреди-rь появление такоЙ "дыры", отключите протокол UUCP (а также BITNEТ и DECnet): FEATURE (' nouucp', . reject:.') undefine ('UUCPRELAY') undeflne (' BI"I'NET RELAY I ) undefine (' DECNET:=HELAY') Лучше Bcero разместить 'Эти строки в .доменном файле. Еще один тип ретрансляuии, который часто определяется в .доменноМ файле. задается макроконстантой LUSER RELA У  Этот тип предназначен д.1JЯ локальных пользоватс,1СЙ, "оторые на самом Пеле не сушестпуют. Узел, на 632 Чость 11. Робота в сетях 
'Котором работает неrrравильно сконфиrypированная проrpаММ8 sendmail. иноrда допускает "утечку" сообщений с не полностью определенными имен8Jl.fИ локв.J1ЬНЫХ пользователей (обычна содержатся в поле "Се"). Тот. кто попытается ответить на такое сообшение, на самом деле укажет в качестве адресата мнимоrо. несуществуюшеrо локв.J1Ыiоrо пользователя. ТаКая почта направляется arCHT)' доставки error: def1ne (. LUSERRELAY'. 'error :No .such user') База доступа Проrpамма sendmail ПОДIJ.ерживает базу доступа, которую моЖНО нсполь зовать lIJlЯ создания на узле ПОЧТО80rо брандмауэра. Он будет проверять почту. rrриходяшую из внеШнеrо мира. и отбраковывать те сообшения. которые постутшют от опредео'1енных пользователей И.1И ДОменов. База доступа может также хранить имена доменов. для которых разрешается осуществлять ретрансляuиlO. База доступа пОДключаетсЯ следующим образом; FEATURE ('acce95dЬ', . тип иuяфайпа ') Если пара метры тип и u.\fяфайла не указаны. то по умолчанию принимается тип hash и файл jetcjmail/access. Как обычно, база доступа создается с помощью команды makemap. .j ПUlk811L8р Ь.вЬ /.tc/mail/acces8 < /.tс/шаil/ассеВ8 Лоле ключа может содержать адрес эле....-троННои почты. IfМЯ ПОJТЪJовате:1Я. имя домеllа или сетевой Шlрес. Например: суЬеrsраПU11еr. com 550 Spam not accepted okguy@cyberspammer .сот ОК badguy@ao1 . com REJECT sendmai1. оч RELAY 128.32 RELAY 110.201.180.16 RБЛСТ hоt:livезех@ 550 Spam пос. accept.ed friелd@ 550 You are not ту friend! В поле значения должен находиться ОДИН из элементов. предстзпленных в табл. 19.14. Таблица 19.14. Элементы, которые MOryт прис.утствовоть В попе значения Значение ОК Что означает Прием и достаВка почты в обычном реж.нме Прием почты и псресылки ее получателю Отклонение почты с ВЫ.Jlачей типовоro сообщения об ошиБКе Удаление по'IТЫ без Вbl.дачя соответствуюшеro уведомления RELAY REJECT DISCARD ххх сооt5ще Выдача сообщеIOUl об ошибке; вместо .:са ДOJUКeM стоять числовой ние код, определенный в документе RFC821 1 ERROR: ххх сооflщение То же. что 11 предьщущее. но сообщение об ОШJ.I.бке помечается более IIВИО ERROR: х . х . х Вместо X.XJ дomкCH стоять один И3 кодов СOCLОЯНIIЯ .аоставюt. сооDщенv.е определенных в док)мс:нте RFCI893 550  код единичной ошибки. r лова 19. Электронноя почта 6ЗЗ 
n оказанная выше база доступа пропускает сообщеНJfЯ от пользователя okguy узла cyberspam, mer.com но отклоняет все осталъные сообшеl-ШЯ из данноrа узла, вЫДавая сообшеиие об ошибке. Почта. приходяшая из домена sendmail.org ИJТlo! сети 128.32.0.0/16 (сеть Калифориийскоrо университета" Беркли), будет ретранслироваться. Почта от пользователя badguy узла аоl.соП1. а также почта. прихоnяшая от пользователей hotli\'csex и friend любых доменов. будет ОТЮlоняться. В поле ключа MOryr стоять адреса IP\'6 с разделителями в виде двоеточиЙ. Символ @ после имен hotli\'esex и friend ну'..кен д.'1Я Toro, чтобы ОТЛНLraть имена ТlO:rьзователеи от имен доменов. Код 550 задан в документе RFC821. Кодов состояНИЯ доставlCИ, олреде ленных в документе RFC 1893, rораздо БОJIЪше. Первая цифра 4 означает временную ошиб....'У. uифра 5  постоянную ошибку. Несколъко кодов приведено в табл. 19.15. т абл,,"що 19 .15 КОДЫ состояния достаВКи (ДOKYHT RFC 18931 Временноя ошибка 4.2.1 4.2.2 4.2.3 4.2.4 0.1 4.4.4 4.45 Постоянная ОШlo'IБКQ j2.1 5.2.2 5.2.3 5.2.4 5.3.1 5.4.4 5.4.5 Зночение Почтовый яших недotтyпен ПОЧТОВЫЙ ЯЩИК переПОЛНСJ-J Сообщение СШШJком -велико Проблема с раскрытием списка рассылки Почтовая система переполнеН8 Маршрyrизauия невозмо:жн.а Переrpузка почтовой систем:ы Поле ключа может содержатъ теrи Connect, То и From. ПОЗВОJlЯIOшие задавать боле точные критерии фнльтраНИII. Ter ConneC"L содержит ин формаuию о соепинении. шшример адрес или имя Юlиента. Теrи То If From ссыаютсяя на адреса кон верта. а не заrОJlОВК08. С помощью дaHHых TerOB можно персопределятъ ДРУПIС установки. При наJТИЧИИ любоrо из этих TeroB поиск сначала производится по условию, заданно,,"fY TeroM, а затем  обычнЪJМ способом, что необходимо для ПОДllсржаНЮI обратной совместимости с более старыии базами доступа. Вот несколько примеров: From:spammer@some.domain То: friend. domain Соплесt.: frJ.елd.dоmaiп REJECT RELAY ОК Из этоrо примера видно. что почта, приходящая от имени sраПl mer@some.dom8ln, будет заблокирована. но по данному адресу все равно можно будет посътлать почту, даже если 01-1 помешен в "черныЙ" список Разрешается ретранслировать почту, посылаемую по адресу friend.donlain. но это не относится к сообшеШfЯМ. поступаюшим от Д8нноrо адреса (предnо лаrается, что ретрансляuия запрешена rдето в друrом месте). Соепинение с узлом [riend.domain допускается, даже если этот адрес помешен в один из "черных" списков DNS. Базы ДОСТ)118 используются мноrими орraнизаuиями с uелъю контроля над спамом. Наш сервер входmuей почты на факультете вьrчислительноh 634 Чость 11. Робото в сетях 
Те.\l-tики университета Колорапо отклоняет почту от более чем 500 известных спамеров. определяемых по именам. доменам или [PaдpecaM" Занесение пользователей ИЛи узлов в "черные" списки Если необходимо блокировать почту какихлибо локальных пользователей или узлов, воспользуйтесь средством FEATURE ( . blacklist  recipient5 ' ) которому в базе доступа соответствуют следующие записи: nobody@ рriПLеr .mydomaJ.n.edu IJser@host.mydomaJ.n.edu 550 Mailbox disabled for this 550 Th1.s host does not accept mail 550 Mailbox disabled for this user Этн записи блокируют почту, приходящую на адрес пользователя ПОЬodу на любом узле, а также почту. адресованную сетевому принтеру и одному из пользователей. С помошью средства dnsbl можно ПОДКЛючить "черные" списки. которые ведет Пол ВИКСJ-f в СБоем прое1l..'Те MAPS (Mail АЬше Prevention System  система предотвращения почтовых злоупотреблений обратитесь на WеЬузел mailabuse.org). а также любые DNSсписки блокируемых адресов' FEATURE I "dnsbl . ) Это средство заставляет nporpaMMY sendmail отклонять почту. при\:одящую с Toro узла. I Paдpec OTOpOI"() имеется в списке ReaJlIn1e Blackhole List. В Hero занесены адреса спамеров, известных проекту MAPS В дрyrих СПJ.fска указаны спамеры, работаюшне по коммутируемым линиям, и узлы. ПОJ.J.[(ер живаюшие открытую ретрансляцию" "Черные" списки раCnРQCтраняются через службу DNS. Налример, специальная DNSзапись l'Радрес.rЫ.maрs.viх.соm in а 127.0.0.2 ннеденная в баl}' данных DNS домена rbI.maps.vix.com. блокирует почту от указанноrо узла. ес.:rи средство dnsbl включено (проrpамма sendmail явно проверяет. существ}ет ли такая lЗПИСЬ) В данном примере IPaдpec  зто сетевой адрес в обратной точечной нотаUIfИ o О DNS рассказываетсн 8 2Лй8е /6. Средство dпsЫ можно активизировать всяКIfЙ раз, коrда необхотп.ю IlrоиеРl-lТЬ тот или иной список злоумыllенников.. Достаточно добавить IIТОрОЙ apI}'MeHT. задаюший сервер имен ШIЯ "черноro" списка, и третий .tpl"}'MeHT, содержаший требуемое сообшение об ошибке. Если третий apryMeHT tтущен, будет выдано фиксированное сообшеНJ1е (из базы данных DNS. \.:одержашеЙ rlроверяемые записи) Ниже даны примеры трех списков: rbl IСТaJшартныЙ), dul  cmfCOK спамеров. работаюших по коммутируемым Iltниям. и rss  список узлов, подперживающих открытую ретранслЯllИЮ. :EATURE('dsnbl', 'rbl.maps"vix.com'. "Rejected  see www.mаilаЬuзе . org/rbl/ 1) :.EATURE ('dBnbl'. .dul.maps.vix.com', "Dialup  вее www .rnailabuse .org/dul/') FEATURE{"dnsbl', relays.mailabuse.or9'. "Relay  www.rnailabu.se.or9/rss/. ) r ЛОВО 19 ЭпеkТрОННО почта 635 
Проверка заrОIlОВКОВ ПроверК8 зarоЛОВКОВ  МОШНЫЙ механизм борьбы со спамом, в основе KOToporo лежит использование синтаксиса низкоуровневоro файла конфиrу раIIИИ проq>аммы sendmall; мы ие рассматрИllaем этот файл в данном ИЗдании книrи. Выполняя проверку заroловков, проq>амма sendmall сверяет их с нмеющю.fИСЯ образцами (налример, "То: fricDd@pubIic.com") и отклоняет подозрительные сообщеIOlЯ до Toro. как они будут доставлены в ПОЛЪЗ0ва тельские почтовые ЯЩИЮl. ПровеРК8 зaroлоВКоВ может также прю..rенЯТhCЯ для распознавания ПОЧТОВЫХ вирусов при условии, что они имеют характерную строку заrоловка. Например, вирус Mclissa (1999 r.) содержал тематическую строку вида IIImportant Message From...... в пределах иесколькИх часов, пока вирус Melissa распространялся. на узле sendmail.com был опубликован локалЬНЫЙ набор правил по идентифихanии вируса и отбрасыванию содержаших ero сообше ний То же самое ПРОИСХОДИТ в отношении дрyrих почтовых вмрусов: как только выясняются отличите.ттъные особенности вируса и появляется возмож ность выразить их в виде правил проq>аммы sendmaU, быстро публикуются исправления к почтовой системе (как иа WеЬузле sелdmвЛ.соm, так и на узле www.sendmail.org). Характерный образеu правил фильтраШ\и, лредназначенных для борьбы со сnамом И вирусами, можно найти в файле конфиryрации nporpaMMы sendmail для домашнеrо компьютера Эрm<а Оллмана (knecht). Эта конфиry раuия включена в дисq>ибyrив sendmaU (файл сf/сf/lшесht.mс) Позаимствуйте из иее правила филътрации спама и добавьте их в конец CBoero П1сфа'Йла. Разбирая различные примеры. мы встреЧaJlИ следуюшие правипа npoвepKJI заroловков: почта. адресованная любому пользователю в домене pubIic.com: почта. адресоваrnая пользоватс:лям '<friend" или "you"; почта, имеющая заrОЛОВQК Х Spanska, который указъmает иа НaJТИчие вирусачервя Happf.l9; . почта С тематической СтрОКОЙ "Important Message From..... (вирvс Melissa); почта с тематической строкой "aU.net и Fred Cohen..." (вирус Рара); . почта с тематической строкой "ILOVEYOLI" (вирус "i1oveyou" и ero варианты); . почта от узлов aol.com и mSll.com с числовыми именами полъзователеt1: . почта от узла juno.com с именами пользователей. начинаюшJ.1МИСЯ с uифры. Все правила проверки заrоловков задаются макросами LOCAL CONFIG J1 LOCAl. RULESETS. расположеtll-lЫМИ 8 конце mсфайла. С помошblo команды dve["t препроuессора m4 nporpaMM3 sеlldПlаil размешает эти праИllла в нужном месте НИЗКОУРОRневоro файла J(ОНфИryrраuии. В ответ на получение спаr-..ta БЫJывайте аrент доставки error tC сооб шением об ошибке "user Шlkпоwп"). а не discard. Мноrие спамеры "подчищают" свои списки рзССЬUIки. оставляя только коммерчеСЮ1 пенные адреса, поэтому можно леrко удалить себя из CffitCKa. записав в HerQ сообшение об ошибке. 636 Чость 11. Рабато в сетях 
Обработка спама Борьба СО спимом может оказаться трудным и часто безрезультатным заняntем. Не НУЖIIО тратить усилия на поимку отдельных спамеРО8. Время, затраченное на анализ заrОЛОВКО8 сnама и прочие персживания,  ЭТО потерянное время. Да, это б:lвrОРОДН8Я- борьба. но объем поступаюшеrо спама она вряд ли уменьшит. Постоянных спамерон МОЖНО нетр8ЛНЗОвать ДОВОЛЬНО быстро. ВЫЧИСЛИ8 их провайдера. Однако спамеры, работающие по принципу "напакостил и удрал", используют учетную запись иа узле проваЙ,Дера только один раз, после 'Iero избавляются от нее. Их поймать трудно. Ес.п:и они реlU1амируют СВОЙ WеЬузел. то ответственность можно возложить на Hel"O. Если же они объявляют номер телефона или Почтовый адрес, то идентифицировать отправителя спаМа будет тяжело. НО вполне возможно. Впрочем, МНОПiе ИЗ таких "мобильных" спамеров MOryт оказаться вообше недосяrаеМЫМJ1 мя наказания. Всевозможные "черные" списки в некоторой степени эффективны для блоировки спама и приводят к vменьшенИlО числа серверов, ПОD.1lерживаlO щих открытую ретране.'1ИUИIО. Бьлъ помещенным в ТакоЙ спиео..:  значит подорвать свою де.ттовую репутацию, позтоr-.IУ Мноrnе провайдеры и орrани зации внимательно следят за действиями своих ПО.ТТЪJовзте.,lСЙ. Наш r1авный совет, касающийся спама, таков: реryлярно проводите профилю..'Т1-fЧеские мероприятия н публикуйте J1меющиеся "черные" списки. Посове1)'Йте своим пользователям просто удалять полученный ими спам. М ноrие сообшения содержат :инструкции о том, как получатели MOryт удалить себя из списка рассылки. Не попадвйтесь на эту уловку. Если nOC!lellOBaTh таким инструкuии. то спамеры действительно MOryт Уl1алить получателя из текушеro списка, но при ЭТОМ они немедленно внесут ero в несколько друrих списков, причем сопроводят адрес аннотацией типа "ВОТ реальный клиент. который деЙствительно читает наши сообщения". После эrоrо, Как вы понимаете, ценность данноrо электронноrо адреса еше больше возрастет. Ес..rrи вам все же нравится вести борьбу со спамом, восполыуйтесь помошью, предлаrаемо соответствуюшюш WеЬузлами. В первую очередь следует ynомянуть узлы mailabuse.olE и abuse.ne!. На узле www.spamrecycle.com вас попросят направить им образец спама; они перешлют ero федеральным nластя-м, которые MOryr предпринять какието законодательные меры. Этот WеЬузел также публикует правила зашиты от спама. Узел производит аналJ1З спама и использует результаты анализа .nля усовершенствования спамфильт ров. Три друrих WеЬузла. заслуживаюших вниман:ия-,  это ordb.org, spamcop.net и wv.'W.cauce.org. На первом из них содержатся наиболее полные базы данных серверов, подn.ерживаюшнх открытую ретраНС:lЯUИЮ. На втором предлаrаются средства ана.:тиза заroловков почтоаых сообщений и опрелеле ния дсйствительноrо оmравителя. На третьем привелена хорошая информация о законах, касающихся спама. Примеры спама Хотя мы не рекомендуем читателям заниматься анализом спама. иноrда псе ж( полезно знать, как это делается. Например, вас МО1УТ вызвать .nля объяснений в связи с тем, что rенеральный директор компании получил сообшение порноrpафическоrо хараk"ТСра (необходимо доказать. что оно не поступило от KoroTO из служаших компании). 637 r nово 19. ЭfiеКТРОННОFl ПОЧТО 
п риведенные ниже примеры иллюстрируют, насколЬКО тяжело Оl1редеЛlПЬ действительноrо отравителя и насколькО леrко по.:зделать заrоЛоВКИ сооб шений. Сначала перечислим несколько ключевых момен-тои. 3аrоловки '&Recei\.'ed" образуют последовательную цепочку, начиная от верхнеЙ чаСТJ1 сообшения и 1зкаНЧИl!ая ero НJ.lжне, часТЬЮ. Любые заrоловки "Recclved". расположенные ниже lаrоловка .'Date".  ПОдrIельные. Обращайте внимание на любой '1зrоЛоООК .. Rccelved.', в котором ИМСI-I;;l двух узлов не СОВПадаюТ Вероятно. почТОВое сообшение было peTp3Ht> лировзно через первый узел (узел, имя которото заключено u круrлыс скобки. ЯR1IЯется .nействите.:1ЬНЫМ источником сообшения). . Заrоловок "Received", имеющий старую дату. вероятнее всето. поnделаt.. Сетевая часть заrоловка "Fro111" ,nолжна соrласоваТЬСЯ с IlOслеПНIIМ ]атО.'10ВКОМ .. Received"  Домен заrоловка "Messagcld" должен совпадать с flOMCHOr-.I заrолоВК «From". Проверьте. нет т-I в Зalоловка;х "Received" признаков Toro, что сообщеНIIС ретрзнстlровано через посторонний узел. Убедитесь. чrо все перечисленные узлы деЙствительно сушествуют в баз данных DNS. В качестве первото примера возьмем сообшеtп-lС. авторы Koтoporo предлаrают будушим спамерам купить компаКТllJlСК. со.nсржашш., 10000000 электронных a.npeCOB. Этот компактдиск препстав.ляет опрел:е.ттенньrfl интерес: rараНПfРУется. ЧТО он не содержит дуБЛlfруюшнеся адреса, а также "отраи ленные" a.npeca (вероятно, те. rne отправитель аятомапrчески заносится R один ИЗ "черных" епископ). С uелью ynрошения коммен-тариев мы пронумеровали строки заrоЛОВКОВ. Сами номера в письме отсyrСТВУЮТ. 1: From mrktлеt71@kауаk.msk.rи Thи Nov 422:10:48 1999 2: Received: from gaia.e:s ([195.55.166.66]) Ьу xor.com (8.9.3/8.9.3) wiL.h ESMTP io WдА2634З for <evi@xor.com>; Thu. 4 Nov 1999 22:10:42 0100 (MS'f) з: Frorn: mrktnet77@kayak.msk.ru 4: Receved: from d.efault Ьу gai.a.es (8.8.8+Sun/SMISVR4) ld GM03907; :0.. 5 Nov 1999 06:31:10 0100 IEtc/GMT1 5: Date: Fп. 5 Nov 1999 06:31:10 0100 (Et.ciGMT) б: Received: frош login 011S56.wqukag.com (mai1.wgukаs.соПi [233.214.241.87]) Ьу18.8.5/8..].З) with SMTP id ХАЛ.01510 for fraklin321@tttaxghklo.um.de; Thu. 4 NoveIТ1ber 1999 00:21:59 0700 (EDT) 1. То: mrkt.ner.TJ@k.ayak.msk.ru 8: Subjecr.: Just Released! Millions CD Vol. 611. 9: Соmmелtз: Authent1car.ed Sender 1.5 <tlserl1556@wgukas.com> 10 :Меsзаgе Id: 0220210872264859"1 456@sa  ghklo. иm. de /.. Не!:КОJlЬХО стра.ИИU uарке'l'ИНl'ОВОЙ информации . I Do пос. reply t.o r.his message  То Ье ["emoved from fur.ure n:al.lings: mail СО :grечll48@usа. net?SubJect.Remove ...." ........."..."..............."............"...""..."",,""* 638 Чость 11 Р060ТО в с{'тях 
Строка I была добав.лена проrpам"1'.ЮЙ jЬiojmail в проиессе лока...rтъной .достаRКlI. Домен msk.ru существует. з узел kayak.msk.ru  нет. Строка "2 содеРЖIIТ ДОL:товеРIIЫЙ 1аrоловок ., Recel\led". Это единстненмая заrОЛОБОК ..Ret.:eived.', которому можно доверять, посколы<.:у он добав.лен на нашем собt:твеflНОМ }'З.'1е "\:or.com Строка 3  ЭТО заrоловок "From", добавленный проrрitfМОЙ sendmail rneTO "в пути". поскольку орю-инал сообщения не имел ero. Строка 4 содержит достоверный iзrОЛОRQК "Recelved'! от ничеrо не lюд.Оlреиаюшеrо уЗЛа gaia.es. сыrравшеro рО..'1ь козла отпушения. На зтом у.зле ныполняется- проrpзммз sendmail 8.8. которая по умолчанию подперживзе'r ТРlНСЛЯЦJiЮ (в такой конфиrypаmш ее поставляет компания SLШ). Cтpo ка 6  это поnдельныЙ JitrОЛОflDК .. Received" Он находится ниже заrоловка .'Datc". c.!lenOвaTe.=lbHO. был создан до TOro, как первый экземпляр проrpаммы sendrnail ПО:]УЧ1JJ сообщение. Кроме тoro. формат заrОЛОВК8 неверен. а адрес ::!33.214."241.87 Не имеет обратной записи в DNS. Строка 7 (заrоловок "То") также ПодпелЬНая. Адреса получателей были только на конверте. Строка 9. 110 идее, идеНТJ1фицирует ИСТИНl-lоrа отправите.ття, что иноrда Я8..1яется ютючом к разrадке ИСТОЧI--Шка сообщения. В данном случае попразумеuается. что сообщение отпраRJIено из домена wgl.lkas.coDl, но тзкоrо 'юмеН8 не существует. Эта строка в дейспштельносrn была побавлена пользоватеЛЬСКItМ почтовым areHTOM на персона..;lЬНОМ комrтъютере и- следо п:пельно. может быть поддельной. Строка 1 О rоворит о TOM что компьютер. отправивший сообщение. Иlеет адрес SJllklo.Llm.de. но у этой строки неправильный формат (отсутствуЮт тповые скобки), ЗНачит. ОНа тоже подцелъная. Невозможно сказать. откуna пришло ЭТО сообщение. ОАО было peTpaHC Jlllровано через узел gаiз.еs. ОLlевидно без разрешения. Этот узел еще не попал R .'черный" список сервера mailabuse.org. но может вскоре там оказаться. Пользователь gregl148. возможно, действительно ЯlШяется спамером, но может быть и обычны.м пользовате.ттем, 11мевшим неосторожность пожало иаться На полученный СПам. Во втором случае ПОЛЬЗОВ8те.тIЯ greg1148 слепует рассматривать как жертву. так как в скором будушем он получит COTHJ1. а то и тысячи СеРДI-IТhI"\ ПОС.1аНIIЙ от ПОJlЬЗ0вателей с требоваНJ1еr-.I удал.ить их 11.1 списка рассы;н,:и. Тело сообшения призывает 11Олучателей де']зть заказ по телефону J1ЛИ факсу. Тнпи-чный случай: вся информация, касаюЩаяся Toro, как связаться со спамеро'l.f и "'.'упить пре1UIаraемый им про-дукт, приведена в теле сообщения. Заметьте. что адрес в заrОJlовке "From" такой же. как и в заrоловке "То". Вероятно, оба они подпелЬные. В друrом сообшении. полученном Нами через неделю, нам предлаrа.Т}J1 рюбоrатеть. лля чеrа требоналось послать по факсу чек Н8 40 долларов по 15 ноября, так как после этой паты цена на товар подскачит до 195 ДOJшаров. Возникает вопрос: ЯlШяются ли факсимильные коmlИ чека .JaKOHHbJM II1I<'Iтежным средством? Или. может быть, злоумышленникам нужно лишь ПО:IНПЬ номер Ilзшеrо теf>.ушеrо счета в банке и нашу подпись. чтобы потом самим НЩ1е t liпать фальшивые чеки'! О таких преп.тюжеНJ1Я)( слепует сразу же t,;ообшать н ПОЛIfIНIЮ. . From J...mdelnoapexmal.com Thu Nov 11 10:31:-41 1999 J. Re-::eived: from sаturп.ч1оЬа.!.соп.соm (sаr.urп.glоЬаlсоп.соm [209.5.99.8]) Ьу xor.com (8.9.3/8.9.3) with ESMTP id K.AA1S419; Tttu, 11 Nov 1999 10:31:30 0700 (MST) .... ПОВ(I iJ Эпектронноя почто 639 
з: Received: trom hami1ton ([168.191.61.20]) Ьу 8aturri.g1oba1con.com (Po8t.otflce М'I' vЗ.l.2 re1e,ase (P020510!.c) ID* ОЗ5881U1500L100S01 wlth SMTP id AA.A148; Thu, 11 Nov 1999 12:33:24 0500 4: Dat.e; Thu, 11 Nov 1999 02: 39: 57 +0000 5: Subject: Free Iпtоrmаtl0П оп "Debt Rеduсtl0П 1" б: Me88agB Id: <yj sul. lnmqgaasnj yrngqaac@harnl1to"> 7: From: F. Pepper@pmal1.net 8: То: benfra"klinonehundred. net Строка 2 содержит достоверный заrоловок "Receivcd". Строка 3 также правдоподобна. но команда traeeroute. выполненная из домена Xor.com на узлы hamllton (168.191.61.20) и sa\Um.globalcon.com (209.5.99.8), показал., что эти два узла не имеют ниК8КОro отношения щ:>yr к npyry. Адрес 168.191.61.20 находится в коммутируемой сети SрПnt, причем rncTo в Европе, судя по формату отображения времени. Адрес 209.5.99.8 принадлежит канадской компании. находящейся в Он-тарио. Очевидно, сервер S8шrn.glоЬаlcоп.соn1 поддерживает открьпую ретранслЯtiИю. На Her-.I работает не проrрам13 sendmall, а транспортный аrеит Post.Office версии 3.1.2 (cro можно получить на узле www.opcnw.ve.com). В строке 4, добавленной пользовательским атентом отправителя. roвo рится о том. что текущее время  примерно 2 часа ночи, Лишь чере:t несколько часов это сообшеюt:е было принято компьютером на узле satum.globalcon.com. Возможно, список получателей был СЛИШКОМ длинным, поэтому проuесс пересылки занял так MHoro времеI01. Или, что вероятнее, сообwение бьUIО составлено заранее на персональном КОМJТbютере спамера и только потом. спустя пару часов. было оmравлено в Iпtеrпеt. Судя по ФОР"'IВТУ отображения времени (если только это не подпел ка), разниuа составляет 5 часовых поясов  это как раз разница между часовыми поясами Европы и восточноrо побережья США. В строке 6 сетевая часть заrоловка I<Message:ld" должна быть полностью определенным именем домена, а не лока.'lьным именем "hami1ton". Узел hаmiltоп, возможно, неправильно сконфиryрирован, посколы...-'У неполное ИМЯ ПОЯRJlяется также в строке 3. Часть заrоловка "MessageId" слева от символа '@' обычно состоит из uифр, НО Б данном случае она содержит Hayraд взятые буКIJЫ. Это указывает на то, что строка может быть поддельной. Строка 8 явно подделана. Действительный адрес получателя присyrствует только на конверте сообщения и больше ниrде Б заrоловквх. Это сообщение действительно моrло быть получено от пользователя F.Pcpper@pmai1.ne!. Доменному имени pmail.ne! соответствует реальныи IPaдpec, а проrpамма whois сообщает о том, что узел рmаil.пеt ПрИН8.п.лежит компании 8ritish telecom Среди примерно двадцати экземпляров спа"iсооб. шений, которые мы проверили при ПОДrОТQвке naHHoro раздела, только это сообщение содержит достаточно информации для Toro, чтобы можно было составить обоснованную жалобу (в адрес компьютера hostmaster, который указан в базе данных DNS lIЛЯ IPaдpeca, приведенноrо в строке 3 заrоловка). Никоrда не нужно посылать жалобу непосредственно спамеру или в д.омен спамера. SpamCop  это проrpамма. БЫПОЛНЯЮШая синтаксический аН8.Т'lИJ заrоловков почтовых сообщений и определяющая, каIOfе строки реальные, какие  MOryr бьпъ nодпе.ттаны' а каЮfе  безусловно подделаны. Проrpвмма выдает пользователю, который присьшает пример спама по электроmюй почте или на WеЬузел spamcop.net, пошаrО80е описание заrОЛОВК08 и разъясняет. какие компоненты подтвержпаются. а какие  нет. На этом узле можно 640 Часть 11. Робота в сеТАХ 
леrко составить жалобу на спам. В жалобу следует ВЮIЮЧИТЬ всю относящуюся К делу информаuию. которая была собрана путем синтаксическоrо анализа зarоловков. Мы запустили np01l'aмMY SpamCop для анализа нашеrо nepBoro спам сообшения, в котором нам nъrrались продаТЬ компактциск со списКом адресов. Проrpамма обнаружила, что зarОЛовок " Received" с адресом gaia.es подлинный, но домен wgukas.com  фиктивный. Затем проrpамма опреде лила, что узел g3la.es ие имеe-r IPaдpeca. о Которor.... rоворится в ПИСЬме, и что действительный виновник, возможно. находится на узле пd.nеt. Ясно. что а.наllИ3 с ПОt.fOшью проrpаммы SpamCop оказался HaMHoro лучше. чем наш. и занял он вcero несколько секунд. Н иже приведен небольшой фраrмент ИЗ результатов анализа оТносительно свежеrо спама. Анализ вьmолнен проrpаммой SpamCop. Received: from suni.c:skwam.mil.pl (cskwam.ml1.pl) [18.81.119.2] Ьу mal11.es .net wth smtp (Exim 1.81 '2) id 12oBHL000494OO; Sat, б Мау 2000 13: 34: 23 0700 Po:ssible spammer: 148.81.119.2 "n:slookup cskwam.m1.1.pl" Ictteck1ng ip) [stto"w) ip ПО!. founc1; cskwam.!rIil.pl discarded а:!;! fake. "ciig cskwam.mil.pl rnx" (d99iпg foc Mail eXct\.anger) [sttow] "nslookup cskwarn.mi1.pl" (checking ip) [show] сskWiШ1.ml.l.р1 по!. 148.81.119.2. dscarded аз fake. "ns1ookup sun1.cskwam.m1.1.p1" (checklng ipl [show] ip"" Н.8.81.119.2 Таkiлg n.ame from IР... "nslookup 148.81.119.2" (getting name) [show] 148.81.119.2 ""' зиn1. cskwam.mil. р1 "nslookup sun1.cskwam.ml1.pl" (checking ipJ [show] .lP"" 148.81.119.2 "nslookup 2.119.81.148.rbl.maps.vix.com." (cttecking ip) [show] пос found "nslookup 2.119.81.148.relays.orbs.org." (checking ip) [sttow] p "" i27.0.0.2 blocked Ьу ORBS Chain test:mai11.es.net. ""'? maill.es.ner. Chain verl.fied mai!l.es. пеС со ma111.es. net 148.81.119.2 ttas already Ьееп senr. to ORBS Recel. ved 11ne accepteci Каждое слово [show] является ссьшкой на WеЬстраницу проrpа.ммы SpamCop. Там показана команда. которая была ВЫполнена. и ее результат. 19.11. Безопасноcrь и проrpамма sendmail с началом взрывопопобноrо роста сети Internet проrpаммы наподобие sendmail, ПРИНJ1маюшие произвольные входные панные и направляюшие их локальным пользователтf. в файлы или в интерпретаторы коман.а. CТCL1И излюбленноЙ мишенью для хакеров. В настоя шее время проrpамма sendmail. наряду со службой DNS и даже протоколом IР. начала обзаводИТЬСЯ встроенными средствами аутентификации и шифрования. позволяюшими решать ОСНОвные проблемы безопасности. НеД8внее ПОСЛ8бление американских федеральных законов, касающихся экспорта систем шифрования. позволило оснастить проrpамму sendmail собственными механизмами шифрования. Версии 8.11 и более поздние подперживают систему SМТРаутентификаuии и SSL (Secu1'< Sockets Layer  протокоп зашишеlrnЫх сокетов). Протокол SSL в sепdmail называется TLS (Тrапsроrr Layer Security  безопасность тpaHcnopтHoro уровня) и реализован r I10ВО 19. ЭлеkТрОННО ПОЧТО 641 
в виде ПОПОЛНеНИЯ STARlILS к протоколу SMTP. Ему соответствуют шесть новых конфитурационнъrх параметров. связанных с файлами серТИфJ1катоn и I01ючей. В этом параrpафе мы рассМОтрИМ эволюцию модели безопасности проrpаммЪJ sendmail. В конце кратко описан протокол SЛSL. Безопасность проrpаммы sendmail постоянно УСИ1ТИвзлась, и теперь проrраммз, прежде чем довериться содеРЖ1f1\.fOМУ. скажем. файлов .ronlard или aliases. тшателъно проверяет права доступа к ним. Как праnило. подобные меры предосторожности действительно необходимы. но иноrда все же требуется их ослабить. С этой целью в проrpамме появилась ОПШfЯ DontBlameSendmail. на.JВиние которой С'не обвиняй sendmail") подсказL.l вает систеr-.IНЫМ администраторам, что после изменения опuии все де"СТR1tя проrpаммы станут небезапасными. у опции DопtВlаmеSелdmаil MHoro возможных ЗН8чений. По УМОJlча нию она равна safe. Полный спнсок значении можно наЙТJ1 8 файле sendmail/eonr.e_ Владельцы файлов Проrpамма seпdmаil различает трех специальных пользователей: Defaul tUser, TrustedUser и RunAsUser. По умолчанию все areHTы достаn....11 работают от имени пользователя DefaultUser. если не зэдаиы специальные флаrи. При наличии. файле /ete/passwd записи "Л1аilпull" или "sепdЛ1аil" именно эта запись будет соответствовать пользователю DеfаultПsеr. В про тивном случае пользователю будут СОПОСТ3В,,'1ены значения U I D и G I О. равные 1. что эквивалеН7НО учетной записи "daemon". м ы рекомендуем применять учетную ззmfСЬ "mailnull" Добавьте ее в файл /еtс/раsя'{d со звездочкой в поле пароля. с пустым полем идеНТИфllкатора команд. с п}стым полем началъноrо каталоrа 11 rpуппой "nogroup". Этой учетной записи не должны принадлежать никакие фаилы. Пользователь TrustedUser может владеть файлами баз данных J1 псевдонимов. Ему разрешается запускать демон и перестраивать файл aliases. Этот пользователь не соответствует I01зссу TRIJSTED  OSERS nporpaMMLI sendmail. который определяет. кто имеет ПрЗRО менять lаrоловоК .. FrоlП" сообшений.. Пользователю RunAsUser соответствует значение UID. которое ПрllСltall вается проrpамме sendmail при открытии сокета. ПОДКТJючеНllоrо к порту 25. ПривилеПiрованные порты, номера каторы'\( меньше 1024, MOryт открыR.ilТЫ:Я только суперпользователем. слеДОВ(lтелыlO. проrрамма selldmail перИОI-lаlfШЫIO работает 01 имени полыователя root. Тем не менее после ззесршt:'IIШI указанной операции nporpaMM3 может взять себе дpyroe зннчение lllD. Это уменьшает вероятность возможных уrроз безопасности, если про'<раммз sепdmаil запускается обманtlЫМ путем. По умолчанию, однако, проrpамма продолжает ВЫПОЛНЯТЬСЯ от имеНl1 пользователя root. Если rlOтребуется помеНЯть установку ШIЯ учетной JtlПИСJ1 RunAsUser, придется MHoroe изменить. Пользователю Rur.AsUser IIрII-Ji.Ш лежит очередь поltfrовых сообшеНl1Й. он может ЧJ1тать все ВЮlючаемые фi.ШЛЫ и файлы баз данных. осуществлять запись в журнальные файлы. заПУСК8П, Средство TRUSTED  USERS обычно примеlLЯСТСЯ J1..'1Я ПОДllержки проrpамм. работаюшю; со списками рассылки. Например, если используется проrpамма Majordomo, нужно добi.ШII rb пользователя "majordom" в класс TRUSTED USERS. ПО УМОЛЧ31fИЮ членами этоro tJl<lcca ЯВЛRЮТCЯ стандартные пользователи dаеmОDИ root. 642 Часть 11 Робота в сетях 
проrpаммЪ1 11 Т$. Может уйти несколько l.j3COB на ПОИСК всех файлов 11 каталоrов, владелец которых должен быть изменен. Права доступа С точки зреl-rnя безопасности nporpaмMbl sепdmаil важное значение имеют права доступа к опрелелеНl-lЫМ файлам и каталоraм. 'становЮI. приведенные в табл. 19.16. считаются безопасными. Таблица 19.16. Атрибуты kаталаrов прorроммы sепdmаll Католоr Владелец Режмм Назночение/содержимое /Y8r /spool/mqueue RuпАsUsеJ:: 700 Очередь ПОЧТОВЫХ соо6wеннй /. /..r, /..r/"PO<JI rool 755 Компоненты пyrеоrо имени каталоra mqueue /olc/...U/' TrustedUser 644 Тзблиuы. конфнryрационный файл. файлы лсе81ЮНИМОВ /о,с/...;I TrustedUser 755 Родительский каталоr дJlЯ разных файлов /olc roO[ 755 Пуп. к К3Т8ЛОry mail Проrpt'lммз SСlldшаil не будет читать фаЙлы с ослабленными правзми доступа (например. файлы. д.остуттныс для заПИСИ rpупnе или остальным пользовзтелтl. а также фdИЛЫ. на.ходящиеся в каТЗЛ0тх. которые ДOCТ'y'ТlHЫ для записи rpynne Иlll1 остальным ПО..'1ьзовате.,'IЯМ) Такая r1редосторожность вызвана тем, что мноrие операuионные системы позволяют ПОЛЬJонателяМ отдаваТЬ снои фай.fJы в "чужие руки" с по",fOШЬЮ команды сhоwп (в основном это относится к системам. производным от Syslem у( В частности, nporpaMMa sепdmаiJ очень тщательно проверJfет полное путевое имя любоrо фаЙла псевдонимов и фаЙла .forward. Это сказывается на управ.леШ.IИ списками рассылки проrpамr-.Ibl Majordol11o. Если список раССЫЛЮ1 находится. например. в каталоrе /usr/local, все путевое имя должно быть НадеЖНЫМ: ни один компонент ero не должен иметь право записи штя rpуппы. Это усложняет владельцу списка работу с файлом псевдонимов Чтобы проверить текущее положение дел, запустите команду sendma1.1 y  hi Флаr ы lастамяет проrpамму ПРОННИllиа.лизировзть базу данных псев донимов и выдать предупрежпение. ес'lИ права достynа не по.nxо.nят. Проrpаммз sendmail не читает файл .fonlard. если lначение сче1'll-IК3 ссылок на Hero превышает единицу. а путь к каталоry небезопасен (права доступа ослаблены). ОТКЛЮLIИТЬ МНОП1е оrpаничеllИЯ на дост)'" к файлам можно с помощью опиllИ DопtВlаП1еSепdmаil. За rollbl CBOCro существования комаl-ша сhоwп вызвала массу проблем, связанных с беэопас НОСТLЮ. МЫ СЧИl"аем ее ошибкой разработчиков. ОтКJIЮчите данную комнину. если это разрешено н операuионной системе. r nова 19 Электронная почто 643 
Безопасная пересылко почты в фОЙIlЫ и проrроммы Мы рекомендуем применять в качестве areнтa проrpаммной доставки yrилиту smrsh. а Не /bin/sh, и назначить arентом локальной доставки yrилИ1) mail.local, а не /bin/ma. О них рассказыВ8ЛОСЬ в парarpафе 19.8. Обе проrpsммы ВХОДЯТ в дистрибyrив sепdmаi1. для их активизации необходимо добавить в mсфайл комвнды FE.A.TURE С . smrsh ., . путь  к  nporpauue  smrsh ') FEATURE ('locallmtp". . ПУТЬКПРOl"раuиетаil.l0саl ') Если пyrевые имена не указаны, по умолчанию принимаются следуюшие установки: /usr/libexec/smrsh и /usr/libexec/maU.local. По умолчанию nporpar-.IM8 smrsh запускает только nporpaMMbl. наХОll.п шиеся в К8талоrе /usr/аdm/sm.Ып.. Она иrнорирует зап.анные пользователями пyrевые имена и пьпаеТсЯ искать запрашиваемые команды в собствеННО1 кзталоrе. Она также блокирует некоторые метасимволы интерпретатор.! команд, в частности '<'  оператор переадресаuии входноrо потока. В KT3 лоre sm.bin напускается наличие символических ссылок, поэтому создавать копии nporpaMM не потребуется. Приведем несколько примеров команд вместе с возможными интерпре таuиями проrpаммы smrsh. vacation er1.c cat /etc/pa8.vd еыполняется /usr/аdm/sm.Ьin/vасаtJ..ОЛ erJ..c О'l'!I:Лоняется. лроrраыыы cat нет 11 ка":'аЛОl'е sm. bin vaca.t1.on er1.c < /etc/pa88wd ОТJUlоняется, олера'l'Ор < не разрешен Опuия SafeFileEnvJ..ronment проrpаммы sendmai1 контролирует, ....-'уда можно записывать сообшен-ия, если в файле aliases I01и .ronlard ЗalJ.ано перенаnрааление почты в файл. эта опция заставляет nporpaMМY ВЫПОЛНИТ!. системный вызов chroot, вследствие чеrо корневым каталоrом файлоноij системы станет не /, а /sзСе или любой друтай заданный в опuии КRталоr. Например, если в файле псевnонимов зап.ается перенаправление почты в фаЙл /etc/passwd, то на самом пелс сообшсния будут записываться н фай., /sar./etc/passwd. Опuия SafeFileEnvironment зашишаei файлы устройсти. каталоrll 11 дрyrие спеuиальные файлы. позволяя записывать почту только в обычные файлы. Это ПО:1езно не только Б П1ане улучшения безопасности, но и с ТОЧКII зрения борьбы с пользовательскими ошибками. В некоторых системах значение этой опnии задают равным /home. что открывает доступ к начальным каталоrам полъзовате.ттей, но оставляет системные файлы вне досяrаемоcni. Аreнты .поставки тоже MOIyr запускаться в среде с Ifзмененным корнепым каталоrом. В настоящий момен-т соответствующая ОПШIЯ содержится в настро-й ках arema, но в скором времени "псрекочуст" в файл конфиrypаuии m4. Опции конфидеНЦИОIlЬНОСТИ В проrpамме sепdmаil имеются опции КОНфJ1пенuиа.ПЬНОСТИ. катары!.:' определяют: какие сведения о системе можно узнать из внешнеro мира npJ1 помоши протокола SMTP; Не помешайте в каталоr sm.bln ПрОlp8ММЫ наподобие proсш.aIl. которые способны запускать интерпретатор JCОМ8J-Ш. Лучше назиачьте прOlрамму procmaU локальным areНТOM ДОСТ8ВКИ. 644 ЧОСТЬ 11 Робота в сетях 
. что требуется от узла на противоположном конце SМТРсоединения; . MOryт ли пользователи просматривать или обрабатывать очередь почтовых сообщений. В табл. 19.17 приведены текущие значения опuий конфидеJ-ШИальности. Самая аКl)'альиая информаuия содержится в каталоre /sendmaIJ/conf.c iIИст рибутива. . Таблица 19.17_ Значения переменно PrivacyOptions 3HOeHIo:Ie: . ИнтерпрвтОЦI<1Я pub11c Проверка КОНф1Шенuивльности/бе:юпасности не ПРОИ380ДИТСЯ needmallllela Требуется SMTPKoмaкna HELO (Идентифицирует удалеииыi! узел) поехрn Не допускается SMTPKoMaНJl8. EXPN novrfy Не доnyскаетси SMTPKoNaндa VRFY needexpnhelo Не допускается раскрытие адреса (команда EXPN) без KOМlU{Дbl HELO needvrfyhelo Не допускается проsерка адреса (команда VRFY) без кОмв...шы HELO noverb 1 Не допус.кастси "мноrocловны-R" режим KOMOJ-Iдbl EXPN restricc.mailq Только полъзователи rpупIIы. которой принадлежит каталоr mqueue, MOryr просматривать очередь сообщений rest.r1ctqrun Тот..ко владелеu каталОЛl. rпqоеое может обрабатывать очередь сообшений noet.rn 2 Не допускаетСЯ асиюr.ронная обработка очередИ authwarn!ngs К сообщениям побав.ляется 38.IUЛовок "АuthепtiсаtioпWаm.lлg" (зто установка по умолчанию) noreceipts Запрешает выдачу КОДОВ СОСТОЯНИЯ доставки nobodyret.urn При выдаче кода состояния доставки не возвращается тело сooбwсни.я qoaway Отмеияюп::я все стаТУСНЫС SМТР38.просы (EXPN, VRFY и т-д.) I В этом режиме команда EXPN отслеживает переадресаиию в файле .rorward и позволяет получить дополнительную информ:auию о местонахож.дении по.льзонатель екай почты. Необходимо включать опцию noverb или, еще лучше, поехрп На любом КОМПЬЮ1'Сре, имеющем ВЫХОД во внешниЙ мир. 2 ETRN  зто команда протокола ESMTP, которая испоJ1.h3Уется узлами с коммyrи руем:ым: доступом. Оиа запрашивает обработку очереди только для соо6шений данноro Y:lТla. Мы рекомендуем сделать в mсфайле "консервативные" устаНОПЮI- define«  confPRIVACYOPTIONS'. .. qoaway, aиtttwarninqs, rest.rictmalo. restrictqrun' , ) По умолчанию установ.лена лИШЬ оппия duthwarnings. Обратите внимание на удвоенные кавычки: некоторые версии препроuессора m4 требуют ЭТоrо !lЛЯ предатврашения интерпретации запятых в списке значений Запуск прorраммы sепdmаil при помощи команды chroot Те, кто беспокоится о влиянии проrpаммы sendmail на файловую Cl1CTel\.i)'. MOryт запускать ее С поt.юшЬЮ комаtШЫ chroot в специальном корневом каталоrе вроде /jail ('''тюрьма''). Создайте в этом каталоrе минимальную r r1080 19 ЭлеКТРОННОR почто 645 
фалов}ю систему. ВКЛЮ1l-иВ в нее фай'1 jde.,/null, важные файлы KaTa!IOI.a /etc (pass'd, group. resol"..conf. sfl1dmail.cf, таблиuы баз данных, шаil/*J, неоБХОffilмые проrpамме sendmail COB"'leCтtlO исполыуемые библиотекlt, ДfЮ ичные файлы sel1dmail, кзтзлоr очереди почтовых сообшеннй и требуемые журнзл ьные файлы. Команда дЛЯ lапускз JlpOI-рЗ\iМЫ selldmail будет НЫСl1ядеть так. f chroot /jai.1 /uаr/.Ьiп/sеndшa.i.1 M чЗОш Отражение атак типа 'отказ от обслуживания' Атаки типа "откаl от обслуживания" IIсВОJМОЖНО предотвраПfТЬ. nOTO\f что нельзя заранее предСКaJать, }lнляеТС>1 ли сооБШlПlе оружием .атаки и.:m действительным KOMIIOHeHTO\,j почты ЗЛОУМЫШ!IСННltКI1 MOI)l поступать поразному. например переПОЛI-IЯТЬ SМТРпорт лОЖllЫМИ запроснми на подкпючение, аБИfk'ПЬ разделы диска rиrаНП::КШ.1II СОООЩСНИЯМ1i. Jасорять выходные соединения. бомбdрдировать cIICTeM) почтовыIf сообшеН1ЯМИ. В проrpа,Нfе sClldmail ичеютсS1 КОНфllryрашюнные ПС1р3меrры, позволяющие оrpаНИЧiТЬ воздействие -ЛИХ атак 113 систе!\IУ. 1-10 в результате может пострадать и лсппимная ПО'Пd. Опuия MaxDaemonChl.ldre:n оrpШ-lи'-Нtвает '-Шсло проuессов sendlllail. Онз I--Ie позволяеТ ПрOl-рамме еlldrпаil ji:lхватить все 8ыIIсJllпельныыe ресурсы системы, 1--10 зато дает возможность xaKepa' очень леrко "завалить" сервис SMTP. ОmlИЯ l'-1ахМssаgе; i ---:е -Здшищает каталоr очереди от lIереПОJlнениS1. ио если задать lначение опuии слишком НIIЗКИМ, "жртвами" Moryr оказаться обычные сообщения. НУ..ЖI-1О уведомить ПО.1ьзователей о сушеСТВУlOщем оrpаШfчеиии на размер сооб1l1еl--IИЯ, чтобы они не У..'ШR.1Я 1 IИСЬ. еС.1И письмо ВДр}Т вернется обратно. PaJMep сообщс}шя оБЫЧ110 может быть ДОСТilТОЧНО БО.1ЬUП-lМ ОIIНИЯ COn!l,,=ct1.0nRdt.::?:Thlottle 3M.ICT пределыlO лопустимое число соещtllении н се}.,!'IЩ)". ОИil "'lOжет IIрIRеСПI к неБШIЬШОI\IУ ЗС:!lI,lед.:теl-lИЮ работы проrpаr.,jМЫ sепdшаil Наконец. ОIШIIЯ MaxRcpLsPe-rИSSi:lqе за.'1ает макси маЛЫlOе IПfС.rIО ПО.rIУ'lзтелеЙ сообшеНЮ1 Несмотря иа все меры llре;юсторожности. трудно предусмотреть ситуа пию, KorHa КТOTO начинает бомбардировать систему письмами. Это очень неприятнзя проблема. В университете штата Колорадо для каждоrо студента (Bcero их 250001 создастся почтовая учетная lаJIIН:Ь, а стандарпrым почтовым клиеНfОМ ЯВ:1Яется проrpамма pil1e. Однн студент устроился но) работу в меСПJЫЙ компьютерный мзrаЗIIJl, и ХОlЯlfI1 ПОllросltЛ CТYHeHT(t прелоставить ему копню файла паролей. Затем компаишt рО1 ЮСJlа..Тfi\ реКЛО:1Мllое сообшеlше все" пользователям. УПОМЯНУТЫ\I в файле паРО!lеli. пакетами по 1000 ПОlУ'IзтеJ1СЙ за ра] Б ре.jупыате строка "То" ПОЛУЧII'Ji\СЬ O'ICHb DJIltIIНОЙ Проrpамма IJilJC была CKOMI11IJlllpOllIId Пl.К, "1То6ы ОТlи:"'IiПЬ не только отправите."1Ю, но и всем 110ЛУЧC:l.телям. М НОПIС сТ)денты отвеТI1'lИ на peK.'1aM mtсьмами с ВОПрОСidМ'И вроде "Зачем вы flpItCla.IH мне эту чушь'!", 11, естественно, письма ОКЗ]aJ'ШСЬ разосланы Bce1. кто был )' ПОМЯН)I В строке "То". В результате сервер был 1I0.'1НОСТЬЮ выведсн ИЗ строя. ОН I.IC \Ior обрабатывать не только почту, 1--10 11 любые друrие запросы. Проrpзмма sспdшаil захватила все ресурсы I1роиессора, оtlсрель почтовых сообшснии CТCL'liI ОI"рОМIIОЙ, И все выполняемые задаНIIЯ lЗRltсли ПРИUlлось ОТЮТЮl13ТЬ компьютеры от сети. а затем захошпь в почтовыri n,фер кажnоrо ПОлъзОR3П..Jlя и ВРУl.fную удалЯТЬ сообшеНIЯ. 646 Часть 11 Робото В сетях 
Фальсификации Подnелатъ почту раньше было, ЧТО называетсЯ, "раз ШJЮНУТЬ", В про rpaMМY sendmail версии 8.10 ВХОДЯТ средства SМТРаутентификации. ПОЗRО ляющие проверять ПОДЛИН}-ЮСТЬ машиныотправителя. До версии 8.10 любой пользователь мот подделать сообшсние так, как если бы оно поступило из вашеrо собственноrо домена_ И даже в версIOl 8.10 проверку все еше нужно вклюqать QтпеJlЫЮ. с ПОfl..lOШЬЮ ОПЦИИ AuthMechanisms. Б поqтовых сообшениЯ}( мож.но лрсдставиться любым человеком. Бульте осторожны, если ::lЛеКтрО}-IНая пО'П3 является срелством аyrеНТИфИК8UИИ для таких вешей, как ключи шифрования, карточки доступа н злектрониые пенъrи. Необходимо предупрешпь об этом ПОЛЬЗОRзтелей и потребовать, чтобы в случае появления подозрительной почты якобы ОТ уполномоченноrо лиuа ОНИ провеРЯЛИ достоверность т-аких сообше..шй. Это вдвойне необходимо, если в сообщении содержится требование предоставить неопраацанные льrоты кaKOMYTO ЛИUY. не имеюшему к ним никакоrо отношения. Например, очень подозрительио. если ПИСЬМО содержит просьбу вынать студенту ключ шиф рования. При устаНОН.'1енной опции authwarnings проrpаммз cndmail добавляет заrоловок «АLJtllеnliсаliопWаmiпg.' к любому исходяшему сообшеНJtю, KOТO рое выrлядит IlOдделанным. Тем I--IC MCI--ICC мноrис полыонательские ПО'rfовые зrснты по умолчанию скрblвают ЭТОТ заrОЛ08QК. Если фa.JlЬШИВая почта поступает с компьютера, liа)(одящеl.Ш;Я под вашим а.дминистратиFшыM контролем, можно попытаться отЛ08JПЬ нарушителя. Демон identd позволяет узнать реаЛbl--lOС реrистраuионное ИМЯ отправителя письма Проrpаммз sendmait посьщает обратный запрос к мзшинеотпрааи телю, qтобы работающий там демон ilteBtd сообщил еЙ имя пользователя, пославшеrо почту. Если демон иа удаленной машиие не работает. то иичеrо выясиить не удастся. Если удаленный компьютер является одиопользоватеJlЬ ской рабочей стaнnией, то ее влапелеu может настроить демон identd так. чтобы ТОТ возвращал заведомо непраВИЛЫIЫЙ 011eт. Если же удаленный компьютер  это большая мноrопользовательская система {т<.iкзя. к примеру, как во мноrих университетских 8ы(ислитеJJIНЫ" ueH rpax}. ТО демон identd возвращает реа.rrыюе реrИСТрЗUИОIllIOt:: имя ПО';Iьзонатс.llЯ. которое nporpaMMa sепdmаil 8ЮJючает в заrоловок сообшеtlИЯ. ВО МНОПIХ орrаниззциях демон idепtd не работает с ВI--Iешним миром: он блокируется браипмауэром. Применять дсмон имеет смысл только внутри орrанизаuии, так как компьютерам, 1--13ХОДЯШИМСЯ под посторонним админи стративным коитролем, нельзя доверять. Несколько лет назад. KorHa мы впервые начa.JJI.t эксперю..tентировать с демоном identd, один студент решил IЮЩllУТИТЬ над своими коллеrами по курсовому проекту. 01--1 посылал ИМ письма от имеl--IИ руководителя проекта в которых rоворил. '1ТО 01-11-1 п:IOХО ВЫПОЛЮ1ЮТ сною работу и должны работать лучше. К сожалению, однажды он допусТlUl синrаксическую ошиб}..')', и письмо вернулось РУКО80mпелю. Проrpамма sendmall б.'1аrонаря протоколу IDENT сама сообщила нам имЯ нарУШJ.пеля. включив в сообшение такую стро,:у: The original message was received at Wed, 9 Mar 1994 14 :51 0100 from С'I'удеН7'Ьепji. .Colorado .EDU [128.138.126.10) А в заrоловке было сказаио не-по иное: From: РУКО1sодитель@сs.Соlоrаdо.ЕDU r лово 19. Эпеt<ТрОННОf! почто 647 
Мораль: за(-.шмаясь хакеРСТ80М, хотя бы не попускайте синтаксически\, ошибок! В соответствии с нашими правилвми, учетная запись студента былО! отключена до конца семестра, чеrо, наверное, он и сам хотел. Ои не спраштялся с курсовым проектом, и ero коллеraм приходилось часто выполнять работу за Hero. Безопасность сообщений Истинную безопасность электроиной почты невозможно соблюсти, еслн не I1рименять внешнюю систему шифрования, например TLS. По умолчанию вся почта посылается в иезашифрованном випе. Сообщите пользователm.i о том, ЧТО они сами должны выполнять шифрование, если хотят обеспечить конфипенuиальность своих сообшений. В настоя шее время делаются попытки внедрить D протокол SMTP средства аутентификаuии и шифрования. хотя раньше такая деятельиость тормозилаСI) федеральными законами США, касаюшимися ОflJзничениЙ На экспорт систем шифрования. Для двусторониеrо шифрования 11'ебуется поддержка не только со стороны ПрОrpаммы sendmail. (-.10 и СО стороны пользовательских почтовы" aremoEl. Две дрyrие системы, позволяюшие повысить конфиденuиальность сооб шений.  это S/MIME и PGP. Обе они описаны в 1I0кументах RFC. Мы предпочитаем PG Р. так как эта проrpамма широко доступна и иаписана великолепным шифровалъщиком Филом Uиммерманом (Phil Zimmеnn8Пn). которому мы поверяем. 0" Информацию О nрО2ра.и-ме РСР можно найти в nарЙЦJафе 21.8. SASL: простой протокол защиты и аутентификации Проrpамма sendmail версии 8.10 (и более поздних версий) ЛОllдсржи.ает систему SМТРа}1'ентификации. определенную в 1I0кументе RFC2554. Она основаиа (-.13 протоколе SASL (Simple Аuthепtiсatiоп and Security Layer). SASL  это базовый механизм аутентификации" который :может быть встроен в ряд др}тих протоколов. Пока что ero используют проrpамма sendmail и демо(-., imapd компании CYnls. В протоколе SASL pt:a.Jlизопа(-.,ы две основ(-.,ые конuепuии: идентификатор звторизаuни и идентификатор З}'J"ентификаUИII Эти идентификаторы MorYT быть связаны с пранами lIocтyna к фай.чаl. ларолями UNIX, билетами Kerberos и Т.II. Библиотека Фуикmrn SASL COCТOIIT из двух частей: модуля ауте(-.,тификаuни и модуля шифрования. В е8ЮII с федеральными оrpаниtrениями на экспорт систем шифрования, проrp..1М\ld sendmail версии 8.10 использует только модуль аутентификаuии. Б наЧtt.1е 2000 r. оrpаничения были ослаблены, поэтому модуль шифроваиия, которыЙ изначально П'13НИРОвалось включ.ить В коммерчес"'')-"ю версию scndmail. СТ8.11 обшедоступе(-., u версии 8.11. Библиотеку CYnls SASL МОЖliО найти по следующему алресу: ftр://ftр.апdrе\v.СПJLI.еdll/рuЬ/сушs-таil Инструкuии по инста.rтляuин It настроик библиотеЮI сложноваты J..TJ)J понимания, поэтому мы советуем посетить \\'ebcTpaHIfUY Клауса ACCM;IH:I (Claus Assmann), посвяшенную пспользоваШIЮ SASL в проrpамме sendmail: hltp:/ /www .sепdПlаll.оrg/ са/етаil/ащll.ht тl Новый модуль шифрования описан в ДОk")'меите RFC1487 и реа:lllЗШI<1lI в Проrpзмме sendmail в пиде пополнения ST АRТТLS к протоколу S'1Tr 648 Чость 11. Робота в сеПl)( 
ПРОТQКОЛ TLS аналоrичен протоколу SSL, используемому мноrими WеЬуз лами. 19.12. Статиcrика, теcrирование и отладка 0' Проrpамма sendmail может собирать статистические панные о количестве и размере сообшений. которые она обрабатывает. Эти данные rp}1П1ируются по areHTaM доставки и отображаются комаипо mailstats. Опuия confSTATUS FILE в файле каталоrа ostype проrpаммы sendmail задает имя файла. в котором должиы сохраняться статистические данные. Если этот файл сушествует, автоматически ВI01ючвется ФУНКUJ.fя сбора учетной инфор мации. По умолчанию файл статисТ1П<И находится в каталоте jetcjmailjstatistics, но некоторые поставщики перемешают сто в kaTR-'юr jvar jlog/sendmail.st или jusrjlibjsendmail.st. Данные накапливаются в файле с момента ето создания. Поэтому, если необходима статистическая информзuия З3 определеl--IНЫЙ период времени, следует соответствуюшим образом проиниuиализировать этот файл из демона стоп. О Il0вториом uспОJlьзоейнuu журно.ЛЬНЫ"( фаiL108 рйсскйзывастся в t1apal рафе /1.1. Ниже приведеи образец статистических hal--Iны.. Чтобы пример помес ТJmся на странице, мы упалили первую (там указаl--IЫ номера атеНТО8 доставки) и последнюю (упаленные сообшения  она оказалась пустои) КОЛОI--IКИ. St.a.t.lst.ics from Wed Nov 17 00:56:30 1999 msgsfr О О 5З99 42449 byt.e:!l  from ок Ок 37455Р: З8З8ЛК msgst.o 2015 2 20 72885 bytesto 5З14К 4К 20К 450БЗ1К msgsrej О О 18 4207 Maler prog * file* local еsП!.t.р _-==<===<"","""","CII===--=",,,,,:s,,,,"......,,,,..,,,,.....,,,,=<=====<........-=......,,,,......=--,,,,.....co..====,,,,""''''''-= 47848 421292к 74922 4SS9б9К 4225 Показаl--IO пять значениЙ: число получеl--lНЬ1Х сооБЩС:Н1f'1 и их CYMMapHЫ объем (msgsfr, bY'tes from), число отправленных сообщений и НХ CYMMap I--IЫИ объем (msgst.o. bytes to). число OTK10heHI--IbIХ сообшеНИfl (тsgsre)). эти значеНИЯ относятся как к локальио, так и к ретраl--Iслируемой почте. т естиравание и отладка Конфиryраuия, основанная на применении препроuессора т4, в KaKoATO степени тестируется автоматичесКИ. Низкоуровневая отладка D основиом ие требуется. Е.п.инственное. что невозможно КОН11'ОЛ1iровать при ПОМQШИ флатов отладки,  это смысловые ошибки. В процессе подrотовКИ этой rлавы Jl,.fЫ обнаружили несколько полобноrо рола ошибок в конфиrypаuионныx файлах. и ноrда, к примеру, вызыR-'Iосьb средство без сопyrствуюшеrо ему макроса (в частности, активизировалось средство asquerade envelope, но не ВКJlЮЧaJIСЯ режим маскирования с помошью макроса МA5QUERADE AS). Или конфиryраuия проrpаммы sendman Не соответствовала настройкам брандмау эра, KOTOpЫ опрепелял, ка1о..'УЮ почту разрешается пропускать. Нельзя проектировать почтовую систему саму по себе. Ее I--Iеобхолимо соrласовать с имеюшимися DNSзаписями NS и настройками брандмауэра. r 11080 19. ЭЛSl(1"рОННОfl почТО 649 
СлеДУЮШ1tи npllMep ПО;l)чен с ПО1>ЮШЬЮ ПОЧТ080rо arellTa /usr/UСЬ/П1зil. Текст, набранный ПОЛУ'..кИРI-lыt.-1 шрифтом. вводится пользователем; OCTa-'lb ное  результаты работы nporpMMbl sendmail anehor 53\ ша1. y evi@xor.cODk SubJeet: juat teatinq. р1.е&.. J.gnor8 hi Се: ev@xor.com... Connect:ing to xor.com Vla esmtp_ 220 xor.com ESMTP Sendma!l 8.9.318.9.3; Fr. 26 Nov 199917:42:51 O/OQ (MsT) »> EHLO anchor.cs.coloradQ.eou 250xoc.coт He!lo anchor.cs.Co':"ocado.EDU L128.138.242.11. pleased 1::0 тее!:. you 2508B:TMlМE 250S!.ZE 5000000 250DSN 25QONEX 250ETRN 250xUSR 250 HELP »> t-IAIL coт: <ev@anchor. св .colorado .edu> S!ZE"---S1 250 <evi@anchor.C5.co!orado.eQll>... Sender о;:. »> RCP 'I'o:<evi@xor.corr.> 250 ....eV.i.@Xoc.com> .. Reclpient ok »> ОА'!'А 354 Enter rr.a.:.1. end .oath "." оп а l111е Ьу itself >>> 250 RAA00511 Message accept.ed for aelvery еv...@хоr.со[п... Беп!:. (R.ЦОО51 Messaqe accepted СОС delivery) Closlng connect":"on lo хое. com »> QUIT 221 хос  сот clos..Lng connectior1 Проrpаммз sепdшаil на КОМfТbютере anchor связалась с проrpаммой sendnaail на узле xor СОП1. Оба l<оt.fПыотер"" D IIpouecc-е об!\,.lеllа сообшеНИЯМI-f обшалнсь по IIрОТОКОЛУ FSM 'P Обмен данными по протоколу SMTP Б пронессе отладКJI ПОЧТО80Й СlIстемы tOжно НСПОС-реnСТEiСНlIO выполнять команды протокола SMTP. д-,я lanYt.:K8 SМТРсс.шса свяжитесь с IIOМОШЬЮ проrpзммы telnet с rCPnopToM 25 На JTOM порте про! pMMa SСlldПlаiJ работзс r на прием в режиме деlOl-Iа (bd). Некоторые SMTPKoMallllbI Ilриведены в табл. 19.19. В протоколе SMTP 8l.ero 14 КО\fi\IШ. ПОТОМУ ОН прост в изучеl--IJПI л примеНСIIlfIf. PerllL'Tp СIIМ8О1108 здесь I--Ie рюличается. ПОЛllая спеUИфltК3ШIЯ протш..О:Ii'I изложена в документе RJ=C821 (см. также RFC 1123). В ДOKYMHTax RFC1869. 1870, 1891 11 1985 ОЛllсано раСШllреНllе SMTP  IIрОТОКОЛ ESMTP. ЬОЛЫllИl--lСТВО траllспорпrых ю'еНтов. ИlJ1ючая sendnlail. nOllllMaeT и SM.IP, If ESMTP. Иск.lючеНlfе состанляет ЛИШЬ прOl-раММil SПlар. В протоколе ESMTP дltOtJlOr начинается комаl--IДОЙ [HLO. а не HELO. [СЛlt в отвеТ на эт)' команду ПРОТlIвоположная сторона 80зврашает ОК. то участники диалОlа обмеt-lива ютс-я информацией о поддерживаемы\: раСШlfрениях и ПРIf'\ОДЯТ к наимеllЬ шему 06шму знзмеllзтелю Если же 80нрашается сообшеllие оп ОШllбке. осушеСТliТIяется переход  протоколу Sf\-'1TP. r;IQИО 19 ЭлеКТРОlillОfl почто 651 
Тоблцо 19.19. комонды лротоколо SMTP ФуН . ИдСНП1фиuирует КО'I.fiIЪютер. устанав.j1Ивающий. соеди нение ПО протоколу SMTP Идентифиuирует компьютер. устанав.ливаlOШИЙ соеДI1 Jlе.lие по npOТOKO.'I)' ESMTP и НИUJ.fирует почтовую операuию (отправl1Тель конверте) KOМDHДO HELO lJ..WЯ  компьютера EHLO UМJIком"ьюmерQ MAIL From: оБРQтlllJl.ипуть RCPТ То; f1рямойI1J1ты VRFY адрес ИnеНТИфИШ1руСТ получателей конверта Провернет деЙСТВJo1ТСЛЬНОL"1Ъ апреса (Т.С. можно ли ПО НС'"1У доставить почту) Раскрывает псевдони.\.{bJ и соопетствия, 3адаННЫС в файле .forward DA т А Начинает тело сообшения 2 QUIT Завершает обмен и закрывает соешшсние RSET Сбрасывает состояние соеДl-шеЮНI HELP ВЫВОДИТ список SMTPКO"1aн.n I ДЛя одноro сообшсиия может быть несколько команд RC РТ 1 Тело завершается при вводе строки, состоншеЙ ИЗ одной точки EXPN адрес Реrиcrрация событий Для выдачи сообщений об ошибках и своем СОСтояНИи nporpaMM8 sепdmаil пользуется ус...1уrами системы Syslog. Сообшения реПIСТРИРУЮТСЯ от имени средства "mail" На уровнях от "debug" до "crit". Все сообшеиия помечаются строкой "sendmail"'. 0" Поdроб1tее о системе Syslog раССI{Qзывается в Z.'laee 1 J. Опция canfLOG LEVEL, зздаj-.Iная 8 командной строке И.1И в фай,е KO(-'lфиryраUИl1 t определяет уровень серьеЗ(-'IОСТИ, которЫЙ проrpЗММR sendmail бупет ИСПО"lьзовать как пороrовый уровень реrис11'ИЦИИ. Высокие пороrовые знач.ения соответствуют низким УРОВНЯМ серьезности и обеспечивают реrи страцию большеrо объема Иj-.lфОрМ8UНИ. Вспомните, что сообшения, реrистрируемые в системе Syslog на опреде ленном уровне, передаются также на 8се 8ышестоящие уровни. В файле jеtсjsyslоg.солf определяется, куда, 8 коние кониов. попадет каждое сообше ние. В табл. 19.20 показано приблизительное соответствие между уровняJ.i реrистраuии в nporpaMMe sелdmаil и уровняr-.ш серьезности Syslog. т аБЛlo1ца 19.20. Соотношение между пороrQвыии уровнми sendmoll и уровнями серьезности Syslog По-аr О l 2 3 4 5lO >Il у овни Без рсrяClpВUИИ "alcn" или "crit" "crit" "crr" J.iЛИ "wвmJПg" "notlce" "info" "debug" 652 Часть 11. Робото В сетях 
19.1 3. Почтовая система Postftx Проект Postfix начался в научноисследовательском llентре компаj-.IИИ IBM T.J.Watson Research Cen!er с лепой руки Бтса Бенема. РоstПх является альтернативой проrpаммс: sendmall. характс:ризуясь ТИХИМИ качествами, кик j-.lалежность, простота администрирования и (есть належна) безопасность. РоstПх  прямой конкурент nporpaMMbI qmail, разработанной Дэном Берн. стайном (Оan Bernslein). Целями создания системы PostfLX были политика oткpbПOro распространения, 8ЫСОХWl производительность, надежность. rиб- кость и безопасность. Вероятно. наиболее важным в системе Postfix ЯPJТяется ТО. что оНа функционирует практичесIOl автономно (простейший файл конфиryраuии содержит Bcero одну иml две СтрОIOl). Кроме TOro. с uелью эффективной ФилыраllЯИ почты используются реryлярные выражеj-.IИЯ, синтаксис которых основан на библиотеке PCRE (Perl CompatibIe Regular Expression). Это очень мошное средство, (-.10 усложненные реryЛЯР(-'IЫС выражения напомИНаЮт сшпаксис НИ3КОУРО8невоrо фаАла конфиryраuии nporpa\iMbI sendmall. Сис тема Postfix совмеСТИ\18 с проrpаммой sendmail в то\.! смысле. что файлы allases и .fonvard систеМbI Poslfix имеют тот же формат и ту же ceM8I-ПИКУ, что и ВНWlOrичные файлы nporpaMMbl sendmall. Система Postf1x понимает протокол ESMTP и имеет оrpаниченную поддержку протокола UUCP. Поддерживаются также вирryальныс помены и средства фильтраllИЯ спима. PoslfLx не имеет собственных средств персписы вания адресов, в отличие от проrраммы sendmBil. Вместо этоro используется таб:JИЧНЫЙ лонск в обычных файлах, бибmlотеК8Х ОБ и dbm, а также службах LOAP, NIS и :'oJеtlлfо. Архитектура системы Postflx Система РОSIПХ состоит из нескоЛЬКИХ j-.lебольших, 8заимодействуюших лрут с прутом проиессов, каждый из которых осуществляет свою функцию: отправляет сообшения в сеть. принимает сообшения, доставляет почту ПО ЛОJ(W1ЬНЫМ адресам и Т.Д. Взаимодействие между ПрОllесС8МИ осушествляется через uNIxcoKeTы иJlи через очереди. Такая архитектура сушественно отличается от архитектуры nporpaмMbl sendmail, в которой один большой прошсс выпо..'1няет все операuии. Система Poslfix использует четыре разные очереiIИ для осушествления почтовых операuий: Maildrop  сюда пользовательскИЙ атент ПО\rtешает исходяшие сообшения: . Iпсоmlпg  для входящей почты: . Acti\'e  резидеj-.Iтная очере1lb сообшений, находящихся в ПрОllессе доставки; . Deferred  почта, доставка которой бьеIа отложена. Менеджер очередей перемешает сообшсния между очередm.fИ. ПрН этом используется алrоритм KpyroBoro оБСЛУ'..кивания, заключающийся в баланси ровке очередей Incoming и Deferred и принятии решения относительно тото. какое сообшение в данный момент попадет в очерепь Active. Сообшения в очереди Active перед нача..,'lОМ обработки сортируются по пунктам назначения, так что. если j-.IССКОJ1ЪКО сообшений имеют обшеrо получателя, они MOryr быть переданы через одно ТСРсоединение. 653 rnOBo 19. Эпектронноя почто 
Чтобы не переrpужать узел. прннимающий сообшения. система Posrfix использует алrоритм медлениоrо старта ШlЯ КОНТРОЛЯ Toro, как быстро досrd.вляется почта. Отложенные сообшення полvчают отметку о времеllИ повторной попытки доставки, IIричем интервал между ПОllъrrкаМI-I ЭКСПОНеН UИa.JlЬНО увеличивается. чтобы ресурсы системы I--Ie 11'апU1ИСЪ 1--13 сообшения. которые, возможно, I--Ie удастся доставить. Наличие кзwа неДОСТУllНЫ\: адресатов позволяет избежать ненужных попыток поставки сообшеllИИ (::по аналоrиЧI-IО опuии HOST STATUS DIRECTORY проrpаммы sепdшаil). Безопасиость контрОЛируе-тся 1--1 а нескольких уровнях. Большинство Дe монои системы Pos(fix может запускаться в среде с и:меиеиным корневым Каталоrом. Демоны  это отпельные ПрОI-раммы, ие имеющие ОТИОШСI-IИЙ типа предок/потомок. Ни один ИЗ них не имеет устаНОW1снноrо бита SUID. Память ШlЯ строк и буферов выделяется динамически: длинные строки прелварительно разбиваются 1--13 части, а затем снова объединяются Разбивка необходима, чтобы ие вmникa.JlO переполнение буфера. Очередь Maildrop поступна для записи (ио I--Ie для чтеиия) всем ПОЛЬ30вателm.l. поэтому СlIстема POSLflx не НУ'.>Кдается в помоши доверенных пользовательских arel--ITOB. Наличие JC8талоra. oтxpbТToro для записи, пает определенные шансы хакерам, но система Postfix препотврашает БОЛЬШИl--lСТВО связанныx с ЭПI!l.I проблем. используя слеUИaJlЬНЫИ формат фаЙлов, 1--13ХОДЯШИХСЯ в очереЛIf. Система не пытается обрабатывать непрзвильные файлы ЕСJJИ у проrpзммы postdrop будет уcrанов:тен бит SGID, KaTa. r 1Or очереди J\.laildrop окажется поступеи для записи только rpуппе. Такая возможность была добавлена поп давлением Дэна ЬерНСТЗJfН3. активно отстзинавшеrо свою тоЧl<У JреНIfЯ п списке рассылки "bugtraq". Центральными частями системы POMfix являются rлавный пеМОl--I, запус каюш;ий остальных демонов, и файл Пl3!iitеr.сr, содержашиЙ ynрав..lJяющие I--l8стрОЙКИ и оrpаничеНIiЯ. Стандартные ycтal--IOBK файла masler.cr Приемлемы ШlЯ любых ситуаuи'И. кроме очень меШlенных или очеl--IЬ быстрых компьютеРОR или сетей. ОсобоЙ необхопи\IOСТИ в мопификашш этоrо файла нет. Дрyrой файл конфиrураuии. main.cr. содержит параметры марШРУТИJаuии и фll.'lЫ раШ-lИ сообшения. Файл main.cr heMl--lOrо Н3IIО\IИI--IЗет фзЙл scndmail.cr; фЗJ111 master.cr не имеет аналоrа 8 проrpамме sendmail, так как послепняя состоит из еДЮ.IИЧl--lOrо пеfOна. Ниже перечислен ряд утилит команДI.IOЙ СТРОКII. которые ПОЗIЮЛЯlOт пользователям взаимодеЙствовать с почтовои системой: postfix  запускает и останавпнвает почтовую систему (полжна выпол I--IЯТЬСЯ от имени пользователя root): post.alias  эквивалент команды пе\\!аliаsеs; postcat  отображает содержимое фая':IOВ, ваходяши'Хся в очереди; . postconr  отображает и редактирует содержимое фаила llIaill.cf; postdrop  добавляет сообшеНIIЯ в очередь I\1aildrop; . postkick, postlock, postlog  Rызываюrся нз командных СlIснарнсп, выполняя ФУI--IКШШ блокировки н ЖУРНi.UТЫIOЙ реп'/Стра, Шfll роstшар  строит таблиuы базы дзнных (3НaJlOrнчна команде makcl11ap.l: postsuper  упрвляет очереДЯМl-I (ны]ыиаеп:я Прll Шllуске системы) Конфиryрирование системы Postfix Б файле mail.cf можно задавать около СОТIIИ параметров. Большинство из них имеет ЛОПII.Jные УСТ3110ВКИ 110  МО!lчанию Язык коифиryрlfрования 654 Часть 11 Робото в сетя)( 
HeMHoro иапоминает последователыlOСТЬ операторов присваи ваиия интерпре татора Boume sllelJ. В приведенных ниже примерах мы иноrда СОПРОВОЖдаем операторы комментариями, в которьп: указывается эквивалентная KOHCтpYК uия проrpаммы sendmail. Эти комментарии расположены в коние строк конфиrypаиии и не являются частью операторов. Дrтя начала определим несколЬКО перемениых, которые понадобятся позднее. Перемеj-.IНая myhostname содержит имя компьютера Если оио ие ЯБJIЯется полностью опредеJ1енным. дополните ero вручную: myhostname '" имя.ххх.ууу Переменная mydomain содержит имя родительскоro домена для пере меj-.IИО"Й myhostname; система Poslfix ВЫЧИCJIяет ero путем удаления имени компьютера. Если резулътат получился иеправилъным, задайте домен caMO стоятельно: mydomai.n ,.. локальная  часть. домен Обе переменные, mуhоstпаmе и mydomairl, MOryт задавать виртуальные помены. Переменная mynetworks содержит список всех сетей, к которым ПОДЮlючеj-.1 компьюте.р. ВЮlючая интерфейс обраТНОfl С8ЯЗИ. Например: mynetworks "" 128.138.2-43.6-4/26, 127.0.0.0/8 Система Postfix понимает сетевые адреса в С[DRнотаuии. Перемеj-.IН8Я inet interfac,=:s опрепеляет интерфейсы. прослушиваемы-е системой Post fix (по умолчанию это все активные интерфейсы). Необходимо изменить стандартное значение паиной переменной. еслИ используютСЯ виртуальные домены. В случае самой простой конфитураuяи требуется сконфитурировать только 11'и переменные: myorlgin. mydestinatlon и notify classes. Перемеj-.Iная mуоriglП определяет, какой домен будет использоватьсЯ мя исходящей почты. Она ]здается сле.дуюшим образом: myorigH1  $mуhоstлаmе myorigiп "'" 5mydomain иаI1ОМУ'.нае'!' маскироаание в npoI'pauмe sendmail Переменная mydestination определяет домены, НЛЯ которых бупет приниматься вхопящая почта. Она аналоrична среДСТВУ use cw file про rpaMMbl sendmail и может содержать список имен компьютеров. имя домена. имя файла I-U1И спеиификаuию табличноrо поиска. Например: mydest.l.nation ,.. $myhostna.me localhosL.$mydomain mydesclnaLion '" $myhostname localhost..$mydomain ЭI'Пуdоmаi.п myde5t.nat:lon  letc/maili localhestnames ПеремеllНая ПQtlfу ::lasses определяет. о каких проблема\ следует ставить визвестиость по'повоrо администратора (полыователь роslП1astеr). По умолчанию устаН3fЫl1ваются Т(j,кие параметры: not.ifycla5se5 ,.. resource, soft.ware в данном случае реrистрируются только ошибкн. касающиеся проблем с ресурсами и проблем проrpаммноrо обеспечения Poslfix. В табл. 19.21 показзиы возможные классы. rЛО80 19. Элеl(ТрОННОЯ почто 655 
Таблица 19.21. Возможные зночения переменной notifyclasses Кnoc, ... bounce 2bounce delay po11cy protocol resource Тип ошибок Нелостамснныс сообшеНИJl (ТOjJbKO ззrОJJОВОК) Двойной отказ (сообwснис об отказе тоже не может быть достав.Т]сно) Сообшенис задержано в очереди (только заrоловок) Отк.аз ОТ спвмв (ВЮlючвет SМТРрасШ11фрОВК)') Ошибки протокода (включвет SМТРрасшифровку) Проблемы с pecypCBMIo1 (например. сбоЙ' при записи в ОЧС:РС:ДЬ. персполнсние фаЙJIОВОJ.\ системы) ВнYf"Pенние ошибки Postfix soft.ware Postlix нмеет опции ynравления р"'урсами, которые используются лоч товой системой также для реryляцни трафика. Система Postfu: имеет оrpаничениые возможности перезаписи адресов. Например, она может . преобразавывать perHcтpaUHoHHblC нмена в адреса формата имя.фа.иилuя; . заnрешать направленную маршрyrизаuию; . преобразовывать UUCPaдpeca в доменный формат; . запрещать "npoueHTHbIe" адреса; е добавлять к адресам лока.'1ьные домены д,lЯ получения полностьЮ определенных имен. Маскирование адресов тоже поддерживается, но не в столь мноrих формах, как в nporpBMMe sendmall. Соответствне внртуальным адресам ншетс:я путем табличноrо понска, подобно nporpaMMe seBdmBil. Переадресацня осуществляется с помощью сnеuнальной таблиuы (переменная relo cated rnaps). Поддерживаются файлы aJiases н .rorward raKoro же формата, как и в sendmall. Имеется даже вналоr средства luser relay для обработки сообщений типа "user unknown".  Ретрансляция отк.1ючена по умолчанию, но начальное поведение системы HeMHoro отличается от TBKOBoro в nporpaMMe sendmall. Последняя по умолчанию вообше не вьшолняет ретрансляuию, Torna как система Postfix осуществляет ретрансляuию почты для локальных доменов. подчиненных доменов и сетей класса А. В или С. Борьба со сп омом Для фильтрации спама система Postfix применяет реry1ярные выражения. таб.,иuы баз данных н "черные" слискн проекта MAPS. В табл. 19.22 представлены некоторые nepeMeHHbIe Postfix, имеющие отношенне к cnaMY. Если для сообшения найдено соответствие в таблиuе поиска н запись таблиuы содержит значение REJECT. то сообшение отк.,10НЯется н ВhJДается соответствуюшее уведомление об ошибке. Если среди наших читателей есть perlxaKepы. приведем д,lЯ них пример реrулярноrо выражения, исnользуемоrо в спамфильтра'( одноrо Vv'еЬузла: ''''friend@. .$/ 550 Stick this iл yoиr ppe SO Если в домене действительно имеется пользователь rriend, можно исключить ero из проверки: /"friend@ С? !mysi te. сот) . "'$/ 550 Stick this in your pipe $0 656 Уость 11 Робота в ceTX 
Табпица 19.22. Переменные системы PostfiX, связонные с ФИЛ ЬТРОUloolей спомо Перемвнноя Нозночение heacierchecks Фильтрация зaroловков smtpcic11entrestrictions Фильтрa.uия КJDIсн.тских соединений, "чер иых" сnисхов и т.д. smtpd  helo  rеВtriсtiопs 8mtpd etrnrestrictionll Фильтрация адреСО8 отправителей Фильтрация адресов получателей дм и.аеНТИфИJUШIOl. имени кои.л:ьютерв требу отея SMTPKOMaндa HELO Требуется обратный DNSпоиск Содержит СМСОК хомnъютеров. имеюших дoc туп К очереди !lmtpci 8ender  restrictionll smtpd  rесiрiепt.  rеstriсtiОП8 8mtpcihelo.required Чтобы ЛОllКЛючить "черные" списки проекта MAPS, добавъте в свой файл maln.cf слсдуюшие строки: map9 rbl dоmlnз '"' -;bl.map!l.v!.x. com dul. тарз. v:;.x. com relaY5. mailаЬuзе. org 9mtpdc11entre8triction8 - rejectmap8rbl Примеры конфиryрИрОВQНИЯ системы Postflx Посколъку наш опыт рвБO'l'bl с системой Postfix roрвздо более скромен, чем с проrpаммой sendmaU, мы попросили Витса Венеми предоставить нам примеры. Каталоr conf дистрибутива Posttix твюкс содержит ряд лримеров. В среде "почтовый кониентратор  ютиенты" все системы посылают поЧl)' от имени tJО/lьзовотель@домен и принимают почту на имя пользова- телЬ@КО,Мllыотер. Кониентратор принимает почту на имя 110лыоватеЛl./iРоомеu. На клиентском компъклере файл /etc/postf1x/maln.cf будет содержать следующее: myoriqin -- Smyciomllin На почтовом кoнueHTpaTope файл /еlс/роstПх/mаlп.сf выrлядит так: myoriq!n - Smyciomllin myde:!lr.ination - Smyhostname, localho:!lt. Smydom1nl $mydomв.in эту конфиryрацию можно МОДИфНURpоватъ такиМ образом, чтобы рабочая станuия Не принимала поЧl)' из сети I а ретранслировала ее через почтовый KoнueнтpaTOp. Для этоrо следует изменитъ как файл maln.cf, так и файл rnaster .cr. В случае клИента файл /etc/poslfix/maln.cf будет таким: myoriq1n "" Smydoma.in relayho9t .. Smydomain На клиентской системе необходим-о также превратить в комментарий строку выоваa SMTPccpвcpa в файле /etc/poslfix/master_cf: 'smtp inet. n smtpd Если каталоr очереди экспортируется через NFS К клиентам, им будет нужен только почтовый аrею системы PostfL'< и фаЙЛbl mаiП.сf и master.cf нулевой ДnИНЫ rлово 19. Электронная почто 657 
Ниже показаи npимер, в котором отдельные компьютеры обрабатывают КаК ВХОдяшylO, так И исходящую почту, но сообщения в формате BITNET или UUCP пересьтаются на rлавный компьютер. - Конфиryраuия почтовоrо кониентратора такова: myor1qin  Smydomain mydestination == Smyhostname. localhost. Smydomain. Srnydorna.in transport  тарз "" hash: /еtс/роstfiх/trалsроrt Клиенты используют приведенную ниже конфитураuию; myoriqin ... 5mydomain transportmaps == hash: /etc/postfix/transport Как на rлавном компьютере, так и на компьютерах клиеmов файл /etc/postlix/transport должен содержать следующее: .bitnet smtp:master . uucp sm-r.p:master 19.14. Рекомендуемая литература . COSlales. Bryan and Eric АНтал. sendmail. 2nd Edi/iofl Sebas!opol, СА: O'Reilly. 1997. Данная книra  объемный труд размером в ] 000 страниu. Она представляет собой Не талъко очень полный справочник. но и учебник. эту книту можно чmать в режиме случайноrо просмотра страниц, что, На наш взrляд. является очень важныМ достоинством тобоrо справочника. И меется также хороuшй предметный указатель. . Avo\io, Frederick М. and Paul А. Vixie. Sefldmail Тlieory afld Prac/ice. Digilal Press. 1995. В этой книre больше рассказывается о том, зачем и как применятъ протрамму sendrnai1, тоrда как книrз Косталеса/Оrurмана больше посвя щена описанию Toro, что такое sелdrnаil. . Clayton, Richard. "Good Praclice for Combating Unsolici!ed Bulk Emai\." RIPE/Dcmon \nlerne!. 2000. h!lр://www.riре.леl/riре/dосs/riре206.hlml ЭтОТ ресурс будет полезен лровайдерам In!emel. . Schwanz, Alan and Paula FеIgUSОП. Maflagll1g Mailiflg Lis/,'. O'ReiUy. \998- Эта книrа является хорошим справочником по спискам рассылки. Арrументы комаНдной строки nporpaMMbJ sendmail описаны на nосвящен ной ей mапстраниuе. Обзор можно найти в книrе Эрика Оллмана SetJdтai/: АI1 lтeme1Work A-fail Rouccr. Инстрyкuии по инстa..rтяuии И хорошее описание файла конфитураuии приведены в докумете Sel1drtJail IlIslallatioп al1d Operatioп Guide, КОТОРЫЙ нахО1IИтся 8 ката..'юre doc/op дистрибутива sendrnail. Этот документ довольно полон и в сочетании с файлом cf/README даст хорошее представление о том, что такое sendrnail. В документе RFC822 описаН синтаксис сообшений и адресов в сетеВОЙ почтовой системе, а в документе RFC 1113 изложены требования к компью терам. В некотором смысле эти документы представляют собой ФУНКllИО н8Льные сnеuификаuии. в соответствии с которыми построена nporpaMMa sendrnail. В документе RFC82 \ описан протокол SMTP. а в до>:ументах RFC1869, 1870, \891 и 1985  протокол ESMTP. 658 ЧОСТЬ 11 Робото в сет,"х 
в документе RFC974 описаны заmfСН МХ службы DNS и нх связь С механизмом марШр}ТИЗЗllИИ почты. Среди прочих документов RFC. посвяшеннЪ1Х электронной почте, укажем следующие: . RFC 1891  1 894  коды состояння доставки; RFCI985  удаленная обработка очередей; RFС20ЗЗ  протокол LMTP; RFC2034  коды ошибок SMTP; RFC2045  расширения MIME; RFC2476  сnеuификаuия areHTa доставки почты; RFC2487  безопасный трафик SMTP поверх TLS; RFC2554  SМТРаутентификаuия. Документацию и информацию о системе Posttix можно найти на WеЬузле www.porcupine.org. 
20 Управление сетями Поскольку при объединеJПfИ компьютеров в сеть число СВЯЗеЙ между машинами увеличивается. то при этом, как правило. усyryбляются псе иМевшиеся ранее проблемы. Как rО80рЯ'Т, "работа в сети  это KornB вы не можете вьmолнить свое задаНие изза отказа компьютера, о котором никоrда Не слышали". Управление сеТЯМИ  это, прежде Bcero, ис....'УссТВО и наука nредотвра шения их разрушения. Сюда обычно входят С.педующие задачи: . поиск неисправностей в сетях, UU1юзах и важных серверах; . разработка схем уведомления администратора о наличии nроб.'1ем; . общий МQНИТОРИнr сети с uелью распределения наrpузки в ней и планирования ее далънейшеrо расширения; . документирование и 8изуа.rrИЗВllИЯ работы сети; . уnрав..Т'/ение сетевыми устройствами с uентра.пьной станuии. В отдельной сети Ethemer формальные процедуры управления сетью внедрять, как правило. не стоит. Достаточно провести тшате.1ьное тестиро вание сети после ее проклanки и время от времени проверять уровень наrpузки. СЛО'fвется  почините. По мере роста сети npouenvpbI упраR.1ения должны становиться более систематизированными. В сети, [де несколько подсетей объединяются посредством мостов или маршр}тнзаrоров. решение управленческих задач можно автоматизировать с nомошью командных сuенариев и просrейшнх проrpамм. Если в орrанизаuии задействованы протоколы rлобальных сетеЙ ИЛИ сложные ЛБС. рассмотрите вопрос приобретения вы;{еленных стаНllИЙ управления сеТЬЮ со спеUИ3..1ЬНЫ\i nporpat.lfHbIM обеспечением. Б некоторых случаях усложнен не системы управления сетью объясняется потребностью в обеспечении ее надежности Во мнотнх орraНlfзаuиях бывает так, что возникновение проб'1емы в сети прнводит к остановке абсолютно 660 Чость 11 Работо 8 сетях 
всей деятельности. Если подобные задержки неДОПУС'J1.fМЫ, лучше приобрести и установить высококлассную корпоративную систему управления сетью. К сожалению. даже самая лучшая система не Поможет предупредить все проблемы. Важно иметь хорошо документированную схему сети и 8ЫCoKO КБЗЛифиuированный обслуживаюший персоиал, способный справляться с неизбежными крахами. 20.1. ПОlo1ск неlo1спровноcrей в сетях Существуe-r несколько хороших инструментов, позВОЛЯЮЩИХ искать неисправности в сети на уровне TCP/IP. Большинство эти]( средств выдает низкоуровневую информаuию. поэтому wтя Toro чтобы пользоваться ими. нужно понимать лринuипы работы лротоколов TCP/IP н маршрутзаUИIf. С друrой стороиы. источником сетевых проблем MOryr служить и ошибки в работе таких высокоуровневых лротоколов, как DNS, NFS и НТТР Прежде чем приступать к изучению данноЙ rла8Ы, мы рекомендовали бы вам еше раз просмотреть содержимое r.J18B 13 и 14. В этом параrpафе мы рассмотрим общую стратеrnю поиска неисправно стей, после чеro перейдем к знакомству с основны",fИ средствами таковото: командами ping. traceroute. netstat, tcpdump и sпоор КОМaJЩа arp, которая также предназН3 L lена для поиска неисправностей в сети. здесь не описывается; так как О ней rоворилось в лара.-рафе 13.6. Korna в сети возникает неисправность, первым желанием часто оказы вается желаи"ие побыстрее все устранить. Остановитесъ! Важно сделать паузу и обдумать возможные способы решения проблемы, а не предпринимать необдуманные действия. Наибольшая ошибка заЮlючается во внесении в неисправную сеть неuелесообразных изменений. П режn:е чем "атаковать" собственную сеть. примите во вн.и..мание следуюшие рекомендаuии. Вносите пошаrовые изменения в конфиrypаuию и выполняйте проверку работоспособности сети после каждоrо изменения, чтобы убедиться в совпадении nштученноrо эффекта с ожидаемы.. . Задокументируйте возникшую ситуаllИЮ и все вносимые изменения. . Начните с "края" систеМЫ или сети и продвиrайтесь по ключевым ее компонентам, пока не доберетесь до ИСТОЧIOlка неисправности. Налример. сначала исследуйте сетевую конфиryрauию Ю1иеtпа. затем проверьте физическое соединение клиента с сетевым оборудованием, само сетевое оборудование и. наконеи. аппаратные сетевые средства сервера и ето про.-раммную конфиryраuию. . Реryлярно обментвайтесь мненИеМ с сотрудниками. БОlfЬшая часть сетевых проблем касается мноrиx людей: пользователей, провайдеров, системных администраторов, инженеров по телекоммуникациям. сетевых администраторов и т.д. Постоянный контакт позвоmп вам не ...,ешать друr друсу прн решении лроблемы. . Работайте в команде. Мноrолетний опыт показывает, что люди совершают меньше .пураuких ошибок. если им оказывают ПОД!I.срЖК)'. . Помните о мноrоуровневой структуре сетевых средств. Начните с BepxHero или нижнеrо уровня и последовательно nродвиrайтесь по стеку протоко лов. проверяя работу nporpaMMHblX и аппаратных компонентов. Последнюю рекомендацию следует рассмотреть несколько подробнее. Как указывзлось в параrpафе 13.2, в архитектуре TCP/IP олисываются уровни r лово 20. Управление сетями 661 
абстракuии. на которых Ф111.аШОНIfРУЮТ р:dlПИЧJlЫС КШ,Н'lOненТЫ сети. H. пример, протокол Н1ТР теснО связан с протоколом ТСР, которыи. В свою очерель. основан на протоколе 'Р, а последний взаи\-tQдействует с ПрОТОКОJlОМ Ethemet, работоспособность KOToporo зависит от иеЛОСТНОСТl-1 ceTeBoro кабеля. Можно сушественно уменышrrь Время поиска неltсправности. если прС'шш рительно разобраться, средства K3Kot.O уровня ведут себя неправильно. Прохоля стек ПрОТОКОЛО8 уровень lа ypoElHeM (вверх или ВIНП). JадЗRайте себе вопросы, подобные слеl(УЮШИМ. . Есть ml физическое соеЛlIнение 11 светится 'Ш l-fнnlfК3ТОР связи? Правильно "lJ' сконфшурирован сетевоЙ интерфейс? Правильно ли настроены парЗ'\tетры DNS,.!8 Отображаются ли в таБЛИ1l3Х маРШРУТIIЗ311IlИ иыенз друrих компыотероп'.' . Находит т' комаНда рiлg пока.тТЫ1ЫЙ компьютер (127.0.0.1 )'.) На.хo.nит ли команда ping др}тие компьютеры в ..тrока,чьно-й ceТlt по IРздресам? Находит ЛИ коa..t8и.да ping дрyrие коt.mьютеры в .'10Ка.тьноН сепt по "\-1енам! Нахошп ли команда ping компьютеры, находяuщеся в др}той сетн? Работают ли высокоуровневые сетевые команпы, в частности telllct IНИ ssh? ОпредеlИВ. Ila каком уровне [ЮЗI--1ИК.lет проблема, не спеШlпе преЛIТРII' нимать kaKl-fелибо пеf1ствня Попумаl1те, KilK отраlЯТСЯ пос:rеДУlOшие IIpO верки и вносимые измеl--1еНJlЯ ШI лрутих сетевых сервисах i компьютерах. 20.2. Команда ping: проверка доступности компьютера Команда ping улнвитеJТЬНО простз. Она посылает lCMPnaKeT ECHO RE QUEST конкретному компьютеру и ждет ответа. Несмотря на СНОIO ПрОСТОl)', команда ping стала одним из основных инструментов. ИСIIОJJЬJУIOШН,\СЯ Тlpl1 отладке сетей. Команду ping можно при менять ДТIЯ проверЮf раБОТОСlтосоБносТН от.nепь ных компьютеров н сеrМСIПОВ сетя. В обработке ее ]прос У'laСТИУЮl табшщы М:dРШРУТИЗЗllИИ. фИ.3lt\IССКШ: KOJ\.НlOlleHTbI сетеЙ 11 сетевые шлюзы. ПО:JТОМ) lI!IЯ лостижеНIIЯ ПОЛОЖI1ТСЛЫlOfО РСЗУЛЬПlта сеть ДШТЖllil быть (8 БО.lьшей КIИ меньшеЙ мере) в раБОЧС'1 состояниИ [СЛII не работает команла. моЖНО быть соuершенно BepCHHЫM в rO\1. 'по более СЛОЖlые сре.'1ства н ПОДtl.Вl1O не станут ФУНКUИOl-ШРОВ;1Ть. Олнако это правшlO lIellpltMelfllMO в сетях, rne бранлмаузры б'ТОКltр)lОТ 1ХО1апросы ICMP Прежде чем Iрешитъ на 10НЛИ РУС"-IЫЙ КО\'lПьютер. который якобы нrllорирует КО\lЗНДУ, бедlпесь. что ее работе IIC ПрСllятствует брандмз\'!")р В коние кониов. отклюtПfТе на короткое 8ремя вмешиВ<:iIOШИ-ЙСЯ не в свои де:IЗ брандмауэр ff проверые рбото(,по собности сети. Команда ping поддерживается 80 8се'\: системах. БОЛЬШIIНСТВО вереИII команльr работает в бесконечном иИКilе. ес.JИ не зanн apr)'MeHT "чис..l0 пакетов". Команда pillg s И Solari flЬЫ_Olет р;;!сшнрснную НllформаЩ1Ю. которая в ДР}ТI1Х onepal1ll0ТlТlbIX системах t.:ОООШ.lется 110 умолчанию. Чтобы прервать ВЫПОJlllение к-оман.nы, Нd:;ю...IIПС <CtrlC:; Е..:ли КQМПЬЮТ'еР 'JaI']Jужается OleНb МСJL1СI-ШО, З<lВИL:зсr ПрlI заllJУЗКС IV1И IIОlле ПОIIЫТКII УСТ311ОВ'П.Ь связь посре.nством nporpaMMbl tешеt. всроятнее всею. СIУА\ба DNS ФУНКUИOl-ТII руе (' неверно. 662 ЧОСТЬ 11 Робото в сетях 
Вот пример работы команды: 11 png' be...t PING be.ast (10.1.1.46): 56 d.ata bytes 64 Ьу1:.ев from 10.].1.46: icmpseq-=O tt1""255 t.i.me""0.80B тз 6.4J bytes from 10.].1.46: icmpseq""1 tt1.""255 time=-Q.400 тз 64 bytes from 10.1.1.46: icmpseq""2 1:.t1=-255 1:.ime""0.З90 'с  Ьеав!:. png star.istics  3 packets 1:.ransmitted, 3 packets received, 0\ packet 105З roundtrip min/avq/max/stddev "" 0.З90/0.5ЗЗ/О.808/0.195 ms и нформация о Kor..mLIoтepe beast включает ero 1 Paдpec, порядковый номер КМРпакета н время лолноrо обхода (время. затраченное на прохождение пакета к пун.....'Ту назначения и обратно). Такая информаuия, очевидно, СВИдетельствует о том. что компьютер beast работает и подключен к сети. В HOpM3..'lbHO функuионируюшей сети команда ping позволяет выяснить, Включен коr..mьютер I01И нет. ЕCJПf же точно известно, что зондируемый компьютер ВIOlючен и работает корректно, то с помошъю панной команды можно получить полезную информацию о состоянm1 сети Пакеты. отправ ляемые командой ping. как и любые дрyrnе пакеты, маршруrизируются средствами протокола 1 Р. и успешное получение TaKoro пакета после завершения им кpyroвoro маршрута свидетельствует о том, что все компо неlПЫ сети между источником и приемником пзкета функuионируют правильно, хотя бы в первом приближении. Порядковый номер IСМРпакета  особенно полезный элемент инфор маllИИ. Несмотря на то. что протокол IР не rарантирует достаВКИ пакетон, пакеты будут пропадать только в том случае, если сеть чересчур заrpужена. Потерю пакетов НУЖНО обязательно выявлять, потому что этот факт иноrД<l маскируется протоколами более BLICOKoro УРОВНЯ. Может показаться, 'по сеть Функuнонирует нормально, но на самом деле она работает rораздо медЛеннее, чем должна,  не только ИЗlа повторной переда1lJi пакетов, но также изза "наЮIanных расходов", требуемых для ВЫЯWlения и обработки пропавших пакетов соответствующими протоколами. Если не все пакеты доходят до адресата, запустите nporpaMM}' tracerOUle (описана в следуюшем параrpафе), с тем чтобы выяснить маршрут, по которому пакеты следуют к комnьютеруадресату. Затем посредством команды ping проверые все промежуточные шлюзы, через которые пролеraет марШр}7, и узнайте, на каком этапе теряются пакеты. Чтобы точно диаrностировать проблему, следует отправить такое количество пакетов, которое позволит получить статистически достоверные результаты. С достаточной степенью вероятности можно утверждать, что неисправность булет найдена на участке между ПоследНИМ шлюзом, для KOToporo количество потерянных пакетов не бо.пьше некоторой заданной величины, и шлюзом, при обрашении к которому количество потерянных пакетов превътшает эту величину. Время nолноrо обхода. сообшаемое командой ping, дает пре,nставленис об обшей скорости передачи n3KCT3 по сети. Колебания этоrо значения, как правило, не являются признаком nроблем. Иноrдз lIакеты запсрЖliВaJОТСЯ 113 десятки и сотни миллисекуд без какоилибо очевидной причины  просто так работают протокол IP и сама ОС UNIX. Но всетаки следует ожидать. что время полноro обхода МЯ большинства пакетOl будет nостояннЫt, за некоторыми ИСЮIючениями. Большинство современных маршрутнзаторов r лов о 20. Упровлеlие сетями 663 
обеспечивает выдачу ответов на IСМРзапросы с оrpаничея-иями по скорости. т.е. маршрутизатор может 'Задержать ответ на пакет команды ping в связи с общим оrpаничением трафика лротокола ICMP. КомаНда ping позволяет задавать размер посылаемоrо эхопакета. [С"lИ передается пакет, штина Koтoporo преВЪПllает максимальнО допустимое для данной сети значение (в частностИ. 1500 байтов в сетИ Erhemel). вюночается принудительная фраrментзuия. Это позволяет выяв.тlЯТЬ ошибки перел.ачи данных в самом носителе и лруrие низкоуровневые оurиБЮi, например проблемы. связаНные с переrpузкой сети АТМ. .e14f.{h. R Solaris и HPUX нужная длина пакета указывается в KOНUC -команды W рlПg: '" pl0g culn:fo. corn.ll. ed.u 1500 9 в Red На, Linux и FreeBSD штина nакета в батах задаетсв фпаrо," s_ Так как слиШКоМ большие пакеты MorYT вызвать проблемы в сети, во FreeBSD эту оПUИЮ можеТ указывать только ПОЛЬЗО8аТе.:ть root. t ping . 1500 cu.1n:fo. cornell.edu При работе с КомандоЙ ping С!lедует придерживаться слелуюши'\: оrрани чений. Вопервых, сложно отличить неисправность сети 01 неllспраИНОСТli сервера, поль.зуясь только этой командой. Сообщение команды ping о потере пакетов rоворит лншь о том. что каКОЙI1'1О к.О.ШJOнеНJ1J работает непраfШЛЬНО Boвтopыx. команда рiпg не позволяет получить информаиию о состоянии исследуемоrо Коt..lпьютера. Эхозапросы обрабатываются в стеке протокола lP и не требуют. чтобы на зондируемом компьютере 8ЫПОЛНЯЛСЯ серверный npouecc. Наличие ответа служит rарантией лишь Toro, что компьютер включен н ядро системы функuионирт_ для проверкн работы отдельных служб, таких как нттр и DNS. следует применять высокоуровневые средства. 20.3. Проrрамма traceroute: отслеживание IРпакетов Проrpамма traceroute. которую написал Ван ДжеЙкобсон (Van JacobsQl1). ПО)ВQпяет уcrановить ПОС.!Iедовательность шлюзов. через которые проходит IPnaKeт на пути к ПУНК1У CBoero назначенИЯ. Почти нсе совр('менные операционные системы содержат ту иJrn ИН)lО верста даннои проrpа"-IМЫ. Синтаксис ее вызова таков: traceroute ИМЯ .кОUl1ьютера у этоЙ проrpаммы очень MHoro опuий, болъшинство ИЗ которых В ПОВССШ:lевной работе не применяется. Как обычно, 1l.\{Яk:VМl1ыотера может быть задано в СИf'.шол-ической или ЧИС,,10ВОЙ форме. ВЫХОдная ИНфОрМ8UИЯ  это СПИСОК }злов начиная с nep80ro шлюза и заканчивая rтункто?t.1 назнtI(lеННR. Например, на нашем компьютере j8guar команда traceroute drc\'il дает следуюшие результаты % trac.rou t. d.r.v.11 tracerOU'L.e to drevil (192.225.55.lЗ7), зо hops r.;ax, за 0Y'L.e paceLs 1 xorgw2 (192.108.21.254) 0.8J1,O c\s 0.693 ::-.5 0.611 п:s в 1998 r. была ссут"стал"на атака Рiлg оУ Dea,b (буквально  "свист проносящейся смерти"), которая вызвала крах мноrиx систем UNLX и Windows. Зак.lюча.,ась она в том, что ПОСbIЛa.JIИСЬ очень дл.инные рl.ngпакеты. сборка которых на компьютереполучателе приводила к переполнснию буфера 11 "'-Рах} системы. 664 Часть 11. Робото в ceTflX 
xor9w4 (192.225.56.10) 4.642 тз 4.582 тз 4.614 тз drevil (192.225.55.137) 1.959 тз 5.9,j,19 ms 5.908 тз o Эта информаuия rоворит о том. что для попадания с компьютера jaguar на компьютер drevil пакеты должны пройти два наших инyrpенних шлюза. Кроце Toro. показано время полноrо обхода для каждоro шлюза  проведено по три замера. Обычно количество переходов от олноrо узла Intemet к дрyrому составляет от 10110 12 Проrpамма traceroute осушеСТВJ1яет запись искусственно З8ниженноrо значения в поле nL (Time То Live  время жизни, или пределъное число переходов) исходящеrо пакета Korlla пакет приходит на очередной ШЛюз. ero значение nL уменьшается на единиuy. Если UL'1ЮЗ обнаруживает, ЧТО значение nL стало равным нулю. он удаляет пакет и возвращает узлуот правителю специальное IСМРсообщение. Дпя первых нескоЛЬКИХ пакетов лроrpамма traceroute задает lначение nL равным 1. Первый же шлюз, получивший пакет (8 нашем примере ЭТО xorgw2), обнаруживает, ЧТо ero время жизни истеюlО. Тоrда он отбрасьmает пакет и посылает компьютеру jaguar IСМРсообшение, в поле отправителя Koтoporo указывается 1 Ралрес шлюза. Проrpамма traceroute обрашается )( службе DNS и ПО имеюшемуся адресу находит имя шлюза. Информация о пoиce имен в DNS приведена в параzрафе 16.11 (раздел. посвященный записям PTR). Для получения ланных о следуюшс:м шлюзе посылается очередная [руппа пакетов. поле nL которых равно 2. Первый шлюз маршрутизирует ЭТИ пакеты и уменьшает значение nL на единиuy. Второй шлюз удаляет пакеты и rенерирует оrтисанное выше IСМРсообшеиие. Этот проuесс продолжается до тех пор. пока пакетЫ не достиrнyr требуемоrо компьютера; значение lIL при этом будет равно ЧИСЛУ переходов. Большинстпо м;]ршризаТорОEl посылает свои IСМРсообшения через тот ИI-IТерфеt'lс. 1<0ТОрЫИ является "б.1lIпкайшим" к узлуотправителю. Если. наоборот. запустип. nporpaMMY traceroute на машинеполучателе. tlтобы узнать ,\fЗРШРУТ 1( IICXOHHOMY компьютеру. то. скорее Bcero. будет вылан друrой список I PaдpeCOB. соответствуюший тому же набору маршрутизаторов. Проrpзмма traceroute посылает для каждоro значенИя nL три пзкетil, ЧТО IfHOrll<l приволит к неожид.анным pc-зультаТЗfo.l. Если промежvrочный шлю] распределяет трафllК по нсскольким маршрутам, то эти пакеты MOryт возврашаться разными компьютерами. В таком СJ1учае nporpaMM3 traceroute сообшает обо 8сех полученных ответах rассмотрим НН7ересный Прlfмер. в котором посредством проrpзммы traceroute определяется маршрут с компьютера в домене colorado.cdu к домену хоr.соЛ1. rupert5berg% tritc4ilrout. xor. саш r.raceroute: Warnng: xor . сот has multip1e аddrеsзеs; usinq 192.225.33.1 lа-:'еrОUrе ro XOI:.COffi (192.225.33.1), 30 hops max, 40 byte packets cs---qwЗfасult.у.сз.соl0rаdo.edu (128.138.236.3) 1.362 ffi5 2.1,j,14 ms 2.76 ms c5gwdmk.cs.colocado.edu (128.138.243.193) 2.720 ms ,j,1.З78 ms 5.052 (1'1.5 enqrcs.Coorado.EDU (128.138.80.141) 5.587 тз 2.54 ms 2.773:nз 4 hurеllса-.Со1оI:оdо.ЕDU (128.138.80.201) 2.743 ms 5.643 шs 2.772 ms 'J. cuatrr.qw.Co1crado.EDU (128.138.80.2) 5.587 тв 2.784 тз 2.771 тз 2О4.13-1.62.6 1200:1.131.62.6) 5.585 тз 3.464 тз 2.761 тз borderfrar.\BRAN.coop.net. (199.,j,15.134.81) 5.593 ms 6.43Э ms 5.521 ms core9...'eth2S.coop.nel: (199.45.137.HI) 53.806 mз * 19.202 тз xar.com (192.225.33.1) 16.838 mз 15.972 rns 11.204 тз r ЛОВО 20 Упровление сет,"ми 665 
Мы ВИДИ"'f, что пакеты. прежде чем покинyn.ДОМСН colorado.edu, ПрОХО.!IЯ т ПЯТЬ внутренних шлюзов (от csgw]faculty до cuatmgw). На следуюшем переходе пакеты попадают в шлюз с мресом 204.131.62.6, который не имеет DNSимени. Затем, после двух переходов в домене coop.net, они оказываются в домене xor.com. На восьмом переходе вместо одноrо из знвчений времени обхода отображается звездочка. Это означает, что На какойто из отправленных пакетов не был получен ответ. Такая ситуация может быть вызвана переrpузкой сети, но это не единственное возможное объяснение. Проrpамма traceroute использует низкоприоритетные Iсмрпакеты. которые отбрасыва ются мноrими маршрутизаторами. отдаюшими предпочтение "'реальному" трафику 1l0явление нескоЛьких звездочек 8 выводе прОrp3ммы traceroute не является причиной lU1Я беспокойства. ЕCJrn для KOHKpeтнoro шлюза отображаются все три звездоl.fКИ, зто означает, что от Hero не было получено ни onHoro сообшения Вероятнее Bcero. шлюз просто выключен. ПраfWа. иноrда uтюз конфитурируют таким образом, чтобы он молча отбрасывал устаревшие пакеты. В этом случае пакеТЫ блаrополучно перейдут на следующий иmюз. Дрyrой возможной причиной появления звездочек может быть то, что ответные пакеТЫ шлюза возврашаются слишком долrо и проrpамма traceroute перестает ожидать их прибытия. Некоторые брандмауэры полностью блокируют передачу lСМРсообше ний о пакетах с истеКШММ временем жизни. Если маршрyr пролеrает через один из таких брандмауэров, nporpaMMa не сможет по.пучить информацию о иmюзах. находяшихся за ним. Однако она узнает обшее число переХОД08 до пункта назначения, так как отправляемые эхопакетЫ в конце концов пройдут весь маршрут. Некоторые брандмауэры MOryт таюке блокировать IIс:ходяшие UDРпакеты, которые nporparMa traceroute посылает для инициирования lCMPoтaeтoB. В этой ситуации проrpамма не выдаст никакой полезной информации. Медленная передача данных не вcerдa С8идетелъствует о неисправности сети. Некоторые сети действительно имеют большую задержку. МеlU1итель насть может бьrrь также следствием переrpузКlI передаюших сетей, особенно если в них используется технолоr",я CSMA/CD (Carrier Sелsе Multiple Access willl Collision Detection  множественный доступ с контролем несущей и обнаружением конфлm.."Тов). В таких сетях (например. в Etllernet) произво ДЯТСЯ MHoroKpaTHbIe повторные ПОПЫТКИ передачи пакета. Определить ЭТО можно по нелоrичному значению времени полноrо обхода, так KttK КОЛЛИЗШI (конфликты) увеличивают случайную составляюшую поведения сети. И HorHa можно увидеть символы ! N вместо значения времени. Это rORopl1Т о ТОМ, что соответствуюший шлюз вернул сообшеН1fе о "недостижимости" сети, .e. ему не известно, куда посылать пакет. Сообшения о "недости)f...И мости узла или протокола помечаются как ! Н или  Р соответственно. Шлюз. от KOTOpOro получено одно из Уl<азанных сообшений, является последним в мвршрyrе и обычно и-меет проблемы с маршрутиззпией (возможно, они вызваны разрывом связи): либо ero статические маршруты заданы неверно, либо протоколы динамическОй маршрутизапии не MOryr определить верный маршрут ДЛЯ передачи пакета получателю. Если nporpaMMa traceroute не работает (или работает слишком медленно), это может быть вызвано превышением периода таймаута при попытка:\( узнать имя компьютера посредством службы DNS. Если на том компьютере. с Koтoporo ПРОИЗВОДIIТСЯ трасснровка, не функционирует DNS, воспользутесь командой traceroute нО Она будет выводить только I Paдpeca шлюзов. 666 Часть 11 Робото В сетях 
20.4. Команда netstat получение всевозможной информации о состоянии сети Команда netstat выдает ра..зличную информацию о состоянин ceTeBoro проrpаммноrо обеспечения, включая С1'3тистику сетевых интерфейсов, даниые о маршрyrиззШfИ и таблиuы соединений. НИТ<8КОro объедиияющеro звена во всех этих информационных блоках нет, просто они касаются ФУНкциониро вания сети. Команда netstat включена во все операционные системы, НО в каждой из них подnерживаются разные нвборы опuий. Мы рассмотрим четыре наиболее распространенных варивнта использо вания комвнды netstat. Это: . проверка состояния сетевых соединений; . анализ информar!Ии о конфиrypauии интерфейсов; . изучение табшшы маршрyrизauии; . получение статистических данных о различных сетевыХ протоколах. Контроль состояния сетевых соединений Бу.цучи вызванной без apryMeHToB, команда netstat выдает информацию о состоянии активных TCP и UDРпортов. Неактивные серверы. ожидающие запросов на установление соединений, как правило, не отображаются. О них можно узнать с помощью команды netstat a.. Результат ВЫfЛЯДИТ так: , net.ut a Active Internet connectione (inc1udin9 servers) Proto RecvO SendO Loca1 Address Forei9n Address tcp4 О О ".6013 tcp46 О О *.6013 tcp4 О О nmi.ssh xor.com.4105 tcp4 О 20 nmi.s5h xcr.com.1612 tcp4 О О *.13500 tcp4 О О nmi.ssh 135.197.2.114.883 tcp4 О О nimi .1599 xor .сот. te1net tcp4 О О .. .ssh tcp46 О О '" .ssh tcp4 О О nimi.ssh 135.197.2.114.716 tcp4 О О '" . cvsup udp4 О О ." .зуз1О9 .. '" udp4 О О '" .ntalk (state) LISTEN LISTEN ESTABLISHED ESTA8LISHED LISTEN ESTAВLISHED ESTAВLISHED LISTEN LISTEN ESTAВLISHED LI STEN ЭтОТ результат получен на компьютере nimi. ВЫВОД команды свидетепь ствует о наличии нескольких ВХОДЯЩих соединений по протоколу SSH. одноrо исходящеrо tеlпеtсоединения и rpуппы портов. ожидаюших установления соединения. Обратите внимание на строки, в которых тип протокола  tcp4 б. Это сер висы. работаюшие в соответствии со стандартом [Рvб. Адреса представлены в формате иIOI  компьютера. сервис. rде сервис  номер порта. Для известных сервисов порты Уl<азаны в СИМВОlП1Ческом виде (соответствия между номерами портов и их именами определены в файле /etc/sen'ices). При наличии опции п все ацреса отображаются в числовом Она отображает соединения с именованными UNIXсокетами. но. поскольку они ycтaHa8 ЛИ8Зюrся в рамках одно....о компьютера, мы их 3десь рассматривать не будем. r пова 20. УnРОRление сетями 667 
виде. Помните, что при нефункиионируюшей службе DNS команда netstat будет вьmолнЯТЪСЯ очень медленно, если не }'l<азать флаf п. В колонках Se!1dQ и RecvQ показывается, CKO!JЪKO запросов наХОДИТСЯ во ВХОДЯllIИХ и иСХОДЯШИХ очередях на данном компьютере. На llpyrOM коние соединения размеры очередей MOf}'T быть др}тими. Желательно. чтобы эти значения были близки к нулю и не были не нулевыми постоянно. Конечно. если команда netstat запускается qерез сетевой терминВJ1. Ш1Я ее соединения размер исходяшей очереди, скорее вcero. никоrда не будет равен О. Состояние соединения имеет значение только для протокола ТСР. Протокол UDP не пронеряет факт установления соединения. Наиболее рвспространенные состояния: ESTABLISHED (установлено)  для активНЫх соединений, LISTENING (ожидание)  для серверов. ожидаюШИХ поступле ния запросов (при отсутствии опнии a обычно не покззываются). TIME ;AIT (ожидание закрытия)  Д.llЯ сое.nиненИЙ. находяшихся в проиессе закрытия. Эта информания ПОjJезнз rлзвным оБРЗ10М д.rш устранения проблем на более высоком уровне, если. конечно, базовые сетевые средства работают нормально. Команда netstat поз-волпет про верить правильносТЬ настройки серверов и дизrностировать определенные виды нарушений связи. особенно при работе с протоколом ТСР. Например. если соединение нююдНтСЯ в состоянии SYN SENT. зто означает наличие проuесса. который пытается установить КОНТаКТ с несуществуюшим ИЛИ недоступнъrм сервером. Если команда netstat сообшает о большом количестве соединений. наХDДЯШИХСЯ в состоянии SYN ИА!Т. ТО компьютер. вероятно. не в состоянии обработать запросы на устаНОВJIение соединений. Такая ситуаиия может быть вызвана оrpаничеНИЯМII системноrо ядра ИЛИ даже злонамеренными поnыl,. ками вызвать переrрузку. o О настройке ядра можно Jзuать (J ZЛаве /2. Просмотр ...нфорМац...... о Конфиryрац...... интерфейса Команда netst.at i сообшает о состоянИИ сетевых интерфейсов. Вот. к примеру, резулыаты. полученные на КО\.1Пьютере evol\'e. работаюшем ПОД управлением Solaris: % nfilltstat Name Нео Net/Dest !pkt.s Ierrs OpKt.S Oe:rrs Collig 100 В2З2 loopback 11650 11650 О О hmeO 1500 evolve 16438 18356 О 110 hmel 1500 evolvebl 94852 379410 13 487 Указаюrьrй компьютер имеет два ceTeBbLX интерфеЙса. В колонках Ipkts и Opkts vказывается КОJlичество пакетов. ПРИНЯТЫХ и переданных через каЖдЫЙ интерфейс с момента начa.rrыюй аrpУJКИ СИСТё'1\IЫ. В КОJlОНКа."\ Ierrs и Oerrs приводится число ошибок в ПРИНlп..l.i:1емых 11 передаваемых ДJННЫХ: здесь учитыиается MI-Ioro разных ПIIЮ-Б ошибок. и IIaIа1чие КiH,,:OroTO Н'\ ЧИС13 вполне нормально. Количество ошибок должно составляТЬ менее 1% от числа ШIкетов. Если частота появления ошибок высока. сраВlIIпе JТИ пок<-патеЛIl на неСКОЛЬЮIХ соседнИх компьютер.!"". БOJlьшое число онrибок на одном компьютере сtlидетельетвует о НaJlИЧИН проблемы в ero интерфейсе или соединении. тorna как высокая частота ошибок. возникаЮШl1Х на всех компьютерах, в боль шинстве случаев обусловлена наличием проблемы в среде передачи. 668 Часть 11. Робота всетя)'. 
Ко.пичеcrво коJUТИЗИЙ  это показателъ степени заrpуженности сети; наличие ошибок свидетельствует о проблемах с кабелями. Хотя коmтизия является одной из разновидностей ошиБЮl, их число команда netstat подсчитывает отдельно. В колонке Collis указывается число конфликтов. произошедших при отправке пакетов.. 31'0 число следует исполъзовать .nля вычисления доли ошибоЧНЫХ пакетов от общеrо количества отправленных пакетов (Opkts). В приведенном выше примере частота конфликтов в интерфейсе hmeO составляет оКОЛо 0.6%, а в интерфейсе hлtе1  0.13%. "Нормальным" считается JНачение менее 5%, а ЗНачение выше 15% rоворит о серьезной переrpузке сети. Работу ceтeBoro интерфейса можно контролировать в реальном времени, однако соответствуюшие олиии командной строки различаются в зависимости от снетемы. Показанные ниже команды выдают статистику с иmервалом в одну секунд}. Выводные данные взяты из FreeBSD. solaris\ net8tat  1 hpux% net.tat 1 redha1:\ netstat i. freebsd% netstBt 1 input (Total) output packets errs paClte1:5 colls 13911549 1216 14757869 16 1431629 512 О 99 1 21 464 1 94 О 40 516 О 101 О 26 452 1 81 О 14 з36 О 71 О 19 в этом при мере количестRO коллизий составляет от 20% до 30%. Виnимо. сеть передает пакеты очень медленно или 8006ше не Функuионнрует. НепрерЫВНЬJЙ режим работы команды netstat особенно эффективен при выслеЖJ.1вании источника ошибок. Команда netstat i может сообщить о сушествовании проблем, но она не скажет, какова причина ошибок: то ли это постоянно ВОЗНl1каюшая аппаратная проблема. то JП.f кратковременное. 110 фаталъное соБЫТllе. Наблюдение за сетью при ра::.шичных ураннях jаrpу'жснности позволит ПО."1УЧИТЬ rораздо более полное представление о том. что ПрОIIСХОДIП. Залайте команду ping с большой д.r1lfНОЙ пэкетов и наблюдайте Зсl БЫВОДО\.{ команды netstat Проверка таблицы маршрутизации Команда netstat r отображает таБЛlЩУ маршрутизации ядра. Вот пример. полученный На компьютере, который работает под управлением Solaris и имеет два сетевых интерфейса. \ netstat r n Rош::iпg ТаЫе Oest:'naton :!.92.225.4.O :92.168.3.0 10.0.0.0 Ga:.e.....ay 192.225.44.88 "92.168. З."2 192.168.3.252 Flags U U UG Ref 3 2 О Use 1841 Interface hmeO hmel hmel 1317 Это поле имеет смысл только в сетях с широковешательной передачей, например в Ethernet. r лова 20 'управление сетми 669 
time exeeeded: 14 157 mеsзаС)е responses C)enerated Показатели числа эхозапросов. сreнерировзнных ответов и эхоответов совпадаЮТ. Отметим, что сообшеиия "dеstiпаliоп unreachabIe'" (адресат неnос ТИЖИМ) MOтyr посьшаться даже Torna, коrда пахеты. казалось бы. маршрути зируются нормально. Например. дефектные пахеты рано или поздно достиrают шлюза, который отклоняет их, и по цепи шлюзов ВОJврашается сообшение об ошибке. сер: 25087 packe't.s sent 25499 pa.ekets receved 31 conneetion requests 30 connecton ассерсs 56 соплесr.1.0ПS est.ablished (iпсludiлС) accepts) 64 солпесt:iопs closed (iпс1udiлg 13 drops) 4 embryonc СОППесtiопs dropped РекомеНllуем определить приемлемые диапазоны ЭП1Х показателей. чтобы можно было сразу же замечать необычное поведение сети_ 20.5. Анализаторы пакетов Проrраммы Icpdump. .snoop и nettl относятся к классу инструмента.пьнъrх средств, извеСТНЫХ как анализаторы l1акетов. Они следят за трафиком в сети и реrистрируют либо выводят на экран пакеты, которые удовлетворяют Заданным Kpl-перllЯМ. Например, можно пере.хвзтьrвать все пакеты, посылае мые на какойто компьютер или с Hero. либо ТСРпакеты. О'Т'носяшиеся к конкретному сетевому соединению. Анашf1.i3.ТОРЫ пакетов полезны как .nля решения известных проб!lем. TK и д.rтЯ ВЫЯR.lеНI-IЯ абсолютно новых. Весьма полезно время от npC...fCHlI запускать эти nporp3MMbI Ii проверять. нормально ли обрабатывается сетевои трафll"_ Поскольку анализаторам необходи-мо уметь перехватывать пакеты, KOТO рые локальный компьютер обычно не получает (или на которые не обрашает внимания). базовыс сетевые аппаратные средства должны раЗрешать доступ J( кажпому пакету. Это характерно лля широковешателЬНЫХ технолоrий, 8 частности Etllcmet. а также лля некоторых видов сетей Token Ring, в которых отправитель пакета уда.1яет ero из кольца после полноrо обхода контура. Анализаторы пакетов дo.rтжны иметь доступ к НИЗКОУРО8невому трафику. поэтому ИХ работе MOryт мешать сетевые мосты, одной 113 функций которых является препятствие распространеl-rnю "ненужных" пакетов. Однако с помошью анализаторов возможно получение полезной информашш даже 8 сетях с Мостами. Можно, к примеру_ обнаружить проблемы. затраrиваюшие широковешателы-lеe 11 rpynnoBbIe пакеты. Объем вьшаваемой информаlШИ зависит от модели моста.  Более 1l0дробпо о сетевых WDCтa.\ рассказывается в параi!рафе /5.2. Аппаратный интерфейс nолжен не только иметь 80ЗМОЖНОСТЬ получать доступ ко всем сетевым пакетам, но также содержать механизм, обеспечи 8;ЗЮЩI-IЙ переnачу этих па кетов вверх на проrраммный уровень. Ведь обычно адреса пакетов проверяются на аппаратном уровне, а ядру показываются ЛJfШЬ широковещательныс/rpупповые пакеты и те, которые адресованы данному r попо 20 Упровление сетями 671 
компьютеру. В беспорядочном режu.,че (promiscuous mode) интерфейс позволяет ядру получать все сетевые пакеты, даже если они предназначены ДЛЯ лрyrих компьютеров. Анализаторы пакетов. как правило. поддерживают мноте форматы пакетов, исполъзуемые стандартными демонами UNIX. и часто MorYT отображать содержимое naкeтOB в удобном ДЛЯ пользователя виде. Это облеrчaет пользователю анализ сеанса между ДВУМЯ проrpаммами. Некоторые анализаторы кроме зaroловка пакеТ'i!. выводят и содержимое пакета в текстовоМ виде, что полезно для исследования протоколов верхних уровней Так как некоторые из этих протоколов пересылают информацию (В том ЧJ.tсле и пароли) по сети в незашифрованном виде, следует заботиться о сохраненни конфиденциальности пользователъских ДаННЫХ. Кажпая из рассматриваемых на"'fИ операционных систем имеет анализатор пакетов. В СВЯЗИ С тем что анализатору необходим доступ к пакетам на самом низком уровне. он должен запускаться от имени пользователя root. Подобное оrраничение снижает шансы обычных пользователей получить доступ ко всему сетевому трафик)'. но на самом деле этот барьер можно преодолеть. Во мноrих орrанизациях анализаторы пакетов удалены с боЛЬШI-IНСТI33 компьютеров для уменьшения риска ].IIоупотребления этими проrpаммами. Если даниая мера невозможна, следует проверять интерфейсы системы, Lrтобы они не работали в "беспорядочном" режиме бс:з ведома или соrласия администратора. Проrpамма sпоор: анализатор па кетов в Salaris в Solaris анализатор пакетов называется snoop. С помошью apryмeHToB J::оман.п:ной cтpOКl1 можно задать перехвит пакетов определенноrо ЛlПil, KoнкpeTHoro компьютера, протокола, порта и т.д. Если проrрамма заnyшена без apryMeHТ08. она анализирует пакеты. проходящие через первый из наЙденных ею.интерфейсов. Обычно это тот интерфейс. который приведен первым в выводе KoMaНдЬJ nctstat i (ИСКЛIOЧ3Sl интерфейс обратной связи). Для указания KOHKpeTHoro интерфейса применя стея опция d иJrlяuнтерфеuса. Имя интерфейса следует вводить В том BII:Ie. в котором оно сообщается командой netstat i (например, лля первоro интерфейса Etheme( часто используется имя hmeO). Опuия v позволяет получить развернyryю информацию, а при налиЧИИ опuии v ВЫВОЛlПСJ) несколько дополнительных ПОЯСНЯ1Оших строк для каждоrо пакета. Синтаксис командной строки проrpаммы- snoop постаточно сложен, но BC ее опиии хорошо описаны на соотвстствуюшей mапстраниuе. В KOMaHД ную строку можно помешать выражения, содержащие такие ключевые слова, как host, port, tcp. udp и ip, а также обозначения операuий and, or или по(. Рассмотрим несколькО примеров. Ниже приведены результаты работы проrpаммы snoop. которые MOIyr оказаться полезными ДЛЯ наСТРОIЮ" пропесса передачи электронных сообшеЮIЙ между компьютерами evolve н chimchim. М ы задали такие параметры командной СТрОЮl, которые позволят проиллюстрировать работу этоrо анализатора пакетов: t 8nООР host ch:1Jach:1Ja and host 8vo1v. and tcp port 25 evolve.xor.com > xor.com SMTP С xor.com > evolve.xor.com SMTP R 220 xor.co!tl ESMTP Se evolve.xor.com > xor.Corn SMTP С evolve.xor.com > xor.com SMTP С EHLO evolve.xor.com\r xor.com > evolve.xor.com R 250 xor.com Hello ev 672 Часть 11 Робота в CeTfI): 
evolve.xor.com > xor.co:n SMTP С МAIL FROM: <rootQevol :КОС.сот > evolve.xor.com SMTP R xor.com > evolvlI.xor.com SMTP R 250 <roo.::@evolve.xor evol уе. хос. сот > хос. сот SMTP С RCP'I' ТО: <ned8xor. сот> xor.com > evolve.xor.com SMTP R 250 <ned(ixor.com>... evolve.xor.com > xor.com SMTP С DATA\r\n xor.com > evolve.xor.com SMTP R 354 !:nter mail, end Указанная командная строка означает следующее: .. ПереХВ8.тывать все пакеты. передаваемые между компьютерами chlmchlm и evolve и адресованные ТСРПОрТ)' 25". Из примерв видно, что кажnому пакету соответствует одна строка. В начале строки приводится имя отпраВИТeJIЯ пвкета. в затеМ имя ПО.'1учвте,'1Я. Кроме тoro. в строке содержится и высокоуровневая информаuия. такая как имя протокола, номер порта и Н8Ч8ЛЪные байты данных пакета (здесь эта информация приведена не полностью для экономии места). Если с ПОмоЩЬЮ nporpaмMbl tеlпеl зареrnсrpироватъся на удаленном узле, а затем запустить анализатор snoop. прилется отфильтровать пакеты caMoro севНса от обшеrо трафика. Например, чтобы проиrнорироватъ трафик, направленный к компьютеру evolve или идущий от Hero, следует задать такую команду: fI 8noop not h08t 8v01.V. Если нужно исслеДовать неработающн:й DNScepBep с имеНеМ mrhat, воспользуйтесь следуюшей командой: fI 8noop h08 t mrha t I qrep DNS в этом случае утилита grep позволит исключить вывод ненvжной информаuии_ Проrрамма nettl: анализатор naKeтoB в HPUX В HP UX ВХодит жалкая пародия на анализатор пакетов. называемая пеtН-. На самом деле это очень мощная проrpамма. способная работать в быстрых сетях. но конфиrурировать ее настолько сложно, что DЛЯ быстрой ОТЛадки сети она не rодится. Тем. К'То планируют осуществлять анализ пакетов с компьютера. работзющеrо под управлением HPL!X. мы рекомендуем инсталлировать nporpaMMY tcpdump. Проrpамма пеШ ВХОlIИТ в пакет Network TracJng and Logging {трассировка пакетов If реrистраuия событий в сети) системы HPUX. По умолчанию эта проrрамма запускается на этапе начальной заrpузки системы. Если ее ИСПользован не Не плаНl1руется. то не забуlIЬте отклюЧ'ИТъ ее. Для этоrо в файле /elc/rc.config.d/nelll установите переменную NETTL равной О. Проrpамма пеШ считывает параметры своей конфиrypаЦJ111 из файла /etc/nelllgen.conf. Проrpамма tcpdump: самый лучший анализатор Замечательный анализатор пакетов tcpdump. написанный Ваном Джей кобсоном, ВХОДIП в комплект поста.вЮI систем Red Hat Linux и FreeBSD и Такое 011iошеНl-lе к npO[J)aмMe подтверждается и ее иа3ианием: слово "nettle" означает "крапива: раздражать. сердшъ". r 11050 20. Управление сетями 673 
уже давно считается промышленнЪJМ стандартом. Ero ис'\одlIыe коды имеются 8 HPUX, Solar.s и БОJlЫlПНlстне дpTHX операuионных систеМ. Работа с этим анализатором напоминает работу с 11роrpаммой snoop. По умолчанию Jlpol-ра"\Нl tсрduП1р использует перОbiИ ЮН1деННЫI-I ею сетеной интерфейс. ЕСШI она выбрала 1-11:: тот интерфсис, то IIосредсТl:ЮМ опuии i следует задать нужныЙ. В случае неисправности служБы  DNS или если неоБХОДJlМО видеть clдpCC;1 компьютеров. восполы1итесьb оrщиеи п. Эта опuия и,,",rее1' большое lначение, TK как медЛенная работа DNS может вызвать отбрасывание пакетов До 1'oro. как они булут проанализированы проrpзммой tсрduшр. Опuия " ПОЗ80.lЯет получить более деТR.o"lЬНое ОlIисание KaA(ДOrO па кета. а самые подробные результаты выдаются при задании опuии \'Y. Если указана опuия w. nporpaMM8 сохраняет перехваченн:ые пакеты в фаЙ.lе. Для чтения I13кетов из файла предназначена оппия r. Ниже показаны реlУЛЬтаты работы nporpaMMLI tcpdump. lапушенной 11;:1 yJЛе jaguar.xor.com. СпеНИфl-lкаuия host jaguar задает ПOJ1)rчеНI1е информаUlI 1I только о тех пакетах {ПОJl}чаемы\ 1-1 отправляемых}. которые IIмеют непо средс-твенное отношеНIIf: к КОМllьютеру jaguar. j tсрdшар h08t jaquar 13:-40:23 jaguaL .xor-.com.169"1 > xor.com.domall: А? сз.соl0rаdо.еdu. 13:40:23 xor.com.domain > ]aguac.xor.com.1697: А mroe.cs.co1orado.edu 13:-40:23 jaguar.xor.cOO1.1698 > xor.can.dcxr.a: Pl'R? 5.96,:ЗS.28.iлada:r.аrpa. 13:40:23 xor.com.dom.Hn > laguar.xo1:.cam.1698: PTR I!:cae.cs.colorado.edu. в перпоИ- строке ВЫВОДа содеРЖIIТСЯ информаuия О том. что с КОМПЫОр<I jaguar в ДОlеl-l xor.com ОТl1раRлен пакет с запросом 1( службе DNS. касаЮЩIIМСЯ IIMelHI c.L"olorado.edLl. Во второи строке I'IJJИВОДЯТСЯ сведении об ответном пакете. rде rоворится о том, что ""казанное I-IМЯ является псевдо нимом узла mroe.cS.coloradO.edLl. Далее 8ылаются nанныс о пакете с lЗПрОСОМ доменноrо именИ, соответстнюшеrо I Pi:lllpecy компьютера mroe. В пОСЛСдI-IСИ строке сообшается результат заllроса На mапстраНllие. IIОСRяшеннои проrpа!\.fме tcpdump, привепен рЯд xopo ши...: примеров З.J1lания ра:Шlt"IНЫХ фИ-'IЬТРОВ. а также ПD..1НЫЙ ст1СОК клю t lевыХ СЛОВ. которые MOf)J f,.IСIIO.rIЬJОВdТЬСЯ 8 командноЙ строке. 20.6. ПРОТОКОЛЫ управления сетями За последнне десять лет сети бысrpо },сложнялись (,1 разрста.'пiCЬ. что вызвало потребllОСТЬ в р.:1Зр.,боп::е среnств ceTCBoro управления. Поставшtки операшюнных систем 1-1 орrаНИ1аШIIf 110 с-тандарпваuни подхо.!шли к решению этои задаЧ1 Р(i]нообр.аlНЫМИ ПУТЯМ'I. Самым знаЧl1тельНЫМ Р]УllЬ татом стала раЗРi;lБОТКil ряnа CTil!-щартных прото...олOf УllравлеЮIЯ сетеuЫЫII устройствами ' \Нlожества высокоуровневы\:: nporpaMI\IHbIX среДСТ8. коюрые их ИСЛО.71ЬЗУЮТ. Протоколы упра8!lеюtи сеП11I1 опреnеляЮ1 стаНД:.lртный MTOД 10HAI-IJlO вания каI(OI'олибо устрош;тва с Ш:lЬЮ ВЫЯ8лениЯ ero сетевых coe:HtlleHl-llt. конфш)'раU1fИ и общеrо СоСТОЯНI1Я. Кроме TofO, 11РОТОКОЛЫ ПОЗIЮlЯIOТ \ЮДИфИЦltроиатъ часть лои IIl1форм.ШI1И, чтобы станларппировать ynpalL1C Hlle р.пли-чными ВIlдами аппаратуры на сетеВО\1 уровне и осушестшнlТЬ это управлеНllе с ueHTpa':lbHot1 стаНЦИII Наlfболее Рi1спространеННЫ\1 "ротоколом УПра8ления. IIСl1О.1ЬJуемыы и сетях TCP/I Р. ЯRпяется SNf\1 Р (Siтple Net\\'ork r\,.1аllзgеmеп{ protocol  npocToli протокол ,,'правлеНЮl сетью). Несмотря на свое назиание. на самом 674 Чость 11. Робота в ceT;': 
деле, этот протокол достаточно сложен. Он определяет иерархическое пространство имен пля объектов управления и способ чтения и записи naHHЬL'I(. относящихСЯ к этим объектам, на каждом узле иерархии. Он также задает способ, которым управляемые сушности ("areHThI") ПОСЫЛают сооб шения о происходяших событиях ("прерывания") станuиям управ.ления. Ядро протокола действительно является простым; самая сложная часть SNM Р находится над протокольным уровнем If заключается в соrлашениях по построению пространства имен и соrлашениях по форматированию элементов данных на y].I1f иерархии. Протокол SN М Р широко подперживается разра ботчиками nporpaMMHoro обеспечения. Сушествует и рял дрyrих стандартов управления сетями. Мноrие из них созданы орraнизаuией DMTF (Dislributed МалаgеmеПI Task Force  рабочвя rpуппа по разработке распределенных систем управления), которая реализо вала такие конuепuии, как WBEM (WebBased Enlerprise МапаgеmеПI  система управления преДПРl1Яnfем. основанная на использовании WebTex нолоrи1\), ОМ' (Dеskюр Managemen! Iлtеtfасе  ннтерфейс улранления компьютером) и CIM (Conceptual Iлtеtfaсе Modcl  конuеnryалЬН8Я модель интерфейса). Некоторые из этих конuеПUИЙ, п ЧаСТНОСТИ OMI, приняты рядом изuестных фирМПРО1fзводителей If MOryr С'Jужить полезным дополне ниеМ (3 иноrпа и заме нои) протоколу SNMP. В настояшее время. однако, осноиным средством управлеЮIЯ сетями является все же SNMP. Поскольку SNMP  абстрактный протокол, то для ero исполыованиЯ нужна nporpaMMacepBep ("areHT") и nроrpаммаклиент ("менеджер"). (Как ни странно. сернерная сторона SNMP ЯRЛяется управляемым элементом, а юПtентская  управляюшим.) Клиентом может быть как простая утилита, работаюшая в режиме комаНДНОЙ строки, так и вьшеленная станция управлеНI1Я, на мониторе КОТОрОЙ в rpафическом виде отображается сеть вместе со всеми своими неполадками Вьшеленные станuии управления сетями  rлавная причина сушество вания протоколов упрамения. Большинство nporpaMMHbIX продуктов ПОЗВО ляет строить не только лопrческую. но и топоrpафическую Модель сети. Обе эти Модели выводятся на экран. при этом постоянно отображается текушее СОСТОЯI-rие каждоrо коМпонента Подобно тому. как rpафик может показать СКрЫТЫЙ смысл, заложенный в заполненной цифрами страЮfuе. так и станuия упраnления сетью способна обобшить и представить состояние крупной сети в форме, удобной .nля понимаНИЯ. Дрyrим способом такую информационную сводку получить практически невозможно. Основное преимушество SNMP заключается в том, что абсолютно все типы сетевых аппаратнъrх средств выводятся на один уровень. UNIХсистемы в основном похожи друт на дрyrа, чеТа нельзя сказатЬ о маршрyrnзаторах, шлюза.х " остальных низкоуроннеuых компонеliТах. При использовании протокола SNMP все они тiЧlIнают .'обшаться" на одном языке и MOryr ЗОI-Щl-lроваться. сбрасываться 8 нача;Jыюе состояние и конфиrурироваться с центральной станцин. Очень удобно, Korдa есть ОДин соrласованный интер фейс, применимый ко всем сетевым устройствам. 20.7. SNMP: простой протокол управления сетью Korдa в начале 90x rr. протокол SNMP впервые появился на рынке, 80зникла 10лотая лихорадка в МИЮfатюре. Сотни компаний выпустили собственные пакеты управления по протоколу SNMP. Кроме Toro. мноrие r 110ВО 20. Уnровление сетям.., 675 
поставшики аппаратных и проrpаммныx средств СТа..'lИ включать в спои продукты sNMpareнты. Перед тем как поrpУЗИТЪСII в дебри SNMP, заметим, что терминолоrИII. применяемая в ЭТОЙ области, одна из самых бестолковых и невразумителънЪJХ. Стандартные названия объектов и конuепuий SN МР будут активно уводить читателей от понимания их назначениЯ. Так что запаситесь терпением. Структура протокола SNMP в SNMP данные орraнизов8НЫ иерархически. причем структура иераРХИlI жесТkО определена. Это позволяет пространству данных оставаться уни-вер сальным и расширяемътм. по крайней мере теоретически. Большие ero области остав.лены для перслективноrо использования; дополнения постаВШИКОll операuионнhI.X систем локализуются -в определенных диапазонах во избежаНllе конфликтов. для формирования пространства имен применяются так назы ваемые базы управляющей информации (Managemcnt Information Base, MIB) Это структурированные TeKcт<JBыe файлы, которые содержат описания данных, доступных по протоколу SNMP. Ссылки на конкретные переменны, описываемые в базе, называются uдеllтuфuкатора.wu 06ьек.тов (Object Identi fier, 010). В nepeBO.!le на человеческий язык это означает, что протоко:! SNMP определяет иерархическое пространство имен переменных, храняших "инт ресные" параметры системы. В осноаном SNMPnepeMeHHbIe содержат данные целоrо и CтpOKOllOro типов, а также пустые значения. Ланные базовых ТlШОВ разрешается объединять в последовательности, а каждую последовательность можно MHorOKpaTHo повторять. создавая таким образом таблицу. В бопъшинстпс реализаuии SNMP ПОД,!lержи-ваются и дрyrие типы данных. Иерархия SNMP напоминает иерархию Ifмен файловой системы. В Ka честве символаразделителя здесь используется точка, а каждому узлу иерархии присваив.ае1СЯ не имя, а номер. Для облеrчения ссылок узлам присваиваlOТСЯ также теКСТОl:iые Itмена, но cxeMёl lI\tСНОll8НИЯ БЫХОДИТ 3 рамки самой иерархии и определяется на высоком уровне (В принuипс. JТo похоже на связь между именами компьютеров и их rРадресами). к примеру. идентификатор OID, соответствуюшнй показателю обшеrо времени работы системы. выrilЯДИТ так: 1.3.6.1.2.].1.3. В более понятноil форме ero можно записать сле1IYЮШИМ образом: iso.org.dod.inlemet. mgml. mib 2.system_sysU р Time Bep't:Hlfe уровни иерархии SNMP носят искусственный характер и обычно не содержат никаких полезных данных. По сути. интересная информаЦШI появ.rrяется только на уровне iso.urg.dod.intemet.mglnl (OID равен 1.3.6.1.). Основная административная база .12ННЫХ SNMP Ш1Я протоколов TCP/IP (MIBI) определяет достyn к наиболее важным \'правляюшим данным: информаШНI о системе, ее интерфейса.х, преобраЗОВ8НИИ адресов и npOТOKO.1rJ (lР, IСМР, ТСР, UDP и др_)_ В ДO'YMeHTe RFC1213 описана новая, боже полная версия этой базы, поп}'чившая название MIBII. БОЛЬШШСТIЮ поставшиков. выпускающих SNMPcepBepbI. поддерживает MIBIl_ В табл. 20.1 приведена выборка узлов иерархии из пространства имен MIBIl. 676 Часть 11 Работа 6 CeTJ;X 
'ОID1 Тнл systcm.sysDescr С'1РОК8 systcm.sysLocation С'1РОК8 systcm.sysContact С'1РОК8 system.sysName С'1РОК8 ш[сrfa.cеS.ltNumber целое interfaces.iffabIe таблица ip.ipFolW8rding целое ip.ipAddrT8ble таблица iр.iрRошетаыle твбllН1l8 icmp.icmplnRedirect5 целое Таблица 20.1. Некоторые И.D.еНТИфIo1КQТОРЫ из бозы MIB-II CoI!p""OHHe . Информ3.UИJI О системе: ПРОИЗ80д.итe..IlЬ. модель, ТИП ОС и т.д. Физическое местонахождение комnыотера Информаuиs о владепьuс комnьютeра ИМJI снете.... (обычно ЭТО пал.ное DNSнмя) Количеcrво имеющихся сетевых интерфейсов Таблица с информаuией о хажд.ОМ интерфейсе 1. если система является шлюзом, иначе 2 Твбли-ца данных 1P8дРесauии (маски и т .д.) Системная таблица марwрyrизauии Число получеиных переадресуюших ICMPnaxe ТОИ Число полученных naxетов КОМ8tШЫ p1ng Т8бтшв текущих ТСР..соединсний Табтща с информацией о UDPcoKeтax. через которые серверы ож.идают прием залросО8 I Относительно узла iso.oq.dod.internet.mgmt.mib- 2'. Помимо основной административной базы существуют базы для различ ных типо-в аппаратных ннтерфейсов и протоколов. Имеются также базы данных по отдельным поставщикам и по конкретным изделиям. М 1 В  это лишь соrлашение об именовании управ.ляющих данных. Для Toro чтобы эта схема заработала, ее необходимо подкрепить проrpаммой areHToM, которая будет обеспечивать соответствие содержимоrо SNМРпере менных и текущеrо состояния устройства. КОД Ш1Я основной базы М 1 В (в настоя шее время MIBII) пост.впяетсв с большинством SNMPareНТOB UNlX. Некоторые areHTbl разреШ1I0Т ПОДil.J1ючать дополнительные базы данных. icmp.icmpinEchos tcp.tcpConnTable udpudpTable uелое таблица таблица Операции протокола SNMP в пространстве имен SNMP определены Bcero четыре базовые операции: gel (прочитать). gelnex! (прочитать следуюший), 5е! (записать) и !rnp (прерыв.ние) Операции get и set  базО-Бые операции чтения и записи данных на узле иерархии, который определяl:ТСЯ конкретным значением OID. ОпераШ-l Я getnext используеТСSI W1Я последовательноrо прохода по базам MIB. а также !IЛЯ чтения таблиu. Прерывание (операuия trap)  это неОЖЯданное. асинхронное уведомле иие КТIиеmа о ТОМ, что на сервере произошло интересное событие. Определен ряд СТ'd.мзртных прерываний, включая уведомления вида "я только 'по включился". сообшения об QТКаза..'\ и восстановлении сетевых каналов. а также сообщения. связанные с различными проблемами маршрутизации и аyrентификаиии. Широко распространены инестандартные прерьrвaния, например такие. которые просто используются Ш1Я отслеживания значений требуемых SNМРпеременных. Если эти значения выходят за rpаницы УСТ8новлеиноrо диапазона, выдается соответстnyюшее- сообшение. Способ определения получателей таКИХ сообшеннЙ зависит от реализации areHтa. r лово 20 Управление сетями 677 
Паскаль",') сообшення SNMP потенuиально MOryr изменять информзuию о конфиrypаЩiИ компьютероп. необходим KaKof;TO механизм lашитЫ. Простейшая зашwrа основана на концепцнн "имени сообшества'" (community name). Для тех, кто не страдает косноязычием, поясним: на языке разработ чиков стандарта ЭТО синоним слова "пароль". Доступу TOJТЪKO дЛЯ чтения соответствует один пароЛh. простите. "имя сообшества". а доступу nля записи  друrой. Версия 3 стандарта SNMP включает методы ynравлеНШI доступом с высокой степеНЫQ безопасности. Использование этих методов несколько оrpаничпиается возможностями сетевых аппаратных средств. но есть OCHoв.a ния ожидать изменений в лучшую сторону. RМON: база MIB ДЛ удаленноro мониторинra База RMON (rеmше mопiюriпg  удалеl-Iныf; МОlIиторинr) накапливает данные об оБL1IИХ характеристиках сети (т.е. таЮiХ. которые не относятся к KaKOMYТO конкретному устройству). Сетевые 3НаЛl1З:!ТОрЫ или "зонды"' мотут собирать информаuию а заrру.м:енности и ПРOlfJводительности сети. Полезные данные rpуппируются. предварительно обрабатываются. и их важная часть доставляется на uентрanьную станuию управ.ттения nля 3Ilзлиза и rpафическоrо воспроизведения. М ноrие зонды имеют буферы для перехваченных пакетов и MOryт работать подобно проrpамме tcpdump. База RMON описана n документе RFC 1757, который был пр.<нт в качестве черновоrо стандарта 8 1995 rоду. База разделяется на депять "rpупп RMON". Каждая rpуппа хранит собственный набор статистических данных. Если сеть достаточно велика и имеет MHoro f'lобалъных соединений. необходимо рассмотреть возможность приобретения зондов .wтя сниження SN МРтрафика через rлобальные соединения. При наличии итоrовых стати стических данных отпадет необходнмость в удалеНJ-ЮМ сборе первичных данных. Мноrие мосты и маршрyrизаторы поддерживают базы RMON и >..ранят в них собственные стаТИСТlfЧеские данные. 20.8. AreHTbl SNMP МНОПlе производители операционных систем и ceTeBoro оборудования поставляют спою продукuию С roТ08ЫМИ к использованню SN МРаrентами. Пароль доступа только для 'Чтения чаще Bcero равен "pubIic", а пароль доступа Ш1я записи иноrда задается как "private" ми "secrel". Мы сталкивались со мноrими ПРОИlводmелям-и. использующими такое решение Это удобно nЛSI ClicтeMHbIx администраторов. но также удобно и ШlЯ хакеров. Тем. кто планирует исполыlватьь SNMP, советуем сконфиryрироватъ areHTOB так, чтобы пвроли и для чтения, и для ЗЗПИСII было трудно yrалатъ. Операционные системы Solaris и HPUX поставляются снеплохимИ SNMPareHTal\fJi. UСDаrеl-fТ системы FreeBSD наХОДИТСSI в K8TaJ10re /usr/ports/nel/ucd-snmp. в стандартном дистрибутиве Red Наl поддержка протокола SNMP отсутствует. Ниже мы рассмотрим areHTOB систем Solaris н Н P UX. 8 затем  пакет UCD. который pekomel-ШYем использоватъ в система.'\, не имеюших собствен ных aremoB. 678 Часть 11. Робото в сетях 
SNMPreHT в Solaris Solaris раСl10лаrает СОЛИДIIЫМИ средствами упраалеЮiЯ сетями. В допол неиие к .повально мощному SNMPareнтy CliCTeMa также обеспечивает поддержку интерфейса DMI. rлапным SNMPareHToM пнляетСЯ демон /usrflib/snmp/snmpdx. конфнry раllИЯ KOTOporo хранится 8 файле /etc/snmp/conf/snmpd.con[ В пот файл МОЖНО заШiCыпатъ ЗН3'lения мноrих переменных MIB. а также основные параиетры конфиryраuии areHT3. Например, МОЖНО задать строку описания системы (sysdescr), узлы, которым требуется посылать }rвeдомляюшие сообшения (параметр trapJ, If пароли для чтения и заПJ1СИ (readcommu nty. writecommunity). После измене-ни я содержимоrо конфнryрашюн Horo файла уничтожьте и З3ПУСТlпе 18НОВО демон sllmpdx. чтобы внесенные изменения вступили в силу. Демон snmpd>.. извлекает ИНфОрМ311ИIO о бе.301l3СНQСТИ из файла /etc/snmp/conf/snmpdx.acl. В этом файле псречислены IPaдpeca компьютеров. которым разрешен доступ к локальному SNМРаrеl---П)'. Кажлый набор КОМПЬJOтеров может иметь собственный пароль ("имя сообшествз"') шш чтения и заШiСJ.f данных. ТаЮiе ВОЗМОЖНОСТИ существенно попышают безопасность протокола SNMP. К сожалению, ПО умолчанию все оrpаничения отключены. В споем ДJfстриБУПf8НQМ варианте система Solaris на этапе начальноЙ заrРУJКИ запускает два Ilроиесса. связанных с интерфейсом DMI. Первый  это демон /usr/lib/dmi/drnispd, который непосрепственно отвечает ни DМIза просы. ВтороЙ демон  /usrfliЬ/dП1i/sпmрХdmid  преобразует SNMPJalJpOCbI n формат ОМ I 11 передает IX демону dlПisрd. Ответ последнеrо преобразуется демоном snmpXdmid и ВОЗRр8шается обраrnо SNMPcepвepy snmpd.x. Параметры преобразованnя SNMP/DMI определяются содержимым файлов, наХОllЯlШtхся в каrзлоrе /var/drni/rnap. По умолчанию заданы два вида преобраЗQпания. Если дополнительные преобрззовзния не планируются. то нет смылаа запускать демон snmpXdrnid. Если в системе отс}"'Тствуют средства Df\lIуправления или ИХ исполъзо "анис Не плаНllруется. следует запретить запуск всех DМIпроuессов при наЧIЬНОЙ заrpузке CliCTeMbl. LlrJЯ этоrо необходимо переименопать файл /etc/rc3.d/S77dmi n /etc/rc3.d/s77dmi. Если требуется отключить демон snmpXdrnid. переименyйlе ero КОНф'fтураuионный файл snrnpXdrnid.conf 8 sпmрХdП1id.сопf.оrig. SNMPareHT в HPUX ОДНИМ нз caMblx удачных проrраминых средств, разработанных компа нией HewletlPackard лля упраfL'1ения сетями масштаба предПРИЯТИЯ, считается пакет Н Р OpenView. Так как эта компання  признанный лидер в разработке средств управления сетЯl\Ш. то факт ВКJlючеиия SNMParema в mrстрибyrив HPUX не стал большоЙ неожиданностью. ВОТ только вместо еДИНОro areHT3 в HPUX liсполъзуется набор специализированных "субаrентов". Такая схема позволяет разраБОТЧl1К3М добавлять неоБХОДlfмые субаrентbl' nля новых аппаратных нли nporpaMMHbIX компонентов без изменения всеИ СНt.'Темы. rлавным areHToM Я8.'lяется де\1ОН /usr/sbin/snrnpdm. но он Юiкоrпа не запускается непосредственно. Этой нели служит сuенаршi /usr/ЫП/SllПlрd. который кроме arema snmpdrn запускает Н)rА<ные субаrенты для сбора данных r лово 20 Управление сетями 679 
Лrент читает свои установкн нз файла /еtс/SпmрАgелt.d/sпmрd.сопr. Кроме тoro. КОНфНl)'раuионные параметры МОТУТ быть заданы в строке заnyска сценария 5пmрd. В файле snrnpd.conf можно использовать только пять ключевых СЛОВ. Рассмотрим пример: *' Конфиrурация SNМPareH'I'a для узла disasr:er.xor.com 9еr:соmmuлi i:.yr.ame: rocommunity зеtсоmmuпit.упаmе: DSj 4kL .2лG trapaest: jaguar.xor.com trарdезt.: OV. xor. corn locatl.On; First floor lab n"ёlchne cor.':act: root.@disaSi:.er.xor_com Ключевые слова get commUnl.t.yname и set.COf'1'U'r.Unl.tyname задают пароли для чтения и записи наиных. Выражений, определяющих пароли. может быть несколъко, однако ynравление ДОСl)'ПОМ Ie до;rжнО различаться для разных rpynn компьютеров. Любой паролъ, указанный в любой инструк ции setcommUnl. tyname. действителен д.тIЯ ЛJOбой поддерживаеой опе раuии чтения Ю1И записи. Ключевым словом trapdest задается ИМЯ или [Paдpec SNМРютиента, КОТОРЫЙ будет принимать уведомления о прерываннях. К'тиентов ожет быть несколько. и уведомления посылаются 80 все пункты назначения. Ключевые C10Ba loca tlO:: и con:.ac1:. задают значеlИЯ объектов sysLocation н sysCon[act базы М 1 B 11. е помошью флаrа rn можно контролировать объем журна'lьноf; ннфор маuии. выдаваемой сuенарием snrnpd: sn.mpd rn иаска AprYMeHT маска до:rжс:н представ.."IЯТЬ собой побllтовое объеДlIнение флаrов. выбираемых из табл. 10.2. Таблаща 20.2. Фrюrи для сценория snmpd в HPUX Флаr Функция Отключить ЖУРнaJlЬНУЮ реrистрauию PCruCl1Jl-!рО88ТЬ отказы 8 аутеНПIФИ.к..щии -;' РеrиCl1Jировать ошибки 4 РеrиCl1JИРОНИТЬ запросы на коифиrурирование Рсruстрироватъ SN МРтранзак:ции 16 РеrИCl1Jироватъ добаWlяС'мые объекты 32 распечаты1атьь нес пакеты в шестнадUЗ'rеРII'IНОМ ВИДС 64 Рсrистрировать сообщения о траССИрО8ке к сожалению. в HPUX S:\IMParem не НСПОJlЬЗУет CliCTeMY Syslog. Стандартный файл реrистраUИli  />аr/аdШ/SППlрd.lоg; др}тоl1 файл можно задать с помошъю опции I. 680 Чость 11. Робота в сетях 
SNMPareHT UCD После выхода первото стандарта SNMP в университете КарнеrиМел...lOна и МассачусеТСКQМ технолоrnческом институте были разработаны реiL'1lнаШfИ' протокола. Университетская реализация ПОЛ)'l.Jилась БО.<Jее полноЙ и быстро действую шей. поэтому она стала стандартом дефакто для UNIХсистем После прекрашения разраБОТК1f SN М РПРОl1УКТО8 EI университете КарнеПI Меллона работы прололжили специалисты КалнфорннЙскоro унивеРСllтета в Дэвисе (UniversilY of California аl Davis, UCD). В настояшее время ДИСТРliбyrив UCD широко распространен в КC'lчестве 6еСJшатной реализаuии протокола SNMP ШIЯ UNIX. Мы настоятельно pekomeJ-Шуем использовать этот пакет в тех системох. которые не ItМЮТ собственных SNMParemoB. В состав пакета ВХОДИТ SNMPareHT. несколЬКО yrилит командной строки " даже библиo-reка для разработки 5NM РпрlUlО жений. Ниже мы рассмотрим работу c3Moro ап:нта. а об утилитах поrоnори\.{ чуть позже. Последнюю версию пакета можно по..'lучить на WеЬуз.ае ucdsnmp.ucdav",.edu' . Как н в дрyrnх реализациl!X SN М Р, UCDareHT собllрает данные о локалЬном компьютере и пре.!lоставляет liX S М Рменед.Жер<1М rIO CCТlI. По умолчанию инсталлируются баJЫ М I В. I;одержашие стаП1СТlfчеСКllе данные об использованИи ceтeBoro интерфейса. паМSIТИ. ДНСКО8, проuессоn н UCH тральноrо проuе-ссора. Возможности аrеНТБ достаточно велики. так как он может запустить любую UN IXKOMat-lДY li представить ее выходные !l<1нные в качестве SNMPoтneTa. Это позволяет посредстпом протокола SNMP ос'Шествлmъ мониторинr практически любых собьпиf1. происходяши-х в системе. По УМО!lчанню areHT ИНСТ3JJЛируеТСSI под именем /usr/sbin/snmpd. Обычно он запускается на этапе наЧальноЙ заrpузю{ системы и считывает пзрамl:ТрЫ своей конфи-ryрашш из файлов, находяшltхся в КOTaJТore /etc/snrnp. Наиболее важный из этих файлов  snmpd.conf; он со.nержит большинство конфиryра uионныХ парамеТР08 и описание множества ДОСТУПНЫХ МеТОДОВ сбора данных. При разработке пакета ero авторы полаra.чи, что пользователи !lО!JЖНЫ редактировать только фаf;л sJlmpd.local.conf. Но на практике ПРИХОДИТС'1 хотя бы ОДИJ--! раз Ifзменять 51 фай'I snmpd.conf. чтобы отключнть те метОДЫ сбора данных, использование которых не планируется. СценариЙ configure Ilакета UCD позволяет задать используемыЙ по умолчанию журнальный фаЙ'l я рял .nрyrих локальных параметрОR. С поt.ю ШЬЮ ОПUIOf I. указываемой Прli вызове демона SПП1рd. можно выбрать дрyrой ЖУРНЮIЬНЫЙ фай..'1, а посредством опuии S орrанизуется направление журнальных сообшений в систему Syslog. Перечень НЮiоолее важНы>: опuий демона snrnpd приведен в табл. 20.3. Мы рекоменл.уем всеrда задапать оппию a. При поиске неисправностей упобно применять опции V. d и D, которые позволяют получать более подробную информаuию о ПРОИСХОДЯШИl( в системе событиях. Следует заметить, что сушествует большое количестпо полезных МОду']еЙ Perl ШlЯ SNMP. Тем. кто собирается писать собственные сuенврии управления сетью. рекомендуем об ратиться в архив CPAN-- за ПрН\1ерами. С конца 2000 r проею перешел под управление компании SourceForge и стал называться NetSNMP. Изменилось и местонахождение Web--узла; теперь ero адрес  пе[sпmр.sourсе rOQ!e.nel.  Прш..еч. ред. Архив CPAN (Comprehensive Perl Arcblve Network  rлобалыmя сеть архивов Реrlлроrpамм) содержит велихолепную ко;тсКЦИЮ полезных мо.п.уJ1СЙ Perl. Обрвшайтссь по anресу www.cpan.org. r l1аво 20. Управление сетями 681 
т облицо 20 3. ОПЦИ1 демоно snmpd покето UCD ,ОпЦ>IЯ I фаll.Jl . d v D b H A . Функция.'" Направлять ЖУРНоВ...'1ЬНУЮ ИНфОрМ8WDO В файл Реrистрировать адреС3 всех SNМР--соединеннfi Реrистрировать содержимое каждоro SNMPnaкeTa Включить режим подробноrо оrшсания событий РешCl-РИРОиа rb От:lадочную информашtю Отображать flCC арryмснты пемонз Юlmpd Orображать IIсе 'nllpt:K ПIВЬ! КОНфlU)'рuионноro файла Добавлять панные u ЖУрll8.'1ьныА фаЙJl. а не I1срезаlll..,сынать cro НаnpВIШЯТЬ рСI и(..-траШIОfIНЫС сооБШСНllЯ 8 CIIC"fCМY Syslog 20.9. Проrраммы управления сетью Мы начнем этот Ilараrpаф с рассмотреНIIЯ llростеиших SNMPIfHCTPY ментов: }'ТИЛИТ пакеТi1 UCO. С ИХ ПОfOшью удобно проверять ЗlачеЮiЯ конкретных liДеНТИфJrкаторов 010. Затем мы познакомимся с проrран.юя MRTG, строяшеЙ rрафики IlзменеНJ1Я sNмрпеременны:.. и еисТе\ЮJ1 МОНИТОРliнrа событий NOCOI.. В tавершенltе I1рШЮШПСЯ peKoMellД,lu",t 01"носите:IМIO Toro. на что С.'lепует обратить BI-II1Мё.lНllе Прlf покупке KOMMCp lескИ=-': систем. Утилиты пакета UCD Даже еелп система I1ОСТ3В!lяеlСЯ с собстненным SNМРс-ерпером. длSl полноuенноro .ШМIIННСТРllрования понадобится СКОМПllлировать И IfнстаЛJl'I ронзть семь К.!Iнентских vтилит пакета UCO. перечислеllНЫХ в табл. 20.4. т облица 204 Утилиты покета UCD VТИЛI-1ТО snmpge[ sоmрgс[пех[ !lnmpse[ snmptabIe snmptraDslate .snmptrap :!iпmр",'аlk ..   Нозночение ПолучаС'Т от атента lначеНI-tе SN М РflеремснноЛ Получает Ha'ICHII СJlсдуюшсfi IIСремснной IIOCJlеДОВit I"t:ЛЬНОСТl1 ПсрепаС1 <lП:Н ry JначеНllС SN М РlIсрсмеш-юf1 ПО.'1учзеl' rаб:шuу JНЗ'lеНltЙ SNM Pllept:eHHbIx ОсушссrВJlЯСI. поиск IUlСН.ШфIIК3ТОрОН 01О И I'IX ОПllсаниЙ в ICpJpXIHI базы MIB rСliерирует сообшсние о Jlрерывании IlросмаТРlшает баJУ MIB, начиная с :шданноrо идентификаТОрit OID IlереЧИС.1нные УТИЛИТЫ '1pCJBbI ' laf1Ho удобно Ш..::ПОJlыонвrь в сuеНf1Р"Я. Н:Шрllмер. lal.:TO требуется сuенаРIlИ. и OТOpOM ДJ.нные. ПОЛ}ЧСlIные УТIIЛlfТоif SППlрgеt, каждые неСI\ОЛЪКО минут СОЧШIIЯlO1СЯ Н TeKCTonoJ"f фаf1ЛС-. (СостапиТl. расписание работы уrилиты Sllшрg('t ПОl1ЮЛI-rТ демон crOll, СМ. шану 9) Примсчательна ТdIС..кС \'"II-I.'IIIId SllПlр",,'аlk. Ha'IttB с YKaJa1lllOl'O IIдеliП'фll катора OID (ИЛII. по \IOЛЧсШIIIО. С нача:ш бюы MIB), он;] выплняетT Б ШП":.ЛС запрос gctnext В pe3Y:lbTTe формируется ПО:iНЫЙ спltСОК доступных IIдeH тификтороя 010 И IIХ ШdчеНI1Й Ниже IIршеден IIРЮ,lер nЫIIO.,'IНеНШI }rIfJIIITbI 682 Чосл" 11. Работа всетя>: 
snmpwalk ШlЯ комльютера jaguar (apl)?feHT pubIic задает пароль, или "имя сообшествв "): " slUIIpwalk jaquar publ.i.c sys't.em.sysDescr.O '" L1.nux jaguar 2.2.1220 Н Моп Sep 27 10:-40:35 ЕОТ 1999 system.sysUpTime.O ... Timetcks: (88516617) 10 days, 5:52:<46.17 system.sysName.O "" jaquar sуstеm.sуsLосаt.iол.О "" Sесолd Floor Machne Room interfaces. ifNumЬer. О .: 2 interfaces. ifTable. fEntry. ifIndex.l 1 iпt.еrfасез.ifТаblе.ifЕпtrу.ifIпdе:к.2 '"'" 2 interfaces.ifTв.b1e.ifEnr.ry.fDescr.1  "100" Нех: 6С 6F 30 interfaces.ifTable.ifEnLry.ifDescr.2 "ethO" Яех: 65 74 68 30 interfaces. itTable. ifEntry. ifType.l "" softwareLoopback (24) interfaces. fTable. ifEntry. fType. 2 =- ethernetcsmacd (б) interfaces.fTable.ifEntry.ifMtu.l "'" 3924 interfaces.ifTable.ifEntry.LfMtu.2 -=- 1500 interfaces. ifTable. ifЕпtrу. ifInOctets.1  125906(:)2 interfaces. ifTable. ifEntry. iflnOct.e'Cs. 2 == 2287718531 in'Cerfaces. ifTable. ifEnt.ry. J.fInUcastPkts.1  75576 interfaces. ifTable .l.fEncry. J.fInUcastPkts.2 =- 79730602 iп'сеrfасеs.ifтаыl.J..fЕпt.rу.ifIпЕrrоrs.ll := О interfaces.ifTable.fEntry.iflnErrors.2 - 218 J..nterfaces .ifTable. J..fEntry. ifOutOctets.1  12591593 interfaces. ifTable. .1.fEntry. ifOutOcter.s. 2 "" 3374588125 Утилита отобразила основную информаuию о системе и статистические данные о Рdботе дву'" сетенЫ',< интерфейсо". 100 и etl;O. ВЫ80Д 'Титпы snrnpwalk может содержать СОl нн строк: их коли",ество зависИт от поддержи ваемых areHTOM баз MIB MRTG: мноroмаршрутный визуальный анализатор трафика Проrpвммв MRTG (MulllRoLlter Traffic Grapller  Мlюrомаршртный визуальныи анализатор трафика). со:щанная Т06иасом Упtкером (ТОЬШS Oe[iker) из Ш иейцарскоro федералъноrо технолопtческоro инстнтута в uю рихе, собирае-т Д3111tыс SNM Р н строит rрафикн liX Itзменения 80 временн. ПРOlрён.tl\lа напнсана преllМУlllественно на Яjыке Perl. Она оказывает неоuенимую flOМОШЬ в ШШJПI1С ИСПОЛЪJования сl1стемы и сетевых реСУрсОВ. Проrpамма М RTG пеРНОllJ-lчеСК..1 liiпускается деМОНОМ cron и может получать данные от любоl""О JiСтОЧННК3 SN М Р. При каЖдОМ запуске получен ные данные сохраняются и строятся новые rpафlrки. Эта свободно распространяемая nporpUMMa имеет рsщ приятных особен настей. Вопервых, она использует не требующую ад.министративноrо 8MC шательства базу данных фиксированиоrо рюмерii, в которую записываЮТСSI ТОЛЪКО сВедения. необходимые nля сознания 1 rафИКОR. Например, nporpaMMa MRTG умеет со"\ранять одну выборку ШlЯ каждой MItI-tyrbl дня, JL11Я каждоrо часа недели и Ш1Я кажnоЙ неделн roдa Такая CXC1a УКРУl1неНШI П03ВОJlяет Ilредоставлять ПОЛЬJователSl'l.1 Rа)fi,.НУЮ IIнформацию. не требуя хранения несушеСТRенныJo; деталей 11 затрат времени lIа аш.ШI-lистрнрование базы данных. BOBTOpЫX, nporpaMMa М RTG способна JЮ1ИСЫIШТЬ lначения и отобра жать rpафliЮi ИХ изменения 80 времени для J1юбоf; SNМРпеrемеНl-IOЙ. Вместе с SNMPareHTOM пакета UCD nporpaMMa М RTG обсспеч--и--вает МОНИТОрllнr практически всех системных и сетевых ресурсов. r лово 20 Управление сетями 683 
На рис. А приведены примеры rрафиков, созданных проrpаммой MRTG. Эти rpафики характеризуют трафm:, лроходятиЙ через сетевой интерфейс в течение дня и недели. Идеи, заложенные n nporpaMMe MRTG, получили развитие 8 НоВОЙ системе RRDюоl. созданной тем же автором. Конuепuия Clicтer>.fbJ та же самая, но средства укруттнеЮ1Я данных и rрафические возможности YC08ep шенствованы. Правда, в отличие от проrpаммы MRTG. система RRDtoo не 11меет собственных метОДОВ сбора liнформации. Данные должны быть получены друrими проrраммами. На сеrодняшний день сбор панных ШIЯ систем:ы RRDtool лучше вeera осушествляет проrpамма Crickct. написанная Джеффом Алле нам (JelТ Аllеп). Она не оrраничивается ТОЛЬКО панными SNMP и способна получать информацию почти от любоrо сетевото ИCiочника. Проrpаммз написана на Perl 11 может бьnъ леrко модифиuиропана д..'1Я обработки НОВЫХ источников данных. На WсЬстраниuе Тобиаса Утикера ieestaff.e[hz.ch/oetiker) находятся ссылки на текущие версии проrpамм MRTG, RRDtool 11 Cricket. [5ве.е k - . . . . . . . ... ';+tt.Ч:j1Щ;Щ!iLi ' '2:080.0 k [вее.в k ee.e k е.е k 6 в 18 12 104 160 18 28 22 е 6 s 18 12 14 :::: : In .1..... B'tiP'er ..n... ...i...... ...1... ;I\.!....I\.i.... ; !::::f:". .. .....}) 'V.., ..S/ е.е м "с, 5.. 5un Моn Tu. и.d Thu Frl 50' Рис. д. ПРlм.леры rРОфИI<ОEl nporpOMMbl MRTG NOCOl: интерактивный сетевой административныЙ центр NOCOL (Network Operation Сепtеr On..Line  интерактивный сетевой административный центр) представляет собой cJ.fcrefl<fY управлеН1fЯ событиями. Эта система не поможет администратору выяснить, насколько возросла заrруж.енностъ сети за ПQследкий месяц. зато она способна уведомить о крахе \\'ebcep8epa. Система может посьmатъ сообшения На пей.nжеры оБСЛУЖИElаlO шеrо перСDнал8 (или по электронной почте). информируя о самых разных событиях. В дистрибутив вхопят nporpaMMЫ МОНИТОРИНfЗ, которые следят за различными "проблеМНIOfИ" компонентами сети. Можно создавать допо.'Тни тельные мониторы нв языка.х Perl Imи С. Базовые методы опоneшения пользователей таковы; отправка сообщеЮ1Я по электронной почте, создание WеЬстраНJШЫ. отображение статусной информаUИli посредством функций библиотеки cnrзе! и сброс сообщения на пейджер через МодеМ. Как и в случае 684 Чость 11 РоБОТQ EI сетях 
с проrраММ8МИ мониторинrа, разрешается пополнять этот список собствен ными методами. Тем, кто не может себе позволить приобрести коммерческие средства управления сетью, мы настоятельно рекомендуем использовать систему NOCOL. Она оченЬ хорошо работает в сетях, rдe число узлов и контроли руемых устройств не препышает 100. За дополнительной информаuией обрашайтесь по адресу www.ле[рlех(есh.соm.. Коммерческие системы ceTeBoro управлени Сотни компаниf; продают проrраммное обеспечение для упраа'lения сетями, 1f каждую неделю на рынке появляются новые иrроки. Мы не будем рекомендовать конкретные новейшие продукты (за время подrотовки книrи к печати все может измениться), а попробуем сформулировать требования к системе управления сетью. Возможность ПО.'1учения различных ВИдов данных. Лля систем управления сетью важно уметь По."I)'Ч8ТЪ не тштько данные SNMP. Мноrие пакеты позволяют принимать информаuJ.fЮ от большинства ДРУТИХ сетевых С;J)rжб. например выполнять SQLзапросы, обрашаться к DNS и \\'ebcepBepaM. КачеСТRО пользовате.rlьскоrо интерфейса. Дороrостояшие системы оБыноo позволяют выбирать между имеЮll.[I1МСЯ rpафнчеСКI-IМ интерфейсом и.ни WеЬинтерфйсом. Пакеты. разработчики которых учитывают рыночную КОНЪЮНКТУРУ. подде-Р>lпшают ХМLшаб'10НЫ nля представления данных. Важно. чтобы интерфейс позволял nреПСТ38..'IЯТЬ информаиию наrля.дно li понятно Стоимость. Некоторые пакеты и-ме-ют завышенную иену. Пакет Open\/iev.' компании HewleLtPackard являеТСSI одним из наиболее дороrостоящих, но в то же время одним из самых распространенных. Для рЯll3 корпораuий престижно, что их сетИ ynравляются высококачественной коммерческой системой. Ест мя вашей орrаЮiЗ8UШi это не так важно, обратите внимание на бесллатное лроrpаммное обеспечение вроде М RTG или NOCOL. Л-втоатическое обнар)'ЖСlfИе )'злов Ряд систем обладает ВОЗ\lOжностью "обнаруживать" сеть ОтllраR..ЧЯЯ широковешательные рiпgпакеты. выполняя SNМРlапросы. просматрllВ8Я таблиuы \tаршрутизаuиJ.f и обрашаясъ к с.'l}l)f(бе DNS. ОЮi способны идеНТИфШШРО8ать все компьютеры и устройства в сети. Как правило данная функuия реа:lизована достаТочно хорошо, но она не всеrда спраВ!lяется со С10ЖНЫМИ сетям'-1 илн сетя:r..rn со "строrnми" бранд мауэрами. Средства отчета. tv'1 ноrие проrраммы способны отправлять преlIупреЖде ния по электронной почте, выдавать сообшения на пеЙ1IЖеры и автоматичеСЮi reHeplipoBaTb )"веДО),['1ения Д,.'1Я ПОПУ.:1ярных систем С.:lежеЮiЯ за ошибками. УбеД1fтесь, что выбранная платформа позволяет rибко настраивать систему отчетности. Кто знает. каюrе электронные ycтpof;cTBa появятся в ближайшие rоды'? Возможности КOIlфИf}o'рирования, Некоторые ПРОИЗВОДJпели в своих раз работках пошди rораздо дальше простоrо мониторинrа и выдаЧli сообшен1f'И. Их системы позволяют управлять онфиryраШiе-й J(омпьютера или устройства Например, система Cisco Works посредством спеuиальноro интерфейса в Н8стояшее время компания Netplex Technologtes предлаraет систему следуюшеrо nOKO"::Ie IfИЯ: SNIPS (S(em and Ne!Work lntegratod РоШлg Software  ннтеrpнроnaнная лроrpамма опроса системы и сети).  I1рuмеч. ред. r n080 20 VПрОВj1еНI.<1е сетqми 685 
разрешает пользователю изменять КOIiфнryраuюо маршр}тнзатара. Посколы;:у данные о конфиryраиии УСТрОЙllНCl необхошt\IЫ дпя rлубокоrо анализа сетевых проблем. мы npедполarаем, что в будущем большинство nporpaMM будет располаrать средствами изменения конфиrураllИИ сетевых компонентов 20.1 о. Рекомендуемая литература Cisco ОпНпе. 1ll1eтetworkтg Tec/m%gy О,.'еПlеи': SNN/P. htlp:II\V'W\\'.cis co.com/un;vercd/cc/td/doc/c isiп! wk/ito  docjsump. hun Huot. Craig, алd Gig. Estabrook. TCP/IP NeMork Admiтs/ra/ion. SecOI.d Edi/;on. Sebastopol: O'Reilly & A5sociaIes. 1998. SIЗШПgs, WiIliam. Sllтp, Sптp,,'l, Sптp"'3, cтd Rтoп 1 aпd 2, 71rird EdillDll. Reading. МА: Addison-Wesley. 1999. Также Mor)'T оказаться полезными переЧlfсленные ниже дОJ....уМеНТы RFC. Вместо названиЙ мы привадим краткое описание их содержимоrо. так K8io.. названии представляют собой не вполне понятный набор МОДНЫХ словечек и жарrона SNMP. . RFCI155  характернс:тнки IlрОСТрЗНСТИCl данных SNt\.'IP (типы данных и Т.п.). RFCI156  определения базы MIB-I (описание илентнфикаторов 010). . RFCI157  ПРОТOI;ол SNMP. RFCI213  определення баlЫ MIB-)) (or1lfсаш<е идентификаторов 010). RFCI901-RFCI91O  протокол SNMPv2. RFC2011  бюа MIB для протокола IP в SNMPv2 . RFC2012  база MIB lL1Я протокола rcp в SNMPv2. RFC2013  база MIB l1!IЯ протокола LIDP в SNMP,'2. RFC2021  базti. RMON версии 2 с I-tСПОЛЫOl:ШllИем SMlv2. RFC2570  ввепеЮ..lе 8 ПрОТОКОЛ SN М Ру3. 686 Чость 11 Робото в сетях 
27 Безопасность (3 Разрilботчнки операШЮIIНОЙ системы IJNIX Ie llРllп.аВЗJ1И ocoooro lнзчеШIЯ IЮl1рОС3М ЗШНТЫ. 11 по ПОЙ ПрllЧllне HII оnну 113 LJNIXcltcTeM нельзя сд.С'I<lтЬ ПОIШСТQ}IШСМ беЮШ\":IIOЙ. На ПрUТЯЖСIIИlt псеи ИСТОрltlt LINJXcHcTeM 11Х рСI).IЯрНО Вl!1<lМЫПIOТ. IЮртЯТ. YnCllaT, d также неЗ3КQНВО ЛРИСВ311ВiНОТ It МОЛlfфllНllруюr Ш1lШЫС. С IIOЯВПСllием сети Il1lетпс( нача.'1СЯ НО!lЫИ этап .пой "'ХоЛоДНоЙ воЙны" Коечто для повышеНlIЯ надеЖНОСТII UNIХсистемы_ ра.lумеется. спелать МQЖllо. Но IlOлная IIИрRаl<J беЗОl1асности все же неДоСТИЖJlМ3. ибо в -модели LJNfX естЬ несколько ФУflдзментапьньп.. JПЪЯНQВ. которые IlеВОJМОЖНО ycтpa НИТЬ. ОС II N IX ОрIIСIIТИрОВ<IН3 прежде BCCI-O на удобство в 11рименеНIfII. tJTO отнюдь не препполаrает естественность If I1pOCTOТV ее lашиты. Эту систему разрабатывали IiСС'Iспователи 1LiIЯ I-fССЛё'понателеи, 11 конuеllUJfЯ llNlл заЮТЮ'lается в обеспе'lеНИl1 уnобнOJ.О МШНШУJlИРUВ"НИЯ д.ЗШIЫМI-I в ceTC80lf МllOrоrlOjIЬ.юватсльсJ,.ОП срепе. Стратсrия j:1.ЩIПЫ в LINIX, по I.:ТП'I. преПllолапtет вcero пвС1 статуса пользователя: ПОЛЬ10в.пель. не об.'lidдС1ЮШИЙ IIрllВlпеПIЯМlt, 11 супсрполь З0взтель Т<lкая I:IОlМОА<НОСТЬ llIX. как ВЫПО.lllеНllе nporplMM с YCT8 HOB.'ICHl-lbIМ бllТОМ CMellbI идентификатора пользователя, обеспечивает прltвилеrllров.Н-IIIЬ1И nостун ко пес" RЫЧIIС_:lIIтелыrым ресурсам СlIстемы Пр" этом 1H1a нсзнзчптелыIхx OrpCX:OB в _ЫШlIте может быть IIOCTali:lCHO под yrрозу IlOpI3JIЬHOe ФУIIКШIOННРОВ<.lIlИС системы как таковой. БО.IIЬШIIНСТБО адмшшстраТИ8l-IЫ'< фнкuиj.1 реа.тнвовано вне JlПра, по")том к IIИМ МОЖIIO без особоrо труда получить nостуn с иеЛLlО просмотра 11 Rнесения изменении. Это oTKpbIRaeT широкое поле д.еятеlЬНОСТИ JUIЯ хакеров. Первое издание JТОЙ книпt ВЫШ.IO в свет Bcero несколько меошев спустя после IIOЯR.ПСI-lIlЯ в t:СП1 IШС'П1еl -ш;]меНlIтоrо .'черня" (1988 [.). ':JTO соБЫТlI':, которое ЗidСТЗJlО врасплох очень I ноrие ОР'.i:1НИ Jашш (и том ЧIIС.;lе " наш r лова 21 Безопоснасть 687 
универсИ11'Т). получило широкую оrласку. Тоrда казалось, что Роберт Моррисмладшиl! (Robcn Moms, Jr.), автор проrpаммы"червя". навлек страшнейшее бедствие нв все соо6шество I ntcmct. На СаМоМ деле "червь" нансс лишь незначителъный уwерб, зато бдительность пользователей rлобвлъной сетИ возросла на порядок Все мы прОСТО еше раз ВСПОмНИЛИ о нвропной мудрости: чем выше заборы, тем добрее сосеДИ. В результате пОЯВИЛСЯ uелый ряд прекрасных инструмента.i'JЪ ных средств ДrUI системныХ 8ДМИR'Истраторов (а также были основана орrанизаuия, предназначенная д.тIЯ борьбы С подобным вредительством). В системе защиты UNIX сушествует множество всем известНЫХ 'ИЗЪЯНоВ, которые никоrда Не бу.пyr устранены. и просчетов. которые одни произво дители устранили. 8 дрyrие  нет. Помимо этоrа. мноrие орrанизации на OДHYДBe версии nporpaмMHoro обеспечения отстают: либо по причине сложносТИ ЛОК8Лизаuии, либо потому, что они не заключиЛИ с поставшиком доrовор о сопро80>Юlении системы. ЕсJТИ производmель заткнул маленькую nырочку в системс зашиты, это не озиачает. что окно для взлома исчезнет на следующий же день. Раньшс счwraл-ось. ЧТО по мере выявления и устранения брешей безопасность операционной системы UN [Х будет непрерыВНО повышаться. Суровая реальность оказалась иной. СЛОЖНОСТЬ системноrо nporpaM1iHoro обеспечения стремительно растет, хакерская деятельность все больше приоб ретает черты арrанизованной преступности. компьютеры оказываются все более тесно связаннЫМИ посредством сети [ntemel. Война переходит в новые измерения, и, похоже, побеп-ителей не будет. Запомните такую формулу: Безопасность = 1 1,072 х YiJoбство Чем безопаснее система, тем труднее в неЙ работать пользователям. 21.1. Семь правил защиты Эффективная система безопасности должна базироватЬСЯ на здравом смыле.. Она во MHorOM напоминает борьбу с ТРЪ1зунами в доме. Вот семь правил. которые при этом следует соблюдать. . Не оставля1:lJте на HOtrъ на кухонном столе то, что может ПРНБ...1сqь rpЪ1зунаВ. Лучшие лакомства для них  сыр и масло. . Заткните все дыры, через которые rpызуны обычно попanают в дом. EC.'1t1 они не залезут внутрь, то не CMOryт вас побеспокоить. Позаботьтесь о том. чтобы в доме не было мест. rne rpызуны моrли бы ВЪ1вести потомство. Мыши любят устраивать rнезда 8 кучах тряпья. . Расставьте вдоль стен. в тех местах. rде вы хотя бы раз видели мышь, мышеловки. . Каж.цый день проверяйте мышеловки, меняйте приманlCИ и выбраСЪ1вайте дохлых rpызунов. В заполненные мышеЛОВКI1 rpызуны уже не попадают. В частности, изза плохоrо запаха. . Избеrайте ядовитых приманок. Отравленные rpъпуны мотут навсеrла остаться В cтeHCL'X дома. Кроме Toro, есть риск, что отравится ваша собака. Лучше Bcero пользоваться традИllИОННЪ1МI1 мышеловками . Заведите кота! 688 Часть 11. Работо в сепх 
Этими же семью правилами (с незначительныии корректировками) можно с успехом руководствоваться при орrанизаиии зашиты ljNIХсистем. Вот как ОНИ звучит применительно к UN lX. . Не ОСТЗRЛяйте без присмотра файлы, которые MOryr представ.'IЯТЬ интерес ДI1Я хакеров и не в меру .1юбопытНЫХ сослуживuев. Коммерqеские тайны, персоналъные ДОСЬе. бух.rалтерские ведомости, результаты выборов и Т.д.  З8 всем этим нужен rлаз да rлаз. r орвздо надежнее зашифровать данные. чем просто пытаться предотвратить к ним несанкuионированный доступ . В орraнизаиии должен сушс:ствова'l"ь порядок работы с секретной пнформаиией. Некоторые рс:комс:ндаuии по этому поводу даны в rлаве 27 и документе RFC2196. . Затыкайте Оlдырки". через которые хакеры MOryr получить доступ К системе. Читайте бюллетени фирмпроизводителей и списки рассылки по вопросам зашиты, чтобы своевременно узнавать о выходе "заплат", Отключите ненужные сервисы. Сделайте так. чтобы 8 системе не было мест. rne хакеры моr.iП'l бы закрепиться. Хакеры часто в.'18мы3ютсяя в одну систему, а затеМ испольэуют ее как базу для оперauий по взлому л:рутих систем. Анонимные FТРкаТ8Лоrи с возмоЖНОСТЬЮ записи. rpупnовые учетные записи, учетные записи с плохо подобранными паро..1ЯМИ  вот OCHOBI-1ble уязвимые места. Устанамивайте ловушки ШfЯ обнаружения фактов ИJ1И попыток вторже ния. Такие средства, как tripwire. tcpd и crack (описаны в пара'l'афе 21.7). nOMoryr предупредить возможные проблемы. . Следите за отчетами, которые rенрируются ЭТИМИ проrpаммами. Незна чительная проблема, проиrнорированная в oeTe. к моменту получения следуюwеrо отчета может пере расти в катастрофу. . Учитесь защишатъ UNIХсистемы своими силами. Инаqе вам не изба виться от ра3..'1liчtюrо рода высокооrтачиваемых "консультантов" по вопросам безопаСНОСПl, которые бу!fYТ п}тать вас 1{ ваших РУКОВО1I1пе1ей лс:деняшю..1И душу рассказа\iИ о том. насколько беззащитны ваШIi системы. Такие спеuиа.'исты обrчены rpaMOTHo доказывать. почему вам нужно в.'ОЖlfТЬ "Bcero" 50000$ в обеспечеl-1ие ПО.'1ной безопасности системы. К сожалеНIIЮ, после таКIIХ б.1аrопстелей внутри систеl\.{Ы часто остаются nOx.lble мыши. изза которых ПрОIIЗВОЛlfте.1ЫiOСТЬ работы ПО.'lЬЗ0вателей Падает до нуля. Так что. Зd.шита системы должна базироваться на традиционных технолоrия->: и здравом смысле. Постоянно следите за тем. не поя-вились ли отклонения от J.Iормальноrо хода работы системы. Обрашайтс: ВIOIмание на все необычное, например на непонятные журнальные сообшения итI изменение характера исполь зования какойтiбо rчетной записи (резкое усиление активности, работа в необычное время, работа во время отпуска маделъuз учетной записи) 21.2. Слабые меаа в сиcrеме беэопасноcrи в последуюших параrpафа.х раССfатриваются некоторые наиболее распро страненные проблемы. связанные с безопасностью UNIХсистем, и CTaHдapT ные контрмеры. ПОЗВОJ1яющие избежать этИХ проблем. Но преЖде че...t r пава 21. Безопасность 689 
поrрузиться в летали. необходи-мо взrлянyrь на СИТУЮJИЮ в иелоМ и определить основные истоqники неприятностей. Че.ловеческий фактор. Пользователи (и администраторы) системы часто являются ее слабейшим звеном. Например, компания America On1ine печально прославилась тем. что ее мноroкратно атакОвали хакеры, nритворявшиеся служашими компании. Они посылали rтясьма потенuи алЬНЪJМ жертвам с просьбой выслать пзрали мя "системноrо теста" или Uплановой проверки учетной записи". Наивные пользователи часто выполняли такие просьбы (некоторые до сих пор так делают). Есть масса разновидностей подобноro шарлатанства. Одна из задач спстемноrо ацминистратора состоит в обучении пользователей правилам техники безопасности. Мноrие пользователи. начиная работать в IПLеmеt, часто не подозревают. сколько там Elсякоrо жулья. Научите их выбирать хорошие парели и хранить их. а rлавное  никоrд.а не общаться с незнаКОМllами Не забудьте 8 своих наставлениях упомянyrь 06 неэлек тронных средствах комщникаuии: в умелых руках телефон тоже может оказаться опасным оружием. . Ошибки в nporpaмMax. За MHOro лет в проrpаммном обеспечении UN 'Х (включая сторонние протраммы. как коммерческие, так и бесплатные) было выявлено несметиое число ошибок, связанных с безопасностью. Используя незаметные проrpаммистские просчеты или архитектурные зависимости. хакерам удзвалось манипулировать системой по своему усмотреЮ1Ю. Что может сделать в ЭТОМ случае 8JIJ\iинистратор? HeMHoroe, по iI.'Райней мере дО TI:X пор. пока ошибка не булет выпв.пена, а разраБОИl< не исправит ее или не 8ЫПУСПП "заnлату" Быть в курсе послеЛНI'IХ событии  святая обязанность адМI'lнистра-roра. Открытые двери. Мноrие компоненты nporpaMMHoro обеспечения можно сконфиryрировать в режиме полной или не очень полной безопаСtlOСТИ. К сожалению, по умолчанию чаще Bcel'O принимается второй вариант. Хакеры мамываются 8 системы, иезуитски эксплуатируя функциональ ные возможности, с миссионерской шелростью npeдOCTaa'IeHHbIe разра боТ'fИК3МН в надежде сделать работу пользователей удобнее и ryмaHHee: учетные записи без паролей, rлобальный совместныЙ доступ к ЖесткиМ дискам и т.Л. И Т.П. OДl-l8 из CaJ\.ibL'I( важных задач, связанных с обеспечением безопаClIOСТИ системы,  убелиться в том. что. заботясь о блаrОПОЛУЧIfИ по;rь.зователей. 8Ы не приrласltJlИ на вечеринку монстра в маскаралном костюме. Проще Bcero устраНIПЬ проблемы 11ОслеШlеи кзтеrории, хотя их может быть очень MHOro и Не Bcerna очевидно, что именно следует проверять. Большая часть усилий, .Jзтраченных за несколько ПОС1елних лет на разработку nporpaMMHЫX средств защиты, была ('вязана с анализом причин, по которым система Может непрелнамеренно оказаться открытой для вторжений. Такие nporpaMMbl. как например, COPS (описана в параrp:!фе 21.7), помоraют сделать проиесс аули:та быстрым и автоматизиршанным. 21.3. Проблемы защиты файла /etc/passwd в файле /elc/passwd (8 некоторых системаХ также в файле /elc/shadow) содержатся СВедения О том. кто может вХодить в систему и ЧТО он при этОМ имеет право в ней делать. Такой файл следует рассматривать как передовую 690 Часть 11 Работа в сетях 
o ЛИНИЮ зашиты системы от захnаТЧИКОR. Ero нужно вести с особой тшатель ноетью. стараясь не допускать ошибок 11 не З31-ромождать yc-rареВШIВНI данными. Поdробнее (1 фаu.lе /еlс/рasя,,'d /ОЖl/О }'ЗlIоть в ZЛйве 6. Во Free BSD файл jetcjpasswd rенерируется на осНовании фаЙJТа jetcjmas ter.passwd и не должен редактироваться напрямую. Тем не менее не помешает в одинаковой мере защищать оба файла. О файле jetcjmaster.passwd рассказыналосъ в параrpафе 6.2. Проверка и выбор паралей РеryЛЯРНD (желательно кажnый лень) проверяйте. все ли учетные записи имеют пароль. В .:Iлементз'\: файла /etc/passwd, содеРЖ31llНХ описания nceB ПQНОЛЬJоозте..'IСИ наrlOдобие dаепlOП (такие псеR}lDllQJiыователи ЯВЛЯЮТСЯ влвдельизми некоторых системных файлов, но они шtкоrда не реrистрируlOТСЯ в системе), 8 поле пзреля должна СТОЯТЬ звездочка (.) Она Не соотвеТСТflует HJ.I одному шtролю и, таким образом, прелотвратит ИСПОЛЬ30В8Нlfе учетноЙ заrl иеи. Существует несколько спеUИ8.,'1ИЗИРОБИН}-JЫХ nporpaMMHblJi пакеТ08. KOTO рые обеспечивают проверку фаЙла /e[c/passwd на предмет наличия проблем. CBJI] Hllbf\ с безопасностью, 'Хотя для nOltCKa пустых паролеЙ НlIолне достаточно и такои команды.: perl F: ane 'p.rl.nt. if not: SFI!]; I ler:.c'passwd СиСl13РИИ, IiЫIIOJlIIЯЮIIОШ .ну npOBepJ...""}' It IllI.праR..1ЯЮЩIIII по эпеl>:ТРОIIIЮII nO'ITe реЗУJlЫ<1ТЫ ММIIНlIстратору, можно Ji.mVCKaTb rrосредспюм .'lell.lOIIJ crOlI ДОПОJ1НИТельно обезопасьте себи с помощью сиенария, которыЙ будет ежедневно сверять фrНl'l /clc/pa..liiisV\'d с ero версиеи Зi:J предьшушиЙ день (:ПО позволяет делать команда diffJ и сообщать о ВЫЯБ..'lенных разли'шях. К тому же вы получите ВОЗМОЖНость проnерять [lравомерность внесенных изменениЙ. Доступ к файлам jetcjpasswd 11 jetcjgroup следует орraННЗ083ТЬ так, чтобы их мопш читап. Rce ПО.1ЬJОRзтели. но право на запись име!1 только ПОЛЪЗOlsaтель rool. ЕсЛJ' в системе ПрИС}'1х..-т-вует файл /ctc/shadow. он должеН быть недоступен ПОЛЬJОR8те:НJМ Фаил /сtс/mзstеr.раsswd по FreeBSD должен быть доступен лишь СУllерl1nЛЬЗОВ3ТС!1Ю. В UNIX полыоваТI:ЛIf MorYT зап.lВать собственные ШiрОЛИ. Это, конечно, O'leHb улобllО. но nлечет за собой массу I1роблем. связанных с безопасностью Выделяя ПОЛЫОВRтешrм реrистраШlOнные имена. обяз.пелыю дзнайте It 1 указаНIfЯ о ТОМ. как правильно выбрать пароль. Следует преJ1}ПрСДIIТЬ полыопателей о недопусntМОСТJf задавать в качестве T3Koвoro фi:t."-IИ.1IIПI, иниuиалы. имен детей и cynpyron. а также слова, которые можно наЙТII н словаре. Паролн. СКОНСТРУ11рованные на основе таких личны,< данных, как номера телефонов и адреса, тоже достаточно пel'Ko подцаются раСШllфровке. Рекомендуется RыБНр8ТЬ пароль, состоящий не Mel1ee чеl\.f И1 восьми знаков. при этом допускается использование uифр, знаКО8 преПИIl8НИЯ, а также ПРОПИСНЫ'Х н строчных букв. Бессмысленные с.::очетаНIfЯ таков, слоrов. первые буквы слов леrко ЗЗIlОМlIнаемой фразы вот cdMble лучшие парОЛII. Прн ЭТОМ леrко заl10МШ13емая фра18 1-1e ДОЛ:>J...'l18 быть одной ИЗ широко Для ее вЫполнения требуется на..шчис шперl1рет.dТор8 Perl версни ) или выше r лава 21. Безопосность 691
распространенных. Лучше прllдумать собственную. Совет по выбору фраз прИВОДИЛСЯ в параrрафе 3.3. Во мноrих системах ЗН8чашнми ЯБ..1ЯЮТСЯ лишь првые 8 СИМВО.l0В пароля. Остальные просто иrнорируются. Этот вопрос рассматривался 8 параrpафе 6.1. Пиропи 06ьrчио меняютсЯ с ПОf..юшью команды passwd. СушеСТ8ует множество ее эквивалентов, призоанны'J( заставить пользователей выбирать более удачные пароли. Мы peKOMCН!lyeM прим-енять для этой uели известныЙ мноrим пакет npBsswd, подnеРЖlшвемый КI"J8ЙДОМ Хувером (Clyde Hoo\.er) из университета штата Техас Пакет "lOжно наИНI по адресу http;//www.utexas.edu/cc/unix/soflware/l1passwd @ в Solans входит верСIfЯ проrpзымы passwd. заСТ8МЯЮЩЗЯ пользователей придерживаться опрепе.:'lенных правил. например не выбирать в качестве паролей свои реrистраUИОl-Iные имена. Правила построения паролей задаются в файле /etc/default/passwd. Модель аутентификашш в Red НЗI основана на ПОIlк.'1ючаемых \.IОДУЛЯ\: аутентифюсаUН\I (PluggabIe Аt1Il,еl1liсаtiол I\ladules. РАМ) В СВЯЗИ с ЭТI'" команда passwd ПОlIЧ1iняется набору правил имеюшеrося МОДУ.:IЯ. описанны'J( . файле /etc/pam.d/passwd. Получить более подробную информаuию О МОДУЛЯХ РАМ можно по адресу 11Itp:/ /parc.power. лer/mоrgаl1/LiI1UХ РА M/i I1dex. html ( Теневые пороли Кажnый элемент фаJ.-'!:Ш /elc/pass",'d состоит I1j семи полей: второе поле со.держит строку. которая предстаR.'lяет собой зашифрованный пароль поль зователя. Для Toro чтобы моrли работать такие КОЧ8НДЫ. как 15 и ей подобные. к файлу /etcjpasswd ДО.'1жны IIметь 1I0СТУП для чтения все 1I0ЛЬЗ0ватеЛlI Таким обраЗО!.I, зашифрованная строка пароля доступна каждому пользователю системЫ. Злоумышленни ничеrо не стонт пре.'lСТ3ИИТЬ в зашифрованном виде uелый словарь или отдельные c:JoBa и пронеСТII сравнение с указанным полем во всех элемента,.; файла /etcjpasswd При совпадениИ сраВНlfваемых объектов злоумышлеНI-1IIК ПО:'lучает в свои руки параль. o Подробнее об OтllJdbItlaиUи tlйро.lеЙ рйсскйзываетСR (J парйlрафе 21.7. Насколько это опасно"? В 80e п. с-ществовал по кр.айней мере ОдIfН способ очень быстрой расшифровки паролей. , но рядовоry хакеру Прlf"\ОПl'l лось довольствоваться биб.1JIOТС'-1 ной ФУl-1кuией CI1'Pt().., Д,.lЯ TorO чтобы шифровать С'10П3 11] словаря .3..IЯ их послел)ющс,-о сравнения. Но в 80e п. "быстродействуIOШИЙ" компьютер \юr выloлIнIтьb .'1I1ШЬ ПОрЯlIка неСКО.'IЬЮfХ сотен операuий ШlIфрования n секунду. В Iggg [. ДЖОII rнлмор (101111 Gi1l11oreJ из орrанизаuии EleC-lrопiс Froтier i-=OLlIldаtiоп и шифрова.'IЬШIIК По!! Кошер (Paul Kocller) 8ЗЛОМШ1И 56pa]pflдl1bII1 ключ DES методо!!.' "rру60Й СИlЫ" зз в 1984 r. Зви Немет с помошъю сynеркомпьютера НЕР наШJlа к.1ЮЧ к ШI'lфРУ ДИффllХСМ мана. которым часто пользоваЩ'IСЬ прн работе по а;lroритму DES (Data Encryp(ion Stand ard  ст8Ji.IlЗРТ шифрования данных). Считалось, что aлrор:итм DES математически надежен; тем не менее при использованин ключей ма..10Й ДЛlН-{bl степень секретности значителЫ-lО пotnlжается. Не С.'1еll.ует nyraTh ее с команаой crypl. в которой ИСПО.1ЬJуется друrоft. MCllce бсзопасный алroр'пм шифровзния. 692 Часть 11 Работа в сепх 
I Ьр] 56 Часов. Последние исследования показыают,' что с ПОМОЩЬЮ специализи рованнOl'O компьютера стоимостью 1 млн .долларов МОЖНО взломать любой 56р8ЗРI!ДНЫЙ КЛЮЧ DES за считанные часы. ИЗ ЭТИХ далеко не обнanеживающих подсчетов BbrreKaeт настоятельная необходимость в Ol-рзничении доступа пользователей к зашифрованным строкам паролей. Самый распространенный способ  Поместить парали в отдельный файл. который может читать только суперпользователь. а осталъ нуто Часть файла jelcjpasswd оставить без изменений. Файл, содержаший информаuию о паралях. называется "'файлом теневых паролей" (часто он имеет имя jelcjshadow). Большинство производитслей UNIXсистем. в том числе наших тестовых. реапизует механизм теневых пnропей. В HPUX ДЛЯ работы механизма теневых паролей требуется установить ВСПОМоrаТельный проrpаммный пакет. Он содержит множество дополнитель ных средств защиты, но в то же время на порядок усложняет задачу администрирования. 0' r рупповые и совместно используемые учетные записи Опасно, если учетная запись используется более Чем ОДним человеком. Реmстрauионные имена rpуттл (например, guesl или demo)  удобная лазейка для хакеров. поэтому применятъ их не следует. Нельзя допускать, чтобы пользователи делили учетные записи с членами семьи или друзьями. Если маленькому Джонни нужно воЙти В систе1-[}'. чтобы решить домашнее задание, лучше предоставить ему для этой конкретной uеJПf отдельное имя. В случае злоупотребления проще удалить реПfстрauионное ИМЯ Джонни. чем Поставить под удар папину учетную запись. особенно если речь идет о правительственном учреждении. Дополнительные КОftшентарии по поводу совместно используемых учетных записей даны в параzрафе 27.1. Во MHomx ортанизациях учетная запись тооl ЯRЛяется rpуттловой. Это опасно! Рекомендуем контролировать предоставление прав суперпользователя с помошью прОrpаммы sudo (см. параrpаф З.4). Устаревание паролей Мноrие системы, поддерживающие теневые парели, позволяют реализо вать мехаНИЗМ так называемоro устаревания паролей. при котором полъзова телей принужцают периодически менять таковые. На первый взтлl!Д. это хорошая идея. однако на практике ее реализашfЯ мечет за собой определен ные проблемы. Не ВСЯКО1-[}' пользователю по душе замена пароля. поскольку она требует определенных усилий по ero поиску и заПоМ1lJнанию Обычно для параля выбирается простое слово, которое леrко вводится и запоминается, и коrда подходит время замены, мноrие пользователи. не желая себя yrpуждать, опять берyr предьщущий пароль. Таким образом. дискре1IllТИРУется сама идея. Тем не менее пароль пользователя root следует модифицировать реryляр но. При вводе он должен летко "скатываться" с пальиев, чтобы ero нелъэя было yraдaть, следя за движением пвлъuев по клавиатуре. В нашей орrанизаuии мнотие работают с проrpаммой _Оdo, но к выбору пароля cynерполъзователя мы все равно относимся с особой ответственностью, rOBO 21. Безолосиость 693 
Пользовательские интерпретаторы команд Не использyйfе сценариЙ как срепство для неконтролируемой (беспа рольной J реrистраuии в системе Вход 8 систему без пароля следует разрешать ТОЛЬКО lUlЯ nporOH8 небольших неиtlтерактиВНЫХ утилит, таКИХ как date. sync и Ipq Привилеrированные учетные записи Единственная отличительная черта ПолЬЗ0вате.rIЯ root состоит в ТОМ, что ero И1lентификатор равен О. Паскаль)..")! в файле /etc/passwd может быть нескоЛЬКО элементов, ШfЯ которых установлен ЭТОТ идентификатор, ТО существует и несколько способов входа в систему в качестве суперпользова теЛЯ. Один из способов, которЫЙ "\зкеры. получив доступ к интерпретатору команд с}перПОЛЫQвателя. широко применяют шш открытия '.черноrо ходз". звютючается в редактировании файла /etc/passwd посредСТВОМ ввода в Hero НОВЫХ реrистраllиоtftfЫ\ IfMeH с Iшентификзтором пользователя. равным о. Пас коль...")' такие I1porpa'IMbI, как who и w, работают с реrистраlJИОННЫМ именем, записанным в фаЙле /etc/utmp, а не с Iщентификатором владелыla реrистраuиоtlноrо интерпретатора. оИМ не в состоЯНИИ разоблач-ить хакера, который выrлядит как рядовой пользователь, а на самоМ деле зареrистрировзн в системе в качестве суперполыовзтеля. Спасеl.ШС от T3Koro веРОJlомства  прнменение МИ1НIсuенариЯ. попоб Horo ТОМУ. KOTOpbIf.l ИСI1Шlьзуетс-я Д!JЯ поиска учетных записей без пзролеf1-: perl F: апе 'print if [Iot SF[2J; I /etc/passwd Этот cUeHap отоБРi:1жает любые элементы фаf.f!13 pa.sswd. в которых идентификатор полыователя не указан ИЛII равен О Сuенарий МОЖНо адаПТИРО8ать д.J1Я поиска в фаЙ.'lе лемеlПОВ с подозрительными идеНТИфl1 каторами rpyml ют идентификаторами поль:ювателей, совпадаЮШIIМИ с ИJIеНТИфJ.lкаторами рУКО80ДЯUШХ сотрудников орrаНИЗ3LlИИ. ПРlIстальноrо внимання заслуживают. кроме Toro, элемеНТЫ файла passwd, в которых нет ItмеlШ пользователя либо вместо имени СТОЯТ знаки преПlIнаЮ'1Я. ЭТИ Э!IСМСIIТЫ \.!oryr по казаться не имеющими Сf\.fыела. но очень часто они ПО}ВOJIЯIOТ С80БОffiЮ в\:одить В еиете"'!)'. 21.4. Проrраммы с установленным битом смены идентификатора пользователя п роrpзммы. которые Зilнускаются с ИJмененным илентификатором полъ З0взтеля. особенно те, для которЫ"; УСТallOвлен идентификатор пользователя root, яВЛЯЮтСЯ источниl(ом проблем, связанных с безопасностью системы ТеореТИl.Jески KOMaI{Ilbl с УСТ31-1Овленным бlНОМ SLIID (Se1 User 10  смена идентификатора ПОЛЬЗ0ватсля). постзвляеl\.{ые вместе с операuионной CHCTe мой. являются беJопаСНЫМII. Тем не менее orpeXJI в ЗЗWlпе обнаружиналиеь в прошлом и. HeCO!l.IHeHHO, будут обнаруживаться в буд}щсм. Самыи надеЖIfЫЙ способ уменьшения КО.1ичества проблем. вызванных сменой идеНТl1фикатора,  это сведеНl1е к МИНИМ)rМ)' числа nporpaMM с установленным битом SlJТD. Подумаf1те дважды, преж.nе чем ИНСТRПJlировать Для (ro выполнс.ния требуется NaJпtчис Iштерпретатора Perl версии 5 Ш1И выше. 694 Чость 11. Работо е сетях 
такую проrpамму, и вообше избеrаите задаНltя этоrо бита в собс-твенных проrриммзх. Особенно подвержены всякоrо рода проблемзм сиенарии "HTl:pnpeтaTopa команд. Они автоматически ставят систему под уrpозу. Интерпретаторы допускают множество способов настройки. поэтому их леrко обмануть. ИlПер претзтор. запускаемый ШfЯ выполнения сиенария. не вcerдa читает пользова тельские файлы конфш-ур,шии. 1-10 есть и дрyrие способы воздействия на Hero: посредством Пользовательских переменных срепы. содержимоrо Te...'Y щеrо K3T3.1IOI'3, спос-оби вызова Сllенария и т д Не существуют прав"шз. rласяшеrо. что Проrpзммы с установленным битом SLJlO ДОЛЖНЫ запускаться от имеНII сynерПОJlЬ.30вателя Еслн нужно Bcero лишь оrpаничить доступ К файлу или базе данных. достаточно добавить в файл /etc/pa:!)swd псеВДОПОЛblонателя. единственное назначение KOToporo будe-r заЮlючатъся во владении требуемыми реСуРсами. Следуйте обыtrным соrлашениям о добавлении псевдоnользователей: используйте Ilнзкое 3l-1аче ине UIO. поставьте в поле пароля звездочку и сделайте начальным катзлоrом псевдополъзователя каТЗЛОf /de\l/null Большинство систем позволяет ОТК1IЮЧ3ТЬ 8bInOJJHeHJle IlporpaMM с устаНОRЛеНI-IЫl\.{И битами SLJlD и SGIO tSet GroLlP 10  смена IшеlПl1фltка тора rpуппы) 8 отделЬНЫХ фаfuIOВЫХ системах с помошью ОПWIИ o nosllid команды mount. Чаше Bcero зто файловые систеt.'IЫ. содержашие наЧaJlЫll:olе каталоrн пользователеЙ ИЛII СМОНТИРОВЮ-П-lые из l-Iеll3дСЖIIЫ.\. n<JMeHOB. Полезно пеРНОДИ'-1ески C-КilНИрОВ3ТЬ ДИСКII На прещ...lет выявления новых проrpзмм с установлеllllЫМ битом SLJ 1 О. Хакер. взломавший систему. без особых УСИЛlrй может создать собственный команлный SLJIОинтерпретатор и утилиту, которая облеl'rnТ ему последуюший вход в систему. Некоторые из проrpамм. ОПIlС3111-rы): 8 параrpафе 11.7, nО180ЛЯЮТ оБRзруживать такпе файлы, но с этоЙ задачеЙ справится Jf простая KOl',-laНДЗ find: /us.r/bin/find , user root pe.rm 4000 print I IЫп/mаl s "Setul.d I:00t. files" Ilеtаdrn.i.Л в даlНlOМ СЛУ'l3е ПОЛЪJовитепю netadmill 110 электронной почте Н(jПР3R...аl етея сшtСОК 8СС,," фаЙлов. принад.лежаUIl-fХ ПОЛbJОRJтелю rool н Il\lеЮШIIХ УСТ3НОВJIенный бит SLIID. 21.5. Специальные права доступа Б UNIXcIfCTeMa"\ есть MHoro фаЙлов, д..'1Я которых ПО'lЖНЫ быть устаНОRЛены спешfзльныe права доступа. ПОЗRОЛЯlощие IIредупреждаТh BOl никновеН1fе проблем. связанных с беlопасI-lостыо_ Некоторые ПОСТ38ШИКИ выпускают дистрибутивы, и которых права доступа ltЩаны в расчете нй собственную "дружественную" среду РЗ--1работки. В.Iшей системе TaKlle установки MOIyr оказать '.Мf.!lнежыо YCllyry". В 1-1еКОТОрbIХ CIICTC'MiIX спеUНtlПЬНЫЙ фаЙл /dе\'/kПlеш позволяет получнть доступ к Нllртуальному адресному простр.зш:тву ядра Ero ItсполыуlOТ те nporpaMMbl (напрнмер. ps). которые работают со СТРУК1ураfl..lII даН1-1Ы). ядра Право чтеl-1ИЯ указанноrо фаилз должно IIрсдостаnШIТЫ';И только ero нтшельuу и членам СООТ8етстuуюшей I-РУППЫ Если необходимо получить доступ к ф.difЛУ нз определеНIIОI-l nporpaMMbI, для нее должен быть устаНОRлен IШСI-fТмфикатор rpYllnbl, владеюшеЙ ЭТltМ файлом (обычно это kmem), 1I 6нт SG 1 О. Б ПРО1l1JlО" некоторые поставшню! беззаботно 8ЫnУСКЗЛИ дистрибутиnы, в которых фаЙл /de\'jkl1lem был ДОС1УПен для чтения всем полыователям. Это 695 r лова 21 БеЗОПQСНОСТЬ 
создавало серьезную yrрозу 'n"'1Я безопасности системы, потому что onbITHbIt1 проrpаммист. ПОЛУЧИВ доступ к naHHbn'I и буфера" ядра, Mor HaHTII там незашифрованные паршти. ЕCJШ в вашей системе файл /dev/kmem MorYT читать все пользователи. немедленно исправьте этот прома.х. Правла. после Dнесения изменениЙ может оказаться, что некоторые проrpaМ\.lhI переСТа!1И работать, Для них следует установить б(1Т SGID И идеНТlfфикатор той IpYnllbI, ко,'орш' принадлежит фай" /dev/kmcm. Проверьте также права доступа к файлам /dе",/druш 11 /dеv/mеш, ес.'ш они присутствуют 8 системе. 3тн файлы позволяют ПОJl'ЧИТЬ свобоlIНЫЙ доступ к системноЙ области подкачки и фИЛfЧССКОИ паМЯТИ н потеlШИlЫЮ так же опасны. как и файл /dе\'fkПlеПI, Файлы /e[c/passwd и /etc/group полжнъl быть доступны ДЛЯ 3ЗПИСII ТОЛЬКО владелыly (ПО."1ыователю root) и ero [руппе. Режим доступа в данном случае бупет 644. rруппа должна быть какойнибупь системной rруплой (оБЫЧI-Ю это daemon). Чтобы поль:юватели, не имея нрава ]а1lIlСИ fI файл /etc/pa!'Js\\'d. моrлн изменять свои пароли. команда p:d.s",'d (Н.Шl.llельuем которои f1ILIf1СТСЯ ПОЛhзователь roo!) ВЫПО.1няется с устаНОВilенным бllТО'о.f SlllD Пользователи, ОТIIОСЯШIIССЯ к КiпеrОрНII .'прочие". не полжны иметЬ пр;ны записи в каталоrи, доступные по al1ОНИ\iНОМУ ПРОТОКО;]У FTP. Такие 1':.17;]:IOПI позволяют хакерам неЗЗКОНIIО КОП1lровать ПрОI'раМЧI'ЮС обеt-печеtшс 11 .'IPYIIfC важные фаЙлы Если вы управляете FТРархиnoм. допускаЮШl1М доБО1в-rlеlllf в Hero файлов. не забываЙте рс:rУ.11ЯРIlО просмаТрНRilТЬ KaTaJ10r добав.'1Сllиi-l. o ИlJфор.'4QЦUЯ О беЭОIlQСflОl/ настройке 1.-ТPcepвepa "риведеllа в lJарарафе 12.6. При настройке анонимноrо FТPcepBepa в ката.поr ftp/etc/passwd обычно копируется усеченный файл паролеи (С сохранением ero ctpyEo..-ТУРЫ). ЧТО позволяет правильно работать IlpOrpaMMC 15. Не Jdбупьте удаПlIТЬ заШllфРО ванные строки паролей. Еше один потенlLиалы1йй источник проб:lем  фаЙлы устройств .ilШI раlдеЛ08 жесткоrо писка 1lаJ1НЧllе пр.:ша чтения и записи тзкоrо фЙ!l:l равнозначно НШТ1fIJНЮ аШL'101'ИIIНЫ'\ праи Д-'1f1 l'J:юбоrо элемента фа'й:ЮJ1()II системы зтоrо раlделз. Право чтс:ннязаписtf l\Iожет 1ileTb TO.lbKO cnepno"lh' З0вате:1Ь. Члены rpуппы IIноша MOryт 1l0.Ч.Ч8ТЬ право ЧТСllltЯ, что по]НОШIТ им выполнять резервное копирование. Д,'lЯ кзтеrории .Iпрочие" права ПОСТУТ1а не устанавливаются. 21.6. Различные аспекты защиты Ниже рассматривается ряд ДОПО'lшпсльны'\ вопросов. СВЯ18ННЫХ С безопасностью. В основном RНИМШIIIС упе.lяется .шбо средствам, которые Mor)'T быть полезны админнстратору, .1'l-Iбо '.антнсредствам". которые при отсутствии ДОПЖliоrо контроля MorYT статЬ ОрУ'...кlfем в рука..,\ xaKepofl, Удаленная реrистрация событий Система Syslog позволяет записывать журtlальную Ifнформаuию о про иессаХ ядра и пользоватслъских происссах в фаЙ:I, раССЪJ.1атъ ее Ч-'lена\t rpУТШЫ пользователей М.:"IИ передавать на друrой компьютер сети. Рассмотрите вопрос о выпелении зашишенноrо компьютера. который будет служить llентра.1ЬНОЙ реrnстраuионноt1 станuией и выдавать сообшенил о нарушении заllШТЫ 11.1 старый матричный принтер, Это помешает хакерам заметать следы путем перезвписи и удаления журн3..1ьныx фаЙ.'10В. Бо",ее деl11а!lЫlQЯ UllфОРМQЦllR о cfJcme.\ff 5)'slog содержится в Z1QBe // o 696 Чость 11 Робото в сет">:. 
Защищенные терминалы Некоторые системы можно настроить так, чтобы cynерПОЛЪJователь MOr зареrистрироваться в системе только с определенных. "заwишенных" терМИ налОВ. Рекомендуется З8прешать привилеrированный вход в систеti)' ПО таким каналам. как модемы и сетевые псевдотеРМIOiалы. Звшишенные каналbl обычно задаются в виде списка ТТУ устройств И:IИ С поМоШЬЮ спеllИЗ)1ьноrо к.лючевоrо слова в файле конфиrypацИН. В Solaris это файл /etc/defaultjlogin". в HPиx и Red На!  /etc/securetty, а во FrecBSD  /etc/ttys. Файлы jelcjhosls.equiv и /.rhosls в файлах 11Osts.equi\' и  j.rllOsts компьютеры определяются как адМИНИ стрвтивно "эквивалентные" дрyr друту. ЧТО позволяет полъзователя-м ВХОДИТЬ в систеti)' (с ПоМошью nporpaMMbI rlogin) и копировать файлы (посредством nporpaMMbI rcp) с одной машины на лрутую без ввола паралей... Раньше. в эпоху беззаботноrо сушествования UNIX, подобная конфиrypаuия бьта широко распространена, но со временем все осознали потенuиальную yrpозу. М ы рекомендуем отключать серверные демоны rslld и rlogind. читающие файлы .r11Osts и 11Osts.equiv. В большинстве сметем Ш1я этоrо достаточно превратить в комментарии строки их вызова в файле /etc/lnetd.conf. Конечно, в отсутствие серверных демонов КО'l.fПьютер окажется недоступен nporpaMM8M rlogin, rsh и rcp. Но их всех с успехом заменяет более безопасный пакет SSH (см. параrpаф 21.8). В простейших СЛ)'ЧaIOi получить уда...'Тенный доступ к системе. rде ОТКJlючен демон rlogind. позволит проrpaмма telllet. Но не забывайте о том, что эта nporpaMM8 передает по сети пароль в незашифрованном виле. Некоторые nporpaMMЬY, исполь-зуемые вместо rlogin (включая SSH!), все же обрашаются к файлам .rhosts и jetcjhosts.equi\', если их неправнльно еконфшурировать. С uелью повьrшеl--ШЯ безопасности имеет смысл Ш1я К3Ждоrо ПОJlЬ"Jователя ,В том чнсле пользователя root) создать файлы jetc/110sts.equi\' и  j.rllOsts нулевой длины, причем без права записи. Тоша МОЖIIO будет НiШIIСiПI Cl.leHJplfll, опредеЛЯЮШJIЙ. каково СОСТОЯНllе фзила. к примеру. 41 .3 Ilaca ПНЯ н не подперrаJ1СЯ .'111 011 IfJменеНIIЯМ. 'Это может очень помочь при lIыслеЖИВClШ1И нарушителей, пытаЮШИХСJl "взломать" систему. Демоны rexd, rexecd и tftpd Демон rexd в Solaris (он имеется н n друrих системах. ВЮ1Jочая HPLIX)  это слабо зашишенныи сервер )даленноrо вьmолнеtП'/Я команд. Он обычно ПОСТ<lШlяется в ОТКЛlOчеННШ,i виде (данная установка делается в файле jеtсjiпеtd.СОIIf). и "будить" ero не рекомеtшуется. Ни одна стандартная систеМНi\Я прnrpaмма К нему не обрашается. !le"lOll rc'\:ccd тоже предназначен .nля УП<L'lенноrо выполнения комш-lд. Он СJIУЖIП ССРlt..:rШ.1 Д,.IlJ.l бибЛИОТСL/llOii ФУНКUIfИ rexec(). Запросы. ПОСЫЛi:Нlые демону. содер..к.IТ 11 себе незашифронанные пароли. поэтому 'тюбая проrрамма. .'ПРОСЛУШИR:JIOШ31'. сеть, способна узнать их и ПОЛУЧIfТЬ доступ К требуеюй системе. Этот ДС\IoН Тdкже ПОJlжен быть ОТКJlючен. ПодоЙдет также файл /etc/default/su. в нскоторых системах ли файлы используются проrpаммами Ilсчати ДЛЯ проверки прав ДОL-ТУП3 к удаленному прю-rrеру. Подробнее об ЭТОМ рассказывается в ,-лаве 23. r пово 21. Безопосность 697 
Демон tflpd  зто сероер rFrP (Trivial File Tran5rer Protoco!  простеи шиЙ протокол передачи файлов). Иноrда с ero ПОМОШЬЮ в сетевые устройства заrpу'ж:ается проrpзмма ПЗУ или код начальноЙ заrpузJo..--И. Позволяя КОМnЬЮ терам в сети шпрашивать файлы с жесткиХ ДИСКОВ. данныЙ протокол ЯWIяется потенuиальноЙ брешью в системе зашиты. Лучше остав..rтятъ демоН tftpd отключенным, если ОН не используется Деман fingerd Команда finger выводит коропшй отчет об определенно,,! пользователе: \ f".iпqеr evi Login name: ev Direclory: Ibeast/users3/evL Оп since Jan 22 07:07:5.5 ОП ttурЗ 50 minutes Idle Time Mail lasL read SaL Jan 22 07: 08: 51 2000 No Plan. In real life: Evi Nemeth Shel: Ibn/t(;sh fcom xortrain4.xor.com Бупучи 8ызванной без apryMeHTOB. команда finger выдает отчет обо всех зареrистрированных в системе пользователях. Если на удален-ном компьютере запушен демон liпgепl. команда fiuger может бьпь вызвана с apryMemoM 110ЛhJоватедь@кш,тыотер или просто @КОМl1ыотер. К сожалению. выдаваемая информация может представлять интерес nля хакеров, поэтому мы рекомендуем отключать запуск демона fiлgеrd н фаЙле /.I./illеld.сол( Безопасность и NIS Эти слова можно поставИТЬ рядом разве что в заrоловке. Сетевая информаuионная служба. или NlS (Nelwork Iпfоrт31iоп Service; раньше ее назывaJТИ Yellov.,. Pages).  это разработанная компаниеЙ Suп система распространеl-ШЯ баз данных, которой мноrие орrаНlfЗ8ЦИИ пользуются для ведения и рассылки таких фаЙлов, как /olc/group, /elc/pas5wd и /01./110515. К сожалению. порочна уже сама идея "леrкоrо доступа t.: информаuии", положенная в основу этоl-I системы и дел:э.ЮШdЯ ее лакомым f\")'СОЧКОМ для \:акеров. В пришедшеЙ на см«:ну NIS СlIстеме NIS+ СДС.1зна лишь робкая попытка устранить присушнс N 15 проб.-'1СМЫ ЗaJUl-fТЫ IfНфОРМ31.lИИ, nO"JTOM}' лучше ncero вообше не ИСПО.1Ь30ВidТЬ Нl1 01lH} из перСJlЙ этой снстемы. 0" Подробнее о N/S .1fОЗЮtО узltать в Z.lаве /8. Более безопасный и надежный способ рассылки )-кзззнных фаллов создать учетную запись наподобие Ilеtadmiп и поместить последние копии файлов 8 каталоr Iletadmill. После JТoro на каждой маШИНеКJlиенте необходимо с ПОfOшью демона сrоп периопически запускать сuенарий. назначение KOToporo  рассылка (посредством nporpal\lMbl scp). проверка и Иi-IСТ3ЛЛЯUИЯ файлов. Проrpaмма scp является частью пакета SSH, о котором Рс1ссказывается в пзрrpaфе 21.8 Следует также отметить, что за [оды ЗКСlUlуатаЦI1И в демоне fingerd бьщ выявлен целый рЯд ошибок. связанных с безопасностью, ЧТО просто he-допу<,,'ТИмо дпя столь простой nроrpзммы. 698 Чость 11. Робото в сеТАХ 
Безопасность и NFS Информаuия о безоласности NFS приводилась в параrpaфе 17.1 С no мошью команды ShOwmOUllt e можно узнать. KaKlfe файловые систеrы экспортируются и кому именно. Для каждой файловой системы слепует задать СПИСОК управления ДOt.'ТУПОМ, а все имена компьютеров ДОЛЖНЫ быть ПОЛНОСТЬЮ определенными. Безопасность и sendmail Пакет sendmall  ЭТО большая сетевая система, знаЧlпелъная часть которой выполняется справами С}lперПО.'1ЬЗ0вателя. Вследствие .поrо ОНа часто становилась мишенью хакеров, и СО временем здесь бьuIИ обнаружены мноrочисленные уязвимые места. Поэтому следует пользоваться только самой НОВОЙ версией sendmail. Проблемы безопасности часто приводЯТ к поя-влению НОВЫХ версий nporpaMM. так что ошибки, скорее Bcero, есть 80 всех версиях sendmail. кроме последней (В ней они либо еше не обнаружены, либо скоро будyr исправлены). Свежие новости можно узнать на WеЬузле W\vw.send mail.org. o Более l1одробные сведения о selldтai/ содер.ж:атся в zлаве /9. Безопасность и резервное копирование Реryлярное t:ОЗД3Нl1е резервных копий данных является неО1Ъсмлемым компонентом любой стратеrии обеспечения безопасности. Необходимо. чтобы все разделы диска реryлярно архивировались на лен1)', а некоторые резервные копии хранились вне фирмы. Если произоидет серьезный ИНШfдсm, МОЖНО будет быстро восстаноВИть работоспособность систеt.[ы. o Более подробная иJlфор.rrtаЦllЯ о резерt1НО.М копировании I1риведена в i!лаве lо. Поскольку установить ленту в накопитель и прочитатъ ее содержимое может любой человек, держите резервные ленты под замком. Троянекие кони Троянекие кони  это nporpa!\rMbl. назначение которых поЛностью противоречит заявлениям предлаrающеrо их лица. В качестве примера можно привести nporpaMMY turkey, которая Коrдато распространялась в Usener. Онз обещала нарисовать на экране терминала индюка, а На самом деле упаляла файлы из начальных каталоrов доверчивых любителей домашней птицы. Учитывая количество нападений, которые сообшество UNIX переЖJmо за несколько последних песятилетий. остается удивляться малому числу троянских конеЙ. встреТИВШIfХСЯ нам. По сути, нам не известен ни ОДltн задокументированный случай обнаружения nporpaMMbl. которая: . имела бы некое полезное прелназначение; · не распространялась как часть операционной системы: предоставлялась в виде исхоmrых текстов; . была широко распространена и при Всем при этом спеuиально содержала злонамереtlНЫЙ код или умышленно обходила механизмы защиты операШIОНlIOЙ сисТемы. Не поймите нас превратно: мы допускаем, что rAeTO такое МОП10 случиться Просто ШlЯ среднестатистическоrо ат.fинистратора yrpоза ТрОffifСЮfX коней была мини мальной. r ЛОВ О 21. Безопосность 699 
Таким положением вешей "fbI обязаны законопос.:1УШНОМУ сообшеству Intemet. Наиболее очевидные проблемы, связанные с безопасностью, быстро выявляются и llШрОКО обсУЖдаются в Сети. Злонамеренные nporpaMМЪJ не задерживаются на популярных серверах Intemet. Можете быть уверены: любая проrpа"fма, у авторов которой были нечистые на-Iерения, будет выявлена и проаНaтfзирована в Usenet. ЕС.1И перед инста.'1}тяuие'Й какоЙто nporpaMMы нужно узнать ее "репутаuию", поишите имя nporpaMMbI в архива'\: на УЗ.1е Vv"\\v.'.deja.com. 21.7. Инструментальные средства защиты Для решеЮfЯ мноrих "Jадач, о которых упомина.'10СЬ в предыд}ших параrpафах, можно использовать свобо1IНО распространяемые nporpaMMы. Ниже \fЫ расс!оfOтрИМ наиболее интересные из них. Проrрамма птар: сканировоние сетевых портов Проrpамма nmap является сетевым анал.иззтором. Ее основная ФУНКUИЯ зак.rrючается в проверке указанны\. сетевЫХ узлов на предмет Toro, какие TCP и UDPnopTbl на нЮ прослушиваются серверными проrpаммами 8 . За большинством сетевых сер висов закреП1ены .'известные" порты. поэтоlv!) данная информзuия позволяет узнать о том, какие проrpзммы выполняются на компьютере. Запуск nporp3MMbI пшар  отличный способ узнать, как 8ыr...1ЯД1fТ система в rлазах Toro, 1\.10 пытается ее взломать. В качеСТВе примера ниже показан отчет. выданный ЭТОЙ проrpаммой на самом обычном. относительно He]a шищенном компьютере: \ nш.a.р .T h08tl.uBxamplB.com Sr.arting runap v. 2.1;;' Ьу Fyodor (fyorior(!dhp.com, WW\I.'.:i..пsесurе.оrg/пr..ар/) Iпtеrеstiпg porLs оп hostl.uexample.com IIO.ICJ.2.1): Porc S!:.at:e Protocol Ser"'2.ce 7 open сер echo ореп rcp d.lscarO 13 ореп tcp dayt':"me 29 opn tcp cha саеп 2: ореп tcp ft:p 23 орел tcp 'Lelnet 25 open сер srotp 52З орел ':.ср ...ogin Nrnap '(ип compleLed  ! I Р acidreS5 (1 host up) sсаппеа ':"п 1 secoiid Apl'"YMeHT sT сообшает nporpa\fMe птар о неоохопнмосТ1-f подк.rrЮЧIПЪСЯ к кажnому TCPHOpтy' 113 указзнном узле-- Ка.: только соединение VCTaIIaB ливается. ПрOl-рамf'.Ы пmар немед.'lСННО отключается, 'ITO не очень корректно. зато безбопеJненно ДТ/Я правильн() н::шисанноrо ceTCBoro сервера. Как оБЪЯСllЯЛОСЬ В rлаве 13, порт  Jro Н)мероваШfЫЙ КЗIl3...1 взаимодеЙствия. lPaдpec идентнфиuирует весь компьютер. а комбш\зu\tя \Paд:peca И HOMpa порта опрtD,С.:1ЯСТ конкретный ..:ервер и.ли сетевое t:ОСDlfНСНИе'. На самом Деле по УfO.:}чанию nровсряюТСЯ тОлЬКО прIt811ЛСП1роВ<1I1НЫС. (их номера меньшС' 1024) , "извеl..."Тные" порты. С помошЬю ОПlIИI1 p можно Я8НО указать диаllазон скаIOfро ваН1IЯ 70 0 Чость 11 Робота в сетях 
K8J( следует из привепенноrо выше примера, нII. узле hos[l.uexample.com вьтполняется несколько серверов, яв.rrЯЮЩИХСЯ трвлиuионными источниками лроблем безоласности системы: rtpd (ftp), rJoglnd (lоgiл) и, очевидно, .endmaU (smtp). Тахим образом, лотенuиальные направления удара уже ясны. Колонка State (состояние) содержит запись open (открыт) для порто&, с которыми связвны сераеры, запись unfiltered (не фильтруется) для портов без серверов и залисъ filtered (фильтруется) для лортов, ДOC1)Тl к которым нсво]можен изза наличия брандмауэра. Чаше Bccro встречаются нефШ1ътруемые порты. Они отображаются лишь в том случае, если их ОТНосительно HeMHoro. Приведем резулътат запроса к более зашишенному коммерческому WebcepBepy www.aexample.com: " mu.p .T h08tl. U8X-тp.l.. СODI Startlnq пrмр v. 2.12 Ьу Fyodor (fyod.or@dhp.com, www.insecure.orq/nmap/) (No't. showinCJ porr.s in st.ate: !11t.ered) Port State Protocol Serv1ce 5З unf11 tered "ер domain ВО ореп tep http 179 unflLered tep Ьчр 44З ореп "ер ht.t.ps Nmap run complet.ed  1 IP Bddre:ss (1 hозt. ир) sсаплеd in 122 second:s Ясно, что уз"" сконфиryрироnaн на обработку толъко WеЬтрафика. Браилмауэр БJ10кирует доступ к осталЬНЫМ портам Т рафик протоколов О NS и BGP пропускается, но нет серверов, которые бы ero принимали. В идеальном случае брандмауэр Должен блокировать трафик всех неисполь зуемых сеРВИСО8 (как DNS 11 BGP в данном примере). чтобы соответствуюшне порты не окзза. lИСЬ ЗЗХВ3 1 Jенными ШlЯ дрyrих uелей. Помимо стзндартноrо опроса TCP и UDРпортов nporpaMM3 IIП13Р способна проперять порты похакерски. не устанаВТIИвая с ними pea.r'1bHOrO соединения. В большинстве случаев посылаются пакеты. которые вьплядят взятыми IП }"'...ке имеющеrося ТСРсоединення (это не квитируюwие пакеты), а затем проверяются полученные в ответ диаrностические пакеты. Таким способом можно обойти брандмауэр или nporpaMМY мониторинrа сети. которая контролирует поя-вление сканеров портов. Если в вашей орrанизации имеется брандмауэр. не П0.'1енитесь ПрОflерить ero работ)" в разных реЖJfа.,\ СКЗllирования. П porpaMM3 птар оБJlздает маrической способностыо yraдbТB3Tb. какая операционная система YCT3HOR.rтeHa lIа уда.'1енном узле. Это пелается путем анализа дета.rтей реаШllаl.ШИ стека TCP/IP. Чтобы проверить работу nporpaM мы шлар в ЭТО"-1 режиме, воспользуйтесь ОПWfей o: " nDUlР o d.iB&8ter m.rh.at lollipop StartnCJ ППIaр V. 2.12 Ьу Fyodor (fyodor@dhp.com, www.iпsесurе.оrg/лmaр/) IntereSLl.ng porL5 оп d5aster.xor.com (192.108.21.99): Rerr.ot.e operating sY5teC\ que55: HPUX 11. 00 Int.erestinq port.5 оп mrhat..xor.com 092.108.21.2): Remote operat.ing sys:r.em guess: BSDI 4. О I rOBO 21 Безопосность 701 
InLerest.J..ng ports оп lollipop.xor.com (192.108.21.48): Remote operatJ..ng system guеЗ9: SоlаrJ..З 2. б  2."7 Nmap run camp!eLed  3 IP аddrеззеs (3 hos'rs up) scanned iл 5 second5 Данная fЮЗМОЖНОСТЬ полезна при анализе СОСТШIНИЯ локальной сети. К сожалению. ОНа же яютяется и рабоl.lНМ инстру.ментом )"dKepoB. которые MOryт определить требуемый пш атаки на основаНИИ и ЗReСТНЫХ с..'lабостеtl конкретной операuионной системы. SAINT: выявление слабых мест сетевых систем SAINT (Security Admin;Slrator's IПlеgrаlеd Net,,'ork Тоеl  интеrpИрОllан ный пакст для безопасноrо администрироваЮiЯ сети)  это оБНОR.'1снная и улучшенная версия проrpаммы проверки сетевой JашитЫ. SATAN (SссtlПtу Аdmiпiмrаror Тооl ror Апаlуziпg Nelworks  инструментаРllЙ администратора nля анализа безопасности сети), выпущенной в 1995 r. и вызвавшей море Jt\алоб. Исходная версия SA Т AN была написана Даном Фармером (Dап Farl11er) 1'1 Витсом Венема (Wietse Venema) СОПРОВОЖдением nporpaMMbl занимается компания World Wide Digital Sесшi[у. II1С.. с WеЬузлз которой (wwv.'.wwdsi.com) ее можно заrpузить. Бесплатно! Подобно уrилите пmар. SAI NT onpaLill1HaeT компьютеры в сети, чтобы узнать, какие серверы на них Jапушены. Но в ТО же время промма MHoroe Зl-taет о серверных УТИЛI1Т3.Х lJNIX и об их недостатках. Она ишет наиболее типичные случаи непрзвильноrо конфиrурирования. приводящеrо к сниже нию безопасности. а также проверяет наличие известных ошибок. Отчет проrpзммы SAINT как бы содерЖtlТ 1.1 нструкюш по взлому системы, поэтому ряд администраторов счнтает. что лучше запустить ее или подобную ей npO(lJaMMY (например. Nesstl$. которая рассмотрена ниже) раньше, чем "это сделают хакеры. ЛользоватеЛЬСЮIЙ интерфеЙс SAINT ЯВJlяется r10ЛНОСТЬЮ WеЬориенти рованным, в связи с чем штя работы nporpaMMbl требуется WеЬброузер. Присуrcтвие уrилиты пmар не оБЯJзтельно. но еСЛII таковая имеется, она бупет использована. По заЯR;lенJ,1ЯМ разраБОТЧIIКОВ. nporpaMMa SAI NT работает и с утилитами пакета Saтba (если они lIнста.,lШ1РОваны). обеспе'IИВая проверку WilldОWSfvI3ШIIН. ИНФОР..f8ЦIIЯ о Шl.ксте Samba прmюдится в rлаве 26. Nessus: сетевой сканер следующеrо поколения Рено Дерезон I Renaud Deraison} разрабатывает пакет Nessus. в котором реализуются МНОП1е ФУНКl1иона.'lьные возможности SAINT. Опнако с зрхи теf...'ТУРНОЙ точки зрения пакет Nessus понятнее и проще. d кроме Toro. в нем предусмотрена возможность последующих расширениЙ. Этот пакет доступен на WеЬУЗ.'lе WWW.пеs.'шs.оrg. Мы познаКОМИJ1ИСЬ с ранним (версии по '.0) выпуском Neus 1'1 обнаРУЖИШ1. что он еше не совсем rOToB к ПОl1НОl.lенноЙ эксплуатаЦIШ. Пока не ЯСНО. насколько уШI"1НЫI\I получится финалънаl вереня и сможет .'111 она воооше заROеизть ПОПУШ'РНОСТh, но fbI считае1 необОШIМЫМ УПШ,fJlllyrь о паксте изза ero модульнои архите",,'туры, позволяюшеи CTOPOHIIIIM фНрМlМ добаn..'1ЯТЬ собственные мопушt IlрОIJСрЮI ЕС21И сообшестно пользователеЙ 702 Чость 11 Робото в ceTX 
станет создавать и накатurивать базы сценариев для Nesstls. пакет сможет Функuионировать долrое время, не требуя постоянных оБНОRЛеНII. Проrрамма crack: поиск ненадежных паролей Поскольку большинство производwrелей продолжает выпускать системы. в которых зашифрованные пароли выставлены на всеобщее оБОJреНllе. злобные хакеры запросто MOryr провести их сравнение со словами заl1ПfфРОван иоro словаря. Один ИЗ способов предупреждения подобных неприятностей  провести это сравнение самостоятельно и потребовать от ПОльзователей сменить пароли. которые окажyrся раскрыrыми. Проrpамма crack, написанная Алеком Маффеттом (Alec Muffell), для выявления неудачных пародеi\ использует ряд широко известных приемов. Даже если зашифрованные парали cKpьnы от всеобшеrо обозрения в файле теневых паролей. не .lТИШIOfм будет проверить их надежность с помошью проrpаммы crack. Знание пользовательскоro пароля может помочь администратору в обнаружении слабых мест в системе. ведь ПОльзователи стремятся миоrократно Использовать одни и те же пароли Единый паро.rть применяется для доС1уП3 к .зр}той системе, шифрования файлов в наЧ3J1ЬНОfo..1 каталоrе. доступа к финансовой информаиии в Lшеrпе( и т.Л. Стоит ли rоворить о том, насколько это неразумно с точки зрения безопасности. Но кому хочется запоминать десять разных паролей? На момент написания данной кииrи текущая версия nporpaMMbl crack имеет номер 5.0а. Ее можно найти ПО адресу f\p:/ /coast.cs.pllrdue.edu/pub/tools/unix/ pwdlltils/crac k/ Будьте осторожны: проrpaмма записывает расшифрованные пароли  текстовом виде. Поэтому их нужно нanежно защищать и по воЗМожности сразу .же удалять. Проrpамма tcpd: защита Iпtеrпеtсервисов Проrpaмма tcpd, часто называемая пакетом "ТСРоболочек". позволяет реrистрировать ПОДКЛючения к таким ТСРсервисам. как telnetd, rlogilld If lingerd. Кроме Toro, она ПОзволяет laцaвaTb перечень систем, которые нмеют право устанавливать подключения. Обе эти 80ЗМОЖНоСТи очень полезны при выслеживаЮfИ нежелательных rостеи. Проrpaмма tcpd написана уже VПОМИ иавшимся Витсом Венема 1-1 доступна на узле frp.porcupine.org. Она яв,Т'Jястся стандартным компонентом Red На( и f'reeBSD (на.-,:олится в Каталоre /usr /ports/security /tcp  wrapper). Проrpамма tcpd леrко инстa.rиrируется и не требует внесения Иlменении в деЙСтвуюшие сетевые утилиты. Она работает в связке с демоном inetd Достаточно МОДИфJ.П1ировать файл jеtсjiпеtd.СOllr, чтобы вместо реалъноrо CCТCBOro сервера выполняласъ tcpd. Перед запуском соответствующеrо сервера проrpамма выполняет необходимые ОПf'раШflf реrистраuии и проверКI-f безопасности. Например, если соответствующая строка в файле jetcjillctd.conf имеет вид telneL stream t.cp nowai t coot /usr/sЬiп/iл. telnetd J..n. telnetd то ее можно заменить Такой строкой: telnet stream tcp nowait root /usс/З.t:liл/tСРd iл. tеlлеtd o о де 'lOне iпetd рассказывается в параzрафе 28.3. r лаво 21. Безопасность 703 
Резулътируюшиl! журнальный файл (ero имя должно быть задано в фаliлс /etc/syslog.conl) будет выrлядсть лримерно так: Nov 12 08:52:43 c:hi.mchirr. ln.telnet.d(25880]: connect t"ran tint.1п.Соlоrаdо.ЕОО Nov 12 19:19:44 chlmchlm 1п. telne-:.d{15520]: connect trom cat.belly.com Nov 12 23:48:45 chlmchlm in.telnetd[19332]: connect from atdt..xor.com Nov 13 20:14:57 chimchlm lп.tеlпеtd[2Зб2]: connect !rom 130.13.13.11 [hP] Вароенные ТСРоболочки . HPUX В HPUX есть версия демона Inetd, в которой реализованы схожис функциональные возможности. Ее параметры задаются в файле /vBr/adm/ Inetd.sec. Записи фвrtла имеюТ следуюший формат: сервис al10wldeny S1'URкоип'ьЮ'J'еРo!llадрес .иияJ(Оа4пыотеРl!ILJдрес .,. Необходимо, чтобы ИМЯ сервиса присуrcтвовало в файле jetcjsenrices или jetcjrpc. Любое указываемое имя компьютера должно быть полностью определенным (например, mооmiп.хоr.соm). Панимаются подстановочные знаЮi и обозначения диапазонов. Так. выражение "192.108.21.." соответствует всеМ узлам указанной сети класса С, а выражение "192.108.21.150"  ее первым пятидесяти узлам. КомменrарИИ обозначаются сиМВОЛОМ решетки (#) и должны СТОЯТЬ u отдельной строке. Не допускается задавать нескольКО строк описания OnHoro сервиса. В расчет берется ;(иШЬ саМая ПОСЛДНЯЯ строка. Если сервис не ynoMyr в файле, к нем)' может подключаться I<ТО уrодно. В следуюших строка.х разрешается удаленная реrистраuия. НО только .шНI двух сетей. а также запрещается доступ к демону spra.d со стороны пну'" компьютеров: loqJ..n allow sprayd dелу 192.108.21.* 192.225.33.... 192.108.21.5 freddy.xor.com По }молчаН1fЮ демон inetd в HPUX не ведет журнальную реrистраI1ltю соединений. НО при 8Ь1зове с флаrО!\.1 I он начнет направлять в систему Sys)og соответствующие сообщения от имени средства "facility" и с приори тстом "lI1fo". Сообшения об отказа:>: на достутт к сервисам реrистрируютсЯ с приоритетом "nQ[ice". COPS: аудит системы защиты COPS (Comp\Jter Ol.acle 311d Password System  система npooepKII компьютеров и паролей)  это написанный Даном Фармером пакет про [рамм, которые осушесТRJlЯЮТ мониторинr раЗЛl1qнъrx компонентов системы зашиты UNIX. С ПОl>.ЮШЬЮ демона cron пакет можно запускать кажпую ноЧЬ. Стандартизнруя и ynрошая способы простых проверок, пакет COPS ЭКоНОМИТ время администратора. Iпбзв.J1ЯЯ ero от необходимости выполнять операции вручную. К Со:Ж3..'lенИЮ. а",'Тивная разработка па кета прекрашена. но он остается удобным инструментом. позво;rяюшим ВЫЯБ..'1ять множестпо классических проблем безопасности. Запустите ero по Tom. как зто спелает ктонибудь из пользователей. COPS предупреждает о потеНUИ8JIЬНЫХ проблемах (но не делает попытюl их устранить), посьUlая администратору писЬМО по Э;Jектронной почте В qисло подлежаших контролю атрибутов входят: . права доступа 'к файлам, каталоrаМ и устройстваf: 704 LiaCТb 11. Робото в ceT 
содержимое файлов /etc/passwd и /etc/group: содержт.юе системных cTapToBых сuенариев и сrопtаЬфайлов; ВОЗможность записи в началЬНые каталоrи пользонателей. После инсталляции пакетв COPS администратору каждую ночь будет приходить отчет о степеЮI зашишенности системы, имеющиЙ примерно такой вид: ATTENTION: Securit.y Report. from hosr. raja.xor.com Warninq! Roor. does not own the fol1own9 flе(з): /etc WаrПl.Л9! "." (0[" current direc'.:.ory) 15 '::"П root' s path! Warn!ng! /var/spool/rr.a;l.l i:!i World wrir.able WаrПlП9! fer.c/ut:np lS World writable! WаrпiЛ9! Uзеr randy's horne d.hectory /home/staff/randy is rnode 0717! Warning! Password file. line 6. ПО password: runrr.al1q: : зз: lO:, . . : /home/sr.aff/runmiHlq: /Ьiл/сsh Warning! /usr/bin/uudecode creates setuid files! Warn'::"n9! Password Problem: Guessed: ber.h shel1: /bin/csh в пакет СО PS входит экспертная система Kuang, которая предназначена для ВЫЯR.-1еНIIЯ попыток присвоения оБычныии пользователями прав супер поЛьзователя. Дополнительную информаuию о пакете можно найnf по алресу hllp:j /da 11. yosem ilе.са.lIS/СОР' Проrраммо tripwire: контроль изменений в системных файлах Проrpаммз fripwire. написанная Джином Кимом (Gene Kim) и Джином Спаффордом (Gene SpatТord) из уннверситета Пердью, контролирует пр.на поС"rупз и КОНТрОЛьные су\>,мы важных системных фай'юв, блаroдаря чему можно лсrко обнаруЖ1ПЬ замененные, повреЖlIенные или поллеланные файлы. Например. прш.рамма tпрwirе позволяет определить. что злоумьПlI ленник заменил IlporpaMM} jbin/login копиеЙ, которая записыпает пароли в секретны}, файл Проrраммз tпрwirс сверяется с базой данных. rдe записаны характери CТHКlI и контрольные суммы файлов на \IOMeHT сознания ПОС.lеДней. ФаЙлы, ПОlLrlе:.кашне частым ИJмснеНIIЯМ (например. /еtС/U(rПр), в конфнryраUIIOlШОМ фаl-l.lе nporp(lIMbI, MorYT быть особым обраЗО'\.f 1I01IIечены  в таком случае rlредупрждеНIIЯ ШlJl них rенерllрОВi3ТЬСЯ не будут. В случае изменения конфиryраl.lllИ СИС l.eMbI ИЛI-I инсталЛЯUШI новоЙ nporpaMMhI базу пaHHbrx следует перестрои-ть. Каталоr. rne расположена база данных и конфиryраuионный файл проrpзммы tripwire. по ВОЗМОЖНОСnf ДО:IЖен монтироваться с безопасноrо сервера в режиме "только для чтения". При ЭТОМ условии хакерам бу.nет Сложнее замести следы и оСтаться незамечеННЫМlI. Проrpамму tripwire нужно настроить так, чтобы она каждую ночь посылала а..1МШНlстратору по электронной почте отчет. Вот типичный при мер тaKoro отчета: #: trip"ire "!'cipwire (r.m) ASR (Academz.c Source Re1ease) 1.3.1 File lntegrJ.ty Аssеssmел::. Software (с) 1992, Purdue Research Fоuпааr.l0Л, (с) 1997, !999 Tripwire Secur:'t:y Systems, [лс. Al1 Rz.ghts Reserved. Uзе RestrJ.cted to r пава 21. Безопосность 705 
AULhorzed LCengee5. 1.. phase 1: Reading cont9uraton fi1e .tt phase 2: Generating file list 1ft, Phase з: Creating file informat:ion dat:abase ." phase 4: Sеаrсhлg Еот incol1sisLences Н' Н' 1Н 1" 1" Н' 'Н "1 сhалgеd: rwxrxrx .l:oot '" Ifft.. Phase 5: 1" 1ft Att.r "1  /Ьiл/tсsh st:  ct.1me: Sat Jan 22 12: 04: 42 2000 Tot:al files sсаппеd: Fi1es added: F:!.les deleted: Fi1es сhалgеd: 20З44 О О 1 '!СН:.а1 file viоlаtолs: 262184 Jan 22 12: 04: 42 2000 /bin/t.csh Gелеrаtiпg observed/expec1:.ed pairs for changed fles Observed (WhaL i1:. .l.s) Expected (what: 1.1:. :should Ье) Fr':' Мау 14 05:11:41 1999 в этом примс:ре Проl paMt\-ta tripwire сообшает. что время IНМt:НJ-IIIЯ индексноrо лескриптора файла /ЫП/lcsh отличается ОТ указанноrо 113 MOMellT создания базы ДШIНЫХ. ЭТО может свидетельствовать о том. ЧТО хитры и хакер заменил исхолную версию интерпретатщы fbin/tcsh "ТРОЯНСКI1М конем". который притаился до следуюшеrо запуска ПОЛbJОП;lтелем ro01. Сравнение контрольных сумм лоrо файла tf ero версии на Лltстрибутивнои леllТе (воспользуйтесь СllеШlальноi:" УТ1IЛИТОМ siggen. поста8.аяеIOЙ вместе с про rpаммоЙ tripwire) поможет подтвердить I1лt1 опроверrН}7Ь .:НО преЛПОЛОЖСНIIС. Ilоскольку l'IeKOTOpbI хакеры достаТОЧfЮ }"'\fHы и IlOлде.'1ЫВll1ОТ КОНТРОЛЫlые суммы модифицированны:\ фаи.'lОВ. IIpOrpi:l.MMi.l tripwire ИСllOльзует два рЮНЫХ метода пычислеtlШI КОНТРОJlЬНЫ). сумм. История проrpаммы trip'ire несколькО нсоБЫЧllа: перпоначалыlO 0113 распространялась беСШ18ТНО. но ипослеДСТ8ИИ былOi приваТИЗНРОШ1На и превратилась в коммерческии 11РОДУКТ. К счастью, неВО.iМОЖНО запретить ТО, что коrдато было бесплатным Компания Tripwjre. II1С., любезно продолжает предоставлять беСIUlЗТНУЮ версию проrpёlММЫ 11 даже RЫlIустила к IlеЙ 8ЫСОКОIOlассную документаuию и обновления. Все )ТО доступно иа WеЬУ1ле www_LripwiresecLlritv.c0111. тст: криминалиcrическа экспертиза Еше одним пОЛЗIIЫМ средстиом J3Ш1lТЫ СТеП IШКеТ 1 СТ (The Coroner":-. Toolkit  иtlструмеНТdРШl следователя), IIНШСi1lIllЫЙ все теми же Даном Фармером 11 Витсом Венема. тет  -ЛО коллеКШIЯ }'ТIIЛlП, помоrаЮШIIХ анализировать систем)' ПОС.lе ПрОНllКI-lОВСIШЯ в нее lIарушите.'IЯ. Ilакет работает в Solaris, Red На' 11 rrceBSD, 110 не в HPL]X (лака). С ПОМОШЬЮ пакета ТСТ МОЖНО оnреде.'1ИТЬ, что ПРОИ.ЮШ:Ю и как это случилось. И ноrда цаже удается ВОССТЗIЮПlПЪ данные. уничтоженные в результате напалеНИЯ. Особенно JНПСреCl-101'1 flредстанляется утюан-а mac1imc. отслежиnaюшая время изменеН1fЯ, доступа и I\tОШfфИКЦИИ Иlшексноrо дескриmора кажлоro фаЛLl 8 систеfе На lOмеНТ IIодrотовки нишей КНl1ПI к печати ЭТа }711ЛJ.па еше не была roToBa к OTKpЫTOM Р;,1спростраllСНШО, 1-10 коrдз вы б},дете ее читать. )-'Тll'lIПi.l, возможно. уже появится по 3...lpccy v.'WW. fiSh.СОП1/sеСllri I у_ 706 Чость 11. Робото в сетях 
21.8. Системы криптоrрафической защиты Большинство широко используемых 8 L!NIX ПРОТОКОЛОВ было rОlдiШО до пояаления Vvv...'\V и и"юбреТСНJ1Я сонременных криптоrpафlfч.еских Сlfстем По,поr-.ry во НОrИХ ПРОТQКОЛа.х понятие безопасности вообще не преJIУСМОТ рено. Там же. rде оно якобы рlитыitется.. рсaJп1зоRaнныe механизмы ffi1CKpe ПИТИРУЮТСЯ передачей nаролеи 8 незаШИфроВ811НQМ виде или ОТС}7СТВИСМ проверКIf на то. с надежноrо ли компьютера или порта поступил пакет. СеrОДllЯ ЛИ протоколы эксплуатируются 8 кишащих '\:зкерам-и и прочеи нечистьЮ rлоБЗЛЫIЫХ сетях, rne. ПО определению. весь трафик открыт д..чя ПРОС:IУШИRаНIIЯ. Более Toro, :Iюбо может вмешаться и сетевой лиа.тlOr. Как удостовериться в личности со6есеДШIКЗ'! Криmоrp;зфия  ЭТО решеlИе мноrих праблем. Уже ДiJИНО сушеСТВ"еТ иозможность ШIlФрОВ<iТЬ сообшеЮiЯ так. чтобы даже в случае переХRата их нельэя было прочитать, НО "ЭТО лишь одно 113 чудес КРИllтоrрафии. Такие раlработки, как шифрооанне с открытым J,JJючом И зашитное хзuшроиание. сдслали возможным nQcтpoelНlC криптосистем. УДОВ.JIетворяющи самым стрОП1м треБОR<lН ияI.. К сожаПСlflllО, все эти м.пем.пические откrЫТШ1 не удалось преобраl0Rап> R I-laлежное. полезное проrpаммное обеСllечеl.ше, которое было бы nOHceMe еню pacrrpOCTp3hel-Ю и удобно в примеllеНIfИ. РаJработчикон nporpaMMHbJX КрИI1Тоrp:'fфllчеСКlfХ C1CTCM больше ИНТLреСOlаJlО доказательствО ИХ праВИJ1Ь ности и i1БI:ОЛIOТНОИ беЗОllаСIЮСТИ, 'leM то. предстаli!lяет '11-1 такая Сl1стема праКТII'IССКIIЙ ШlТсрсс. ПО'IПI все современные nporpaMMbI в данной облаСТII выrлЯДЯТ СIИШКОМ заУМНЫМII. Ilоэтоr-.rу неУДl1вительно, ЧТО поль.зов.1теЛl1 при перво же ВОJможноети с рit!IОСТЬЮ избавлJПОТСЯ от ни'\( Сеrо1I.НЯ практиче екой КрlfПТОI.рlфttеЙ .Ыllнмаются фанатики, параНОИДа.:!lьные сторонники теОрlfИ BCCMl1pHOrO 18I'ooopa. а Т;Iкже re. кому не остав.ляет npyrOI.O выбора ПОJlипtка, ПРОRОДlIмая РУКШЮДСПЮМ их орrШllпаниЙ НеПШIJПlln. ПШIЮП(Я '111 ЧТ('НlИБУДh более раl)-'мное и Дo:llIНОИ оБJl3СП! в ближаЙшие rOHhI. Д покз t.,thI IlOlНс.\КОМIt\tСЯ с тем. 'ITO ссrОДIIЯ имеется на рынке. Kerberos: унифицированный подход к сетевой безопасности Система Кеrbеrш.. р.11р.аБОТ3Н113Я D r-..'1<lссitчусетском теХНО!10пtческом институте, ориентирована на решение залач. сиязанных с обееllсченисм безопасности компьютерных с.::етей. Kerberos  ЭТО система аyrеmифнкаUlIIl, предостаnляюшая 'оrарантию" тoro, Lrro пользошпеШ1 и сервисные проrpзммы lIа самом деле ЯRJlяютея теми. за Koro сеБJl ВЫДiiЮТ. I--II-IкаЮ'IХ ДOllOлните.'"lЬНЫ}, проверок и шифрования передаваемых nallHbIX не предусмотрено, Исполыуя ..\!lrоритм DES. Kerberos создвет моженные наборы IIдетlf фнкатороu. IlaJьшаемых UlIleтCOfll. Билеты передаются по сети с иелъю подтверждеНШ1 .'lIl'ЧНОСТН no..1bJOBaTe.'lh и nредостаlШСНliЯ сму ДОСТ\lIа " сетевым СJIжба\l. В кзжлоl1 орrЗllltзашш, r-де ИСllО1lьзуется Kel.beros дол:;..кен выделяться хотя бы OHHII фН311ЧССКlt lаЩllщенныи компьютер (называе..tыи сервером 3}7еНПlфIП:;ЗШtи) для ВЫПО.'lнения llCMOHid Kerbero. ЭТОТ демон ВЫДает БИ..'Jеты ПОЛbJонателт-1 и сервисным прOl-рзммам. требуюшим a}7eH тифнкаНlIIl, НО! основаНИИ 11рСnЪЛRJlяемых ими "удостоверениЙ". таки'\ как Тем, KOro шпересуlOТ ВОПрОСЬ! Крllmorрафии, рекомендуем обрз.ппы;я к диум великолеп ным ИСТОЧIll1К8М: ресурсу " RSA Labs' Frсquслtlу Asked Quetion аЬоUl Т oday's CryprogrdpllY" (www.rsasecurity.coll1/rsalabs/faq) 11 I::ЛОарХIВУ тслеконфереIШtl1 ci.crvp[. доступному нз FТРуз..lе rrfm.тit.cdu. r nQBO 21 Безопосность 707 
пароли. По сути, Kerberos улучшает традИЦIIОНН}10 систему паролъно зашиТЫ 11 UNIX 8cero двумя способами: паролИ никоrпа не передаются по сети н неЗ8Шмфрованиом виде. а пользователи избав.'lЯIOТСЯ от иеобхоnимОСТИ мноrократио ввОДИТЬ пароли. Kerberos сушествует у..ке .:lOлrое время и nодnерживается мНОП1МIf поставшиками операиИОtlНЫХ систем. Такие системы rOTOBbI работать с Kerberos при наличИИ сероера аутентификации. Сам nакет. возможно потребуется получ-ить ИЗ внешНИХ источников (один ИЗ них  web fi1il.edu/ker beros). Что касается наших тестовЫХ систем, то Kerberos поддерживается 8 Solari И HPUX, а во FreeBSD этот nакет является частьЮ системЫ. Определенная поддержка имеется также в маршрутизатора.'\ Cisco. хотя раньше применен не nакета часто сопровождалось возникновением ошибок. Компания r-..'1iсrQОrL 3З.ЯВнла о расшнренной лоддержке Kerberos в Windows 2000, однако эта реализаиия обладает uелыМ рядом несовместимостей. Сообщестио пользователей Kerberos может похвастаться одним 1/13 С3\1Ы'\ ТОЛКОВЫХ И приятных документов. посвяшеlil-lЫХ Крltnтосистемам. а имеНlЮ: "Dеsigniпg an АLILl1спtiсаtiоп Syslem: а Dialogue ill Four Sсепеs" tПрое,,"'ТIIРО вание системы аyrеНТИФllкацнн. дllaJlor в четырех актах}, написанным БI"I1IЛО!\,1 Брайантом (ВiII BryantJ. 1l0K}'Mem будет интересно прочесть Jlюбому. кто интересуется TeMO криmоrpафии. lloкyмei-IT мОЖНО ниt'lтн ПО адресу l1!tp,//web. m it.edu/kerberoSfViww /diаlоguе.lltПll Имеется также хорошиЙ FАQархив, httр:f/www.пrl.паvy. ПlilfССSfреорlеfkелh/kеrbсrоs fаq.htшl Лучше использовать Kerberos. чем полностью отказаться от СИСТС\lЫ зашиты юlк такоlЮ. К сожа.1ению, Kerberos i-lельзЯ назвать яполне бсзопаНОl1 системОЙ. а ее ,иста.1ЛIШНI и запуск  не самое ПРШlтное зnнятие В то :.+: npCMJI 0I1a не заменяет собои IIИ одну нз проrpамм. ОПllсанных 8 ПiНllюi i f.'1зяе. По нншему мнеНIlIO. бо..тIЬШIНlСТВО Орl'i.1Шf33ЮfЙ бi1аrОI10.1учtю можеТ обойтись и без нес. Реry:lярная ПрОRеркз Kerberos и I1риtененис сиСН'МЫ шифрования улаленных соедннениl1. скажем SSH IIЛИ SRP (C1. ннже). позволяют обеспс1.ППЬ достаточно прием-лемы уровень безоnаСНОСТII полыо вателей . PGP: высокая конфиденциальность Пакет PGP (PreHY Good РпvасуJ. напмсанныЙ Филипом UиммеР-.ШIIОМ (Phi1ip Zimmеrmапп), содер-..кит криmоrpафИ'--lеские УТИЛИТЫ. широко npl.r\le няемые лля обеСllечения беЗоПi:lСНОСТlI систем электронной почты. Посре.l  СТ80М PGP можно шнфровать ДЗl-lНые. I.енерировать сиrнаl)РЫ и ПрОllерIТ1. ИСТОЧНИКlt происхождения фаЙ;юв и сообшеIlИ. Попьrrки то отреJ)';lирОllать, то остановить распространенис IlnKCTi.1 привели к появлению разнообразных ero вариантов. Сеrопня он су шествует в несколькиХ версиях. включая ря коммерческих пропуктов от компаНlI1I Network Associates (www.паi.соm). В США НСПQJlьзуется версия PGP. 01l0б ренная правитеЛЬСТ80М. Международная ero версия с более сильным шифроМ доступна на \VеЬУЗJ1е ""w\\'.pgpi.org. PG Р  это нанболее ПОПУJlярная криптоrрафическзя проrpаммз. ПР,ШJ.iI. работать с не" в UNIX может т-fШЬ тот, кто очень хорошо разбlрi:lСТСSI 1\ криnтоrpафии. С друrои стороны. к па кету прнлаrается 88страНl1ЧНhlil учебник по КРl1lпоrраФltи. с которым можеТ ознакомится любой желаЮШIIII Чость 11. Робота в ceTX 708 
Вислом. пакет PG Р может оказаться полезны.. но МЫ не рекомендуем подьзователям работать с ним liзза нетривиальности процесса обучения. rораздо удобн ИСПОЛЪЗ0вать Wiлdоwsвсрсию PGP. че.. UNIXKoMaHДY pgp с ее 38 различными режимами. Проrpаммные пакеты, распространяемые через Iп[еmе(, часто содержат файл сиrнатуры PGP. подтверждаюший их подлинность и иелостностъ Но проверить эти сиrнатуры не TaKTO 1erKo ЛЮДЯМ, не JJВЛЯЮШИМСЯ фанатиками PGP. Не потому, что прОLlесс пронерки сложен. а потому. что Пр(,1 использовании PCiP ИСПШlliiЯ безопасность доститается то..'1ько путеr-.-r СОЗД3 JIИЯ персон3..'1ЬНОЙ I<;:ОПЛКШIИ открытых ключей тех людей, кторые были прО8Срены напрямую. Заrpу-зк.1 Дllстрибутива с открытым ключом и фай..l0М clfrHaT}'pbI примерно так же безопасна, как и Jаrpузка. одноrо дистрибутива. SSH: безопасный интерпретатор команд Пакет SSH (Sесше ShelJ). написанны" Тату ИлёнеllО>l (Таш Vlблел). ЯВJlяется безопасной заменоЙ проrpзм"м rlogin, rcp If telnet. Он использует КРI-tптоrpафичесую а}7еНТИфIIКo:IЦИЮ ДЛЯ подтверждения личности полыова теля н шифРiет любые соединения между двумя КО"'lnыоrерами. Протокол SSH уже \:орошо ItJY'ICH If про\оПlП процесс стандаРП1ЗёШИII 8 I ETF. Подобно I1POI1'3M"'f trip",'ire. пакет SSH трансформировался из бесплатно расrlространяемой OTI<;:PLITO" CHtTf\.ILI (SSHI) В коммерческий продукт (SSH2). И точно так же остается ДОСТУIllЮЙ 11 ero бесплатная версия. Te!\<J не менее базовый протокол изменился. поэтому версии (:тали несовмеСТИМЫМII. В принuипе. пакет SSH:! доступен для использования инекоммерческих целях но условия лицензии достаточно жеСТk.е. '1ы советуем рпботать с пакетом SSH 1, который довольно належен. Первона""льную версию SS Н I можно найти ло адресу ftр.ssll.СОПl/рuЫssh. Но похоже, что а"''ТIIВНая ее разработка прекращенз. r р}лпа ОрепВSD взяла в свои руки управление ИСХОllНЫМ текстом пакетз. внеся некоторые Н1l>lеllення в ero cТPYК1\lpy. но rlрllllllИПЫ работы l1акета 11 cro адМИНIIСТРИРОВi:lНИЯ не ИJмеШ1ЛИСЬ. ДаНllаЯ верСIfЯ нюьшается Opel1SSH и описана на \VеЬузле \\'WW.орелssl1.L:ОIll. Она ФУНКШIOНllрует лучше. чем ОрlIПlНал, но порядок ПО..'Iучения ИСХОШIЫХ текстов Б Нi1стояшее время С.1ИШКQМ утомителен. Возможно. 8 буЛ) шем ситуаuия изменитСЯ В любом случае стоит упомянуть о IICCKO:lbl.::o нсопреДС1СIIНО'-' I1равовом статусе пакеТа SSH в CllJA. r;,H.. ка}., он ИСIIOлыует 1зпзтентованную систему шифрования RSA. :d ерш.. деf1СТЩ-lЯ Пo:lтента лолжен был истечь в сентябре 2000 rопа. ОСНОИНЫМII компонеНТi1\1II пзкета SSH ЯIl!IЯЮТСЯ сернt"РНЫЙ демон SSlld 1-1 две IlpOI рзммы 11O:IЬЮВiiтельскоrо YPOBНJI: ssh. прсдназНdчснна$1 II,.!lЯ уда.нсНl'IОЙ реrнстраuни. и scp. ПРСll.нюнзчснная ЛJШ копнрования фаЙЛО8. Среди OCTaJlbHbI\ ком ПОllеНТоВ отмстим IIporp.IMMY s!o,llkeygen. rенсрирующ)'ю пары открытых КПЮЧ('1. 11 нес....ОльJ..О УТИ:IIIТ. lIеоб'\ОДIf\.fЫХ ДАЯ ПОIL'IСр)i(КИ безопасны>. сернеров Х \VlIldov..'. lleMoH SSlld С(IOt:обен аУ'ТСIIТIIФIIUIIРО8.ПЬ ПО.'IЬЗОВdте'IСЙ раJ..111ЧIIЫlllli способами. Выбор ОL:Тё3СТСЯ за аДМlIlllIстратором. l\.leTOH А [слп ИМЯ удалсшюrо коr-.шьютера. с Koтoporo РСПIСТР'.IРУСТСЯ пользователь. ) Kil3aHO в фаЙ:lе  /.rhos[s.  /.SI1OstS, /e[c/hosts.cqui\ II!Ш /etc/sllOsts.equiv. то пользователь аптомаПlчеСКl1 rюлучает ДОСТ}'II к снетеме без проверКlI ПdрО:IЯ. ПодобнCUI схсr..;-з модe..rшрует работу старой flpOrp;]M мы rlogin 11. по нашему f.ШСl-lltlО, lIe приеМJlС\13 для Шllрокоrо IIсrlQЛЬЗО взшtя 709 r лова 21 БезоnоCt-iОСТЬ 
. Метод Б. В пополнение к методу А демон sshd может прш.tенять шифрование с открытым ключом для IlpoBepкa,1 ПОШl..ИННости удаJlсниоrо компьютер;]. Чтобы это стало возможным, открытый ключ nЗHHoro компьютера (rенерllруется Прl1 ИНСТсlJUlЯЦИИ 11зке-тз) полжен находИтЬСЯ в файле /etc/sshknownllOsts !lокальноrо }'J.'Ja или в фале  /.ssh/knO\vnhosts ПОЛЬJOватt:ля. ЕСЛII УД3.JIСНIIЫЙ компьютер предостав ляе-т СООПlетствующий ceKpeTHЫ1 ключ (обычно он хранится и файле /etc/sshhostkey. неДОС1)I1НОМ для 'пения рядовым пользователям). пользователю разрешается воtПl1 в ОlCтему беl проверКJ1 пароля. Мы полаraем. что па...rnыЙ метод еше HenOCTC:\TO'lHO безопасеН. Если yдa.]eHHы комш.ютер попверrся излому. локальный узел таJ..."ЖС окажется под уrpОlОЙ. J\1етод В Демон sslld может npllMcHSnh шифрование с открытым КJlЮЧОМ для идентификации ПО!JЫОН<:IП'ЛЯ. На .папе реrистрашlИ пользователь должен иметь достун к файrlУ CBoero ceKpeTHoro ключа и препоставить пароЛЬ ШТЯ ero дешифрования Этот метоп самый безопасный. но OIt }70мляет пользоватеJlеи. Он также пел ист невозможноk реrистраuию в системе мобильных пользователеJi (pa.iBe что они IIОСЯТ С собой копию файла ceKpeTHoro ключа). 1\1етод r. Наконец, пемон sshd может просто IIОПрОСИТЬ полыонателя ввести своЙ реrистрi:1ЦИOlНfЫИ ПЗРОЛh. Это де']ает проrpзмму SSll подобноЙ проrpамме iellle[, за ИСК-1ючеl.шем Toro. что шифрованию ПОllJтежат lIapO'lb и весь сеанс. ОсновНоИ недостаток Дdнноrо me-lOllа J3КJlЮ1.Jается в том, что пароли ОК31Ы83ЮI'СЯ отноL.итслыlo с.'ыбыми (часто их д..лина orpaHII чен.t 8 символами). и уже сушествIOТ rOT08LIe ПРОТ1JИММЫ (напрю.fер. crack) для излома таКИJ< паРО.']е. Тем не менее пзнный метод, как правило. подходит п...1Я повсепнеВllOrо использования. Прави..rrа аyrе.НТНфИКi:1UИИ Jадаются в фаЙле /еiс/sshdсопfig '9тот фаИ:J уже заполнен разноrо рода КОНфИТ}-рЗlllШННЫМ "MYCOpOt"', большую часть нз KOToporo можно спокоЙно ПрОl-fПlOрНрОвать. Параметры. касаюшиеся а}7еНТИфИК3ШfИ. перечислены 8 таб!l. 11.1. Тоблица 21.1. поромет ры аутещиФиt;.ОЦИИ. .}одово емые в фойле /etc/sshdconfig Порометр  Метод I По 'умолчаиию Назначеиие. Korдa вкпючен Rhosr.sAuthentl. А РазрешOlСТ реrистрацию через Cd с":'оп фаЙлы  j.sbosls. /etc/shosts.equit и др. Rhosr.sRSдALlr.rlen Б yes Разрешас.r реrистрацшо через tз-саtз-оп файл  /.SOOSIJi и ero ЭК8ива ленты. но таюке требует от KOM I1ыосраa предоставления КJIЮЧO:i IgnoreRhos t.s А. Б Задает IIrИОрИрОВiiННС файлов  /.rbosts и bosts.cquj,,2 IgnoreRootRt1osts А. Б по 1 rIредотвраЩ<iе1 аутентифика I1ИЮ пользователя root через фdЙЛЫ .rbosts и .shosl,. RS.':'.uthепt.l.саtiоп В уез РазреШ<1ет ауrеНТИфllКа.uию пользователеЙ 110 меroду Шl-iф роианJ.1Я с ОТКРbl1.Ы КЛЮ'IOМ PasswordAuthen уез Разрешает I-iСПОЛ.bJOВ8НJ.1е обыч tcation ных реТНC11JационнЫх паролей Мето.ды аутентификации. к которым OТHOCl11'Cl! дaHHЫ параметр. Файлы /.SOOSIJi и sho!its.equi\-' продолжают использоваться. По умолчанию равен ЗНЫ'IС'НИЮ lIараметрв IgnoreRhosts. 710 Чость 11 Робота в сетях 
РеКО....Iендуемая HaНI конфит)'рация. в которои РaJрешаются методы В и r, но не Л и Б, такова: Rt10S1:sAut.hentcat:lon по RhostsRSMuthentication по RSAAuthenticat.ien уез Pa5swordAuthentic.ation уеs SRP: безопасные удаленные пороли Протокол SRP (Secure Rel110le Рзsswоrd), разработанный Томасом Ву (Thomas \УLI) из Стэнфордскоrо университета, реализует ПРОСТОIf. быстрыЙ, беспатеНПIЫЙ и ВЫСОКОНd.Д,ежныи способ lIрОверки пароле в обшедоступных сетях. Этот IIРОТОКОЛ пока что менее раСllространен, чем SSH. но он кажется нам более элеrаитным. Ero 11porpaMMHoe обеспечение проще с точки зрения адМИНИСТРI-tрования. а сам протокол леrче адаптировать к сушествующим сернltсам. Вместо ТOI'О чтобы переI01ючаться на новый J-Iабор команп, как тoro требует SSH, ПОЛhЗовап'ли мшут продол.жать работать с проrpаммам.и telnet и rtp. Единственное ОТЛИ1.fliе заключается в том, что все сетевые соединения будут незаметно шифроваться. Если rО80рИТЬ конкретно о проrpаммах telnet и rtp. то клиенты и серверы SRP будут обратно совместимы со с"оими стандартны"ми аналоrами. Аyrеlпификаиия и шифрование исполь зуются тош.ко тоrда, коrда они rюддержиnО1ЮТСЯ обеИМIt сторонами. К сожалеllИЮ. I1рllмениемыi"j в LJNIX стандартныЙ злrорип..1 ШИФРОВ<!НIIЯ DES математнчесЮI Ilепрнемлем !UIЯ IIроТОКОЛ8 SRP, полому паРОЛII SRP ПOJIЖI.IЫ \раНIfТЬСЯ вне файла /etc/pass"'d. СущеСТR}"юшая версия па кета SRP (ДОСТУllна на \ly'еЬузле srp.st3l1ford.edtl) создаст иечто вроде файла теневых паролей (jerc/rpass"'d), в котором содержатся SRРИt:рСИИ паролеЙ псех пользователеЙ Имеется замена стаlшартно командЫ pas"'d. ПОlволяюшая синхронизировать пароли в обоих файлах. OPIE: универсальные одноразовые пороли Одно IЗ неудо6сТА. С которыми сталкиваются системы SSH 11 SRP. заключается н том. что обе CTOpOl-lbI соединения полжны пoдnержинать спеииаЛЫIЫЙ протокол. обеСПСНtВаlOщиt1 безопасность соешшсНИЯ. ОБЫЧIЮ это не вызывает проблем, 110 J.lнш-дз пользователи оказываются в затрУДНII телыюм положеl-lllll. КJшенты SSH имеютсЯ не 80 всех операшlOННЫ). системах, поэтому мобильным IIользователям ПРИХОДIIТСЯ реrистрироваться в системе через компьютеры npуrих люде. Стандарт ОТР (Опе Time Раssv.юrd  одноразовыи пароль). определенныи в документе RFC1938. рсалИ1Ует несколько иной подход к безопасности паролей: f1MeCTO Toro чтобы их шифровать. он убеждается, что ОНJI используются однократно. В таком случае обыtlНые текстовые пароли можно свобопно переШ1В<lТЬ по сеПl, не беспокоясь о том. trro ИХ ктонибупь перехнаТIIТ. IIШIЬ308fIТС"111 обычно р.1Сllсчатывают rpУIIПУ rlзролеЙ и IIОСЯТ .пот СПIIСОК С собоЙ. В O"IJlI1ЧIIС от обычных паролеи. одноразовые паролн .-енерируются от 1fJ\..IСIIИ ПОЛЬЗО8fIПЛЯ, их lIe приходитсн Rhlбирать самостоя тельно. В нзстояшсе время наиболее распростраllСНlЮЙ ОТРсистемои являетс,"" OPIE (Onetime Passwords In Е\'сr'\'tlliпg  универсальныe одноразовые пароли). Она представляет собоt1 модификацию более ранней системы S/Kcy компании Bellcore (теперь Tclcordia Тесlшоlоgiе!о.), усовершеНСТВОВ3t11ЮИ в r пово 21. Безопосность 711 
научнаИСС.'1едавателъских лаборатариях ваенна"юрскаrа флата США. Oc навныии элементами OPI Е яв..'lЯЮТСЯ ОТРсавместимые версии деманав telnetd и rtpd, а также утилиты lIЛЯ rенериравания сnнскав пара:'lей t управ...,(:ния IIМИ. Пакет OPIE лостynен па адресу \V\\fIN.illпеr.пеt!рuЬ/аРIС. Неабходи}.ю aTh!enfTb, что ОТРсистемы решают талька праблемы. связанные с кражеЙ паралей. ОНI1 не шифруют сами данные, перелавае\.fые через сетевое саСДJfнение. Любав. кто. тайно ПОПЮlЮ I IИТСЯ к сеансу tclnet. даже не сумев палучить rшроля, наверняка сможет MHaroe узнать а По..'1ьзавателе. Каждый параль. набранный паС.1е ВХО.::Ш в систему (в праrраММt: sudo. иаnpИfер). окажется савершенна l-IеЗi1ЩИШСffi-lым 8 . С учетам растушей папулярнасти систем наподобне SSH, астается нсе \.tеньше и меньше причин примеНЯТh пакет OPIE. Fслн нет "palIell неабхадю.fOСТН. не испо..'1ыуйте данный пзкет: с,.о неудобно IIнста...ешронаТl и саПРОВОЖдать, да и паряпак работы с НИI не савсем прнвычен д..'Нl пользователеЙ 21.9. Брандмауэры Наряду с защитай атдс.:lhНЫХ кампьютерав мажна преlIПРИНЯТЬ "еры н па абеспечению безопаснасти f-Iа сетевам уровне. Основной ИНСТРУ\lеllТ сетевой зашиты  брандмауэр. Су шествует три катеrарии браI-Шlа}эров: пакетный, сеРВИСl-lЫЙ и ана.1ИЗИРУIOШ1Й. Фильтрация пакетов Брандмауэр, фИ.1ЬТрЮIUИИ пакеты. arp"'-IИI'"швет трафш.;: через IшеrпСI шлюз (И'Пi через BHYTpeHHIlt1 ULlIOЗ. сае!l",IНJIЮШl-tй .!la\leHЪ1 в препе.lах арraнизаUИII). аснавываясь на IIНфОрfашtll 113 jаrаланка пакетав. Вы указываете, какие целевые адреса, намера партов и типы протокола в являются дапустимыми. а брандмаvэр праста атбрасывает (8 некоторых случаях также реrистрирует) все пакеты, котарые не саатветствуют заданнаму критерию. Фильтр;злию выпо..'lняют спеuиаЛllзираванные \.fёlРШРУПf3аторы (Hиlpll мер, вьтускаемые каt.Шidнией Cisco). Вал.южнз Ta......+::e праrраммная фIJ.fJЫ раuия; все lависит от каМlIыотерз. Rhшолняюшеl'О Ф,tIКЦИII шли.па. If el'o канфиryраЦИIf. В ue!IO1 ФН:IЬТРУIOUll1е 6рtllшмаузры )наЧllтелыю ПОНЫШ;.I!ОТ безопаснасть. liC трС'бя С'lнестмеН!lЫХ фИlli.l1l1.:0liЫХ штрат 11 особо L:JIOЖliШI настроики. В Rcd На( J1 FreeBSD IIMCCI\::.I ПРОrJllммныff фllЛЬТр Пi]кетав (СМ. lыrнrр<!фы 13.14 и 13.15). Д.1И этоi1 нели !\ЮЖI-Ю "УJIIПЬ коммерчс.:о..ую праrpамм}. Все ани ПQзна.1ЯТ абеL:rН:ЧIIТЬ раз \.f1l}Ю заШllТ)' до\шшнао кампьютера IIЛIf неБО]IЫUОI'О офиса 1--10. IlрОЧlПаН I"e еше раз Н.i:lча..тю r1aBbI, прежде чем рассмзтривать LP\ IХсисте't)' в к<!честве КОрllаpo;lntlшаrо бранд мауэра 88 Эта тот слу t l3И. кш.д<! действнте.1ЫIO стант В;ТОЖIlТЬДСI.IЬПI в покпку Сl1ециаЛИJированноrа CCTeBOI.o оборудаВШIИЯ. 1-i3l1ример бранлt.ldЭР.а PI\ компании Cisco. Отсюда Ilpa8t10: IIOJlb30Bal'"e'Jllf IIC ДШIЖIIЫ ]апраШllflПЬ ДОIIQJlIIIПСЛЫIЫС оrРПi:!ро.lll. зареrИСТр1роВЗВШltСЬ в CIICf{'Me 110 ПрОТОКОIУ отр BI.'C 3TII lI<!рО.1И БУДУI. неред.!IIы н нсзаЩIШ1СННОМ виде. f\,'1bl также прсдполю.аем. 'по IIOJlb..IOl:lalC.IHM IJС IlрН'\ОДЯТ Н rолову IJIYlIbIC идеll lIallOlюбll( ,-0.1.0, как сделать Window$ п.IЗТфОрмоЙ lLlЯ брандмауэра. Неужели f1pl'1 мыс;ш О \Vll1do\\/s  KarOTO ВОЗНИКает чувство бе:ЮlIаСIIОСТlt? Давайтс tle б)l1СМ ззним<!тьсJ!. ерндой: Wll1dO\!oo  ДЛЯ настольных компьютеров. 712 ЧОСТЬ 11. Робота в сетях 
Принциnы фильтрации сервисов Большинству "извеСТНЪ1х" сериисов иазначается сетевоЙ порт в файле /elc/sel'\'lces (НЛИ ето системнозавнсимом эквиваленте). Демоны, которые реализуют СОQтветствуюшие сервисы' ПОСТОЯННО опрашивают порты, ожидая запросов на установление соединений со стороны удаленных компьютеров., Большинство таких портов  .'привнлеПlроваННЪ1е". Это значит, что их номера находятся в пиапазоие от I ПО 1023 и что порты MOryт использоваться ТОЛЬКО прош:ссами. рабarаюшими от имеIO-l поль.зоватеJlЯ root. Парты с иомерами 1024 и вы яв..1ЯЮТСЯ неПРИВИJlеП1рованными. Фильтрация сериисов йСНОМНа на предположении. что КЛИСI--П" (КОll.'lПЬЮ тер, НIOfЦиируюший соедннение по протокол}' ТСР ИЛИ UDP) будет использовать непривилеrироR3..ННЫЙ порт МЯ установления контакта с привилеrиpованным портом сервера. Например, если компьютеру с адресом 192.108.21.200 нужно разрешить только ВХОlIJПUИе SМТРсоеДl1нени,. то следует установить фильтр. KOTOpЫ ПОЗВОЛИТ посылать тсрпакеты по этому адресу только через порт 25 и отnраRЛЯТЬ ТСРпакеты с naHHoro алреса через любой порт... Способ ИИСТ3.J"[J[ЯU}lИ TaKoro фильтра будет З3fшсеть от типа маршруппатора. Некоторые серпJlСЫ, например J--.IP. еше больше усложняют эту rолово ломку. При пересыпке фаЙ.'lа по прОТОКОЛУ FТP устанавливается Н3 самом деле Два соединения: одно  для коraнл, npyroe  Л)1Я данных. Клиент иницпирует КО'\1зндное соединение. а сервер  информаLtионное. Следова тельио. еС.1И неоБХО!lНМО получать файлы 1З Il1Icmc[ по протоколу FТP. нужно разрешить вход в Сliстему через все неПРИВ1iлrированные ТСРпорты. так как неизвестно. f...8КОП 1-IЗ НII"\ бупет испштъюнан .аля установления инфор мационноrо соединения. 0" Подробflее о }СОflфUZ}1JUроваиuu FTPceptJepa рассказывается 6 tlараzрафе 22.6. Это сводит на нет преимушеспа фильтрашш пакеТ08, ПОСКОЛЬКУ некоторые обшеизвестные сервисы, славяшиеся cвoe незашишенностЬю. работают с нелр"вllлетированныии порт.м" (налример. Х! I  порт 6000). Кроме Toro. не в '-1еру любознательные пользователи в орraнизации получают возможность запускать собственные сервисные nраrpаммы (например, сервер tеlпеt на неСТ8НД8IЛНО:М и непрнвилеПfроnанно:м порте). к которым они и И друзья MOryт обрашаться из f пLеrпеt. СамыЙ безопасный способ испо:rJЬ30Ш:1НШl фильтра паксТоВ  начать с КОНФШ)'Р8Шllf, 8 котороЙ не зопускается НИl.lеrо, кроме ИХО.1яшеrо SMTP трафика. Затем можно постепенно ослаблять фильтр 110 мере Tora, как БУ..ilет обнар\'-'жциатьси. что OTдe'ЬHыe полезные сервисы не ра60rают. В HeKOTOpы фНр\f3.Х. У'Ж очень заБОТЯШ11ХСЯ о безопасности. используется ДВУХС1)Тlенчатая ФШlыраШ1Я. Один фильтр в этой схеме подключен к InterneL как u.итюз, а вторОЙ находится меЖдУ этим ШлюзоМ и остальной частью локальной сети. Идея состоит в том, чтобы оставить наружный шлюз относительно открытым. а ВН}7ренниif сделать очень жес-п<им. Если проме жуточный компьютер администраПfВНО отделен от ОСТdЛЬНОЙ части сети, появляется ВОЗМОЖНОСТЬ предоставлять Р3ЗЛ11чные сервисы I п[еmеL С меньшиМ риском. ВО МНОП1Х случая)( зада4У ожидатlЯ берет на себя ДеМОtl mefd. Ilодробнес об ЗТОМ рассказыоается в параrpафе 28.3. 110рТ 25  это порт Sf\,'1TP. определенный в фаft."IС /etc/scrvices. r паво 21. Безопосность 713 
Наиболее раjУМНЫИ способ уреryJlИРОвания проблем с FrP  разрешить выход по протоколу FrP 80 внешний мир только с опноrо этоrо изолиро BaHHorQ компьютера. Пользователи смотут ре1l4стрироваться на ием, KOrD.a ИМ понадобится выполнять друrие сетевые операции, запрещею-rые 80 внутренней сети. Поскольку копирование всеХ полъ.зовзтелъских учетных -записеt1 на FТPcepHep ПрОТlfворечlfТ сути алмииистративноrо пелеН11Я, \южно СО1.даватъ учетньте записи толькО по зая-вкам. Естественно. на FТPcepflepe полжен работать полный комплеКТ средств зашиты. Сервисные брандмауэры Сервисные брандмауэры перехватывают входящие И исходяшие запросы на соединение и устаН8влиnают собственные ПОдюlючениЯ к сервисам в пределах сети, иrpая ролъ преrpажлающеrо затвора либо посредника между двумя мирами. По СlЮе архитектуре сервисные бран.т.fауэры менее rибкие и быстродействуюшие. чем обычные фильтры пакетов. ОНИ Д01DКHЫ иметь спеuиaJТЬНЫЙ модуль пекодиронаНJlЯ и перенапраnлеl-lИЯ пакетов для каЖllоrо протокола. трафик KOToporo проходит через брандмауэр. В начале 90x rr, зто было arносителыlO l-IеСЛОЖIЮ сделать, так как широко использовалось лишь небольшое число протоколов. СеТОДНЯ, П}7ешествуя в паyrине rлобаль но" сети. пользовате!1Ь за один час может залеnствовзть несколько десятков протоколов. Поэтому сервисные брандмауэры arносительно непопулярны в орrанизациях. rде основной средоЙ взаимодеЙСТВИЯ стала сеть (п[еrпеl. Анализирующие брандмауэры в оснопе анализируюших брандмау'JроВ лежи, следуюшии принцип: при внимательном прослушиню-ши всех диалоrов (ШI всех я'jыах)) в толпе аэропорта можно у--знать. не планирует ли ктонибудъ пронести с собой 8 самолет бомбу. Тш,ше бранпмауэры проsеряют ПрОХОllЯший через HIIX трафик и сравнивают реалъную сетевую активность с той, которая, по их мнению, должна быть. Например, еСШI н пакста.х. передаваемых в процессе обмена FТРкомзндами, указывается порт. чсреj который должно быть установлено информационное соединение, брандмауэр обязан убедиться, что запрос прliдет именно к JTOMY порту. Попытки удаленных узлов ПОДКJJЮЧIIТЬСЯ К ДРУП.Jм портам булyr считаться ошиБочIы}.-и,' а С'1едовзте.пъно. иrнорироваться. К сожалеНию, суровая пеЙСТRителыlOСТЬ вносит свои корректипы. Нерс- З.J1ьно arслеживать состояние сетевых соединений мя тысяч компьютеров и стен протоколов. как нереально пытаться ПОДСlТJWать каЖдЫЙ разrовор в переполнеНIIОМ 3'JропоDТY. Возможно. коrданибудь. Korna процессорныc J\.ющности и объемы ОlIеративноЙ памяти Бозраст}'т на порядок, этот 1змысел и ВОПЛОТИТСЯ в жизвь. Так что же нам пытаются продать поп маркОЙ "анa7tизируюшие брандмауэры"? Такие сисrеМhI либо контролируют очень оrpаНlfЧенное число соединени и протоколов. либо ищут определенные "неправильныс" ситуа ПИИ, Это, конечно, неплохо, Полезна любая технолоrия, позволяющая выявлять анома.,'нш rpaфи..::а. Но в данном конкретном СЛy--Iае нужно помнить о том, что болышfИСТНО рекламных 1.ШВЛСНИЙ ПО!lобноrо рода так и ОСТalтСfI рекламными Насколько безопасны брандмауэры ФильтраUIIЯ пакетон не ЛОЛЖll3 быть основным средством зашиты от незваных l"OcTet1. Зто Bcero лишь испомоr8тельная мера. При применеИlI1I 714 Чоаl:. 11. Работа в сетях 
брандмауэра у полъзователя порой сознается ложное впечатление. бупта уровень ero безоnаСНОСПI является исключительнО высоким. Если, П08ерив llПiСЬ брандмаузру, ослабmь бдительность на дрyrnх рубежах, это oтpuцa тельно скажется на заЩ1ПuеННОСТlI информаиии в нашей орraНИЗ8Ш1И Каждый компьютер 1.lеобхопимо зашишать индивидуально и реryлярно проверять. полыуясь T3КJIМlt средствами. как crack. tcpd. птар. COPS и tripwire. В противном случае З3 твердой оболочкой окажется мяrкая, податливая сердиевина  настояшая "конфетка" Л)1я rолодных хакеров. В идеале локальные пользователи должны иметь возможность подютю чатъся к любому серинсу Iп[еmе1., но доступ к локальным сервисам со стороны Iпtеmеtузлов слепует оrpанltЧIПЬ. Например. к архивному серверу может быть разрешен FТРдоступ, а к серверу электроююй почты  дос1)'П только ло SМТРсоепинен>lЯМ Чтобы Jпtеmеtкзнал функuионировз.тт с максимальной эффективностью, советуем все же обратить особое внимание на удобство работы и доступность. В коние кониов. сеть становится безопасной б.'lаrодаря бпительности систем HOro 8дминr1стратора. а не блаrопаря "навороченному" брандмауэру. 21.10. Источники информации на тему безопасности в битве за безопасность системы немалая доля успеха зависит от знания современных разработок в дaHHO области. Если система оказалась взломан ной, это вряп ли стало слепстнием применения технолоrическо новинки Скорее Bcero. малеиькая трешинка 11 броне системы urnроко обсуждалась в какойнибудь rpynne новостей. и одному из неофитов захотелось ее заметно увелИ'-НfТЬ. Орraнизация CERT в СВЯЗИ С бурной реакцией обшеспеНlЮСТИ на вторжение lf1(еrпе["червя" орrзmпаиия DARPA (Defellse Ad"'311ced Researcll Projec[s A.gellCY  Управле ние перспе"''ТIШНЫ'( исследовательских проrpамм Министерства обороны США) учреnила НОRУЮ структуру CERT (Compoter Emergeocy Rеsропse Теат  rpуппа компьютерной "CKOpo помоши") В ее обязанности вХОДИТ сбор информзшш, кзсаюшейся компьютерной безопасности. CERT по сих пор остается IНlItболее IВве(:тным консультативным opraHoM. хотя со временем ОИ3 СТ8ла весьмз меплитепьной и бюрокраП1 L IНОЙ. Более Toro, в самой ОрП:!.НИJ3Ш1И сей1..l3С нстаИ8ШОТ на том. что ее название не означает ничеrо кроме "зареrИСтрlfрОlldННОН служебной MapКlI УНlfверситета КарнеrиМеплона". Хотя. соrл3СII0 CTaBY. CLRT обязана решать возникаюшие на пра...."Тике проблемы, H деле эта ОРI.аНIIЗlЦИЯ не способна ни расслеповать таковые. ни призыпать к порядку наруuлtтеJlе. Она является не более чеМ хранилишем "заплат". пре.nлаrаемых ПРОИ.JВопителими для ПОDышеНltя степени l<lШIПЫ nporpaMMHbIX пропуt...'ТОВ. а также выпускает объявления о выхопе новых средств. Эти .'lаплаты' и объявления называются "рекоменлаШfЯМII CERT". Новые рекоме.щаUIfИ публикуются на WеЬУ:lЛе wwwxer1.org и н телеконфс ренции сошр.seсuritу.аппоuпсе. а также распространяются в соответствуюшсм списке раССЫЛКl.I. Чтобы II0пписаться на Hero. обратитесь по адресу hHP://Vo'\I,"J.'.cert org/COI][ct cen/certтaillisl .hlшl r лово 21 БеЗОПОСI.Юстъ. 715 
Сервер SecurltyFocus.com и список россылки Bug Т roq Сервер SccurityFocus.com спеЦН8Лнзнруется На сборе новостей и инфор мации на тему безопасности. В НОВОСТЯХ публикуются как общие обзоры. так и статьи, посвпщенные конкретным проблеМ8М_ ИмеетсЯ' также обширная библиотека полезных документов, удобно отсортированных по тематике. П porpaMMHbl11 архив сервера содержит ннструменталъныe средства для множества опервuионных систем Проrpаммы снабжаются аннотаuиями и полъзоваТС]lЬСJo::ИМИ рейтинraми. Это наиболее rпооальНЫЙ и 'fIсчерпывающий из известных Нам архивов подооноro рода. Список рассыJJl<И BugTraq  это форvм для обсуждения проблем безопасности и путей их устранения. Чтобы подписаться на Hero, направьте ПО адресу listserv@securityfocus.com Письмо следуюшеrо С(L'1.ержаиия: SUBSCRIBE BUGTRAQ фамилuя. имя Объем информauии. рассылаемый по СПИСКУ. может оказаться ДОВОЛЬНО значительным. На WеЬузле 'Хранится база данных с отчетами о paCCMoтpeH ных в форуме BugTraq проблемах. Орrонизоция SANS SANS (Syslem Admiпistrаliол. Nеlwоrkiпg апd Sесшitу IлSI;ILllе  ИнсТlП)'Т системиоrо и ceтeBoro администрирования и пр06лем безопасности)  это профессиональиая орrанизацня, которая спонсирует конференuии и обучаlO шие семинары. посвященные вопросам безопасности. Ее WеЬузел wv..'W_sans.org является ЦСННЫМ информаwfOННЫМ ресурсом, занимающим промежyrоч-ное положение между серверами SecurityFocus_com и CERT он не столь маниакален, как перI3ЫЙ. но 1-1 не столь нулен, как второй. SANS рассылает по электронной почте ряд еженедельных и ежемесячНЫх бюллетеней, на которые можно ПОдписаться на yттe этоЙ ОрПiНИЛIUИИ.  Информоционные ресурсы опероционных систем Проблемы безопасности способны оказывать серьезное 8JlИЯl-lIIе на реnyrauию, поэтому поставщию, операционных снетем остро заинтересованы в том, чтобы помочь ПОJ1ыователям сделать свои системы безопасными. Мноrие крупныI: поставшики педут собственные списки рассылки 1-1 публи Jr...]'JOT в них БЮЛJlетени по вопросам безопасности. Эта же информаuия часто доступна и на WеЬузлах. Не репкость. Kor.na ззшитные "заплаты" р8СПрО страняются бесплатно, даже если поставщики обычно взимают плату за проrpаммн}ю ПОlШержку_ В Intemer есть WеЬпорт8ЛЫ. наПРllмер \\'WW.securityfocus_com, на которых содержится информаuия, касаюшаяся конкретных производите.lеА. и имеются ссылки на последНИе ОфИLlиальные ТlJ'ессреЛI-fЗЫ. Чтобы попписаться на БЮ:I-"етенъ компании SШ1. ПОСВЯШNIНЫИ вопросам безопасности. отпраньте Письмо по адресу ecurltyalert@sUll_COI1l. ВК,,'lЮЧИН в тело сообшения строку ..subscribe C\\S вашадрес". Проrpaммные "1аплаты и архивы бюллетеней находятся на WеЬузле suпsоl\'е.SLIП_соm. Компания HewlettPackard имеет WеЬ']Лbl поддержки: tlSSupport.exter лаl.hр.соm  для жителей Америки и Азни и europesLlpport.exlemal.llp.com  для жителей Европы. Однако найти на них информаuию. касаЮЩУЮСJ1 безопасности, непросто. Чтобы произвести поиск в базе, ВOltUlITe п область "maintenance/support" (сопровожление/ПОд.!lеРЖ1(а) 'fI шелкните на ССыЛке "searcl1 technical kпоwlеdgе base" (Предварительно нужно бупет зареrистриро ваться). В нижней части открывшейся ctpaHl-fиы естЬ ссылка на бюллетени по вопросам безопасности. По этоЙ же ссылке можно ПОЛУЧIfТЬ доступ К зашптныM "заnлатам". Чтобы запросить высылlo..'У бюллетенеЙ, вернитесь на p] 716 Чость 11. Робото в сетях 
 rлавную страниuу области .. mаiпtепапсе/suрроrС' и щеЛКНJПе На ссылке "SUPPOI1 infonnation digesC' в разделе .'notifications". К сожалению, прямоrо способа ПОДПИСКИ через электронную ПОЧ1)'. похоже. не существует. CmfCOK рекомендаuи'Й ПО вопросам З81.I.IИТЫ системы Red Hat можно получить по адресу v.ww.redhal.com/suppol1/eJТata. На момент написаниЯ книrи не сушеСТВОВЗJlО офиuиа.ттьноrо списка раССblЛКИ по данноА TeMarnкe, CnОНСИ pyeMoro поставшиком Red Hal. Но в Сети есть множество ресурсов, касаЮШIfХСЯ Liлuх. Бо.ттъшая часть информаmrn в НИХ напрямую примени.ма к Red Нас Информаuия о безопасности системы FreeBSD на.ходитСЯ по адресу wwv,.'.freebsd.org!securiIY_ Имеется формальный список рекомендаций по FreeBSD. а также РЯД неофиuиальных СПИСКОВ рассылки. Вся работа систеМbI прохолит под. наб:lюдеtrnем "офиuера конrpразвепки" (securilY officr). за которым скрывается uелая rpyтma преданных ей профессионалов. И НфорМallИя О безопаснocnt npOl!YКТ0B Cisco распространяется в виде практических замечаний. сrтисок которых находится по адресу www.cis co.col1l/,varp/pubIic/770. Чтобы ПО1IПисаться на СПИСОК рассылки, ПОСl!Я1llенн-ыА вопросам безопасности Ci5co. направьте письмо по адресу rn8jordomo@cisco.com. вютlOЧИ1\ в те:ю сообшеЮIЯ строку "subscribe СUSIsecuritуаnлouпсе". Друrив списки рассылки и WвЬуэлы перечис.1снны1e выше контактные адреса  это лишъ небольшая частЬ ресурсов по вопросам безопасности, которые д.оступны в Intrnel. В преды душем и]ланJ.(И книrи 'fbI 710МИНали некоторые из них. НО учитывая OObl'f имеюшейся на сеrопняшннЙ' день информаllИИ. а также скорость. с которой появ.1ЯЮТСЯ И исчезают ра.з.,ичные ресурсы. мы посчитали uелесообразным указать несколько "!<o'leTapecypCOB", Хорошой стартовой плошадкой в вашем поиске может статЬ WеЬузе.:l XForce (xforce.iss.nel) компании IЛlсmеt Security Systems. rде содержится множество полезных FАQархивов. Там "fOжно найти текуши'Й перечень списков рассылки по вопросам безопасности, а также информаuию по конкретным операшroнным системам и "заплатам" к ним. И конечно же, нельзя не упомянуть порта..1 wv;w,уаlюо.соm. содержаший множество полезныx ссылок на иmересуюшую нас тему. Лучше искать их в общем разделе "Computers and Internet", так как разде..'Т, посвяшенныЙ UNIX. спишком анемичен.  21.11. Что нужно делать в спучае атаки на сервер КfJlOЧ К отражению атаки проет: не паllиковать. Весьма вероятно. что к моменту обнаружения факта вторжения БОlЬШая часть ушерба уже нанесена. Возможно, хакер "ryлял" по системе несколько недель ИJIН паже месяuен. Вероятность Toro, что вы по'Ймз"'Т'[И вора. прокравшеrося в систему всета час назад. близка к нулlO. Мудрая сова в подобном случае посоветовала бы сделать rлубоюfЙ вздох 'fI начаТЬ тшате:п.но ПРОДу-?fЫ83ТЬ стратеrию устранения "RЗлома". Старайтесь не вспуrtlУТЬ З!lOумышлеIIНИК3, ВО всеуслышание заявляя о происшееТБИИ ИЛИ выполняя каКIf-ТО действия. которые покаж7СЯ ненормальными ПJIЯ Toro. ,,",то, возюжно, lIаБЛIO.аает за деятельностью орralil-1зашш на протяжеН1IИ нескольких непеЛЬ. (Подск;пка: в данныи момент неплохо было бы выпо'1НИТЬ резервное КOIШРОВИШlе. Надсемся. это не УДIIВIIТ нар"Шителя?!). Если создаЮlе резерБНЫХ копий не является "норма.';JЫiЫМ" действием в вашей орrаниза uии, ТО обнаружение вздома окажется самой незначительной из ожи,цаюших вас пр06лем. r лаво 21 Безопасность 717 
Стоит также напом-нитъ самому себе о том. ЧТО, соrnзсно исслеПО83НIIЯМ. в 60% ИНl1идеmов. связанных с нарушеннем безопасности, присyrствовan "внyrpeнний врат". Не изучив всех фа","Тов, старайтесь не посвяшать в проблему лишних людей. кем бы они ни были_ Приведем короткий план, который. будем нanеяться, поможет админи стратору пережитъ кризнс ЭтWI 1: прекрапrrе панику_ Во мноrих случаях проблема обнаруживается только спустя KaKoeTO время. Еще одиндва часа или пара дней уже ничеrо не решают. Но имеет 1начение, какой будет реаКI1ИЯ на событие: панической или рациональной. Часто в результате возникшеЙ паНИКI1 ситуания только усyry6ЛJlется уничтожением важной инФормаl1ИI<1. Этап 2: определите адеКВ311IУЮ степеtlЬ реакuии. Никому не выrодно раздувание инuидента. Будьте блаrора.зrI\.fНhI. Реlшпе, кто из персонала бупст участвовать в решеНИlt возникшей проблемы и какне ресурсы Прll :)ТОМ ДОЛЖНЫ быть задействованы. Остальные будут nOMoraTb осушествлять "Bыосc тела", коrда все Jакончr-п-ся. Этап з: соберите всю ВОЗМОЖIIУIO ИI.ФОрмацию. Проверьте учетные н журнальные фаЮIЫ Попробуйте определить, rде пеРВОН8'1ально про изошел "взлом"_ Вьmолните резернное копирование 8сех систем. Убедитесь в том, что резериные лен'-ы ф'flЗlfЧески защищены от записи, если вы вставляете их в ДисковоД ДIlя чтения_ Этап 4: оцеНUl.е нанесениым УlUерб. Определнте. какая важная информация (есл-и таковая имеется) "покинула" компанию, и выработайте стратеПiЮ СМя-r-Iения возможных ПОС..'lедСТБИЙ. ОиеН11те степень будушеrо риска Этап 5: 8bInCptlltтc ШIIУР ECIm это необходимо и возможно, ОТКЛЮ'IИте "RзломаННhlе" компьютеры от сети. Остановите кровотечеНliе и переияжите раны. В архиве Compl"Otnlse FAQ КОмПании ISS паны дельные технические советы относителыю TOI)'). ЧТО следует делать 8 СЛучi'tе '"Rзлома" системы. Архнн лоступен по адресу http://xforce . iss. леt/sесurilУ  library /faqs/cOlnprom ise_pl'p3 Этап 6: разработзИте стратеrию ВОССТ31IОВЛftIИЯ. Соберите толковых '1юдей и обсудите план восстановления. Не JаНОСИТе ero в компьютер. Сосредоточъ тесь на том, чтобы свссти ушсрб к минимуму. Постарайтеt::ь tlикоrо не обвинять и не HarHeT3Tb обстановку. Помните отом псн\'олопrческом ударе, КОТОрЫЙ MOryT испытать пользователи. Этап 7: сообllрпе о своем плане. Расскажите ПОЛЬЗО8ателям и управnяюшему персоналу о последствиях "взлома", возможных проблема."\ и предварю-елъноЙ стратеп1И восстановnею1Я. БУд:Ьте чеспrы 11 откровенны. Иншmенты, связанные с безопасностью, Я1iJ1ЯЮТСЯ неотьемлемоЙ частью современной сетеnой ЖНЗНи. Это не отражение ваших способностеЙ как CltCTeMHoro администратора ИЛи чеrото лрyrorо. чеrо можно было бы стыдиться. Открытое ПРI1ЗНilНl1е 80зникшеЙ проблемы  90% победы. поскольку тем самым вы демонстри руете, что у вас есть план ПЫХШI.a 113 СИ1}аUl1lt. Этап 8: воплотите плаll в жизиь Вы знаете спои СlIстемы и сети лучше. чем ктолибо дрyrоЙ. Доверьтес.ь плану и инстинктам. Посоветуйтесь с КOJU1еraми из друrих орrаНllзаuий, irrобы убелиться в праИЮ1ЬНОСТИ Rыбран Horo направления_ Этап 9: сообщите об инuиденте в компетентные oprallbI. Если в инциденте участвовал "внешний иrpок", сообщите об этом случае в орrанизацию CERT (адрес ее электрotПЮ'Й почты  cert@cel1_org), предоставив как можно больше информаuии Станп<tртн.i1Я форма oT'"JeT3 наХОДIIТСЯ на WebY"тe \\tV/\\'.cert.or,g. НIIЖС перечислено. что желательно п Hero ВКJJIOЧИl ь: 718 Чость 11. Работа в сетях 
. информаl1ИЮ о мОделях и архитектуре "взломанных" компьютеров, а также об установленных на них операuионных системах . список "заплат". которые бьти установлены в системе на момент инuидента; .,. .... . список учетных записей, ПOlrверпuиxся нападеЯJfЮ; . имена и IPaдpeca удалеННblХ компьютеров, вовлеченных в инuиnент: . соответствуюшне журнanьные записи и учетные данные: . коtrraктную информаuию. Если в ходе инuидента бblла обнаружена ранее неизнестная прореха в проrpзммном обеспечении, следует сообшить о неи компаниира]работчнку. 21.12. Рекомендуемая литература . ВryЗnl. WilIiзm. "DeSlgning an АUl11спtiсаtiоn System: а Dia10gue iп Four Scenes". web.mil.edujkerberos/www /dialogue.lllmJ. . CERT Сооrdiпаtiоп Сешеr. "[пtrudеr Oeleclion Cllccklist". www.сеrt.оrg/tесlltips/iпtrudеrdеtесtiопсhесklist.html. . CERT Сооrdiпаtiоп СеПlеr. "UNIX Configuration Guidelines". www .сеп.оrg/tесh  tips/uпiх  configuration fuidelines.l1tnl1. . Cheswick, William R.. алd Steven М. Веllоviл. Firewa/l.' a"d {llIeтel SecurilY, Seco"d Edili"". Rеаdiпg. МА; АddisопWеslеу. 2000. СШIlП. Mall. алd Marcus Rl\l1um. "IЛlеmеt I',rewalls. Frequently Asked QuestiOI1S". WWW.IЛlеrllасk.Лel/рuЬs/fwfаq. Fanner. Оап. and Wietse Venema. "lmprovll1g l11е Security of Your Site Ьу Вrеаkiпg Iлtо it". 1993. www.fish.com/securily. . Fraser, В., Edilor RFC1I96: S;le Secur'ity Ha"dhook. www.rrceditor.org. Gаrfiпkеl. Simsоп. al1d Gene Spatford. Praclical UN1X a"d 1"lemel Secu/'iIY. Sebaslopol: O'ReiUy & Associa!es. 1996. Kerby, Fred, еl al. "SANS Iлtrusюп Оеlесtiол алd Rеspолse FAQ". www.sалs.оrgfпеwlооk/rеSOllfсes;lОFАQ/IОFАQ.ll!m. Малл, Scott, and EI1en L. Milchell. иnIJX SYSlem Securily: Тhe AdтiJ,is,ralar's Gu;de 10 Ореn Source Securily Tools. Upper Saddle River, NJ: Рreлtiсе НаН PТR. 2000. Morris, Robel1. and Кел ТllOmрsол. "Password Secunty: А Сзsе Нisюry". Соmmuпiсаtiолs of lhe АС М, 22 (11): 594597. NоvеЛ1Ьеr 1979. Перепеча тано в UN1X Syslem Ma"ager's Mal/ual. 4.3 Вerkeley Software ОistriЬщiол. Univel>ily of Califomia, Berkeley. April 1986. . Pichnarczyk. Каryп. Steve Weeber, алd Riсl1Зrd Feingold. "UNIX Iпсidелt Guide: How ю Oetec! ап [лtrusiол". Compuler Incident Advisory Capability. U.S. Оераl1Л1епt of Елеrgу. 1994. hl'р://www.сiас.оrg/сgiЬiл/iпdех/dОСU шеnК . Rltcllie. Оепш, М. "Оп tlle Security of UNIX". Мау 1975. Перепечатано в UNIX SYSlem Ma"ager's Матю/, 4.3 Berkeley Software Oistributioll. Uлivеl>itу of Califomia, Вerkeley. April 1986. Schneier, ВПlсе. Applied CryplagrapJ/y: Prolacals. Algor'ilhms, and Source Code il/ С. New York. NY: Wiley, 1995. ТhоЛ1РSОП. Кел. "RеПес!iолs ол Trusting Trust". Опубликовано в АСМ Turi"g Award Lecrures: Не Fir.;t Пуету }'eors '966 1985. Rеаdiлg, МА: АСМ Press (АddlsолWеs1еу). 1987. Zimmermann, Philip R. Тhe OjJicial PGP User's Gu;de. Cambridge: М IT Press, 1995. r лова 21. Безопасность 719 
22 WеЬхостинr и серверы /пferпef ( ") I I I l ;;)  zlb wfif в течеI01е ПQслеlIНеrо десятилетия темпы компьютерИЗ8UИИ возрастают с невиданным доселе ускорением. Среда UNIX стала чемто ироде 'аминокис лотноro бульона". породившеrо клиентсерверные вычисления и сеть Iлtеmе(. Еше в 80x rr. ОС UNIX приобрела рсnyrаuию высокопрозвопителъной И надежной сетевой rтатформы, которая может при-меняться совместно С различными аппаратньrми архитектурами. После Tom как в нача.че 90x rr_ 80ЗНИК,,'l8 "всемирная паутина", ставшая оrпимальноЙ средой разработки распределенных ютиентсерверных приложениЙ. UNIX оказалась И.Д,еа.пьной операuионной системой, прнrодной ДIlЯ их ПРВJ..'Тической реализаuни. В настояmее время сушествует множество С.'Jужб Intemet, "XOCTHHr" (размешекие) которых может осушест8..Т'lЯТЬСЯ либо на пользовательском )'з.lе. либо на сервере одноrо из мноrочисленныx проваЙдеров., В этоЙ rлаве будут рассмотрены три самые rлавные службы: VVWW. FТP и новости. 22.1. WеЬхоcrинr в начале 90x rr. LJNIX была единствеffilОЙ системой, приrолной лля работы с WWW. С ростом поп:'лярности "всемирной па)тины'. резко увеличияалось и кшmчеСТ8Q ПОЛЬЗ0вате.тrей (И\il1 станOIШЛИСЬ кто уrопно  ОТ рекламных aremcтв ло зоопарков), заинтересованных в своем присутствии в I"лобальной сети. Олнако лля мноrих LJNIX ОСТ8налась "терра инкоrннта". Оl1енив откръmающиеся перед ними возможности, большие и малые компании бросились на рынок со своими серверными решениями. Во мноrю: случаях эти решеНIfЯ требовали знаЧl-пельнаЙ перестройки операшюнных систем. лоскалы...)', в ОТЛ1f'ше от LJNIX. им ИJII8Чально не была своЙственна 'fICТИtrnая мноrозадачность. НеоБХОШIМОСТЬ 1l0ддеРЖКIt WеЬсолерЖl-Iмоrо в последнее время ми обозначения провайдеров, предостав.fJЯЮЩIfХ услуrи WеЬхостин ra. употребляется термин ASP (Application Service Pro,,'ider  поетаВШi-lК уел)'!' приклauноrо уровня ). 720 L.jaCТb 11 Работа в сеТА>: 
привела к возникновению HOBOro cerмeнтa рынка, известноro как Webxoc mHr. Приемные серверы не только въmолняют доставку исходных Webcтpa HНll (НТМЦ. НО н реализуют вспомоraтельные службы, такие как FТP. SSL. ПСТОКОВblе аудио и видеоканалы В настояшее время наряду со специализировaняъrми серверами, раЗр8 ботанныIии ДIlЯ удовлетворения спеuифичных потребностей рынка, стали доступными различные платформы поддержки WеЬхостинra. В качестве одной из платформ усиленно рекламируется основной проrpаммный продукт комnаtrnи Мiсrosоft  операl1ИОННая система Windows. Однако те. кто uенит максимальную степень надежности. безопасности и производителъности, справедливо полаrают, что наилучшим выбором является UNIX. В слеuиализированн:ых изданиях пу6ликовались мноrочисленные статьи. освешавmие вопрос "Какая платформа лучше Bcero подхотп для Webxoc тинra". Обычно противопоставлялись две системы  Windows и LJNJX. Как правило, apryмeнты за или против оrpаничивались лишь заявлениями типа "Менее Функuионалъна!" и "Классная система!", Если же рассматривать вопрос беспристрастно, то. несомненно, станет ясно. ЧТО именно платформа UNJX больше Bcero ПОдХОДИТ для создания коммерческих WеЬузлов. К наиболее важным преимушествам UNIX относятся удобство алмнни стрирования и высокая ПРОИЗ80дительность. Иэначально UN IX проектирова лась как мноrопользователъская интерактивная операuионная система. После установки систем"ы один адМИнистратор может работать с базой данных, дрyrой  отслеживать произвопительность операций вво.аавыво.па, третий  обслуживать WebcepBep. В среде Windows только один администратор может осуществлять контроль при помощи консоли (непосрепственно ИJIИ с уда.пенноА станuии. применяя инструментальные средства наподобие РСАпу where). В отношении производительности можно отметить такоА факт: хороший администратор может настроить ОС LJNrX так, что на одном и том же оборудовании она будет вьmолнятъся в дватри раза бblстрее, чем Windows.. 22.2. ОСНОВЫ WеЬхоcrинrQ Хостинr WеЬузла Ma..1JO чем отличается от прyrих сетевых ус.пУТ. В основе ФРJКUНОНJolроваЮIЯ www лежит Н1ТР (HyperTex[ Тraлsfеr Р.-ошсоl  протокол передачи rипертекста)  простой протокол семейства TCP/IP, используемый Д.J1Я форматирования, передачи и связывания документов npyr с дpyroM. При этом документы MOryт содержать различные типы ИНфОрМ8UИИ, ВКЛЮ'fая TeKcr. 'fIзображения. звук, анимацию и видео. нттр аналоrичен друrим ЮlИеlпсерверньrм протоколам, исполъзуеr-.rым в Iпtеmеt, в том числе SMTP (электронная почта) и FТP (передача фаЙлов). WebcepBep  это система, сконфиryрированная ДIlЯ ответа 1-18 Н1ТРза просы. Чтобы лреобразовать обычную UNIХсистему в платформу Webxoc ТИl-lra, необ'юднмо установить демон, КОТОРЫЙ будет прослушивать ТСРпорт с номером 80 (в соответствии со стандартом Н1ТР), принимать запросы на выдачу документов, а затем передавать эти документы пользователю. WеЬброузеры, в частности Netscape и Intemet Explorer. ПОдюlючаЮ7СЯ к удаленным WebcepBepaM и делают заПРОСbl от имени пользователей. Полу чеНl-lые при этом ПО"''Ументы MOlyr содержать текстовые указатели (ПfПер ссьmки) на дрyrие до.....-ументы. нахОдЯшиеся (или не находящиеся) на том сервере, к которому нэнаЧз'lЬНО подключился пользователь. Поскольку протокол НТТР Полностью стандартизирован, Юlиенты. работаюшие 8 любой оперauионной системе, MorYT ПОДЮIючатъся к любому серверу HТfP.. r лава 22 WеЬхостинr и серверы Internet 721 
Подобная независимостъ ОТ платформы наряду с нон.южностью автомаП(l е CKoro перенаправления ПОЛh3008теля от ОПНOI.О ctpoepa к дpyrO ty способствует повышению популярности протокола Н1ТР. В настоящее время, однако, \,"еЬ l(остиm "11срешаrt-lул" рамки протокола Н1I Р Разработано Мfюrо раСШllреllllЫХ протоколов, обеспечинаЮШIf'\: поп держку самых разных возможностеЙ от шифрования данных до потоковоrо випео Эти ДоПО.1нительные сервисы зачастую управляются отдельными демонами паже в случае размешения f-Ia ол.ном фИlическом сервере Например, одним из наиболее популпрны:\ пополнительных серНИСQS яаляется HTTPS (Sешrе НПР безоласныЙ протокол HTTPJ. Им упраRЛяет ломон, который использует SSL (Secure Sockel L1yer протокол защищенных сокстов) и прюшмает запросы через ТСР порт 443. Если HY-JКHЫC демоны не вхопят в пистрибупm системы. их МОЖIIО по.ч-читъ у сторонних постаВШIIКОВ. Унифицированные указатели ресурсов URL (Unifom1 Resource [.oca(or Уf-ПIФИI1ИРОВС1IIIIЫИ УК83iнель pecYPCd) предстааляет собой обобшенный мрес объеlo..та шlи серВllса в Iпtеrпеt. Поряпок ПОСТ 'Т1а к объекту определяют пять баJОRЫХ компонентов адреса: . протокол И.аи приложение: имя узла: порт ТСР/IР (неоБЯlате;JЬНО): киталоr (необязательно); имя файла IЧУRСТВИТСЛЬНО к смене perHLTp<1 СIIМВО:1ОВ. часто заяершается расширением ".111111" 11.:'111 .'.llIml"}. Типичны'" URL aD.pec с УЮВi1нием ero компонентов ПРlfвепен на рис. А. rДЕ Файл находится на узле www.apache.org в кателоае Ifoиndatioп. http://www.apache.org/foundation/FAQ.html КАК Протокол передачи 2ипеетекста , ЧТD Файл назыааетс" FAQ.htт/. ".. ... . Рис. А. CoctaBl-lblе чости URL aдpeco В табл. 22.1 перечисленЪ1 прОТQКО,'1Ы, которые наиболее часто ynoMltнa ютея в LI RL anpecax. Таблиц 22.1. Протоколы URl П р ОТQkОЛ hnр Назначение Доступ к файлам с помощью про токола Н1ТР ДОСТУII к файлам с помощью про "Соколов Н liP/SSL Доступ к файлам с помощью про токола ПР П р нме р http://admin.com/index.html https l)(lps://admin.com/order.shlml f\p ftР:i/fiр.хоr.соm/аddшеr.tar.gz 722 Чость 11 Робото в сетях
П р qтокол . mailto НQ3начеt1в-. Omравка электроЮiОro сооБЩСКИJI по указанному адресу Доступ к rpyrmaM новостей Usenet Реrистраuия на УД8JIСЮiОМ КОМ:ПЬЮ торе Доступ к службе к.аталоro.и LDAP Доступ к локмьному файлу (не lnlcmct) П р име р mBtlto:sabook@admin.com news telnet news:alt.cooking (сlnе(:! /spot.acme.com ldap filе Idap:/ /ldap.bigfQot.com:J89/cn Hero file://etc/syslo8. co nf ПРИНЦИП работы нттр нттр  это удивительно простоЙ клиентсерверныA протокол. не хранящий информаl1ИИ о состоянии сеанса. В парадиrме HTrp иниuиатором подключения всеrда становится клиент (обычно броузер). Клиент запрашивает у сервера "содержимое" заданноrо U RLaдpeca. Сервер отвечает, передавая ПОТОК данных либо возвращая сообшение об ошибке. Затем соединеНие закрывается (это справедливо дЛЯ Н1ТР версиii 0.9 и 1.0; в Н1ТР 1.] клиент может запросить дрyrоЙ объект). Поскольку IIРОТQКQЛ Н1ТР ЯВЛЯется довольно простым. к WеЬброу]еру можно леrко ПОДключиться с поюшъю проrpзммы Lelnet. Для этоrо ДОСТЗ точно установить связь с портом 80 выбраНl-lоrо WеЬсерверз_ lloC:le установления соеmfНеlШЯ сервер rOTOB принимать HTTPKOMaHДЫ_ Чаше вcero при этом используется комаllда GET, которая запрашивает содержимое до},.-умеита. Обычно она задается в формате GEТ /. а возврашается корневой документ, как правWlО. нача.JIьная страница. сервера. ПрОТОКОll нт.тр чувствителен к реrистру СИМВОЛОВ. поэтому ПрИ вводе команд используйте заr.'lавнЫе литеры. % telnet localhoBt 80 ТrуiЛ9127.0.0.1... Connect.ed to localhost. xor. сом. Escape charact.er is ......1.. GET / <далее следует содержииое фай.па iлdех. hrml> Соnлесtiоn closed Ьу [oreign host. СGIсценарии: создание динамичвскаrа WвЬсадвржимаra Работая со статическими до....}'меНТ8Ми. НПРсервер способен выдавать ПользоватеЛЯМ и страНИI1Ы. создаваемые "на лету". Например. если требуется отоБРaJИТЬ теКУЩllе время и температуру. сервер вызывает сuенарlfЙ. обес печиваюший предоставление данной информаl1ИИ. Такие сuенарии З8 t JЗСТУЮ создаются с ПОlOшью CGI (СоmпlОЛ GaLeway Iп[еrfасе  единый ШЛJOJовыil интерфейс). ИнтерфеЙс CGJ является не языком Ilроrpаммирования. а. скорее, спеuификацией, ОШlсываюшей проиесс обмена информаl1иеЙ между Нll'Р сервером и друп.{ми проrpаммаfИ. Чаше Bcero СGIСl1енарии предстааляют собой проrpаммы, наrшсаННbIе на языке Perl или С и пре.lIНа3наченные спеI1И8ЛЬНО для взаимодействия с HТТPcepBepOM. Хотя на самом пеле подойдет практически любой язык проrpаммирования. поддерживаюший операции BBoдaBывoдa 8 режиме реалъноrо времени. Даже фанаты языка FORTRAN найдут применение своим знаниям при работе в lпtеmеt! r лова 22 WеЬхостинr &-1 серверы Internet 723 
Как правило, СGIсuенаРШf больше интересуют WеЬразработчнков 11 проrpаммистов. Но один из основных аспектов функuионирования Сl1енариев не обходит стороной и систе\IНЫХ администраторов. Мы имеем в виду обеспечение безопасности. Поскольку СGIсuенарии получают доступ к файлам, сетевым соедииениям и прочим механизмам перемещения данных из ОДноrо места в дpyroe, RЫПолнение этих сuенариев несет потеНЦИа..'IЬНУЮ yrpозу компьютеру, на котором ПЫПОЛНJlется HT.TPcepBep. В конечном счете. CG r сuенарий позволяет любому пользователю выполнять проrpаммы на сервере. Поэтому дпя СGlспенариев должна применяться такая же система безопасности, как и дЛЯ дрyrих сетевых проrpамм Дополнительная инфор маш,я по обеспечению безопасности CG I сuенариев находится по адресу www. w3.org/Security /Faq/w,vwsecuri L у  raq.lll ml. Распределение наrруэки Довольно трудно предсказать, сколько обращений (запросов к одному объекту, такому как текстовый файл нлн изображение) либо операUl1Й просмотрв страниu (запросов всех объектов на одной лросматриваемой страниuе) может обработать единственный сервер. Все зависит от операuион ной системы, типа ее настройки. архитеК1)'РЫ системноrо аппаратноrо обеспечеиия, а также от орrанизапии WеЬузла (в частности от Toro, содержатся ли там чисто статические НТМLстраниuы. ВЫПО:i1НЯЮТСЯ ;ш запросы к базе данных и производятся ли математические вычисления)_ Только непосредственное 'fIзмерение производительности li уточнение фаl( ТИЧеских параметров узла, использующеrо реа.1ЬНое аппаратное обеспечение. позволит отвеппъ на дaHHЫ вопрос. ИНОI-да подсказку MOryт дать ПОЛЬЗо ватели, создаюшие подобные узлы с ПО},{QШЬЮ аналоrичноro аппаратноrо обеспечения. Но ни в коем случае не стоит полаraться на uифры, указываемые поставщиками LJNIХсистем. Вместо показателя производительности одноrо сервера лучше сосредото- читься на показателе масштабируемости. Убедитесь в том, ЧТО вы и ваша команда работаете по плану, который позволяет распределять наrpузку узла между нескольким.и серверами Простейшим способом распределения трафи ка является использование коммерческоrо 8ппаратноrо обеспечения, скаже1 Load Director коtПании Cisco или Alteon АС Esv,:itch. Подобные CIICTeMbI ориентируются на параметры. задаваемые администратором. в частности на время ОТI01ика отделы-lrоo сервера и время поступности. Б.'IаrодарJl распре делению наrpузки увеличивается производителъность и отказоустоЙчИlЮСТЬ сети. 22З Инсталляция HТТPcepBepa Установить WеЬсерпер очень просто! WеЬслужБЬJ не cpaBHIIMhI R плане леrкости ацминистриропаНШI с снсте"-Нн.ш ле"'LРОIiНОЙ почты и С.'I}'Жбоt\ DNS. Выбор сервера Большинство постаншнков UNIX не ВК-ТIЮЧ8ЮТ H1ТPcepнep в систе"-fНЫИ дистрибутив (правда, в состав FreeBSD и Red На! ",одш HTTPcepBep Apache). Поэтому придется потратить некоторое время на выяснение Toro. какой сервер наилучшим образом подходит для n8HHoro при.rlOжения и выбранной платформы. К счастью. на сеrОДНJlШНИИ лень имеется Ilслы1i ряд 724 ЧОСТЬ 11. Робото в сетях 
весьма не плох их серверов. Наиболее популярные из них выпускаются компаниями NeLScape и АрасЬе.. Достаточно Полное сопоставление характеристик доступных HтrPcepBe ров можно найти на \VеЬузле wеЬсоmраrе.iПlсmеt.соm. Ниже указано несколько факторов. которые следует учитывать при осущt:ствлении выбора. надежность; производителъностъ; . своевременность обно8.fТСНИЙ и исправ.:lеннЙ ошибок: . доступность исходноrо кода; . иена; . безопасность и контро.']ь доступа; возможность использования в качестве проксисервера: . возможность шифрования. Последние несколько лет сервер Apache лидирует по показателю произ водительности и числу поддерживае,."rых операционных систем. Исходя из этих соображениЙ он и был выбран в качеспе сервера приложений ДЛЯ данной rлавы. Компилирование и инсталляция сервера Apache HlТPcepBep Apaclle распространяется бесплатно, и ero полный исходный код доступен иа WеЬ}зле WW\\o'.зрасhе.оrg. Первым делом обратитесь на данный узел и заrpузите послелНlОЮ версию сервера. По окончании З8rpузки ВblЗОВИте сuенарий сопfigurе (включен в днстри бутив). который автоматически определяет тип опеРЗl1J.10нноА системы, а тзК'...ке устанааливает соответствующие файлы сборки проекта. Потребуется указать ката:юr, rne до:тжен раСIJО:lш.аться сервер Apache. Д1Я зтоrо предна lначен.а опuия prefix: % ./con.fiqure prfi!l:fiJl:=/u.r/local/apach.1 Некоторые компоненты сервера Apache МОТУТ вютючаться и отключаться с помошыo опuиЙ enabIemodult'== и disabIemodule== сuенария configure. Установленный по уюлчан.и1O набор юдулей вполне IIриеr.U1ем, но и'чеются и ДОПолнитеЛЬНЫе модули (таб1. 22.2) Модvль 8utl, dbm Таблlo1ЦО 22.2. Дополнительные МОДУfiИ Apoche. которые по умолчонию не включе"IЫ Назночение ИСПО!lьэует базу данных ОВМ дЛЯ управлеиия ДOCТVТIOM со СТОрОНЫ пользователейjrpуrm (рекомен.цуется) I Использу базу данных DБ дЛЯ упра8Лt:I01Я доступом со стороны пользоваТt:леR/rpуnn (РСkомен.цуется)1 Позволяет отслеживать щелчки мышью в броузерах. поддерживающих тех.нолоrию "сооюе?"' ПереШlсын.ает liRLa.цpeca, исполыуя реryлярные вырижt:НИЯ Позволяет включать в ДOXYMCнr дату ero истечения Конфшурирует Apache в качестве лрокси.сервера (подpuбнее о данной технолоrи.., рассказывается далее в этой rлаве) Рекомендуется liсполъ.:ювать ОДШi из перечнс.'1СННЫХ модулей (но не оба сразу). autl, db user1f3ck rewrite expires proxy Компания Apache была сформирована неСКО;JЬК1fМИ людьми, создававшими файлы "заплат" д."lЯ httpd  nопулярноrо V.iebccpBepa орrаиизаuии NCSA (примерно 1993 С). 725 r лова 22. WеЬхоcrинr и серверы Internet 
в табл. 22.3 nеречислены модули, которые Mor)"T бьп-ь ОТЮJЮ'lены. Отключая неисnользуемые модуля, следует исходить из соображений беJО nасности и повышения nроизводwrельности. т облицо 22.3. Модул.., Apoche, которые MOryт быть отключены 8utoindex Функция ПОЗВОJlЯе'r посылать файлы указанных типов без использования НПРзaroлО8КОО Ин.дексирует каталоrи, в которых отсутствует иачальная HTMLcтpa ниuа (например. iоdех.Ььпl) Позволяет устанавливать спеuиальНblе переменные среды для CGI сценариев Разрешает использовать серверны.с вставки (старый способ создания динаымческоro со.аержимоro) Разрешает пOJlbЗOВЗтелям иметь собственные НТМLкаталоrn Модуль asis ет include userdir ; Полный переченъ стандартных модулей можно наЙти в файле rc/Confi guration. входяшем в дистрибутив Apaclle. 1ибо по aapt:cy wv:w.apache.org/ docs/mod/index.ll,ml. После выполнения сuенария conligure запустите сценарии make и make install Шlя фактической КОМПИЛЯUИl-' If установки соответствуюших фаЙЛОR. Во F,eeBSD сервер АрасЬе является одним JIЗ дополнительных проrраммt!ЫХ пакетов, который может быть YC11lHOMeH из каталor-а /usr/ports (подробнее об этом каталor'е рассказываетея в параrpафе 27.9). Для инсталляции АрасЬе переЙдите в каталоr /usr/ports/www/apachI3 и введите команду make. Конфиryрирование серверо Apache После установки сервера необходимо сконфиrypироватъ ero с учеТО'-1 вьшолняемых функuий. Все файлы конфиryрации находятся в каталоrе сопС (например, /usr/local/apache/conf). Необходимо провернть и настроить три рa:uтичных файла конфиrypauии: httpd.conf, snп.сопf 11 access.conf. Файл httpd.conf определяет, какнм образом демон АрасЬе (httpd) взаllМО действует с системой. В этом файле задается ТСРпорт. через который НlIРсервер принимает запросы (обычно это порт 80). На одном компьютере можно запустить несКолько НПРсерверов, ПОДКЛЮl.lенных J( различным портам. Помимо этоrо в файле httрd.сопr указывается местоположение журнальных файлов, а также задаются различные пара метры. определяющие характеристики сети и ПРОИЗ80дительность сервера. Здесь же осушествляется нас1]IOЙК3 виртуальных интерфейсов (дополнительные свеДения по этому ВОПроСУ приводятся в следуюшем параrpафе). Ресурсы, доступ J( которым необходим серверу, настраиваются в файле srm.conf. В нем располаrается самая важная директива  Docu:nentP.oot. которая задает корневой J(aTa.rIOr д.ilЯ обслуживаемых документом. Б этом файле также содержится ряд дополнительных установок. связанных. в частности, с обработкой "спеuиальных" URLaдpecOB (напрнмер, Iшр:// www.xor.com/steve). Параметры безопасности устаliзвлиnаются в файле access.conr. ОН ВКЛЮ чает директивы. которые позволяют управлять ДОС1Упом на уроине каталоrа 726 Часть 11. Работо в сетях 
или файла. С их помощью можно предотвратить поступ К важным фаЙШП'.1 через пеМО11 httpd как из Вllешнеrо мирt:i. так It внутри орrаниззuии. Необходимо задать как минимум пва уровня управления поступом: 113 одном уровне бупет охватываться весь KaTa.'10r покументов, а RТорой ЛОJlжен применятъся только к к.аталоry cgibin" В последнем случае вызов сuенариев осуществляется только И3 К8та.rюrа cgibin. Таким образом. отпельные nользоватеml не MOryr создавать "бреши" в системе безопасности  случаЙl-1O иml намеренно  с nомошью своих собственных сuенариев. Для установки .лоrо оrpзничения задайте ОПШiЮ ExecCGI в файле sпn.сопf. Запуск сервера Apache ДС\fОН h[tpd можно запустить вручную либо воспользовавшись старТОВЫМJf сuенариями. имеющн"fИСЯ в системе. Последний способ предпочтительнее, поскольку rарантирует. ЧТО Webcep8ep перезапускается всякий раз при перезаrpузке компьютера. д.1Я запуска сервера вручную следует HBecTl1 примерно такую команду: % /u.r/l.oca.l./apAche/apachectl. 8Urt Если требуется, чтобы пемон ht[pd заПУСКaJIСЯ автоматичеСЮf на этапе Н8ча.7JЬНОЯ: ззrpУ1ЮI. вставьте слепующн"й фраrмент коrпа в функuию localrcO стартовых сuенариев либо RI01ючнте ero в файл /etc/rc.local, если ИСПОJ1hЗуется отпельный локальный сценаРlfЙ. if [ x /usr/local/apache/httpd J i then /usr./localiapache/apachectl 5tart echo n . WWW server. I {. 22.4. Вl-1ртуальные I-1нтерфейсы Раньше UNIXcMCTeMa обычно служила сервером ШlЯ опноro еДИНСТRен HOI'O WеЬузла (например, W\V\V.ClСП1е.соm). По мере роста популярности rw\V практичео:и у каЖ1Iоrо пользователя стало возникать желаШlе обзС!всстись собственным WеЬузлом, и КаК rpибы после пожля нача..r]lf появляться тысячи новых компаНIIЙ, занимаюшихся WеЬ\:остинrом Проваидеры БЫLIpО приuиш к ВЫНОДУ О том. что можно лобlПЬСЯ сущеСТ8еНIIОИ ЭКОНОМ1Ш средств 1"' рес) рсов. если на одном сервере рiвмеспrть несколько узлов. Блаrодаря этому (fpteMY можно лсr"ко управлять rРУlIlrой узлов, используя одно и то же аппаратное обеспечение. На праКПfке такои подхоп реaJIизуется с помошью в"ртуальных интерфейсов. Виртуальные интерфейсы позволяют лемону илентифиuировать соедине ния. ОСНОВЫваясь не только на номере uелевоrо ПОрТа (обычно при работе с НТТР ИСПОJJыуется порт 80), но и на uелевом I Paдpece соединеНIfЯ. В настоящее время ВИРТУa.JJЫlые интерфейсы используются достато"rно ши роко И локазaJIИ свою Jффективность не ТОЛЬКО в сфере WеЬхостинrа" Идея, положенная в основу функционирования виртуальных интерфеЙ сов. весьма проста: ОПIfIЮ"IНЫИ UNIХкомпыотер R сети обслу-живает БО.lьше I PaдpCCOB. "-ICM ПО'IВОЛЯЮТ имеюшиеся физические сетевые интерфеi1СЫ" кажllый IIЗ "ВНр1)'альных" сетевых интерфейсов может 1-Риеть доменное ИМЯ. под которым он известен полыоватеJlЯl\.l I mernel. Это ПОЗВО:Jяет одном}' UNIXcepвepy обслуживать буквально сотни WеЬУЗЛОR. (Для сраhнеНIIЯ: КОII"''УРИР юшая оnераЩЮIIН3,Я система, работаюшая на платформе (mel. r пово 22. WеЬ)(остинr и серверы Inlerrlel 727 
подд.ерживает виртуальные интерфеЙСЫ, но на практике может ВЫПОJ1НЯТЬ хостинr не более десятка WеЬузлов. Вряд "1101 стоит ПОЛЬЗОВ8ТЬСЯ такой системой.) Протокол Н1ТР 1.1 реализует функциональные возможности, подобные возможноспrм виртуальных интерфейсов (офиuнально это называется "DИр туальные интерфейсы. не имеюшие IPaдpeca"), устраняя потребность в назНачении уникальных IPaдpecoB WеЬсерверим и в конфиryриров.ании спеllиальноrо интерфейса на уровне оперзнионноt:, системы, Этот по.:rxод позволяет совместно испо.:rьзовзть 1 Pa.apeC8. что особенно полезно, коrлй один сервер СОдержит сотНи или тысяtПf НВЧ8...'1ьнЫ\ стр8Н1IU (например. R случае универсИТ't:тски'i: WеЬузлов). Однако такоЙ IIOДXOn не.'1ЬЗJI H331'8TI. праКТIrЧНЫМ ДЛЯ KOMMepQeCKJlX узлов. 1l0CKD.i1bKY уменьшается степень It:\ маСlIЛибнруемости (ПрIfХОЛИТСЯ измеНJПЬ I Paдpec при перемешеНltи узла на лруrой сервер) и появляется уrpоза безопасности системы (если лоступ к узлу фильтруется брандмауэром на основе IPaдpecoB). Похоже, наСТОЯUlие ВИРТ)'ЮIьные интерфейсы еше HO:Tro будyr использоваться.  Конфиryрирование виртуальных интерфейсов Нвстройка ВИРТУз"'"Iьноrо l-Iнтерфейса про'Ходит в лва этапа, СначаJЫ_ требуется создать виртуальный интерфейс на УР08не ТСР/IР. КОllкретнзя проuедура зависит от испо.."Iыуемой оерСIПf UNIX; в С.:rIСДУЮШI-I' разлелзх приведены ИНСТРУЮlffi1 .R.чя каждой из наших тестовых систем Н.1 'ПОрО1 этапе необходимо сообшить серверу ApacllC об инста.'1лнропанны'\ Iн{ртуа.ль ных интерфейсах. Soloris Solaris ПОlIдерживает ВНРТУ3..1ьные IIнтерфейсы (1IlAe..;THыe как "ВТ()РI'Iшые интерфейсы"). ИСПОЛЬJУЯ понятия ФlllJfческоrо IIl--ffерфе,kа и !lОПlчеО:ОI.О модуля. НаI1РИ\,fер. еС:П-I ИМЯ фlпн-ческоrо интерфеЙса птеО. то COOTBeTCT ВУlOщие виртуа..'1ьныr: интерфейсы MOI)"r I-JaJываться .rrteO:i. t'tnleO:2 It Т.Д, ПО умо;rчанию у физическоrо l-Iнтерфейсз может быть ло 256 BI-tртуа.1ЬНbI'i МОlIулей. ЕС.71И потребуется ИlменlfТЬ зто оrpаюrчение. МОДИфИUllрр-пе с помощью команлы ndd значение параме-тра Ч) addrs pe ! (полробнее о команде Ildd расскюывалось Б параrрафе 13.12).  Чтобы сконфиryрировать ииртуальныr, интерфеtk. вы'ютпе команд} ifconfig, указав в качестве парЗ\fетра олно из виртуа.1ЬНЫХ нмен (tуorlЗОВЫЙ физичесю.rй интерфейс уже до.:тжен быть i:lКПJlШЗlfрова1l.) В БО,1ЬШИНСТn случаев система 113СТрЭIIвается так. чтобы комаНдЫ ifconfig 'n''1f1 виртуа.%НЫ\ интерфейсов аятомаТllчеСlo::1I Rы]ывалнсь на .паl1е Н.IЧз""н.IЮЙ ]3f'PY1KII Ниже приволится IlРШ,lер. KOT;I(:I KO\.-lПыотер. Р.JБОТtlющий поп упr:::iв.'( нием Solaris, получает адрес FI J3KpbITO\t адресном пространстве fшртуаЛЫlO1I частной сети (\/irшаl Prl"'ale NelwOI.k. \/PN). а такжС' внешний Illtеrllеtадрс Оба этих адреса связаны с фlf3l1чеСКlI\.1 интерфейсом r.JileO Чтобы интерфеi(Сы автоматически конфиryрнрова..71ИСЬ Н(I этапе Н3Ча.'1ьной 38rpрки. iЩ\IIIНИСТ ратор С03Д3..,1 два разных фай.lа. солержаШI" их сетевые 1I\1ена: /etc/ho!'\( лаmе.hшеО " /еtс/hоstлаше.hmеО:I. 1; 1. l /.tc./hoat* rwrr 1 root. rwrr roo;: 10 Nov .; lO:l9 /etc hos:.na.me.hrr:eO Lo Dec 21  9; 34 le[c/host:na.me. h:neO::' 728 Чость JI Робото В ('eT)( 
Б этих файлах MOryт нахОПиТЬСJI либо имена компьютеров из файла /elc/hosts, либо 'Paдpeca. В рассматриваемом случае НСПОЛbJ)'lOТСЯ оба варианта: " c.at /etc/ho8tname.hm.IIO overkill . c.at /etc/ho8tn&DI8.hm.IIO:1 206.0.1.133 11 9'r.p overk11.1. /etc/hosts i О . 1 .2.9 overkill overkill. domain Бо время началыюи заrрузки оба адреса конфиryрируются автоматически (наравне с адресом интерфеЙса обратной связи, который в ПРИRеденном ннже примере не покюан): % i.:tcont'i.9' a hrneO: flags"'B63<UP. ВRОЛDСАSТ, NOTRAILERS. RUNNING. MULTICAST > mtu 1500 inet 10.1.2.9 netmask ffffffOO broadcast 10.1.2.255 hmeO: 1: flags""863<UP, BROADCAST, NOTRAILERS. RUNNING, М1JLTICAST> mtu 1500 inet 206.0.1.133 net.rnask ffffffBO broadcast. 206.0.1.255 (hP] HPUX HPUX версни 11.00 и выше поддерживает виртуальные, IIЛН "вторич ные", интерфейсы, используя такое же соrлашение об именовании интер фейсов. как и Solaris. Ееzи lanO является именем физическоrо ceTeBoro интерфейса, то lanO:!  это первый связанный с ним виртуальный интерфейс. Обозначение типа ": 1" предстааляет собой порЯдКОВЫЙ I PHOMep. Каждому интерфейсу (ре.а.пьному или виртуальному) при помоши команлы irconfig MOryт быть назначены свой IPaдpec, сетеВая маска и параметры конфиryрашш. Виртуальные интерфейсы ПОЯВl{.Jнсь В Н P UX 10.20, однако lUlЯ работы с ними требоnалось УСТШ-Ю8ИТЬ "заплату", которая побавляла команду iralias 1lJIЯ их КОIфlfrурировання. RBd Но! 9 БИрl)'зльные шперфейсы 8 Red Hat обозначаЮТСJl в том же фОР1ате U1lтерФеuс:экзе,..т.IЯР. что и Б Solarjs и Н P UX. Например, если интерфес Etllemet называется ett!O. то связсшные с ним виртуальные интерфейсы именуются как ethO: О, ethO: 1 и т.п. Бсе интерфейсы конфиryрируются с ПОТ\ЮШЬЮ команды irconfig. Так, команда It i:tсопf"i9' etho: О 1.28.138.243.150 netmask 255.255.255.192 up Н<tстраиn:JСТ IIнтерфеис C"thO: О И IIa..JнаЧ(lет ем)' адрес в сеП1 1:!8.138.:!43.128126 Чтобы IЫ3Н.i'Iнны ИИрl)альные OlДpeca СПUJIt постоянными, необходимо создать для HII'\( ФiJitJIЫ И катаЛOl'е /eLc/s)'scollflg/nctworkscripts. ФаЙл ircrgethO:V, соответствующий nрнвеленной выше команде irconfig может СОДI.:РЖ,пь такш,' строки: DEVICEetI10 : О IPADDK=.128.1 38 .243 .150 NETМASK255. 255.255.192 NETWORl\128 .138.24 З. 128 BROADCAS'!'128.] 38.243.191 ONBOOTyes r лово 22_ WеЬхостинr  серверы Iпtеrпеr 729 
 FreeBSD Сервер FrееБSD подnержинает Rltртуальные интерфейсы ("IРпсеRДОНlt мы") посредством опuиИ alias ....оМаНлы irconfig. НаПРlмер. сле.дуюшая КОМЗНД:J закреlUlяет ЛОllолюпеЛЬНЫIiI I Paдpec за интерфейсом xlO: . ifconf"iq xlO inet 1.92.168. 0.1 neЬnask 255.255.255.255 .11.а8 Чтобы просмотреть всю конфиrураuию интерфейса, запусmте команду ircollfig еще раз: % l.:tcon:t1.g х1.0 хl0: flаc;JsвEl4З<UР, BCAST, RUNNING, SIMPLEX, МCAS'I'> mtu 1500 inet 192.108.21.9 netmask O>:ffffffOO юсаst. 192.1О8.21.255 inet 192.168.0.1 net:ma.sk Oxffffffff bcast 192.168.0.1 ether ОО:60:97:9Ь:69:9а media: 1 ОЬаБеТ /UTP <halfduplex> !lupported medla: autoselect lOQba5eX <full auplex> lOObase'!'X <halfduplex> lOObaseTX lObaseT!UTP <fullduplex> 10юаsеТ/UТР 10ba:seT/UTP <halfdup!ex> Обратите Вtнrмание на пва раЗЛIIЧНЫХ IPanpeca, указанны); 00 второй и третьей строка,х вывода. Л.11Я удаления БИРТУальнOI'О интерфейса ВЫПОЛНlпе команду irconfig dclete: .. if"con:tig xlO inet 192.168. 0.1. de1ete Чтобы виртуаJlьные интерфеЙСbl автоматически конфиryриропались на этапе начальноЙ заrpузки. нобавьте }'КаЗ8нные ниже строки в файл rc.conr: l.fconfigxlOa1asO"inet 192.168.0.1 net-=:1ask 255.255.255.255" ifсоnfiсзх10а1iаslо;" _.... Нумерация полжна наЧlIнаться с суффикса al] asO J.i осп!.взтъся непре рЫБНОЙ. Передача серверу Apache информации о виртуальном интерфейсе После со:щания виртуальноrо интерфейса с помощью команды irconfig требуется сообщить серверу Apache о том. каJ...'Ие ПОJ...-ументы ПО:J.жны обрабатываться при попытке подключения к.т!Иента к каждоr-.ry интерфесу. Это можно сделать посредством конструкuии VirtualHost из фаи',з httpd.conf. Каждому сконфиryрироваННDМУ виртуальному интерфеису нолжна соответствовать одна конструкuия VrtualHost. Прtвеl1ем приr.rер: <Vrtua1Host 192.225.33.37> ServerAdJnin webmas(.ertwww _ cornp.any _ com Docurnen tRoot /usr 11оса11 apache/hl:doc:s/ campany ServerName www.campany.com ErrorL09 logs/www.company.comerror 10g TransferLog logs/www.company.comaces5 109 </VirtualHo:st> После подключения клиеl-!,Та к БИрl)'алыюму узлу 192.225.33.37 будут обрабатываться 1l0кументы нз Каталоrа /usr {local/apache/htdocs/compaIlY_ 730 ЧоCiЬ 11 Робота в сетях 
22.5. КэШl-1рОВQНl-1е 1-1 прОКСI-1Серверbl Рост сети Iпrеrпеt и объеt.ы находящейся R He информации происхошrr по экспоненциалы-lOМУ закону. Следовательно, полоса пропускания rлобa.rIЬ ных каналов и мощность 8Ы\rислИтельных ресурсов, требуемых д.IЯ 1.1'\ обслуживания. также возрастают соrлаСНQ данному закону. Как укротить эту "стихию"? Единственным Meтoдo, обу]дзI01Я подобноrо роста ЯlUIяется ИСПО_'jЬЗОRil IIIfC реПЛИК3ЦJlИ. Не13ВJIСИ\,fО от ТО.'О, на ....3КО\-I \'ровне  наUИОllз.лЬНО\f. реlиональном или корпоря.тИ81-10М  иаJЮДИТСЯ ИНфОрМallI'lЯ. ПО мере роста Iпсс:rпсt ее необходимо перемещз1Ъ на ближние узлы. Не имеет смысла. скажем, передавать одну и ту же ПОnyЛЯрtf)Ю WеЬстраницу из Австрании n Северную Америку МИЛЛИОН раз 8 лень, используя весьма лороrостоящий международный канал связи. Должен быть способ сохранять эту информаuию после ее OДHOKpaTHO передачи по каналу. К счастью. Такой способ сушествует. На ПОмошь приходlП бесплатно распространяемый пакет Squid (8 перенопе с анrлискоrо  ю\льмар)-. яилmoшиЙся кэшируюшим сервером I проксисервером одновременно Он работает под управлением UNIX и ПОд!IСРЖlIвает несколько IIРОТОКОЛОВ. ВК."1ючая Н1ТР. FТP. Gopher и SSL. Схема работы пакета следующая. К!lIfСIПСК1iС WеЬброузеры (такие как Nerscape и Iпtеmеt Explorer) полключаются ... серверу Squid. чrобы запросить объект из Iпtеmеt. Сервер вЫполняет запрос от имени клиента 'либо извлекает объект из кэша) и возвращает результат К1lИен-ry. Проксисерверы этоrо типа Ч8СТО используются ПЛЯ усиления безопасности, а также для фИльтраUИ1 содержимоrо. Б системе, rде работает проксисервер, непосрелственный поступ н Interllct через брандмауэр нужен лишь одному компьютеру. Б КОJ\..rттъютерных классах среДНIН: школ проксисерверы зачастую выполняют фильтраuию солержимо('О. предотвращая .доетуп петей к непопобаюшим материалам. Б настояшее время имеется множество коммерческих и бесплатны); прокси сериеров (НО ;шшь некоторые из них основаны на паКете Squid). СJIужба фJЕ1ьтраIlШ-'  ЭТО хорошо, но кэшируюшие ВОlможноспt Squid просто ЗаМечательны. Сервер SqLlid не только кэширует информацию. получаемую я результате ВЫПОЛlения J8ПРОСОВ локальных пользователей, но и пОЗВОЛяет создавать иерархию серверов. r руппы серверов Squid Ш1я передачи дрyr npyr)' сведений о содержимом своих КЗшей используют протокол IСР (Inlernet Cache РrщосоI  протокол кэширования в сети Intemel). Это позволяет адМlrнистратору создать сиете,.,!)', в которой ЛОК3IIьные поЛЬ:юватели с uелью получеНllЯ 111Iеrnе{содер:жимоrо взаимодействуют с КЗШИРУЮШl11\.1 серБером орrаНliзаuии. Если пользователь --поrо узла уже завраl1Jl-1нае те же саМЫе даННЫе. ему передается их копия, причем скорость пере!J.aЧJ.1 cpaRНlfM8 со скоростью работы сети (обычно I О или 100 Мбит/с). При отсyrСТRIIИ lребуемоЙ ИlформаUIIИ на JlОКЗ!IЬНОМ сервере Squid таковая запраuшвается у реrИОllальноrо КЭШИР)-'lОщеrо сервера. Как и в случае с локалЬНЫм сервером. еелн какойлибо пользоваТель реrиональноrо сервер<1 уже запрашивал объе....'Т раньше. этот объект храюlТСЯ в К3ше и бупет возврашен незамедлительно. Б пропmном случае сервер обратится к выше стояшему серверу (обслуживающему страну итi континент). Б-Jlзrодаря этому Почему "ЮUILмар"? Как 06ЪЯСllЯЮТ разработчики, "всс хорошие J.IMeнa уже испо:tь.зуются". r лово 22. WеЬ)(остинr и серверы Infernel 731 
производительность обработки запросов достаточно высока и пользователи чувствуют себя комфортно. Использование пакета Squid ЭКОIOМlfЧеСЮI BbIronHo. ПОСКОЛЬКУ полъзо вате.ли Iп[еrnеt часто запраШJ.1Вают олну и ту же ииформацию. в средних и 'Крупных орrанизаuиях наблюдается значите..'1ы11оеe дублирование в_нешних WеЬзапросов. Экспери--менты показали, что установка кэшируюшеro сервера ПРИ80ДИТ к уменьшению внешнеrо трафика на 40%. Выиrрыш особенно заметен на WеЬузлах С поминутной платой за пользование каналом. Инсталляция сервера Squid Сервер SQuid может инстаЛЛ--ИР08аться. КОИфИfУРИРОваться и работать в большинстве современных UNIХсистем. ПОСКШ1ЬКУ er-.ry НУЖИО свободное пространство Ш1Я кэша, потребуется выделенный компьютер, и-меюший достаточный объем оперативной и ДНСКОВОЙ памЯТИ. Ilрие1>tЛемая КОНфИI)' рация Т>lKOBa: 256 Мбайт ОЗУ н 20 rбаl1т на жесткоМ диске. Свежую копию П8кста Squid можно заrpузиl'Ь с узла W\vw.sqUldcaclle.org. После распаковки дистрибутнва запустите сuенарий configure, находяшиЙСЯ в начальном Каталоrе. По умолчанию предполarается. что пакет будет ИНСтaJUlирован в KaTaJ10re /usrf1ocal/squid Если требуется указать npyroe местоположение, воспользуйтесь опuией prefiX==Kaтa,IOZ сuенаРJ.1Я configure. После завершения работы сuеlария запусппе Сliачала команду make 811, а потом  команду make install. Да."1ее потребуется модифиuировать файл конфиryраuни {usr{local/squid/etc{squid.conf. Обратнтесь к файлу QliICK START. находяшемуся в пистрибутинном кзталоrе, для получения перечня изменений, KOTOpЫ'" лолжен подверп Iyrься И\-fеюшиЙСЯ файл squid.сопf. Нужно также ВЫПО:1НИТЪ ко"анлу {usr{lncal{squid{bin{squid z. чтобы пострО1ПЪ и обнулить стрУJ<Т}1JУ К8талоrов. в КОТОрОИ будут храниться кэшированные WеЬстраниuы. Сервер можно запусти-ть врчную. с помошью сuенария /Bsr /lосаl/squid/Ьiп/RUIIСасhе. хотя обычно он вызываСТСJI ИЗ сис темных rсфайлов  в таком случае сервер Squid автоматичеСЮ.1 запускается на этапе начальной заrpузки- Для тестирования сервера Squid необходимо указать ero в качестве лрокснсервера для WеЬброузера 226. Уаановка aHOHI-1МНОro FТPcepBepa Протокол ПР считается олноЙ из стареишlt:х служб Iпlеrпеt Несмотря на то. что он может при менятьсЯ lVIЯ решення различных 811}rrpенних ]адач орrанизаuии. в Iп[еrпеt часто встреtlаютс.я "анонимные r:тPcepBepы". с ПОМОII1ЬЮ котары>: поль]оватеЛlt MOryr заrpужать фаJ.iлы, не IIмея \'четноt1 записи на ДаН1-ЮМ Yllle. Через r:тPcepBepы может раСrJространяться IlporpaMMHoe обеСllсчение. локументаuия и т д. Как праИltло, ДOC1)'Тl к ним осушествляется поверх протокола HlТP. Основное преимущества T3Koro ПО!lхода заключается в том, I.ITO пользоватеll11 Mor)'T lIerKO IIросматриu<.lТЬ дерево лоступных каталО1'ОВ, видеть размеры фаИ-l0В и Да1 Ы их оБНОRlIfНИЯ. ПрlI л.обамеНltИ новых фЗJ.iлОБ нет нсобхо.:шмости создавать Кёжоfншбо кол HTI\..' L  лостаточНО поместить их в заданной 'ЮНе узла. Для орrанизаlПfИ анонимноrо FТ'PcepHepa создайте учетную запись псеВДОПОJlыоватепя rtp. зanайте соответствующиЙ начал-ьныИ каталоr и сконФиrурируйте сер8ерныи демов f1pd. Ilоскольку анонимныЙ FТPcepвep 732 ЧОСТЬ 11. Робото в сетях 
обшедоступен, необходимо праВlЛьно ero настроить. чтобы важные ФаЙлы случайно не оказались ДОС1УПНЫМИ внешнему миру. Демон rtpd управляется демоном luetd, следовательно, должен иметь соответствующие записн в файлвх /etc/inetd.conr и /etc/services. Еслн лоль зователи FТPcepBepa реrистрируются анонимно демон rtpd вЫпОлняет KOfaHllY chroot. Torna файлы, не иаходящиеся в )(8талоre ftpl стаНОВЯТС,l невидимым и и недоступными. Это довольно важная мера защиты, поскольку neMot! rtpd должен 8ЫnОЛНЯТЬСя с установленнъп.i битом SUID, меняя CBO илеНТИфJlкатор пользователя На root. чтобы иметь лоступ к приви..l1еrирован ны..м портам сокеТО8.  Лопо..щите.lьные сведеllllЯ о de,,.,OHe ;Ilctd "putJer)effbI 6 парарафе 28.3. Перечис.1ИМ дсikпшя. которые необходим.о выполнить при создании аЮНИм.ноrо FТPcepBepa: добавить заmrсь псеВПОПОЛbJователя rtp в файл паролей: создать ПОДkаталоrn Ып. etc и роЬ в KaTa.rIOre rtp; сколироввть лроrpам,1Y ls в квталоr rtp/bin; · сколироввть файлы /ctc/passwd н /etc/group в капuюr rtp/etc; отредактировать фаЙлы pasb"Vt'd и grOllp, как nш.::азано ниже; заменить все пароли D фаЙле ftp/ctc/passwd зве.1дО'lками; ]адать наnлежашие Прiша доступа к файлам и К8талоraм R каталоre rtp. Поскольку 1--I1f....'ТО Ie должен реrистрнроваться R системе под имеНС!о.1 rtp. 3З.Ii:lйте ш!я naHHoro имени lJеЗДО'It<,..у вместо пароля. Желательно также назначить в качестве реrистраlllонноrо интерпретатора команд ПрОrp3мму /bin/falsc. В сеансе доступа к анонимноr-.ry FТPcepBepy корневым кзталоroм системы становится ftp рто делает команда chroot), поэтому подкзталоrи Ып И etc должны содержать копии всех команд и конфитураuионнЬLХ файлов, необходимых lleMOНY rtpd. После 8ыполнения команлы chroot каталоrи rtp/bin и rtp/ctc Быrлядят как /Ьiл и /etc. в большинстве случаев лемон rlpd пользустся только командоЙ Is и урезанными КОПШ1МII файлов /etc/passwd I /elc/group И1 каталоra fiP/.tc. Усс'тенныЙ файл passwd долже1 содержать 13ПИСИ ЛИШЬ пользователей root, daemon и Пр. Пароли необходимо заменить звездОчками, посколы.'У эта Io::ОШ1Я фаfша ЛОСТ)'Пlia любому посепlТелю FrPcepвepa. Даже если паролJ.l laJ.IlJfфрОваны. остается риск что друrие по.лъзопатели CMOryт их раскрыть-. 0" Более подробно о защите паролей можно узнать tJ параzрафе 2/.З. С uелью усиления мер безопасности сделаЙте файл rtр/Ьiп/Is доступным только Для выполнения, l-Iззначив ем}' режим доступа 11]. в этом случае клиенты не CMOryт копировать двоичный Кол. Пытаясь найти в нем слабые Места. Поместите 8 каталоr rtp/pub те файлы, которые предпопаrается выставить на псеобшее обозрение. Если в систеМе устаномены совместно ИСnОЛb.lуемые библиотеки Функ uий, а ПРОrpамма 15 не была СКОМпонована статичеСЮl, может потребоваться скопировать библиотечные файлы в кзталоr rtp либо создать на них жесткие ссылки Ш1Я Формироизния корректной среды вьmолнеиия. Дело 8 том, что в некоторых системах нужно выполнить команду шkриsswd passwd после изменения файла паролей. r лово 22. WеЬХОстинr и серееры IПlеrnеt 7ЗЗ 
биб."П1ОтеLПIЫС фаи'lЫ СТаНО8ЯТСЯ I [СЛО(1)'ПНЫМ'1 после выполнения KOMaIдЫ chroot Очень ва.АСНО правильно зa.nать r1paв.a поступа к различным файлi'lМ 11 каталоri:tМ. Рекомендуемые нами права перечислены В табл. 22.4. Таблице 22..4 Рекомеt-щуемые прово деступо 1( содержимОМУ KOT0f10ro ftp ФОЙJ1 / котолоr Владелец РeJ!\ИМ .и, fIP roo. 555 fIp/Ьiп root 555 fIp/Ьiп/1s roo' 111 np/etc 'оо! 555 np/etc/pas,-wd root 444 fIp/etc/group roo. 444 fIp/pub 'оо! 755 (Ьр]    Б Soli:lri требуеТСJ). Чlобы проrр;tМ...,з 1, р.НfеШё1JIi:iL:Ь 8 кзталоп ftp/usrjbiI1 Фай:! в К<lтаJюrс .rtp/hin ПОЛЖСII преЛСТ3RJfSIТЬ соnоЛ СIIМНОJlИ'lе скую ссылку на кзталоr II!\rjbiп \0 "е 110 ПР/llsr/Ып, поскольку ПОС.lе ВhlnОЛIIСtlИЯ КОМ31ШЫ clll..oot :по путевое. вмя СТ<lНОIIНТСЯ tlеопредеJ1СIНIЫМ). В Solaris ПрИМСIIЯЮТСЯ совместно IfСl1ОЛЬJуемые библиотеки функций. ПОЭТОМ}' для ФУНКU1fонироваНIIЯ команды Is в каталоrе ftp следует установить множесrво ПOlIOЛНl-пе'1ЬНЫ файлов. БО.lее подробную ИНфОрМ3Нltю на .Пу тему можно найти на mапстраНИllе демона Прd. Не lабупьте скопировать Ф"Йл /еtс/пеtсолfig в каталоr rtp/etc_ В HPLIX ьместо фаl:I<i. /etc/group IIСПО.lыуется фаf1Л /etcjlogillgroup, КОIlИЮ КОТОРOI.О I131IЛежнт поместить R t(.па..ТlOr ftp/NC. l\.aK во FreeBSD. та...: 1-1 в Red Н.Н IIРШо.-1еШIЮI.СЯ COR\leCTHO IICnO-,l('lуеМbIс БI1Б:IIIОТСКII фуtlКlLllfI. олтн..о ВСС IIС'ОО'\Олllмые фiШЛЫ Jlпом.нИ1lеСКlI KOllll руются 8 катаЛОI' Пр в IlpoLlccce IIIIСТaJlЛЯШНl операuионноЙ системы ФаКП(LlеСКI. 311О11I'1:I.ttIЫЙ FrpcepBep со \Дается по УМОJlЧЗНIIЮ В результате ВОlннкаст yrp013 Ое.юпаСIfОСТН системы, если алМИНlIСТР3ТОР 1IIIчеrо не ПОДОlревает онолобном положеlllfИ нещси. Есrти не требуется II0Д!1СрЖIl83ТЬ аНОНIfМНЫЙ FТPcepBep. ула.1ите JаПIIСЬ псевдопо..'lЬJовате;JЯ rtp из фiНUТ3 passYt'd (БО F ree БS D после ре.д.актироваllИЯ файла паролеЙ нужно 11lПУСnПЬ комаllЛУ pwdmkdb. чтобы СОlдать ero ХЭШ8ерсИlО  pwd.dbJ.  22.7. rруппы новостей Usenet ll,enc( IlрелстаВJ[)!ет собоtl IIроrрзм1I.Ш)-Ю систему. СО3дi.ШIIУЮ в 70'\: IT ДJ"IЯ распространения по нсему \IIIРУ IlеБОЛЬUIlOl: СОООЩСНIIЙ ("статей") Б дествите-J1ЫIOСТI1 речь IIдет не о типе сети. J. .1НШЬ о наборе IlрОТОКОЛОИ, форматов фаЙlОВ 11 способов t:"ИЯ.Ш между УЗ}ЫМII. В Usenel Ilместея большое ЧIС:IO "rpjl1П новостеЙ", аН3ЛОПIЧНЫХ Аоскам оБЪ)!R.Iel--Ш. которые llOД!1ер Жllваются некоторыми \"'еЬузлз\щ и I-IнтераКТШsl-lЫМI-I Сllужбзf1..НI. В наШII ЛНН Usenel в боЛЫШНiстве случав вытесняется \1.,l е Ь.службами- I\,,\ноrие проваf1 леры лаже не преД!lаrают полыователт..-f услуrll Uscnel. и новые IIOЛЬJоватеJIII часто не шают о попобноЙ 80ЗМОЖНОСТИ. 734 Честь 11 Робото всетя), 
В Usenel применяется "широковешателъный" метол доставки. В 13KOM случае uеНТРaJIЬНЫЙ узел. заНИМ8ЮШИЙСя распространением новостей, OTCYТ ств}'ет.. Коrда ПОЛЬ.10ватель создает ("публикует") новую статью. она посы лается на сервер lOвостей ero провайдера. Сервер провайдера преШIаraет 31) статью пруrим узлам. Всякий раз. коrда статья поступает на новый сервер, она раССЬDТается всем остальным серверам, с которыми установлены двycтo ронние оТношеНIIЯ. Б статъе содержится список адресов, не позволяющий серверам предлаraть статьИ тем узлам, rле они уже есть. На момент написания книrи полный трафик Usenet без применения срелств фильтраuии (по спам) ИЛИ по размеру статей) составлял более 100 I байт в лень (новые статьи). За последние полтора roда ежелневныЙ объем сообщений вырос в пять раз, хотя количество статеЙ увеЛИЧИ.10СЬ З3 этот период Только на 50%. Основу трафика Llsenel составляют aYДHO и випеофайлы в формате MPEG. а также nllр тские копии проrра.м"М. Ранее большой объем памяти заНИМaJIИ порноrpафические изображения. Т рупно дать однозначную оценку этому ЯRпению, но в любом случае UseneL заслужил славу храНИЛ1fша "mrабайтов информаuии. полученных с нарушениями авторских прав". Еслн размеры статеЙ не будyr превыштъ I Мбайт, будет учитываться наличие спама и произвоnиться фЮlьтраuия rpynn с неправильными назва. ниями. то объем ежепневноrо трафика составит ОКОЛО 35 rбайт в лень. Однако и этот объем данных впечатляет. Как прапило. только крупные провайдеры Internel располаrают необ ОДlп.iЫМИ ресурсаМII (достаточной пропускной способllОСТЪЮ кзна.'l3 nерелачи данных и соответствующим объемом дисковоЙ памяти) или ИМеют желание прелостзRЛЯТЬ J.1X лля обработки подобных объемов инфОРМi1UНИ... С uе.rIЬЮ доставки новостей на узлы, которые не обладают нужныr..rn ресурсами, были созданы альтернативные схемы перелаЧIf сообщений Подписка на новоcrи Usепеt Чтобы иметь ВОзможность получать ювости Usenel. проше вcero обра титься к службам спеuиализированных ко mаний (www.supernews.com или www.glganews.com). В обшем случае Достаточно указать сервер НоВостей провайдера в настройках броузера, блаrодаря чему администрирование службы НOIЮСТей булет полностью Выполняться На сервере провайлера. Друrой вариант (если провайпер ero поддерживает) .щКЛючается в рассылке ноnостеЙ [10 запросу. В соответствии с панной схемой сервер НОвостей получает ДOC1)'ТI к статьям lIpyroro сервера, выполняя запрос. 3аrpу-..кенные статьи кэшир 'ются на лока.1ЬНОМ компьютере. блаrодаря чему популярные статьи не требуется заrpужать повторно. Преимушества raKoro подхода заКЛючаются в том. ЧТО статьи передаются из упаленноrо сервера только один раз (канал передачи данных используется эконоt.шее) Ji, поскольку сервер новостей Я1iJТяется локальным ш!я орraни зании, чтение НОВостеЙ прохопит быстрее. rлавный же недостаток наличие задержки по времени межпу получением статьи удапеЮiЪп.i и локальньп.i Это Не СОБсем так Вследствие orpoMHoro объе.ма новостей Б наше Бремя боЛЫ1IИНСТ80 узлов получает информаuию по ..:райней мере от ОДIIОro крупноro ceтeвoro провайдера (Sprint. WorldCom. АТ&Т и т.д.). Фактически npoBaRaepbl ФУНКщюнируют как стандартные пункты рассыли новостей и raран-rируют .эффективное распространение статей. Основной объем новостей (примерно 97%) приходится на иерархию "aJl". rлавным образом на rpYnnbl "alL.bil1aries" (92%). rлово 22. WеЬ хостиt1r ! серверы Jnfernef 735
серверами Кроме Toro, если пользователи иечасто просматривают HOHoeHI. статьи MOryr устаревать и уничтожаться удаленным сервером до Toro, как будут лереД8НЪ1 на локалЬНЫЙ сервер. Для устранения этих оrpaничений некоторые серверы новостей отслежи  вают информаuию о тех rpуппах, которые просматриваются пользователЯf\.lИ. и заранее затружают статьи из этих rpynn по мере их поступлеНИf1. К сожалению, а такой схеме приходится отслеживать слишком большое чис:lO rpупп. что противоречит смыслу ПОШlиски по запросу. Существует и третий. rибрилиый подход к подписке на новости: серnср получает оБЫЧНЫЙ поток новостеЙ, но передаются ТОЛЬКО заrоловкн статен. а не их содержимое-. Поскольку заrоловки относительно неuелмки. не требуется большая пропускная способность или же MHoro llMcKoвoro про- странства. Лишъ Korп.a пользователь запрашивает статью для просмотра, она пересылается анешним сервером. Заrоловки хранятся а локальной системе. поэтому сервер может быстро сообшать ПОЛЬЗ0иателЯ'М тематику и п.руТ)'ю информаuию по всем п.ocтynHЫM статьям. Проrроммное обеспечение Usепеt Если требуется просматривать rpYnnbI новостей в домашних условиях, не оплачивая УСЛ)'I"И внешнеrо провайдера, необходимо найтм внешниЙ серпер новостей и устаноаить проrpа.ммное обеспечеюtе для просмотра иерарХИII статей. Придется также реryпярно уделять время управлению и поддержке системы. Описание распространенных П8кетов чтения новостей содержится n табл. 22.5. т облица 22.5. Проrроммное обеспечение .nпJ! УflРОВf1ени rруппоми новостей Назвонив Бсллотен? Т илы подлиски Web-- уз 8Л INN Да Традиционн8Я, подnерж www.isc.org ка клиентов чтения HOBO стей DiabIo да Традиuионнаи, по зanро www.openusenet.org су, rибридная Dnews Нет ТР8Д}ЩиоIOl8Я, по зanp<r nerwiлsitе.соm су, подnержк.а клиентов чтения новостеЙ Cyclone Нет Только ТРaдиllионн8Я discussion.open w 3\1e.com Typhoon/Breeze Нет ПОJUlержшаются только discussiоп.орелwа v е.СОIl1 клиенты чтення НО8остей Нужны ЛИ новости Usепеt? т рушю сказать, какой буп.ет суп.ьба Usene(. С появлением WW\V значительно сократилось qисло пользователей, пубт-u<yющих статьИ в Usencl. В то же время во MHoro раз вырос обший объем новостей. HeKoTqJbIe исследователи заявляют, что соотношение смrнал/lil)'1'of в Usene( ceronHJ! столь мало, что от этой системы пора отказаться. Однако нема..rюе чмсло адептон спешит зашмтить кандидатские диссертацми, посвяшенные блаrотворному ВЛИЯНИю, которое Usenet оказывает на всемирное сообщество пользователеЙ Как rоворИ1СЯ, .'никоrп.а не знаешь. rne найдешь. rne потеряешь". в заroловке содержатся ИМЯ атора. назваtrnе темы, лата создания, идентификатор сообше ния и ПОТОК08ые данные. 736 Чость 11 Робото в сетях 
Часть 11/ Разное , t.,I ;\'\ .) t<I )
23 Печать I<\ r.>rS,o., :;.r.." v O; (J..-",,> I/'.o({Jf 4 t; 3t;'Ц 1i,4'+ft Ь1.7,{ / ";::::1 оt:f?щ,l j a (' .., r. :;;::::s ? / ::- . v /(' , L.. rfl/lJif 7 {1A I Ч j Коrда rоrоиJ.UЮСЬ первое Iндание этой К1l1frи. самыми раСПРОС1lJзненными ПрlltперЗМIf СЧl-lТaJШСЬ 1l0строчно печатаЮШl1е АSСII принтеры. ЛззеРllые ПРИlперы были 8 НО8ИНI<..'У. стоили noporo и встречались редко. Для УСЧЮЙСТВ ВЫвола С высокоЙ РЗ"jрешаюшей Сllособностью требовались 1зказные прзй веры и nporpaMMLI форматирования. К тому времени, КOI"Д8 было опубликовано второе Iпдавне нашей КНИfll. построчно печатаюшие принтеры стап", редкостью. Были разработаны MHO rОЧИС!lенные стзнnартные Я3ЫКlt описания сrраниu и печати. I"lоявились и rlOЛУLJИЛИ Шl-Iрокое распростраНСlше лазерные принтеры. Сеrодня ПОСтрОLJно пе[lатаюuше ПРllнтеры относятся к числу раритетов. 1l0ЧТИ ПО8СЮп.у компьютерам неизменно СОПУТСТВУIUТ лазерные принтеры, а также мноrочисленные ЯJblКИ опмс.аНИИ страниu. СеЙчас, Korna мы rотавим третье издание. лазерные принтеры чаше подключаются к сети E[lleme(. чем к последОвательному Юl и параллелыюr.rу порту компьютера ОДИНОЧКI-f. Они праКТИ--Iе-ски УСТУIПIЛII НИЖНИЙ CerMCtfT рынка струйным принтерам. I"lРIIНИМШI во BHlIMaHIIC: упомянутые теХШlчеСКl1С liОБшеств,.I, МОЖНО было бы преДПО.'lО)t..'lIТЬ, что ]8 прошеДШllе rоды UNIX C 1CTeMbI печати ...арllшIi.l..'lыfo измеНI1..'IИСЬ. К СDжа..llСШfЮ, 3TOI-O ш: произошло. ПОflрОСт)/ были МОДllфИUИ ронаны старые 11роrрЗt.IМЫ CnYJlltHr.:J для построчно пе--Iатаюшмх ПрИIIТСрОВ. с тем lТобы обt"спеЧИТh II01IдСрЖt<..'У I-tОВblХ технических средств. Все rлаввые ПРОИЗIiОДlIтелм IIСllOЛЬ.JУЮТ Лll60 BSD-смстему спулинrа (lpd. Ipc, Jpr и др.), либо сисТt:му слулинrа Sys!eI11 V (Ipsched, Ipadmin. Ip н т .д.). лмбо комбинаЩtlО двух ..них смстем. Для Toro tlТобы опрепелить. какой системоИ печа rи вы поль.зуетесь. проше посмотреть. какоЙ спулер 8 неЙ npltCYTCTBYCT (lpd !UIЯ BSD и Ipschcd для Sysrcт V). (leM р.пБИР;JТЬСЯ в командз'( )"ТlравлеШIЯ Qчсрелыо. Мllоrие ПОСТrlВШМКИ исполюуют кома IЛЫ. Н3ЗFIr.111ИЯ которы), С08падаЮl (; IIМСllilМИ комсшп lI.рупн.: систем. НаПр 1МСР. н HP-LJX IIpIlMeHS1eTC)1 КОМ.iНlЩt Ipr. но ее Сие reM3 печати аlli.L'IОПIЧна ПlстеМе. ИСПО'lь-зуемои " SуstеlП \/. r лово 23. Печоть 739
Мы начнем эту rлаву со знакомства с терминолоrией. IСПОЛЬJуемоR в области печатм. а затем опишем системы печати BSD и Sysrem У. Будет также рассмотрен вопрос орrанизаuии совместНОЙ работы этих систем в сети и, наконеи, описаны некоторые nporpaMMHbIe средства, имеющие отношение 1< печати. 23.1. Минисловарь терминов по печати Обзор современных технолоrий печати не входит в кpyr вопросов. рассматриваемых в этой книre. Однако изложенной здесь информаuии будет вполне достаточно, чтобы дать достойный ответ любому. кто обрапlТСЯ к Ba1 на принтерном жарrоне. СпУЛUНl Система спулинra принимает задания для печати. заПИСblвает м'( в буферны А каталоr и в соответствми с приоритетамt1 ПОСblлает Ht\ принтер. Передача заданий в систему спулинra осушеСТR.'1яетея посредством команды полъзовательскоrо уровня. dpi Большинство моделей современных принтеров  растровые YCT роАства. Это означает. что печатаемые символы формируются с помошью точечной матрицы, а их печать осуществляется путем переноса на бумаry красителя в результате упара. ЕдИНl-ша из!еDе ниJl разрешающей способности принтера, dpi. соответствует коли честву точеl<. которые устройство способно выводить на отрезке плмной (высотой) в пюим. Чем больше число точек на пюйм, тем выше качество печати. Так, выражение "300х600 dpi" означает rоризонталъное разрешение 300 точеl< на дюйм и вертикальное  600 точек на JlюАм. PDL Так называемые языки описания страниu PDL (Page Dcscriplion Laпguаgе) предназначены пля передачи данных принтерам. CpeДCT вами TaKoro языка описывается раз мешаемое на печатной страl-шuе изображение. Пересылка на принтер и обработка образов страниu. созданных с исполъ:зованием PDL. занимает, как правило, rораздо меньше времени. чем переСЫЛ1С8 необрабarанных изображений. Кроме Toro, упрошается проиесс reнераuии изображений JlJ1Я вывода на печать из прикладных проrpамм. Еще одним постоин етвом rаких языков является их независммость ar используемы\' устройств и их разрешаюшей способности. Битовыи Иноrлз предназначенные дпя вывода на печать изобраЖСНIIЯ массив невозможно описать средствами PDL В 'НИХ случаях IIспользуете}! бмтовый массив (bitmap)  СЧJуктура данных. которая ВКЛlочает описания всех TO'leK изображения. В таких описаниях укюыиаеТСJl. полжна или нет печататься данная точка (мли ивет точки. CC:III мзображение uвeTHoe). Форматов БМТО8Ъ1Х массивоВ. ка" и языков описания страниu. сушествует несколько Каждый язык PDL ПОДllержмвает один мли несколько фОрt.IЗТОП. 1"l0CKO;fbКY бнтовые массивы обычно очень велики. иХ часто сжимают. Есть очень MHoro средств .n.nя преобразопанмя битовых массивов 11] одних форматоп в прyrие. RlP Проuессор растровых изображениЙ IRВSler Image Processor. II Р)  это nporpaMMa. которая получает пота" предназначенных д.'1я вывода на печать данных на одном из языкоа PDL и преобразуе т их в оитовые массивы. формат которых соответствует формату, 740 Часть 111. Розное 
поддерживаемому устройством вывода Коrда появились первые устройства, обеспечиваюшие высокое качество вывода на печать, преобразование РDL документа в бито вый массив вьmолнялось на компьютере. Впоследствии проиессоры растровых изображениЙ стаlШ встраивать в принтеры. По мере совершенствования систем печати и усложненмя преобразования такие проиессоры все чаше и чаше ВI01ючаются в проrpзммное обеспечение компьютера Фильтры Фильтры препставляют собой ПРОУ1'аммы. которые МОПИфИШfРУЮТ задания на печать "по пороre" к принтеру. Они преобразовыВ8ЮТ форматы, выполняют контроль поступа и часто контролируют соединение с принтером. Фильтры. каК правило, не нужны для принтеров, печатаюших простые тексты, но без них трудно обойтись при вылаче заданий На печать .nля принтеров, которые требуют нестандартных языков описания страниц. Некоторые PostScrip[ принтеры принимают неотфмлътрованные задания, но .nля боль шинства из них эти заданИЯ должны бьпь предваРlfте.1fЬНО ОТфИ!1ЬТ рованы. В терминолоrим Syslem V фильтры называются интерфейсами. Пля получения более попробной Ifнформаuии о фильтрах и интерфейсах обратитесь к парar-рафу 23.3. PoslScripl Язык PoslScript в настоящее время наиболее распространенный ЯЗЫК PDL в UNlX системах. Он разработан компанией Adobe Systeтs InсоrporЗlеd. которая выпает )1иuензи-и на ero Ifсполъ]ова ние. Выходные данные на языке PoslScript MOIyr rенерироваться почти 8се"'fИ nporpaMMaMJ.I ко mоновки страниц. а большинство МОДС.J'Тей прмнтсров имеют встроенные интерпретаторы этоrо языка. PostScript. по сути пела. является полноценным языком nporpaM 'l.lИрования. Написанные на нем проrpзммы можно читать с помошью текстовоro редактора. Of-m отличаются обилием кр тлы\: скобок и СIIМВОЛОВ косой черты. В первых байтах любоrо Post ScriPl фаЙJ1а обычно содержится идентификатор файла. начинаю щиikя символамм %!. Существуют версии UNIX nporpaMM печати. которые используют ли символы при обработке заданий на печать для распознавания языка описаЮlЯ страНИll. PCL ЯЗЫК управления принтером PCL (Рriлtеr Соmmалd Laлguаgе) разработанный компанией HewleH Packard аналоr языка PostScnpt. Этот язык широко распространен в мире nepcoH3..JIbIfbIX компъю теров и используется практически на всех принтера.'\: производства He\vleH Packard. В приклаиных UNIX nporpaMMax, как пранило. не предусмотрена возможность rенераuии данных на этом языке, но тем не менее большинство мопелеЙ устройств ПРОИJВодства Hev.,It:[( Packard имеет встроенные средства пля обработки Роs[Scriрt ф.JIIЛО"_ 23.2. Типы принтеров При работе в среде UNIX можно формировать задания для прюпера почти любоrо тИПа. На наиболее фундаментальном уровне принтеры клас СИФИШfРУЮТСЯ исхоnя из используемоrо ими интерфейса (сетевоА. послепо вательнъrй. параллельный) и по ПlПам данных, которые они "понимают" (текст, языti: PoslScripr. языti: PCL млм нечто совершенно иное). Мноrие из дешевых принтеРО8, используемых в Windows (их обшее название WinРпnlеrs) нелъ.зя использовать в среде UNIX. эти принтеры r пова 23 Печоть 741
не имеют BcтpoellHbIX "MO]roB" '" не Iюнимают ни O.!l.HOrO языка PDI. Ч..iСТЬ информзuии, необходимой штя обшения с Т3Ю1МИ ПРИl-fтерамн. скрыта и кодах их патентоианньrx лрайверов. Такая секреТНШ.1b делаСl бесполеlНЫro.ш усилия по развитию UNIХподnржкн .nля подобных устройств. Последовательные и параллельные принтеры Послеповательные пр",нтеры треб}10Т внешней конфиryрации. Более lIодробно последовательные порты описаны в rлаве 7. П porpaMMHoe обеспе чение спулера DQтII..""RO "знать" Подходяшие значения скорости передачи в бодах и дрyrие параметры последовательноrо порта. чтобы иметь нозможность общаться с пр"нтером на понятном ему языке. За деrdJJЪНОЙ ИllформаШINi об этом и про'шх особенностIOl. системы печатн обраТlIтесь к lПалстраниuам. [олько персонапьные компьютеры имеют пра_IЛС:"lЬНЫИ порт Пзралле.'lЬ ные порты более быстродеиствуюшие. чеt.1 стандартные 1I0С1]еДОС8тельные порты, и. к УП0801lЬСТНИЮ системных aиMI1IHlcтp8TOpOB. 1lXбуют УСТ31ЮНКlI меньшеrо ч",сла ОПlШЙ Пр1 КОllфиrурировзшш. Хотя этот стандарт и I-IC устарел, он предоставляет в наше распоряжение порты, которые все же требуют ОПlосительно небольшоЙ настроИl.;:И. При работе поп управлением Red Har I inLlx первый (обычно он же 11 нослеДНlт) параЛllельный порт  это /dev/parportO в Сliстеме FreeBSD используется порт /dev/lptO. Более современная теХНОЛОПIЯ со]диtПIЯ последовательных портов l'Iазы вается LJBiversal Sепаl Bus (LISB) и еше только ПрОЮla.!lывает себе путь в мир UNIX. Порт USB пол}чил большое рilСllространеl"'ше в КОМllьютера.., рабо таюших под управлением Willdo. 110 ero ПОДПСР>l\""Ка п среде UNIX еще TQ..'lbKO начинается. В то время, кOI.па мы fП1шем -ЭПI строки. последние стабильные версl-Ш FreeBSD '" Linux HaKOlleUTO Ilача;ш RЮlЮЧ.ПЕ:. ПОдllер} t ISB. Сетевые принтеры Некоторые принтеры снабжены ПО.'Iноuенными сетевыми шперфейсаМIf. которые ПОЗВОЛЯЮl непосреДСТ8еШЮ ПОПКЛЮ'lать эти принтеры к сети и IIрltнимать задания с ИСПОЛЫОRЗllием одноrо ИЛlt нескольких ПРОТОКОЛОR. Ланные MOryт быть посланы на ПОДI01JClченные к сетИ 11р",нтеры rораздо быстрее. чем на пр",нтеры. рабатаюшие '1ерез послеловательныЙ или Пiiраl( #1t".Льный порт. Но даже при нarтИЧИJt таких Ilринтеров буле1 лучше. если все задания будут I1РОllускатъся Iерез опну очередь Ilечати. ВО МНОПI\: ссп" приходится иметь дело с ра3JIИЧНЫМII комбинациями систем. работаЮШII\. с командами Ip '" Ipr. а также с мноrОЧИСllСННЫМlt МО.!l.lIфикациямн баЗ0ВЫ'\ сис reM печати pa"1Hbrx производите.леи. Поскольку любои компьютер сети потеНllиапьно может послать заЖIНllе непосреДСТ8енно Н3 сетсвОЙ принтер. ВОЗН1кает КШlкуреlfI1ШI. Часто .но происходит вследствие недостаТО'll-lOro контроля cu CTOpOllbI аДМИI-ШСТрЮНIIt. Для Taro чтобы уnрОСТllТь .щминистрированис:, слспует ПОПЫТdТЬСЯ обустроить сеть так, чтобы нсе сетевые прннтеры контрОJlиропались неБОJ1Ь шим КОЛИчеством компьютеров. Дрyrие компьютеры полжны пр()сто передз вать задаю,я на эти серверы печати Подобный ПОllXод позволит избежать И1.'llшltlих трупозатрат. потому 'ITO вам не ПРlшется опеКать систе'l.fУ пе(аП1 на кажnои машине. Краме TOro. rlрИ ROJI-ШКНОвен",и какихлибо проблем с нечзтью потребуется исследовать относительно HeMHol"'O конфиrурации. Мноrие сетеВЫе лазерные приtlтеры ВКЛЮЧаЮТ в свой состав IpdcepHep. Блаrодаря этому lJN IХклненты MOryт посылать фаилы на принтер точно так 742 Часть 111. Р031-юе 
Же. как они ОТllраиляли бы jX Шi BSDcepнep. I"lоскольку все рассмаТРIIВаемые нами операиlIонные системы MOryr посылать задания на IpdcepBep, ни принн:ры нам l-tравятся больше нруrих. Старые сетевые прмнтеры требуют, LIТобы 18ЛCiНИЯ на печать посыалисьь на ТСРпорт 9100. Такую конфиryраuию трудно поддерживать 8 cllCTeMax Печати BSD и Syslem У. но она упрощается при испа'lьзовании системы LPRng. Еслм у "АЗС именно такой принтер. мы настоятельно рекоменлуем почитать о системе LPRl1g н паР3J"Рзфе 23.6. Жизнь без PostScript РоsLSсriрLпр'-1НТ(,РbI, естественно. поддерживаются СlIстемами печати LJ N I Х. и КОНфИJ)iрИрОВ3ТЬ тзкие ПРИIIТСРЫ ОПЮСlпелыю просто. К сожаJlе нию. пршперы. не относящиt"ся к упомянутой катеrОрlfИ. в чстности струЙные и дешевые модели лазерных. использоватЬ труднее. Д1IЯ Toro чтобы печатать на принтере, не IlOnдерживзюшем технолоrню PostScript, LI8CTO бывает необходимо специanьное проrpаммное обеспечение. выполняюшее "перевон" задания ,-Ia печать на язык PDL. понятныli принтеру. Некоторые rlOставшики предоставляют СОQТRСТСТВ}10шее IlporpaMMHoe обес печение. как правило. за отдельную IIJНПУ Альтернативой этому является свободно раСllространяемыi пакеl gl10Stsclipt. который может преобраlОВ3ТЪ предназначt:Нlюе lLТ')Я РUSISспрLПрШIТt:р<t зa.tIiiние в PDLCTpaHIIUbI. ПОl1'<О.ая Шllе !JjIЯ сотен IIрllнтерОI:l. BM придется соответствуюшltм оБРi:lЗОМ настроить фильтр печати, Lпобы он "'ia лету" ВЫIIOЛНЯЛ необходимое дЛЯ РШJОТЫ ghostscript преобразОJiзние. В документаuии gllOtscript приведены соотнстст. вуюшие примеры. Ilри IIСПОЛblонаНШI систе....rы LPRng решение этой задачи облеrчается. 0" Более детаЛhНая rтфОРJациJi (} lJйкете gho.tlJ.cript содержитCJI в параzрафе 23.8. 23.3. ВSDсиcrема печати Система печатн BSD была разработана слеuшшьно !lЛЯ ИСПОЛЬЗОН311ИЯ ПОСТРОllнопечатаlOШИХ Ilрштеров. К счастью. У.!l.3Чllая "КОНСТРУКlПfЯ'. этои CllCTeMbI 1l0зволяt:т летко ПрИСllосБЛlfвать ее ЛЛЯ ПС l 13ПI на БОЛЬШИlIстве cohpCmeHl-lbIХ принтроп. Сетt::Вая IlaCTh системы llеЧflПI BSD также хорошо масштабируется цля ИСПОЛbJОВUJ-IШI в больших l'IеоднорОДl-lЫХ сетях и по"3воляет мноrим компьютерам совместно использовать принтеры. Спулер flечатн Ipd фактически стал стандартом дефакто 11 примеВJ.1ется во МllOrю. сетевых принтерах. Из числа рассмаТРИl:lаемых в lIашси KHlfre Сllстем Red HaL 11 FrecBSD исполыуют снетему печати BS D как оенону для cBoero nporpaMMHoro обеспсчеНIIЯ пчатн. Обзор процесса печати в BSD('l1cTeMe I'IС\I IJ.OCTY"OM К прннтерам упрсшляет демон Ipd, КОТОРhlИ обычно находится в каталоrе /usr/lib 1-1 запускается н процсссе jarp)']КI системы. Демон Ipd uтнчает за прием заданий на печать от пользователеЙ I друrих (YD8JICI-lt-lbIХ) !lеF\.ЮНОВ lpd, оБРlБатынает их Ii посылает на СБободньн принтер. Чтобы выполнпь уксванные деСТВIfЯ. Ipd СLlIlТывзет данные о конфиryраuии npl1HTepa ИЗ файла /etc/printcap  базы наиных системы, содержащей информацию о принтерах. r nова 23 Печоть 743 
Пользователи. для отправки СВОИ): заданий на печать демону Ipd. пользуются услуrами команды Ipr. Эти лва проиесса взаимодействуют через сокет fdevfprinter. Рассмотрим проuесс выбора принтера. на КОТОрЫЙ необходимо послать зздаIOfе печати. Если проrpамме Ipr передается apryмeнт PпpиHтep, ТО nyнкTOM назначения становится принтер. В противном случае проверяется среда на предмет наличия пере мен ной PRINTER. Если эта переменная опрелелена. используется ее значение. Во всех остальныХ случаях зз.nание передается на обшесистемный принтер, заданнЫй по умолчаН1fЮ. Почти нсе команды, относящиеся к печаТl1, ВЮlючая Ipq и Ipnn, понимаюТ apryмeHT P и переменн}'ю cpeJlbI PRINTER. Как ro.'1Ъко комаtШ8 Ipr узнает. на какоЙ принтер напраиляется текушее задание. она начинает искатъ этот принтер 8 базе данных о принтерах системы (fеtсfрriпtсар). Из Jlаиноrо файла комаtШa (pr получает имя каталоra, в который следует помещать задания печати .nля указанноrо принтера. Этот "буферный каталоr" обычно иосит имя fvаrfsрооlfимяпринтера. Для каж.цоrо задания команда Ipr со:щает в буферном каталоre JlBa файла. Имя лервоro состоит из букв сЕ (солtrоl file) и числа. Ндеитифиuируюшеrо задание-. Этот файл солержит справочную информаuию И информаuию об обработке задания. например сведения о пользователе, кarорый ero перепал. Числовая часть имен-и файла может СОСТОЯТЬ максимум из трех uифр, поэтому при наличии в очереди более 999 заданий система Печати начинает работать некорректно Имя второrо файла начинается с букв df (data file) и заканчивается тем же числом. Этот файл содержит лаННЫе, подлежашие печати. После ero постановки в очередь команда Ipr уведомляет демона Ipd о существовании за.nания. Получив это уведомлеЮfе, JleMOH Ipd обращается к файлу рriпtсар и выясняет местонахождение пункта назначенмя: локальный он или у.nаленный Если в файле printcBp }'казано. что nринтер подключен локально. демон Ipd проверяет наличие деМОl-l3 печати, обрабатываюшеrо соответствующую оче редь, и в случае arсутствмя T3K080ro создаеТ ero (т.е. экземпляр ca!l.toro себя). Если соответствуюший nршпер ПОдЮlючен к друrому компъютеру. демон Ipd устанавливает соединение с демоном Ipd упа."Iенноrо компьютера If пересылетT тула файл данных и управляюший фi:iЙ11 Ззтем демон Ipd удаляет локаттьные копИJt этих файлов. Планирование задани-й печати осушествляется по aлrоритму "nepBbIM пришел  первым обслужен" (FIFO), но системный администратор может при желании изменить порядок печати с помошъю команды Ipc. К сожалению, нет возможности дать системе печзти I1НСТРУКUИЮ о том, чтобы она все время отлава..тта предпочтение задаНIIЯМ, напраштенным на печать тем Н.:1И 'иным пользователем или компьютером. Korna задание roтa80 к печати, демон Ipd создает рЯll проrpаммныx каналов межлу буферным файлом и печатаюШИМ устройством .nля передачи ланны,' подлежаших псtlЗТИ. Посередине "Этой uеПОЧКI1 демон Ipd устанашти нает пропессфнльтр, 8 заи<lШ KOToporo вхолит просмотр И, возможно, редактирование солержимOJО потока ланных. прежде чем они поступят на принтер. ПроuеССЫфИЛЬТРhl MOryт выполнять над данными различные преоБРI зования либо вообше ничеrо не делать. Основное их назначение  обеспе чинать форматирование д.ля спеuиальных прикJт3.!lны, nporpaMM и в процессе обработКJ.t задания проrраммой Ipr :пот файл НБЗывается tf (tcmporary Ше). После запиСи файла Ipr меняет ero имя с thxx иа cfxxx. 744 Чосп" 111. Розное 
ПОДl1ерживать все зависяшие от устройств протоколы. которые MOfYT пона добиться .nля работы с п.анным принтероl. В командной строке Ipr \fQЖНО назначить 1lЛя принтера дрyrой фильтр вместо заданноrо по умолчанию Управление средой печати На практике ШlЯ ежелневноrо сопровождения системы Печати необходимо знать псеrо три команды: Ipq, Iрпt1 и 'ре. Команп.а Ipq позволяет просматривать OLJepeдb заданнй. ОЖИЛ8ЮШМХ печати на конкретном принтере. Посреп.ством команды IрrПl можно удалять оп.но или несколько из этих заданий (при этом стираются соответствующие файлы данных и из системы печати уп.аляются все ссылки на НИХ). Обе эm команды п.OC-тynHЫ мя пользователей. и обе работают в сети, не оказывая влияния на работу системы. Команда Ipc позволяет вносить изменения в среду печати: например. отключать принтеры и переупорядочивать очереди печати. Некоторые из ее ФУНКllltй доступны для пользоватс:лей. но в основном это средства админи стратора. KOМOHДQ Ipq Табл....ца 23.1. КОМОНДЫ системы печати 8SD Меcrона)(ождене /uor/bln Выnолияемая фу нкция Показывает содержимое и ста1УС очереди на печать Ставит задания и очередь на печать Ликвидирует очередь или отменяет задание иа печать Упра.8JlЯет принтсром илн очередью на печать Вк.ruoчаст I! O'ICPCllb И выводит на ПРlш.rс:р зада..ниЯ на печать Создаст тестовыА АSСIlкод РазблоЮtрУет "заВИСШltй" принтер (только в Red Н.О Конфиrypl-lРУСТ vказанную систему печати (только в Red Hat) - Конфиrурирует д.'lЯ печати парал.лельный порт (только во FreeBSD) Ipr Ipnn Ipc 11"1 Iptc!jt Ipunlock prlnttoul Iptcontrol /u!r jbiD /u.r/bIn /usr/sbio /u.r/sbiD /usr /bin /usr/bln /u.r/bin /u.r/sbID Демон Ipd: ВSDспулер печати Korna neMOI.1 Ipd приступает к своей работе. он считывает файл /etc/printcap. в котором соп.ержатся данные о принтера,'( системы. Затем он наtlИнает печать какоroнибуп.ь задания, ожидаюшеro 3Toro момента в буферном каталоrе. и принимается за считынание HOBoro задания на печатЬ. Демон Ipd. запушенный с флаrом I. реrnстрирует задания на печать 8 системе Syslog от имени среп.ства "Ipr". Прн отсутствии ф.'Iаrа -1 этот п.емов реrистрирует только системные ошибки. Упраштение п.остуттом производится на кажп.оч компьютере. систе!l.13 печати BSD не позво;)яет осушестштять контроль за конкретным \'дa."1eHHы!f пользователе!l/ Только компьютеры. имена которых значатся  в фаилах Нз самом lI.СЛ возможна рС8..iПIJЗШlIl аyrентифиК8UИИ 8 фильтрах пеLl8ТИ. Но так кзк в бо.1ЬШl-fНстве систем используются РЗ.L1ИLlные варианты ФIlЛЬТРОВ. ни практике не ПОД:lер :живается С:ДИfIЫЙ способ коtпpо.lЯ досryпз. r ЛО!IO 23. Печоть 745 
/etcfhoSls.equ или /etc.jhosts.lpd. имеют 80ЗМОЖНОСТЬ ставить Jадания в очереп.ь на печать. Помните. что п.обавление имени какоrОJТИбо компьютера в файл /etcfhosts.eqt1iv означает абсолютное "доверие"' этому компьютеру. Мы рекомендуем всеrда использовать файл /etc/hosts.lpd для контроля за п.оступом к принтеру. Если необходима более надежная модель зашиты, рассмотрите возможность пере,",ода к систе\.fе LPRng. 0' Более t10дробную информацию о файле ho.'s.eqll;v мо.жно Ilаити в rlйрарафе 21.6. Команда Ipr: выдача заданий на принтер ЕДl1нственная проrpаММ1 " CICTeMe BSD. которая может ВЫСТРЗIIШIТЬ подлежашне печати файлы в очередь.  это КО'-I(ШД3 Ipr. Все OCTa.lbHbIC nporpaMMbI. используемые LUIЯ rlечаПI фаЙ.IOБ (Н31lрlIмер, nporpaMMbI cnscripl и 11ctscape). делают :по. UblJыnая nporpal\lMY Ipr. В качестве apryMeHToB команп.ы Ip... MOf)"T бьпь ИСllОЛЬЗОианы нескоЛЬКО полезных опuий. Флаr #чис.лv позволяет напечатать количество копий. равное значению ЧЦС.,lО. а флаr h ]апрешает печать ПIТ)'JlЫЮЙ страниuы. Как напоминание о временах. Korna принтеры печатали очень медлеIOiО, суше ствует флат m, 06еспечиваюший 'Ведомление пользователя о том. что ero зздаЮ1е на печать выполнено, по электронной почте. Например. чтобы напечатать п.ве копиlt файла (hesis Hcl принтере howlerlw. слеп.ует внести следующую команду: \ lpr Phowlerlw 12 theais Команда Ipq: просмотр очереди печати Команда Ipq оБЫЧl-lО применяется С опцией P. но можно ИС:ПО!lЬЗОВ.НЬ и дрyrие арr)'меиты командной строки, чтобы оrpаНИ1ШТЬ перечень просмат риваt:МЫХ заданий. Выходные ланные команды Ipq въrr.1ЯДЯТ примерно так: . lpq алсhоr 1 j 15 ready алd printing Rank Qwner Job;' ...les actve garth 314 dоmал.2хl.рs ls kingery 2Вб stалdаrd input 2nd evl. 12 appendlce5 ]rd garth 13 proc 4th scor.t 14 perl.odic 5th garth 16 stалdаrd input Tot.al 5.!. z.e 29В.71В byr.es 17691 bytes 828 bytes 1;13229 bytes 16676 bytes 489 bytes В первой колонке п.нется ИНфОрМill1l1Я о том, в каком порядке будyr распечатываться "1ЗдаНI1Я. Эти сведения R приннипе не нужны. потому что выходные строки 8cerдa расrЮJ!ожены по порядХ""У; 31о.."ТИВlюе задание Vt.:i]jbj ваетея первым. Еслм первое задание оБОЛ-li1чено как 1st. tl не как act1.\'e. это знаЧIIТ. что п.емон пе1lати дпя принтера не запушеll. Во второй колонке дается имя пользователя, который послал ЗШl1Нlfе на печать. В третьеЙ  идеНТИфlfкационный номер задания: ero необОДIfЮ знать. если RпослепсТRИИ планируется обраб.пынi'ПЬ JTO залi1ННС с помощью команп. Iрnп ИЛИ Ipe. В четверто(, KOJlOIIKC rlеречисляются указанные Б коман.дНОЙ строке Ipr файЛЫ. посылаемые на печать. [сли данные ШIЯ НЫПО!Ш на Печать ПОСТУТН-IЛИ по nporpaMt.IHOM} канал)' (как. наllример, первое и пяте .JЗдаНИЯ lIашеrо примера). в .НОЙ rpафе будет стоять запltсь stапdсн-d .1l1pUt. В пятой колонке указы наеТО1 рзмср змания. ')1'0 знцеlllfе соотвстстр}"ет размеру заданиЯ до ero передачи в проrpi:lММуфильтр и не дает Ilнформаlllfll о том. сколько Стрdl-IIШ 3ili"CT ЫlНН-lИе 11 KK долrо оно будет пе'-lатаТЬI. 746 Чость 111. РОЗНОР 
Команда Iprm: удаление заданиЙ Самая распространенная форма команды Iprm  Iprm uдзадаНUJl. rne udзадйНUЯ  идентификатор задания соrласно ВЫХОДНЫМ данным команды Ipq. Команда Iрпn пользователь удаляет все залания, прииаллежашие указан ному пользователю. Команда Iprm без аРIYМеитов удаляет а....'ТиВНое задаНИС. Если уюпать Iprm . ТО будут удалены все задаНlfЯ, переданные На rlечать. если данную КQМ31ШУ 1здает ПОЛЪJователъ root. удаляются все задания. стояш-ие в очереди. Обычны1t ПОЛь'30RaТелъ не может удалить Ja.nаЮ1Я дpyroro пользователя, в то время как супернользоизтель имееТ право УД3J1ЯТЬ любое задание Выходную информаuию команда Iрпn выдает только в случае усrlсшноrо выполнеЮ1Я, 8 противном случае ОНа молча уходит со сиены. ЕС.1И вы Не увидели ЧТОНJfбудЬ наподобие dfА621Хlпеt dequeued c.fA621.xinet dequeued ЭТО значит, .по команда Iprm выванаa непраВИЛЬF-lО. Система печатИ реl истрирvет происхожденне задаНIIЯ и имя пользователя. которыЙ послал el'O 113 печать, что УЧJlтывается соответствуюшим ПрОllессом IрrПl. Так. ПОЛЫОRaтеJLЬ ganh@bo\.llder не эквиватrентен ganh@sigi. 11 ни 009111-1 из них не может удалять задаtrnя дрyrоrо. Попытка уда..fJИТЬ С ПОЮШЪю КОМ8JШЫ Iprm активное задание может вызваТЬ проблемы на некоторых принтера:х (особенно на лззернъ/х, rne используется проrpаммное обеспечение TranScript фирмы Adobe). Проuесс фШ1ЬТр задания надлежаЩ1fМ образом не увепомляется о преРЫВ3ШШ. вследствие чеrо вся система со СКрИПО!!.1 останавливается, а 11роuеССфJfЛЬТР ПрОПО.'Iжзет блокировать порт прИНТt:ра. не давая ИСПО.lыовзть ero прУПi\1 проuессзм. Единственный способ испр.1.вить положение заключается в определении номеров проuессовфильтров с помошъю команды ps и уничтожении Юi вручную. Команда Ipe в такой СИ1)'аuии не rодllТСЯ. Б ПРJlнuипе. при зависании демона Ipd есть хорошее лекарство  перезаrpузка с,,-стемы, но это радикальная мера. Прежпе чем перезаrpужатъ систеJ\.{)', можно еще попробовать УН-И-ЧТОЖIIТЬ и перезапусn1ТЬ r.'13ВНЫЙ )кземпляр пемонз Ipd. Команда Ipc: внесение административных изменений Ко...шнда Ipe RhInO!I няет слеДУЮLШlе ФУНКЦlt 11: Вt<..Jlюченпс J.I ВЫЮ1ючение режима ПОСТ3IiОНКII S3Д;:1Ш.,й В очередь HiJ конкреПЛ11Й ПрIIНТСр; включение и выключение печати на конкретном принтере: . упалеНIfС всех заданий из очереди ПРllнтера: . перенесение задания в начало очереди принтера: упран.Jlение демоном Ipd: . получеНlIе Jlllформаuии о состоmllШ Пр11нтерз. Коша снстемз lIечаТII работает rладко. комаtШз (ре ф}lН.::uионируст просто ОТЛИЧНО. Стоп TOJlhKO .'lзхлебнyrься" фильтру 11.'111 nОЯRИТЬСSI flPYf'oii нс'ШачитеЛЫiОЙ пробле1е, как комаtШа Ipe полностью "сходит сума.' и наЧНliает. помимо Bcel'O "рочсrо, просто врать: иноrдз она J3ЯВЛЯет. что все испраnлено. тorna как на деле она и пальuем не ПОШС8е]11U13 При'\:одится 747 r ('080 23. ПеЧQТЬ 
устранять проблемы вручную и .паже отключать и включать питание оборудования, если печать идет }'Ж очеНЬ плохо. Команду Ipc нельзя использовать в сети; нужно зареrистрироваться на компьютере. к которому подключен манипулируемый принтер. Обычно команда работает в диалоrовом режиме, хотя возможен И разовый вызов путем включения интерактивноjil .пирективы в коман,nную строку lpe. В срепе .ре ,nопустимо применение слелуюших директив. h.lp [команда J Ес.iIИ директива help укаЗЪJвается без apl1rMeHToB. то выдается краткий перечень всех команд. которые можно использовать в среде lре. При наличии apfeHTa вьщается однострочное описание конкретной команды. .n8bl. лринтер di.1I8b18 прин.тер Эти команды слу...кат для включения и выключения режима орrанизаuии очере.nи заланий к указанному принтеру. Если постановка задания в очередь невозможна. пользователю вежливо сообшат об ЭТОМ. Указанные операции выполняются посредством установки или сброса соответствуюшеrо бита кода прав l!остула jvarjspooljпpuHтepjlock l!ЛЯ rpуnлъr. .tart принтер IItop ПрИНZ08р Директива start ВКJ1Ю""18ет. а дире....,.иВа stop  вык.пючает печать на указанном при.rrере. После вык..Т'lючения печати на принтере постановка заланий в очередь продолжается. однако вывод их на печать приостанавли вается до тех пор, пока печать не будет запущена вновь. Эти операuии выполняются посредством установки или сброса бита выполнеНlIЯ Щ1Я владельuа файла jvarjspooljпpuHтepjlock. Кроме Toro, указанные l!ирективы уничтожают и запускают соответствуюшие демоны для прmперз. Получив .пирективу stop, система печати сначала завершает активное задание и толъко после этоrо выключает печать. abort принтер Директива аЬо" работает так же, как stop. но при ЭТОМ не завершается активное задаНlIе. После возобноRЛСНИЯ печаn! задание будет печататься с caMoro начала down принтер сообщеffi.1е up лринтер Эти диреJ<..iИВЫ влияют и на орrанизвuию очереди. и на печать. Они используются в случае серьезной поломки принтера и необходи-мости отключения ero на длительный период времени. Пара метр сообщеl/lIе А директиве down может иметь произнолъную длину (в предела.х одной CТPOKJ.t) и не должен заключаться в кавычки. Это сообшение помещается в фаЙ#1 /\'ar/spool/пpUflтep/statu5 принтера и 8Ь1дается всем полЬ.зователям, которые запускают команду Ipq Как правило. сообщениr- содержит краткое разъясне ние ПРJrчины выхода Прlfнтера из строя и информаllИЮ о том, коrда он вновь начнет работать. Действие пиректины пр обратно деЙствию директивы dOWll cl84n принтер 748 Часть 111 РаЗtюе 
Эта .пиректива упаляет из очереди к ПрИRТеру все задания, включая активное. Поскольку .nемон печати для данной очереди все равно бу.nет содержать ссьтки на файлы текушеro задания, то оно булет завершено. topq принтер Идэалания topq принтер имяпольэоsателя Первая директива [ОIИI перемешает в начало очереди печаm указанное задание, а вторая  все задания. принадлежащие полъзователю uмяпользо вате.ЛJl. r.8tart принтер Данная директива используется для перезапуска демона печати, который таинственным образом "скончался" . О том. что демон "мертв", можно узнать, коrда команда Ipq сообшит: "No daemon present". На первый взrляд может показаться, что .nействие .пирективы restart аНaJJОrично действию последова телыюсти директив slop/start, одНВКО это не так: если ПРОДОЛЖВет работать фильтр принтера. то с помощью директивы reslart перезалустить принтер нельзя. .tatu. принтер Эта директива сообшит следуюшие све.nения об указанном принтере: ставятся ли задания в очередъ к нему, включена ли печать. сколько заданий СТОИi в очереди, каково состояние демона данноrо принтера. Если в очереди зала ний нет. появится нечто вроде lpc> 8tatu8 C8r cer: queuing i9 enabled рriлtl.лg 19 елаblеd по entr1es по daemon present Факт отсутствия демона сам по себе не является причиной для беспокойства; если очередь пуста, .nемом принтера "исчезает" и запускается вновь rлавнъrм экземпляром демоНа Ipd толъко при постановке в очерель HOBoro задаНИЯ. Файл /etc/printcap Файл /еlс/рпnlсар RВЛяется основной базой данных ВSDсистемы печати. На принтер можно передавать задания только в том случае, если он описан в этом фallле. ДЛя файла /elc/pnnlcap используется тот же формат, что и для файлов /еlс/teпnсар и /elc/remote. Каждый элемент начинается СО списка имен nринтера, разделенных вертикальной чертой ф. Затем следует ряд параметров конфиryрации, разделенных двоеточиями. Каждый параметр имеет вид JO?cmpOKa или хх#число, rде хх  двухсимвольное имя параметра, а строка и число  присваиваемые ему значения. Если никакоrо значения не присваивается. значит, переменная является булевой и ее присутствие означает 'Iистина". Dопускаются пустъте операторы: два двоеточия, стоящих рядом. PeKOMeH дуется начинать и заканчивать КaжпyIO строку nвоеточием, чтобы впоследсТ вии леrче бьLТТО вносить изменения. Комментарии в файле /etcjprintcap r лава 23 Печоть 749 
должны ннч-инаться со знзка решстки (.#). ":)лемснт может состоять 1.11. нескольких строк. причем строки, ]а которыми слепуют строки ПРОДОЛЖСIIIIЯ, должны заканч-иваться обрапюй косой чертой. Строки прополжения в uелt1); повышения наrЛЯnJlОСТИ текста проrpаммы обычно размешаются с некоторым CnBJ.lrOM по отношению к первой ПОЗИUШf. В качестве иллюстраШfИ к описанию синтаксиса файлз jetcjprintcap na.!JJlM небольшой при мер. Более ПОЛНЫй ПРllмер приведен ниже. после ОПИСШIШ! переменныx файла printcap . HP LaserJet. 5N remot.e printcap_ СБ Department. anchorlj t сес Il5б I La.serJet 5М in сес: lab: \ : lp=.1var/5pool/lpd./Bnchorlj / _ null: \ : sd /var:/9pool/lpd/anchorlJ: \ : lf""-/var/ adm/lpderrs: \ : ,['W :mxlto; rrn<=алсhоl..: rp.=.anchor 1 j: ИJ первой строкн вндно. 'ПО cel:". anctlOrlJ. 156 и LoserJet 5М in сес lab  это )КВlIвалентныс имена одноro принтера. Данные имена представляют собой хорuшо известные сокрашения. номер комнаты, R которой на.\:одJIТСЯ принтер. н ero полное название. Принтерам можно ПРИСВdИRaТЬ CI.:QJlbKO У1'ОЦНО имен. но обязательно следует указывать MltHHM'1>1 три формы OCHoBHoro имени. СQlo,:рашенн1U (трнчетыре символа. которые упобно В80.'lИТЬ, нпример [-I':'r): полную (ИМJI 1(0МlIыотра 11 ПН1 "рИlпера. например .anchor 1 j); . описательную (lIрочая информаUI1Я, liiшри!t.lер LW P!us in ,::r labI. СлеЛУЮШllе .аве ('троки l-taшеl О Прllме.ра солержзт установки конфиr'''Р:I ШНf дпя устройства с указанным И:'\-Iенем Ор). Кitта.поrа спулинrа (зd) Н журналыюrо файла (O Последняя CTpOK Оllрелсляет парi.\метры соединения с прннтером. в хаде KOToporo осуществляется заПИСЬСЧИТЫl!аНJ1е (с....)' максималъный размер фаила (тх. в данном случае ра'lмер не оrpаннчсн). liМЯ упаленноrо компьютера (::-т) н имя УД<L'lенноrо IIршпера (rp). Залания. перепанные в снсте"')' печати бсз KOIIKpeTHoro пункта на_шаче ния, направляются на первый ПрИlIтер. среД(.1 указанных имен котороro есть "Ip" . Имя "lp" неЛЬ"lЯ нсполышпьь в ...ачестне ОСНОВI-юrо ш,-rеНIf принтеРil_ поскольку замена стзндартнOI.О rlrHHTcpa 8 лом СЧ.Чi1С булет затрупнеНi!. Переменные базы данных printcap Высш..'"Ие "алаптаШ.IOНllые способflОСТИ" системы печатн БSD в знаtlll телыюй степеl1И обусловлены особеННОСТЯ!l.пt файла printcap. Персменные базы данных printcap om1c-аны на СООТ8етствуюшей mапстраниuе руковолстна. а Здесь мы paccMoтplfM ЛIIШЬ Н311более часто нсполь.lуемые переменные. Они приведены в табл. 232. Бсе элементы lаписи printcap должны оБЯЗ8телы-ю 8I011Очать абсолютные имена буферноrо каталоrа (sd). журнальнш'о файла ошибок (1 f) н устройства печати (1 р). ЕСJТИ У вас современный ПрННТСр, то следует указать. что этот прннтер аткрыт Ш1Я заПИСII (,1 чтения (rw). чтобы он Mor посылать сообшения о своем статусе н ошибках компыатеру. 750 Часть 111. Розное 
Таблица 23.2 Часто J.1спользуемые nеременные проrРОММ"1 рпп1сор Пе еменноя Тил Назначение Пример sd C.lpoKa KaTa.JlOr СПУЛИНП sd=;/var/5pool/lpdihowler J w ,! строка Журнальный фам lf:>o/var/lo'J/1pJ: ошибок lp строка И мя ycтpoCТ8a lp"/dev/lpO а! строка Файл ):ЧСТИЫХ af/usr! adrn/lpr .acct: записей строка Имя удапеннOl"О rm"'-oeast .xoJ: .com компьютера ер строка Имя уда.JIСННШU rp-=howlerlw прннтсра of строка ВЫХОДIIОЙ фи..'1ьтр of=-/usr/ libexec/ lpr/ lpf if "'Т'ока Входной фЮI ьтр  f=;/usr I зЬinl st.ylascii чнс.ао МаксимW1ЬНО :nxtO .доI1УСТи.'4Ы объем файла sh булево OrMeH3 nеl.lати sh ЗНВ"IСНJ1С "JзroJJО8КОВ ПеремвннаR sd: буферный католаr у Каж.дО....О nринтерOl полжен бьrrь свой буферllЫЙ КiПа..Т"lШ-. Все буферные каТaJlOПI полжны 1-lа.,ХОШПЪС)l в одном ро.:пrrеЛЬСF\ОМ KaTaJlOre (обычно по j\'arjspool) и иметь Имеl-la. С08Пa.::Ltlюшие с ПОЛНЫМИ именами обслv:,+,,"Иваемьrx ими ПрИlIтеров I_В нашем примерс ar;,chorlj) Буферны-й каталоr необходиr...t даже в том случае. если описываемьJ'Й принтер rюnключен к друrому компьютеру: зздаl-IIIЯ IШХо.дятся на локальном КОМПЬЮТtре до тех пор. Iюка ОЮ1 не будyr перt:llаны на печать. При ннстаЮIЯЦИИ 1-1080rО ПрШJТера необходимо созлать буферныЙ каталоr врУЧl-lУЮ и назначить ему код прав ДОСТ):IIЗ 775. И А качестве владелыli). и в качестве rpуппы JЯ 3Toro каТзлоr должен быть vказан поль.юватель dаСШOll Буферный KtlTa.rlOr для принтера ВКllючает также два стаТУСJlЫХ фаЙJlа: lock и status. Файл status содержит OllHOcтpoLlНoe Оllllсание состояния принтера. Эту CTpOIl.'Y формирует демон Ipd 11 I,споль.зует команда Ipq_ НЮlшчеllне файла lock -заключается в ТОМ. чтобы избежать аКТНDизаЦИII het:KO-ЧЬКII\: :жземrlJlЯРО8 ДеМона Ipd в одной очерели, кроме Toro, в !-Iем хранится информаuия об 3KTlfНIIOM заданИИ Проrpаммз lpe в проuессе управлеllИЯ спулинrО\i и печатью на ПРI'Jlпере и-зменяет код прав доступа к файлу lock ПвременнаR If: журнальный файл ОшнБКII. сообшеНl1Я о которых ПРlfсылаются фнльтра"-ш пе1.J3ТИ. реrист рнр\ются 8 ф.шлс. у...:юанном 8 данноЙ переменноЙ_ один ЖУРН3ЛЫiЫf1 фаh1 ошибок может KO.T"I.'lC...-ТI1IiНО J.IСПОЛЬЗОватъся bce"-fИ принтерами и размешаться ,.пе yrollHo. При СUJД311ИII ЗЗlНlСИ JTOI"O файла vка.lЫВ8ТСЯ имя принтера"lIа РУШlпеля" В привелеmЮ"--t Rыше примере ЖУРI-tалЬНЫji! файл  j\'arjadm/lpd errs. Журна.-ттьные файлы должны быть паже для УДaJlеl-IНЫ1\ принтеров  а вдруr возникнет проблема. каСtlюшаяся свя]и с удаленным компьютеРОF\{! o Бо.lее 1l0dро6ную lJНфОрJ.lаlUlО о :ЖТР"tL1bJIЫХ файлах .4>fО.ЖНО flайти в ?.10ве 11- r l'1a80 23 Печать 751 
Имейте в ВИДУ. что пемон Ipd посылает сообшения об ошибках в систему Syslog. Некоторые фильтры также направляют свои сообшения об ошибках в систему Syslog. никак не реrистрируя их в определенном в базе n8HHыx рппtсар журналъном файле. При возникновении проблем нужно проперять оба названных файла. Переменноя Ip: нмя уcrройсла Параметр uмя..УстРQйства должен задаваться только для лока.iъноrо принтера. Лля ЛОК3..Thlюrо принтера. подключенноrо через после.nовательнътЙ. лараллелbtlЫЙ или SСSIпорт, эm файл в каталоrе /dev. с помоЩЬЮ KOToporo происходит обрашение к данному принтеру. Если в базе данных printcap указан ceTeBojil принтер (т.е. пршпс:р в сети, а не просто "удаленный"; СМ. параrpаф 23.8), m в перемеиной lp должен быть задан фиктивный (dUЛ1mу) файл (важен факт существования этоrо файла, но в качестве файла устройства он не применястся). Лроrpамма Ipd исполъзует данные файла блокировки, соответствуюшеrо указанному в переменной lp устройству, чтобы определить. используется принтер или нет. Даже ec..тm: .nосryn к принтеру осуществляется по сетевш.i}.' соединению, переменная lp обязателъно должна бытъ задана. НеоБХОШI\1О указать }"НИКa.тJЫ-lЪ/Й файл, который существует и расположен на лока..'lьном диске. Переменная rw: режИМ открытия устройства Если принтер может ПОСЬU1ать информаuию о своем состоянии компью теру через свой файл устройства, то необходимо, чтобы бьша определена булева переменная (rw), потому что ЭТО устройство должно быть открыто как для записи, так и для чтения. Режим чтениязаписИ полезеи. поскольку позволяет сообшать данные об учетной записи и ста1Усе. поэто!'.f)' некоторые фильтры требуют установления тaKoro режима. Перемвнноя af: учетный фойл Если вы намереваетесь взимать плату за пользование принтером ИЛИ просто хотите учитывать объем информаuии, распечатываемой ПОЛЪЗ0вателя ми. следует включить учет по данному принтеру. указав учетный файл. учетныiI файл нужно задавать только На том КО1.mьютере, к которому принтер по.nюrючен физичеCJ...'"И. так как учетные записи делаются только ПОС!1С: реалъноrо вывода задания на печать. Для обработки учетной информanии используется команда рас. Обычно учетный файл ДaННЪD< принтера называется /var/adm/пpиHтepacct. в ЭТОТ файл записывается количество странип. напечатанных по каждому зanанию (обычно не соответствуюшее действителъности). имя компьютера, с KOToporo бьrло запущено задание, и имя владелъuа зanания. Одной из обязанностей входноrо фильтра принтера является rенерапия учетных записей. При использовании РоstSсriрtпринтеров БОобте не стоит доверять счетчику страниц, если только фильтр Не запрашивает показаНИЯ счетчика страниu до и после пеЧати. Перемвнная mx: предельные размеры файлов Переменная тх ИСПО:JЬЗУется для задания препелъноrо размера файла. посьтаемотО на печать. Однако для большинства принтеров (кроме построч нопечатаюших) задавать эту веJПfЧИН)' бессмысленно. При печати неболъших PostScrip[ и РСLфайлов MOryт быть выданы сотни никому не Н)"...кны); странИll. Это несоответствие между размером файла и количеством страниu 752 ЧОСТь 111 Розное 
хорошо вывляетсяя на прзктике, Korna студенты пытаются печатать скомпи лированные версии двоичных файлов, содержащих разработанные ими проrpаммы Если все ПОЛhЗооатели обладают постаточной квалифИК8uией, не стоит обрашатъся к это'м)' средству. У некоторых пользователей имеюТся вполне заКОННblе причины для печати больших файлов. В HeKoTopblX системах значение переменной тх. устанавливаемое по умолчанию, от':IИЧНО от нуля (О означает отсутствие Qrpаничений), и для Toro, чтобы иметь 1IОЗМОЖНОСТЬ ВЫВОШlть на печать болъumе задания. необходимо явно указать п::-::#О). OTMenfМ, что переменная l'i:Х является числовой, поэтому не:1hЗЯ указывать iflX""O. Если пействительно требуется знать, какое количество страниu МОТ)'Т печатать ЛЮДИ, необходимо использовать заказные проrpаммЪJфИЛЬТРЫ или лерейти к системе LРRлg. Переменные rm 101 rp: удаленный доступ В болъшинстве сп:учаев к принтеру нужно обраШ8ТЬСЯ не с одноrо. а с несколЪких компьютеров сети. Даже если принтер  сетевое устройство, следует выбрать OllllH компъютер и назначить ero ответствею.rьп.1 за связь с принтером. Все остальные t.iaumны должны пересЪJ;ЖИТЬ задания на этот коmьютер. Это позволяет демону Ipd создавать едиН)lО очередь заданий, что исключает случаи конфлm.."Тов меЖдУ компьютерами за право управления принтером. Кроме Toro. если печать не работает, вы будете знать, r.ne искать причину. В фаЙ.1е printcap "удаленноrо" компьютера (компьютера, не имеюшеrо непосрепственноrо соединения спринтером) присутствует rpуnпа ИЗ пвух переменны,' rne указывается, куда посьтать задание (как в примере. рассмотренном выше). В переменной rrп определяется компьютер. на который ,nолжны направ.1ЯТЬС.я задания. а переменной rp задается имя принтера на зтом компъютере. Ниже ПрОllесс упаленной печати рассмотрен более подроб но и ПрОЮlпюстрирован на конкретных примерах. На первый взrлид, файл /etc/printcap  суший кошмар дJlИ администра тора, потому что Э:Iементы. в которых описывается локалънъrA принтер, ОТJillчаются от элементов, r.ne описывается принтер удаленнъrA. Выход из этой ситуаuии может быть следуюши-м: нужно сделать имена ДJlЯ принтеров разныfИ на локальном и удаленном коt.mьютерах. например howlerlwlocal и ho\\'lerI",'. Такая конфиryрация делает притер howlerlw "удаленньп..f" .паже для Toro компьютера, к которому он ПОдюlюцен, но. тем не Менее, все отлично работает. Однако если вы хотите использовать коман.ду Iре, С.:1едует обрашаться к ПРИlперу howlerlwlocal. Переменные of, If, nf: фильтры печати Филътры вьmолняют це.1ЫЙ ряд функций Фильтр печати, заданныjil по умолчанию (обычно это /usrjllb/lpf), лроизводит обработку управляюш"" символов в подлежашем печати тексте и, если требуется. rенерирует учетную запись. На заре эпохи UN IX на ФШIЪТры часто ВОЗ.тr8rзлись обязанноспt по выполнению раЗJIИЧНЪJX функций формаПIРОвания, но сейчас эта практика уже не так распространена, как раньше. Единственные специальные фильтры, с которыми вам I возможно, придется иметь лело,  ЗТО фыьтры для обрабarки выхолной информаuии проrpаммы troff. выходной ИНфОрМ8UИИ систе,.,,,ы ТеХ и пампов зкрана. Если у вас только TeKCToBLJj.t принтер, вообще забудьте о том, что такое фильтры. Если у вас лазерный принтер. наборное устройство или rpафопо строитель, то необходимые фильтры. как правило, имеются в комплекте r лшю 23 Печоть 753 
поставки проrpаммноrо обеспечения. Если вам Н} жно конфиrypИРОО<lТЬ принтер, для KOToporo у вас нет проrpаммных средсти, придется внимательно изучить информаuию о различных филътрах. привеДf:ННУЮ я этой rлаве В противном случае лучше про пустить ЭТИ сведения и жить 8 блаженном неведении. Фильтры  это, как правило, просто сценарии sllell. которые Rызывают ряд конвертируюших проrpамм Проrpаммафилътр .nолжtiа 11ринимать 1aд.a ние печати со CTaндapтHoro 8ВOlШ., конвертироватъ ЭТО Jадание 8 формат. поддерживаемый данным устройством, и посылать результат на стандартный вывод. Если ПрИ въmолнен:ии проrpаммы Ipr ПОЛЬЗQват(:ль не ук8.3ал фИЛЬТР. то будет исполъзоваться либо входноЙ фильтр, либо выходной. Эти имена нелыя назвать удачными. ибо оба фильтра на самом деле служат ll.ЛSI ПОСЫЛh:1-f данных принтеру. Korna в файле /elc/printcap присутстнует переменная i f. но нет пере мен ной of I устройство будет открываться один раз ll.ЛЯ .::аждоro задания, а фильтр будет посылать одно задание на принтер и завершать работу. Если есть выходной филътр. но нет входноrо, то демон Ipd однократно откроет устройство и вызовет проrpаммуфилыр для посыJlии сраз} всех заданий, стоящих в очереди. Это срепство поЛезно для тех устройств. установление соединения С которыми Jанимает мнш"о времени; но такис. однако. встречаЮ'Тся редко. Ilри наличии в файле /еtсjРПlltсар переменных ....  и of выходноЙ фИЛЬТр будет использован для передаЧ1f cTpamfllbl заrОJ10ВК3 (и будет БЫlВ.IН даже 8 том случае. если печать JafОЛОВКОВ отключена). а вхопноЙ бупе'l нызван ll.ЛЯ передачи задания. Такая комБИН3ШfЯ слишком сложна ШJЯ простых смертных. по::лому лучше ее избе raть.. Если приходится создавать новые фильтры. ориентируf1тесь на входные фильтры: их леrче отлаживать. Входные фильтры вызываются С ;\IНШ"ОЧlfСЛСННЫМИ apryMcmЗMH. которые в к8.Ж.дОй реализации свои. Наиболее заСЛУЖJ.lваюшие вниманпя IП HliX  имя пользователя, имя компьютера и имя учетнOI'О файла. Ecmf вы желаете орrанизовать учет работы принтера, 8.хоnной фюrътр .полжен reнер'Нровать учетные записи и добавлять их к учетному файлу. Еслн необходимо оrpаничить доступ к принтеру (нarlример. запреТIfТЬ поступ пользователю guest на всех компыО'rерах), то эту обязанность тоже ну..кно В01ЛОЖИТЬ на входной фильтр. посколъку у пемона Ipd нет встроенных cpeдcТl" оrpаничеНIIЯ доступа отдельных пользователей к системе печаТи Чтобы проиллюстрировать использов3!ше фильтров, paccMarpllM очень простой прпмер С входным ФIlЛЬТром. 3тот пример  ll.ЛЯ РоstSсriрtприн тера, подключеIO-lоrо через последовательный порт к ЛОf(алъному компьютеру: '! /Ьiп/сзh E /usr/local/bJ..n/textps $'" I /usr/local/bJ..n/psreverse Поскольку принтер ПОЛКЛЮ1lен последовательно. .nемон Ipd открывает зто устройство С соответствуюшими режнмамн соrласно укаЗ3НШIМ R файле /etc/printcap. Первой вызывается проrpамма Lextps. ..::оторая 8на. r ШJlIрует вхо.nные .nанные и определяет их формат. [СЛII это не формат POSLScript (который поддерживает наш принтер), данные конвертируются в этот формат. Указанная протрамма берет все переданные ей tlрryменты фильтра ($*) 1 на основе данной информаЦИIl должна rенсрировать учетные записи. Вторая 754 Чость 111. РОЗt-Iое 
nporpaMMa. psreverse. изменяет порядок следования страниu на обратный, чтобы они ВЫХО'nИJ(1i в соответствующей последовательности. Переменные базы данных printcap для последовательных устройств Следуюшие несколько переменных полезнЪ1 только для Лока.'1Ы-[ЫХ при-нтеров, попключаемьrx к последоватrъному порту. Если вы устанаRЛИ ваете сетевой принтер. остальную часть 3Toro параrpафа можете не ч'пать. Вместо этоrо откройте и нструкuию. найдите спеuификаuии, касаюшиеся линии связи, и изучите их. С поюшью переменныx файла printcap можно КОН1'JIOJlИрОвать пара метры связи трех типов: скорость в бодах. бlПЫ установки флаrов и биты локальноrо режима_ Переменная br: скорость переДОЧI<1 в бодах Если принтер подключен к последовательному порту, понадобится перемеШ-iая Ь!". Последовательный принтер ничем не отличается ar .nруrих аппаратных срелств: ДЛИ нормзльноrо функuионироваНI-IЯ следует соrласовать набор коммуникаШfШIНЫХ параметров. определЯЮШИХ юаимодейстние ПрIШ тера и компьютера. R чаСТI-iОСТlf скорость переда'lИ. четность It .1011tKY упраяления пarоками КонфнryраUЮI принтера имеет MHoro обшеrо с конфиrурацией терминала. Обзор последовательных устроЙств '! кабе.1ЫIЫХ систем приведен в rлаве 7. В файле printcap можно задавать три пзрамстра- скорость передачи в болах. биты флаrов и биты локзльноrо режима. Скорость передачи в бодал  целое число. Поскольку это числовое значение. для ero установки использу етея знаК решетки (#) Например, brlf9600 ycтaнa8..lllffiaeт скорость перепачи 9600 бит/с. Перемвнные fc н f5: биты флаrов Значения битов фЛЮ'ОR и битов локальноrо режима (см. ниже)  TO)l<.e целые числа. 1.10 установкой кажлш-о бит TaKoro 'lIсла задается конкретныЙ пара метр Парта. 1LfJSl праrшлыlc.1йй устаНОRКИ этих парзметров необходимо найти ОПИС8lНfе значсний каждоro бнта на mапстраниuе. посвяшеннои драйверу tty (раздел 4, а не 1) и определить. значения каких битов следует установить или сбросить. Значения надлеЖИТ корректировать только на том компьютере. к которому ПО'nКЛЮ{lен принтер. Существуют дНе перемеllные. каторые можно использовать для KoppeK тировки битов флаrов: fc и f5. ПеремеНН8Я fc (Лзg clear  сброс флзrа) залает биты. "аторые нужно выключить, а fs (flag seL  установка флаrа)  биты. которые нужно ВI01ючить. Биты. не У"аззtiliые ни в одной И3 ЭТИ'\: переменных. ПРllнимают значения. залэнныe по умолчанию. Одновременно устанавливать и сбрасыn.ать бит бессмысленно (но раlвлечения ради можно попробовать). Подробно назначение tшж.nоrо бита флаrов описано на mппстраН1tпе драйвера tty_ Переменные xs и ХС: бl<1ТЫ локальноrо реЖl<1ма Биты локальнш'о режи-ма полезны только для построчнопечатающи'( принтеров, попключаемых к последовательному порту. Переменн-ые хс И :<5 убирают и устанавливают инпинидузльные биты режима во MHoroM aHa..Т}o rИЧIfО тому. как перемеllные fc и fs убирают и усrctнаВЛlIвают биты флаrов r лова 2З. Печоть 755 
Различие между битами флаrО1l и битами локалъноrо режима состоит в том. что последние предназначены JlЛЯ конфиryраuии последовательноrо драй-8ера. а первые  ДЛЯ реалъноrо канала связи. Болъшая часть битов режима предназначена для использования в интерактивных видеотерминалах и не относится к конфиrypированию принтера. Расширения базы данных printcap у связки проrpамм Iprflpd есть одна прекрасная особанность: они не 06рашают внимания на иестандартные переменные printcap. Во мноrи:x случаях, Korдa принтеру нужно больше информации о J(онфиrypаuии, чем имеется в базовой системе, можно определять в файле printcap дополнитель ные переменные, которые будут исполъзоваться фильтрами принтера. Например. для BblxonHoro филътра ceTeвoro принтера требуется сетевое имя этоrо устройства. В элемент файла printcap для этоrо принтера можно .nобавить следующую запись: :nn""la.ser. colorado. edu: \ Использованне TaKoro рода расширений позволяет хранитъ всю инфор маuию о конфюураuии приН/ера в одном, удобном Д11Я вас месте. Если вы вдрут увидите в файле prlntcap переменные, не упомянутые нв mапстранипе, поишите их значения в докyr..fентаuии на драйверы принтера. В нашей сети .nокументируется физическое местоположение каждоrо прпнтера. Наши прпнтеры имеют записи типа :lo-Room 423, Enqineerin9 bui1din9:\ Мы используем сuенарпя, которые отслеживают наличие бумаrи и запас тонера в этих принтерах и при необходимости посылают в rpynпу техниче cKoro обслуживания сообшения типа "Добавьте бума!}' в принтер. находя- шийся в комнате 423 Инженерноrо корпуса". За более подробной информапией о мониторинre сетевых устройств обратитесь к rлаве 20. Печать не на принтеры Недавно мы рассматривали случай "творческоrо неправилъноrо исполь- зования", о котором сообшил Шон Маккрири (Sеап McCrea!}'), копт система печати BSD применялась для зarpузки в буфер музыкальных файлов в формате МР3, в результате чеrо получзлся своеобразный музыкальный автомат, Оставляя в стороне этическую сторону дела, можно сказать, что это  прекрасная характеристика rибкости системы печати Звлись в файле рriпtсар выrлJlдИТ примерно так: mp3 10са1; , : зd""/vаrlsрооl/lрd/mр310саl: \ : 1f"'/var /109/ 1pderrs: \ ; if"/usr/10ca1/1ib/mp3play: \ : lp""/dev/nu11: \ :rnxlto: Настоящий МР3плейер. amp, по умолчанию не ЧИтает данные из потока stdln, поэтому сценарий, состояший из одной строки, называемыЙ mp3pl.y, связывает ero с системой печати: f! Ibin/sh ехес /usr/1ocal/bin/amp  756 Чость 111. Разное 
23.4. Печать в System У к сожалению, система -печати System V проектировалась без учета потребностей печати в сетях, и к НОВЫМ условиям работы адаптируется с трудом. Используюшие ее производите.ли внесли мноroчисленные изменения, ОДНИ из которых способствовали расширению ее функпионалъных 80ЗМQЖ  настей, в то время как назначение npyno: объяснить трудно. Из числа рассматриваемых нами систем System V используют Solaris и HPUX. Однако обе сушественно ее модифииировали. Ниже будет paCCMOТ рена стarшaрТН8Я система с мноrочиспеннъtМI1 примечаниями, касаюшимися конкретных систем. Обзор Пользователь, желаюшнй ЧТО"Пfб}дъ вывести на печать, должен ИСПОЛЬ зоваТЬ либо команду Iр, либо команду, которая косвенно вызывает Iр. Команда Ip получает ВХОДНОЙ файл и помешает ero в буферном каталоrе, COOTBeтCT вующе" пункту назначения этой инфармаuии. Демон Ipsched определяет. коrда и rде должен быть распечатан конкретный файл, а затем выполняет интерфейсную проrpамму. которая форматирует данные и выводит их на заданНЫЙ принтер. Крап<ое описание КОМ8JЩ системЫ печати System V пр"ведено в табл. 23.3. Таблице 23.3. Команды печати АТТсистемы Кома нде Местон ';х ождение фу ИК Ц ИЯ accept /u... /аЫа Запуск приема заданий JUIЯ данноro устройства сакеl fbln OrMCH8 поставлсIOtоl'O в очередь или печатае MOro задании dJsabIe fblB ВblJ(J]]()ЧСКИС псчвти на устройстве  еnaЫе fbln Включение печати на устройстве  Ip fbln Постановка зaдaюIЯ в очередь на печать е lpadmln /u.../sbl. КонфI01'PИиия снстем:ы печати " Ipmove /.п/аЫв Перемешение задания с одноro устройства на   дpyroe Ip.cbed /.... /l1b Вызов демонаnлaнировшика прИНТера lp.hul /usr/sЫa Отключение демона Ipscbed lр.ы fbln ВЫВОД информаuии о состои:нии снстемы re]«1 /.... /аbIп Прекрашение приемв зад8.НИЙ ШlЯ дакното уетро йства lрШler /.or /вbIп Управление фильтрами печвтн Ipfоrп1S /u.../sЫa Управление ИСПОЛЬ30вaIO!.С'Ы предпечвткых , форм  Iршеrs /.Br/"". Управление прноритетвми очереди о '" IPiel fbi. Считывание значений параметров конфиrypа ШUl ( P 8et jb ln МОДИ ФlШИPO вание п араметро в кон ф.wypв.ции Ipal! fbi. МОДИфИШiрование зада.н..и.й в очереди  Ipr fbi. Обеспеченне ПОД!lсрж.к.и ВSDпечати о.. lpa.. /usr/.bin Анализ реrнC1]Jall.ИОННЫХ записей :I: IpreDce /uвфЬШ Установка минимальноro прноритета занято сти ШIЯ пр инте р а r лова 23. Печать 757 
Пункты назначения и классы Пункт назначения имеет нмя. которое может состоять максимум из J4 букв. uифр и знаков подчеркнвання. ПОМИМО имени, ШlЯ ПУI-Iкта назначения определяется rJринад;пежностъ к классам (классов может быть H\'!rl) или более)_ Пункт назначения, как правило,  принтер. но JTO не обязательно. Например. таковым может ЯВIIЯТЪСЯ обычный текстовый файл. в который различные полъзоватeJIИ rJOмещают СБОЮ информauию. Систем) печаrn можно использовать ДЛя предотвращения ситуаций 1 коrда два человека пытаются дополнить файл одновременно. Класс  это rpуппа ПУНКТQБ назначения, которые можно ооъеДIIНI1ТЬ по какомупнбо признак}'. Например. если два принтера стоят в одноЙ комнате. их можно отнести к одному классу. Демон Ipsched будет наrJравлять ВЫВОД. преДIазначенный для этоrо класса. на тот Иl двух принтеров, который свободен в данный момент. Имена кnaCCOB составляются по тем же правилам. r.rтo 50! имена ПУНКТОВ назначения. В остальной части rлавы вместо термина "IlYHJo..I назначения" чаще вcero используется слово "принтер". даже если пункт назначения принтером не ЯВJIяется.  Краткое описание команды Ip Команда Ip  это команда полыователъскоrо уровня. которая ПРJl"lеня ется для постановки дзю;ых 8 очередь на печать. Команда Ip помешает коп JlЮ подлежащих печаПl даниых (которые MOryт rюступать либо из именованных файлов, либо из CTaJЩapтнoro 8вода) в файл или в совокупность фаЙлов в буферном К8талоre. Буферный каталоr для пункта назначения обычно Jlмеет имя /vаr/sрооl/lр/requеst/пазн, rHe пазп  имя, под которым этот принтер или класс прmпeров известнЫ Команде Ip. Имя файлакопии имеет вид хаtI. rne п  идентификаuионныЙ номер задаt-ПfЯ. rJрисвоенный комаиnой Ip, а Х\:Х зависит от конкретной системы это имя файла служит Kal< полыователю  для иден-тнфикаuии залания. ТаК и системе печати  w!я внутренних uслеи. Да..lее мы будем нззынзть это имя .'идентификатором залаНI1Я". Если в вызове komaJ-ШЫ Ip указана опция d пупкт'iйзнаllеlilJ.Я. то входная информация ставится в очередь W!Я вывода на п}'''l(т'iOЗliачеIШЯ, rne п)'нктliа3lIачеНIJ.Я  принтер или клзсс. Если опuия d не указана, команда Ip использует в качестве имени устройства ввода значение переменноЙ среды LPDEST. если она установлена. Если последняя не установлена, комаl-lда Iр ставит данные в очередь для вывода на устройство. используемое по Y1>-fOЛчанию. если таковое зanано системным администратором, или ОТКЛОliлет запрос. если оно не задано. (УеТРОЙСТБО. IfсrlO.пъзуемое по }'f\.lOлчанию. можно задаТЬ комаlШОЙ Ipadmin d) В Solaris, если устройство. не выбираемое по умолчанию. УК<ПhlllаеТСJl КОМВНДОЙ Ipadmin d, то КОМo:lнпа Iр ишет файл  .p....irJ[e....s. файл /Nc/prinl е....s.сопf и. наконеи. службу Fеdепнеd Naтing Ser.'lce. как место наlначния. выбираемое по умолчанию. Дaдa. именно Federated Namiпg Servicc. Такова принятая в Sоlапs схема управ.l"[ения службами имен /etcjbosts, DNS, NlS, NIS+ и LDAP. Не пуraйтссь этоrо акронима; отдельные службы работают как обычно. 758 Чосн, 111 Разное 
Комонды Ipsched и Ipshul: запуск и останов печати Назначение демона Ipsched  rJO мере освоБОЖдения соответствуюшеrо устройства посылать на Печать файлы, помещенные 8 буферный i\3Ta.rlOr командой Ip_ Демон Ipsched заносит в файл (обычно fusrfspoolflpflog) нею информаuию обо всех обрабатываемых файлах и ошибках. Прн запуске демон Ipsched залисывает содержимое файла fusrfspoolflpflpg в файл fusrfspoolflpfoldlog и начпнает запись 8 HORbrl\ журнальный файл. Журнальный файл выrпядит примерно так: [hP] .....*. LP LOG: Jul б 12: 05 *..._-й-.., prl107 qarth pr1 Ju1 12: 10 pr1l2 scot t pr1 Jul 12:22 pr117 evi pr2 Ju1 12:22 pr1118 gart.h pr1 Ju1 12: 25 prl119 qa.rth pr1 Ju1 13:38 pr132 evi pr1 Ju1 13: 42 в первой колонке указывается И11ентификатор задания. Во второЙ  имя пользователя. пославшеrо задание на печать. В третьеЙ колонке задается принтер. на который было rJOслано задаt-Пfе. И, нзконеи. в последней колонке  время постановки задания в очере.nь. В СИстеме. ВЗЯТОЙ пля этоrо прнмера. имсются дна принтера  prl и pr2. которые ОТНосяТСЯ к классу pr. Лользователь garth во осех случаях УК3JЫВ;:I.Л конкретный принтер prl. поэтому ero задания посыпались именно туда, Пользователи 5cott и evi, наоборот. УI<aЗывали класс pr. поэтому их sа.Ш.iНИЯ посылались на первый свободный принтер этоrо ЮТ8СС8. Если нужно по какойлибо rJричине rJpepBaTb 8ыполнение демона Ipscl1ed (например. !I.lТЯ запуска КОМЗlщыlраdmiп). введите /usrflibflpshut Коша деt.шн Ipsched не работает. нихя.кие задания не печатаются. ,<отя МОЖНО ПРОДО.:1жать r!OcтaHOBKY lаданий в очередь с помощью коман.nы Ip. Задание, которое 8 момент останова демона печаталось, будет после ero Ilерезаnyска напечатано с начала, Чтобы Ilсрезапустнть демон Ipsched. ДОСТ8ТО'-1II0 просто инест", fusr flibflpsched. Файл fusrfspoolflpfSCHEDLOCK  это файл. который прелназначен ДЛЯ контроля за тем, чтобы работал только один экземпляр де-"'юнit Ipsched. Еслн выполнение демона Ipsched rJpepBaHo не с rlOМОШЫО КОМаНДЫ Ipshut, а ДРУП1МИ средствa./lilИ, то перед перезапуском демона файл SCHEDI..QCK обязательно нужно 'далить вручную, Команда Ipadmin: конфиryрирование среды печати Команда Ipadrnin НСПОJlьзуется для ИllфОрМИровання CHCTC!l.ibI печати о локальноЙ КОllфИТ)'раuии ПрШfтеров. Ее применяют для rJрисваивания И"-'IСII принтерам, IL"ТIЯ со'щания клаСС08 и для lадания прннтера, НСПОJ1ыуемOI'О по умолчанию. На самом деле эта команда только создает теКСТО8ые фаЙлы n KaTaJlOre fusr fspool/lp_ Но рядом с этим! файлами неплохо бы поместить знакомую нсем нам таб.rнrч')': "Руками не ТрOl'ать!". Друrимн словами, упомянутые фаitлы не нужно пытаться редаJ...'ТИРОВtIть непосредственно: они имеют жестко Зa!l:аНtlыil формат и поэтому их очень леrко повредить. РаlрабоРIИКИ Solans поставили перед собой uель обеспеЧИТh возможность парпллслыlOИ работы демона Ipsched и большинства команд админнстратор':! но, НiЗ наш rпrляд. эта сумасшедшая ндея неИЫПОЛlIима.  r лове 23. ПеЧОТh 759 
Большинство команд Ipadmin не MOryr работать одновременно с демоном Ipsched, поэтому прежде чем запускать команду Ipadmin. нужио а.....,.ивизироВаТъ команду Ipshut, чтобы прекратить работу демона Ipsched. Система сможет начать вывод заданий на принтер только после Toro, как ей будет сообшено о том. что этот принтер дocтyneH. Чтобы сделать доступным новый принтер, необходимо выполюпь следуюшую команду: . lu.rl.b1n/padlDin --рпринтер vус:rройс7'ВО ( .ПРИН7'ер J 8Ad'одель I 1ннтерфейс I [ С1<Ласс ... J [(  I b ) J (hP] rne принтер  ИМЯ принтера (как внyrреIOfее в системе орraнизRЦИИ очередей. так и на уровне пользовательских команд), а устройство  файл устройства для принтера. Имя принтера может включать буквы, uифры и знаки подчеркивания. Длина ero оrpаничена 14ю знаками. В качестве apryмeнтa устройство может задаваться любой файл. Обычно это СлецИальный файл в каталоre /dev. С ПОМОЩЬЮ флатов e, m и ! задается интерфейсная лроrpамма лринтера, которую должна ИСП0ЛЪ30вать система печати. Интерфейсная проrpамма отвечает за форматироваt-Пfе заданий, которые rJOС1УТ1ают иепосредственно Н8 принтер. Интерфейсные проrpаммы Syslem V аналоrичны фильтраМ снстемы BSD. Более подробную информацию можно найти в одном из следуюших параrpафов. Интерфейсную IIporpaMMY можно задать ОДlШМ из трех способов: enpиHтep В этом случае nрuнтер  имя существуюшеrо принтера. Этот метод задания интерфейсной проrpаммы полезен в том случае, если добавляется принтер, идентичный одному из уже имеюwихся. КОМВlШа Ipadmin создает копию интерфейсной проrpаммы с новым именем пункта назначения. mмодель Здесь модель  это тип устройства, ,W1я KOTOporo в снстеме имеется интерфейсная проrpаММ8. Информаuия о том, какие модели rlOдlIерживает система, содержится в ДОI<..'УМентаuии и D каталоrе /usr/spoolflp/model. Если файл модели задан, команда Ipadmin СОЗдаст КОIIИЮ файла /usr/sрооl/lр/mоdеl/модель в каТ8Лоre /usr /sрооl/lр/iпtеrfасе/ пYH"т назначенШi. fUHmep В этой опuи-и интерфейс является полным путевым именем про фейе rpаммы, которая будет служить ннтерфейсным сценарием. Боль шинство версий команды Ipadmin делает копию mrrерфейсной nporpaMMbJ, поэтому если вы захотите измеmrrъ ее после nporoHa Команды Ipad01il1. нужно будет менять копию в каталоrе /usr/spoolflp/interfaee, а ие свой оритин8Л. В HP UX реализована возможность определять ПрOlраммы. которые возвращают информаuию о состоянии очерели и отменяют зa.nания rJечати. Их можно задавать как интерфейсные сuенарии, но при .этом используются дрyrие префиксы ОПШ1й (oc01 и -0501 задают соответственно сuенарий отмены и сцеиарий выдачи статуса). Помимо этих обязательных флаrов, rJрИ вызове команды Ipad01in можно задавать следующие опции; -рпрuнтерсообщает проrpамме Ip8dmin, к какому nрuнтеру или rJринтерам следует обрашатьсв. Комбинируйте этот флвr с друтими опциями, чтобы изменить принтер. СКЛQСС rде класс  имя ютасса. к которому npИНaI1Лежит rJринтер. Для ОДНоrо принтера можно задать сколы<о утодно ютассов. Если указан 760 ЧОСТЬ 111. Розное 
несушествуюшиЙ' класс. он будет создан. Имя класса может включать не более чем 14 сн,,"mолов. Хt1ринтерУдаляет указанный принтер И3 системы печати Если принтер ЯRЛяется представителем ueпoro класса принтеров. удалЯЮТСЯ все принтеры этоrо класса. Ни принтер. ни класс не MOryr быть удалены. если уже выполняют задаЮ1е из очереди на печать. Если поставленные В очередь зa.nания мешают удалить принтер, исполь зуйте команду reJecl, чтобы препотвратwrъ заrpузку в буфера новых заданий. Затем примените команды Iprnove и сапее) W1я упаления сушествуюlШfХ заданий. Если komal-Ш8 Ipadmin -х попрежнему t-Ie хочет удалять принтер, последуйте совету. rJриведенному В пара rpафе "Интерфейсные лроrpаммы" зтой rлавы. rlCласс Удаляет принтер из зa.nаниоrо класса, но не из системы печати. Если указанНЫЙ принтер является единствеЮiЫМ представителем класса. этот класс удаляется. Команда Ip не будет принимать заявки на новый лринтер, пока ей не поступит указание это делать (от команды aecept, см. ниже соответствуюший раздел). Если флаr применим к нескольким объектам, ТО ВМесто одиночноro объекта можно задавать список объе....,.ов (в кавычках, через запятую). Напрнмер, команда , /uar/llbin/lpadlrin p"howll11rl",ralph1el,," cenqprinter8 введет принтеры howlerlw и ralphielw в I018СС eng принтерав. Дрyrие команды печати также MOryr относиться сразу ко мноrим принтерам, ес..rlИ это необходимо. Флаm, которые используются при вызове rJporpaMMbJ Ipadmin. лсречислены в табл. 23.4. Тоблице 23.4. Фnоrlil комонды Ipadmin Флоr ФуНК4ИЯ 3ааается принтер. к которому ОТНОСЯТСЯ 8се после.дуюШ5lе опция Пункт назначения иазн определяется как используемый по умолчанию Пункт назнзчеIOlЯ fiQ3H удаляется из системы печати Принтер lIринтер добавляется к классу класс Принтер принтер удаляется из класса ICЛQСС Интерфейсная проrpам.ма JJ.ЛЯ принтера принтер копируется из пункта назначения назн iинтерфейс В качестве интерфейсной проrpаммы: для при.нтера пpuнтep задается интерфейс l1lМодсль И нтерфеАсная проrpзмма llЛЯ модели .J.tодель назначается в качестве интерфейсной проrpаммы JJ.ЛЯ приН1'tра прlJнтер b Определяется, что принmер подключен алnapатно I Определяется, что "ринтер  реrистрациокный терминал l "файл Определяется, что выходные данны.е, посылаемые на npиктер пpuнтep, должны такжс налраалятъся в файл D "описание" Задаст ClpОКУ описания прннтера По умолчанию печать на принтерах. указанных в комамде Ipadmin I, неВQЗМОЖ:Н8. рпрш/тер -d"азн ХНОЗН CКAйcc -rкласс еназн r ловО 23. ПеЧDТЬ 761 
Ниже приведены несколько примеров команд семеЙства Ipadnlin крап..'1п.,m rJояснениям-и J /usr/l.1b/lpadmi.n pho"lerl", v/dev/ttуОб шРо.tSсriрt cpr Эта КОМЗlша сообшает системе печати о ТОМ. что принтеру с именем howlerlw назначен файл устройствв /dev/tty06 и что он полжен относиться к КJlзссу pr. а также о том, что следует использовать интерфейсную проrpамму ШIЯ npинтеров PostScript. Слеnyет отметить, что Ipadmin сама создает буферный каталоr с необходимыми правами доступа. Команда . /usr/sbin/lpadmi.n dpr зндает используемый по умолчанию снетемный пункт дня класса (или лрннтера) pr. Кома ндз , /uвr/sЬiП/lраdшiп --phowlerl" D"LазеrJеt named howler..... описьшает пршпер howlerlw. Команда . /usr/ebin/lpadmin ho"141i1r1,,, rpr Cr"'8t удаляет нринтер Ilowlerlw из класса pr и добавляет ero в класс fast. А в результате ввода команды J /uBr/llbin/lpadmin xho"lerl'W из СИСтемы rJечати rJOЛНОСТЬЮ удаляется ПРl1нтер hO\o,,'lerlw. Если этот прннтер был единственным членом кзкоrОJlибо класса, весь класс также удаляется. Несколько npyrих примеров команды Ipadmin приведены в параrpафзх, касаюши'Хся систеf Solaris н Н P UX (см. ниже). Команда Ipstat: получение информации о состоянии системы печати Команда Ipstat -выдаеТ Jlнформацию о состоянии системы печатн. При ВЫЗОве беl apry;o..1:emOB -лз команда сообшает статус 8сех зад31Н1Й. которыс посланы на rJечать задавшиМ ее ПО;Jыовнтелем. При указании арryМСIП3 p она вы.дает информаuию о СОСТОЯIOШ KOHKpeтHoro прннтера. HanpllMep. команда % lpat.at phowlerlv howle['lw is по"" printinq pr125. епаЫео since Jul 4 12:25 расскажет о СОСТОЯНИИ приtrrера pllowlerlw. Статус демона Ipscllcd МОЖIIO определить комаНдОЙ Ipstat r. % lpsta.t x 5cheduler i8 ruлпiпg в данном случае она сообшает, что все нормально. Флаrи команды Ipstat переЧИС.."lены 8 табл. 23.5. СШ'11зшение о добавлении 8 конец имени IIРИнтера СИМВОЛО8 "Iw" имеет исторические корни и ВОЭНИКIIО при ИСПOJlЬЗOвании приюеров Apple LaserWri(er. Вы можете разработать собственную систему задаНИЯ имен приюеров. 762 Часть 111 Розное 
Таблица 23.5. Флоrи команды Ipstot Флаr.. !- . НКЦJ.oIя  Предостав.'lЯет информацию о состояНIOl демона Ipsched d Предоставляет ииформ.а..иию об ИСПОJIh3уемом по УМОJlчанию пуНКiе назначения СI{ЛО"С Предоставляц перечекь членов класса oap" Предоставляет информаUIfЮ О СОСТОЯНИИ запросов Вbl.1Iода llJ1Я ap..1 UпO.1"3QlIome.lb Предоставляет информ.а..иию о состоянии задаНlIЙ. посланны}l. печа rb ПOllbзователсм пОЛЬ3060тель pпpиllт(!P Предоставляет информаUIiЮ О СОСТОЯНИJ.I прннrера приllтер 1fпрштlер Предоставляет информацию об устройстве вывода, которое: назна чено в качеств npИJ-I1t:ра приllтер acтl[.OK Предоставляет ШiформаlШЮ о состоянии очередей, нмена указаны rlapaMeTpoM СТIll(.'ОК I I Ilредоставляет IIОЛНУЮ информ.а..иню о сО....оянии системы печаПI Парамnp opz может быть пр.ннтером. классом или идеитификатором задания Команда сапсеl: удаление заданий печати КОМ.Ш..'lа сапсеl обеспечивает отмену БЫllOЛllеlПfЯ задаllJ.lН. которые ('тоят н очереди Ilлlt rlе(l.паются Б il.анныи r-.юмеIlТ. В поЙ команде можно указЫВ.lТЬ либо ИДС'IIНlфщ,атор залаНlIЯ (он задается с помощью КО1\.шнды Ipstat), '11100 IfМЯ IIРl1нтсра (В JTOM сл}чзе отменяется lадание. которое выо'nIIтсяя на печать в Д<lIIllЫЙ MOMeIH). Например. команда салсеl 576 отменяет зanание 576. а сапсеl howlerlw  задаНllе. которое 8 текушиЙ чомент печатается на принтере howlerlw. Для команды 1:311cel ООЫЧIIO устаНО8."lены T3КJ.1e права доступа: владелеu  псеНДОIIО';IЬ]ОНidтель Ip. rpУIШ.1  Ып, а код прав дocтyna  6775, поэтому любой пользоватеЛЬ может воспользоваться этоЙ командой для отмены Jад.lНИЙ. 1\.0Topble явно TorQ заслуживают. Ес!1И Зi1Лi:шие отменяет тот, кто ero не посыпал. владеЛЫIУ задания посылается сообlllение по JлеКТРОНIIОЙ почте. Не ИСКJIIO\lено. что IlOльзовате:ш начнут 3JlOупотреб.тlЯТЬ ::пои возможностью. тоша код прав доступа можно изменить. Команды accept и reject: управление орюнизацией очереди ЕС1Н IIреДIIО.lаrается ОПС11ОЧJIТЪ прннтер на .плительное Бремя (напрнмер. НЗ11 аПIli1раТIIОЙ неиспраВНОСТlfJ. необходимо блокировать посылку заЛ.3Ю1Й t! o'lepeHb к нему. чтобы Зii.ШIНИЯ ПОЛЬЗOllзтслей. Ifе lиаюших о выходе "pllllTepa НЗ строя. не переполнили очередь. Это лелается командой reject. T.IK. nOCJle JJlюда команды f /usr/liЬ/reject r"h01fl.rl", will ь& down until ТuBSday" howlerlw КОМ.lНЛi:t Ip бупет ОТЮIОНЯТЬ з.шросы На печать на принтере howltrlw. Ф;ыr r яи..:lяется нсоБЯlате...'lЬНЫМ. опнако JTO хорошее средство ПрOlШ ФОР'ШРОБiПЬ ПО-тlЬЗО&lтелеи о ПРИЧlfне. по KOTOpOf1 принтер отклоняет з.шросы При nOllbITJ.:C вынести фаi1J1 113 печать. полыовате.'lЬ 110ЛУЧIIТ сооощеНllе. % /usr/bin/lp dhowlerlw lIIy:f:J..le lp: cannot accept requests l.or dеSLiпаLОЛ "h.owLerlw"  howlerlw wil Ье dоwп Un1:.il Tuesd.ay r ЛОво 23. Печать 763 
Комюща accept принтер дает rJроrpамме Iр указание начать прием запросов на rJечать на указанном rJринтере. КОМанду accept необхоlIИМО выполнять один раз для К8Ждоrо иовоrо принтера, добавляемоrо командой Ipadrnin, rlOToмy что новые rJринтеры по умолчанию конфиrypированы так. что запросы на постановку в очередь отклоняются. Чтобы обеспечить возможность управления очередями в рамках КЛасса. в KOMaнnax accept и reject вместо имени пункта назначения следует указывать имя КЛасса. Каманды enabIe ... disabIe: управление печатью Командой disabIe демоиу Ipsched дается указание rJрекратить r!Осылку заданий на конкретный принтер. В отличие от команды reject, КОМ8}-Ща disabIe не препяrствует nporpaмt.fe Iр rJрололжать ставить заиания в очередь на этот принтер, однако стояшие в очереди задаНИЯ начнут выволиться на пеqзть только после тoro, как принтер будет повторно ВЮJючен командой епаЫе. Команда disabIe обычно не прерывает печать текущеrо заиан.ия; если требуется это сделатъ, воспользуАтесь опuиеt:\' -с. Как и команда reject, команда disabIe поддерживает флаr r, который позволяет вам указать причину отключеЮlЯ принтера. Например, для выключения печати на принтере howlerlw дается команда /bin/d.illeble r"Вein9 cl.aned. baclc in 5 m1.nute." howlerlw Для возобновлеюrя печати введите /bin/enable howl.rlv Команда Ipmove: nеремещение заданиЙ Иноrда возникает необходимость переместить задаНl-lЯ, стояшие в очерели к одному принтеру ИЛИ классу, на друrой прИlпер. Для этоrо служит команда Iprnoe. В качестве артумеюов этой команды задается rJеречень идентифика торов заданий и имя HODoro принтера. Например, команда . /u.r/вbin/lpaove hоvl.rlwЗ2" hоvlеr1,,З25 anchorlj rJеремешает за.даНI-IЯ с номерами 324 и 325 из очереди к принтеру howlerlw в очередь к принтеру Bnchorlj. В качестве источника можно задать принтер или КЛасс принтеров. В частности, команда .. /ul!!Jr/8bin/lpmove howlerl" anchorlj переместит все заданИя из очереди к принтеру hoy..lerIy,' в очередь к принтеру anchorlj. При таком использовании командЫ Ipmo\'e возникает побочный эффект: для исходноrо принтера выполняется команда reject. Так. после выполнения приведенной выше команды nporpaMMa Ip перестанет принимать залросы ДIIЯ "ринтера howlerlw. Вследствие особенностей HPUX команду Ipmoe нельзя использовать. если вьmолняется демон Ipsched. Вначале следует запустить проrpамму Ipshut. p] Интерфейсные nроrраммы Интерфейсная проrpаМ1l.J3 получает файлы от демона Ipsched. форматирует полученные данные и ПОСbUIает и>. на С80е стаl{Цзртное устройство вывода. Кроме Toro. интерфейсная rJporpaMMa отвечает за правилъную установку режимов На устройстве вывода и за формирование заrоловков и завершителей, 764 Чость 111. Розное 
если они необходимы. Интерфейсные rJрОf1Jаммы. как правило. представляют собой сценарии shell. но MOryт быть и исполняемыми пВОИЧНЫМИ файлами. Демон Ipsched вЫзыТ!ает интерфейсные nporpaMмы со следуюшнми арryментами; ндэадаlfИJll ЛОЛЪ.90ватель sвrQЛйВОК эжз опции файл {файл...] rne: . идзаданuя  идентификатор задания. который назначается nporpаммой Ip; пользователь  пользователь. являюшийся влa.nельцем зa.naния; заi!ОЛО60К  необязательнып заrО!10ВОК (задается пользователем); ЭК3  количество печатных экземпляров документа; опции  указываемые rJOльзователем опиии; . файлы  ПОЛНые путевые имена файлов, подлежаших выводу на пеqать. Все перечисленные apryмeHTЫ должны указываться при каждом выпол нении интерфейсной ПРОf1Jаммы; некоторые из них MOryr быть пустыми строками. В качестве стандартноrо входноrо потока для интерфейсной nporpaMMbl определен файл /dev/null, а стандартный ПОТОК вьпюда и стандартный поток данных об ошибках направляются на устройство, заданное команпой Ipadmin v. В соответСТВИI{ с концепцией системы печати BSD каждому формату файлов должна соответствовать собственная интерфейсная ПРОf1Jамма. Раз рабоТЧ1fКИ Systeт V rJOШЛИ по лруrому пути: ннтерфейсные проrpаммы предназначены для обработкн данныХ всех типов. которые rlOддерживает принтер (есл.и получены данные неизвестноrо типа, такая nporpaMMa с "чаруюшей }11ыбкой" лреКрашает работу). По этой причине ннтерфейсные проrpаммы обычно представляют собой сценарии ннтерпретатора команд, которые просто обрабатывают данные. заданные им в качестве aprYMeHToB, а для выполнения реальной работы rJO форматированию вызывают пруте проrpаммы. По сути дела, интерфейсный сценарий отвечает в системе rJеqати за весь этап вывода данных. Это облеl'lает настройку, но вместе с тем привопит к тому, что результаты вывода на печать на разных прннтерах MOryr сильно различаться между собой. Без интерфейсов практически нельзя обойтись, если требуется печатать ЧТОJТибо rJОМИМО текста. полrотовлею-!Оrо специально для печати на POSI. Sсriрtпринтере. В И8стояшее время почти все принтеры используют интер феЙСbJ. Струйные принтеры обязательно используют интерфейсы для rJреобразовзния la.nания на печать в свой собствеIO-!ЫЙ формат. Если интерфейсная rJроrpамма закончила свою работу успешно. то ее код завершения равен о; при ошибке он представляет собой целое число от I до 127. В случае если зa.nаНие не выведено на печать. интерфейсный сценарий должен предпринять повторную попытку. Если же ошибка оказалась серьезной, интерфейсная nporpaMMa должна отключить принтер командой disabIe. А если проблемы с печатью возникают постоянно, причину, скорее вcero. следует искать именно в интерфейсном сценарии. Что делать, если проrрамму Ip заклинило? Иноr.д.а поПытки конфиryрировать принтер ПрltБQДЯТ к тому, что про rp8MM3 Ip безнадежно запутывается. Информauия о конфиrypации снстемы хранится В разных файлах катзлоrа /usr/spool/lp. Содержимое и cтp}lo."ТVpa r лово 23. Печоть 765 
файлов конфиrypации зависят от варианта реализации и 110 МНОП'IХ случаю; в них трудно разобраться, а сощх:шодителы-lяя документаUШ1 для ЭТИХ фаЙлоu обычно отсyrствует. Если получилось так, что СIJOСЙ попыткои IIНССП1 ПРl1нтер вы JЗIIУI"i.IJIII систему, то лучшее решение  полностью удалить из Сllстемы IIС1ШТII выходное устройство J-I: начать все сначала. Иноrда система запутып.аетI.:Я настолько, что не упаетсл даже удалить устроиство. В такой ситуаuии остается только применить rpубую силу. В ПРlшеденном ниже ПРJlмере мы rJытаеМСЯ удалять ПРИlпер dest (если имя dest не уникально, ЭТОI'О делать нельзя). lpshut lpadadn xho..r f.ind /usr/Bpool/lp namв hoser exec rш r {I \; lpsched lpBtat t flepBbIe две команды введены с целью отключить плаНИРОВШИI( 11 поrJытаться удалить rJринтер. Если система ji.НI}тзлась. команда Ipadmin x может пать отрицательный результат. Команда find удаляет все интерфеЙсн ые проrраммы и буферные каталоrи. соответствующие данному rJринтеру. Демон Ipsched перезапускает штанировшик, а команда Ipstat используется nJl] проверки тoro. Асе ли ссылки на rJринтер dest 8 системе печати уничтожены. 23.5. Добавление принтера o в этом пар3l-рафе описаны детали I<DНфlНl'раuий, спеuифичные длЯ различных постзвшиков принтерав. D.ля каждой orJераuионной системы мы рассмотрим: IlрОllедуру установIOf локальноrо принтера. rJолключаемQI''О к IlослеДOlid тельному нли параллельному порту; . печать в сети посредством демона печати Ipd; получение 111 сети задаllИЙ на печать для демона Ipd Следует отметить. что мы булем paCCMaТPIIBaTb Ilечать н сети толы::о ( точки Jрения системы BSD. Это обусловлено тем, IITO не сушестиует таК0I1 оеши. как "удаленная печать в системе Systeт У": системы. базируюшиеся на последней и пытзющиеся при этом осушествлять удаленную печать. адаптируют для этоrо фраrменты протокола BSD. Далее мы предполаrаем, что прИlпер физически уже ПОДКlIЮ1lен ... компьютеру ИJfИ включен в сеть. Чтобы вспомнить, как это делаетсSJ. обратитесь к rлаве 7 за информацией относительно ПОДКJlючения COOT8eTCT вуюших принтеров, а также к rлаве 15, rAe содержится обшая IIlIформаUИJI о включении устройств в сеть. Сете8ые принтеры требуют опрсделенноrо "вне:шнеrо" конфиryрироп.1 I-IИЯ В чаСТIШСТИ, нм ДОЛЖНЫ быть наЗI.I3ЧСНbJ Ip,lДpeca. ОБЫЧНО это делаеТС}1 ОДНIIМ из слеДУЮШ1IХ методов. Воперных, МНОП1е современные IIринтеры мorут 3аrружаТЬСJl по eТlI с BOOTP И1lИ OHCPcepBepa. Этот метод хорош, КОI"Щl В сети нмсется Mlloro однотипных принтерав" Подробпее о протоколе DHCP расскозывалось в параlрафе /3. Z Альтернативный метод  присвоение принтерам I PaдpeCOB С консоли Иноrда "консолью" является последовательный порт, но чаше зто просто 766 Часть 111. Розное 
несколько кнопок на пере.nней панеЛИ принтера. которые нужно нажать в Шlрепе'1еtlllОИ последователыюсти После Toro Kalo.. прюпер включен в сеть If оnывается на комзнл)' ping. позаботьтесь о ссютветствующей зашите для Hel'O; как JTO осушествить, рассказано в конце данной rлавы. Чтобы сnе;ыть материал следуюших разделов более понятным. мы будем l'оиорiТЬ о конкретном наборе оборудования. Сервер beast ЯВJJяется "родным" Iрdt:ПУ.:lером, rlодключенным к лазерному принтеру ho",,'lerlw. SoJoris На t П1ШIЯ с иерСlI1I Solari 1.6. фllрма Stlп ИСПОJlъ:зует еше и Др}1)'Ю CH.."ТeM Ilечати. НШJl}IЧIШfМ методом }Iправления печатью при работе в данноЙ систе"lе ЯН.,I1я,:тся IlpHMelleHJ1e утилиты Solsrice Рriпrеr М3Iщgеr, ВХОD.Яшей 8 соста8 Пi:1КС:ПI Sols(ice АdПlillSui[е Если данный продукт 8 вашеи системе отсутствует. имеется еше OHII" неплохой вариант  yrилита Аdтiпюоl (ее можно наЙти в s.::aTaJlOre /usr/bin/admill(ool). ДIlЯ тех. кто хотел бы лучше разобраться в системе IlсчаПl, мы опишем ниже весьма ИНТРШl'ющие детали. В t:ис,;н:мс Sol(tri используется несколько нестзмартнык команд печатlI. КОl.,шнда Ipfiltcr просмаТРНЮlет и добавляет в сиете",!) новые интерфеЙсные npol)laMMbl., KOMi\HHbI Ip!itet 11 Ipgel облеrчают редаКl ирование и обзор пзнных о КОНфШ""урilШНI ЩШlIтер.д.. Команда Ipset 8ыполняет в основном те же ФУIIКUlНf. 'ITO И комаН1Ш Ipadlllin. но ее }11"lИка..'1ЬНая особенность  способность работать с 00e1li\f1l КОНфll)р.ННIЯМIf файлон, ИСIIQJТЬЗУСМЫМИ как в системе, так 11 в I<..йllКретном Прllнтсре. Ком.шда Ipusers упраИ:IЯСТ слеrка улучшенной Сl1сrемой приоритетов и системой контроля nо(.тупа, а команna Ipforms обеспечивает предстаВЛСl-ше стзндаРПf]lIронанны,\ СТрЮIНII посредством механизма rpУllП полыоватеJ"Тсt!. Н 11 Oдllil НЗ "лих команд на пр"'....'Тике Не исполыуется. IIOЭТОМУ рзссмаТРИRJТЬ мы и\. не будем. Система Solaris нредоста8.Т'lяет команды печатн системы BSD как COCTaB ную часть 1мкетз "SunOS/BSD СОП1раtiЬilitу Package", КОТОРЫЙ по }'Mo-'ТчаНlIЮ вк..l1ючаеп;п в nllСТрlfбyrив системы Solaris. Следовательно, если понадобится. \южно lcrIOЛЫОВ<IТЬ пеМОII Ipd д.ля нужд печаТI-1 ВО всех случаях. В СlIстеме Solaтis ИНфорМ3111fЯ о конфиrypаШIII пршпера I[аходпся в фi.ltiJlе. который ЗllаЛОПlчен фаiiJ1У printcap и называется /etc/printers.conf. ДОIIО;llIIпеЛЬНi1Я IfНфОрМJUlfЯ НаХОДIfТСЯ в каталоrе /ctcjlp. а спеuифическая IfНфОр"'I8Шlfl о npllHTepe  в файле /еtс/lр/рtiпtеrs/рriпtеrпаmе. ПОЛЪ:ЗОВJ.тели \Ю'1'Т IlрlfСflOсаБJlива IЪ снстему печати под свои нужды с.; помошью ОIlШ1О Н3ЛЫfQrо фаЙла  /.printcrs. КОТОРЫЙ ПОЗ'ROляет им делать ДЛЯ пршпсра УСТ.Н.ЮRКlI по умолчаf-IНЮ и создавать псеWlOНJfМЫ для КОМ31Ш печати. СооБЩСНIIЯ об ошибк'i IfЗ сп\'лерз Ipsclled реrlfстрltрУЮТСЯ по умолчаншо 8 ф."л< j,.., jlpjlogsjlp,cl.ed. В отличие ar команд 8 тра.лиuионной системе печати SуstеПl V, ком<ншы Пе t l3ПI CIICTCMbI Sol.aris используют пробел между флаl'ЗМИ опuий и их .JlычеНlIЯМII (т.е. ПlIШЕ'IСЯ. IIШlример. Ipstat p ancllOrlj. а Ifе Ipstat pancllOrlj). Ошыко ОНII IIРlllнtмают также н старый формат Ko..taIiH. ВОlМОЖllО. лчше IЗсетаКII IIРIЩСР)l...lfваться ДОК""'lеНПlр()ванноrо (с пробеламн) синтаксиса. IIОJlь'jов.пе.11f системы I1С<13ТИ. основанной на ПРИIЩИПах системы SystеПl v (HallpllMCp Sol.]J.is), [lрименя!От термин фи.:rьтр БмеСfО термина шперфейс rllQBO 23 Печоть 767 
При работе в системе Solans необходимо указывать, Kaкoro типа задания может принимать устройство. Располаrая такоЙ информацией, система пеЧi1Т11 опрелеляет, может ли принтер принять данное зацание на печать. И HTep фейсная проrpамма отверrает задания, не относяшиеся к одному 11 i спеuифиuированных nmОБ. так что если вы забыли }Iказать какоЙТо тип, притер будет проста.ивзть. Чтобы vказать нужное значеиие, использ tпе команду Iраdmiп I. Оmrия [ PostScript.simple полезна в случае JtСПОЛЬ-ЗОВiННIЯ РоstSсriрtпринтеров. .для построчнопечатаюших принтеров, "понимаЮШIХ" TO.7IЪKO текст. следует выбрать опцию  1 slmple. т ребуется также указать тип прннтера. исполь-зуя в команде IраdП1ill флаr T. Системе печати необходимо "знать" тип принтера. чтобы опреде.1IПЬ. как ero иниuивлизировать я как с ним связываться. Кроме Toro. некоторЫ\1 фильтрам необходима эта Jiнформация. чтобы правильио установить С8ШI параметры Типом принтера может быть неКОТОрОе значение, которое содержится в базе данных terminfo. находяшейся в каталоrе jusr/sI 1 are/lih Ищите в нем запись, соответствуюшую прннтеру. В случае исrlO.'lЬ-ЗОВill.IН1 РоstSсriр(принтера можно применять тип Ps: t 1р&dш.in p ho",1er1", T PS Систеfа Solaris ,,<раЮfТ новые интерфейсные проrpзммы в KaT..U1011: jеtс/lр/iпtеrfасеs, хотя никакие фильтры не предоставляются ею в ЭТО'l каталоrе сразу после инсталЛЯllИ1i. Чтобы получить список всех интерфейсны'\ проrpамм, восполь-зуй"тесь командоЙ Ipfilter: t 1pt'J.1t8r t' &11 1 Задание покальноrо последоватеЛЫ-lOrо прннтера Прежде Bcero ПодКлючите ПОС.1епонзтельныЙ пршпер 11 опреде.'пlТС устройство. с которым он ассош,mруется. Обычно последовате.'lьные YCTpOli. ства Solaris называются jdе\"jtеrпljа и jdev/termjb. В:l3дельпем 3Т1i)\ уСТрОИСТR должен быть ПО:1Ь30ватель Ip. и права доступа С;Jел)'ет установить так. чтобы только пользователь Ip имел право чтения IIЛИ записи !Х.ЛЯ дaHHOro уСТРОИС rHa: t сЬоvn 1р /d8v/t8rrA/a .. chmod 600 / d.v / t.rra/ а Затем конфнrypируJilте принтер, зареrистрировавшись как ПD.'lьзователь lpadmin. H--нo указать IfМЯ принтера, ИМЯ устройства. тип ПрИНТСрil (PostScrip[ юти обычный) И типы данных, которые оБЯJан принимать Прllвтер Команда Ipadmin должна ВЫПlядеть прJп,lерНО так: 1padll!.in p ИUЯlJринтера v /d.v/t.rrA/a T 'l'l.шпринтера I '1'ипсодержиuоr'О D "описание" ПрJiкажите сnyлеру ПРИСТУПI1ТЬ к прием}" заданиЙ на печать " р.iспоrя дитесь. чтобы притер начал JiX печатать: " enab1. имя  ПрИН"I'ера t acc.pt ИALЯ  принтера и наконец. с помошьЮ комаНдЫ Ipstз( убедитесь 8 том. что CTaIIOHf...<1 ПРlfнтера прошла успешно: ", lp8tat p иияпринтера 768 Чость 111 PO.:lHOe 
Печать из 5010rl. но B50cep.ep лвчоти D..'1f1 Toro чтобы разрешить СПУЛlfнr из систе\iы Solal"Js на УДd...lеIНЫЙ Ipdcep&p (или JRП}IСI< на .apyrOM компыоереe 1и60 сетевом Пр1Нтере). используйте в КОМЮ'lде Ipadmin сnеш{фичный для системы Solaris ф.lаr s Этот флнr позволяет Ollpeдe.'1RТb удаленный ПриНП:р как серtlер.'пРИllтер Примеияемый вами ЯЗЫК nроrраммироnaния shell. ВОЗМОЖНО. требует, чтобы вы избеrал'и ИСПО..'1ЬЗОR3НИЯ восклиuaтс:льноrо знака после обратной косон черты. поэтому в деЙСТВlfте.1ЬИОСТИ команда может выrлядеть так" , lраdш.in p hovl.rlw . b8..t\lhowl.rl" I P08tScr.1pt,8Lalple T PS D "howl.rl. у1. b8a.t" Если приtrтер имеет ОДНО и то же имя на сервсре и иа 10Ka.1bHOM KOl\lnbIOrcpe, можно пропустить часть .111ринтер команды (8 данном случае ,}то "\!howlerlw"). После Toro как удаленный принп:р опознан, а",'Тивизируйте ero. как обычно: .nabl.. how1.rlw iIICC.pt how1.r 1", и H8KOl-lеu. протестируЙте новый прннтер: 1р pho1of1.r1'W /.tc/motd  1p8till.t phow1.rlw Если сете пой принтср не понимает команду Ipd. ои, вероятно, ОЖlш.ает. 'IТO вы 110дберетесь 1< нему напрям'ую, через ТСРсоединение Система Solaris подд.ерживает такую I<онфиrvрашпо посредством интерфейсной nporpaMrbI netstandard: эта проrpамма распределяет задания на печать по всей ССПI, так что имя локальноrо устройства. определенноrо с поюшью флаrз v. \fожет быть ука3аоlO В фаЙ1)е fdevfllull. КО"'31IШI Iраdшill o ПОЗВQ.lяет пере.!lЗТЬ ОПШПf в 5<очанду IlеtIiii.I,dзrd НаПР'lчер. СIдуюшая КОМВI-tлз создает новыЙ Рos(Sсriр[принтер с IНlеш"\[ dingerlw D..1Я ceTeHoro ПрI1НП:рИ. который ПРllннмает РояScriр[фаn.1Ы через ТСРпорт 9100: 11 1p.dmin p cl1n9.rlw y /d8v/nu11 I P08tScr1pt T PS DI n.t.tan d4rd o protocol""tcp o cI..t-d.1n9.rlw:9100 o t1ln8out-15 П porpaMM3 Iletstandard подаерживает также отправку задаНlIЙ на Ipd cepBep CIICTeMbl BSD: это достиrается записью Ipadmin o protocol==bsd. Toro же результата можно добиться посредством КОМ31-ШЪ1 Ipadrnin s. Прием заданий на печать от ВSDсиcrем CIICTe!o..f3 Sola,.is НIZ.1ЮLfает н свой состав деюн ill.lpd. которыЙ по У\lО;Jчаншо ззпускз,:тся из демона inetd Этот де'toн nOHI,,.,faeT протокол демона Ipd и }..южет запросто ПО.lать б}rферизованные задания от IрrК:IИ ентон на лока.1ЫIЫЙ или сетевой принтеры. ДеМOIi In.lpd берет паРillетры КОНфlнураш1И ИЗ фаИlа /etc/printers.conf. так что HII 8 каком npyroM конфнrурироваНИJl. помимо ныполняемоrо командой Ipadmin, нет необхо.ан ,юсти. Если FlbI не собlрзетесь предоставлять ус.чти печати IрdК-'1нентам. превратите в комментарий CTpOJ<..)' вызоиа деЮНа in.lpd 11 файле /еtсjiлеtd.сопr. r лово 23. Печать 769 
HPUX Пошмо выполнения в полном объеме команд обыЧl-JОЙ системы System V. CJicтeM3 HPUX предоставляет HCCKO:JbKO Yl--{ИКaJ1ЫIЫХ к,1иентскнх команд и боrатыи особеННОСТЯМII сервер. CJtCTCM3 HPUX не любит, коrпа администратор ВНОСНТ l<aKlfeTO И".iМf'НСIlНЯ но время работы HeMOIIa Ipschcd. Комаида Ipana 3Н8..'1и'шрует хараКТСрИСП1I01 буфера печ;ати. Этот ИНСТРУ мент дает достаточно ННфорМ3Ш1ll 1J)1Я Toro. чтобы "IOЖНО было ОПТI-IМII]И ровать систему буферllрОвания ПрЮIтера; она включает такие стаП1СП1ческие данные, как среднее время ОЖИШ!НИЯ задаНllЙ 8 очереди и среДllсе время печати OДHoro задания. D...IЯ 13ПИСИ У'lспrых данных, выдаваемых команnоИ Iрапа. запустите демон Ipsched с флаrом a. Команда Ipfence определяет минима.'lЫlblИ приоритет, которblЙ дО:IЖНЫ иметь задания. постynаюшие в очередь на печать. ЭтОТ приоритет YCTaHaB ливается ДJIЯ принтера, в отличие от приорнтета задания. Задания, которые помешены в б}lфер. но еще не начали ныполняться, MOryт быть изменены с помощью команды (palt. Эта команда позволяет изменить бо!lЬШf.fНСТ80 ОПIIII'1 проrpаммы Ip. б..1з,.одаря чем пользователь Иjбавлен от flеобходнмости отменять. з потом ЫН080 ПОМСЩ,lТь в оуфt:Р задания. которые НУЖЩ.lЮТСЯ 8 "oppeKTllpOH"e Как и в системе Sоlапs, иt:pt.:ия КО\ШIIДЫ Jpadrnin системы Н p tJX подд.ерживает фJlзr o, ПОЗВО;lяюшиi перещпь значения параметрон в иtперфе'Йсн}'ю проrpамму. Этот ф.'1аr очень полезен. ПОТОМУ что J.1збавляет системноrо администратора от lIеоБХОДJ.1МОСТИ рела....-тироВать сuенаРIIИ IIJIIf перекомпилироватъ интерфейсные ПрОI""рЗllп"fЫ лtшь для Toro чтобы изменитЬ их опuии. СоответствуюшиЙ прllмер был приведен выше. Задание локальноrо последовательноrо принтеро Предпо.'lОЖИМ, мы XOnlM ПОДКЛIOLfIПЬ пршпер HP LascrJel 4f\.'1 к последонзтельному порту, \IК;Л<lННО\fУ В фаЙле /dc\ittyp2 Преж..'lt': чем выпо.'1нять команлу Iраdшiп. нужно остаllOВIПЬ все Сf'рвисьr печати: /u8r /8bin/lpshut Какаято ИНТf'рфеиснаS1 модель исеrпа сушеств,ет D..1Я IlечаТII на npltHTepX в каталоrе /usr/libjlp/model, по.ному п.IIЯ КОllфШ"УрИрОВЗНИЯ принтера мы будем исполыовать комаlд)' Iраdmiп m: , /u8r/sbin/lpadmin phowlllrlw mlB8er1l1t4 v/dllv/ttyp2 Потом мы начнем прие'l.l задGLНИЙ на печать в буфер. сделаем ПрИl-Iтер доступным и переЗ3ПУСТ1fМ де\юн О} феРНРОВiНШЯ: « /u8r/1J.b/accept how18rlw I /bin/enab18 howlti1rlw t /uвr/sьз.п/lрschеd Пвчать из HPUX на BSDBpBep пвчати Система Hp..UX препостзмяет 8 ваше распоряжение ИНТСрфСl1СНЫII сuенари'й. Н3JывземыЙ rmodel, который может посылать 1адЗIIИЯ иа улa.rlеННЫ1 сервер Ipd. Опuии сuенарня fшоdеl УСП1l-l38Jlltваются посредспюм ,,:омандЬ! Ipadmin o. Например. СЛС1I).,юшие КОМ31IДЫ делают приtlтер ho",.lerlw Ila компьютере beast дш.:ТУТlным WIЯ локальных ПОЛЬЗ0взтеJ1СИ: " /usr/sbin/lpshut I /usr/sbin/lp6dmi.n phowlerlw v/dev/null lII.rшоdеl ormbe6st orphowlerlw оЬЗ /usr/liЬ/accept ho"'lerl", 770 Часть 111. РОЗНQе 
/bi.n/en8b1e how1.r1... /usr/sbi.n/1psched Интерфейс rmod.el испо.n.зует apryMembJ ornl orp и оЬ для описания )':даленноrо компьютера, упаленноro принтера и nрименяемоrо ВSDстиля. На самом деле для отправки задания нз удаленныЙ IpdcepBep интерфейс rmodel вызывает команду rip. К сожалению, команды пр, rcancel If rlp!itat rтpe-Шlззначены иСЮIlочителыю lV1Я использования лрyn.fми частя:м--и системы, их никоrда не должны вызывать непосредственно пользователи. Если эти оrpаничения ок::вались сушественными !1lIff вас, рассмотрите возможность использования пакета rlpr. описанноrо в парюрафе 23.8. Прием заданий на печоть от BSD Спулер )':даленной печати системы Н P UX. rlpdaemon, принимает задания от системыl Ipr/lpd. Демон rlpdaemon обычно запускается демоном inetd. но компьюте.р. который получает MHOro Jадани на пеI.IЗТЪ, должен начинать свою работу во время заrpузки; демон rlpd3emon принимает задания от любоrо из КQМllьютеров, flеречисленных в файле /etcfhosts.equiv или /usr/spool/lp/.rllOSIs. Red На! Система печати. используемая в Red Hat. ЯВJlяетсЯ прекрасным 80ПЛО шением BS DCTaндapTa. HKOTopыe из инструментов. применяемы)" в Red Hat, ЯВJlЯЮТСЯ весьма полезными, особенно Iрафическая yrилита pnnttool. которая автоматизирует реДЮ,.тирование файла jetcjprintcap. и сценариЙ Ipunlock. БЛaJ'одаря KOTOpot.ty можно спасти заблокированные серверы печати. Заr..lечательная }ТltлНТ8 prilll.tool поможет ОТКОНфИfУРИРОвать множество прИ1-l терон. ВКПЮtШЯ локальные. удаленные серверы Ipd, SM В (\Vindows) и пршперы NetWare (NCP). Следуеl предостеречь вас ОТ слеп)-rюшеrо: yrилита printtool требует. чтобы фаЙл jetc/printcap был сформирован очень тшательно, ест отред.актироватъ этот файл вручную, может случиться так, что ero невозможно будет открыть yrилитой printtool. ИзнеСТI.IО. что Rcd Hat lIодnерживает относительно небольшое количество nринтеров. ОсновноЙ ПрИ1llillOЙ этоrо являетсЯ то. ЧТО Red Hat liШIХ исполь-зует GNLJверсию проrpаммы ghostscript, которая nо.д.ерживает Ha MHOfO меньше пршперов. чем популярная версия Aladdin Епtеrprisеs. Свободно раСllростраliяемая но псевдокоммерческая nporpaMMa ghostscript. входяшая в СОL.,.ЗО ,дJaddin и используемая в различных дистрибутивах, может растерlПОвать IIзображения д..1Я МНОfИХ Др}-ТИХ nринтеров. не отностuихся к катеrОрШ1 PostScript. Если вы обнаружите, что принтер ие поддерживается системои Red Нш по умолчанию, раССМОТРlпе вариант инсталЛЯLIИИ версии Aladdin проrpзммы gllOstscript с узлз www.aladdin.com. Задание локальноrо последовательноrо принтера В системе Red Hal используется пакет фильтров печаТИ RHS. который трупно КОНфИI'урировать без nомоши проrpаммы printtool. Запись в случае. коrда фильтры Ile применяются, выrшшит IIplfMepHo так: howler lw I howl L laserjet: \ : sd==/var/spool/lpd/howleJ::lw: \ :rnх'О: \ : lp==/de".jparpo.rtO: \ :sh: r лово 23 Печоть 771 
Эта запись определяет тpli имеНи для принтера, ука.зывает каталоr буфера и порт )'стройства. отменяет максимальный размер за.п8НИЯ и подавляет печать их заronОВКО8. Из lt8HHOro файла устройства ВИДНО, что ОН ОТНОСИТСЯ К пвраллельному принтеру. Последовательные при-нтеры конФиrypируются аналоrИЧНО. Это устройство, вepOIl1'HO, моrло бы быть УСТРОilСТВОМ /de./tty50 (или 51 ДЛЯ второro nоследовательноrо порта). а не устройством jdevjparportO. и \юrло бы использовать разлИl.jные фильтры Кроме тoro, можно было бы УКRзать такие параметры для последовательноrо порта, как скорость передачи в бодах. Ищите данные о соответствуюших установках в mапстраниuа."\, ПОС8яшенных базе данных prlntcBp. Печоть из Red Но! но свтеВОIi сервер лечcrrн Как и во всех системах Печати BSD. ДJIЯ новых rтpинтероВ должна быть сделаНа запись в файле /etc/pnntcap КlТИентскоro компьютера: howlerlw IIp 186{"La.serJet 5М, ca.lled howlerlw оп beast.": : !p-/varlspool/1pd/howlerlwl _ null: \ : rm-beast.rp-howlerlw: \ : sd-/varlspool/lpd/howlerlw: mx#O: Затем следует создать ката.чоr д.:Iя буфера и файТ'I .null на клиентском компьютере. Jr1kctir Iv.r/.pool/1pd/howl.r1" touch Iv.r/.pool/lpd/ho"'l.rl"'l_null chown R d.a8DIon Iv.r/.pool/lpd/ho"'l.rl'" chgrp R d.aamon Ivar/.pool/1pd/howl.r1", chmod 77!5 Iv.r/.poal/1pd/ho,.,ler1,., ., Есл Ipdcepвep являетСЯ пействительно ко.,тыотером (а не просто умным принrером), перед тем как КОНфИJ)'рироватъ сетевые клиенты. следует убедиться. что печать задан.ий с этой машины возможна. Для проверки фунюrnонирования печати со СТОрОНЬ] клиента можно использовать после довательность команд, аналоrичную следующей: .. lpc 8t4rt howlerl" t lpr Phowlerl,., letc/zaotd i lpq Phowl.rl,., Прием заданий на печать из сети Прежде l.jeM пытаться ззrpузить в буфер задання из сети. убеmпесь 8 том, Ч'rО имеется возможность печатать задания с локальноrо компьютера. Затем добавьте в файл jetcfhosts.lpd клиентов. от которых вы хотите получать . за.дания. FreeBSD По умолчанию в системе FreeBSD файл /etc/pnntcap поступает с некоторыми заранее поnrотокленными примераПI локальной и сетепоЙ конфнrураuий принтера, к которым можно обрашаться при добав.Т1ении " систему принтеров. Образuы файла рriпtсир, nРИRеденные в рззлеле. каСiJЮ шемся системы Red Hal, также работают li в системе печати FreeBSD (хотя фильтры. о которых там rовори:юсь. не поставляются вместе с FreeBSD). 772 ЧоС1Ъ 111. Розное 
По умолчанию сервисы пеЧ8ТИ 8 системе FreeBSD недоступны. Чтобы 3k.-ТИlIизировать их. измените NO на YES в следуюшей строке, находяшейся в файле jetcjrc.conr: lpaenable"""NO" . Run the lille printe:t" daemon. Ни оnна из команд печаТJ.1, использvемых в системе FreeBSD (за исключением, пожал"й. коы3нпы Iptcontrol). ничем ва' Ае удивит. Команда Iptcontrol ПОЗВОЛflет КОНфЮ)'Р1-IРОВ3ТЬ парa.rшельный порт так, что становитсЯ J:Юl1ll0Жl-lЫМ использование любоrо из нескольКИХ рвзличных режимов, таких ЮIК печать с прерываннем, nel.j8Tb по З.8просу, а также расширенноrо и I..:ТiI:1ндартноrо реЖlfМОВ. Для Toro чтобы заставить перВЫЙ параллельный порт (fdevflptO) работать в режиме печаТИ с прерываНlfеы, используйте КОМi:1ЮУ Iptcontrol слеП}ЮШI'lМ образо,,-.,: lptcontrol .1 и О Лишь посрnСТ80М КОМ31-шыlрtсопtrоl можНо измеюtть текушее состояние пара!lлелыюrо порта. ЕС1И Н}'"'tКIЮ. I;Jтобы ПОРl. был КОНфllryрИроВ3Н опреде ленным образом каждый раз коrпа заrpужаеТСJ1 систе\.i..1.. слеП}ет включить КОМtlНЛУ IptconLrol в один иl Сl1енариев ее заrpузки. H('(Io,O'TЬKO ПО.'1СЗНЫХ примеров печати и сuеl-lариеп включены в справоч 1IIIK по системе ....reeBSD. EI"o можно НаЙТl1 на узле W\vw.freebsd.org. Задание локольноrо принтера ПервыЙ Ш:\р;.ылельныи норт на ко/'.шьюrере с систеМОf1 FreeBSD  ]то "орт /de\o/lptO Нес..мотрЯ на разниuy в именах устроЙств, конфиrУРЗUIIЯ бiОЫ данных prinLcap локалы-rоo последоватслыюrо ИЛИ ПClрал.'lе'lьноrо порт ПОЧТl1 o<IllclIlOJ.IIЧIЫ таКOIЮl1 В СlIстеме Red НЗI {СМ. выше). .JIСТРllбутrm frt"eBSD нк..'lючtlет в своА состав относительно I1po..:тor TCKCTOЫII фllЛЬТР, /ur/libe,\,{'c/lpr/lpr. которыи ВЫllО.'1НЯСТ основное форма ТllропаНllе. н чаСТIIОСТИ фоРМI1рует IlереХОПЬJ на IЮНУЮ строку И OTC1! ПЫ. а также II(1еоБРilJонзние и.3 TeKCT080ro к РоstScпрtфОРМdТ. Конфиryрирование сетевой печатн Система .reeBSD 1I0..!lПержииает )'да:IСt-ШЫС прюперы но MHoroM аllа.rю П1111-10 том,,'. как )тО пелает система Red Hat, хотя отвечаюшие З3 это фЮIЬТРЫ р31ЛIILJIIЫ. rlредосrJ.ВJIСI-ше .10КЗ'IЬНЫХ принтеров для печатИ 110 сети выпол IiЯСТС.1 T..IJCпce aHa:lOrllrнo. 23.6. Спулер LРRпg  РRпg  яо IIOHbIl1 СП"..'It"р пеЧo:lТlI. ОСllOiЫННЫИ 11<1 BSD01CTe\fe. C1CTeMa LPRIl. l.еК\'IIIШI ПО1ll1ср..к..:а которои осушеств.'1яется IlBTPL-iКО' Пауэ.l.rIОМ (P.HIlt:k PO\'oell) IH Л5(Ап 1 ссhпоlоglе. IlреДСТi:l.иляет обои уд.\чн)'ю Iюпыт). L'ОR.f':СТI11.Ь 11.:\11IУЧIШfе черты ClII;TCh1 Печати BSD ., Sуяеll1 \/. I PRllg Ы'l.IСНSJеJ Нf(}ЩУЮ CIt:Te\1Y псl1вти СО8местимымИ С нею. tlO УЛУlшеIlНЫI\IИ КОМilIШ31\111. Все оошие komal-Iды BSD остаются nОСТУПI-IЫМl1 Наиоо.lее Вi.\Жl-lые ":OM.!.lillbI ys(enl V также поддерЖlll'13ЮТСЯ И выпо!,няются как ССIJIЛКИ на СБОИ J18шiНJlКИ системы BSD. Например. KOMHдa Ip ЯR.lяется ссы":н,::оЙ t-li:1 КОМ&tНЛУ Ipr, а КОМiiШда cancel  ссылкой на Ipnn Эти ,,:ом.1НДЫ оЖllJ.iШП сиоето вьвона 11 J.!.TeM IiЫIIOЛНЯ)QТСЯ. 0..111011 113 lIаиболее В3ЖШ-,I'\ проб.1С\f IЮlllИК3ЮШИХ пр" IIСIlОJ1Ь30П.tНlШ CHCT'I.IbI ПС1ldlll 8Sn. IRJlяt"lСЯ то. ЧТО IIOЧПI все Ilроrp.IМ1IПIOС обеспе\lеЮIС 773 r riOBO 23 Пр.ЧОТI 
печати должно запускаться пользователем root Это отиосится не ТОЛЬКО к Iрr к.rтиенrам. ио и к Iрd фильтрам. Поскольку фильтры чаL"ТО представллют собой сценарии интерпретатора команд, такая перспектива пyraет. LPRl1g решает эту проблему. позволяя КJlиентам запускаться как обычным пользователям. В случаях. Korдa LPRng не должен взаимодействовать с клиентами. не относяшимися к LPRng. даже демон печати может запускаться непривилеrИРОВ8ННЫМ пользователем. ЭтОТ пакет преnоста8.Т1Яет также MHoro новых возможносте-й по контролю безопасности. которые отсyrствуют н большинстве ВSD систем. Одной из наиболее полезны); особенностей LPRllg с.читается ее способ ность выдавать подробные диаrНОСтичеСКJfС сообшения и уиепомления об ошибках. Вместо Toro qrобы молча не принимать задание или во.зврашап. иепонятые сообшсНflЯ, проrpаМ IЫ этоrо пакета дают подробные и полезные объяснения тому. что делается неправI01ЬНО.. ХОТЯ демон Ipd обеспечивает контроль доступа через файл fetcfhosts.lpd. никакая аутентификаuия неаозможна. LPRng поддерживает методы аутенти Фикац,m Ke,-beros 5, SSL и PGP. И наконеи, LРRлg предостав.пяет довольно большие возможности по управлению очередью, большая 118CTb "оторых унаследована ОТ системы SуstеlП y LPRrlg обеспечивает ДJ.llfаМИЧ о..ое неренапрзклсние очереди на пеl.jать, подn.:ржку мноrих Щ1llнтерОR для 01lH0J.1 очереШf It .naже распределение наrpузки между несколькими Прlllпераl\fl1. Учитывая все эти улучшt:tllfЯ, почему бы не переАТIf к lIСIIO.'lЬЮНtltIИЮ LPRng';) В случае небольшоrо ceTeKoro окружения, СОСТО)lЩt:rо и] MiUlOro Чl-Iсла пользователей и еше еньшеrо количеств::! принтеров обе системы печати. и BSD. и Sys(em V. работают одинаково хорошо. Fспи не планируется добавлять MHoro новых принтеров или если особенности и дополнительные средства защиты вас не волнуют, установка и конфиryрирование системы LРRпg, возможно, не оправдают затраченных уснлий. Как минm.rум, раССМОТРJпе возможность установки LPRng на сервере пеl.jаnt. Этот простой шаr значительно ПОВЫСИТ безопасность и функuиональ ность развертывания cent при весьма незначlпе;Iы-/ыx трудозатратах. КОМОНДЫ LPRng Версия команды Ipr спулсра LРRпg обратно совмеСПIМ3 с большинспюм друrих версий этоЙ команды. ЕдннствеllНЫМ иск...lючением стал флаf s, КОТОрЫЙ иrнорируется командом Ipr спулера LPRllg. Этот флаr предназнача ется ДJ1Я орrанн.3аuии СИМБолиt.Jеской ссылки на печатаемыЙ файл вместо создания ero копии. Обычно такоЙ прием при меняется при печапt больших файлов. Версия команды Ipr СПУ.'lера LРRпg имеет боrатые возможности. "Урс шы чай но полезными Я8.Т1яются ф!lзrи Бывода подробноt1 информаиии v 11 отладочных панны)( o (ИЛJ.1 О5 ДJlя получеНIIЯ подробных отладочны\,; данных). Комамы LPRrlg позволяют кроме имени принтера указать маШИllУ и порт, к которой он ПОДЮ1l0чеН. "=па фуш..IlИЯ Дает возможность пользователям осущеСТR..1ЯТЬ пеl.j3ТЬ на yna.'leHHbIX принтерах, которые не указаны в локальном файле рriпtсар. Возr..ЮЖНО, комиссия по СТ8иаарти-заuии UNIX не работала в тот ДСНЬ. Korдa был представ-- лен LPRng... 774 Чость 111. Розное
Для указания компьютера, к которому подключен принтер, доба8ЬТ ero имя к имени принтера в виде @ШtRкомпьютера. После этоrо может быть задан порт как %порт. Например: " 1pr Phowler1w@b.a8t%S552 имя  файnа Такой способ .Jадания принтера можно исполъ.зовать для коМЗtШ Ipr. Iрч, Iprm и Ipe сnyлера LPRng. предполarая, что клиенты снетемы печати часто вообше не н}"..кдаются в файле printcap. Если принтер не указан в комзtШной Cl]JoKe. ИСПОЛhзуется ЗНЗ'Iсние переменой среды PRINTER. Если же эта переменная не задана, применяется первая lапись файла /еtс/рr!Лlсар. ECJm и файла рr!лlсар не сушествует, то используется принтер. заданиы11 по умоmанию в файле Ipd.conf. Команда Ipq шулера LРRлg имеет ряд НОВЫХ функций. Добавлены неСКОЛЬКО форматов RЫВОЛНЪJХ данных при указании флаrов ST I И  L. полезных в сш:нариях, работа которых зависит от вывода команды Ipq. Также имеется флаr. задаюший периодическое выполнение запроса (t секунд). Кроме Toro. с этой командой можно использовать флаr отладки, описанный Rыше. Лри }кззании флаrа 05 в вьmод команды включаются подробные сообщения о состоянии, полученные от локальных и удаленных принтерон. а также ()т спулеров печати. Возможно. самой важной особеl-ltloстыo КО"",fЗtШЫ Iре сnyлера L.РRпg Я8.Т1яется ее способность распределять ззпросы 110 приоритетам. ЛраНИJ13 зanания приоритетов MOrvт быть достаточно сложныи.. для удовлетворения требований любой политики. В ОТlIИLjие от традиuионной команды Ipc, версиЯ этой комаtШы спулера LРRпg может быть запушена по сети. Команда Iprm спулера LPRng позволяет ликнипировать звдания на печать. осноuыё1ясьь на раз..'шчных критерIЯХ. Традиuионной команде неоБХОЛJiМО указывать ипентификатор задаНIIЯ I1ЛИ имя пользователя, а рассматриваемая команда ПОlВОЛИет }Iдалять из буфера те задания. идентификаторы которых яnлиются результатом вычислеlll-tЯ реrулярното выражения. Получение и инсталляция LPRng Инстал'1ЯUИОНI-IЫЙ пакет LPRng можно получ-ить с WеЬузла www.as (ап.сот. Покументаuия входJ.П в комплект поставки и помоraет ВЫПОЛНIIТЬ инсталляuию. Кроме зтоrо, инструкuии об Ifн(,'ТалЛЯЦJiИ и конфиrурированин пакета имеются в вопросах FAQ на указанном WеЬузле. Одной из наиболее впечатляюших возможностей LPRng Я8.Т1яется способ ность оперировать с МI1Н11Мальным количеством двоичных файлов. Для Toro чтобы скомпилировать LPRng таким образом, укажите опцию disabIesetuid для сненариSl eonfigure при первоначальном задании срепы компиляцИИ: f ./conf"iqure di8ab1e8etu.1d Если необходимо. чтобы пемон Ipd работал со своим стаНдартным портом 515. ero следует запускать от J.1мени владельца root Прнвилеrии демона Ipd ну'...кно изменить вручную: I c.hmod 4755 /usr/1oca1/sb.1n/1pd Стандартныи фаЙл I\lakefile пакета LPRng версиJ.1 3.6.12 не работает с утилитой make системы Solaris 2.7. Чтобы СПУ;lер L.РRпg был скомпилирован KoppeJo..IHO. необходимо включить в солержимое переменной pat.h имя ( r лова 23. Печоть 775 
J<аталоrа. в котором на.'ЮДИТСЯ УПIJ1J.па make GNU. рине имени катапоra со СТ8н.nартной утилитой make систомы Solaris (jusr/ссs/оiл). Файл /etcjlpd.conf: конфиryрирование демона Ipd Домон Ipd спулера LРRпg 'ОНфИf)'РИРУется посродством файла /etc/lpd.conf. в этом файле fOЖНО задать значения 185 различных параметрон сервера. БОЛЪШI-I НСТВО параметров связано с зздание\.f стандартных каталоr08 и операuионной системы. Также опреде.:'lяется способ получения значений по умолчанию д.пя переr..'fенных. не указанных в фай...lе /etc/printcap. Л}<"ЧШИМ способом создать собственный фаfiil конфнrурирования Ipd.conf Я8.Т1яется КОШiрование файла Ipd.conf 11] J...opHeBoro K8Ta....lOr3 КО\.fПлекта поставки LPRng. ЭТОТ файл содеРЖIП описания всеХ параметров и примеры. EC;1J.1 }I вас нет BpeMeHIf на чтение 3Toro ДЛIfНlюrо списка всех параметров. обратитесь к mапстраниие руководства Ipd.conf. Файл jelcjlpd.perms: настройка прав доступа Посредством файла /etc/lpd.perms \lOжно задать otreHb с.:южные ПОлиП"........' печатlt. Правила ШJЯ управления ПОСТУТlОМ к CIfCTe!o.fe пе t (3тИ при"tеняются к задаНIIЯМ печати 8 ТОМ порядке. 8 котором онн переЧIIСJlены в файле Ipd.penns. Прави.:'13 состоят из дв\'\ частей Первая часть представляет собой диреJ..ilfВУ A('"C:E.PT ИlИ RJErT. о"редеlЯЮШУIO разрешенные действия. 3ТИ Дlfреlo.."ТИВЫ сопровождаются паРЗ"lетраМII. посредством которых -задаются ПОJlъзоваТfЛИ. компыоерыы' прюперы KIH операШflf, D.."1Я которых предназна- чено правило. Например, С.:'lсдуюшая строка ук:пывает сис"еме печати. что пользователь e\.i с удаленноrо компьютера beast может создавать, lIомещап. в буфер_ уда.fJ:ЯТЬ и проверять СОСТОЯlmе заданНI\ печаТIf .!I)lЯ npllHTepa ho'lerlw ACCEP"i" SERVICt:==. Р..М.О REMOTEHOST-=оеаsL REM01'EUSERev":' PRINTERho1Nlerlw Олноб}квеШlые копы. YKdJ31111ble R nJ.p.tl\leтpe '::ER\TCE определяют оперUИII, lL,"fЯ которых lIрСДII<I)НI'lено npaKII.lO. В Тй6л. 23.6 IIрltведены щ.::е возможные коды. Таблица 23.6. Ко д ы порометро EP'" Т.......Е фойла /etc/lpd.perms Код .. Двйcrвие ....... Оrтисан1-1е nt- .  .............. .. Печать Печать .JЗ,JlЗНIfЯ из О'Iреди С Проверка I1рИНл:ра ИСnОJlЬЗОВ3Нt1С команды lpe (lIозволиет ceKpeTap ШOIм разб.'lШ"ИРОВ8ТЬ I1рШ1 Hp) R Поещсние в очедь IIОМi:uн=ние 3iI.д.itНliЙ н 6}фер очеРI:ДII печ.аlИ IiОСрС:ДС 180М комаНдЫ Ipr М Уда.rlеflИС )- .nалсние '3iU1аннй из О<lсреДII llе L I3ПI посредс I НОМ КОМ<:IНДЫ Ipnn О ПроВср....а СОСТОЯIlI1JI По.IУ'lеШlе информа.щш о сосroЯНlIИ ЗClШIНlI' с ПОМОЩЬЮ кощuшы Ipq х ПО.!lКJlючение Попключение к 'nCMOI-I} Ipd rIроше 8cero СО1Д<l.ТЬ СООl:тнеНllЫИ фаЮI Iрd.реппs на основе фИJlаПРI мера из КО\.fПлеЮiJ постаВКIf IlaKt'Ta I PRng. В пом nplf!\.lcpe СТр(ЖII с 776 Чость 111 Розное 
примерами дирекmв ACCPT и REJECT снабжtны подробными KOMMeНТ8 рияыи. Также в файлепримерс описаны все возможные параметры конфи rypаuии. Настройка базы данных printcap Важно помнить о том, что файл prlntcap спулера LPRllg обладает nOirHo обратной совместимостью с традиuионным фаЙ10М printcap систе\-fЫ BSD Следовательно. все традииионные файлы printcap действительны и д.'lЯ системы LРRлg. Однако система LPRng также позволяет применятъ множесТВО новых функuий файла prlntc.p Описания в этом фвйле MOryт пере носитьсЯ На новые СТрОЮI с использованием отступов без добавления в конис переНОСИ\10Й строки символа обратной косой черты. Rчинв имени перемеНJ-IОЙ не оrpаничивается двумя символами. Также имеется ряд сuенариев, облеrчаюших "роцесс конфиrурироваНИfl. Конфиrурашюнные записи файла !\.fOryт быть преднвзначеltы для рв.з.llИЧНЫ компьютеров. Видимо. наиболее впечатляющим сред.ством КОНфllryрирования LPRl1g является проrраМ!\.lа checkpc. По умолчанию она помешается R каталоr /usr/locaIJbill и позяоляет проверить праВИ:JЬНОСТЬ содержимоrо фаk'l8 printcap. Она выводит предупреждения об отсутствуюших каталоrа.х буферов. несуше ствуюших файлах и некорректных правах доступа. Если запустить проrpаМ\fУ checkpc с флаrом f. она попытается самостоятелъно исправить найденные ошибки (создать отс}''Тствуюшие каталоrn или изменить права доступа к фIIйлу) При указании флаrа -05 nporpaMMa checkpc выдаст бол« лодробную диаrностическую информаиию. Фильтры Кроме 1l0n.перЖК1I станд.артных возможностей фильтров системы BSD, система LPRl1g позволяет применять фильтры для заданнй. ОТПРCiвпяемых .Ia удаленные i1ринтеры. Эта фyнкuия служит пля форматирования данных одноrо компьютера без орнентаuии на конкретный принтер. Выходной (перемснная of в фаllе printcap) и входной фl1.1ьтры (переменная f) работают в системе LРRпg HecKQ.'lbKO подр}тоМУ. Выходной фильтр в традИIlИОННОЙ систе'>1е печати BSD применяется 'Как к HOKYMCI-IТ')/. таК И К баннеру. В системе LРRпg выходной фильтр используется только д.1Я бан нера. а входной  TQ.llbKO для печатаемоrо текста. Фильтры для файлов друrnх типов задаются посредством переменных xf, rne вместо :х указывается буква, соответстнуюшая типу файла. Использование всех фи.1ЬТРОВ можно запретить вnоДОм опU1fИ  У в строку запуска командЫ Ipr. В с.истеме LPRI1g нмеются спеuиальные команды IрЬаnпеr. pclbanner н psbanner. Эти команды препназначены для создания текста, PCL и PostScrip( баннероВ. соответственно. Каждая из I-IИХ воспрlНН1\fает параметры командноЙ строки, посредством которых задаются имя баннера. имя ПОЛЬJова.те.1Я 1.1 заrQ.Т'lОВОК задания. Система LPRng постав.'lяется С О;Iниt,'1 очень полезным фН.Т'I, bTpO?o.f Шrр. который ПОЗВО'lяет осушеств.шrть печать на потрясаюшем КО!1ичестве прнн тероа. Нес!\.fOТРЯ на то что ЭТОТ фи..'lЬТР ИJН8Чалъно разрабаТЫВ3.J1СЯ Д-'lя подд.ержки пршперов фирмы Hey,.'lettPackard, он позволяет работать 11 со мноrЮ.fИ nрrш..ш приитера\fИ Не пoдnерживаемые явно принтеры обычно удается заставить работать без особоrо труда. r пава 23. Печоть 777 
Учет Во времена использования только ПОСI.роIt-Ю[lечатаЮЩIl:-; ПрИlIтеров учет осущеСТВJlЯJТСЯ просто. Можно было получить точноt: число IICIпечаТ<it-It-Iы\ страНИU ШIЯ любоrо задания, ПОДСЧJ.iтав количество строк Однако П!КОЙ способ учета неприемлем при печаТИ файлов POSlScripL Единственный способ }"1нать точное ЧИСЛО напечатанных Стр3НИU тoro юrи ииоrо задания иа печать  это подсчитать количество листов, вышедших из принтера. К счастью, боЛЬШИНСТВО COBpe'\fHHbIX принтеров содержат счетчик страииu. которые были напечатаны ими за весь срок службы. Фиксируя 'Значения JTOro счетчика до и после выполнения залания На печать. драйвер принп:ра позволяет определять правильное число напечатанных страНИIl. ПодоБJ-IЫЙ способ подсчета напечатанных страниu реализован н в сп)'лере LPRng. Соответствуюший cuенарl1Й наХОJlИТСя в файле .fLТTILS/accounting.pl ПрочитаЙте комментарии В Начале этоrо файла. чтобы понять, как корректно Вызывать сuенарий из фала printcap. 23.7. Устранение пра6лем при печати Демон Ipd ШIЯ передачи заданий на печать по сети НСПО:Iыует порт 515 ТСР. Если получение посторонних задаНJlЙ на печать не желательно. C..'leltyeT заблокировать перелачу данных через этот порт 113 1 n(erne( на бранлм.ауэре. llля проверки возможности установления соеШ1l-lения с удаленным сервером Ipd воспользуйтесь проrpaММОЙ telnet и обратитесь с компьютераI01иента J<.: порту 515 сервера I::сли сослиненИе будет YCТ3HOB.'lCHO. значит_сеть работает и демон Ipd запушен на сервере. В случае ВОЗНИКIIОReНИЯ проб.'1ем прн Ilастройке соеДlIнения с удаленным принп:ром придется заrлянуть В шесть (дапа. в шесть) мест, чтобы ВЫЯСНIIТЬ причину неполадки. Это: СИСТеМНЫЙ ЖУРНaJ1Ы-lЫЙ фаfе1 на печатаюшсм (т.е. УТlраflляюшеt JlрIfН тером) КОМflьютер (сообшеllИЯ о npo6..'lCM3X с режи\IOМ ДОСf\lIаJ: С1стемный ЖУРlldЛЫ.IЫIf фаitл t-ш МIШИI'lеотпр.аВlпеле (пробле\tы с определением IIмен н режи'о.ЮМ ..'lоступа) журнальный фай!! ДеМона ПС L I3ПI 113 пеLlатаlOщем компьютере (сообщения о неПРВЮIЬНЫХ мменах устроЙств, ошибках формтз I т.д.); журнапьный файл демона печати па мащинеотпраБип:ле (OTCYТCT8IIC фильтров. неизвестные принтеры. отсутетвне KaTaJТOTOB и т.д.): ЖурНaJThНЫЙ файл принтера на печатающем КОlПьютере (ошибки прн передаче lanания); журна.'lЬНЫЙ фаЙЛ Прlнтер<l на маШШlеотпранителе (ошиБКl1 Прll пред нарительнои обработке 11 ПОСТШIORке за.'l3НШI R очрсд1)). При настройке yna:leHHbI" прннтерон не следует 3<10ыш.пь о TO"I. ЧТО на маШllнеотпраВJlтеJlе ДОЛЖНl сушсствовать ОLlсредь IIOСЫЛаС\..IЫ\ на печать заданиЙ. лолжен быть опредеJ1СН метод ПрШiЯТllЯ реШСllЮI о том. куда Посылать lал.аНlfе. а также способ пересылки зад.шия На удаленныи компыo тер. На Печатаюшем коr..Iпыоереe ДО.'1ЖНО быть место .nля постаНОВКlI за.'lашtя 8 очередь. права досту"па. необходимые д.'1я Toro, чтобы задание БЫ"lО напечатано. 11 способ вывода на YCТPOCTBO. 778 Часть 111 Разное 
Перед тем как начинать поиск причины проблем при сетевоЙ печати. проверьте, можно ли выполнять печать с локалы.юrо компьютера, к которому подключен принтер. 23.8. Основные проrраммы печати и ВSDсистемы, и системы SYSlem V обладают достаточными ВОJМОЖ ностями ПЛЯ орrзнизаuии очерепей. КОНТРОЛЯ и вывода заданий печати, однако ни в опной из них праl<.'Тически нет средств Ilреобразованмя форматов. необходимых ШIЯ УТlравлнИЯ современными принтераМИ. В большинстве сноем произвопители обеспечивают как минимум опин набор инструмеитов. По]ВОJ1ЯЮIШIХ дополнять системы печати необходимыми пля форматирования компонентаМI.,. Иноrда этот инструментариf.\ включается в ОС. но чаше вcero он постаRПяется как расширение. за отлельную плату. Кроме Toro, широко используются пакеты третьих фирм и бесплатно распространяемые проrpаммы М ы не ставили перед собой задачу подробно описать здесь эти проrpа"-iмные средства. В данном разлеле дается 'Н1ШЬ краткий обзор их фУНКЦИОIа.У]ьных возможностей. Проrроммо rlpr Если у вас нет желания резко l1ереходить на ИСПОЛЬJОМllltе LPRng. но есть необходимость улучшить проиесс печати на удаленных прннтерах. то обратите внимание на пакет rlpr. Данный бесruтзтный пакет содержит команды. которыми МО::+''НО заменитъ станпар1'ныe клиентские команды печати систеfdЫ BSD (lpr, Ipq и Iprm). Эти новые команды полностью совместимы со станпартНЫМlf, но имеют ряд новых функuий. более защишены и надежны. Комашы Пакета rlpr отправ..тlЯЮТ зад3IИЯ печати непосредственно на сетевые принтеры (и поддержи"-вают большое КО]fичестrю различных принте ров) без обращения к локальному демону Ipd. Локальные службы печати 110ЛНОСТЬЮ иrнорируются. Lrro aeT RОlМОЖНОСТЬ 110ЛЬЗОRателям печатать на новых npIIHTep;LX и сеРllер(\'\ печат.t без вмешатеоlьства систеМllоrо админlt страторз. ДомаШНJIЯ странннз д.'IЯ пользователей Пакета rlpr находится по адресу IrLlffLllа.СOIп/rlрr. Это прОI-раМI\.IIIОе обеспечение работает в большинстве систем LJNIX. Прorроммо ghostscript Проrpамма ghostscript  это бесплатно распространяемый интерпретатор формата Pos(Scripl. которыи позволяет просмаТРИR<lТЬ файлы PoslScripl на экране. Есял "У.А<IIО Уllрав..llЯТЬ каЮIМIfro устроЙствамн нывода pCтpOBЫX IIзображений. а ны не хотите тратить лсньrl1 на КОМ\fеРЧССКl-lЙ дрзивер. можете попробовать на1111сать свой драЙвер на б.не ghostscript Опнзко Ifмеите в виду. JТo очень СJlОЖllаJl lадзчз. СушеСТRует несколько версий IIроrрЗМ"fЫ. Ин формаuию о ШIХ можно lfаtlТИ на WеЬУЗJlе w\\'w.glюstsспрt.соПl. Проrроммо mpoge Пакет П1раgе  .по конвертер TeKCTOBoro формата в формат PostScript, который лает возможность размешать несколько rJОП1чеСКlfХ страюш на олнои физическоЙ. Использование :.поЙ IIрОrpзммы ПО180.1яеТ СЭКОНОМIПЬ большое КОЛНIIССТВО БУМIЛI 1 reM самым с"асн! жи.шь множеству леревьеu. в r лаво 23. Печать 779 
особенности Korna речь идет о Печати, например, исходных теКСТ08, rде можно обойТись без KpYnHoro шрифта 1-1 широких полей. Проrроммо enscrlpt Фирма Adobe разработала nporpaMMHbI ПрОду1<т еп.спрl. лреДllаlНачен ный ШIЯ преобраЗОВ8НИЯ текстовых файлов в РоstSсriр\файлы ,lL1lЯ печати. Это проrpаммное обеспечение и подобное ему выдает поток текста, "понятноrо" РоstSсriрtпринтерам. Кроме Toro, enscript обеспечивает форма тирование текста, например задание сложных титульных страниu IIЛИ Печать двух страниц В уменьшенном масштабе на одной стороне листа. Несмотря на то 'tJ'O фирма Adobe прекратила ЛОJJдержку этоrо продукта. он по-прежнему является неплохой альтернативой стандартным среДСТRclМ Печаrn. GNUврсия ПрОтр8ММЫ enscript распростраtlяется бесплатно и обладает обратно совместимостью с версие фирмы Adobe. GNU..рсия enscript также облвдает дополнительными функuионзльными UоЗМОЖНОСТЯМII. такими как выделение текста на определенном языке, подn.еРЖК8 раЗJПII.1НЫХ размеров бумаrи, заrpузка 8 принтер шрифтов PosrScl'ipt и Jадание по-"ьзо вательских титульных страниц. GNUверсию проrpамr-.ibI enscript можно получить по адресу people.ssh. fi/mtr/gел.сriрt Так как большая часть работ по ЭТОМУ проекту была 8ьmолнена Маркку Росси (Markku Rossi) из ФИL'1ян..nии. то по УМО;Iчанию используется формат бумаrи Д4. Для "американизаuии" GNUверс..ш enscript после инсталлЯЦии запустJ.ПС комаНдУ сопПgurе С таким apl)'MeHToM: ,.. ./con:t'i.gur. wi thm.di.a-Lett.r Формат бумаrи также можно Зi:lдать в командной строке запуо..а encripr. Если вы забудете указать формат 6умаrи и примените проrрамму cnscripr ,!l..ilЯ i1ечати на высококлассном приrrере, в различные подающие лотки KOToporo заrpужена бумаrа разных типов. принтер может вовсе отказтъся печататъ задание. 23.9. Основные принципы работы спринтером Oct-108НbIе неприятности, неизбежно сопутстнуюшие рбоп: с принте ром,  )то различноrо рода неисправности и сбои. Впрочем, если ЧТОНl1будь работам не так, остается только радоваться. что это не MS DOS. Орrонизуйте учет работы принтера Учет работы принтера необходимо орrанизовать даже в том clТ}'lfOle, если вы не собираетесь взимать мату за печаТЬ. НаI018Дные рас)(оды позрастут незнзчительно, но появится возможность видеть, кто и как часто пользуется принтером. Кроме Toro, можно будет получить информацию об источниках задани на печать. которая окажется весьма полезной при конфиrурировнюt новых принтеров. Используйте страницызаroловки только в спучое необходимости Система печа'-и может предварять каЖдое задание страниuел информаЦИJI о He\i. Такие страниuызаrо.Т'JОВКII полезны при работе с ПРllнтерами. 780 Чосп. IJI Разное 
которыми пользуются "-iноrие сотрудники, но если принтер заrpу...",,:ен не СИЛЬНо или используется лишъ неСкОЛЬКИМИ пользователями, то печать заrоловков будет лишь тратой Flрсмени PI бумаrи. Если вам это не H}')I(HO. вьmолните ПОдавление печати заrоловКОВ. В ВSDсистемах это делается путем установки в базе ланных printcap булевой перемtнной 511 в значение "истина", а в Sys[em V нужно ПрОСТО иСКЛЮЧPlТЬ reнераuию заrоловка из интерфейсноrо сuенария. Обеспечьте утипизацию 01ХОДОВ Все видЫ компыотерной бумаrи приroдны J( переработке. Коробки, в которых ПОСТ88Jlяется бумаra, MOryт бьrrь использованы в качестве контей неров ДЛЯ ненужных листов. Проеерьте, чтобы Такие коробки не сo.nержали посторонних материалов (например, скрепок. скоб скоросшивателей и rазет), и маркируйте их соответствующей надписью, Чl'обы утиль не отверrли. Обеспечьте предварительный просмотр Часто бывает так, что после распечатки доК)'Мента пользователь обl-lару жи-вает незначите.rrьнуlO ошибку и форматировании, и прихолится распечаты вать все задание заново. Ненужноrо расхода бумю.и можно избежать, еСЛ1l инсталлировать спеuиальные проrpаммы. Jlозволяюшие увипеть rOToRbIA к печати текст на экране ДJfсп.тlея. Средства прелварительtlоrо просмотра встроены во мноrие современные WYSIWYGpeJlaIOopbl. НО ecJrn пользователи преnaны старым наборкым системам, придется поискать друтой способ ПрОСМQтра дОкументов. Некоторые дoКYMelfТЫ в формате PostScript можно просматривать с помоЩЬЮ nporpaMMbl ghostscript. Для rоffJlоК)'Ментов пОДХОJlИТ nporpSMMa xditsee, а JlЛЯ ТеХ попробуйте xdvi. После инсталляUИJ! неоБХQJlИМЫХ nporpaM" просмотра следует обучить пользователеА работе с ними. Можно I.-rзучить учетные запИси печати, чтобы выявить документы, которые печатаются MHoroKpaTHo, и принять необходимые меры. Приобретойте дешевые лринтеры Современный уровень печатаюшей теXН1iКИ Я8Jlяется весьма ВЫсоКИМ, и на устройства с ВысоКоЙ производmельностью и нanежной механикоЙ сейчас не нужно тратить мното средств. Не rоняйтесь за дороrими принтерами "ШIЯ рабочих rpупп", если в этом нет острой необходимости. По ПРОlпводительностн. скорости ПечаТИ и надежности "персоналъныЙ" притер среднеrо уровня во мноrиx случаях не усryпает дороrому "rpупповому". не rОRОря }')I(e о том, ЧТО он на леСJlТКII ФУI-1ТО8 леrчс. Принтер с произвопитепьностью 10 страниu в мин'ТУ может обсл)-л<""Ивать пять ппатных Юlерков, поэтому ropa3дo BbТromee }....'упить ПЛЯ rpyтmbт из 25 сотрудников пЯтЬ тысячеДОllларовых принтеров. чем олин за пять тысяч. НикоriIЗ не ПОk.)'пайте принтеры (да и жесткие диски, память и т.л., v прОД8ВllОВ компьютера". Онн обдерут вас КаК липку. Лучшие прннп:ры  Роs[Sсriрtпринтеры. Rыпускаеые для рынков РС и Macilltosh. На наш взrляп, преВОСХОДIiЫМИ (11 при ЭТОМ очень дешевыми) ИЗдеЛИЯМI-I я-в..llЯlOТСЯ принтеры HP 11 Apple. r ЛОВQ 23 Печоть 781 
Держите под рукой запосные кортриджи стонером в лазерных принтера..'\ нужно рСI)JlЯрНО менять карТрИJlЖИ с Юllером, поэтому всеrдз перЖJrrе ПОЛ рукои запасные расходныс мате.риалы. HaJНILIlfC полос и сероватых участков на документа.х ПРН"]t-IЗIo.. Toro, ЧТО тонер заканчивается. Перед тем как менять картрилж. выньте ero из принтера и осторожно встряхните, чтобы перемеШ8ТЬ оставuшеся частИUЫ тонерз. Иноrла таким способом можно ПОJl}fl..!IПЬ еше сотню лруrую странии_ Вместо замены КЗp1lJилжей их МОЖНО заправи rb НОВЫМ тонером. Хорошие фирмы не ТОЛЬКО заправляют картриджи. НО и производят ИХ чистку. а также заменяют барабаны. Такая YC.iT)Ta СТОИТ noporo, но это нсе равно дешевле, чеМ покупать новые картриджи. У нас заправленные картриджи работзI01 не хуже новых ПРОИ3RОllИТС;IИ ПрИНП:рОR получают больш\'ю часть СROИХ доходов ОТ пропажи чернил и спеuиальных ВИДОВ б 'мЗI.И. В IJОС;lет-tее Время некоторые жanные ПРОНЗDОДИтели нача.:IИ выпускать J<:ЗртрIIЛЖИ. которые нельзя повтор НО З811раRИТЬ. Перед покупкой KOIIKpeTHoro I1ринтера поишите 8 Web информаllИЮ о то"!, сушествует Ли служба Зallраики каРТРl1джей для этой модели. Зощищойте принтеры Большинство современных сетеВЫХ принтеРОR поддеРЖllвают средстна удаленноrо упраRЛСНИЯ. Возможность удаленноrо управ.1еНI1Я очень удобна ШIЯ системных 3ДМI1НИСтрЗТОрОR, так как они MOryт 8ЫПОЛНЯТЬ KOl-lфl-lf)'рИ ровзние без беrотни по комнатам. Обычно .lL'IЯ удаЛСlIноrо праВЛСIIШI прнменяются проrpЗ'-tмные средства. работающне по rJрОТОКОЛ3М telncl. Н1ТР Plли SNMP Такие проrpзммы позволяют апМИНllстратору JlО сетlt зап пь IP aдpec принтера. шлюз по умолчанию, сервер ре' истрации системных собьmlЙ. имя SNl\.1P. параметры протокола И, чТО O\leHb важно, пароль. По умолчанию болыuинство принтеров, допускающих удаленное адми нистрирован-ие. не '1зшищено и паролъ ДПЯ ДО(1)'Т18 1< ним следует задаВаТЬ в процессе инсталllЯUИИ Например, чтобы задать пароль ШIЯ Hoвoro принтсра ИР JetDlrect посредством проrpаммы JetDireCL Telnet Сliепt, Сllачала необхо дима с помощью кнопок на прннтере YCTaHoBllTb ("10 ПJрэметры. каСШОЩIIССЯ протокола IP. Затем C.'leHYeT активи шров<пь сеЫIС tеlпсt СВЯ3J( с принтеро\., и ввести napo.'lb: % telnet howlBr lw > p4s."d Ent.er Password [16 charact.er max ; Password 5e-r. [.0 : nе.....раss о to aisab!.ej: > junktbond 782 Часть 111 Розное
24 Обслуживание аппаратных средств  rel  На протяжении мноrих лет UNIX служила базовой опсрauионной системой lUlЯ широкоrо лизнззона аппаратных платформ. KorдaTO десятки проrpаммистов совместно работали R ОДНОН системе, например в знаменитоЙ V АХ. В п: нремена OI"1юмные усилия тратились на обслуживание технИКИ и обеспечение блаroприятных УСЛОВИЙ ее :)ксплуатации. Опытные системные allMI-Iнистраторы знали об этиленrликолевых системах охлаЖдения СТОЛЬКО же. сколько об ynраRЛСНИИ учетными записями U N IX. Девяностые ronbI ознзменовались бурным ростом количества настольнЫх рабочих СТ3НUИЙ и уходом внебытие "больших железных яшиков., На KaKoeTO время показалось, что ЛНИ uентралъных машинныХ залов сочтены Однако СТрСМlпе.'1ЬНОС развитие архип:ктуры юmснт/сервер прииело к \'8еЛИ чению спроса на серверные платформы. на хоторых работает операU1l0нная систеfа. обеСllс'.шиаюшая rибкость, напежНосТЬ. безопасность и произво.пи тельность. Эту нишу заняла ОС UNrx. и миллионы серверов UNIX веРНУЛИСЬ в уже почти ОСТЫВllПfе машинные залы (правда, в больumнстве случаев рабочие плошади резко сократились). Задача формирования блаrоприятных условий эксплуаТ31lИИ этих серверон остается столь же актуалъно, как и ранее. В :нои rлаве мы Даем советы по обслуживанию аппаратных средств и поддержке раБОЧIIХ помешени в наплежзше\.f СОСТОЯНИI. НО ,'чтите. что некоторые 111 IIЗШИ'\ рскамендаuиЙ вступают R противоречие с rapaHTI1tfHbIMIt оБЯЗiпе.rrьствами праИ1ВОЛlпелеЙ. ДеuстВИlпlе иа свои страх U риск. 24.1. ОСНОВЫ техническоrо обслуживания Техническое оБСJlУжYlиание традИIIИОННО считалось областью. в которой заключалИСЬ пороrостоящие ежеrолные контракты. Таюrе контракты и сеrодня практикуются. но они не популярны. Стоимость обслуживания обычно составляет I o 11.% IIрейскурстп-юй иены устройства в rоД. Ее.'lИ вы можете позволить себе заключить TaKO КОН1lJЗКТ с ИJrОТО8ителем или авторитетной r rlOBO 24. ОБСf1уживаНIе аппороТI-tbl.'<. средств 783 
третьей фИРМОЙ, обязательно сделайте ЭТО. Если нет. то Бскоре вы сами выработаете "чутье" нв отказы и C"-ЮJКете составить свой план обслуживания Если в орrанизаuии ведется реrиС1lJашюнная книrа, то беrлый просмотр записей за последние ПОЛfодаrод ласт предстаВ.1ение об интеНСИRНОСТИ отказов. Рекомендуем аккуратно вести переченъ отказов и замен KOMrt1eK т)'юших Иlдей, чтобы можно БЫ.'10 дать точную оиенку различным Rариантам обс.тт)'Живания. Некоторые З.'1сменты дают сбоА чаше, чем пре.ау сматривается изrотовителем, поэтому контракты иноrда не только удобны, но и BbIronHbI С финансовой точки зрения. Помните, однако: прихолит время, коrда все оборудование нужно уже не оБСЛУЖlfВ8ТЬ, а МеняТЬ. Не Ilропустите момент и вовремя лайте своим аппаратным срелетвам "тихо уйти на покой". Можно даже подарить списанное оборудование местНой ШКО;Jе ИЛИ УНИRер ситету. Для них аппаратное обеспечение редко бывает слиUЛ(о\.f старым. 0' Подробно о спиСЫ8стии оборудования рйсск.й:JЬ/8йеmся 8 пйраZрйфе 27./2. В настольных раБОЧИ)i станuиях обычно установлены материнские платы, не подлежащие ремонту со стороны пользователей. Они лешевы и очень надежны, но еслИ псетаки чтонибуль откаЗЫRает, приходится заменять всю плату. На наш взrлял, самая лучшая \.fетоди-ка обслуживания  это та. в ОСНОНУ котороА положена стратеЛfЯ "избирате.'1ьноА rарЮПIIИ" ИзrОТОl:IителJ-t .1ис"о- водов часто дают ПIрантиlO до пяти лет, а у некоторых МОДУJ1ей na'tJlTIt срок работы вообше не оrpаничен. rарантийный срок MHOfltX рабочих стаНlIИЙ  минимум тод. Покупая новую техник\'. выбирайте ТУ. у которой самыЙ большой rарантийный срок.  это ПОЗВОЛИТ в конечном итоrе СЭJ.:ОНОМItТЬ денъrи. 24.2. Контракты на обслуживание Некоторые крупньте коtпаНIIИ предлаrзют услyrи по оОсЛУЖIIНilНIIIО аппаратнъlX средств, выпускаемых Др'fими фирмами. Эти компании часто стремятся вытеснить Iпrотовителя и занять ero место И ноша можно доБИТЬСJl очень BbIronHOro контракта на техническое обслу'живание, настроив изrото. вителя против третьей фирмы Если есть возможность, собеРJпе сведения обо всех потенuиальных срвисных иентрах. К сожалению, сервисные ueH1lJbТ не всеrда способны диаrностировать проб.lемьт на }ровне более rлубоком. че"-t печатные платы в Ue."J:OM. ЕС11) старая шутка: "Сколько оБСJТУЖJlВilюшеrо перСШlёlла нужно ПЛЯ 1змеlfЫ спустившей Ulины? Четыре le'10ReKa  по одному на каждое КШlесо" Часто бывает так, что инженер по pCMOHTV просто Hayraд меняет платы, пока система не заработает. Типичный проuесс обслуживания состоит из нескОЛЬКИХ этаП08, и ero характер зависит от nfПа сервиса. Обслуживание на месте Если контра.....! препусматривает оБСЛ}')I(Иn"1.ние на местс. то Иllженер по ремонту принесет ]uпасные "ldСТИ прямо к r..ЫШltне. fараНТИРОRЗliНЫJ1 еро... ero прихода колеблется R прсле:fах от leTbIpex ..10 ДВ.1дllати четырех 'laCOB f1 как правило. оrоварll8ЗСТСЯ Б контракте,. В раБО'lее "ре'iЯ 8М]8ННЫЙ СПСllИалист обычно приходит rОрЗ1ДО быстрее, чс:о.l В нераБО'-lсе. 784 Чось 111. Разное 
Обслуживание с заменоЙ плат Контракт на замену плат требует от allминистратора и ero ПОМОШНИКО8 С6МостоятелЬНоrо диаrностирования проблем, возможно, при помощи спе uиалистов СЛ)""А<бы круrлосyrочной поддержки фирмыизrОТО8ителя. После выявления неполадок нужно ПозВониТЬ в службу, описать их и заказаТh необходимую плату. Плата. как правило. отправляется немедЛенно и поступает На следуюший день. Ее H}')I(HO УС1'8НQВИТЪ, включить аппаратуру, убедиться, что все работает нормально, 11 вернуть На фирму старую плату в той же упаковке, в которой была получена новая. Иноrда изrотовитель i1рисваивает каждой сервисной операции номер разрешения На возврат покупки. Ero следует написать на сопроводительных дОкументах, отравляемых со старой платой. rарантии rарантиnный срок, установленный изrотовителем аппаратуры. ДOJ1же11 I-irpзть значительную роль в расчете затрат на эксплуатаuию оборудования ОбыIНОЙ аля компьютеров является трехмесячная rарантия. но иноrда дают rод и даже больше. В университетской среде, похоже. rораздо леrче добиться федеральноrо финансироваюtя капиталовложений. чем денеr на содержание обслуживаю щеro пеРСОН8JIа и orтaтy сервисных уcлyr. Мы ИНОfда оМачивали "продленную rарантию" на новое оборудование (ее можно СЧИТаТЬ также обслуживанием с предоллатой), 'lТобы превратить доллары, выделенные на закупку оборудо вания, в доллары, которые можно потратить На обслуживание. Если заказы На компьютерную систему ра.змеЩ8ЮТСЯ в нескольких фирмах, ее компоненты обычно поставляются не одновременно. rарантийный срок должен начинаться только с момента доставки Bcero оборудования и монтажа системы. И еше: учтите, ЧТО при нвJ11.fчии большоrо числа компонентов самые большие проблемы в плане оБСЛ)""А<ИВания и Надежности возникают почти сразу после установки системы. 24.3. УХОД за печатными платами СеrOlIНЯ редко возникает необходимость "влезатъ" внутрь системы для установIOI или замены печатных плат. Системы на базе ПК являются ИСЮlючением. так как шlя постижения уровня стандартной рабочей станиии в них нужно установить четырепятъ плат расширения. (Подсчитаем: SCSI. ауnиоплата, видеоплата. сетевая плата, модули ПаМИiИ... Oro А ЧТО же Torna установлено на самой материнской плате?) С печатными платами нужно обрашаться аккуратно. не ронять их, не проливать на них кофе, не I01асТЬ на них книrи и Т.П Мноrие наладчики (имеются в виду те обаятельные спеuиалисты, которые приходят из фирмы, с которой ваша орrанизаuия заключила КОнтракт на оБСЛ)""А<ивание) обраwа ются с ПЛатами раз н десять rpубее положенноrо Статическое электричества Электронные компоненты чувствительны к статическому электричеству. Чтобы не повредить плату', перед установкой и во время нее следует заземлить себя. 3аземляюшиЙ провол, одетый на запястье и соединенный со специальным ковриком, на котором вы стоите на коленях {большинство компьютеров r ЛQВО 2.4 ОБСЛУЖИВQНL1е оrпарОТIth!Х средств 785 
требует поqтительноro отношения!), надежно предохраняет платы от стати ческоrо электричества Помните о том, что беспокоиться о статическом электричестве нужно не только во время установки платы. но и при первом вскрытии упаковки, в которой она ПОСТЗШIяется. Это особенно важно в том случае, если пол помещения покрыт ковром: ковры reнерируют больше статическоro элек-rри честна, чем обычные полы. ВОТ ОдИН из способов снятия заряла с ковровых покрытий. Купите в отделе хозтоваров антистатическое средство и раз в неделю распыляйте водный раствор этоrо средства на ковре (на компьютеры брызrать не надо). Эта проuедура снижает уровень cr8тическоro заряда до минимальноrо. 1-1, кроме Toro, в помещенИ11 будет стоять свежий апрельский аромат. ПереуСТQНО8КQ плот Мноrие аппаратные проблемы можно устранить, просто ВЫЮIlОЧИВ питание оборудования, переустановив интерфейсные платы (SCSI, Ethemel и т.д.) И включив питание вновь. Для этоro необходимо BЫнyrь каждую плату из посадочноrо rнезда (обычно это разъем с высокой плотностью размешения контактов) и установить вновь. Если Проблема на некоторое время устраня ется. но через неделю или месяu возникает вновь. зто, скорее вcero. rоворит о плохом контакте между И'Нтерфеfkной и материнской ПЛатами. Если на плате смонтирован ториевой разъем, вьrraЩJfте ее совсем и ПО"-lиетьте контакты обычным ластикuм. Резинка не должна быть старой и жесткой; еслм она плохо стирает карандашные линии с бумаrи. то электри ческие контакты она тем более не очистит. Старайтесь не прикасаться к контаК'Там пальцами. Протрите их ластиком. отряхните крошки и установите rтaтy На место. На некоторых материнских платах (особенно в персоналъных компьюте рах) до сих пор устанавливают микросхемы, располaraемые в rнездах. Со временем качеСТ80 соединений в rнездах ухудшается, rлавным образом изза вибрации, вызванной работой вентиляторов. Попробуйте восстановить KOH такт. СИЛЬНо нажав на микросхему большим палъuем (естественно. сначала следует надеть антистатический браслет). 24.4. Мониторы Монитор  наименее надежный компонент современной компьютерной системы. Во мноrих моделях мониторов ряд важны" реryлировок можно про изволить только на плате. Как известно, в мониторах часто используется напряжение 8 десятки тысяч вольт. сохраняемое длительное время даже после ОnCЛЮ"-lения питания. Изза опасности поражения электрическим током ШlЯ реryлировки монитора рекомендуется приrлашать квалlfфицированноrо спе lIИалиста Не llытаитесь налаживать .монитор самосmоятельно. 24.5. Модули памяти в современных аппаратных средствах в основном применmoтся не отдельные мm<pocxeMЫ памяти, а модули SIMM (Single Inline Memory Module  модуль памяти с однорядным расположением выводов) иJrn DIMM (DuaJ Inline Memory Module  модуль памяти с двухрядным расположением 786 Чость 111. Разное 
выводов). Емкость этих модулеи. устанашrиваемых на одной маленькои плате, составляет от 256 Кбайт до 5 J 2 М байт. Если требуется расширить Паrять рабочей стa.нuиJf юти сервера. молули памяти можно заказать в какойнибунъ третьей фирме и установить и\': самостоятельно. Не покупайте память у продавцов рабочих станmtй: онн обдерут вас как ЛИПJ<..'У.. Добамяя память, будьте шедрым. Цены на память постоянно снижаются, одновременно с этим уменьшается и число слотов расширения на тиrrnчной материнской плате. При самостоятельной установке модулей памяти соблюдайте два основных правила. Модули памяти в большей степени. чем прyrие устройства. чувствительны к элеюростатическим зарядам. Перед тем как открывать упаковJ<..'У с модулями памяти, хорошо Jаземлитесь В разны}\ система.'< для монтажа модулей памяти на материнской плате npименяются различные разъемные соеДинеI01Я. Обычно модули BCTaB ЛЯются достаточно леrко. а вот Ш!Я ИХ изъятия нужен спеuиальный инструмеJП. Не полданайтесь искушению открыть зашелки шариковой ручкой или скрепкой. потому что это часто приводит к повреждению разъема 24.6_ Профилактическое обслуживание в некоторых устройствах имеются воздушные фЮIЬТРЫ, которые нужно ретулярно чистить или менять. Забитые фильтры препятствуют ЮlрКУЛЯUИИ воздушноro потока. что может привести к neperpeBY. а это одна из основных ПРlfЧИН отказов аПllаратуры ВеНnШffiLИонные отверстия на всех устройствах Bcer.na нужно держать открытымн. Часто можно видеть КНЮ"Н или rазеты, лежапше на веНТIfЛЯUИОННых отверстиях. В таких случаях к наруш--ителю не rpex прнменить и физические меры воздейстВИЯ Бсе устройства с ивижущимися частями требуют ретулярной смазки, чистки и профила.....,.иКи I1РИВОДНЫХ узлов. Сказанное относится rЛ38НЫм образом к CTapъr1v{ построчнопечатающим принтерам, а Т('Iкже к старым лентопротяжным мехаНJtзмам JI иисководам (все ДИСКОВOlIЫ. BьrпycKaeMыe ПОСЛe.m-tие лет пять, полностью rерметичны и обслуживания не требуют). Следите за старым оборудованием и. едва заслышав визr. ПРННИМJите соответствуюшие меры. В сернерных системах чаше 8cero ломаются вентилятор It блок mпаlilfЯ. Это особенно а"''ТУ8ЛЬНО lL'IЯ персонаТ1ЬНЫ" КО1\тыотеров, rде оба устроиства заюпоченьт в одно,,-, смеННО1\! модуле. Периодически проверяйте ФУНК]JИОНИ рование венmляторов. ЕСЛIf OHI'! начинают выходить из строя. необходимо заменить весь модуль. иначе возникает риск переrpева компьютера. Не lIытайтесь самостоятельно смазЫН8ТЬ вентилятор: эта процедура может ОТСРОЧIПЪ неизбежный крах, а может и }'суryбlПЪ проблему либо привести к повреждению друrих I{омпонентов. В пылы-юй среде компьютерные компоненты ВЫХОДЯТ из строя rораздо чаще. чем н ОТНосительно чистом Помешении Пыль попадает в воздушные фЮIЬТрЫ, высушивает смазку. забивает движушиеся механизмы lHanpm.1ep. веНТЮIЯТОРЫ) и покрывает устройства слоем "изоляuии". сннжаЮШIfМ ИХ способность рассенвать тепло. Реl)'ЛЯРНО прочишайте воздушные фильтры. Имеется в виду не КОМплексная покупка. Прио6ретение naМRТИ в составе roтoвой системы может бьrrь весьма выrодным иелом ШlЯ покупателя. r лове 24. Обслуживоние оппоратных средств 787 
При раБО1'е 8 неблаroприятных условиях рекомендуется иноrда проводитъ внyrpенНJOЮ чистку компьютера (любое помещение, в котором есть ковер, ЯRЛяется неблаroпрнятной средой). Удалять ПЬDIЪ лучше Bcero спеuиалькыми пьurесосами. но держите мотор не менее чем в полyrора метрах от системных компонентов ШlЯ уменьшения влияния маrюrrных полей. В компьютерном помещении следует реryлярно проволить уборку, причем делать это должен обученный человек, умеющий соблюпать nистанuию и беречь оборудование от повреЖдений (уборщиuам. как правило. доверять нельзя). Лентопротяжные механизмы также требуют ретулярной чистки. Большин ство кассетных накопителей чистится с помошью спеuиальной KacceТbI, а для Накопителей дрyrиx типов может потребоватъся ручная чистка техниче ским спиртом. 24.7. Условия зксплуатации Подобно ЛЮДЯМ, компьютерьt работают лучше и дольше. если находятся в блаrоприятной среде. Конечно, иi не важно, какой вид открьrвася из окна, но за прутми пврвметрами помешения необходимо внимательно следить. Температура Идеальная рабочая температура для компьютерной техники состав..'lяет от 17 дО 20'С прн влажности около 45%. К сожалению, она не соответствует идеальной рабочей температуре дпя пользователей. При температуре в компьютерном помешении выше 27C внутри машин создается температура около 45'с. для серийно выпускаемых микросхем верхняя rpаниuа диапазона рабочих температур составляет окопо 45"С (в этой ТОЧ1Се они лерсстают работать), а при температуре свыше 71.С .м.икросхе:мы выходят из СтрОЯ. Влажность Идеальная влажность дпя большинства коmьютерных устройств  от 40 до 60%. Если влажность слишком низкая, возникают проблемы, связанные с электростатическими зарял.ами. Если влажность слишком высокая, влаrа конденсируется на n.патах, ВыЗЫВая короткие заМЪТК8Ю1Я и окисление. Охлаждение офисных помещений в наши дни мноrnе компьютеры "коротают свой век" в офисах и вынуждены "выживать" в УСЛОВИЯХ общей систе"fЫ кондиuионирования воздуха (которая часто ВЫЮIючается по ночам и на выходные), с кипами rазет и книr на веНПUlяционных отверстиях. Устанавливая КОf\.ffiьютер В офисе, помюпе, что он будет поrлощать ВОЗДУХ. которым дышат люди. Инженеры систем отопления, вентиляuни и кондиuионирования ВОЗ1I)'Xа печально славятся своими неправилъными оценками реютьноА тепловой наrpузки помешенИ'Й, rде установлены компьютеры. Те. кто собирается рассчитывать производителъность системы охлаждения. должны ПШ.fНlПЬ правило: каждый человек в комнате производит 300 тепловых единиц (BTU) в час, Torna как средний офисный персональный компыотер  1100 епиниu. Не Позволяйте инженерам забывать также о солнечной наrpузке тех окон. которые пропускают пряюй солнечныЙ свет. 788 Часть 111. Розное 
Охлаждение машинных залов Тот, кому посчастливилось разместить свои UN IXcepвepbI в однОМ из тех модных маumнных залов с фалъшполом, которые были построены в 80e п. и оснашены средствами охлaжnения всей техники в зале. может позволить себе заботитъся лишь о базОВОМ обслуживании системы КОНДИUИО нироиания. Остальным же придется вспомнить М8тематш...'У, так кик важно праВИЛhliО рассчитать произнодите,i1ЬНОСТЬ ОХJIюк.дающей подсисrемы. Мы сrараемся тщательно проверять оценки охлажnaюшей МОШНОСТИ, выполненные спеuиалистами из фирмы по установке кондиционеров, oco бенно коrда речь идет о компыоерномM помещении. В чем М'ы "1М полностью доверяем, так это в расчете тепловой СОСТ8вляюшей. приходяшейся на потолок. стены и окна (не зэбы-пайте также о солнечной наrpузке). В данной области у инженров накоплен большой опыт и их оuенки достаточно точны. Проверки требует расчет Rнутренней тепловой наrpузки компьютерноrо помешенмя. Свой вк.1ад: в общую оиенку ВНОСЯi слдующие компоненты: . потолок, стены и окна (расчет прелоставляется спеШ1алистом); . элrктронные устройства; осветител ьные приборы ; . операторы (люди). 3лвктронные устройство Для вычисления количества тепла, производимоrа серперами (и д.рyrими электронными устройства",ш), необходимо определить их потребляемую мошность. Проше Bcero снять показания непосредственно со счетчика электроэнерпН1. Большинство устройств снабжено также паспортами. rne указана максимальная потребляемаJ.l мошностъ 8 виrrах. однако при нормаль ных УС.l0UИЯХ потребlеНllе энерrии не достиraеТ максимума. Теn.попвл мошность измеряется 8 друrих единицах  ВТUjчас (Bri[ish Thennal Unit  британская тепловая еДИНlfuа), поэтом)' значение потребляемой мошности необходимо умножить на 3,412 ВТUj(часхВт). Н8прнмер, еслн оборудуется компьютерное помешение с 2Sю серверами, каждьrA из которых потребляе'f 450 Вт, расчет пронзводнтся по формуле: ( 25 серверов ) ( 450 Вт ) ( з,412 BTU )  38385 BTU сероер час>< Вт час Осветительные приборы Как и в случае с электронными устройствами, вычисление тепловой наrpУЗI{И осветительных приборов основано на их потребляемой мощности. Типичный офисный светильник содержит четыре 40BaтrHыe фmoоресuент ные трубки. Если в новом помешении шесть таких светильников, расчет производится следующим образом: ( 6 светильников' ( 160 Вт ) ( 3.412 BTU )  3276 BTU  светильников часХ Вт час r лово 24. Обслуживоние оппаротных средств 789 
Операторы В компьютерном помещении реrулярно работают Ka",eTO люди. Теn...ю вая мошность К8Ждоrа из НlIX  300 ВТU/час. Предположим, одновременно в помещении нахОДЯТСЯ четыре че.10века. Torna: ( 4 человека ) ( 300 BTU )  1200 BTU чаСХЧfловека час Общая тепловая наrРУЗКQ После вычисления теПЛОВОй МОШНОСТlr каждOl"О компонеНТd нео6'одимо сложить полученные значения, с тем чтобы опрепелнть общую теП;IORУIO наrpузку. Допусти-м, спеuиалист по установке коншщионеров ПОДСЧ11тал. что тепловая СОСТ8вляюшая потолка.. стен и окон равна 20000 ВТU/час. Torna: 20000 ВТU/час (потолок, стены и окна) + 38385 ВТU/час (сераеры н пруте электронные устройства) 3276 ВТU/час (осветителъные приборы) 1200 ВТU/час (операторы) 62861 ВТU/час (ncero) Производительность Cf1CTe\.ibI ОХЛilжлеиия обычно выражается в fOlIH8X. Одна ТеПЛОRaЯ таl-lна равна 12000 ВТLJ/час. Необходимо также ввестИ коэффициент у\удшен1-tя (не менее 50%). '-ITO 110.J80ЛlfТ учесть поrрешность вычислений и бунуший рост тепловой наrpУЗЮ1: ( 6268 BTU ) ( 1 тоннаХ час ) ( 5) 1 час \ 12000 BТU 1,  7,84 тонн охлаждения Проверьте. то lПI ")тО значение. которое вам сообшил спеuналиет. Контроль температуры При эксплуатаuии компьютеров в промышлеНIJЬП: условиях рекоменлу ется вести контроль температуры (3 также пр}тltх факторов окружаюшеи среДЫ, например уровня шума и потреблясмоJ'; МОШНОСllf) в помещеНИlt. даже коrда администратора нет на месте. )--Iш,Шо.fУ не хочется после прекраСIIО проведенных -выходных прИЙТlt в IlQнепелыlltК 1-13 рабо!')' fI обнаружить на IIОЛУ ЛУЖИЦ}' рl'Т1JIаВ;lенноrо Пllзс-nrка. К счастью, 'lOжно Jюспользонаться услуrами системы звтоматическоrо контроля компьютерных помешений. Мы peKOMeH.II)ieM обрапnъ BHllMaHlle На семеЙства ПрОЛУКТQН Phonetics Sensaphone Эта недорапtе устройства, позволmошие следить за параметраМ1t окружающей срепы, такими как температура. уровень ш}ма It Т.Д.. И сообщать о возникших проблема" звонком на телефон (и.ли пейджер) адМИНI1С1J>8тора. Узнать об этих устройствах МОЖRО на \\'еЬузле WWW.sепsарhопе.сош. 24.8. Источники питания Компьютеры любят хорошее. стабильное 11 "чистое" ПlП.!Нllе. Для KOMnbIOTepHoro помещения }то о.тачает IЫJlf1чие стаОl1J1II1зтори напря жеlrnя  дороrоrо YC-lJIOfrства. которое фильтрует выбросы It 1I03ВОllяа устанавлпвать НУЖllые уровни и фазы напряжения. В офис.!х МОЖI-lО использовать фильтры. которые nOMor)'T уберечь апnарa-lУРУ от перепадов напряжения в сети. 790 Чость 111. Разное 
0" Серверы и сетевое оборудование МОЖНО под:ключитъ к сети через нсточник бесперебойноrо питаlПlЯ (UпiЛlеrruрtiЫе Power SlIpply. UPS). Хороший UPS может ПоJtКJ1ючаться к компьютеру через ннтерфейс RS232. Это позволяет источнику препynреЖ1lать компьютер о ТОМ. что напряжеНlе в сети пропало и что он должен успеть ВЫКJIЮЧИТЪСЯ до 1'oro, как сядут батаре " Проведенное исслелоиание пока зало. ЧТО 13% от обшеrо количества элеJ<..'"Троэнерпflt. потребляемой в СоешtнСННbJХ Штатах. используется ДJ1Я mпания компьютеРОВ. Трад:ИUИОНI-Iые UNIXI.:IfcтeMbl строились иа аnnар8Т ных и проrpаммных средствах, которые бъши рассчитаны на крyrЛОСУТОЧНУЮ работу. Сеrодня 24 часа в сутки должны работать ТОЛЬко серверы и сетевые устройства. Настольные компьютеры вечером нужно ВЫIOnoчать. Более подробные сведения о процедуре остаиова ("ucтe.lrfbI ('одер:ж:атся в пa раzрафе 2.5- У'l\ОПЯ домоЙ. tle забываlпе ВЫЮIlочать МОНIIТОРЫ и !lазерныс лринтеры. так как это OCI-IOВНbIе потребители элеКТРОJнерrии При nOJ<.YnKe tlOBOro оборунования IfШИТe устройства С сертификатом Energy Star. Ero наЛllчие rоворит О том, ЧТО УСlpОЙСТ80 соответствует требования-м ЕРА (Еп".irошnеПIаl Protcction Agепсу  Управ.пеНl1е по охране окружаюшсй срены) по энерrо сбережению. В частНОСТИ. мониторы Епеrgy Star после 0llределеннOI'0 периода бездействия автоматически отключаются От сетн. Удаленное управление питанием Иноrда UNIXcepвep прихолится реryлярно переrp'ЖIПЪ. ИJJа arrnilp.H ны:х проблем ИЛlI сбоев в работе ядра Возможно также, что в помещении имеются сернеры 'W'indows, которые сильнее ПОi18ержены подобным сбоям. В любом СЛУLlае мОЖет потребоваться установить систему. которая ПОЗВО!Н1Т осушеСТВJlЯТЬ Ш'lстаншюнную перезаrpузку серверов. Мы пользуемся l-Iе.дороrоЙ и популярной системой контра.1Я IlитаНJ{Я XIO. подключаюшейся к телефонной .'ЮНlIИ 11 реаrJlрюшей на тонопые ситналы. Базовая линия ПРОЛУ".ОR x 10 Оllисана (и продается) JШ \\:еЬузле wv./w.xIO.cOln. Более сложное If Hoporoe решение ПрС1L'1i'\rает КО\ШClШIЯ .АРс. [е про.ДУ"''Т MasterSwi[ch может управляться посрелством 'W'еЬброу]ера через встроенный ЕtI1еПlе(llOрТ. Полуtmть 11нформаuию о нем можно на WеЬ'У1ле v./ww.арсс.соПl 24.9. Стеллажи для аппаратуры к ужасу парней с УО'1ЛСТрl..rr. которые сЧитали фалъшполы СИмволоr-..1 КОрПораПfВноrо статуса. сронии обlаданию антомобll:lем ЛамБОРДЖI1JШ. .шоха ro..JaШИIIНЫХ залов с наСТОЯШИМI1 фальшполами \'ШЛ3 в прошлое Вы коrп нибудь пыта:шсь IIрослеДllТЬ rlpoВOllKY кабелей 110n одним И] этих ШIaСТIfКОВЫХ Ч-УД08ИШ! Наш опьrr пока]ыизет, что слово "фа.1ьшrЮ.I"J" ЯВ,.11-яется СИНОНИ"IO\I словосочетанlfЯ "KpbIl.:lfHoe rнездо". Если фальшпол Нельзя Ifе проложнть. ИСПО.lыуйте ero JL'1Я рo:lзмеШСНlIЯ элеl<,.ТРОI1РОВОПКI-I и Jшче;:о 60.lее. Прн обустройстве профессиона.1ЬНЫХ компьютерных 1l0",-,ешснlti1 ВаЖНО выдешпь комнату для машин сериерlfоrо класса. ВсерверноЙ KOMtl3Te можно ПОД перезаrpузкой понимается проиесс, при каюром компьютер ВЫКJIЮ'lают. ждут 3060 секунд, пока разрядятся батареlt. а затем снова включают r пово 24. Обспvживоние оппоротных средств 791 
реryлнpовать температуру и лрутие параметры окружающей среды; она также позволяет соблюсти требования физической безопасности серверов. С npофсссионалЬИОЙ точки зрения, единственный правильиый вариант для выделенноrа помещения  располаrать оборупоВ8.НМС в стеллажах (8 не, скажем, на столах ИЛИ на полу). В лучших современных системах стеллажн соединены подвесными КОНСТРУХЦИЯМf1 дЛЯ прокладки кабелей. Это припвет помешению высокотехнолоrичный вид. 24.10. Инcrрументы Чем лучше оснащен системный администратор. тем эффективнее он рвботает. Важно вcerna иметь под рукой набор необхоlIИМblX инструментов. чтобы быстро реаrnpовать нв возниквющие проблемы. В табл. 24.1 дан перечень инструментов, которые у 8Дминистраторв ДОЛЖНЫ быть с собой ИЛИ храниться неподалеку. т абnиЦQ 24.1. Инструмвнторй системноro одминистротора Инcrpyмеtпы общеrо ноэночения Набор крестообр83КЫХ отверток Набор плоских отверток Электротехнический нож Плоскоryбuы И крyrnol)'бuы Мелхие ювелирные отвертки Молоток с крyrлым бойком Специальные КQМПЬЮте ные инc\'J}менты Устройство Д1IR 3ВЧИC'ТlQ{ nPOВОДОВ (со вcтpo ениыми кусачками) Кабель.н:ыс СoeдИН.ИТeJ1И Запасные перс:ходные кабели катеroрии 5 для интерфейса RJ 4S Запасные разъемьа RJ 45 liифровой универСaJlbИЫЙ элсктроизмсри тельНЫЙ прнбор AmистаПlЧССКИЙ браслет Poo Список адресов сервисных центров 1 Номсра телефонов и пеАдж.еров специали СТаВ, рвбarающих ПО вызову Аптечка Шесть уnaxО80К хорошсrо пива I И raрантийны.е Талоны, сели имеются. - Пинцет НожнJ.ШbI Набор торцевых ICJlЮчей с УДJlИI1СНИЫ ми rоловками Малснький фонарик Набор шестиrpанных ICJlЮчсЙ Набор ключеЙ типа TORX (шести yrольна.я: звс.эда) Сетевой 8JiВЛИ3ЗТОр Прибор ДJLЯ извлечсIOUl микросхем Обжимной инструмент Д1IJI интерфеR са RJ4S Терм""аторы SCSI Коммyra.ционная П8JiСЛЬ Изолсиra Зубоврачебное зеркальце МобlliIЪНЫЙ телефон 792 Чость 111. Розное 
25 Анализ производительности @ f!1  rfYt Производительность  одна из наиболее заметных характеристик '1юбой системы, именно на нее чаще Bcero жалуются пользователи. м ноrие пользователи убеЖдены в ТОМ, ЧТО их СlIстемЬ! Mor;rn бы работать в два раза быстрее, если бы администраторы знали. как нужно настроить 3111 системы, чтобы реализовать заложенный в них оrpомныА Потенuиал. В действитель ности ЭТО чаще Bcero не так. Одно из известных заблуждений администраторов З3I01ючается в мани пулировзнии переменныии ядра, которые управляют ПОДсистемой виртуаль ной памяти и буферными областями. KorHaтo давно это было действительно необходимо и разумно. Сеrодня данная идея изжила себя. Вероятнее вcera, вы просто снизите общую "роизводительность системы и даже не узнаете о том, что сделаJIИ, продолжая тем не менее поздравлять себя: ах. какой же я ЮIзссный специалист по ядру! В современных системах ялро изначалъно настроено на достижение достаточной (хотя и не оптимальной) производитеЛЬНОСПf при различных режимах работы. Если попытаться оптимизировать систему по KaKOМYTO случайно выбранному показателю производительности, весьма вероятно, что поведение системы vxудшится Б отношении дрyrих показателей и режимов работы. Получение результатов кажется делом леrк-им, но выиrpыш чаше вcero  Не более чем иJu1юзия. В частности, относитесь скептически ко всему, o пишется в Internet. Какие только apryMeНYbI не приводятся в дискуссиях по производительности систем При этом большинство сторонников всевозможных теорий Не обllалает ни знаниями, ни ЯИСUИП'lиной. ю1 временем, необходимыми ДЛЯ проведения достоверных экспериментов. Широкая подnержка пользователей также ничеrо не значит, ибо каждое rлупое предложение очень часто сопровождается хором восторженных комментариев: ., Я увеличил размер кэшбуфера в десять раз, как предложил Джо. и енстема заработала rор!\здо. rор!\здо быстрее'!!". Коекакие срепства управления произволительностью. конечно Же, име ются. Просто нужно помнить о том, что для достижения высокой произво дительности недостатоl.JНО "волшебных" исправлений или "заrUlат'. Соблюдайте лва OCHOllНbLX правила. r лово 25. Анолиз производительнос.ти 793 
Не переrpужайте систему и сеть. UNIX создает для каждоrо проиесса иллюзИЮ бесконечности ресурсов. Однако, как только в дело вступают Бсе 106% ресурсов системы, оnераLПЮННОЙ системе приходится работать очень напряженно. На подпсржку иллюзии расходуется ощутимая доля са\ШХ ресурсов. В результате проuессы замедляются. . Собирайте и анализируйте )(роНолоrnчес....---ис данные о работе системы. Если еше неделю назад был пОЛНЫЙ порЯдОК, а сейчас все мзменилось, сравненис характеристик системы в двух состояниях позволИ'Т выявить источник проблемы. Всеrда пержите при себе список оптимальных параметров прОИЗВОдительности. В .Jтой rлаве мы сосрепотоl.rим внимание на произвomrreЛЪНОСПI cepBep ных систем. В наСТОЛЫIЫХ система.х описанные ниже проблемы, как правило. не возникаюТ. поэтому ответ на вопрос о том, как повысить производитель ность настолЬнОЙ системы. обычно прост: "Проведи модернизаuню". Поль ЗQвате.'lЯМ такой ответ нраВlПСЯ, поскольку он означает, что им чаще придется устанав.rшшпь У себя новые модные систеМЫ. 25.1. Как повысить производительность . Приuедем ряд советов, касающихсЯ повышеl-ШЯ ПРОИlводительности. УбеДliтесь, что в системе достаточно памяти. Как будет по'КззаНО ниже. объем памяти  ОДИН Иj основных факторов, ВЛИЯ:ЮШИХ на ПРОИЗRОДИ тельность. Память сеrодня стопь дешевая, что ее можно оператИIНО наращивать при первых же признаках заrpуженности системы. Устраните проблемы, связанные с Itспользованием ресурсов. ПроблеJЫ MOryт создаваться как rЮJlьзовате.лями (одновременный запуск СЛИLIIКОМ большоrо количества ]адiiНИЙ, неэффективные методы проrpаммирова ния, выполнение заданий с завышенным приоритетом. запуск rpомоздкИ,\ протрамм в часы пик), так и самой системой (квотЫ. учет времени uентральноrо проuессора, неНУА{ные демоны). Если UNIХсис...Lема используется в качестве \V'ebcepвepa или ceTeвoro сервера приложений, распределите трафик между несколЬКИМи КОМI1ЬЮ терами с помощью коммерческой системы выравнивания наrpузки, например Local Directof КОf,ffiании Cisco (WWW.СtSСО.СОПl) или .A.CEswltch компании Alteon Networks (\vwv,.'.altеоп\vеЬsуstеП1s.соm). Эrn YCтpOCTBa делают таК, ЧТО нескольКо физичских серверов начинi:!.ЮТ ВОСПрliНltмаТ6СЯ внеuл.шм МИрО\-f КаК ОДИН лоrический сервер. Распределение наrp)3ЮI осущеСТRJlЯСТСЯ по алrоритму. выбираемому ПОЛЬЗ0вателем. Такие системы обеспеч-ивают также избыточность данных на случаЙ. если один из серверов выйдет из строя. Они совершенно необходимы, если система должна вьшерживать внезапные "всплески" активности. Орrанизуйте жесткие диски и файловые системы так, '"Побы сбаланси ровать наrpузку на них и таким образом максимально повысить пропускную способность средств BBoдaBЫBona. В специфических ситуа uиях, напри.мер при работе с базами данных, мОЖНО использовать технолоrию RдrD, позволя:юшую ОПТЮ"fИзировать обмен naHHbJMII. Необходимо отметить, '"ПО разные приложения и СУБП поразному BeIJyТ себя, булучи распределеННЫМII на несколъкО дисков. У теХНОЛОПf.и RAID имеется несколько вариантов реатпации, поэтому прилется потратить усилия на выяснение Toro, какой из них (если таковоЙ вообще Itмеется) попходит для дан}юrо KOIIKpeтнoro случая. 794 Чость 111 Роэ>юо 
Осуществляйте текушиЙ мониторинr сетм, чтобы избежать ее переrpузки и добиться низкоrо КОЭффf1uиента ошибок. Сети можно контролировать с поюшью проrpаммы net.stat. о которой рассказывалось в naparpa фе 20.4. . СконфиrvРf1рyfiте ядро так, чтобы отключить ненужные драйверы If onUJm. а также исполыовать системные таблиuы Koppe:KTHoro размера. Эти вопросы ОС8ешаются в rлаве 12. Выявите ситузuии. Korna система совершенно не y:uовлетворяет I1релъяп ляемым К ней требованиям Эти меры перечислены в порядке убывания эффективности. Подключение дополнительнОй паМЯТf1 и р,,"спределение трафика между несколькиМи cepBe рами может знаtппельно ПО8ЫСИТЬ ПРОf1зводительность. HeKoтopora улучше ния можно добиться З3 счет праВIOIЬНОЙ орrанизации системныХ дисков и устранения проблем с сетью. Все остальные меры MOryт и не пать желаемоrо реЗУЛЬТdта. 25.2. Факторы, влияющие на производительность ПрОf1звоmпелыюсть системы во MHorOM определяется эффеКТf1DНОСТЪЮ распредслеllf1Я и каллеkiИВlюrо использования ее ресурсов. Определение термина "ресурс" весьма расn.пывчато. Оно может подразумевать даже такие компоненты, как кэш содержимоrо реПfСтрОВ центральноrо проиессора и элементы адресной таблиuы контромера памяти. В первом приближении, однако, серьезное RJШЯllИе на производительностъ оказывают талька четые вида ресурсов: время использования Ilеитральноrо проиессора; памslТЬ; полоса проп}скзния дисковой подснстемы BBoдaBЫBoдa, n0.i10ca ПРОП\'СКalШЯ сетевой ПОЛСlIстемы. Кажпый процесс потребllЯeL некоторую часть ресурсов системы. Если после Toro как активные проиессЬJ взяли все, что им нужно, остались свободные ресурсы. можно сказать, что производительность системы является УДОRJ1етворительной. Если ресурсов недостаточно. проиессы становятся в очередь. Проиесс, не имеющиЙ немедленноrа доступа к необходимым ресурсам, должен подождать, ничеrо Прf1 этом не предпринимая Время. затрачиваемое на ожидание ресурсов.  один из ОСНОВНЫХ ПОК81зтелей ухудшения ПрОИЗВОДf1 тельности. Самый простоЙ с точка., зрения учета ресурс  время использования цеНТРЗJJьноrо проиессора (ЦП). В распоряжении системы бывает Bcerдa примерно одна и та же часть ero мощности. Теоретически эта веЛИЧf1на составляет все 100% uиююв UП, но "НЗЮIап.ные расходы" f1 пруте причины снижают эту llIfфРУ rneTO до 95%. ДЛя проиесса. ззнимающеrо более 90% времеtПf UN, оrpаничиваюшим фактором Я1illяется быстродеЙСТВf1е uентралk Horo проиессора. Такой проиесс потребляет большую часть вычислительных мошностей системы. МНОПfе считают, что быстродействие ЦП  самый ва'ный фактор из тех. которые В.'lиЯют на общую производительность систеtfЫ. При НЗЛf1ЧИИ неоrpаниченных объемов всех остальных ресурсов или для определенных типов приложений (например, проrpамм численноrо моделирования) быст родействие UП деЙСТВf1тельно иrpает роль. На практике же ЭТОТ показатель не столь важен. r лова 25. Анализ ПрОИ380дительности 795 
Настояшее узкое место в UN IХсистемах  канал обмена данными с жестким диском. Жесткие диски предстаRJ1ЯЮТ собой механические системы, ПОЭТОМУ на поиск необходимоrо блока, выборку ero содержимоrо и пробуж дение ожидающеrо ero процеСС8 уходят десятка миллисекунд. Задержки TaKoro ПОРЯдка отодвиraют на второй план нсе остальные ИСТОЧНКХf1 УХУlIШения произвол.ительности. Каждое обрашение к диску вызывает приостаиовку активноrо проuесса ..стоимостью" в несколько МИ'1Лионов коман.и UП. Поскольку в UNIX используется виртуальная память, то скорость дисковоrо обмена непосредственно связана с объемом имеюшейся памЯТи. В сильно заrpуженной системе с оrpаннченным объемом ОЗУ мя получения чистой страниuы Вf1РТУальной ШIМЯТИ часто приходится заm(СЫВ8ТЬ ее содержимое на дисК К сожалению, .это означает, что обрашение к оперативной памяти по своеn "стоимостн" приближается к работе с диском. Выrpузка и подкачка страниu, вызванные непомерно ра.здутыми объеМ8Мf1 выполняющихся проrpамм, в большинстве рабочи:\ стаНЦf1Й  Bpar номер один производительности Пропускная способность сети подиержена примерно таким же оrраниtlе ниям, что и скорость днсковоrо обмена. Ее ухудшение связано со BceB03 t.fOЖНЫМИ задержками Но ВОЗlIlIкающие np06.1e\lbI охватывают Ilелые сообшества, а не отдельные компьютеры. Кроме Toro, сетн ВОСПрИИМЧllБЫ к проблемам аппаратноrо обеспечения и преrpузкам серверов. 25.3. ПровеРКQ производительноcrи сиcrемы Проrpаммы анализа ПРОJ.flнодитеЛЬНОСТf1 в большинстве своем сообшзют О том, что происходит 11 даННЫI1 момент времени. Но следует \'"честь, ЧТО структура 11 характер lIаrpУ3ЮI в течеl-1ие дня изменяются Поэтому перед принятием мер обязательно rlроОСЛlпе нсесторонний аНЗЛ111 паННЫХ, касаlO щихся ПРОИ380дительности. Истинная ПРОИJводительность выясняется только после длительноrо (МССЯIl 11ШI даже больше) наблюдеl.If1Я за системоЙ. Анализ использовани центральноrо процессара Обычно собирают три вида даНIIЫХ О llеН1.РальноJl.f проиессоре: обlЩIl1 ПОКЗJателъ использования, средняя величина наrpУЗКIf и потребленне ресурсов с раз611ВКОЙ по ПРОllессам. Первая характеристш...а определяет, является ли скорость работы caMoro пронес<::ора слабым месТо.... Вторая харю\--теристика дает возможность OueHf1Tb обшую производительность системы. Даllные. касаЮШIIССЯ отдельных rlpOHeccoR. П0380.'lЯЮТ выявить такие проuессы. которые потребляют наибольшее КОЛИЧС(..iВО рее} реов. В большинстве систем требуемую информаUIiIО выпаст команда vm"iitat. а в Solaris и HPUX этой uели служит КОМ31---ша sar u Обе они IIрtНIIМ.dЮТ два apryMcHTa: время (8 секундах). u теЧСНrtе KOToporo нужно наблюдап>- за системоЙ llЛЯ ПОЛУLlеНIfЯ кажпоЙ стро","и nы'ХоДtIOЙ IIНфОрМ3ШIII. 11 нсоб"\ОШI мое число о'.четов. Н.lIlРЮ.lер: % 8ar u 5 5 13:33:40 \usr %sys \w..Lo \d..Le 13:33:45 4 58 21 11 13:33:50 7 83 9 О 13:33:55 9 7? 13 О 13:34:00 2 25 3 71 13:34:05 О О О 100 Average 49 10 36 796 Част.. 111 Розно 
Кома.ш8 &и п выдаст данные о доле времени uентральноrо проиессора, З8траченноro на работу пользовательских nporpaMM (uзr), на вылолнение кода ядра (%.уа) и на лростоА. При нвличии лроuессов, заблокированных в ходс въmолнения высокоскоростных оперauиЙ вводаВЫВОl18 (обычно это обращения к жесткому ДИСКУ), время простоя добавляется в катеrорию \\0.'10. в противном случае оно записывается 8 колонку 'dle. Команда vmstat выдаст MHoro разной информации. Сведения, касаюшиеся uеt-rrpалъноrо проиессора, приводятся в последних колонках: , VlUtat 5 5 procs page taults ери < Ь w <е mt pi ро t:r de в< in ВУ ев ив ау id О О О О О О О О О О 4 22 19 2 1 97 1 О О 67 2 О О О О О 26 751 52 53 47 О О О О 96 О О О О О О 39 1330 42 22 7l 7 О О О 16 О О О О О О 84 1626 99 7 74 19 О О О 1 О О О О О О 11 216 20 1 11 88 Некоторые колонки в этом примере опушены. Данные, имеюurnе отношение к выrpузке и подкачке страниц виртуальной пш.iЯТИ, мы пока рассматривать не будем. Пользовательское время, системное времЯ и время простая показаны соответственно в столбцах из, ЗУ И d. Большие числовые значения в столбuе uз обычно означают вычисления, а в столбце ЗУ rоворят о том, что проuессы производят оченъ м.ноrо системных вызовов или вьmолняют операции BBoдaBЫBoдa (команда vmstat показывает число системных вызовов в секунду в столбuе sy раздела faul ts). Выработанное нами за мноrие rоды эмпирическое правило, справедливое для большинства систем, rласит I что система должна тратlПЬ примерно 50% рабочеrо времени на обслуживание пользовательских запросов и столько же времени  на системные запросы. Обшее время простоя Не должно быть нулевым. В колонке cs показано число переключений контекстов за данный период, т.е. сколько раз ядро переключало процессы. Слишком большое значение в данном столбuе свидетельстаует о неправильно работаюшем аппаратном устройстве. Длительные измерения статистики работы центральноro проuессора позволяют определить, достаточно ли ero ресурсов для нормальной рабоТЬ1. Если проuессор тратИi часть cвoero времени на простой, значит I есть запас по тактовой часТоте. В этом случае увеличение быстродействия процессора HeHaMHoro улучшИi обшую производительность системы, хотя может и ускорить выполнение OTДeJJЪHЫX операций. Как видно из приведенных примеров, uентральный процессор постоянно перек.'lючается JiЗ реЖИ\-fа полной наrpyзки в режим полноrо бездействия и обратно_ Поэтому необходимо наблюдать за показателями. соответствующими обоим режимам. ''1 вывоLIИТЬ среднее за определенный период времени. Че\.f меньше интервал наблюдения, тем Ю1ЖС достоверность оценок. Центральный проиессор однопользовательской рабочей станuин обычно тратит на лростой 99% CBoero временн. Коrда залрашивается прокрутка содержимоrа одноrо из окон, ЦП справляется с этой операuией за несколько секунд. В такой сИТ}'аuш'l долrосрочный средн:ий показатель Jiспользования UП практически не имеет см-ылз.. Второй стаТИСТИЧескиЙ показатель. полезный для оценки интенсивности использования системы.  это средняя величина нarpузки. т.е. среднее число выполняемых проиессов. В обще-м случае сюда включаются проuессы. 1 r ЛОВО 25 Анолиз nрОLo1зводительности 797 
ожидаЮЩJiе обмена данными с диском или сетью. таК что это не '.чистый" показатель использования цп. Тем не менее он дает достаточное представ Jreние о том, на сколько кусочков режется процессорный "пироr". Среднюю величину наrpузки можно узнать с помощью кома..шы uptimc: , uptiшe 2:07рт up 4:02, 5 users, load avera.qe: 0.95, 0.38. 0.31 Выдаются три значения. которые в большинстве систм соответствуют средней наrpузке за пять, десять и пятнадцать MJiН)rr. Как правило, чем выше средняя наrpyзка, тем важнее обшая праизводителъность систеМЫ_ Если выполняется Bcero f1ИШЬ однн процесс, он. обычно, бывает оrpа..шчен одниме.динственным ресурсом (чаще вcero uентральным npоцессором или пропускной способностью жесткоrо диска). Пиковый спрос на этот ресурс и становится определяющим фаюором производительности. Коrда в системе одновременно работает нескольКо процессов, наrpузка может распределиться более равномерно. Если все работаюшие проиессы потребляют ресурсы ЦП, диска и памяnt. ТО зависимосТЬ ПРОИЗ80ДИТельности системы от оrраниченных возможностей KaKoroTo одноrо ресурса снижается. В такой ситуаuии rораздо важнее следить за средннми показателямн наrpузки. в частности за общим временем использования uентральноrо проuессора. Современные системы ruтoxo справляются со сре,nнеЙ наrpУ1КОЙ более 6.0 Покзззтелъ T3Koro порядка  намек на то. что нужно наЧ;:lТЬ поиск путей искусственноrо перераспрелеления НaI"рУЗКИ. например попросить ПОЛh30ва телей запускать длительные проuессы вечером или назначить проиессам приоритеты с помощью команДЫ nice. o ПодРQбнее о Ilриоритетах можно узнать 8 lIараzрафе 4. J. Средняя величина наrpузки  'Это отличная метрика для ПОRседневноrо коt-П'pоля сиете-мы. Если известен 1I0казатель нормально работаюшей системы и при возникновеНИИ проблем показатель находится в том же самом .nиаПаЗОНе. значит, следует нскать внешний источНик проблемы (это может быть, к примеру. сеть). В противном случае нужно проверить проuеесы самон UNIХсистемы Еше один способ контроля над использованием UП  посмотреть. К3I\:УЮ часть ero времени потребляет к8жlIы'А проиеес. Дпя 3Toro СЛУЖИТ команда ps с соответствуюши_fИ арryментзми (aBX в Red На! и FreeBSD, elr в HPUX и Solaris). Чаще Bcero оказывается. что в переrpуженной системе мннимум 70% времени ЦП потребляется однимдвумя процессами (помните о том. что Команда ps сама занимает HeMHoro ресурсов). Запуск проuессовпожирателеЙ в дрyrое время суток или снижение их приаритетов ПОЗ80ЛlП высвободить ЦП для выполнения 'nРУПIХ проuессов. Прекрасная альтернатива команпе ps  проrpзмма top_ Она выдает примерно ту же информаuию. что и ps. ио в .'живом" формате, ПОЗВОЛЯlOшем наблюдать за изменением состояния системы во времени. o Бо,]ее lI00робuйя lIнфОР_1rfйция о IIpOlpa \r.\re (ор содер.ЖUпlСЯ в парйzрофе 4_8. nроrpаммз top потребляет .повально мноrо ресурсов. поэтому пользуИтесь ею в разумных пределах_ 798 Чост!:. 111. Розное 
Управление помятью В UNIX Память обьf1ПiО орrанизована в випе модулей, называемых страниuаМI-I и имеюших объем минимум 4 Кбайт. Если эта величина превышает размер страниubt. поддерживаемый uентральнЬfМ проuессором ИЛИ kнтроллером памяти, Такие МОДУЛJ1 иноrда называют "кластерами страниц _ Дисковые блоки обычно меньше стрзниu памяти (1 Кбайт или 512 байт), поэтому ядро связывает с КRЖ..'ЮЙ записываемой страниuей несколъко блоков. ОпераUИQННая система UNIX старается управлять памятью так, чтобы страниubt, к которым недавно обрашались. >.:ранились в памяти, а менее активные страницы "выrружю1ИСЬ". ЭтОТ aлrоритм известен поп названием lRU (Ieast recenlly used  замещение наименее используемых элементов). потому чrо те стран-иubt. к которым далrа НИl<.'ТО не обрашался, перемещаlOТСЯ на писк OrслеЖИВ31-1ие всех обращений к страницам  СЛИШКОМ дорOl"Uе удовольствие иля ядра, поэтому в большинстве версий llNIX ислоль.1Уется статистический метод упрзвлеюlЯ памятью. известный как "алторитм часов". Он обходится rораздо дешеме системы LRU, а результаты дает такие же. Ядро ведет список неисполыуемых странии. которые можно выrружать на диск. Есди па\iЯТИ не хватает, страницы помещаются в этот список как бы в случайном порядке (на самОм деле существует определенный порядок. в соответствии с которым стрелка '"часов" указывает на все страниuы одинаково часто). Korna страниuа попадает в список, ее адрес удаляется из контроллера памяти и при слепуюшем обращении к ней выдается сообшение об ошибке. Если к "неиспользуемоЙ" странице ПРОИЗ80ДИТСЯ обрашеНИf до ее выrpУ1КИ (так называемая нестросая ОlUuбка). ядро изымает ее из слнска и восстанавливает соответствие anресов в контромере памяти. После 3Toro страНШlа находится в безопасности до слелующеrо прохода стрелки. Обычно страниuaм, к которым обрашаются нечасто. спастись не удается; их содержимое в конце концов переписывается на диск. и освободиnшиеся страниuы можно использовать ШIя дрyrих проuессов. Потребность в памяти меняется, поэтому ядро может запускать алrОрlfТМ Часов с разной скоростыо. Если сnoбодной памяти MHoro. часы не работают ВОБсе, освобождая систем} от необходимости обрабатывать нестроrие ошибкк Коrда спрос на память крайне нысок, часы "тикают" очень быстро 11 страницы нужно "спасать" rораздо быстрее, иначе ОЮf будут 8ыrружены на диск. Если J<: помешенной в список страниuе в течение KaKoroTO промеЖУТК8 времени не было обращения, то систеtlа виртуальной памЯТИ считает эту стракицу "неактивной" и может выrpузить ее содержимое в файл подкачки. Дпя выбора соответствуюшей скорости "'часов" системе приходится nporHo ЗИРОR8ТЬ будущую активность проиесса замещения страниц, Если "часы" cTaнyr работать слишком медленно, Toro числа странип. которое находится в списке, может не хватить для обеспечения достаточноrо объе-мз памяти. Если "часы". наоборот, начнут работать быстрее, чем нужно. ядро будет тратить лишнее время на обработку нестроrих ошибок. Поскольку алrоритм выrpУЗlo..и  проrнозирующ»й, то меЖllУ Сlучаями выrрузки странии Ji случаяr-.ш выделения страниu работшошим проиессам Ile обязательно должно быть О.!ll-юзначное соотВетствие. Uель системы  обес печить налJ:fЧlIС достаТОЧI-юrо объема памяти, чтобы проuессам не приходи лось ждать выrpУJКИ стрш-пtu всяюt:Й раз, Коrда им н}жна своБОllная память. Не Bcerдa нужно сохранять на диске содержимое страницы, которая будет использоваться повторно. Те С1р8НИ1lЫ. содержимое которых можно извлечь из доступных ДJ1Я системы иссочников, про(,.'ТО выбрасываются. r лова 25 Анолиз прО1-'1зводительности 7 99 
Перекачка (свопинr) реализуеТСJl HeCk01ibKO иначе. чем иыrpУЗК8. Она также осущеСТВЛJlется ynреждаюше, но на OCHOB точных записей о каждом проuессе. а не статисrnческих оценок, Если свободной памяти очень мало и известно, что ТоТ или иной процесс по kакимто ПРИЧИН8М ;юлrо простаивает (десятки секунд), лучше сразу выrрузить из памяти НСС ero страниuы, 8 не Ждать, пока и соберет алrоритм Часов. КоrД8 ядро rтринудительно 8ыrpужвет из памяти roтoBьre к ИЫIТО:II-f!.:НIЮ проиессы. это очень rшохой признак. ТаК)ю Сlfтуаuию НaJьrовют "пробук совкой", или .Iперекачкой от отчаяния". и означас:т она краЙНl1А дефllUIIТ памяти При этом значительная tl8CTb ресурсов системы траТIIТСЯ H 'Ы полезную работу, а на ynраn''1е1-lие памятью. Похожая паТОЛОЛfЯ системы виртуальной памяти может I'IMeTb ICCTO. коrД8 цва больших "роиесса конкурируют за право использования uel-ПРi:!_lЬ Horo проuессора. Коrда первblЙ процесс начинает работу, он 8ктш:ннирует rpуппу своих страюш, вытесняя некоторые страницы BToporo проиеСС8. Затем запускается второй "роиссс, который восстанавлнвает свои страниuы за счет nepBoro. В результате ни О.iшн из 'nВУХ процессов не работает нормально. "Воровать" страниuы МОТ)'Т лаже проиессы, работаюшие с IiН3ЮI\l приоритетом Предположим. например. что на рабочй станuии выполтlcrСJ моделируюшая проrpамма с очень I-IIПКИМ ПРИОРlТето,."t {l1, cooTBeTC.J oeHIIU. высоким значением niCf). н олновременно с ЭТИМ в oJo:He терМШlil1l<l пользователь читает элеКТРOl.IНУlО почту. Как только ПО.lЬЗ0ватель делает паУ1У. чтобы прочесть сообшенне, показатель использоваНIIЯ UП падает до нуля 11 модел-ируlOшая проrpaм13 получает разрешение на работу. Они 8h'ТIIВIIЗllрует все свои страниuы. вытеСИЯЯ из памяти интерпретатор команд, менеджер окон, nporpaMMY чтения почты и, наконеи. эмулятор терминала. KOI..1a пользователь нажимает К,13ВИШУ <N> ШIЯ пере'\ода к сле.ауюшему сообшеНI-IIО возникает д;шнная пауза, потому что большой 6;10К памятн системы перекачан На диск, ТаК:И-"'f образом, на праКТIIКС: высокое значение nice не rapaHrupyeT. ЧТО проиесс с НИЗКИ'М приоритетом Не вызовет ухудшеНlIЯ ПРОИЗВОЮfn:ЛЫЮСТН. Анализ ИСПОЛЬЗОВаНИЯ памяти n'JIЯ тех, 1\.10 работает на рабочнх станuиях, самый лучший анализатор  уши. ИнтеНСIIВНОСТЬ операШIЙ подкачки, как правило, пропорuионалыIB rpОМkОСТИ "треска", который с.'1ышится 11] лисковопа. В большинстве случаев он вызван обычным перемешеl1ием rO:lOBoK, но СООТ8етстви лостаТОLIt-IО корректно и позволяет получить 06шее предстзмение о ПРОИСХOll.ящем, Интенсивность операuий с памятью КОЛИ'lествеино предстаВJlяется ДВ>ЫЯ rюказателями: общим объе!оfOМ задеЙствованноЙ внрТУ8.1ЪНОЙ памяти 11 скоростью подкаLIКИ. Первый показатель \арактерНlует обшую потребность R пз"'tяти. а второй указывает на то, какая доля этаП памяти al..THBHQ используется, Uель зак..r1ЮЧ3ется в снИ"...кеНI-iИ IfIлеНСJrВНОСТII ИСПОПЬЗOFШЮIJJ иди уве..'Iичении объема паIЯТН до тех пор, ПОi\i\ H булет получен приемле\-fЫFl уровень ПО'nkачки. По,nкачка  "роиесс неизбежный поэтому попностыо избавиться от нее не удастся никоrда. Данные об обыме используемой области попкачки \lOжно ПОЛУЧIIТЬ с помошью команды swap I 8 Solaris. spa\1i'info в HPLIX. !!о\уароn s в Red Наl и pstat s 80 FreeBSD, В Solaris есть также команла sar r (как обычно. с арrумента\lИ. зад.аЮШИМII шлервал наблюnения). 110 по какимто прtLIШii.l\1 она дает результат. не полностыо СОВП,Ш8ЮIIШЙ с реЗУ'1ьтатом команды s"'зр I. \; ."ар l swapf.lle riev swap! ЫОСКs free 800 Чость 111. Розное 
/dev/dl!lk/cOt.CdOs1 32,1 16 164400 162960 '1; ..r r 5 11: 58: 52 freemem freeBwap 11:58:51 361 119616 '" p.tat . Dev1ce 1l<bloek8 Used Ava1! Сарае! ty Туре /dev/wdOs1b 10184 О 10656 0\ !nter1t!:aved /dev/daOb 1048920 О 1048192 0\ Int.er1eaved ТО1:.вl 1119448 О !11948 0% Команда pstat позволяет узнать объем области подкач-ки в килобайтах. ТОТ1l8 как команды swap -1 и ssr r  в 512баЙ1'ОВЫХ блоках. В число величин, сообщаемых ЭТIIМ!! KOMaHдaМJot, не входит объем ОЗУ, поэтому общий объем ВИРТУ8l1ЬНОЙ памяти приблизителъно можно оuеНИТЬ по такой формуле: вп .. озу .&- иелользуеJdЫЙое'Ье...оелае'I'иподкачkИ в большинстве систем статистику страничных операций получают с помошью команды vrnstat: '" VlUt.t 5 5 prOC!I rr:e!l'\ory раче di5k faul ts r Ь w !lwap free re m! pi ро fr de .r 50 sб !i4 in 'У О О О 338216 10384 О 3 1 О О О О О О О О 132 10:!. 58 О О О 341184 11064 О 26 1 1 1 О О О О 1 О :50 215 1ОО О О О 351152 12968 1 69 О 9 9 О О О О 2 О 173 358 :56 о о о 360240 14520 О 30 6 О О О О О О 1 О 138 116 11 1 О О 366648 15112 О 13 О 8 4 О О О О 36 О 390 414 237 ИНфОрМ8UИЯ об использовании uентр8l1ьноrо процессора в этом примере опущена. под заrоловком procs показано количество проuессов, rOToBblX к немедленному выполнению, заблокированных в ожидании ввода/вывода, а также rOTOBblX к выполнению, но перекаЧ8ННЫХ на диск. Если значение 8 колонх.е w коrданибудь станет отличным от нуля, это будет означать, что объем системной памяти не соответствует текущей наrpузке. В колонке swap выдается объем достynной виртуальной памяти в килобайтах. В КО.l0нке free отображается объем (В кнлобайтах) слиска неиспользуемых страниu системы. Если привеленные в ней числа не достиraют 3% оТ общеrо объема системной памяти, это товорит о наличии лроблсм. В следуюших семи колонках содержатся сведеЮ1Я о страничных опера4 ииях. Приведены средние значения (количсстао В секунду). . re  Число возвращенных (восстановленных из списка неисnoлъзуемых) страниu; . mf  число незнаЧl-пелъных ошибок (связанных с небольшим числом странии); . pi  объем подкачанных данных в килобайтах; . ро  объем выrpуженнЪ1Х данных в килобайтах; . fr  объем списка неиспользуемых страниu в килобайтах; . de  объем "ожипасмоrо краткосрочноro дефиuитa пам>rrи" В КIIJ10байтах; . s r  число страНИU1 обработанных по aлrоритму часов. Самый надежны" показателъ ВОЗНИJ(новения серьезных проблем с памятью  колонка de. ЕС.1И стоящее в ней число часто зашкаливает за 100, r ЛОВО 25. Анолиз производительности 801 
это. значит. что. кампьютеру н)-жна больше паМЯПI К сажа.пению, во. МIЮПfХ версиях KaMaHnЫ \mstat эта значение не вывотпся Каманда vmslat s выдает статистичеСКlfе данные не Па CTpaHlltlHbIt.l апераllИЯМ. а па перекачке проuесса Кажушиеся несоответствия \-fежду калаН5;:ЗМIf 60ЛЬUlеи частью ИЛЛЮЮрIIЫ. В одних коланках указывается числа с rрзниu, а н друтих  объсt.1 " килабайтах. АfJrоритм часаВ не атвечает за все случаи освабаждения сТра....ш. таК как некотарые страНИllЫ Maf)T добраВО1ьна освабаЖдаться C3MIIМIf праuессами. Все приведенные числа  акруrленные срепн:ие. Более тoro. адии из них  срепние скалярных величин, d .!lРУПfе  среднне измснеl1l1Й. Например. нельзя вычислить следуюшее значение free Па теКУШбlУ значению этоrо параметра и Ifмеющимся сведения!\{ а страШfllНЫХ апеРi-\IlIIf1\.. naтofl,fY что с06ытия, котарые апределяют следующее срспнее Jначение t l,e. еще не прorпаllUlIf. Панкачка данных Не абязатсльна азначает, что. ИЗ абласти ПОilК;JЧКlt восстаНавливается страЮШd. Эта мажет быть исполняемый кад, паСТР3Н1lчна заrpyжаемый из файловай системы, или коп,",я странИllЫ. дyfiлируеМО1"f при "lЗписи. Оба )TI-fХ случая HapMtllbHbI If не а6язательна азначают неХП.1ТК} памяти. С друrой CTOpOl-tы. 8ыrр\'зка 8сеrда rа8арит а ПРИНУДИТСJJьнам IfЗЪЯПНl данных ядрам. КаrД8 в с,",стеме имеет места непрерывныЙ потак аперзшtЙ ныrp}'3Юf. cil явна не Хватает памяти. Ееш же выrpу>ка праисхо.шfТ .i!llШЬ время от Dp"lel-lll и не создает никаких проблем. на нее мажна не абращать ВНliМ3ltия. Е{".!II састаЯl-lliе систе\-fЫ  rпета пасерелине, .3.d..'1Ыlсйшиt1 анализ БУ.!lет 1.IIIIIt:L'П. от тora, tпа нужна сдеЛать: аППIfllllfрОП.ПЬ СIIСП'МУ Д,'1Я ИlIтеракп-tШlO1 () режима (например, как раБОLIУЮ СНiНШIЮ) или скаНфllrурировать с..: ./1JHI однавременнай работы ПОJlыаВ4tтелеА (например, как сервер прилаЖС:ШIII) Если палавину апераЩiЙ абмеl-Ш саСТ8НJlяет выrp}'зка. мажна rJодсtll-lТi:1Т1J что каждые 50 таких апераUIfЙ сазпают задержку прибюпительна в аДI"} се....--унду. Если ДJJЯ праКР}ТКIf акна неабходима праВССТlf 75 апеРiШlli.j выrpузки. придется ждать их aKOH'131f1-fЯ около полутара секунн. Исследа8а тели пользавательских интерфейсав утверждают. что. среД11ИЙ пользаватель считает систему "МСIl,1СНIЮЙ". eClH время ее реакuиlt превьнпает семь десятых секунды. Анализ операций обмено с диском в баЛЬШllнстве систем мажно kaI-lТроЛ1lра8аТЬ пропускную cnaCa61lal.:1'l. жесткаrо Дliска с памащью камзt1дЫ iostat. Как и \mstat, :-tта камаl.ша !Нo.IC":1 неабяззтелъные apfY1\.lcHTbI, залаЮЩliС промежутак времени в ceKYН1li:lX меЖJl маментами вьшачи стаТИСТJ1чесю-tх панных за ИСТСlШ111А период и ЧШ:.10 павторений. Первая страка ВЫХОДI-ЮЙ' Ifнфар\-f3ШП1 содеРЖlfТ свопку саБЫТШI. праlfзашедших с мамента на'laJIblЮЙ заrpУЗК1-t СИСТемЫ. Как и \'mstat. KaMHДi.l iostat выдает I-tнформаLllfЮ 0.6 liсполъзоваНИIf времеlПl UCI-ПРальнOI-О "роиессара % io.tat S 5 tty tin tout О 1 О 39 2 26 3 119 1 16 sdO 18 О 13 О 19 заl Icps LpS 14 2 2 О е 1 19 2 О О nfsl serv 20 14 21 13 О kps О О О О О О О О О О SЕ'Л: О О О О О epu зу w: ':'0 О О 99 О О :0" о о lC", 1 9CJ О О 10l Крs 5 О 3 О 5 tps 1 О О О 1 t:ps 802 Часть 111 POJI.I(JI 
КОЛОНКИ разделены по темаМ (8 наином случае их пять: tty, sdO. sdl. nfsl и ери). В разных системах выходная информauия команды iostat выrлЯДИТ поразному (данный пример взят из SolarisJ. В разделе tty содержатся данные о терминалах и псевдотерминалах. В обшемто, это неинтересная информация, хотя она и может оказаться полезной для оценки пропускной способности модема. В колоНХах tin И t.ou t дается среднее суммарное число СИМВОЛОВ, введенных и выведенных всеми терминалами системы за секунпу. Информация о каждом жестком ffiiCKe размешается в колонхах kps. tps и serv: объем панных. пересланНblX за секунпу (в килобайтах), общее количество пересылок за секунпу и среднее время позиuионирования rоловки в миллисекундах. Одно обращение к диску может затронуть сразу нескольКО ero сеJ.'ТОроВ, поэтому соотношение между числами, приведенныии в СТОJlбuах kps и tps. rоворит о структуре пересылОК: то ли это несколькО крупных пересылок, то ли множество мелких. Крупные пересылки более эффективны. Механизм вычислеНИЯ времени позиционироваIOfЯ. похоже. работает только на некоторых дисковых накопителях и иноrда пает странные результаты (к значенням. приведенным в нанном примере. это не относится). В некоторых система.х ПОDJlерживается команда iostat п, которая пыдает данные об интенсивноC11i использования каждоrо писка в проuентах: \ iostat D S  sd1 sd2 заЗ .d5 <ро wps utl <ро wps util <рО wps util <ро wps util О О 1.3 О О О. 3 о О 0.5 1 1 4.2 9 8 41.1 1 О 1.8 1 О 2.4 6 8 34.8 11 4 48.4 О 1 2.0 О О 0.0 J 11 32.6 8 О 15.6 О О 0.0 О О 0.0 3 О 9.2 О О 0.0 О О 0.0 О О 0.0 О О 0.0 Зпесь интенсивносТЬ использования опре'neJТяется в виде КО.'1И'lества операuий чтения и записи в секунду. Время, затрачинаемое на подвод rоловки,  самыЙ ваЖllЫЙ фактор из тех. что влияют IЫ производительность дисковоrо накопителя. В первом приближении скорость нрашения .писка и быстро.nействие шины. к которой он ПОJ1КJIючен. не имеют особоrо значеi-IИЯ. Современные диски MOryr пересылать десятки меrабайтов данных в ceKYI-ШУ. если '"JТИ данные считыа ются из смеЖНblХ секторов. В то же время количество операuии позиционн ронания rолавки оrpаничено 50IOO в Се....'УндУ. Если после каждой операuиН поиска переСЫЛ8ЮТСЯ данные Bcero лишь ИЗ одноrо се....-тора. леrко полсчитать, 'ПО зап.еиствуется менее 5% максиматIЬНОЙ пропускной спосоБНOCn1 накоПителя. Затраты времени на подвод rолонки возрастают, если ей приходится перемещаться на большие расстояния. Если естЬ диск с файловой системой, залJ1С8ННОЙ в разных разделах, и файлы считываюТСЯ из каЖдоrо раздела В случайной последовательности. то ДJJЯ перехода из одноrо раздела 8 .nрyrой rоловка должна проходить очень большой путь. С дрyrой стороны. файлы в одном разделе расположены относительно близко дpyr к ДPYI)'. Разбивая новый диск на разделы, необходимо принять во внимание факторы, 8JТИяюшие на произноmrrелъность. и постараться поместить файлы. обраще ние к которым произнотпся о.nновременно. в одну фаЙЛ08УЮ систему. r лаво 25. Анализ производительности 80З 
n'Jrя достижения максимальной производwrе.."IЬНОСТИ нужно помешать файловые системы, которые ИСПОЛЬЗУЮТСЯ одновременно. на разные днски. БольUЛ1НСТВО компъютеров может работать с нескQЛЬКИМ}t дисками парал. лельно. ЧТО знаелъно повьnuает пропускную способность дисковой под системы (это, однако, зависит оТ архитектуры шины и драйверов устройств). Например, данные и журнальные файлы Webcepвep8 имееТ смысл размешать на разных дИсках. Если 8 системе MHoro дисков, ТО поднять производительнасть можно за счет установки нескольких .писковых контроллеров ИЛИ шин SCSI. Эффе тивность этоrо метода зависИт от архитектуры системы Обратитесь к документаuии на аппаратуру или посоветуйтесь с поставшиком. Особенно важно по возможности распределять между несколькими дисками область подкачки. поскольку подкачка обычно замеДЛЯет работу системы в иелом. Это можно сделать в любой из систем. воспользовавшись либо комаНдОЙ swapon, либо комаНдОЙ SWBP, либо файлами конфиryраuнн ядра (см. rлаву 8). Мноrие системы позволяют орrанизовывать как выделен ные разделы подкачки. так и файлы по.nкачки. записываемые в обы'(нуlO файловую систему. Выделенные разделы более эффективны; если есть возможность выбора, файлами подкачки лучше не пользоваТЬСЯ. В некоторых системах можно настршпь каталоr /tmp как I<резилентную" файлов}ю систему  зто фактически то же самое, что и вирryальныlo\ диск П К. Спеuиальный .nрайвер выдает себя за драйвер .писка, но на самом злс; записывает .naHHbIe в память. Этот прием ПРИВОДIП к уменъшению объем;:] памRnt, доступной ДJJЯ общеrо пользования, но значительно ускоряет чтение и запись временных файлов. Как правило, таКоЙ rюдхо..I оказывается 8есЪ\ш эффективным. Более подробную информаuню можно получить на mалстр' нишх, посвяшеннbIX команде tmpr. (Solaris), ram (Red На!) или mrs (FreeBSD). Есть приложения, которые замедляют выполнение основных операuий и тем самым ухудшают ПРОИЗ80ДИТельность системы. В качестве примеров приве.nем дисковые квоты и учет работы uентральноrо проиессорз. Кооты требуют измеНеНИЯ статистической сводки использования дисков по мере записи и удаления файлов, а учет времеIOf UП предполаrает запись данных в учетный файл после завершения работы каждоrо процесса Кэширование диска nOMor8eT смяrчить воздейСтвие этих факторов, однако оно все равно может быть ощутимым. Поэтому подобные сре.nства нужно вкточать ЛИШЬ в случае серьезной необходимости. + Виртуальный помощник Адриан Администраторы операuионной CJiCТCMbI Solans MOryr обращаться З;t ПОfOшью к АдРИ8ИУ. т.е. Адриану Коккрофту (Аdпап Cockcroft). ОН ЯН.1,IСН:,,\ экспертО\i компании Suп по вопросам ПРОИЗВОдlпельности и заНJ1"-ШСТС).! распространением собственных УПUlИl ана.JIИза и настройки системы. Ero лакет SymbEI. (известный как SE) "релставляст собой интерпретатор языка, предназначенноrо .а.rrя построения T8Koro рода утилит. В пакет включен набор правил .. виртуальный Адриан". в котором обобшен мноroле;ний ОПl.IТ Адриана по настройке производительности операционной системы Solaris. Компания Suп офиииалыlO не поддерживает этот П8КСТ. но ero \.южно заrpyзитъ с WеЬузла Suп по слелуюшему адресу: Iшр:/ /W\VW .SU л .COПl/.U1l ол  ле!/реrfопnалсе/sе3 804 Часть 111. Розное 
9 Комонда procinfo: отоброжение данных о nроизводительноcrи в Red Hat в Red Наl еСТЬ команда procinfo. которая ВЫдает удобную сводку производительности системы. Примерно то же саМое делает команда vmstat, но в менее понятно'А форме. Особенно полезна информация о прерываниях. отображаемая на персональных компьютерах. Если система не слишком заrpужена. запусnrrе в отдельном окне команду procinl'o r. которая будет обновлять результаты каждые 5 секунд. " proc!nf"o Lnux 2.2.515 (root.@porky.devel.redhat..com) (gcc е9сs2.91.6б) 11 [redhatl Мemocy: Мет, Swap: Total 30156 :!..ЗЗОl б Used Free 23908 6848 224 132192 Shared 9084 Buff"ers 12496 Cached 3968 Bootup: Tue Мау 2 12:26:13 2000 Load average: 0.08 0.02 0.01 1/26 16173 user : nice : sY5t.em: idle uptime: 0,08,15.35 0,00,00.00 0,10,46.41 30d 2,06,40.89 30d 2,25,42.64 0.0% page in : 0.0% раче out: 0.0\ swap in : 100.0\ 5wap out: context : 774301 disk 1: 171615 183 60 1221865 229922r 109" 2w irq О 260014265 tlmer irq 10 3032801 et.hO irq 1 8 keyboard irq 13 1 fpu irq 2 О ca5cade [ 4] irq 14 1905415 i.deO irq 6 3 i.rq 15 5 idel irq 8 2 rt:c  Команда pstat: вывод crатиcrических данных во FreeBSD Еше онно полезное средство. имеющееся 80 FreeBSD,  комаНllа pstat. Она отображает содержимое различных таблиu ядра в форме, ПочтИ понятной ДJJЯ пользователя. В выдаваемой информаuии нет никакой объединяющей темы. Команда просто извлекает из ядра все интересные данные. Возможны следуюшне виды отчетов: . дамп таблиuы индексныx дескрипторов (i); . дамп таблиuы проиессов. более подробный, чем у команды ps (P). . дамп таблиuы открытых файлов (n; информаuия о состоянии всех терминалов (t). ИlформацJtЯ о заданном проиессе (u); . информаuия об НСПОllЬЗ0ваIЩi области ПОllкачки (s). . информаuия о степени lаполнеl-ШОСТИ таблиu ядра (T). Команда pstat  Т используется при конфиrypировании ядра, так как она позволяет опредеЛlПЬ оmимальное lначение параметра maxusers. К сожа лению, эта команда показывает ЛИШЬ f\.'lалую толику Toro, На что влияет параметр maxusers, поэтому следует предусматривать значительНЫЙ запас по этому параметру. Подробнее об этом рассказывалось в rлзве l!. r лово 25. Анопиз производителы--юсти 805 
25.4. Помоrитеl Моя с.-.стема почти оcrанов.-.ласы в преlIЬщуших параrpафах мы rО80ритl в ОСНОВНОМ о ТОМ, что касается сре.n:ней производительиости системы Для ее повышения требуется KoppeK тировать кQнфиryраuионныe параметры или модернизировать систему. Но даже правильно сконфиrypировзнные системы ИНQrда работют медленнее обычноrо. К счастью, нереryлярные проблемы в большинстнс: своем летка ПО.lIдаются пиаrностированию. В 90% случаев ОНИ создаются алчным проиессом. который потребляет таК MHoro ресурсов проuессори ИШ1 жесткоrо ffiiCK8. что остальные проиессы буквально остзнаRЛНВЗЮТСЯ. Иноrпа .nля Toro чтобы определить, какой конкретно ресурс пожирастся. Не нужно .паже запускать диаrностическую проrpзмму Если система наЧl-'Нlеl "пробуксовыватъ". или диск подозрительно дошо и rpOM"1(O перемалывает данные. проблема, скорее вcero, связана с пропускной способностью .писка или лефИllИТQМ памяти. Если же произволительностъ прило:жений па,д:ает ниже критическоro уровня, проблема, должно бьrrь, Вblзвана недостаточной мощностью uентральноrо проиессора. Первый шаr 8 установлении .nиаrноза  запуск команд ps и top ДJJJI выявления заведомо неуправ.пяемых проuеСС08. Любой npоиесс, потребляю щий более 50% времени UП. можно с большой .полей вероятности считать ненормальным. Если столь непомерную долю ресурсов UП не получает нн один проuесс, посмотрите, сколько "роиессов получаЮl минимум по 10%. Kor'n8 их больше ДByxтpex (не С'Iитая самоЙ КОfан...'lЫ ps), ТО средняя наrpУЗКi1. скорее Bcera, булеr очень высокой Такая ситуаuия сама по себе являетс}! причиной tmзкой производительности. Проверьте среднюю заrpужеЮ'IOСТh системы с помошью команды uptime, а затем Вызовите команду t'mstat или sar B, чтобы узнать. простаивает ли коrпанибудь "роиессор. Если конкуренuии 13 право использования uентраJIьноrо процессара не наблюдается, Посмотрите nyreM вызова команды vmstat или sar g, каков объем операuий Понкачки. Следует обрашатъ внимание на все операции обмена с диском: множество операuий выrpузки может означать соперниче СТ80 за память, а наличие Iшсковоrо трафика при отсутствии ПОЛК(:IЧКИ rО80рИТ о том, что какойто проuесс монополизнрова.Т'I диск, непрерывно читая 1-1 записывая файлы. Способа Henocpe.n:crneHHoro сопоставления ДJiCKOBbIX операций и проuес сов не существует. но с помошью команды ps можно сузить Kpyr подозрс: ваемых. Любой проuесс, вызываюшиЙ дисковый трафик, скорее Dcero. использует некоторую часть времени UП. Обычно всеrла можно сдеЛi1Тh обоснованное предположение о том, какой конкретно из активных npoueccOl является Истинным виновником интенсивной заrpУЗЮf проиессора... ДЛ;I проверки своей теории на праJ\тике выполните комаl-ШУ kill STOP. Предположим, проuеССВИНОВНИI( найден. Что же лелать с ним дальшс',' Как праRИЛО. Ничеrо. Некоторые операuии действительно требуют "'HOI'O То есть требуется больше времени на переключение меЖдУ прило:жеНИЯМI-I, хотя скорщ;:тl.J выполнеиия отдельных заданий присмлсма. Раньше подозрительными признаками служили или большой размер области данных проиесса, размещенной в виртуальной памяти. или аномально большой объем заtIИмасмой процессом оперативной памяти. ио появление совместно используемых библиотек сделалu эти показатели не столь полезными. Большинство версий koM'al-шы р8 не Н8СТМЬКО разумно. чтобы отделять обшесистемное пространство совместно используемых библиотек от алрес HOro пространства проuессои. Кажется, что мноrие процессы занимают меrа6айты активноlo\ пзМJl'rn. хотя на самом деле это не так. 806 Часть 111. Розное 
ресурсов и неизбежно замедляют работу системы. но это вовсе не означает. что они незаКОННbl. С помощью команды renice можно изменить приоритет процесса, для КOToporo оrpаничиваюшим фактором Rnляется скорость UП. но не забудьте попросить владельца 3TOro проиесса впослеШ::Т8ИИ вьшоЛНИть команду nice. ПроцессыпожиратеЛ11 дисков и памяти неllеrко поддаются воздействию. Команда renice обычно не помотает. Можно уничтожить или остановить ПрОllесс, но. f--J8 наш взrлял. такая мера оправдана только в экстренных ситуаllИЯХ Как и 8 случае с пожирателями времени uп. можНn прибе-rнyrь к непоnyлярнои мере: попросить влan.ельuз запустить ПРОllесс ПоЗже. Некоторые системы позволяют оrраничивать потребление ПрОllеСС8МИ физической памяти. Для этоro служит системный вызов setrUmit. Обрашение к нему возможно через встроенную комаНдУ limit интерпретатора С shell. Напри мер. команда % i..ш.i t JD8ПI,оryuaе 32ш оrpаничивает использование физической памяти для всех послелуюшИ\" полъзонэтельс.ки'f( команд величиноЙ в 32 Мбайт. Ее деЙСТПl1е подобно деtkтвию комвr-шы renice в отношеНии проиессов. оrpаничнваюшим фактором для которых является объем памяти. Можете тактично предложить "проблем ным" пользователям вставJПЬ такую строку R свои фалы .cshrc. Если источником снижения ПРОИlводителъности не является неуправляе мый процесс, нужно исследовать две друrие вероятные rlрИЧИНЫ. Первая  переrpузка сети. Мнотие nporpaMMbI настолькО тесно связаны с сетью. что И1-Iоrда трудно различить, [де кончается производительностъ системы И начинается производптельноt::ТЬ сети. Подробная информаuия о средствах контроля над работой сети приведена в rлаве 20. В некоторых случаях проблемы, Rьпванные переrpузкоJ! cenf. выявить сложно. потому что они возникают и исчезают очень быстро. Например. если на всех компьютерах сети каждый день н определенное время с поt.1Ошью демона cron запускается какаято сетевая nporpaMM3. 8 сеп! может ПО1Н11КllТЬ краТКОСРО'IНая, но серьезная помеха. Бсе компьютеры за8ИСНУТ секунд на пять, а затем помеха исчезнет так же быстро, как и появилась. Еше одна причина кризисов производительности  задержки. связанные с серверами. UNIХсистемы постоянно обрашаются к удаленным серверам ДЛЯ вызова служб NFS. NIS. DNS н Т.п. Если сервер не ФУНКllиоIOtрует влн какаято иная проблема привела к тому. что связь с ним ста.'18 ненадежной, это ошушают на себе все системыклиенiыы. Предположим, к примеру, что в интенсивно работаюшей системе какоЙТО проиесс каждые нескольКО секунд вызывает бнблнотечную ФУНКllНЮ gethostent(). Если сбой в работе службы DNS заставляет эту ФУНКllИЮ тратить на свое выполнение две секунды. будет заметно обшее снижение производительности 25.5. Рекомендуемая литература . Cockcroft. Аdпап and Richard Pettit. Sшr Peiforтallce a"d Тшriпg: Ja\'a alld the /nterпet. Upper Saddle Ri"er, NJ: Рrелtiсе Hall. 1998. Loukides, Mike. System Peiforтance Tunillg. Sebas!Opol: O'Reilly. 1991. r Л080 25. Аt-10ЛЗ прозводительности 807 
26 Взаимодействие с Windows   c? :P  (jCP ь с (/; L '" \ с:.ь rJ:  vr  l f 1; 1 r: !!II ./  \ eш.L1<<.Ш ;:I ' lj llAA'_.A.'A); "Ю I "1, rtL.<G...,. Приходится признать. что операuионные системы WIndows не собираются уходить внебытие. Иrнорироватъ ЭТОТ факт иелъзя. ПОЭТОJ\.fУ нужно научиться мирно сос}'шествовать с таковым. Как известно. UNIX преДОСТЗRЛяет удобные средства работы с тсрлр и Interner. Torna как именно в Windows работают миллионы ПОЛhзовате.l1ей. А на долю системных anминистраторов выпanает }l1равление всем ЭТИМ "сатанинским шабашем". К счастью, современные средства ПОlВОЛЯЮТ сушественно сюt3ить рщ:к отторжения Wil1dоwsтрансплаlпата н UIX. Реалыюсть T3KQBCi. ЧТО обе платформы имеют СfЮИ сильные стороны и ИХ можно 18ставить работать совместно_ Wiлdоws  популярная I упобная наСТОЛЫIaЯ платформа, способ ная стать тем мостиком, который соединяет пользователя и сетевой кабель УХОДЯШJ.iЙ ....'}.дaTO в стену. По дрyryю сторону этой стены находится UNIX  uелостная платформа с расширяемой инфраструктурой. В настоящей rлаве рассматриваются р33Лll t tные вопросы. С КОТОрЫfo.ПI ПрИ\:ОЛIПСЯ сталкиваться администраторам 8 этом постмодернистском MJ.ipe  с!Хде C08MeCTHoro существования персональных комnыоеровB и платформы UNIX. 26.1. Совместное использование файлов и принтеров Н;Jиболее BbIl:OKllti ур(шеllЬ Itнтеrpашflt IICPCOHO:llbIiЫX компьютеров I платформы UNJX поспп-ается б.llтопаря совместному ИСПОЛЬJоваНltЮ Кi.lТa поrО8, размешенных на UNlлкомпьютерс (или в спеuнализированном файловом сервере UNIX), настольными компьютсpclМИ, работаюшими пОЛ }l1равлением Windows._ Совмесrnо используемые каталоrи Moryr бь1ТЬ Можно также моитировать файловые системы, раСПОJlожеНные На персональном комnью тере и рабоlВJОЩИС пол ynравлеtшем Linux, но ::па КОllфиrypаuия функuионирует не совсем стабильио. 808 Часть Ш Розное 
настроеиы такиМ образом. чтобы представ.nяться частью срепы Windows: либо в качестве лоrических ПИСКоВ либо в качестве дополнения дерева сетепых файловых систем Windows. Для выполнения этой функиии моЖНО использо вать фвйловую систему NFS или CIFS. Файловая система NFS Файловая система NFS (Network Fi1e System) рвзрабатывалась для обеспечения возможности cOBMecTHoro иСПО;Iьзования файлоп в сети UNIX компьютеров, rде механизмы блокировки файлоn и безопасности системы существенно отличаются от таковых в среде Windows. И хотя имеетсЯ множество проrpаММ 1 позволяюunо; монтировать N FS.каталоrl1 R Windows, следует нзбеraть зтоrо  вопервых. изза разлИ'fИЯ архитектур, а ВOnTOpЫX. по причине Toro. что файловая снстема CIFS работает rорnздо лучше. o Подробнее об N FS рассказывалось в 2./Iaee IZ Файловая система ClFS CIFS (Сотmоп Internel File System  оБЩАЯ файловая снстема для IЛlеrлеt) основана на протоколе 5MB (Server Message Block  блок серnерных сообщений). 5MB стал дополнен нем к OOS. коrд,то давно разработанным компанией Мiсrоsоft Д11я Toro. Ч1'обы операиии дисковоrо вводаjВЫIJОда переадресовьmались в NetBIOS (Nctwork Basic IлрU!jОUlрu! Syslem  сетевая базовая система BBoдaBЫBoдa). Созданная КОМШIния\.tJI I ВМ и Sytec система NelBIOS предстамяла собой примитнвньr11 интерфеЙс между сеТЬЮ 11 приложениЯМ'и. В настоящее время пакеты 5MB передаются через протокол NBT (NeIBIOS ovcr ТСР), ЯRЛяющийся расшнреннем NetBIOS. Как ни парапок салъно ЭТО звучит. упомянутые протоколы получили широкое распростране ние н сталн доступными на мноrих платформах  от MVS и VMS до наших любимых UNIX и Windows. Все оказались счастливы. Samba: система ClFS для UNIX Чрезвычайно популярный пакет Samba распространяется на услоnиях открытой GNUлицензии и реализует файловую снстему CIFS на UNIX станuиях. Он был создан Эндрю Триджеллом (Andrew Tridgel1) нз Аnстралии, который nyreM "обратноrо' проектирования воссоЗдал код протокола SM В. использовав ero реалИЗ311ИЮ в ДРУПfХ системах. и опублнконал полученный проrpаммный код в 1992 r. Пакет Samba постоянно дорабатывается и расширяется. Он обеспечивает стабильный. проверенныЙ механизм интеrpаllИИ компьютеров, работаюших поп упра8.I,ен-ием Windows, в сеть UNIX. Прелесть Samba З8ключается R том. что достаточно инстaтrировать только опин пакет на UNIХкомпьютер  никакоrо дополнительноrо nporpaMMHoro обеспечения на Wil1dоwsкомпьютер устанаВЛJ.iвать не I---ryжно.. Файловая система СI FS предостаnляет пять осноnных услyr: . совместное использование файЛОв; . сетевую печать; . аyrентификаиию и авторизаuию; При условии, что компьютер уже СКОИФЮУРRPован в режиме "Microsoft networking", r лово 26. Вэоимодеi1ствие с Windows 809 
преобразонание имен; объявление о наличии серписов ("обзор" файлопых серверов и принтеров). Большая часть фУНКllИЙ па кета Samba реализована в двух демонах: smbd и I1mbd. Первый предостаRЛЯет серписы печати и доступа к файлам, а также сервисы аутентификации 1I авторизаuии, а второй управляет ДРУПIМИ важными функuиями CI FS  подсистемой преобразования имен и ссрuис НЫМИ объявлениями. В отличие от NFS. которая жестко связзна с ядром, пакет Samba liC требует МОДИфИК311ИИ ядра и запускается исключительно как ПОЛЪЗОR3теЛЬ ский ПрОllесс. Он связывается с сокетами, через которые посылаются NВТзапросы, и Ждет запроса от клиента на доступ к ресурсу. Как только запрос поступает и аутентифиuнруется, демон smbd создает свой дубликат и запускает ero от имени пользовате.1Я, сделавшеrо запрос. В результате осе разрешения на доступ к UNIХфайлам (включая сруnnовые разрешения) остаются ненарушеНIiЫМИ. Имеется только одна спеllиальная фУНКШlOна.'1ЬШIЯ возможность, которую демон smbd реализует сверх этоrо.  сервис блоки ровки файлов. позволяюuшй КЛиеНтским персональным компьютерам при. держиваться прИВыtlНОЙ ДЛЯ них семантики блокирования. Инсталляция и конфиryрирование пакеТQ Samba В настояшее время пакет Samba входит в комплект поставки систем Red Hat н FreeBSD (ero местоположение  каталоr /usr/ports). а в Solarls и HPUX ero нумно заrpузить и инстаJ1ЛИРОвать самостоятелыiO. Пакет доступен по адресу wv.w.saтOO.OIE. Независимо от ).iспользуемой системы следует отреда...rтировать файл smb.conf. указав в нем параметры конфиrурации пакета Samba. В этом файле "J31Iаются каталоrи и принтеры, предназначенные для cOBMecтнoro ИСПОЛЪJО вания, а также права поступа к I"ШМ. Все оrтuии задокумеtrrnpованы на mапстраНИllе, посвященной файлу smb.conf. Ознакоп1ТЬСЯ с документаuией ПРИдется каждому. кто попьпается интеrpировать пакет Samba в сеть, 8 которой у"ме настроен совместный дocl)71 к файлам Мiсrosоft. Важно также пониматъ. Kal<..'11e уrpозы безопасности возникают вследствие CObr-tССтноrо ).iСПОЛЪЗ083НШI фЙлов ИJll-t ресурсов в сеТИ. В па кете SаlПЬа имеются cpeDCTRC:l КОIIТрО..1Я бсзопаСIЮСПi. ВО они рзботают только ТОIда. коrдз ....,.OTO IIХ ПРIIМСllяет Чтобы обеспеЧIIТl. баЗ08ЫЙ уронень беJопаСНОСТlI, IIYMHO выплннтьь два ДИСТlшя РаСПОЛО}t...снная в фаиле SП1Ь.сопr строка h05tS allow зanает aдpea ЮПiентоu. которым разрешен доступ к ресурсам SащЬа Удостоверьтеп.. Ч'То списОк содеРifШТ только проверенные 'P3.дpeca (ИЛlI ЩШII;ЛОНЫ адресов). Блокируите доступ из I П1еrпеl к ТСРпортам CI FS, соотвеТСТВУlOшиl\t образом настроив фильтруюший брандмауэр. Это ТСРпорты с Iюмерами 137139. Более полную 1нформаuию о том, как осущеСТВIПЬ попобную настроику, можно получить в параrpaфе 21.9. Н"lже нредстаИJlен образеLl полноrо файла SПlЬ.сопr. используемоrо н простой сети: [qlobalJ I workgroup =- и:ия  домена NT ИJМ имя рабочей I'руппы work9roup  MYGRoUP 810 Часть 111 Розное 
Списоfo;: узлов, i<:ОТОрЫМ разрешен доступ t< ot)ъeK'l'aw Samba. В данном случае .допускаются лишь КОW:ПЫ'Jтеры двух сетей класса с. hosts a110w == 192.168.1. 192.168.2. АВ'I'оыатичеСl<:аЯ заl"'рузка списка принтеров иэ файла'". prin't.cap пате -== /etc/print:cap load pr iт:ers ..: уеs Использование О'l'дельноI'О ЖУРНiJ.Jlьноrо файда На K8JКдOъ.. I<ОЫПЬЮ'l'ере и задание elO предеЛbliоrо размера ра:внЫЪ4 50 КОай'1'. 109 file = /var/109/5amba/109. %m max 109 size == 5О f Выбор реж:иыа безопасности. В Болы1мнтвеe случаев требуется обеспечить t безопасность на уровне пользователя. Более подробная инфорыаuия t об этом содержится 8 документации k пакету (файл seC\Jrityleve1.txt). securi ty == user ПрУ. желании можно установить парольнуlO эашиту. Этот 11роцесс подробно описан 8 файлах Eti;CRYPTION.t.xt, Win95.t:>.:[. и WinNT.txr:., ПрИJlаrаеld.ЫХ к докуwентаuии. Не активизируЙ'l'е данные опции, предварительно не прочита2 ДОl<уwеЕтаuиlO. encrypt pa5sword5 == уез 5mb passwd ti1e == /etc/smbpasswd в БОЛЬWИНС'l'ве случаеEl следующая устано.ека. обеспечивает ПОElышение ПРОИ'3БQдитеЛЬ1iОСТИ. Дополнительная иНфорыаuия иwеется в файле speed. txt, а также J5 докуuе1iтации. 50cket. options "" ТСР  NODELAY , Совместное использование начаJlЬЫЫХ каталоI'ОВ. Например, каталоr .. ...trent в UNIX станет каталоrоы "trent" в 11роеодиике Windows. [homes] соmmепt "" Home Directories Ьrоwзеаblе ==- по writ.able  yes Совместное У..СII0JlзованУ..е .есех принтерО!l. Iprint.ers] comment "'" 1\11 Printers pat.h = /var/spoo1/samba browseable =-.. по guest ok == по wrltable == по prin t.able =< yes Совместное использование заданноrо ка'.L'алоrа. Ilринтеры уже DО.'1ЖНЫ быть ПОDКJIючеиы к UN1XKoMnbIoтepy. Не все UNIХсистемы Itс::rIOЛЬЗУЮТ базу данных рrtлtсар, но Samba может адаrrrироваться к любой CJ.icтeMe. Ilодробнес об 310М рассказывается в rлаве 13. 811 . r ,то 26. Взоимодеиствие с Windows 
[devel] comment - Staff Development Shared DI:ectory path - /devel/shared public - по wrir.able ... уез print.e.ble .. по crear.e rnask "" 0765 Как ВИlIНО 'Из комментариев. ЭТОТ файл настроен таким образом, что. Korna пользователи включают свои компьютеры. их нача.:Iьные каталоrи и каталоr /develjshared оказываются обшедоступными. Пользовате;ти MOf)T также печатать На всех принтерах. имеюшихся в сети. Отладка пакета Samba Обычно пакет Samba работает нормально. не требуя вмешательства со стороны администратора. Тем не менее. если при запуске ВQЗIiИк.'1И проблемы. можно обратиться к ПВУ1-f ОСНОВНЫМ источникам отладочной информации: журнальным файлам, разным ДЛЯ кaжn.оrо Юl'иеНТ8, и команде smbstatus. Местоположение журнальных файлов указано в файле smЬ.сопr. В жур налЬНОМ каталоrе содержится файл для кажn.оrо IOтиентз, обрашавшеrося к пакету. Демон 5mbd хранит эти файлы так, чтобы их размер не лревышал заданной максимальной величины. Следуюшие ЖУРН8ЛЪиые записи отражают успешные попьrrки соедине инй: 01/19/2000 17:38:01 рап (192.225.55.154) соппес;: to 5ervice r:rent 45 uaer -=.rent (uid...Вlб4. qid"10) (pid 16625) 01/19/2000 17:40:30 рап (192.225.55.15-4) connect ;:0 serV.l.ce 5ilverlw аа uзеr trent (uid..S164,9id--=10) (pid 16625) 01/19/2000 17:43:51 рап (192.225.55.154) clo5eci connect.ion to зеrviсе 511verlw 01/19/2000 17:43:51 рап (i92.225.55.1541 closed сопrLесt.l.ОЛ (,0 зеrv.l.се r:rеш: Команда smbstatus позволяет проверитъ текущие активные соединения и открытые файлы. Эта информаWIЯ особенно полезна, Коrпз ПРИХОДIПСЯ отслеживать проблемы блокировки (например, кто из пользователей открыл файл xyz пля чтениязаписи в монопольном режиме). В первой части выходных данных перечислены ресурсы, к которым подключены ПОЛhЗова тели. во второй дана информаuия об активных блокировках файлов, а в третьей части отображена статистика использования ресурсов. собранная демоном smbd.. Samba vеrзiоп 2. 0.5 Serv.ice uid 9id pid rnасhiле lnfo tren t trent staff 22545 реШ trent stll.ff 22545 рап Loc.x.ed files: Pid DenyMode R/W Op':'ock Name 22545 DENYNONE RDWR EXCLUSIVE+B.A'i'CH Ihome/trent/re.s alloc 2.хlз Share mode me:nory usage (bytes): 1048336 (99%) free + 16810%1 us.ed ... 72 (0%) overhead - 1048576 (100%) r.ot.al в выводе ком8юlы Imbstarus содержится несколько весьма длинных строк; для большей наrля.шюсти мы сократили распечатку. 812 Чосп" 111. Розное 
Блокировку можно отменить, уничтожив демо и smbd, который "RЛsдеет" ею. ИденrnфИ1<а70Р процссса ДЛЯ каждой блокировки отображается в выводе KOMaнnы smbstatu!!i. Не рассказывайте своим пользователям о том, ЧТО вы знаете, КаК это делается, 'и помните, что принудительное сиятие блокировки может привести к повреждению файлов. К TOTO же должен пела,.ь rpязную работу! 26.2. Безопасная эмуляция терминала с ИСПОЛlo30ванием системы SSH Возможно, некоторые пользователи захотят покинуть мир Windows, чтобы оmравиться покорятЬ маняшие заснеженные вершииы  на которых обитают старые добрые ннтерпретаторы С she\l или Кот shell. Конечно, простейший способ сделать это  воспользоваться проrpаммой telnet, которую компания Мiсrоsоft поставляет вместе с Windows. К сожалению, в ней отсутствуе,. uелый ряд привычНЪJX средств, в частности таких. как непосредственные операции вырезания и встаnки. Кроме Toro, подобно МНОfИм ре-ализаuиям протокола TELNET, эта проrpамма не нмеет собственной конuепцин безопасности. (Хотя кому нужна чужая командная строка?) К счастью, сушествуют разнообразные эмуляторы терминалов, Dоступные в Windows; они rораздо совершеннее, чем проrpа\iма telnet компании Мiсrоsоft. Наш любимый эмултор  SecureCRT компанин Vал Dyke Тссhлоlоg.еs. Inc. Этот недороroй коммерческий продукт сочетает средства зашишенноrо входа в систему и передачи данных через снстему SSH с надежным ЭМУЛЯiором терминала. Лодаерживается шифрование данных с длиной ключа от 56 до 256 битов, а также переадресация портов дрyrиx приложений. в частности электронной почты. Более подробную информацию о продукте можно найти на WеЬу]Ле www.vandyke.com. o Сведения о систе....е SSH содержатся в пара. рафе 21.8. Дрyrой коммерческнй эмулятор  SSH сliеп! for Wiлdоws  предлаrается компанией FSecure Соrporаtiол. Информаuня о не" Jlocтyrтнa на Web-узле wv.'W.fsecure.com. Тем, кто ишет бесплатный эмулЯ'Тор, советуе.м воспользоваться nporpaM мой TeraTerrn с ПОД](J]ючаемым модулем lТSSH, доступной по адресу httр:jjhр.vесtоr.со.jр/аuthоrsj\lАОО24Iбjtеrаtеrm.h!ml ПОДКТIючаемый модуль можно найти по адресу: http:! jwww.zip.com.aujroca/ttssh.html Совместно они предлаrают весьма надежное и безопасное решение. 26.3. Эмуляторы Х Windows х Windows  это система упраВ:lСНИЯ окнами, которая не имеет никакоrо отношения к операuионным: системам Windows компания Мiсrоsoft. Система Х Windows была разработана в Массачусетском технолоmческом институте в 80x п. н лринята болъшннством пронзволителей рабочих станuий UNIX в каЧестве базовой оконной среды (иноrда. правда, она поставляется с сушественными мопИфИК811ИЯМИ). Эмуляторы Х Windows, работаюшие в среде Мiсrosоft. Windows, реализуют протокол Х 11. Сервер орrанизует связь между Юlиентскими приложениями (например, змулЯ'Тором терминала хtепn) и рабочим столом Windows Как только на компьютере активизируется сервер Х 11, ютиеmы получают r лОВО 26. Взоимодействие с Windows 813 
возможность "lаnyскзться в среде l.INIX I отобрitжать панные на рабочеr-.'I столе. Хприложения. ФУflКШЮllИРУЮШliе в этом режиме, MOryr сосушсl.:ТIЮ вать на рабочем столе вместе с обычными приложениями Wiпdоv./s. EI.:Th эмуляторы. С помошью которых Можно использовать оконныЙ менеджер 11  <релы UNIX. Сушествуют пеСЯТЮI Хэм}ляторов. Лва из 1i11Х. которые мы "<OТl1M отмеnпь,  ЭТО cXceed KOJ\fnaHJ.НI Huml11l11gbird (www.huл1mangыld.сolllJJ It SuperX компашfИ Frontier Technologies (wv.v,'.frОПliепесh.соm). SuperX  именно тот эмулятор, которым Трент Хейн пользуется жепневно. Этот эмулятор вполне корректно производlП операuии вырезаНIIЯ и вставки межлу Хприложениями и придожеШIЯМИ \Vindows. а el'o СlIстеМа попстаНШIКJ.! шрифтов чрезвычайно проста. 26.4 Почтовые клиенты но переанальных компьютерах 0' Первое, что хотят СДС.'1ать ПОJlЬЗОВiпели. Иl(.1ЮЧИВ свой компьютер.  это провернть электронную почту. Обеспечение УСТОИЧИIЮЙ JЛСКТРОЮЮЙ СIШJII важно Д-ТIЯ большинства орrаlнвации. Причем это имеНIЮ Та область, Пlе 11 персональныс компьютеры. 11 LINIXcepBepbI блестяще "рояпляют себя ПерСОf-IaJlЫlые nOtrroBbIe I01иенты, TdKJ1e как Microsoft Outlook. Nelcape Messenger и Eudora КОМПall1lИ QLlakoll1Jn. обладают великолепнымJ.! возмож настя-ми и HaMHoro превосхопят старые "pOrp3MMbI чтения почты В U N IX. О"и ПОlВШ1ЯЮТ полыователям обмеНИR3ТЬСЯ обычными (1 заШJ1ФРОВЗНliЫЧII ПОЧТО8ЫМИ сооБШСНИЯМ1t. ПОСЫ!lЗТЬ RЛожеНJ.!Я 1-1 (lИСЬМИ со спеUИa.JIЬНО отформатированным п=ти даже цветным текстом. Все это  важные инстру менты мира I ПIСПlеl; павио }'шли в прошлое nporpaMM8 /usr /uсЬ/шаil и друrllе текстовые почтовые утилиты. ОрraНJfзаuиям требуется предостаВЛJlТЬ напежную по'повую связь сотням. и то и ТЫСЯЧам ПОЛЬJоватепей. Это возможно только там. rпе в качестве платформы выбрана tJNIX. Данная опсраuионная система обеспечииает расширяемую, зашишеllllУЮ н КОНФltrУРl1руемую срепу для приеча и переДi1чlt почтовых сообшеllИЙ через Iпtеmеl. СообшеНltя MorYT храниться на LJNIX сервере и быть посТ)'пными персонзльным nOtlТOBbIM ютиентам с ПОМОIlIЫО протоколов lMAP в РОР. ЭТid система является лучшей в мире. К тому же UNIX не восприиr..fЧива к вирусам Windows. Более палиая IШфОр!АЙЦlJЯ о протокодах I:\,fAP 1I РОР представлена в параi'рЙ фе 19.3. Друтое преимушество данноrо ПОJlXопа, особенно в случае применеНIIЯ протокола 1М А.Р. заКТIючается в ТОМ, LlТO почта хранится на сервере. Ес-та! какой.шб}пь lIерсонa.JIыiыи компьютер слома.пся И'111 вообше сroрел, :по не значит, что па"ЮI с почтой lIолыователя безвозвратно пропали Кроме Toro, 11'\..1.-\ Р позволяет ПОЛЬЗователю ПО.1}'ЧIПЬ доступ к CBOeJ; IIOtlTe откуда yronHO  из Пома. из Iшеrпеlкафе , т Д. 26.5. Резервное копирование но переанальных компьютерах Резервное копироваюtе паины\ на пеРСOl-JаJIЫlblХ компьютерах может стать BebMa серьезной проблемой, ш:обеl-ПIO сейчас. KorDa емкость оБЫ'-lИоrо Жесткоrо писка IIревышает 1О rбаит. Имеется ряд ПОДХопов к решению этой проблемы. включая ИСПОЛЫОR<iние моШны'\: сетевы'\ срепств резерrшоro 814 Часть 111 Розное 
копироозния. npeW1araeMbIx таКИМИ компаниямИ, как IBM и Seagate. Конечно. вcerдa можно воспользоватьсЯ локальным накопителем на маrниТНОЙ ленте. И если есть дены"и и терпение. то это именно та область. rш: коммерческие продукты оказываются наиболее эффективныt.Ш o О системах резервНОlCJ копирования .ыО.ЖНО узнать в lлаве /0. Но как быть тем, кто привык экономить деньrи? Можно! конечно, сколировать содержимое жесткоrо диска (Bcero или ero части) на UN(Xcep вер! воспользовавшись ШIЯ этой uели утилитой SЛIЫаr, ВКТIюченной в пакет Samba. Прама, данный попход весьма трудоемок, поэтому мы не можем рекомендовать ero читателяМ. В подобной ситуаuии нам кажется, что наилучшее решение  вообше не создавать резервную копию содержнмоrо компьютера. В орrанизаWfЯХ, rne применяется такоЙ подход, ПОЛbJователей учат хранить все важные файлы на совместНО используемом сетевом диске. Это позволяет конфиryрировать Все персональные компьютеры в пределах орrанизаuии одинаково (имеются в виду инсталлированные приложения. конфиrураllИЯ рабочеrо стола и т.п.)- Если какойнибудъ компъютер выходит ИЗ строя, то др}той взамен Hero может быть заrpужен буквально за несколько мин}'!. Опасно? Может быть. Но ресурсы используются разумно? Да! 26.6. Мультисистемная заrрузка Слава 601)', в мире еше не перенелись изобретатели! Мноrим хотелось '.добиться максимума от CBoero компыотера", установив на нем несколько операuионных систем. Это стало возможным блаrодаря появлению средств "мультисистемной" заrpузки. Данный термин озиачает. что в ПРОllессе начальной заrpузки пользователь выбирает одну ИЗ нескольких операционных систем. Популярной стала комбинация Lil1ux с Wiлdоws, особенно среди проrpаммистов, которым нужно быстро переЮlючатъся из одной срепы в друryю, В иекоторых случаях можно паже совместно использовать одНИ и те же файловые системы 80 всех инсталлированных операuионных систеМз.х. О том. как настроить муmтисистемную заrpузку. расскаЗЫВaJlОСЬ в па раrpафе 2.2. 26.7. Запуск прилажений Windows в среде UNIX  .-----...' Во МJЮrих версиях UNIX можно запускать приложения Windows, но не все! Это делается разными методами, но все они обычно сводятся к созданию "виpryaльной машины". блаrодаря которой приложению кажется, будто оно работает в WindoVw's. Обычно эти виртуальные среды нескоЛЬКО нестабильны, и далеко не все приложения хорошо функционирvют в них. Есть Два заслуживаюших внимания пакета, ко;орые позволяют запускать приложения Windows непосредственно в срепе Red Hat Linux. КоммерческиЙ продукт VMware (w","'W.vmware.com) сделает весь компьютер единой ВИр1)'аль ной машиной, rne сможет функционировать несколько операиионныx систем одновременно. Пакет Wine (www.winehq.com) реализует библиотеку Windows АР. в среде Linux, позволяя запускать приложения, которые не имеют доступа Есть два продукта., которые МOIут помОчь В данной ситуации: это Norton Ghost компании Sушапtес: и Drive ]mage Pro КОМП8НJ1И PowerQuest. При их использовании станаартный файл образа диска либо хранится 8 сети. !шбо записывается на эаrpУЗОЧНЫЙ комnа....,.писк- 815 r лова 26. Взоимодействие с Wi/ldows 
э «? ни к одному драйверу8. Правда. на момент написания книrи пакет Wine реЮlамировался СВОиМИ создате,11ЯМИ как "система не для реryлярноrо исполъзования. а для тех случаев, коrДа нужна помощь в устранеtrn:и пефектов в проrpаммном обеспечении ". Заслуживают внимания три пакета для Solaris. Наиболее ннтересным является SuлРС  коммсрчески1\ продукт компании Sun, включаюший тшвту SBus с Iпtсlсовмсстимым проиессором, предназначенным для интерпретauии инстрyкuи1\ пк. Среди дрyrих приложений СТОИТ ynомпнyrь Sоf\Wiпdоws компании FWB Sof\ware (www.fwb.com). полноuенный эмулятор Windows, и NTRlGUE компании Citrix (www.citrix.com). которому для рвботы требуется отдельная rлtеlсистема с Wlлdоws NT (эта проrpамма позволяет полъзовате лим запускать приложсния Windows на рвбочих станuиях Solaris). Sun бесплатно распространяет пакет SlarOfficc  аналоr Microsof\ Office для Solaris и Linux. В пакет входят основные офисные утилиты, такие каК редактор электроннЬ[)( таблиц, текстовый редактор и простая СУБД. Эти проrpаммы MOryт читать и записывать файлы в форматах Microsof\ Word и Microsof\ Excel. Более подробную информаuию о них МОЖНо нвЙТII по адресу httр://www.suл.соm/рroduсts/stаroffiсс «? 26.8. Советы по аппаратным средством персональных компьютеров Одним ИЗ достоинств оборупования для персональных компьютеров принято считать ero иевысокую стоимость. С дрyrой стороны. как мы все прекрасно понимаем. за ЧТО уплатил  то и получил. Поэтому даже при покупке ВЫСОКОЮlассНОro устройства следует учитывать uелый ряд факторов. Вопервых, если вы хотите оснастить свой компьютер не Windows, а какойлибо иной операционной системой, выясните. какие устройства в ней подцерживаются. Производители обору.пования обычно снабжают все свои новые разработки Windоwsдрайверами, но в UNIX они бссполезны. HeKO торые поставщики 'Iисправились" и стали прсдлаraть драйверы для Linux. ВoвтopЪJX. помните. что производителъиость компьютера зависИТ от мноrиx факторов. В настояшее время тактовая частота ПрОllессора не является узким местом. Недостаточная производителъностъ подсистемы BBoдaBЫBoдa приводит к снижению быстродействия всей системы. Выбирая УСТРОЙСТDО, оряентируйтесь на самую высокую скорость перепачи данных и самую быструю шину Бупьте особо внимательны при покуттхе таких устройств, как дисковые контроллеры. Убедитесь в том. что они разработаны мя действи тельно мноrопользовательской опеР81lИОННОЙ системы и способны обрабаты вать иесколько "запросов" опновременно. Еше один источник проблем составляют непороrие модемы, которые требуют наличия на компьютере проrpаммиоrо обеспечения, выполняюшеrо обработку сиrналов. Маловероятно, что это протраммное обеспечение коrДа нибудь будет пере несено в UNIX, поэтому нужно выбнрать модемы, имеюшис собственныl! сиrналъный npоиессор. Пакет Wine доступен также 80 FreeBSD. 816 Чость 111 Розное 
27 Стратвrия и политика администрирования в этой rлаве рассматриваются некоторые нстехничсские вопросы, которые часто приходится рtшать системному администратору. ПОМИМО обсуждения различных прввовых и ПО:Jитических проблем. мы поroворим о Л'ИЧНЫХ взаимоотношениях администратора с окружающими и политичесюfX ИНТрИ rax, ведушихся иноrда нв UNIХузлах. И ОС UNIX, и компьютерные сети ДОВОЛЬНО молоды  им Bcero какихто 25 лет, но, несмотря на это, при ИХ использованиИ возникают соuиальные проблемы, существующие уже ТblсJ!ЧII лет. Во мноrих случаях правовые и соuиапънъrе институты "виеnrnеro" мира СЛИШКОМ медленно приспосабливаются к "внутреннему" миру НОВЫХ технолоrий. r пtеrnеt в настоящее ВрtМЯ оказывает значительное штияние на методы работы некоторых ютючевЪJX составляюших экономики. Речь идет, в частНО сти, О сферах раслространения информ8lIИИ, телекоммуникаuии, индустрин развлечений, почтовом- обслуживании, а также о посреднической деятельности (туристических aremCТBax, торroвле книrами и музьп<ой, биржевых конторах и т.д.). Причем во мноrих случаях наши технолоrические и финансовые возможности. кажется, далеко превосходят уровень развития необходимой для нх ПОДIIержКИ правовой инфраструктуры. Например, сушествуют четкие законы и конвенции по обеспечению конфиденциальности и правилам использования обычной почты. А как же электронная почта? Она конфиденциальна, или владелец диска, на котором хранится почта, имеет право ее читать? Если компьютер пересылает клеветническое или оскорбите}lъное сообщение, несет ли владелеu компью тера ответственность за содержимое Э'Тоrо сообщения? Понятие интеллектуальной собственности становится все более раСШIЫВ чатым. Понятно. что вы можете позволить любому прослушать купленныЙ ваму компакт.диск и даже дать ero друзьям попользоваться. Вы также можете 817 rПQ8Q 27. CTpOerv."I .1 1l011l'rL.O Од..'I<1.....исТрирОВОI."'f! 
переписать музыку на компьютер и проиrpывать ее с помощью компьютера. А как Бьпы  если вы захотите преобразовать содержимое компактдиска и сделать ero поступным через [nternet? Или позволите слушать ero "'i..ICИМ образом своим дРузьям? Краl!ностью стало появление таких служб, как Napster (napster.com). которые обеспечивали бесплатное распространение музыки через Iщеrnе(. Napster позволяла сделать доступной через сервер Internet любую ПОЛЬЗОR<l тельскую коллекuию музыки в uифровом формате. С точки зрения компью териыx технолоrий Napster является весьма иmересной системой, так как, скорее вcero, ЭТО самое большое распределенное приложение типа клиент/сер вер. Однако она породила множество проблем. Осенью 1999 roдa служба Napster стала полулярна в студенческих кампусах и быстро вытеснила Iлtеmеt афиши. Некоторые проваllдеры стали yrpожать ОТключением клиентам, которые применяли Napster. Представители музыкальной индустрии стали преследовать Napster в судебном порядке за нарушение авторских прав. Количество проблем BOKpyr NapSler росло, как снежный ком. было открыто MHoro судебных тяжб, в которые вовлекались самые Ра.1Личные стороны. Однако мы сомневаемся, что разрешение этих проблем внесет ясность по поводу rлавных причин. которые их вызвали. Как и можно ожидать, при такой неопределенности МНOI-ие орraнизаuии (не roворя уже о правителъствах) нyжn:аются в документа.х. четко реrламен  тирующих решение данных вопросов. 27.1. Правила и методики Работая нан этой rлавой, мы бесеповали с видными деЯ1'елями в области системноrо администрирования, зашиты компьютеров, стандартизаuии н компыотерноrо права. Как ни странно, все они считают, что документально оформлеIOfblе, доведенные до сведения всех сотрудников правила совершенно необходимы WIя нормальноrо функционирования любой орrанизаuии. Правила и методики должны быть соответствуюшим образом оформлены. утверждены руководством и проверены юристами. Лучше это сделать до TOro, как возникнет необходимость обращения к подобным документам Ш1я решения какойнибуlIЪ острой проблемы. Желательно, чтобы в каждО1 орraнизации были такие документы: . правила административноro обслуживания; . перечень прав и обязанностей пользователей; . правила ДIlЯ адМинистраторов (пользовате..'lей с особыми привилеrиями): . правила создания '"rocTeBЫX' учетных записей. Для систематизации практическоrо опыта можно использовать различные методики, оформленные в виде контрольных списков  инструкuий. Эти документы полезны как Ш1я новых администраторов. так и nля ветеранов. Вот некоторые преимymества, получаемые при ИСПОЛЬЗ0ваНИl1 стандартны" методик: . рyrинные задачи всеrда въmолняются одинаково, . уменьшается вероятность появления ошибок; . работа по инструкциям выполняется администратором rораздо быстрее; . изменения самодокументируются; 818 ЧАСТЬ 111. Розное 
. корректность де'ЙсТRИ'Й апминистратора МОЖНО соизмерять с неЮfМ эталоНОМ. Сеroдня в корпоративной среле UN IХсистемы заменш1И большие мэйнфрейиы. и на них возлаrается основная ВЪiЧИСЛИ'Т'еЛьная наrpузка. В UNIХсистема.,< почти все станпартные задачи покументирова-ны в форме контрольных списков и JfНСТРУКUИЙ (называемых "run books" или "checklisrs".,. доступных R оперативном режиме или "раняшихея в печатном виде. Написанием и поnдержкой этих инструкций занимается дополнительная rpуппа системных администраторов (не входяшзя в состав OCHOBHoro штата системных allМИШfстратороп. обслуживаюших технику и используюши'Х Эnl инструкции). Тем не менее, такая орraнизация и стандартизация в конис KOHIlOB окупаются_ Следует рассмотреть вопрос о разработке методик: ПОДI01ючения компьютr:ра; . подключения ПОЛhJователя . ha<..-ТроЙКII и конфиryрирования компьютера: установки библиотеки ТСРоболочек на компьютер настройки резервнш"О копирования для HOBoro компьютера: )ащиты HOBoro компыоп:ра: перезипуска сложноrо nporpaMMHoro обеспечения: . 80сстановления WebcepBepoB. которые не отвечают на запросы или не предоставляют данных; . рвзrpузки очереди и перезаrpузки npmrrepa; модеРНIIЗ31lИИ операllИОННОЙ системы: . ИНСТ81ШЯIlИИ пакетз прИI01allНЫХ проrpамм: инстanЛЯIlИИ проrpзммноrо обеспечения по сети; модернизt]ШIII наIfболее li3ЖНЫХ проrpам/I.I (scndmail. gcc, 11зшеd и т_д.): резервноro КОПИРОВ,III'IЯ н восстановления файлов; . выполнение аварийной остановки системы (всех компьютеров, всеХ. кроме наиболее важных компьютеров, и т.д.). Часто проблему можно отнести и к правилам, и к методихам. налрuмер: Кто может иметь учетную заmfСЬ'! Что произойдет , если этот пользователь уволится'? Такие вопросы следует рtпrаментировзть особенно тщательно, чтобы не стать жертвой известной уловки четырехлетних детей: '.Мама не разре1ШUJ8. напо спросить у папы!" Ответы на вопрос "'-JTO если'?" обычно составляют политику компании. а ответы на вопрос "как?" представляют собой прОllедурнуlO часть ее реализации_ Некоторые положения инстр}кuий ли....'Туются особенностями nporpa\1 MHoro обеспечения, с которым вы работаете, !lибо правилами. прннятыми в Tr:X или иных сторонних rpуппах, например. у поставшикоВ услyr (шсrIlСI.. Соблюдение некоторых положений является обязательным, особенно если вы должны обеспечить секретность нанных пользователей. Такие веши мы называем "безоrоворочными правилами" . В частности, мы считаем, что управление Intеrnеlадресами, именами компьютеров. идентификаторамu пользователей и rpупп. реrnстрационными именами должно осушествляться еПi1нообразно для всех t...""Омпьютеров opra низации_ Дая боЛЬШИХ СТРУК1ур (8 '-Jзстности. транснаuиональНbJХ корпораций) rлово 27. Стротеrия и ПОЛlAтиtl:О ОДМИНИСТР""рОВОI-"ИЯ 819 
такой по.1lxод реализовать непросто. НО если вам удастся это сделать. упрВRЛение значительно упростится. Средства, которые облеI'!ают управление хостами и пользовательскими учетными записями, можно лолучять по сети. Имеюшиеся у нас старые версии addhost и adduser не являются хорошими примерами, однако они еще применяются и, если вы Не найдете нпчеrо лyчmеrо, возьмmе эrn протраммы на узле ftp.xor.com. Мы убеждены, что ни в коем случае нельзя предоставлять нескольким пользователям одно и то же реrистраllионное имя. Это правило roраздо леrче внедрить, если сразу же устранить соблазн коллективиоrо использования имени. Хорошая альтернатива несаНКllионированному применению одноrо и TOro же имени  Ilrостевой" компьютер с либера.'1ЬН'ЫМИ правилами созданн'я учетных записей. Однако сейчас, KorIIa некоторые службы (AOL, HOlmail, Yahoo и др.) предоставляют адреса электронной поч'l'ы и существует доступ к Internet из библиотек, Iпtеrnеtкафе и пр., мы не счтаем данный метод необходимым. Мноrие вопросы реrламента относятся не только к вашей локальной административной трynnе. Это, например: . нарушения систе?о.fbJ защиты; . управление экспортом в N FS; . критерии выбора паролей ; . удаление реrистраuионнЪDi имен; зашита материа.ттов знаком 8BTopcKoro права (например, дJl'я файлов М Р3 и ОУО); . протраммное пиратство. Обеспечение связи между административными rpyпnами в крупных орrанизациях  ОДИН из важнеЙШИХ факторов предотврашени я проблем и создания атмосферы поверия и сотрудничества. Некоторые rpуппы админи страторов применяют штя обшення такие средства, как MUD и МОО. Конечно, они мотут показаться слишком "чапtСТШ1И". однако при разумном использовании, безусловно. будут полезны, особенно если часть nepcoHa.'l8 работает доМа. Правила безопаеноcrи Что именно вы хотите зашитить? Данные'? Аппаратное обеспечение? Или речь идет о способноспt быстро восстанавливаться после катастрофы? При проектировании потпики безопасности ДJl'Я сети орrанизации вы должны найти разумный баланс между: предлarаемыми услyrами и обеспечиваемой безопасностью (больше cep висов == меньше безопасность); . простотой и удобством использования и безопасностью (безопасность == I/удобство); . СТОIOrfОСТЬЮ средств безопасности и убытками (риском) от ее нарушения. В 1997 r. одна нз пoдrpупп IETF выпустила 75страничный документ, озаrЛВВЛенНъrй Sire Security Handbook (Справочник по зашите систем) и оформленный как RFC2J96. В нем содержатся рекомендаuии системным администраторам по различным аспектам зашиты. правилам использования и методикам работы. PellenTa обеспечения безопасности Iп[еП1еlУЗЛОВ здесь нет, но есть дрyrая, не Менее uенная. ИНфОрМ8IlИЯ. 820 Чостъ 111. Розное 
Документ RFC2196 предлаraeт включать в правила следуюшие разделы: . Рекомендации по закупке оборудования u nроzраммlЮlО обеспеченШl. Участие системных администраторов в выборе оборудования и nporpaMMHoro обеспечения может оказать большую пользу. так как часто они знают о ero недостатках и оrpвничениях ТО, чеro не афишируют продавuы и производители. . Политика секретности. Устанавливает степень контроля над почтой и действиями пользователей. а также политику размешения пользователь ских файлов. . Политика доступа. Определяет I кто может иметь доступ в систему. ЧТО можНО де..'l8ТЬ в рамках этих прав доступа, какое nporpaMMHoe и аппаратное обеспечение можно УС1'8нааливать и пр. Данный документ должеН включать те же меры предосторожности относительно авториза ЦИИ доступа и степени контроля, что и политика секретности. . Политика учетNЫХ записей. Содержит описаНИе прав и обязанностей пользователей и системных администраторов. . Политика аутентификации. Устанавливает правила прm.fенения паролей и порядок удаленноro доступа. . Политика dOCтJ'f'lHOCтu. Определяет, в какое время система должна быть ЛОС1)'Т1на. содержит расписание обслуживаюшИJ( мероприятИЙ. перечень действий при возникновении проблем, а также ннструкции по дoкyмeH тированию проблем и оповешению о них администраторов и ор.иенти ровочное время их устранения. . Политика управления. Устанавливает правила общения с внешним миром и поряnок доступа пля приrлашенных из дрyrих орrанизauий спеииали стов. Примечательно, что из документа RFC2196 исключена часть о ПоЛИТИКе аyrентификаuии, определяюшая, кто может созлавать новые реrистраuионнъте имена и расширять привилеrии. Предыдушая версия документа Site Security Haпdbook (реrистраwюнный номер RFC1244) содержала список конкретных политичесКих задач и вопросов, требуюwих реrламентирования, а не просто описание типов политик, что, вероятно. было более полезНО системному администратору. Более новый RFC 8ЮIючает рекомендации для кажnоrо типа службы, которая может работать на компьютере, описывает крут возможных проблем, связанных с этими службами. и методы их решения. Независимо от сути принятьrx в вашей компании правил. они должны быть четко сформулированы, документально оформлены, .поведены до сведения всех пол.ъзователей и системных администраторов и подписаны ими. Этому надо следовать. даже коrда пользователи ЯВJ1ЯЮТСЯ клиентами, которые платят за обслуживание. Ошибки в прm.fенении политики ослабляют ее юридическую силу и законность. Правила для пользователей На факультете компьютерных наук Университета Колорадо используется сnеuиальная проrpамма. которая предлвraет каждому новому пользователю прочитать и подписать соrлашение о правилах поведения в системе и предъявляемых к нему требованиях. Только подписав ЭТО соrлашение. пользователь получает учетную запись и доступ к системе. Такая схеМа дос1)'Т13 очень удобна. она экономит время и позволяет избежать мноrих проблем. но пре.ж.пе чем применпть ее в своей ОРfанизаuии, посоветуl:tтесь с юристом. frЮБО 27. Стротеrия и политико одм.И,.lистрир080НИЯ 821 
в прзвилзх пля полъзователей необходю.ю реrл:аментироваТl. т(tкие вопросы: . использование учетных записей совместно с друзьями и родственниками. . выполнение протрамм дешифровки паролей Д.IIЯ расшифровки локальноrо файла passwd"; . выполнение nporpaMM дешифровки паролей для расшифровки фаЙлов passwd дрyrиx систем; . нарушение нормальноrо проиесса обслуживания; . проникновение в чужие учетные записи; неправильное иСпользование электронной почты; просмотр файлов дрyrиx пользователей (есть ли ВОЗМОЖНоСТЬ ЧТСIlШI'I записи? одобряется ли?); . пубmrкашrn в Usene[ (запрещены? с оrоворками? разрешены"?): . импорт nporpaмм из Inreme[ (запрешен? разрешен? разрешен с пронср кой?); . использоваНИе системных ресурсов (принтеров. дисков, моде....юи. пронес сора); . копирование лицензионноrо проrpаммноrо обеспечения; . выдача разрешеиий на копирование Лlfuензионноrо ПРОllJю.lмноrо обес печения Лрyrnм липам: . копирование защищенных авторскими правами материалон (\1)'lblt.:ll, фильмов и пр.); . всевозможная незаконная деятельность: мошенничеСТ80, Кllе8Пl 11 др.: . ВОВЛечение в деятельность, которая яwтяется запрешенноИ- (Н.ilПрИ\lер. порноrpафия). Два примера соrлашений ВЫ найдете на нашем сервере \\'Vv"W.зdтil1.СОtn. Одно предназначено пля студентов первых курсов. у которы" наличие реrистраиионноrо имени Я'ВЛяется привилеrией. а не правилом. Оно ЯfШЯТСfl более жестким. Второй ло",мент предназначен для преподавателсй, coтpyД ников и студентов старших курсов. В качестве примера npocтoro и KpaTKoro соrлашения мы ПРИ80ДШ.1 документ. который требуется ПОДПИсаТЬ мя доступа к J{омпьютера1 ФJ.КУЛЬ тета компьютерных наук Университета Мельбурна: Я. нижеполписавшийся. настояшим объявляю. что буду ПРI1дсржипtlТьСfI приведенных I-шже правил: . Я буду использовать возможности компьютеров и сети фiн..льтеПI исключительно мя учебных иелей, относяшихся 1( моему обуt;СhllЮ кошьютерным дисuиплинам. . Я знаю, что факультет предоставляет реrистрauионное имя ИСЮIЮ'lитеЛhНО пля лрименения ero получателем Поэтому я не буду спосоБL:ТR()RfJТЬ использованию моей учетной записи и файлов лруrl1МИ ЛlшамJ.i 11 сообшать свой пароль друтим ЛJ.щам. Например. проrpаммы crack. которая является эффективным cpeAcTllOM раСllО3Н.ilNНltя паролей. 822 Чаrъ 111 Розное 
Я не буду осуществлять доступ или попытку доступа ни к одному компьютеру, реrистраllИОННОЙ Jаписи, сети или фаЙлу без соответСТRУЮ щеrо и явноro разрешения. ТакоЙ доступ является незаконным и противорtчит Уl.lИвеРСJПетским правилам. Если мне станеТ известно, что такой доступ имел место. я немедленно проинформирую об этом РУКОНОДСТ80 факультета. Я знаю, что некоторые проrpаммы и данные, находяшиеся в фаиловои системе, MOJyr бьrrь зашишены законоМ об авторских правах и друrими законами или ЛИllензионными либо дрvrnмя соrnашениями. Я не буду нарушать наклаllываемых ими оrpаничений. . Я не буду использовать университетские ресурсы дт!Я получения, разра ботки, запуска и распространения нелиuеизионНОro проrpаммноrо обес печения. Я обязуюсь сохранять конФидеfЩИНЛЬНОСТЬ любых полученных мною от унивеРСlПfта сведенИЙ о проrpаммном обеспечении (включая МетоДЫ и ПРIIНЦНПЫ ero использоваНИЯ). ЛИLlеНJИРОванном МЯ применения на компьютера..х YНlтepc, итета И тем самым обезопасить университет от претензий любоrо рода, связаНI-IЫХ с разr.'lашением этой и нформаШiИ. . Я обязуюсь проявлять предельную честность и порядочность во всех вопросах. связанных с использованием компьютерны,," JI сетевых возмож ностей факультета. rарантирую, 'по буду избеraть любых действий, связанных с 'Использованием компьютерных и сете8ЫХ возможностей универсапета. которые MOJyr повредить репyrЗШ1И фа"''Упыета или уни верСИl'еrc:l. Я понимаю, что должен придерживаться Правил 8.I.R7 Университета Мельбурна (изложеНbI в Дневнике студента), которые также определяют и реryлируют порядок ИСПО.'1ЬЗОВания вычислительных средств университета. Я понимаю. что действия, противоречашие изложеIOiЫМ выше прюiЦ' пам. повлекут за собой жесткие взыскания. включая отказ в изучении темы или пред.мета. временныЙ запрет НШ1 лишение досТ)па к УIЛfверСlпеТСЮI\r вычислительным средствам. временное или полное исключение из унипер ситета. штраф и/или дрyrие действия, предусмотренные Crimes (COlllpU(er) Ас!. 1988 r. Обратите особое внимание на неоднознаrые слона о честности. поря- дочности и необходимости беречь рептаuию университета. Подобные требования общеrо хара...'Тера помоraют охватить вопросы. которые трудно omlC8Tb строrими детерминированны-,,(и правилами. И хотя ЮРИilllческая сила тitКИХ требовании невеликCl. все же полезно их включать IЮ внутреllШ1С правила компании. Правила для администраторов В правилах для dДМИНIlСТраторов (J.I ДРУПfХ лнLl С особым статусом) должны быть СфОрМЛI-IрОваны РУt.::Dнодяшие приншrпы использования f1ре доставленных ПРН8илепtЙ и соблюдения секретности ПОЛЪ30вите!lЬСК1fХ дaH ных. Трудно. конечно, ОТRетИiЬ на жалобу пользователя о том, что почта не работает. lIе RИДЯ .'отскочивших" сообщений, но копии заrОЛ08ка R боЛЬ ШlIнстnе ClТy1raeB Х8атает для определения суп. проблемы и ее устранения.  Подробuо nро.!ра\'Лtа sиdo расоютрuвоетсн в пQРQрофе 3.4. Здесь речь идет об Австра.1ИИ. Однако ана..'IOrичные законы, касаюшиеся КОМПьютеров и nporpaMMllOro обеспечения, существуют и в США. r 11080 27. Стротеrl<lЯ и ПОI1ИТl1r.а администрировония 823 
ЕС1И для доступа в СИСТ1\fY с права!'-т root прllменяется nporpaMMa типа sudo. ат.шнистратор8М e:IeдyeT выбирать надежные паро..'П1 и Не де.1ИТЬ 'четныe записи с кем попало. Реl)'Л.ярно пров(:ряйте паро;rn систеfНЫ\: адl\fИНИСтрв.торов при пОМОЩИ проrpаммы crack. Кроме Toro, важно, чтобы они не испo.rтьзова.."IИ команду sudo tcsh, поскольку этим НЗр)llJаеrся способность sudo реrисrрировать события и выполняс:\rые команды. Некоторые системные a!lминисrраторы 3..10употреБJ1ЯЮТ своими но IМОЖ ностями. Таким сотрудника\.{ :1учше прел.lОЖИТЬ друrие ДО.iТЖНОСТИ В некоторых орrанизаLrnЯХ оБЛa!l8ние паролем root явлиется tl.1\IRО!Ю\f занимаемоrо по:южения. возможно, даже БО.1ее ueHHbIM, ЧСI\.f к..'lюtl ОТ nepCOH8.1bHOrO туа..1ета. Иноrда этот парО:iЬ есть у инженеров. которы'\1 он не нужен tЛи не дQ.1.жен выдаваться. r..'1bI знаем одну фирму, ['де все\. инженерам предло>юши парО:1Ь при-вилеrированноrо пользователя при ус:ю вИi-I, что ero обладатели будут носить пейджер и в случае необходимости помоrать друrим. Заявlo..Т-И потек.Т'lИ рекой. Есть еше один успешно проверенный нами метод: поместить паро.'ть root в конверт и спрятать ero в известном \leeTe. ..l\.1министраторы OObItrнo пользуются в своей работе проrpа,мой sudo: если по какойлltбо ПРИЧIIIIС им понапобится паропь root, они вскроют конверт Пос!!!: этоrо napo:lb rool меняется и прячется в новый конверт. Конечно. отпарить конверт ничсro не стоит, но ДОС1)'"П К тому месту, rде он \раюпся. И"1еют TOJ1bKO ;:U\fl-fIiIIСтра торы Правила и методики для экстренных случаев Заб.1аrовремеНl-I0 peurnтe вопрос о том, "'.,.0 будет руководить работой н случае нарушения заШliТЫ. Заранее опредетпе субординацию; имена и телефоны1 должностНых лии держите вне CHcтefbI. Может оказаться так что луtlШJ.fМ руководите.lем в подобноЙ ситуации будет апМlfнистратор "из окопов". а не диреJr.:ТОР вычислительноrо ш:нтра (обычно он Не полходит Ш1Я этой роли). Д1Я обшения и ПQ.Т"J)'ЧСНИЯ ДОК}"'-fентов !\.lhI обычно пользуемся сетью. В случае IfНLIИдента с зашитой доступ к сетевым средствам \.fQЖет быть затруднен ИЛН вообше окажетсЯ невозможным. Держите сведения о СВШ1'\: СВЯЗЯХ И методиках вне сети. Не jабывайте о том, rде МОЖНО взять последние даМПJlенты и каЮfе команды H"'J!(HO ИСПО:IЬЗ0вать .!L1Я восстановления беl обрашения к фаЙ.1У /еtс/duшрdаtеs. Избеrайте расспросов со стороны представнтелей средств массовоЙ Itнформзuии, особенно если II}-Шllдент по:rучает раЗВl-frие. у xaKeB сейчас в МОде ВJ.lамыизтъ \Veb.Y3..1bI. д,lЯ системных ап\НIllIf страторов компании. предоставляющей услуrи \УеЬХОСТIIНrз, П1КОЙ 83,10"1  очень БО;Jьшая неприятность. Тут же начинаются телефонныc звонки от обеспокоенных клиентов, см и н от партнеров компзJ-rn'и. впдеВШIIХ новость по CNN. Кто будет отвечать на все эти ЗВОН1<и'! Что он скажет? КТО 803ЬМСТ на себя ответственность за исправление ситуаш,ш.! КаКИl\fИ будут обяззнности каЖдоrо из членов персона.nа? Если ваш бизнес на вилу у Шltроlo..ОЙ обшественноети. все это нужно очень тшате.1ЬНО npoll)'J\18rb, 11 ВОЗfOЖНQ. даже провести }'Чения. О том. что де.1ать в случае нарушения зашиты. подробно paCCl<3jbJ па.'lОСf. в rлаве 21. 824 Чост" 111. Разное 
Планирование на случай аварий Действия лерсонала в случае аварии нужно планировать зараиее. Худшие из аварий почемуто случаются на ноутбуках руководителей, и именно они поднимают больше Bcero шума. В этом разделе рассматриваются различные ВИДЫ аварий и рассказывается о том, какие данные понадобятся для успешноro восстановления работоспособности системы и каковы важнеЙШИе элементы мана аварийных мероприятий. Существует несколько тИПОВ аварий и непредвиденных ситуаuий: . нарушение защиты (60% нарушений защиты обычно происходит внутри орrаНИЗ8UИИ); . внешние 80311ействИЯ на технику: скачки напряжения и отключение питания, поломки КОНДИ11ионеров и вентиляторов. потопы, ураrзны. землетрясения, метеоры. вторжения пришельuев из космоса: . человеческие ошибки: удаленные или поврежденные файлы и базы данных, потерянная конфиrypаuионная информация (возможно, ваша система зеркалирования JIIIННЫХ работает с такой скоростью, 'ПО ошибка успевает распространится в ней до тoro, как вы сообразите, что проmошло?); . неожиданный ВЫХОД из строя апnаратноrо обеспечения: отказ сервера. поломка жесткоrо диска, нарушение работы сети. В любой из этих ситуаuий вам необходим лоступ к копиям важной информаuии, храняшейся в компьютерах и на ВНеШНИХ носителях. Для оперативноro доступа к таким копиям по возможносТИ нужно использовать независимый компьютер с 6оraтым набором всевозможнъrх yrилИ'Т и инстру ментальных средств, спеuиально настроеIOlЫЙ и 060pyдoвaнHЫ дЛЯ ИСПОЛЬЗ0 вания системными апминистраторами. На неМ должен работать собственный сервер имен, должен быть полный файл jelcjhosts, все необходимые для ero работы файлы должны хранитьСя на нем, а не rдето в сети, к нему должен быть непосредственно подключен притер и Т.д. Вот какие данные следует хранить на резервной машине и иметь под рукой в распечатанном виде: план действий персонала в случае аварии. в котором ДОЛЖНО быть указано, Koro и Korдa оповещать и что rоварить; . номера телефонов обслуживаюumх орraнизаuий и клиентов; важнейшие номера телефоН08 (персонала. полиции. пожарноЙ службы. босса, аrентства по трулоустройству); сведения об аппаратном обеспечении и конфиryраuии ПроrpаМ1.iноrо обеспечения: таблиuы разделов дисков, аппаратные установки компью теров. номера прерываIOfЙ, номера каналов ОМА и т.п. ленты с резервнымИ копиями и расписание резервноrо копирования. использовзвшееся для их создания; карты Сent; серИИliые номера nporpaMMHoro обеспечения, лиuензионные ПЗJ-iные и пароли; . контактная информаuия производителеЙ или прОдавuов дисков, которые должны быть восстановлены немеютенно. При состаалеНИи плана аварийных мероприятИЙ обыч"Но предполаrается, что администраТJ.mный персонал будет на месте И в состоянии справиться с ситуацией. Однако в реальности люди болеют. переходят на друrие должносrn. уходят в отуск и увольняются. Поэтому СТОИТ заранее продумать, rде можно rЛО80 27. Стротеrия и nОЛI'Iтико ОДМИНl'lстрировония 825 
o быстро найти наполнительный персонал. (Если ваша система не слишком устойчива. а персонал нсопытен, то недостаточное количество администра- торов )'JКe саМо по себе рискованно.) Ош-rим из решений может быть доrовор с местной КОНСУЛЬТ3LlИОl-I ноЙ ко,mанией И..."IИ университетом, rде 8сеrда имеются спободные системные зILми-нистраторы. Но самое rлавное  обеспечьте liа.пежную работу своей системы, наit/lнпе достаточНО апминистраторов и Не требуйте, чтобы Оl-Ш работали по ] 2 часов в сутки. План аварийных мероприятий лучше пров(:рить заранее. Если вы основательно roТQВИЛИСЬ к выживанию в случае 8варЮil:, ожидавшихея I лнваря 2000 rода, возможно, стоИт оставить коечто 'Из запасов  например. фонари с аккумуляторами. (Есть очень удобные  они вставляются розетку ..1 зажиraются, коrllЗ отключается электричество, так что их cpaJY леп.::о найти.) Проверьте reHepaTopbI и источники бесперебойноrо питанИЯ. Убедитесь. что все важные устройства ПОДЮIючены к источникам бесперебойноrо питания (ИБI1). их батареи в порядке и механизм включеНИЯ питаю.tя раБОТ8е1"_ Для проверки ИБП достаточно просто вынуть вилку из розетки, а мя тoro. чтобы пров(:рить. нее ли важное оборудование к ним подключено, нужно отключить питание в здании или в кш..нате. и убеДJПЬСЯ, I-ПО все работает. Как правило, 3ле....'ТричесТво отключается ненan:олro, но на ВСяКIIЙ случай батареи должнЪ1 обеспечивать два l3ca рвботы, чтобы было Время правильно вык.mочитъ IeХНИКУ_ Некоторые ИБП оборудованы последовательными пор тами или Иlперфейсом ELherner, ПОЗ80ЛЯЮШИМ отключать не самые важные мапшны через пять МИН}7 после отключеЮiЯ питания (тайма}'Т настраивз ется). Даже из KpaTKoro ОТКJ1ючения питания можно извлечь некоторую пользу  например. добавить на серв(:р еше один писк КllИ выполнить еще какуюто пятиминутную работу, которую вы давно запланировали Некоторые неудобства будyr приняты как нечто само собой раЗ}1\.fеющееся. Люли обычно спокойнее воспринимают ДОПОЛНJ.Пельную ПЯТИII1НУТНУЮ задержку после отключения электричества, чем пятиминутное плановое ОТЮlючение системы, о котором их оповестшrn за неделю. Еслн у вас есть старые машины, которыми как вам кажется. уже никто не пользуется, I-Ie 8ключаЙте их. пока ктонибудь не пожалуется на ИХ отс}'Тствие_ ИНOI-па отсутствне такой машины может оставатьСя незамеченным в течение нескоЛЬКИХ недеJ1Ь. Системы охлаЖдения часто оборудованы датчиками температуры со средствами оповешения о ее повышенИи. Задайте такую верЫIЮЮ rpаниuy температуры, чтобы после сиrнала у вас оставалось врсмя выключить технику. преЖде чем она переrpеется и выйдет из строя_ Держите в машинно комнате обычный термометр или термометр, работаЮШЮ1 от батареи_ Не Jабываjте, что. как только отключИТСЯ питанuе, все ваши чудесные электронные индикаторы окажутся бесполезными. За дополнительной UНфОР.'JйuuеЙ о npo6.le.tfDx, связатlЬ/Х с 6.JlUшшем внеитих факторов. обратuтесь к nарЙlрафу 24.7. В одной ИЗ крупных правительственных лабораторий США недавно создали НОВЫЙ машинный зал и установили 8 нем кластер из 256 процеССОРО8 Alpha, предназначенный мя обработки больших научных моделей Все было подключено к источникам бесперебойноrо питаНИЯ и продумано до деталеЙ_ И вот однажды недолrое откточение питания вывело всю систему из строя на ueJlblX четыре часа. Почему? Оказалось. что компькrrер, который упраВЛЯЛ 826 Чость 111 Розное 
кондиuионером. не был полключен к ИБП Он оТКЛЮЧИЛСЯ и отключил систему кондиционирования. Так что тестируйте системы как можно тщательнее. Непредвиденные обстоятельства ПроваЙдеры услyr (nternet постоянно сливаются 8 более крупные компании или приобретаются крупными компаниями. В результате наруша ются их тшательно разработанные планы поддержания избыточных подклю чений к Intemet. Объединяясь. компании часто объединяют и свои сети. Поэтому может оказаться, что имеющиеся у вас два независимых соединения с (nternet теперь выходят на обший оmоволокоННЫЙ кабель. Korдa CNN или Sladsho! объявляет. что ваш WсЬузсл отключеи. rlОЛЬЗОватели MOryr ринyrься смотреть, каК дела, и в результате трафик возрастет настолько, что может разрушить то, что ВЫ только что починили. Если ваш WеЬузсл ие рассчитан на 25процентное увеличение трафика, подумайте о том, чтобы использовать простое проrpаммное обеспечение. балансируюшее наrpузку. Оно может просто напраВЛJIТЬ ЛИШJП<е обрашения на сервер. возврашаюший одну и 'fY же страницу: "Извините. узел слишкоМ заrpужен и в данный момент мы не можем обработать ваШ запрос". Используйте rlporpaммy tripwire. чтобы соrласовывать действия систеМНЫХ администраторов. особенно если разные rpynпы администраторов отвечают за разные аспекты работы ОДНОЙ машиНЫ. Например, "заплвты" СУБД Oracle и "заплаты" операционной системы MOryr конфлmcтoвать дрyr с дpyroM. и поставившая OnНУ из них rpуппа администраторов может паже не подозревать. что причиной проблемы я-вляются действия второй rpуппы. СвеЛСНИЯ. собранные проrpaммой tripwire. MOryr очень приronитьcя и орraнизации, предоставляющей 8,JIМинистративные услyrи, если ее специа.листам нужно восстановить систему клиента после неудачных нействИЙ' ero собственных 8,JIМинистраторов_ Эта проrpамма леrко идентифицирует, что и коrда изме нилось. и поможет доказать Mecтным систеМНЫМ алминистраторам, что именно их действия послужили причиной неполадок. О npozpaM.Me tripwire расскаЗЫ8ается 8 nараzрафе 21.7. o 27.2. Правовые аспекты Федеральное правителъство и некоторые штаты издали законы о rlpecтy IIлениях в области вычислительной технИКИ. На федеральном уровне таких Ji:-tКОНОВ несколько: Федеральный закоН о секретности связи; . Закон о компьютерном мошенничестве и компьютерных злоупотреблениях; . Закон о комnьютерных кражах; Закон об авторском праве "Digi!al МiI1еппium Copyrigh! Ас!". С началом Hoвoro тысячелетия перед систеМНЫМИ администраторами. ..:етевым-и операторами и WеЬУЗJIами. предоставляющими услyrи хостинrа, встали новые ответственные задачи: это и усиление защиты электронной коммерции. и защита авторских прав. и зашита КОИфИденuиалъности- 827 r лова 27. Стротеrия и nолитикО ОДМИНИСiРИРОВОНИЯ 
Ответственность Системные администраторы обычно не отвечают за то, что rlОльзователи хранят иа маШИНах, которые ОНИ обслуживают. ПрОВ8.ЙДерbJ услyr Iпrеmеl. чаще вcero просто налраRJIЯЮТ всех, кто к НИМ ПОДЮIючается. к СВОИМ клиентам. Вся ответственносТЬ за действия клиентов воз..Т'lаraется ив самих клиентов, а Не на провaй.D:еров иля орraнизаuии. предостав.'1яющие уcлyrи провайnерам. Uелъю такой rlОЛJ-rrики является защита проваЙnС:рО8 ОТ OTseTCТ8eRИocm за спам и прочие неПрИЯТНОСТI. такие как, например. хранение ПQЛhЗQвателями на СВОИХ узлах петекой порноrpафии. Узнайте, каковы законы на этот счет в вашей cтpalle. Полезная юридическая ИНфОрМ3UИЯ имеется на YТJe WWW.ПliЬh.пеl.. Там есть сведения о незаконныx действиях. нарушениях интеллектуальной собст венности и нарушениях правил ИСПОJТЬЗОВ3НИЯ ПРОДУКТОВ и услyr. Вы найдете на ЭТОМ узле список ззпрешенных действий, оrpзничении, описание проиедур реrистраuии жалоб и J(оечто об ответственности. Шифрование Необходимость шифрования в сферах электронной коммершfИ и KOMMY никзuии оче-нидНЗ. Однако в некоторых странах шифрование запрещено законом. Полиuия и дрyrие орr-анизаuии. охраняющие закон, не хотят, чтобы они не моrли расшифровать пеpt:даваемые I ражданами данные. В Соединенных Штатах законы, касаЮllшеся шифрования. меНЯЮТСS1 В rlрОШЛОМ Jапрешалось экспортировать серьезные технолоrии umфрования. Поэтому комrlаниям rlРИХОДИЛОСЬ разрабатывать по дпе версии I1porpaMMHoro обеспечения: одну Шiя локалъноrо рынка, а дрyryю на экспорт. Очевидная абсурдность этой политики (как будто больше НИI-де в мире не разработаны технолоrии шифрования!) и явные требования электронной КОfмеРUJПf заставили правителъство изменить этот закон. Хотя некоторые оrpаничеllИЯ на эксrlОРТ поrlрежне-му сушеСТВ)rЮТ, ситуаuия в США уже значите:rъно улучшилась. Еще один побочный эффе-l<..---Т. вызваННЫЙ устаревшн( заКоНОМ США, заключается в том. что все проrpаммные проекты. связанные с шифроваНlfем, разрабатываются вне страны. [ETF провела серьезную работу по 'стаl-щарти зации в области зашиты двусторонней ко,,"rмуни-каШПI на уровне протоколов (усилиями IPSEC). It произвопители 113ЧМИ разрабатывать системы на основе ЭТИХ стандартОВ. Аутентификаuионная часть пока еше привяззна к KOI-IJ.:репюи системе. однако nrnфрующе-е проrpаммное обеспечение уже устанавливается отдельно. Такая архите....'ТУра. кроме прочеrо, обеспеЧlшает большую ,-иБJ.:ОСТЬ а разработке проrpзммноrо обеспеL[ения лля стран, rде шифрование Jапре щеяо. Защита авторских прав Музыкальная индустрия и кинопронзводство оказалНСЬ перед серьезным фактом: на домашню.: компьютерах можно проиrpывать музы....'У с КОМl1акт дисков и просатривать фильмы В формате оУо. С одной стороны. это открывает новые возможноcrn, а с друrой, CTaBlfТ множество проб_'1е!l.t, особенно с распространением таких служб, как Naps[er. Содержимое диска в формате оуо шифруется по технолOl-Ии. наЗЫ801емо CSS (Сопtеш ScrambIing Sуыеm). Это деЛается ДЛЯ Toro. чтобы диски MOrJlIf проиrpываться только лиuеНЗlfроваННЫfИ и оnобрt"ННЫМl[ плее.рами Эти 828 Чость 111. Розное 
плееры, как и лицензированное проrpаммное обеспечение для проиrpывания. имеют ключ для раскодирования дисков. И вот один норвежский студент и еще пара неизвестНЫХ европейских хакеров проанализировали лроuесс urnфрования CSS и поместилИ в Web лроrpамму, названную DeCSS. Эта проrpамма не обходит схему urnфрования оуо. Она просто использует ключ З8конноrо плеера Windows для декоди рования потока данных ОУО и сохраняет расшифрованный поток на диске. Этоrо студента судят в Норвrии. а Моtiоп Picture Аssосiаtiоп of Americ8 и DVD Сору Control Association судятся с множеством дистрибьюторов проrpаммноrо обеспечения DeCSS. Их обвиняют не в краже материалов. зашищенных авТОрсЮiМ правом, а в распространении коммерческой тайны и "нарушеН11И зашиты от копирования". что заrlрещено законом Соединенных Штатов "Digita1 MiIleDl1ium Copyrighl Act", изданным в 1998 roдy. Поскольку на этих судебных проuессах обсуждаются мноrие проблемные вопросы компыorерноrо законодательства, общественность и спеu-имизиро ванные юридические орrанизаuии следят за ними с большим интересом. За информаuией на эту тему можно обратиться по адресу www.cssfaQ.org. КОМI18НИЯ CyberPatrol разрабатывает I1porpaMMHoe обеспечение для фильт раuии данных, получаемых из Intemet РелиrиОЗНЪ1f орrанизаЩfИ распростра няют ЭТО nporpaMMHoe обеспечение в семьях, rде имеются дети, в школах и библиотека", чтобы зашитить детей от Toro, что им видеть не иужно. Компания А Салadiал and а Swede разработала лроrpамму cphack, I1ОЭВОЛЯIO шую расшифровывнrъ списки блокировки, создаваемые проrpаммным обес rlечением CyberPatrol. чтобы узнать, какие WеЬузлы заблокированы, каков уровень ошибок и какие невидимые проrраммы присyrствуют в системе. Ее сотрудники сооБШ11ЛИ, что все, кто критиковал проrpаммное обеспечение CyberPatrol, заблокированы по всем К8теrориям. Мэтrел, которому принадлежит компания CyberPatro, подал в суд на авторов этой I1porpaMMbl, утверЖдая, что лиuензия CyberPatrol запрещает инженерный анализ nporpaMMHoro обеспечения компании. Мэтrел получил предварительное судебное заключение, запрещаюшее распространение про rpaMMHoro обеспечения, но, к сожалению, судебный проuесс так и не начался. поскольку дело было улажено. Авторы проrpаммы cphack продали ее Мэтrелу за I доллар и соrласИJТИСЬ выполюпь это постаНОRJIение. Похоже, что авторы отступили. и Мзrrел rlытается доказать свои права на проrpамму, выпушен ную как обшедоступное проrpаммное обеспечение (т.е. с лиuензией G NU PubIic License). Мэтrел собирается исполыовать свое новоприобретенное rlpaBo интел .1екryальной собственности для Toro, чтобы запретить копирование проrpзммы Cpl18Ck через Internet (как будто зто воэможно!). Но rlОСКОЛЪКУ эта nporpaMMa выпушена звторзмJ'1 с лиuензией G PL, ее можно распространять безо всяких оrpаничений, кто бы ни был RЛаде!1ьuем aoтopcKoro права. Раз уж проrpамма выпущена с лицензией G PL и все сделано в соответствии с законом, обратно ее не вернешь. Конфиденциальность Обеспечение конфиденuиальности Bcerдa было задачей не из леrких, а уж с поя--в.'1ением Internet дело тут стало совсем r1ЛОХО. Возьмем. к примеру. недавний инuидент в Университете штата Мичиrан. Медиuинские карточки студентов универ:итета в один прекрасный день оказались оrlубликованными в Iщеrпеl.. К тому времени, как один из студентов заме-тил "утечку", они нахОдились там уже несколько месяuев. rлово 27. Стротеr\.1Я и ПОЛИТ\.1ко одминиарировони 829 
Еще один большой скаНllал произошел ВОКр)Т компании DOLJbIe Click.net  peI013MHoro зrентства, создающеrо баннеры Ш1Я WеЬстр.1НИU. rОДЗМIf эта компания заверяла своих пользоватеJlеЙ в их rIОЛНОЙ' аНОНИМНОСПI. утверЖl1ая. что никто не сможет их обнару.iКИТЬ и идентифицировать. HenaHHo DoubIeClick приобрела компанию, выполняющую поиск и анализ данных и начала собирать информацию о пользователях, посе-шающих WеЬстраниuы с ее баннерам'И Конечно, как только об этом стало известно, rlОдt-lялс шум и компании пришлось закрыть проект Jt нанять пару опытных R таких длаХ юристов. Но афера компании DoubIeClick  чrlуха по сраннеНl11О с тои уrрОЗОII конфиденuиальности. которую IIредстаипяют наши I1рОIИДСрЫ YCllyr 1 f1(сrпсl в сочетании с деЙствиями компании. f-l3зываемой Predlc((Ve Net\l,'Qrko;,;. KiH':: утвержлиется н "PRIVACY Forul11 Digest"'. компании Predictive с ПОМоШЫО провайдеРОR rтанирует наблюдать за вашей работои в сети 1-1 собирать информаuию о посещаемых вами URL. КIlючевых слопах, ВВОДИМblХ вами в проrpаммах поиска ресурсов, и т.п. На основе этой информации она будет формировать вашу uифровую "подпись" И пользовательский профиль и использовать ero ШlЯ TOro. чтобы подбирать Iшеrпеlресурсы и рекламу пе-рсоналъно nля вас. Predictive yrвер:ждае-т. что эта информация будет "анонимной" и вы можете поверять всем. кто вомечен 8 процесс ее сбора' СОТРУДIIIIJ.::<1М КО1\.mакии Predlctive. СОТРУIOtикам своето IпtетеlПРОl3аидера. тем. I.::TO piB мешает реI01аму и ресурсы,  в обшем. "'уть ЛИ не всему миру. Вы Мо.....еТI: заПросlПЬ I.::опию СRоей uифровой подпнпt. но за :по nРI1!II:ТСЯ аплаТlПЬ Можно также отказаться от использования этоrо "сервиса", но Tor.п.a подключение к Intemet будет t:ТОИТЬ вам дороже или провайдер даже вовсе pacToprнeт с вами Horoвop, На момент напис31-ШЯ этой книrн на WеЬузле Predictive (\\'ww.рrеdiсti\'епс(wоrks.соm) не было никаких сведений о ПОЛllТике зашиты конфиденuиалъности и вообще было малО информаuии о том, чем они На самоМ деле занимаются. Статья из "PRIVACY Forum Digest" (V09, # JЗ. v.'WW.vorrex.com) содержит больше поnpоБНОС1"ей об их плана'\': Jt ПОЗIЩItIt в отношении защиты ПОЛhЗоватслеЙ I nlernet Внедрение в жизнь политики администрирования Фаiiлы реrистрации у нас ли"аю не оставят и те-НИ сомнения OTHOCl-пеJlЬНО тoro, кто именно и что плохоrо сделал, однако д..Т'JЯ супа это  все равно что доказательство, основанное на слухах. ИСl10JlЬJуйте Ш1Я зашиты офиuи aJТЪHO заверенные "бумажные" ДОJ.;.ументы, ибо документы, представпенные в электронной форме, в суде МOIут не возыметь деиствия. Некоторую пользу MOryr принести штамПЫ вреени в файлах реrнстрашПl, однако только 8 том случае. если на компьютере работает Ne-Iwork ТilПС РrolOсоl (NTP), CIIII\:pO Н1пирующий СТО часы с реальным временем. Д вот nраВИ!lЗ безопасности Mor)'T помочь 80зБУДIПЬ дело о злоynотреб лениях. В ЛИ праВlша следует RКJТючать такое положение: UllащllOrJ;.еd use о.{ Uпi\.'ersil)' COтpll1i'lg .JOySleт.<i тау iт'o/l.'e по{ o"ly tran''igl-е.'i5l.Шl 0/ U"iversity policy Ьи! а/50 а \'iolatioп 0/ stale and /edeпi/ /aw.'i. UflalllJJOrized u.'ie jj. а criтe aпd та)' iт'o/\.'e crimifla/ and ci\ll/ pefla/lie."i: ;1 "И.ilI Ье Рlш.еСlJ/еd /0 11.. /и/l еХ1еl// о/ /he /0"'. (Несанкuионированное использование KOMnbfOTepHLIX систе1 YHI18epC,t тета связано с нарушением не только ушmеРСlIтетскнх правил, 110 11 830 Чость 111 Розное 
закоНоВ штата и rocynapcTвa. Несанкционированное использование яв ляется преступлением, мечет за собой yronовную и rpа}((Данскую отвеТСТвеННОСТЬ и подлежит наказанию. предусмотренному законодатель ством.) Рекомендуем помешать в файл /etc/motd (сообщеIOlе дня) предупреЖдение о действуюших у вас правилах. Наше въrrЛЯДИТ так: Уои, keyboard iпput тау Ье тonitored in the еУеп' 0/ а rea/ о, perceived security illcideпt. (В случае реальноrо или предполarаемоrо инцидента с системоЙ защиты вводимая вами с -клавиатуры ии формация будет контролироваться.) Для некоторых nmоВ соединений сообщеняе дня не отображается (нпример, во время сеанса ftp). Пользователи MOryr также воспрепятствовать Itыооду этоrо сообшения на экран, создав в своиХ начальНЫХ каталоrax файл .hushlogin. Можно сделать так, чтобы rlОЛЪЗОВareли прочли зто уведомление хотя бы раз; для этоrо нужно включить ero в файлы запуска, ВЫдаваемые новым ПОЛhЗователяМ. Обязательно укажите. что сам факт использования учетных записей rlОльзователеЙ равносилен соrласию соблюдать установленныe правила. Объясните, [де можно получить экземпляры правил, и поместите основные документы на соответствующей доске объявлений. Укажите особые меры на случай их несобmoдения: удаление учетной записи. изъятие МИJUIИОН8 долларов со счета в швейuарском банке, лишение родительских прав и т.д. Предположим, с вашето узла в телеконфе-реНиию отпрамено какоеНИ будь нехорошее сообшение_ Если вы работаете в C01l1puServe (сеltчвс это часть АОЦ, проблем не избежать. В судебном деле Кабби против CompuServe рассматривмся случай пу6ликauии He-Koero кле-ветническоro сообщения Су.IIЪЯ постановил. что сама CompuServe неВИН08на, а ведущеrо телеконфе рениии. в которой это сообщение было опубликовано, обвинил в халатности Мораль: чем больше вы пытаетесь контролировать информацию, тем большую ответственность на себя берете. Этот "рИНЦИТ1 лрекрасно ИJUlюстрируется историей бизнеса, которым занимался в Техасе один изобретательный студент по фамилии Чизср_ Он написал сценарии на языке Pe-rl, просматркваюшие rpуппы новостей Usenet. собирал с их помошью неnpистойиые- картинки и пуБJПП(Овал их на собственном WеЬузлс. Он брал с подписчиков ло ] 2 долларов в месяц и зарабатывал на этом оrpОМНЪ1е де-ньrи. Ч изер пытался проявИTh ответствеmюсть и не подписывался на rpуппы новостей, rHe моrла быть детская порноrpафия. Однако он имел дело с некоторыми rpуппами иовостей, материалы которЫХ были на rpани незакон ных. Этот просчет, а также то. что он выбрал ,ПЛЯ cBoero бизнеса один из консервативных oKpyroe штата Техас, привели к тому, O ero деятельность вскоре была прекрашена. Получив анонимное сообщение (вероятно. от конкурента), rlОЛИЦИЯ конфисковала ero компьютеры. Естественно, они нашли снимок детской rlОрноrpафии, случайно попавший из С'безопасной" rpуппы новостей. И хотя пело не дошло до суда. из соrлашения о npинятии вины обвиняемым было ясно, что судья считает Чизера виновным не в создании узла. а в том, ЧТО он плохо отбирал материалы. Так что. если бы Чизер не отбирал их вовсе, по закону все было бы в поряnке. 831 r 1"080 27 Стротеrия и nолитико одминистрирования 
Безопаснее Bcero ситуация. Korna ваша орrdНllзаuия, явлЯЯСi:. подписчиком всех телеконференuий. не rlОдверrает uензуре их статЬИ и не сокрашает иерархию телеконференциЙ на основании их соде-ржания, Лрутое дело. Kor.D.R МЯ сокрашения появляются основания техническоrо характера (например. нет места на диске). Если иерархию телеконфереНillIА нужно сократить. сделайте это б..чиже к вершине дерева. Леrче оправдать отказ от всей катеrОрЮ 1 "alt". чем оБъясниты  зачем вы удалили alt.sex.fetlsh.feer и оставили alt.sx.beь tiaJity.harnstclS. 0" За информацией о 'руппах новостей Useпe, обратитесь к пара,рафу 22.7. Этот принциn распространяется и на дрyrnС отношения с внешнИМ миром. С юри.nической точки зрения вывод однозначен; чеМ больше вы контролируете исrlОлъзование Intemet вашими rlОлъзователями. тем большую ответственность можете понестн за их де'ЙстВИЯ и публикаuии. ЕС:!П"1 вы знаете о противоправной, подсудной деятельности, закон обязывает ваС расследовать ее и доложить о результатах купа следует, Вот по этой причине некоторые коmаНИИ оrpаничивают .nанные. которые они вносят в журН8JIl:N доступа на своих WеЬузлах. сокращают время хранеНIfЯ журналов. я не все их данные записывают в apтmы и резервные копии. Для реализации подобной поЛИТИКИ существует даже специальное проrpаммное обеспечение (на"ример, Squid web cache), определяющее уровень лротоколи рования доступа, что позволяет систмньrм администратоpt\J'l'l разрешать возникающие проблемы и при ЭТОМ не нарушать конфиленпиальности действий попьзоватлей. Системные администраторы должны знать rlравила, действуюnmе 80 всех подразделениях орrанизаuии, и обесrlечивать их неукоснительное соблюдение При этом учтите, что не имеюшие закоННОЙ сlшы и противоречивые правила  это еще хуже., чем их отсутствие (как с првктичсской, так и с юридической точки зрения). л..ценз.... на проrраммное обеспечен..е Мноrие КОfr1анИИ оплачиввют меньшее количество копиЙ проrpаМ!L-jНLIХ па-ке1'ов. чс:м на самом деле используют, Если об этом становится известно, компаниЯ теряет rораздо больше. чем сэкономила нв приобретении Heдoc тающеrо числа лиuензий. Лрyrие компании получаюТ демоверсиЮ nopororo пакета и взламъmаЮТ ее (меняют дату на компьютере, определяют лиuензи оНИЫЙ юпоч и T.rl.), чтобы пакет продo.rDКал работать rlO истечениИ демонстрационноrо срока. Как системный 8lIминистратор должен реаrировать на предложения нарушить лиuензионное соrлашенис: и установить нелиuен зионные копии Пропукта на дополнительные машины'! Что ему Дс:.'18ТЬ, если он обнарyжпr, что на обслуживаемых им компьютерах работает пирате кое проrpаммное обеспечение? И как быть с условнобесплатньrми проrpаммами, за которые так никоrда и не заплатили? Это сложный вопрос. К сожалению, руководство не 8cerHa поддерживает администратора, прсдnаraющеrо либо удалить нелиuензионные копИ"'1 паКе тов. либо их оплатить. Д ведЬ часто именно системный 8,JIМинистрвтор подписывает лиuензионное соrnвшенш:. требующее удалИТЬ демонстрацион ные копии после определенной даты. тorna как реше1-Glе их не удалять принимает руководитель, Даже если вы ДОРОJЮlте своей работой, 'lОмните, что речь идет о ващей личной и профессионW1ЬНОЙ честнОСТИ. Что касается работы, то crlpoc на 832 Чость 111. Розное 
хороших системныХ алминистраторов настолько -велик, что без работы вы надолто не останетесь. Нам известно несколько случаев, Korna непосрепст венный наЧ8..rТЪН1fК системноrо администратора пре11Лаraл ему не раскачивать лодку. В каЖllOМ случае 8,JIМинистратор написал поклааную записку высшему руководству. в которой указал количество лиuензированных и используемых копиЙ и про цитировал ли_цензионное соrлашение. В результате в одном случае уволился непосредственный наЧ8..rтъник системноrо администратора. в друтом администратор. Сп ом: навязчива почта коммерческоrо содержания Миожество рекламных аreнтов., коммерческих представителей и просто аферистов ринутfСЬ в ш\еmе\. чтобы воспользоваться преимущеСТВОf "бес платной" электронной почты. Стоимость отправки реютамы тысячам rIОЛЬ зователей I nteme( ничтожно мала по сравнению со стоимостью оmравки традиuионной бумажной почты, и доходит она невероятно быстро. В резуль тате страдают две катеrории людей: пользователи Intemet. ежедневно полу чающие ropbl спама. и провайдеры услуr Intemet, оплачиваюшие весь этот трафик. Мы не будем вдаваться в технические детали борьбы со спамом. Они достаточно полно описаны в rлаве 19, rlОсвященной электронной почте. Здесь Ж мы упомянем юридические acrleКThI вопроса. В Соединенных Штатах действуют законы (пре:имушественно на уровне nrrатов). которые MOryr использоваться nля юридическоrо преследования лип. занимаюшихся рассылкой СП8М8. Как минимум в ОДНОМ случае отправителям спама пришлось заплатить за каЖдое отпрамеиное ими сообше-ние. поскольку они нарушили HopM8JТЬHoe веление бизнеса получатеЛЯ""fИ. К сожалению, БОЛЬШJ.1 нство rlОлучателей спима сто просто удаляют и не трудятся прJ.IЗП3ТЬ ero отправителей к ответу. Провайдеры услуr Iпtеmеt пытаются всячески преrlЯТСТВОвать рассылке спама, причем не ТОЛько изза используемых им ресурсов н rlОЛОСЫ rlропускания, но еше и потому, что crlaM обычно нарушает правнла их собственных rlровайдеров и подверrает их риску утратить подключение к сети. Полезные ссыл-к-и на материалы, связанные с рассьткой спама, вы найдете по адресу: h!lp:/ jwww.elsop.com.jwrc/nospam.htm 27.3. Некоторые интересные факты в 1992 r. Роб Колстад (Rob Kolstad) и Джефф Полк (Jeff Polk) провели олрос участников LISA (Large Installation System АdmiлiSlratiоп Соl1fеrелсе  Конференция системных администраторов крупных орrанизаuий, ПР080ДИМая LISENIX) на преllмет TOro, сколько времени они тратят на административные задаtfН 11 какой уровень поддержки необходим для сопровожnения узла. Посде- этоrо SAGE (Sysleln Аdmiлistrаtоrs' Guild  Ассоuиauия системных админи страторов), связанн8JТ с ассоuиаuией USENIX, провела несколько аналоrич ных исследований, конuе_нтрируясь на вопросах заработной платы. Еше одно исследование по 8OIIpoCY заработной платы провел в 1999 roдy ИНСТИ1)Т SANS (System Adll1iпi.яrаtiоп, Ne\working. and Secunty Institute  Институт систем Horo администрирования, сетевых технолоrий н зашиты). О резулътата.х этих исследований рассказывsется в слепующих разделах. r лова 27. Стротеrия и политико одмин,,",стрировония 833 
Результаты опроса, проведенноro орrанизацией SAGE На конференuии LISA осенью 1999 rода SAG Е провела OllpOC систе"IIЫХ адМинистраторов, в котором основное внимание уделялось оплате и>. тpдa_ Полный отчет об этом исследаИ3111Ш вы найдете по адресу W\\I\А...useпiх.оrg/....lgс Члены ассоuи-ации SAGE Mor}'T заrpужзть файл Acroba(. укаЗЫВiJЯ <.:Н(Щ учетный номер и. IlзрОJlЬ. Те, кто не является ее членами. .!ltЫЖIII.. зареrистр'"роваться и получить фаJ.'lЛ по эле",тронноЙ почте. SAGE не 6Y.!lt:T HItKOh.f)' предоставлять ваш адрес. но может nрlКЫЛ8ТЬ лам информаЦIIIО 1..'1 своих конференциях и rlубликаuия,",_ (Впрочем, rlрИ реrистраuии МОЖНО срн  отказаться от ИХ почты.) ВОТ несколько интересных фа).iОВ. полученных в результате этоrо ОПРОС3. охвзтившеrо 2300 системных администраторов. присутствовавших на конфе ренции или заполнивnrnx форму через Web. Большинство респондентов были nrrатными системными алминистраторами. для которых это занятие было II основной работой. Около 80% из них работают в Соединенных LlITi1T:l'\:. остальНые  8 48ми пруrих странах. Половина системны),: аДМННllстратороп имеет lарrшату более 600()0 1).0:1.1. Зарплата деСЯПI IlpOUellТOn состнляет nочпt 90000 ПОЛJ1. Более 86% респондентов ПО.'1)"-IИ.таl повышение в 1999 rоду. в том 'ШС.I(' 8% остались li3 ТОЙ же работе, а 23%  смен1U1И работу и работала rC1IC" Более 70% орrанизаuий не MOryт найти достаточное ЧIIСЛО CltCTCMlIltI'\ администраторов. В оплате труда системных администраторов не распространены бонусы и оплата свеР:\"урОЧJ-lЫХ. Штатный администратор в среднем работает 47 часов D неделю-. Н;шболее расl1ространенныии операUИОННhlМИ СlIстемами (8 порн.тtКI:' уменьшения популярностlI) ЯМЯfOтся: Solaris. Windows NT, Lirшх, \Vil1 dows 95 и 98. HPUX. IRIX. M.cOS. 1 nle 64 UNIX и FreeBSD . АдминистрироваЮ'lе Windows NT и BSD оплаЧlшается ниже. \JeM дp ПI\. систе-м. . Образование не имеет прш.tOй коррсляuии с зарплатой. Степень бtн.:аJl.ШРil добаяе-т к зарплате Bcero 6000 долл. Зарплата оче-нь зависит от опыта работы Чаще Bcero 118 JLIliiUl01 пятилетний стаж. Более трети СНСТС\IIIЫХ :ЩМlIннстраторов работают на нынешнем мест!..' менее roHa. Бо.Т'lее 80% респондеНТО8 r1реЛПOJШlёIlOТ ближаЙШllе пять лет ОСТi.\II.Л ,,\..;1 a.zп..tинистраторамloI. Же-н шины СOCiЗМЯIQТ менее 13% нсех систеМIIЫХ аД:МИНlfстраТОрОII. Почти rlОловина всех системных &ШМlшltстрзТОрОП имеет возраст от :!.:'- до ЗS лет. а ме-нее 1 %  fo..шадше 20 ,.!ЛИ старше 55 лет. Самым трудным и неприятным в своей работе системные aдMIHНlCTpi:llO[lI.1 СЧJ.IТа!ОТ взаlмоде-йствие с руководством, прошсс раСllрепе.'1СЮIЯ об1 ЫII настей и бюрокраТI1Ю. Соrлзсно опросу. проведеllliОМУ 81992 roдj, адМИIiИClpЗТОрЫ работo:l.ЛИ 47.5 чзс.О8 в III:Д.lItl. хотя В ТОМ опросе от6расывалl.IСЬ сообщения о работе более чем по 70 часов в Ш:Д\:'IЮ. nOCKO!IbКY считалось. что такая работа liC мОжет [IРОДОJlжаться долrо. 834 Часть 111 POJi--JШ' 
Отвечая на анкету, мноrие адми.нистраторы поняли, что ОН"'I не знают, КаК ПРОБОДЯТ день. Почти во всех орrанизauиях чувствовался дефицm кадров HeMHoro ПОЛhЗователеЙ НЫТIfКОВ и их число на одноrо системноrо адr.rинистратора становится уrнетаюшим. Результаты опроса, проведенноrо орrанизацией SANS Ассоаиаuия SANS лровела в 1999 <оду Web orтpoc администраторов. В нем приняло участие около 1I ТЫС. респондентов следуюших катеrорий: системные администраторы. сетевые администраторы. администраторы сис темы защJ.пы. anминистраторы баз наННЫХ. консультанты по вопросам защиты и аудиторы систем зашиты. Мноrие вопросы были теми же, что и в orlpoce ассоuиа[[ИИ SAG Е. но прямое сраонение результатов ЭТИХ ЛRух опросов провести сложно. nOCKo.'lbK)" ниапазон ero участников был Ш"lре. Еше одна трудность сравнения состоит в том, что SAGE вычисляла стаПlстические результаты на основе медиан, а SANS на основе средних JНаqеиий. Некоторые результаты исследований SANS представлены в виде rистоrpамм, и мы ПреобразоваJJИ '.IX n медианы, чтобы их удобнее было сравнивать с результатами SAG Е. 84lJf участников опроса работают в Соединенных Штатах, из них 50% Н8ЗВaJlJ.fСЬ системными :щминистраroрами, а 24% сетевыми а.щ.1ИН1fСТрато рами. Администраторов остальных катеrорий очень мало Вот некоторые и}rrересные результаты этоrо опроса. . Распределение операuионных систем оказалось иным: 63% rlрl1ХОДJIТСЯ на Wiлdоws NT. 14% на Solaris. 6% на Novell NerWare, остальные едва набрали З%. Только 1,1% опрошенных назвали основной операшfOННОЙ системой Linux. Професс'Иональный опыт большинства опрошенных состамяет 3 4 rала (а не 5. как в опросе LISА/SлG Е). . Половина администраторов Windo\\'s NT получает более 50000 долл., а rlОловина anминистраторов LJN 'Х более 60000 долл. При ::этом женши НЫ :ЩМ"'lнистраторы \Vindows NT получают на :юоо долл. меньше, а женщины адМИНlfстраторы LJNIX на 4000 долл. меньше (при одина КОВОМ с мужчинами опыте работы и образованиtf). Жен шинами были 12% респондентов. Степе-нъ бакалавра добамяет к зарплате вcero 5000 долл. W1Я админист раторов Windows NT и 8000 дOJШ. ДЛЯ администр,поров LINIX. Стелень маrистра добавляет еще 5000 8000 долл. Зарплата новичков, молодых специалистов и orlLITHblX aIIминистраторов растет с ОПЪJтом работы. но ближе к верхнему пределу сте-пень увеличения СТCiНОВИТСЯ все меньше. Рабочая неделя в cpeHI'leM ДЛIПСЯ 46,8 часов, It Jдесь администраторы UN IХ 11 Windows NT в равном rlОложеt-rии 27.4. Объем", качеcrво обслуживания Псречень ус1Т}Т. ОКазываемЫХ rpуппой адмшшстраТIIUНОЙ поддержки. должен быть четко сформулирован, иначе ожидания пользователей не оправдаются Следует рассмотреть такие вопросы: вре-мя реаrирования; rлово 27. СтротеП1Я и попитика одминистрирования 835
. обслуживание 8 выходные дни и внеурочное время; . вызовы на дом (обслуживание компьютеров, устаНОR.1енных nомз rI0ЛЪЗ0взтелей); . спеuиализированные аппаратные cpencTBa: устаревшее аппаратное обеспечеН"lе; поддерживаемые операционные системы; cTaН1lapTHыe КОНФИlJ'раuии: спеuиалъное проrpаммное обеспечение; обязанности уборшиuы (протирание экранов и Юlзвиатур). Пользователи до.ажны знать не только о том. ...акие предостаu..'1ЯЮТС.l услуrи, но и о схеме приоритетов, используемо при ynраRi1ении очереnыо на въmолнение заданий. В CXeMa'l( приоритетов 8сеl-да естЬ исключеНIIЯ. но нужно rlОпробовать разработать такую схе.му. которая охватит БОЛЬШИНСТllО ситуauий без ИСЮIючений. Вот некоторые параметры, связанные с прlOрИ тстами: количество пользователей, полпаи8ЮШИХ под действие схемы прнорrrСТОII; степень важНОСТИ rlОльзователей. подпanаюших под действие схемы приоритетов: . привередпивость подпадаюших rlOH пр,юрwrеты пользователей: . важность предельных сроков выолнения работы (rIОЗДНЯЯ работа ДО\ld или rpam на нсследовательские работы. за счет KOToporo чаСтИLIНО оплачивается rpуд rpуппы системНЫХ администраторов). Наша rpуппа сопроВОЖдения ютиентов  преподавателей, сотрудникоп 11 аСПJ.lрантов  разработала комплект документов, реrламеНТИРУЮШIfХ ВШ11.1 оказываемых rp}.<nrIОЙ услут. cxef..ty приоритетов и fеханизм KOHTI(TOU В нашей rpуппе клиентов используется несколЬКО уровней ваЖНОСТL-J I rlривереWIИВОСТИ. Эти документы прнменялись неСКО.71ЬКО лет с неП:10ХIIМ1 результатами. Их коr1ИИ ожно найти по адресу www.admin.coll1. 27.5. ИНФОРМQЦ",ОННОД",QrноcrичеСI01е c",creMbl в нашей информаuионнодиarностической системе используется псеВllО- ним Э.'Iектронной почты troubIe. Одно время нас бо""бардировал'и неПО:IIiЫМИ и непонятными сообшениями о неисправностях. Мы написали СUСН:Jr шii . который задава.ч ПОЛhЗователю конкретные вопросы. например: На каком компьютере возни-к-т-та проблема? . ПОJЗторяющаяся ли она.! . Насколько важно устранить эту проб.'Iему HeMeД-Т'leHHO? Через час пользовате..ти подНяли бунт, а через neHL нам прИШЛОСI, нес отменить. Единственным результатом стало то, что МJЮП1е полЫОU<lТС.lИ BceTaKH ПрОЧJ.lтали наши вопросы, поэтому качество сообщеЮfЙ о неИСI1Рi\В" ностях. попрежнему состаRляемыx в свободной форме, повыилось.. В nрyrой орrанизации к этому вопросу подоштf так: разОСЛaJШ HOKYMCIIT. в котором разъяснялось, какая информаuия важна мя сообшеНlIl1 о неисrlравностях, и были ПРИReд.ены примеры бесполезных сообшеНllЙ Прll получении последних давался ответ с извинением С'Извините. но ). М("ЮI недостаточно ИНфОрМ8UИИ д.'1Я TOrO, чтобы.....) и копией же:1аемоrо I1UЯСIIII TeILHoro сообшенtя. Пользователи быстро поняли, что к чему. 836 LjOCТb 111. Розное 
Если вы не хотите, чтобы пользователи получали либо пmъ отвеТОВ на свой вопрос, либо ни onHoro, вам необходима хорошая система для отслеживания проблем. В этой системе должны фиксироваться все ВОЗНJf каюшие проблемы и то, как они решались. Информаuию об их решеЮiИ можно отсылать администраТОР8Мновичкам и стажерам. Файлы журналов часто оказываютСЯ очень полезным источником информаuии при подrотоаке отчетов Ш1я руководства (особенно если вам нужно доказатъ, что штат администраторов жизненно нуждается в расширении). А ад.министраторыно вички MOryr почерПН}7Ь из них информаuию о типичных проблемах вашей компании и о том, как они решаются. Мы MHoro лет использова-тrи доморощенную систем' отслеЖlIвання проблем, называемую queuemh или troubmh Сейчас предпочитаем систему wreg (,,'WW.ma[h.duke.edu/yu/wreg). Она разработана на основе системы reg. созданной в Университете штата Мериленл,  функuии последней нескольКО расширены и добавлен WеЬинтерфейс. Система wreg имеет почти те же возможности, что и коммерческий продукт Remedy, но ее леrче настраиватъ и использовать. Кроме Toro, она нам по карману (потому как распространя тся бесплатно!). Собнраемые, обрабатываемые н рассылаемые системо'Й wreg (W-.IеТbI полезны как администраторам, так и РУКОВОДСТВУ. Они помоrзют выявнть долтосрочные тенденшш, но у этой системы имеется один важный недостаток  она практически не документирована. 27.6. Как руководить руководителями Очень важно, чтобы рУКОВОдство вас ценило, уважало и подnержJ.rвало. Обычно труднее исеrо получить поддержку руководства в вопроса." по.'1птики защиты. Чем жестче зашнта системы, теМ больше неудобст-в испытывают ее ПОЛЬ301J8телн. и они немедЛеннО 1t3'1ИНЗЮТ протестовать. Поэтому следите за тем, чтобы пользоватс.'lИ были lзрансе оповещены обо Асе'\': IIзменсннт.. R снетеме зашиты, которые отражаются 1--13 их работе (например, переход от telnel на ssh, от паролей на Ю1l0LfН RSл. И Т.П.). Бсе зтн нзменеНIIЯ ПО",lЖIIЫ бьrrь хорошо ДQкументиронаны, и по!]ыошпелям во время IIХ внедрения должны оказываться повышенное внимание и ПО1l.!lсржка. Документаш tя ДОJ1жна быть понятной и содержать подробнейшие инструкции по работе с НОВО'Й системой. Выделите ДОПQлнителънъtе чеЛОRеКоЧасы штя p;.16oTbI С ПОЛЬЗOI:J.aтеЛЯ1.IИ, которые паниt..-уют изза Toro. что не прочли свою электрон ную поЧ1)' или motd. Бышестояшее руководство часто не нмеет ни малейшеrо представлеНШ1 о том. чем занимаются системные адМI-IНIfСтраторы. Дневник, в котором вы ззписьшаете все, IТO делаете, и отмечаете. сколько времени ЗЗНlfмает та IfЛИ иная работа, способен удивить даже вас caMoro. Этот документ KpatiHc необходим, если вм со6ираетесь начать кампанию по набору дополнительноrо персонала IfЛИ покупке HOBOI'O оборудования. Он. кроме Toro. может стать cepbC1HbIM ор}жием R текущих разборках. Рекомендуем веСТII подробные ЗНffi1СИ даже при отсутспши конкретной uели. Руководителн. особенно нетехническоrо нзправления, часто неДООllени вают сложность и трудоемкость задач. стояших перед СJlстемным aдMHHIICТ ратором. Чаше Bcero зто касается поиска неисправностей Стаp;..lЙтесь подходlПЬ к плаJ-lИРОВЗl--lИЮ с реа..rШСПILlеских позиuий. Удвзиваите I-fЛН yrраиваJlте время. которое. на Баш взrляд. понадобllТСЯ штя решения масштабных и oLleHb важных задач. Еслн расширение систеМы будет r лова 27. С тротеrия и политико ОДМИНИСТРИрОВОНИI'I 837 
выполнено. за лиз .пия вместо. rpe. ПОЛbJовзтеЛlf скажут вам СШ!Сllбо. il пот если вы о.бешали сделать _по. З3 ОДНI .netlb и не с:.nела.ТIИ. ИХ неДОRо.льсТltO будет совершенно спране!L'IИИЫМ. Ино.r.nа а.пМЮ--Jl.iстратору бывает трушlO lLо.ОИ1ЪСЯ офпuнально.l.о. ниеДl.:lllIS1 правил. Б .JTo.M с.Ч'L1ае Фнксtlруйте до.,,-у\tенrаЛЬilО СUlесrвуюш)ю rrPLl"-ПlКУ. Например: "у нас восемЬ lиuеlНL<tit lIa Exeel. IIнсr.311ЛИРОМНо. 47 "-0111111.. По.просите lLeHer на ((о.купку допо.ЛlНпеЛЬ!-IhIХ KOrlllli. r.сшt IIО;lУLIIПС ОТКiI]. ПОlLайте докладную запtlСКУ вышестояшему руко.во.дству. К СLlастью. 'l\орошн\ системных алМИI--Iнстраторо.в не хватает, поэтому друт)'ю работу вам l{ОЛro искатЬ I--Ie придется. 27.7. Прием на рабату, увольнение и обучение Существует два IlOдхо.nа к вопросу ооеспе1lеНIIЯ Фl1РМЫ аДМИНliстраТИВНЫ\1 IlepCOHaJlOM: . lIаl!ИМdТЬ о.lIЫТIIЫХ людеЙ: воспитыпать сво.и кадры. Опытные спеUll3ЛИСТЫ о.бычно IшбllрdЮТ скорость быстрее. однако. 8ССПЫ есть такие вещн. которые II\' сообшать lIеже>lзтеЛьно.. ДЛЯ TOI"O Ч Io.nbl выполнять свою рабо.ty, онн до.'Iжны i.-IМt:ТЬ IIри--вилепtроваЮ--lЫЙ nOCTYl1 Бы. однако. не знаете и nOCTaTo.1f11O хо.рошо 11. ВОlМОЖНО. ш: lзхотите, чтобы J( ним Б РУЮI по.паЛI-f некоторые сведеl--llt о нашеЙ КОМII3НИИ. Подrото.вка адМl-fI--Iистрато.ра требует массы ирсмеt-lИ 11 усилии, а КО"IIIЬЮ терная сеть про.И3lЮlLСТБеl--lноrо ПРСДПРIfЯТIIЯ  не самый ЛУЧШIIt1 У11c:БIlЫЙ класс. Если, однако, вам попался ХОРОШIIЙ кандидат (умныЙ. 3аlНlтересо.Шll-: ныи. 8юtМ.пеЛЫiЫЙ и Т.Д.). fшнеЧl-lЫЙ ре"JУЛЬТ3Т ОllрJIillИСТ 1атраты. Мы разраБОТ3..J1If лие мето.ДIIКJ-I оненки о.пытных претендеlПо.и. Раньше мы называЛII jТl1 eToдllKIf "TeCTa"ttl". 110 по.том узна.'Н1. что некоторые учреждения не tlмеют права тестиро.вать npeTell'nCIITo.B. По.это.м}' МЫ их 60льше 1--11:' тестируем. а o.ueHI1BaCM Первым HeTecт. письменная анкета, ПрсДПо.1аrаст OUetlKY претендеl--IТ.tМII CBoero опыта It знании в рИЗJШЧl--lЫХ о.оластя\ СИСlемотехrВlЮI и сетеЙ. Используется следующая ШКdJrа: никоrда не спыал 06 этоМ (О). слыал о.б ло.м. но IIC делал (1). делал :НО, MOry jTO ДСЛCl.ть IIOn контролем (2). MOry это. neпtl.Tb без контроля со. сто.ро.ны (3). MOI)' обуt.J3ТЬ этому друпп (4). В анкете есть flопросы с ловушкаМII. Hanp"....fep. R раJдСЛС ПО teXIll-I'It.'СЮI\1 средствам есть вопрос о. раJъе!\ых RS<!Jl. а j3 НИМ  вопро.С О "рёвыl\I;:I\\ f\llX.... Если КdlLДJ.IдЗТ В качестве o.TBeTd 1I00стаИILI "]", с HIIM uce ясно. OCli:lC'TOi только напоследок "JMdTb e!\.IY неВIIННЫЙ 80IlpOi:: "Так .!I..'НI чеrо. же IIЫ I-fсrЮJlьзуете разЬеМЫ МХ..'" Вторая методик,) разработанз n..ля ТСJlефонно.rо Iflперныо. Вопро.L'1.I 1I00строены так, чтобы мо.жно. бы-тю быстро. ВОЛУЧi.-пь о.тнеты от челО'IlI......J. знзющеrо сво.и преД\lет. За правIIлыlitt отвст мы даС\1 + t. за "я не jllillO"  О. за о.чевltдную ложь IIЛИ ЯВl1о.е обращение к до.,,-умеllТ31lШI   I МХ  ЭТО пm заПИС-СЙ ресурсо.в. испо.lIьзуемы(1 8 DNS. " не ТlШ ра.л.ема. 838 Чость 111 Роз вое 
Для нас результаты опросов по Jтим двум схемО1М 8сеrпз были достаточно належным показателем Колtlчество вопросов с лов}шками заНllсrr от конкретной ситуаuии как IIравшlO. ОДllOrолвух недостаточно. Отметим, что сделанные на основании TaKoro нетестировання ВЫ DОДЬI не дают ответов на друrие ключевые -вопросы, важные при выборе перспеКТJ.lвноrо адмннистра Тора. . Уживется ли он с дрyrими членами КОМ8I-ШЫ"! . Хорош ли ero '.пользовательский интерфейс"? Будет ли он выполнять }казar-шя? Бозможен Ли ero рост каК спеuналиста? Ответы Hd IleKoTopbIe и 1 ЭТИХ вопросов вы сможете [lОлучнть в '1ичнои беседе. ЛОПОЛНlпельные сведеl--lИЯ можно узнать по телефону у рекоменлате лей. Слушайте внимательно. потому чтО мноrие I--Ie люБЯ1 rОВОрlПЬ плохое о бывших подчиненных и КOJUlеrзх. Если претендеlП ие имеет рекоменп.аuий с послеШ--lеrо Места работы, это до..rzжно насторажtlвать. Если вы сдела.т1И ошибку при подборе спеuиалиста. немедленно увольте ПРИН.f]ТОro сотрудника. Держать на работе людей. не желаюших впряrаться в общую повозку,  значит, настраивать против себ.f] друrих сотрудников. которым ПРИХОДlпся взваrшвать все на СВОИ плечи и подчишать оrpехи за леНПIЯМИ. Однако но \.f1-iQrих орrаюt13ЦИЯХ унолить коrолибо бывает оч.ень трудно. ВОЗМОЖIIО. ПРI1Дется подбнрать фа...."Ты. подтнерждаЮШIfС некомпетентность, давать ОфИШlальные предупреждения, ставить задания по произподительности и т.д. Иноr.nа уволить челоuеК8 леrче 80 BpeM.f] испъпатеЛЫ--lоrо срока. чем после Hero. ПОЭТОМУ перпоначз..11ЬН)'Ю ouel--lКУ необходимо ПрОВО.mпъ тщателlr- но. Наши анкеты имеются по адресу www.аdПlill.соm. Бы найдете все вопросыловушки? Коррект"ровка поз..ц.... Снстемные администраторы, особеl--IНО страдающие маниеЙ величия, часто забывают, что они  11Оставщики услyr. а пользователи  и клиенты Мноrие администраторы втаЙне считают, что системы при надлежат им, а пользователи  это так, пеЧЭ}lыюе недоразумение СеЙчас ЗДМИliистратороп унажают. счнтают ОПЪПI-IЫt.fи профессиона.'IЗМИ и хорошо им платят А вот в ПРОШЛОМ иа них смотреЛl1 как на злеКТРОШIЫХ швейuuров. которые стоят на несколько касТ ниже разработчиков и инжене ров. Б настояшее время зарплата 3..!rМИtшстраторов настодько Rыросла, что вместе с неи 1вменился н ИХ cтatyc. Py'-К080m!Телям ж:слзтеЛЫ--lО советоватьо! с адМИНИСТР3ТII8НЫМ персон.шом 8 вопросах повышения по службе тoro l-t.l(1 иноrо работника, поскольку то, как он взаимодействует с администраторами. очеtlЬ ваЖl--lо .!I..1Я OI(cI-lКИ ero lич-ныx качеств  творчеСl<оrо подхода и спосоБНОСПI к самостоятельному решению проблем Некоторые качества хорошеrо системноrо адМИНlIстратора вступают в противоречие npyr с др}том. АлМИН1fстратор .полжен быть достаточно смелым, чтобы предлаrать неординарныс решения задач, но вместе с тем и достаточно осторожным. tпобы не сделать lIичеrо rубительноrо штя системы. Хорошие человеческие качества 11 мастерстно в решеl--lШf проблем ОдинакОRО важны, 1-10. кажется, у Мlюпtх администраторов, которых мы знаем, они ИСКJlючают друт npyra. Один из наших редаJ<..iорОfl сказаiJ, ЧТО "ПрИЯТIIЫЙ системный адМ1-tНIIСТJ18ТОР"  зто просто оксюморон. r лаво 27. СтротеrИfl и политика одминистрировония 839 
ОбешаНI--Iые Мiсrosоft CIKTe"'ILI. "I--Ie нуж.nаюшися 8 aдMItHI1CTpHp082 IНШ".  ЭТО утопия. Бель KTOTO i10л)кен нажать <Eтer> или шелкн'7Ь на кнопке ОК и принять на себя otbeTCT8el--lНОСТЬ за после,nствия! Операторские войны Новые администраторы часто становятся жсртва!\.fИ так Н.вынаемых "операторских войн", Коr.nа БО:lеl: опытные пользователи дают комаl-lде logout псеВДОШ1М 15. ПОСЫlЗЮТ аШ,fltl--llIстратору эле"k:ТРОНН0I1 почтой всевозможные "бомбы" и выставляют таКИ:"f образом ИХ неопытность Н3 всеобшее ПОСl\1е шише. Особенно ПРИ8ЛекатеJ1ЬНЫ жертвы  администраторы. JаБЫВ3ЮlllliС выЙти из систеМbI. Б .нивеРСlIтетах такое случается чаще. чем в KOMMep'eCКlIX Cтp}J\"ypa\. но. вероятно, подобное ПрОIIСХОДil r везде С Одной стороны, это вро.nе бы Bece10. но иноr.nа де:1O заходит слишкоr.1 .аа..lеко, rlО.ПОМУ такие ШТУЧКII нужно cTporo запрещать. Новому адМИНИСТРdТОРУ и так хв;паст за60Т, 11 не нужно добавлять ему HOBble. пусть даже в шутку. Последовательное улучшение Часто бывает так, что алминистратор считает проб..'"/ему устранеююЙ. но тут же получает несколько еше ОШlее тревожных сообщеНIfЙ. а это 11--13ЧIП, что задача должна быть решена nonp}roMY: flУС1Ь MeMeflНee. 110 зато полностью и правильно. Это может случиться, например. ИЗlа Toro. tlTO пользователь, первым сообшивший о проблеме. описа!l ее неТОЧl-lО II..'lИ I1ре.iLIOЖЮl невеРllое решение. ИНOI-да причиноЙ ЯВ.lяется нежелание ад,.ш IIHCTpdтopa BceCTopoHlfe проверить lыиденное решение. Бот некоторые ТllПичные жалооы: .iL'lИ HOBoro проrpаМ\tl-юrо обеспечеНJlЯ нет l1lапстраНIIIl (1 ДОКYi'-lентаШI1l. npol1'aMfllOe обеспечеНlfе НlIста.."1ЛlfрОRано не BeJДC. I'ne IIУЖIЮ: IlpaBO на IIСПО.1Ь.lQваннс Ilроrра!\t\tl-юrо обеспе<lеl-lttSl nplll-tIеЖIIТ 1'0.11.1\:0 алМltНlIстратор\' IL'l11 УСТi.1[IOБЛНО С lIеверIlЫ1If рз IрешеННЯМII ТеСТltрОВilние, конечно. утомляет. но, IIPOIIYCTl-lИ .НОТ важный )Таll а;п..нншстратор вдвое урезает llроизвошпельность системы Каждое сообl.llеllllе о неиспраШ.ЮСП1 flеllзбежно IIрllВОШП to: TpJTC времени 11 УСI1.IШI  I\<-IК flОJlыователеJf. так It ДМltнистртора. Любvю _ЫJJ.ачу \10:.+:110 успеШIЮ I\ЫllОЛ нить roЛько IIOC.1e RЫЯВ:lення If УСТРi.fнеIIllЯ всех шероховатостеl1. ТИllIIчная жалоба IIО.:1ь"]ов,1.теля звучит так '.команда IIЛИ nporp<I'I\I<t "- не работает на маШlIне У". .'\лМIIНlfстратор отrrРН8.:1яется 110:1 \I.ШIlfIlУ У. ВЫПО.'Нlяет команд)' Х. и все pi:l.OOTaeT IlpeKpi:lCHo. Он отвечает ПOJIЬЗО"'ПС..!Ю. "У меня все работает" Но 1Iд. самом деле адМllI--IlIСтратор <I<\CTO ВЫIIО:II-iЯСТ Не совсем ro. 'IТO СLLС.:1Шl ПОЛblОБаrе.IЬ. IUllt то же Сilмое. 1i0 н LLрТОИ среде HdllpllMep. .ШМННIIСТРiJТОР до.lжеl-l Не Jilбыть lIеПОСРСДСТВСIIIЮ перед npoo.lef,.l HOl-i КОМШ1ДОI1 HbIllo."1III1Tb комаf.IД udo SII  LОfЯIIO,IЫОllа",е.IЯ, tlтобы npll"ll,; нить те же параметры среды. чrо 11 11OlbJORaTeJlb. ПОJlЫОRitlели обычно оrОр'lаются. I:C:I1--1 пр06лем} I--Ie УДd.ется I 10. I "Ос.: 1"610 реllПlтъ С пеРIЮ.1 ПОllbIТКI-I. IIOЛОМ етзрш'песь I-iш,:траивать ИХ СООПlеlL:ТRУЮ ЩII\. обр.пом. ПрИl"J1i10IТС ПD.lыователя. сообl.lll1вшеl"О о проб!1сме. rlOpi.100TclTb вместе с вами над ее решеНllем. особенно еСЛII "pOO_lefa СВЯJана с ОСВОСlшt:м незнзкомоrо naKCTd ПрОI-р<IММ. Бы по.Ч'lIпе лоrЮЛlllrтельнуlO IIНфОЧlаIIНIO. iJ ПОЛЬJОв.пе..'lЬ уже Не будет С11IП,11'Ь dIШ участие ЧIIСfО J..,OI-iСУJlьтаПIНIIЫМ. 840 Чость 111 Р031юе 
27.8. Невыдумонные истории в этом параrpафе рассматриваются эти-чесхие вопросы. Дело в ТОМ. ЧТО В работе системных a.!IминистраТОрО8 MHoroe строится на доверии. ..t\ДМИI-iИ стратор лолжен уважать конфиленuивльность инФормвuии, с которой рабо- тают пользователи. и защищать профессионалъные секреты компании. На дОверии осноRыаютсяя отношения как с пользователями. так и с руководством компании. и без нето администраторам очень трупно выполнять свою раБО1)', Личная и профессионалъная честность администратора сопершеНИQ бесuеl--llfЫ. так что старайтесь никоrдв не давать окружаюшим повода в ней COMHeвaТbCl В ЭТОМ разделе \fbI предпаrаем вашему вниманию "военные истории". иллюстрируюшне этические ДИJ1СММ"Ы, которые MOryr встать перед систе"fНЫ! администратором. Некоторые из них мы ИЗRЛеКJ1И НЗ собственной практики. а о некоторых узнали из дрyrих ИСТОЧН1fКОВ. 1fHOrnn через энные руки. поэтому абсо:тютную точность не rарантируем Ошибка начальника (номер один) Однажды декан факультета ОШlfбся и послал паl--IНbIе о персонале не в исполнительный комнтет, Ш1Я Koтoporo OI--IИ преll.назначались. а 8ce!\f сотру.'l I--Iикам Фаl<.'Ультета. Он попросил администраторастудентз, работапшеrо в те BЫXOДHыe on::oppeJo..-тировать содержимое эле"k:ТРОННЫХ почтовых яшиков сотрудников И изъять это сообщение. Должен ли СIудент де...13ТЬ это? Должен ли он отказаться? ДО:Iжен ли он прочесть ПОДJ1ежашее изъятию сообщение и решить шrя себя, достаточно ли оно серьеЗl--lO ШТЯ Toro. чтобы OIlравдать вторжение в частные владения? В этом при мере администратор всетаКIf сделал то. о чем ero ПОПрОСllЛИ, но потребовал, чтобы декан послал сотрунникам факультета сообщеНllе с разъяснение'\1 Toro, что прои.юumо. Он поставиЛ еше одно УСЛ08И: сооБЩСI"lIfе из почтовых пшиков будет изыматься в присутствии свилетеля. КОТОрЫII убедится. что адМНI--Iистратор ни....уl1а больше не ВЛезаt:Т. Это, несомненно. хорошее решение удомеТRОРИЛО и ад\.lIfНИстр3Тора. и декана. Ошибка начальника (номер два) Новая секретарша крупноЙ компаНlIИ по nРОИЗВОДСТ8у компьютеров С;"1360 разбиралась в ОС UNIX и электронной почте. В коние своей пеРВOIi р>!бочеЙ недели она послала начальнику сообшение о том, насколЬКО хороша предоставленная еЙ работа и как ПОМОfЛИ еЙ все сотрудники. Бот ее КОМ31--1дная строка: , mail ЬОВВ 1 li.kB МУ n8'W job. 8veryone 1.8 ао helpf'ul. thank уои. Working here f'or you ",1.11 Ье really fun ... Нача..тIЪНI-iК прочел зто сообщение и в ответ посла:l шутлиоое rрубосек суальное замечание относите.'lЬНО размера ее бюста. Друrие сотрудники (e"'eryone бы.'IО общим псевдонимом mтя всех сотрудников) ОТ1>rетили необ хоmп.fOСТЬ наличия символа возврата каретки между именем получателя и самим сообщеl--lием. Чере:з несколько часов начальник позвонил C1aBI--Iому администратору (который к тому времени прочел и сообщение секретарши, и onет босса) и сказа..ТI что допустил ошибку (вероятно, вместо r поставил R), ПОЭТО:\IУ КОПИII сообщения нужно изъmъ из ПО'lТовоrо яшикз everyoI1e. Т.е. у неСI<О;JЬКИХ тысяч служаших. Нечеrо и rоворить, что администратор отказался. rЛОВQ 27. Стратеrия и ПОЛиТикО ОДМИНИСТрИРОВQНIAЯ 841 
ДэН, твое Новое имя  Лестер Эта история произошла в американской компании с нескольКИМИ тысячами сотрудников и нескоЛЬКИМИ офисами_ ИСПОЛЬJовавшаяся в ЭТОЙ КОМпании ком.мерческая проrpамма для работы с электронноf.l почтой умела находить и преобразовывать имеl--l3 получателей почты. ВНОДIt:мые в строке .'То", НОВЫЙ начальник отдела кадров по фамилии. скажем, СмитЛжонс была в ярости. поскольку преllназначавшаяся ей важная зле":тронная почта 1--I8праWlялась .npyrOl\1)' человеку по фамилии Джонс. Похоже, ЧТО ЛЮД1l, направлявшие еЙ эти сообшеНllЯ, 8ВОДИJrn' R ClJ)oKe "То" просто "Джанс" 11 не смотрели. как преобразовывается эта фамилия_ Все ЭТО происхо.nнло в то время, Коrда комлания реорrанизовывалась и некоторые сотрудники уволь нялись. Сообщения как раз и касаJТИСЬ увольнений. В результате рУКОВОДСТВО стало требовать "исправить ошибку". COlbIBa лись соnешания, приrлашалась эксперты. о.пи-н из РУКОБОrorrелей .паже предложил переименовать Джонса в базах данных компании И наконеи. Kor.na казалось, что проблема I--Ie разрешима, ОДИН из руководителеЙ информаЦИОНllоrо отдела выстуrrnл и сказал. что все это вопрос обучеНЮ1 пользователей. В конце концов пользователей. которые отправляли сообше ния не тому челове"''У, просто научили сначала смотреть. кому отпрамяется сообшение, И только после зтоrо давать команду отправки. Koro увольнять? Artминистраторновичок и учеl--ll.Н': оператора нашли способ проникнове ния в сту.nенческие компьютеры вьrчислителъноrо центра. ЭпIМИ компьюте раМи упрамяла пpyra.sl rpynna, известная своимИ крайне консерваТИRНЫМИ взrлядзми. НОВИЧКИ хотели coxpal--lИТЬ "черныи ХОД". Korna они собирались редактировать файл /etc/passwd, старший аДfННШ..lратор дал им совеТ  вместо vi воспользоваться реЛИk-ТОроМ vipw. После создания "черноrо хода" НОВIfЧЮ-f им не пользоua;шсь, в отличие от старшеro tЛMiHHl..lpaTopa. кспорыli был в конис конЦОВ на этом поЙман Koro следует }I:ЮЛИТЬ' Наш отпет: Лllбо всех троих, либо олноrо старшеrо 3ДМННl-fстр;:пора. которыи должен был воспрепятствоВi:lТЬ попытке пз.,'lома, узнав о Hell, а Ile совеТОВаТЬ и подсказывать, как сделать "чеРНЬП1 ход". Б даш.юм случае, однако, руководство посчитало, что старшиЙ администратор  слишком uенн::ый сотрудник и терять ero нельзя, поэтому vволили лвух новичков. На наш взrЛЯД, это очень плохое управленческое решеl--lне. Оценивая поведение человека по степени ero иаЖНОСТIf ДЛЯ орrанизаuии. а не по установленным и ClJ)oro соБЛlOдамым праВFШ3М. орrанизация рискует постоянно выступать ОТRетчнком в суде (не rоворя уже о рассеРЖСIIIIЫХ служащих с DИliТОНЮ1МИ напсревсс). Упрмец Джо Джо. новый администратор КРУIIНОЙ компанНI.! 110 производстиу КОМJlЫО теров, умекся секретаршей и пр"rласил ее на свидаНllе. Она отка.залась Через неделю секретарша сказала ОДIЮМУ из старших администраторо", IIТO компьютер постоянно сообwaе'Т ей о I--Iаличии почты, даже Korna ОНа I--Ie опраШltвает новую почту. Старший администратор проверил журнальные файлы и установил, что Джо читает почту, предназначенную секретарше. Что бы вы сделали в этом случае? . Уволили бы ДЖо? 842 Часть 111. Розное 
Вынесли бы ему CTporoe предупреждеJ-lие? Просто пожурили бы: Н И'"lеrо не сделаJIII? Пра8ИЛlНЫЙ ответ -зависит от отпета на npyroi вопрос: сушестнуют ли ОфJIШ1алЫlые правила, 8 которых Н3IПlсаIlО: .. Не читайте чужую электронную почту".? Посколы.'У таких правил не было. дело кончилось cтporllM преду преждением. Спустя нескоЛьКО недель нсе повторилось. На :этот раз почту читал пруroй человек: Том. СТрШIfЙ алМНI-iИстратор Hbl3BНJI ero 11 предъявил .!lоказате.'IЬСПШ  журllШ1Ы--lh1t:' фаилы. Оказалось, ОлtlаКО. что в то время, Korп.a ТОМ якобы ЧIПал почту. 01--1 на саМОМ деле был на баскетбольном матче. Дальнейшее раСС.:J.едование показало, что истинным ВИНОВНlfКОJ ВНОВЬ был Джо. Через ПОЛЧаса он был уволен. Правила. ДОПУС":'3ЮIW1е одно предупреждение,  I--Ie более чем разрешение воровать до тех пор. пока не поЙмают. Приrлашения на свадьбу Системный администратор. который BOTBOT должен был жениться и не успел закон.чить все ПрllrОТО8..1ения к свадьбе. дал СБоему лучшему друту (сшминистратору IIЗ д.Р}ТОЙ орrанизаuнн) КJIЮЧ 01 кабинета н пароль root к своеи рабочеЙ СТi1НllИИ. Др}т .полжен был сделать картоЧl<И NЛЯ размешения rоетей 1 сввдеБНЫ\f столом. 'Этим администратор нарушнл сразу несколъко 11YHJo.IOB пранил. Др}ТИе адМШ.1Истраторы сразу заметили подлоr. потому '"ПО у них было принято пользоваться командоЙ sudo, а не реПIСТрИрОваться по.n паро.лем root нли через su. Пароль root был ОДJшаковым на всех компьютерах, поэтому посетитель фа"k.-тически получил в СВОИ руки пароль привилеrироваНllоrо пользователя It физическиЙ доступ ко всем ко,,"шьютерам орrаНIIзацин. НИК8коrо ущерба. о.nнако, H3tlCCCI--IO не было. Обстоятельстпа. которые стали rrрltЧJШОЙ T3Koro 1l0СТУПК3 жеtп1ха. можно рассмаТрlШlТЬ KtK особые. одш!ко были нарушены ПИСЬ'l.1СННЫС ПрН8И.'1а. с.1ужаШI-IЙ был uel.iI.iLoIM раБUТIIНКОМ. Что .nелать'? Бсе КОНЧIfIlОСЬ тем. что ero унолили  пrзнла, с lIеохотоЙ. Он подал R су.n. 110 ПрОlfrpал дело. Порноrрафические GIFизображения KaXTO :1етом npyr o,nl--lOrо студсtlта пришел к нему в rости в компьютер ную лабораторию. Студент показаJI ПРУТУ. как просматриватъ GIFфайлы и rne найти "интересные картин-ки". Он посалил друта 38 последнЮю станuнЮ у заднеЙ стены. а сам стал делать домашнее задание. 3аКОНЧIIR все дела, оба УШЛИ. Через некоторое время (несколько дней cnYCТJI) декан фзкультета R сопроиожn.Сl--llfН тренера баскетбО.1ЫroЙ команлы показывач террlПОрИIO университета ноной студентке ИЗ Техаса. У лскана БЫllН ключи от Л8борато рllИ. IlОЭТОМУ он пошел не так. как студенты (по карточке). а через зi1днюю дверь. Первая же }'ющеннзя 1-11II рi1БО 1 IЗП СТ31--1I(11Я оказалась как раз той. на которой .npyr студента смотрел GIFкартинки После прикосновения к мыши на дисплее появилась откровенно сексуа.'1ЪНИЯ фотоrрафия. Как и С.'1едовало ожидать. декан 11 бзскетбаЛLIЫЙ тренер пришли в ярость. Декан потребовал 843 ,"E.o '7. Стротеrия L1 ПОЛ.-,ТИI<О ОДМtlНИСТРИРOlЮНИЯ 
не\.tе..зленно у.nалlПЬ из университетских компъютров все G 1 Fфайлы. исключить cry.neHTa. оставl-t.вшеrо картинку на экране. и т..n. Наши правила (въrшупомянутый cty.neHT с ними тоже был ознакомлен) rоворят о ТОМ, что ПОЛЬЗ0ватль не до:rжен выводить на экран изображения, которые МОТУТ быть оскорбlfте-ТТЬНЬf'tи W1Я л.руrих. В реЗУ:JЬтате cry.neHT на семестр был лишен cвoero реrистраwюнноrо имени. Правила были проверены .юристами (которые стали на нашу сторону, а не на сторону декана). и инцидент был исчерпан. В завершеl--IИ'е мы ПрЮ--Iесли свои извинения нонОЙ студентке ПереНQС данных Обслуживание техники и nporpaMMHbIX сре.nста Одl--lOЙ' небольшой КО1\..fЛа НIIИ осушеств.пяла местная сервисная фирма. KaKTO вечером систеМI--IЫЙ администратор работал с диском. в -котором барах..-rrnли подшипники. Cep висная фирма доставИJlа не только .писк штя замены' но и большой вспомоrательнъrй диск, чтобы МОЖНО было переписывать данные без исполь зования лент. Администратор заменил неисправнъrй .писк, установи..1 вспо-ю rатс:льный ДИСК I-f перезаrpузил систему. К своему удивлению, пОС.:Iе заrpузlo..'И станции с HOBoro диска OJ---1 увиде;l, что часы отстают на 197 дней. Что лелатъ: немеД.JlеНI--IO очистить iШСК. посмотреть nL1Hllhle. BepHrb Д1lСК обратно'! ПеРRЫ" ero побужл.еIllIС\.' было уда.-Т-ШТЬ все файлы. но, подумав. <Ш\.1IIНltСТрЗТОр реШII!1 ПрОБрИТЬ П<ll--lные If посмотреть, чьи ОНН БепtЬПi просмотр фай..'13 pa!isy.'d показал, что раньше .писк прина.!lлежа.', этой же компании. Он содержал не только корнево-Й раздел с зашифрован ными паролямн, но и ба3Ы ланных компании, ИНфОрМi.1шпо о НОвЫХ издеЛllЯХ и т.д. Короче rоворя, на якоБЬ1 новом писке компания ПО!1учила от сервисноЙ QШрМЫ СRОИ же д.анные, правда. C-'lеrка устаревшие. РуководиТе....'и сеР8ИСНОЙ фирмы признапись, что тестировали диски путем КОIJl.iрования данных с o'nlloro диска на др}той. не обрашая nНlIмания на то. какие паl--lНbIе были на исходном диске. Этот случаЙ И.']'lЮСТрllрует проблему. которая НЫЯВ..1нется lIостфактУt..1 н трудно подп-ается реШСШIIO. Кто отнечаст за судьбу лаНI--IЫ\:. остаНшltХСSl на сломанном Дl1ске! Не Bcerna можно уда;IIПЬ IIНфОрМ31lliЮ с ДIIСI(З перед отправкой ero R ремонт Серписные службы не СЧiП31ОТ Rt\IШ1 данные че\IТО ueHlfblM: ДJ1Я них сушествует толы<о c.'1'O.....laI-if-iый нлlt плохо рзбоТ31Ошии дlICK. Как администраторы !\.rbl обычно за.шишаем СВОП резервные ленты от несаНКШfOнироианноrо копироваЮ1Я. но при поломке п1tска этоrо не делается. Если есть ВОЗlOжн:ость, перед отправкоЙ в ремонт иенные панные с диска нужно стереть {путем НИlкоуровнсвоrо форt.lаПiровання С проверкой). Если l--IеllСправность днска не позволяет переформаТlIровать ето. сообш1tте сер8ИС ноЙ фнр',е о то"'-с что .ПИСК со.з.ержит ваЖJые данные, которые хотелось бы yn3.'IlfТb. Возможно. стоит узнать у представнтелеЙ сервисноЙ фнрмы о том. как"х I1раВИl они придерживаются по отношению 1( ИI--IфОрl\lаШIll. ПР"Н3.lL'lежашеи K..'1eHTaM. Если у них таю..-х правил нет, изобразите крайнюю степень удиа'Iення. В секретны)" американских правительственныK учреждениях (особеl-iНО оборонноrо характера) иноrда 800бше запрешается выносить с террИТОрИI1 вычис..1.ительную технику. Если компьютер сломался, покупается новый. На первыЙ взrляд это похоже на бред. Но. как випно I-IЗ нашеrо рассказа. такое 844 Чость 111. Розное 
по.nхо.n не лишен оснований. Аналоrnчные правила распространяются .паже на такие KoмnoHeНТbl. как процессорные штаты, на которых никоr.nа не бьmает никаких данных. Нельзя ведь заранее знать о том, rne причyrcя шпионы! Билл должен YMepeTbl Один студент работал на компьютере в факультетской лаборатории. Не закрывая сеанса, он пошел за какимто .nокументом 8 ар}тое помешение. В ero отсутствие KTOTO послал сообщение электронной почты по адресу рresidелt@whitеhоusе.gоv. Сообшение сопержало уrpозы предать Президента Клинтона эффектной наСИJТЬСтвенной смерти. На следующее утро раздался звонок из секретной службы. Студент оказался ИНОCl1'внuеf и KornaTo служил в милиllИИ своей страны экспертомшифровальшиком. 01--1 не сообшил местНЫМ системным адМИI--lИ страторам о том, что получил из Белоrо дома подтверждение о получении почты, которую не посылал. Бсе выrля.nе:1О не очень красиво. Системные администраторы потратили I--Iеделю на сбор )I.,:ypHa...rrbHbIX файлов и записей доступа по карточкам'. К счастью, в журнальных фаЙ.'lах оказалось достаточно доказате:rьС1'В Toro. что сtyпент, скорее Bcero. CTa.'l жертвой чъейто rлупой шутки. Файл  /.history, содержаший список ранее введенных студентом команд. показа.,"I, что он ретулярно пользуется проrpаммой plne. тоr.nа каК злосчастное сообщеI01е было послано с помощью mail. причем до отправки и после нее имели место д.'lИТf.,'1ьные периолы бездеЙствия. Большинство пользователей д.;IЯ чтения и записи почты при меняет одну и 1') же проrpамry. ПОЭТОiУ сразу же встал вопрос о незаконно:м проникновении в пользовательскую учетную запись. Оказывается, уrpозы Президенту ЯБ.."Jяются уroловкым преступлением. Несмотря на то. что студентаиностранuа оправдали, расслеДОВ31--1ие продо.'] жалось. Некоторое время спустя инuидент повторился, и по данным журна,"IОВ удалось вычислить шутника. Мы рекомендуем студентам пользоваться проrpаiМОЙ xloCk-. прежде чеt.f оставить свой термина." без присмотра Мы модифиuировзли эту nporpaMMY так, что она просто выrpу"'...кает по;rъзователя. который .nолro не aJo.Il-iвеН. чтобы машины в лаборатори'и не блокироваJТИСЬ ШШQлrо. 27.9. Размещение и абнавление праrрамм в каждой компании свои правила размещения и модерниЗации проrpам MHoro обеспечеЮiЯ. Тут не существует хороших и плохих me-ro,nов, а правила и процедуры 80 MHorOM опре.nеляются масштабом сети. Объем .nаниоrо материала можно было бы увеличить до отдельной rлавы, 1--10 мы решили оrpаничиться только общиtU1 рекомендациям н Кроме Toro. мы преllЛаrаем список проrpаммноrо обеспечения (с открытым кодом). которое может быть иа'f полезно х]ос!.;:  зто храИffе.1Ь ЭКрЗl--l3 д.LЧ системы Х Windows, который разблокирует 3Кран ТОЛЬКО после ввода пароля. rЛО8Q 27. СтротеrИ!R и политико администрирования 845 
o Управление проrраммным обеспечением в крупных системах Управление проrраммным обеспечением и установка выпускаемых ero пронзводителями С<заплат" С ростом компании может стать очень сложной за.аачей. В ее решении может помочь множество различных средств. Это и коммерческие системы управления конфиrypацией ПО. и вспомоraтелъные yrилиты. такие как rdist. пупс и make. Советы, отnосящuеся к pacпpocтpaHellUfO фаiаов. прuведеlfЫ 8 парарафе /8.2. В компании обычно имеется иесколы::о различных комбинзuиn аппзрат ных средств и операционноЙ системы Как правило. все маШlfl--lЫ onHoro Т1tПR имеют сходную КQНфmypзШ1Ю И на них устанавливаются О.Ш--IИ и те же выпуски nporpaMMHoro обеспечеl--lИЯ. KOTopble отличаются ТОЛЬКО настройками ДЛЯ конкретных полъзователеА. В небольшой системе распространение ПО может быть орrанизовано плохо и этоrо никто не заметит, однако в крупноЙ компании работа должна быть выполнена один раз и затем быстро пере несена на дрyrие Машины. При ЭТОМ необходимо решить две важные задачи: орrаНИЗ0Вать иерархию каталоroв обсуживаемоrо проrpаммноrо обеспе чения; определить механизм распространения устаН8вливаемоrо ПО с машины прототипа на рабочие компьютеры. В некоторых орrанизаuиях ИСПОЛЪ.1уются nporpaMMbI типа automuonter или amd, скрываюшие от пользователя реалыюе расположение проrpаММI-IЫХ пакетов. В дрyrих орrанизаuиях пакеты хранятся uентрализованно и штя каждой архитектуры определяется свое дерево каталоrов. В любом случае. нельзя просто сбрасывать все в /usrJlocal/bin  имена проrpзмм из разных пакетов МOIУ" вызвать конфлиJo..-Т. Системные администраторы разработали два па кета. облеl'l'аюших сз..."ую трудоемкую часть работы. Это cfengine и SEPP. Пакет cfengine. созданныЙ Марком Бурrесом из колледжа Осло (Норвеrия). предстамяет собой BЫCO коуровненый язык Ш1я описания КОllфш;.'раиии "tашины. Он помешает нсе данные 8 еДиное хранилише. Пакет cfengjne Rыпшtняет KOMa...wy diП. а затем синхронизирует к.тrиентскую систему с rлавноЙ. Этот пакет распространяется бесплатно и работает во нсех четырех наших опытных системах. Вы найдете ero по адресу www.iu.hiоslо.по/sfепgiле. Проrpамма SEPP, созданная ТоБ" Ол"кером из Swiss Federal IЛSI;lUlе of ТесllПоlоgy (ЕТН, Швейцарск"й фелералышй институт тех,юлоrnй).  это упаКОВОЧl--lая система штя инста:тяции и COBMeCTHoro IfСПОЛЬЗ0ваl--lИЯ про rpaMMHoro обеспечения. Она также распространяется бесплатно, и ее можно получить по адресу w,...w.ee.ethz.ch/sepp. Более подробные сведения об этих пакета..х имеются в материалах. указанных Б конце rлавы. Сушестпует MHoro средств мя автомаппашш и CTal-шартизашrn установки операционных систем н проrpаММJ-Iоrо обеспечения. Мы не рассматриваем их здесь, но в табл. 27.1 приводятся ссылки 1--13 дополнительные источники ""формаu"". 846 Чость 111. Розное 
Таблица 27.1. Средство устоновr.и nporpoMMHoro обеспечения Система ПроrраММQ SoIAris JarnpStart HPUX SDUX SDOV Red На' Кickstan RPM FreeBSD катало.' por1s Дополнитепьиая ИНфОРМОЦИЯ См. документ '.Solaris Advance.d lnstallatlОП Guide'" по адресу d0C5.sun.com Дистрибьютор ПО. распространяется в составе HPUX 1I.х Усовершенствованная SDUX. более дороraя и испоЛh зую1J.1llЯ OpenVic:w См. документ "Rc:d Hal Installation Guide" по адресу www_readhal.com Red Hat Рзсkagе Малаgеr, тап rpm Исnол.ьзует rnake .и pkL.{add, create, deletr. inro} Обновление nроrрамм Модернизация проrpаммноrо обеспечения  проuедура БО'лезненная и нарушаюшая налаженную работу пользователей и системы, Но часто она необходима. А потому не откладывайте ее нanолrо, особенно если оказалось, что вы на нескольКО порядков неn.ооuенИJТИ количество пользователей WеЬузла_ Здесъ важнО' умение Шl.йти разумный компромисс. Не стоит торопиться внедрять каЖдое усовершенствО'вание прОд)'lo..'Та, преwш.rаемое ero ПрШВ80дите.:1ем, поскольку при этом Bcerna чтонибудь да ломается. Но и 1зтяrивзть ia.ilO1ro ie СТОИТ. чтобы вручную не исправлять то, что давно исправлено ПРШ1зводителем_ Новую версию операционной системы или важноro nporpaMMHoro паю::та сначала устанавливают на тестовой площадке и зксплуатируют недели и MeCffi!bl и только затем переносят на основную рабочую технику компании_ Попросите разработчиков протесmро8ЗТЬ новую систему Н8 вашей машине. чтобы они убеДИffifСЬ, что Ilспользуемые ими средства УСТ3НОВJ1еиы И работают. Тщательно протестир,'йте каждое коммерческое приложеiие, чтобы как CJleдyeT разобраться со всеми вопросами лицеiПНРОвания. Одно из ваЖiейшИХ правил модернизации rласит; t:iаqала создайте потiуЮ It надежную ре")ерВiУЮ копию существующей системы и только после этоrо приступайте к ее оБНОRJlению. Желательно иметь подробный ПЛ3i воССТ8iЮБ...'1ения на случаЙ, если модерНlВ3UИЯ ie получится. Для резер8iоrо копирования лучше использовать "ЗапаСiЮЙ компьютер ИЛИ ia худой конец запасной диск, на котором полностью ycтaHOВJ1eia старая версия системы. Вот что мы можем посоветовать, исхОдя из собственноro опыта-. Бvдьте осторожны с версиями Х_О продуктов. Читайте отзывЫ о продуктах. чтобы узнавать о связанных с ними важных проБJlемах. . УтраиваЙте прелnолаrаемое время обновления по. . Составьте ПЛai возвраТiI к старой системе и "Заранее оuените. сколько времени займет cro выполнение. MHOro лет назад в новой версии Suп изменилось форматирование диска, и изза ошиБЮI В проrpамме fопnаt и мы не смоrли восиановlПЪСВОЮ систему_ С тех пор мы не УCldНВМИвасм первую версию по. 847 r лова 27_ Стротеrия и пОПИП1КО ОДМ).1нистрирОВОНi-1Я 
. Включите в маи инсталляции возможность отменить ее и попробовать еше раз нв слсдуюшиll день. При ЭТОМ строто ПРИдерЖИllВЙТtсь COCTan ленноrо расписания. Приведенная ниже история, произошедшая в крупной телекоммуника nионной компании, иллюстрирует некоторые типичные проблемы. Л.']аниро B8JlOCb обновить операционную систему и одно из приложеиий. ПОСЛС некоторых наблюдений и исследований 8..IмииистраrорЬ1 решили, "rro сnра вятся с задачей за три !!НЯ, Т.е. с 7:00 в пятниuy до 18:00 в понедельник. Первая попытка не удалась, поскольку администраторы обнаружили, что nроизводwrель проrpаммноrо обеспечения не рекомендует пользоваться имевшимся у них CDROM. На нем было СЛИШ1<ОМ MHOro ошибок. Прислали новый набор дисков, и администраторы приступили к работе. К сожалению, ноВое приложение и новая операuионная система КОНфЛИIo..'ТОВ8J1И др}т с дрyroм. И то. на что обычно уходит несколько часов. не удалось сделать за три дня. Лосле 60 часов нслрерывной работы оНИ, наконеи. устанопили операuионною систему. РукОВОдИтели компании. ВI01ючая впuепрезидента, были довольны, что обновление завершилось. но и порядком устали. поскольку все зто время каждые тричетыре часа они справлятiСЬ о состоянии де.'l. Этот пример показывает, ЧТО до тех пор, пока не получена инфор}\,rация о работе проrpаммноrо обеспечения от тех, кто ero уже использует, и пока оно не npотестировано на отдельной площадке в полной kонфиryраuии (новое лриложение плюс новая ОС), нечеro даже думвть об установке ero на основной технике компании. Производственное оборудование  не политон ДЛЯ 'Испытаний. G Полезные nроrроммы сторонних производителей В нашем СПИске nолс.зноro проrpаммноrо обеспечения имеется несколько настолько важных проrpамм. ЧТО их нужно обязательно устанавливать на все машины Дрyrnе Проrpаммы необходимы или полезны только на отдельных компьютерах. Однако стоимость дисковоro пространства сеrодня настолько низквя, что проще установить Все и везде. чтобы служебное проrpаммное обеспечение на всех машинах было Идентичным. Перечень проrpаММ, которые мы советуем обязательно устанавливать. npиведен в табл. 27.2. В табл. 27.3 оШfсаны наши любимые Проrpаммы, которые, однако, не являются необходимыми.. Мы разлелили их на проrpаммы для полъзователей и проrpвммы для администраторов. Проrpаммы, леречисленные в табл. 27.2 и 27.3, являются бесплатным... Большинство из НИХ МоЖНо заrpузить из Web. а ieKoTopble доступны только по ПР. Дл'я их поиска можно прим-енять поисковые проrpаммы и ссылки в этоlI книrе (предметный указатель). В архивах Red Hat Liпux содержится мноro проrpа.ммноrо обеспечения сторонних лроизводителей. ynакованното в ВИде дистриб}тивов RPM (Red На! Package Manager). ДЛя ynравления этими файлами и их установки МОЖНо использовать команду rpm. подобную проrpамме pkgadd из Solaris. С пакетами RPM работать roраздо удобнее, чем с большинством встроенных лроцедур компиляции и инсталляции nporpaMMHoro обеспечения. Поэтому, прежде чем пускаться на поиски ориrинала, вcerna ПJIOверяйте, ДOC1)ТlH3 ЛИ RРМверсия команды. 848 Чость 111 Розr-юе 
Таблица 27.2. Вожные nporpoMMbl СТОРОнних nРОИЗВОДl1телей Покет Оnисоние и КОhW.ентарии .Ь Оболочка lIJUI 38ЩИТЬ1  ИСПОЛЬ3)'tr шифрование. не показывает .вроли 8udo Заменяет 8а., lIpCдocraвлJlJl ДОПClJlНИ1'eJ1ЬНЫе ВОЗМОЖНОСТИ хоиrpо ля и управления входоы в сиcrему lendmaU Проrpамма транспортировки ЭЛJDlОЙ почты  получите последний вьшуск (ДJUI лучшей защиты) traceroute l Показывает сетевые маршруты  нужнв Д1UI вьuщления сетевых проБJ1ем tcpdwnp ИспDЛhЗYется lIJUI анализа CCТCBOro трафика и ВЫRвления сетевых проблсм nmap Сканирует сетевые порты  используется .Д.rIJ! мониториЮ'В CIf.cтeNbl И защиты сети tc:sb/baвh Хорошие интерпретаторы  шЬ хорош .Д.rIJ! испоJlЪ301Jани.я по умолчанию, вcerдa приятно иметь удобкый интерпретатор кz!pB Проrp...... сжатия И распаховки ziрФ.llлов ONU  использует ся ДI1Я распах.ОВЮI 38rpyж&eМЫ:Х .материалов Detacape WеЬброуэер tcpd ТСРо60ЛОч.хи  реrистрируют входящие подключения к сеРВСРУ и управляют нми RCSa/SCCS/CVS Системы ревизионноro ХОtnpOЛЯ ..... полезны н системным адми ниcrpаторим. и пальзоватeJlЯ)4 Perl Язык сценариев, Установите Реп s. Удобен д.л.в 8ДМинистраroров иСШ I эти проrpаммы. входят в состав всех omrcblвaeм.ыx наии систем, ио ис обязатсльно устанавливаются вместе с ними по умолчанию, Возможно. они ие включены и в пакеты друrnx rtpоизвo.nитслей.  в каталоrе /Dsr/ports системы FreeBSD содержите. mаkсфайл, который знает. как найти и установить несколько тысяч различных проrpаммных пакетов. Если войти в ЭТОТ кaTaJIor и ввести КОМStШy make' u.мяпа"ета, система найдет в m8kефайле адрес Toro места, rде хранится оpиrnнал проrpаммноro обеспечения, заrpyзит ero через Intemet, откомпилирует и уст.новит. Это очень удобная система. Ее нужно реtyJlЯрНО обновлять, поскольку содержимое и место хранения пактов может время от времени изменяться. Подробные инструкции по се ИСП0JТЬ30ванию вы нвйдете в руководстве "FreeBSD HBndbook" иа сервере www.freеЬsd.оrgfhапdЬооk. ":' ",. .  -"'''' . '. 1. ."' ...r.J \- ,- . '.01.. ,.. . r ЛОВа 27. Стротеrия и nОЛИТI-1КQ одминиcrрИрОВОt-jЯ 849 
Пакет Таблица 27.3. Полезное проrраммное обеспечение сторонни)( ПРОИЗ80дителей Описание и команды инстр 1f1ы ДЛИ енС1'еМНОro aдr.fиннстрнроваНИJl Webcepвep Прокси и кэширование для Web ПрOlРамм..ное обеспечение для печати  замена ДЛЯ Ipr/lpd со множеством усовершеиствований " Почтовые yrилиты  для доступа к ЭJlектроНJЮЯ почте и ее филътрации ИнструмеКThl ДJUI ПOJIЬ3OВlтелеli ксе BIND\ lripwire COPS era.ck npa.sswd Iпiffit/еthereаJ хпqнl Samba АрасЬе Squid LPRng Imapd/proeman Компилятор CfC++  очснь качественный компилкrор от GNLI Средства службы имеl:l  установите последнюю версию (ДЛЯ более н.anежной зашиты) Лроверяет С1'а1)'С файлов и обн.аруживает изменения в сн.стемных фaйлaJ< Средство зашиты  выявляет слабы"е места снстемы Средство lIJUI взлома паролей  пытается oтraдaть парали польз ва.телей Замен.а passwd  застаВ.пяст пользователей выбирать праИИЛЬНblС парали УТИJU{ТЫ для обс.ледования сети и ВЫЯВ.пения проблем Поддерживает правильн.ое. СИНХроНИЗJlрованное время на системных часах Windows 5MB  средстно для COBMCCТHoro ИСПО.'lЬЗова.н.ия файлов и npинтеров В системах Windows Acrobat Reader Oroбра.жает РDFфайлы. прекрасное бесплатное средство от Adobe Манипулирует двоичныии rpафическими форматами 8 Х Windows ПРОllJзмма для рисования Х) J  вроде MacDraw для UN [Х Pretty Good Privacy  ПОдm1сывает. проверяет и шифрует сообшения. Текстовый редактор типа \li  peKOMel-l,ДyeM систеМiЫМ 3.!lминист раторам Текстовый ре.пактор/оперauиoнная сн.стема  хорош для опытны): ПOЛblOвателей Текстовый редактор  хорош ШUI начинаюших Утилиты для печати 1:1 форматирования Проrpаммы чтен.ия электрон.ноА почты  рiпе ШlЯ наЧИl-lающИХ J1 шЬ/ехшЬ для больwоrо КОJ1ИЧСств.а почты gllmpse Средство юшексирования  ИНдексирует файлы и выполня.ет бы стрый поиск p/I"/ghostview Средства ШIЯ просмотра и печати документов PosrScnp[ 1 В пахет BIND входят yrилиты dig и D5lookup. xv/gimp Пlк PGP Dvi/vim ешаса plcos епscriptjmраgе pine/mb/exmh 850 Чость 111_ Розное 
27.1 о. Внутренняя документация Рабо1У Нац документацией часто отодвиrают На зацft:И'ill nлаи. Сделать это очень просто, потому ЧТО в тот момею. КОl'да ее следовало бы написать. вы обычно вспоминаете, что нужно срочно выполнить давно ждущую своеА очереди задачу. У любой административной rpynnbI, в состав которой входят студенты, наверняка возникают серьезные проблемы с ведением покумента пии. Покументация с описанием ЛОК8JIьноro компьютера оказывается необхо lIИМОЙ 80 МНоrиx ситуаuиях. Заходили ли вы коrдаиибудь и машинный зал, до потолка заБИ'Тый стойками с аппаратурой, разНОЙ и в то же время похожеЙ пруr на друта как пве капли воды, без единой надписи? А приходилось ди вам устанзнливать устройство. с которым вы раньше имели дело, но о котором помните лишь ТО, что настраивать ero было очень трудно? Или. может быть, вы коrданибудь тратили несколько дней на подrонку HOBoro компьютера под конкретные условия, обнаруживая затем, что в самом начале забьurn выполнить пару обязательных операuий? Внyrpeннюю документаuию необхо1IИМО держать в определенном месте (налример, в каталоrе fusrflocalfdoc). Некоторые документы лучше оформлять на бумаre, в виде брошюр, а некоторые  в виде табличек, приклеиваемых к устройствам. На 8сех системных консолях D.олжны быть прикреплены отпечатаНiые ИНСТРУКl.lии с указаiием имеl-Пi КО\iпьютера. последователыюсти ero заrpузки, архитектуры и специальных комбинаuий клавиш. используемых .nля переза rpузкн (например, <LI+A>. <Clrl+AIt+DeI». Имя комльютера должно быть ВИДНо с дрyrоro кониа комнаты. Совет насчет специальной комбинаШIИ клавиш может выrлядетъ rлупо, но на мноrих сервера:х МОЮiТОрЫ украдены и заменены старенькими терминалами. Поиск клавиши <LJ> на терминале \'П 00 может оказаться сложной задачей. Таблички с именем коr-.mьютера нужно наклеить и на дрyrие связанные с ним устройства: дисководы, модемы, принтеры, ленточные накопmеЛ1f и т.д. Если компьютер  очеiЪ важный объект (например, сервер или центральный маршр}тизатор), укажите, rДе iаходится ero Rыклюqатель. Если дтIЯ начальной заrpузки необходим rибкий диск или специа.ттьиая карточка, укажите, rде Oiи находятся. На файловом сервере необходимо наклеить перечень имен дисковых устройств, имен разделов, точек монтнроваНИJl, anреса резервных супер6локов. Для накошtтелей на лента.'I( требуется указывать сведения о файлах устройств и командах. необходимых для доступа к ним. Лучшее место Jl)lЯ этой информации  сам Накопитель. Рекомендуем указывать тип леiП, с которымн работает накопитель. ближайшее место, rде их МОЖНо найти. 11 иену На прНiтера'l( нужно указывать их имена. краткие инструкllИН по печати и имена коmьютерОR. с которыми они работают (если таковые имеются). СеЙчас принтеры f"'.+.:e началп постаR1lJJТЪСЯ с сетевыми интерфеЙсами и с....оро станут полноправными rpажданаМJf сети. Нанболее тщателыю необходимо документировать схему сети. Следует пометить 8се кабели, обозначить коммутаиионные П3iели и розетки, промаркировать сетевые устройства. Не мешайте электромонтерам ВНОСIПЬ коррективы в документаuию. В монтажном шкафу повесьте карандаш и бланки. чтобы Te:!l.IOfK CMor сразу же зафиксировать. ннпример. что кабель r лова 27. Стротеrt.1я и полt.1Тt.1ко ОАМИНlt1СТрlt1рОВОНlt1 851 
перекинут с одноrо устройства на .дpyroe. Зареrистрированные таким образом изменения можно перенести в память компьютера позже. Uентралъный пункт, rne собраны сведения о состоянии компьютера,  файл diary, в котором документирrются основные собьтrия ero жизни (расширения, ремонт аппаратной части, инста.'Ulяuия основных nporpaMM и т.n..). Можно создать псеВ1l0НИМ электронной почты, указъrваюший на этот файл; ТОП18 ero копии будут рассылаться всем администраторам. Это наиболее безбО:Iсзненный и НЮР..fенее opraHl-fЗ088ННЫЙ способ ведения записей. Рекомендуем составить печапый n.oJ...}MeHT, который можно ВЫ.18Я,ПЬ новым пользователям. В нем следует ИЗ.10ЖИТЬ местные правила, порядок уведомления О неисправностях, имена и адреса принтеров. rpафик резерuноrо копирования и отюrючеюfЯ и т.n.. Такой документ ПОЗВОЛ1П anмннистратору сэкономить массу времени. Эту информаlШЮ можно распространять и через WebcepBep. Помимо этоrо своеобразноrо введения в локальную среду. в университетах важную роль иrpают инструкции с наиболее распространенными ПО;Iьзова телъскими команд8},Ш, поскольку в таюrх средах пользователи часто мс::няются и не облапают достаточными 3iаiИЯМII По UNIХсистемам. Мы применяе1 оn.ностраничные информашюннъrе листки о редакторе vi. системе шаil, телеконференuиях, входе и ВЫ'\':оn.е i13 системы, Xcpeдe и ПорЯlIке исполь зования rnаJ1страниц. 27 11  Закупка оборудования Во ноrих орrанизаЦ1fЯХ команда системных arr.министраторов ''! команда снабженцев попностыо разделены. Это пЛОХО. Администраторам нужно знать, какая техника заказьmается, иначе OiИ не CMoryт реtшПь. впишется ЛИ она в имеющуюся инфраструктуру. АлМИI-IИ страторы должны иметь возможность участвовать в составлении спеLlифика LlИЙ, прилаrаемых к заказам. потому что Oiи \юryт сообшить полезные сведеюiЯ о нanеЖНQСТИ оборудования и ero пос.тавшиках. Участие системноrо администратора в решении таких вопросов особеННо важно в орrаНИЗ8ииях. которые должны ПОКУП8ТЪ технику по мин има.J1ЫЫ't ценам (это. например. правителъственные учреждения и тосударствеНl-lые университеты). В большинстве случаев при закупке ,южно прдваРLпе_1ЬНО указывать КрИТрИII соответствия пре!l..'1зrаемых изделий преДЪЯ8.:Iяе'l.fЫМ требованиям. Эффект при подК'тючеНIOf допопните_'ТыоЙ рабочеЙ стаНWfИ заВИСIП от MHorHX факторов. Какая она по архитектуре  шестипесятая ЮIИ первая'? Достаточно ли места на ее диске Д:IЯ системных фаАлов'? Имеется ли свободный сетевой порт? Будет ЛI1 она размешена в той части здания, тде ее \.fожно будет .ilerKO подклю'шть к сети? Насколько отличается ее ОС от уже используемы" в орrанИЗ8ЦИИ'! Такие вопросы оБЫIiЮ связаНЫ с более ФундаменталЬНЫ\1 BOllpOCOI: останеТесь ли вы KOicepBaTOpO\1 и купите оборудование у IIQСТQЯННО"О. стабильно ра60Т'dlощеrо постаВЩика ИЛII же попробуеТt' ВЗЯТЬ СllеЖilИШУЮ uпучку ' Фирмыновичка. которая может потрясти веСЬ Mllp. а ЧОjt,.СТ 11 обанкротиться? Здесь ответ зависит от Toro, n какой орrЗНlIJ3ШШ вы работаете Это не просто "да" ИЛ1 "нет": часто речь идет о Сl0ЖiЮ{ выборе \-1ежлу новейшей техникой и компьютерами. которые иы хорошо ПOiимаете 11 чувствуете. 852 Чость 111 РОЗt10е 
Если есть возможность поroнорить с поставшиками (официально или по дрyrnм каналам). системный адмииистрвтор может добиться более ВЫТОДНЫХ условий, чем отдел снабжения. Не стеснлйтесь называть цe на аналоrичное оборудование друтих поставщиков или завышвть объемы закупок, ожидаемых в следующем толу. Способность быстро и BLIroЩJO разместить ЗQКJIЗ иrpает большую роль в такие критические моментЫ, как кОнеи квартала и хонеи roпа. Если заказ n.е,п"ается в последнюю не.z:reлю июня. можно надеяться на значительную n.ополнительную скидку. Еше ОДИ1i вьrrО.l1l;-IЫЙ период для заключеНИя сделок  непосредственно перед ПОЯ1lJlением на рынке новых моделей (лродавцы стремятся лобыстрсе сбыть залежи стаРЫХ товаров). Такой такnпcи придерживаются. в частности, университеты а в фирмах и rосупар ственных учреждениях все зависит от конкретной ситуаuии. 27.12. Списание оборудования Списание компъютера  весьма болезненная процедурз. Упрямые пользователи не :же,п"ают расставаться со своими "любимцами", зная, что им придется изучать новую систему н переходитъ на новые приклanные nporpaMMbI. Руководители ieKoTopbIX фирм убеждают себя, что новая система им не по карману. и принуждают сотруn.ников работать на старой. Обычно это заканчивается тем, что понапрасну тратится такая сумма neHer. которОЙ хватило бы не на одну новую систему. Старый компьютер VAX ежемесячно потребляет элеJ<..LрОЭiерrи-и 1-13 СУММУ, превышаюшую ero ликви.даuионнуlO стоимость. но попробуйте заставить ПОJlьзователей смириться с ero ОТКЛlOче нием! В УI-шверситетах аналоrичная проблема связана с пожертвованиями. которые делают предприятия с uелью уменьшения iалоrов_ Во mhol1-fX случаях пранильнее сказать: "Нет, спасибо. нам не нужны ни две тысячи девятидо рожечны-х лент. Юf стеллажи для их хранения". OnHQMY университету в Будапеште недавно преmтожили мэйнфрейм IBM. Вместо Toro чтобы сказать "нет" и KyтlТЪ быстродеиствуюшие персональные компьютеры. они взяли эту машину Jf к настоящему времени потрarили только на n.ocTaBJ...}. и прокладку электропроводки сумму, превышаюшую весь их ron.овой БЮдЖет. Стоит только производительности аппаратуры возрасти, как проrpаммное обеспечение начшает тянуть ее вниз  увеличиваются ero объем и слож- ность. После инсталляции новых проrpаммных средетв старая техника работает медленно. Иiюrllа до невозможиасти. Мы превраrnли свои старые рабочие станuии в Хтерминалы. заrpузив спеuиалЬНО настроенное для этой uели ЯПро. Машина Suп 3/50 с 4 МбаJ\т ОЗУ в РDЛIf автономНой станuии, работаюшей с современными UNIХпроrpаммами, врм ли сможет даже заrpузнться. но вот в паре с 19ДIOЙМ08ЫМ монитором из нее получится отличныи Хтерминал. Поскольку пользователИ и руководители с нео"ОТОй соrлашаются сдаваТЬ устаревшее оборудование в утиль, иноrда системному администратору при ходится самому прОЯВJ1ЯТЬ иниuиативу. Самое убедительное n.оказательство  финансовая информauия. Если вы сможете проде.монстрировать на бумаre, что затраты на эксплуатаuию cтaporo оборудоВЗJiИЯ превышают затраты на ero замену. мноrие возражения будyr сняты. Переход с оn.ной системы на дрyryю можно упростить. если n.ержать оба компьютера в рабочем состоянии. Оставьте питание старой системы вЮlIO ченным, но уменьшите объем anминистративноrо сопровожnения. Можно прекратить обслуживание ее аппаратной чаСnf  пусть хромает. пока Ш r лова 27. Стротеrия и политико администрирования 853 
умрет сама собой. Пользователей МОЖНо соБЛа3}fifТЬ разными rlриманками: повышенной производительностью, nporpaMMlfbIM обеспечением HaBora по каления н т.д. Даже очень старому компьютеру можно найти применение  например, в качестве сервера печати или "rостевой" станuии. ЕCJ1И ваша орrаiизаuия  коммерческая, рассмотрите вопрос о передаче старой техники университету ипи школе ("Алло! Не хотели бы вы получить даром две тысячи деВ"l1ШО рожечных лент и стe;uтаж:и для их хранения?"). Если ничеrо ie получается. придется подумать о методах СОЗИДательной ликвипauии. Например. списан ная машина Pyramid Р90Х превраТИЛ8СЬ 8 отличную связку железок. при вязанную к автомобилю нашеrо rлавноrо администратора в neib ero свадьбы. Очень эффектное применсние. Мы 8ИD.ели н дрyrой RЗрltШТ yrипизации  на ежеrоD.НоМ конкурсе по брОСaiШЮ яиu (сырое ЯЙIЮ ynаковывается так, чтобы при бросании из окна BOCLMoro этажа оно осталось целым). Остатки компъютерноrо оборудования мы продали с аукциона студентам нашеrо MeCTHora отде..'1ения Associa[ion foc Соmршеr Machinery, профессио-- нальноrо сообшества i:омпъютерных наук. Студентам не разрешалось распла чинаться деньrами. а только жетонами стоимостью в пва часа их труда. Оии должны быJrn отработать в лабораториях ипи классах новичков в той областн. которую изучали. На нашем факультете компьютерных наук к этому при-выКJТИ, но на дрyrих факультета.'Х очень удивляются. Korna Пояи.шнотся наши студенты и объявляют. что они должны 10 часов rЮМоrаТЬ СТУПI..'I-IТ.IМ пер80курсникам в лаборатори-н- Для такоА системы нужен ХОРОШIIИ У"-IНIO нист. Мы iадеемся пере манить к нам Роби Колем.! Иj LISA. 27.13. Патенты на проrpаммное обеспечение С некоторых пор началось вторжение в коmыоернуюю ПрОМЬШL'IеНIОСТЬ патентов на проrpаммное обеспечение. Этот вопрос в принципе не IIMeCT отношения к системному администрированию. но мы всетаки затронем ero. Сначала бюро патентов установило, что нельзя ю.патеНТовать математи ческую теорему. Затем теорема стала алroритмом, НО запатентоwtть алrОрllТМ также было нельзя. Ллrоритм был реализован в аппаратуре. которую патеНтовать разрешили. Встроенные nporpaMMbI запспеl-lТОR..1ТЬ иноrда yдaBa лось. протраммное обеспечение  никоrда. Однако правомерiЮСТЬ оТКЮrl н выдаче патента можно обжаловать. и один нз судов iизшей ИНСТclНllИИ прямотаки полюбил патенты на nporpaMMHoe обеспечение. Бюро патеlПOlJ начало против своей воли вьшавать их. в iекоторых сл)'Чаях I-Iа прикла.аные лроrpаммы, созданные 1 o 15 лет назад_ К сожалению, исторически сложилось так. что бюро пзтеНТОR слабо разбирается в положении дел, склздываюшемся в области ПрОI-раММllроваiШЯ. По этой причине оно выдало MHora неправильных (даже rлупых) шпеiПОR. На aлroритм сжатия данных Лемпеля Зива выдано пять разны( П.lТеiНОП. Этот алroритм был опубликован в одном математическом журналс. реаЛllзоваli И распрос-транен 8 СоСтаве Berkeley UNlX. ЗапатеНТОВ8iЫ ндея IlеаdеrфаЙЛ08 для Спроrpамм и конuешrnя Курсора. Запатентоваllа теХНШlOrия ВЫЧlIтаiИ)l. предназначенная для решения проблемы 2000 roдa. ЗlПаТС:НТОRан Ilpouecc переноса изображния из памяти 8 -экранное окно и ИСlIолыо[Ннще unepёlUIfH XOR дЛЯ обработки наклздывающихся окон. ЗапатеiПОН'nНЫ iСКОЛЬКО стандартов КО!lИропания данных и врннuип ВCТJ1зиваШ1Я реклаМ"lOrа MaTe риала в ПОЛьзовательскиЙ Иiперфейс. Неданно Brilish Telecom ОСПСlрииалС1 R 854 Чость 111 Розное 
супе собственный патент. который. как они утверждали, должен был зашишать авторство rипертекстовых CCЬU10K ВО втором издании этой книrи МЫ писали о патеНТа.'С на проrpаммное обеспечение и о наивности U.S. Раtелt and Trademark Office в отношенни nporpaMMHoro обеспечения. Пять лет спустя эта тема все еще актуальна. но в США появилось еще большее зло: патенты на делОВЫе оперauии Выдаются патенты на такие обые действия, как извлечение учетноЙ записи пользователя из базы n:зtiliых 8 случае. коrпа поль."юватель звоннт в службу ПОДllерЖКIi. Компания Amazon.com получила патент На "технолоrию одноrа шелчкз". Они получили ЮРИдическое предписание. требуюшее. чтобы Bames and NobIe заставляли пользователей выполнять мя получения юшrи миннмум два щелчка мьппъю 8 . Сейчас бюро патентов пытается улучшить свою рабоry, но ущерб, кажется, уже нанесен. Важной вехой во всеЙ ЭТОЙ истории является отзыв в 1994 rолу патента, прина..алежавшеrо Compton's new media. на нзвлечение даниы. хранящихея иа CDROM. Некоторые аналитики считают, что он Mor бы охваТИТЬ до 80% существующих СDлродуктов. В конечном счете 41 предпринятая }'казанной фирмой попытка получить патент не ула..'1ась. В области проrpаммиоrо обеспечения вообше очень rpYHHO доказать наличие изобретения или иовой технолоrии Обычно это приходится решать н суде. Более подробную информаuию о патеiпованин проrpаfМНЫХ технолоrий вы наЙдете в архивах Еlесtroшс Frontier Foundation по адресу www.eff.org. а последние новости о патентовании  на узле SJashdo[.org 27.14. Орrанизации и конференции Сушествует несколько rpупп поддержки ОС UNIX. как обшеrо плана. так и по различным версиям. 3anaQa этих rpYTТn  Помоrъ вам в r..:OHTaKTi1.'\ с людьми, которые пользуются тем же nporpaMMHbJM обеспечением. что и вы. Краткий перечень орrанизаuий и наша характеристика Кажлой НЗ iШХ Приnе..1ены в табл. 27.4. Сушествует также множество наLlИона.1ЬНЫХ и реmональных rpупп. которые в этой таб;нше отсyrствуют. М нОП'lе 11"1 этих орrанизаuий, вероятно, обидятся на ТО. что мы полыуеся словом UNIX. и заявят. что ОТНосятся к приверженuам "открытых систем". Кажnая орrаюваuия Издает свои информаnионные материалы и ежеrадно проводнт oднyдвe конфереl!UИН. USENIX устраивает однv обшую конфереl! uию и несколько специализированных. UniForum. SUG и AUUG провалят крупные коммерческие выставки с конференuиями. Проводятся также такие мероприятия, как Jпtеroр и UNIX Ехро  коммерческие выставки с небольшими техническими семинарами Выставка Interop  заметное событие. а КОtlсультатп-вные курсы Illtcrop отличаются ВЬtСОКИМ качеством; упор делается на сети, а не конкретно на ОС UNIX Выставка lтerop раньше ПР080дилась ежеrодно. и ее с нетерпеiием ждали как технические СПеШlалисты. так н ПРОИЗВОДJ.fтеШ1. Сейчас она проводится пять раз в rод (так сказать. бродячий сетевоя uирк). а зарплата консультантов сокрашена вдвое. Возможно. компания DoubleClick.net Mor.'I8 бы преВ30ЙТJl ИХ. запатентовав llВОЙ"НОЙ шеЛЧQК r лово 27. Стротеrия и попитика ОДМИНИСТр1рОВОНИЯ 855 
Название URL USENIX www.uscnix.oq SAGE www.saвe.OQ! SANS www.&8.I15.0Ig EUROPEN WWW.сuroреП.oq AUUG WWW.8UUg.OI!.BU SAGEAU www.S8ieau.org.8U JUS www.jus.org Таблица 27.4. ОрrОНИЗОLlИИ. эонимающиеся ОС UNIX Ко.ммsнroРИИ rруnлв пользователеЙ tJNIX: 38НИJ,{иется техни ческими воnpoсаМII rИЛЬдИЯ системных администраторов, связанная с USENIX; проводит ежеrодн::ыс конференuии LISA ПРQВОlIИТ конференции системных ВltМIOIистра торов и ав.министраторов зашиты. это менее теXIOlЧеская орrани:эauия, чем SAGE, с акцентом на учебные пособия Объединяет нацИОнa.1lЬИЫС rpyпIIbl. но практи чески прехращает функционирование. В настоя щий момент действуют только NLUUG. DtJtJG. UKUtJG и некоторые дpyme наuиQн8ЛЬНЫС ",ynnы АвстрaJIИЙСIOiС пользователи UNIX. занимаю шиеся техническими аспектами и менедЖМен ТОМ Австралийское подразделение SAGE, npоводит ежtroднblе конфереНWfif в Оз Японские пользователи UN LX, з.анимающиеся техническими аспектами и мемедж.ментом SAGE: П<ЛЬДИЯ системных администраторов SAGE. rилЬДИЯ системных администраторов USEN(X.  11ервзя меЖдУ народная орrанизация систешых anминистраторов. Она рашинает и рекла мирует профессию системных адмннистраторов. окаJhJВ3Я CnOHcopCKYIO помошь в проведеiИI-I конфереliUИЙ J.I информаuионных nporpaMM. Подроб ную информаuию о ее деятельности вы найдете по адресу www.sage.org. В настоящее время SAG Е прорабзтывает вопросы сертификации. Она JU18нирует выработать проиедуру сертификаuии системных администраторов, включающую письменный экзамеН и практикум. Это будет больше похоже на сертификацию Cisco СС) Е (очень основательную как по частИ теории, так и по части практики), нежели на сертификаUl-lЮ Мiсrоsоft MSCE (менее nцательнyIO. включающую только экз8меныl с выбором одноrо из нескольких вариантов ответа). Поскольку профессия системных а.lIМИiистраторов охватывает разные технические области и систеl\.rът разных произвоn.ителей. SAGE ПЛЗiирует орrанизовать несколько сертификаuий Вероятно, они будyr выдавать баЗОНЫI" сертификат об оБШJ.l\( .знаниях и навыка.х. а также спеuиализированные сертификаты по разным темам и системам различных ПРоИЗВОдlfтелей. дета....iи Проrpаммы SAG Е пока не проработаны. Пос..'lеднюю информauию вы найдете на уз..'1е www.usenix.org/sage. Еще одна важная задача, над КотороЙ работает SAG Е,  лроrpамма помошн начинаюшим Cl-lстеМНbIМ администраторам, которую MOryr окаЗЫR3ТЬ их более опытные коллеrи. Препопавзтели буд)-т работать один на один с учашимися раз или два в неделю. Проволится и более формальное обучение  члены сообшества SAGE преподают в университетских классах. Эта rpУТlла обменивается опытом и идеями через список почтовой рассьтки sysadmedu cation. для Toro чтобы на Hero подписаться. отправьте сообшение по ап.ресу majordomo@maillis[.peak.o и включите в Hero текст "subscribe sysadmеduса[iол". 856 ЧоСТь Ш. Розное 
rнльлия rотовит один из разделов ";/ogiп:", бюллетеня USENIX; раздел содерюп новости, интересуюшие администраторов систем UNIX, советы, обзоры и объявления. rилъдия SAGE выпустила также серию кратких тематических дешевых буклетов (5 ДОJШ. дпя членов rилЫIИИ и 1 О ДШUJ. дЛЯ всех остальНЫХ). ВОТ теКУlllИЙ список: . Job Descriptioп for System Administralvrs, редактор Tina Dалnоhrау; А Guide 10 Deve/opiпg Coтpu/illg Policy Docuтellts, редактор Bamara Dijker; Systeт Security: А тaпageтell1 per;speCllve. David Oppenlleimer: . Educatiпg aпd Traiпiпg Syslem Adminis/ralors: А Survey. David Kuncicky и Bruce Wулл; . Hirillg Syslem Admiпistralors, Gretchen Philips; А Syslem Adminis/ralors Guide 10 Sire Audits. Geoff На1рлп: Sysleт alld NelWork AdтiтSlrarioll [or Higher Reliability. Jоl1Л Sеlleлs: Role о[ Poslтasler, Rose Cllalup'. Последние три брошюры вышли ТОЛЬКО 8 2000 roдy, и еше несколько ТUJанируется. Effect;"e Custoтer SUppOI1. Mon;(or;пg Techlliques aпd PraCI;ces и The Role о[ Web Masler. Вместе с llSENIX, своей родительской орraнизаuией, SAGE каждую осень устраивает онфереНlIИЮ LISA. Проводимая USENIX/SAGE конференlIИЯ LlSA  самое масштабное, самое лучшее, самое "техническое" и самое конкретное из всех подобных мероприятии. Она про водится каждую осень, обычно в КалИфОрI-IИИ. Ее проrpамма, как правило, вклюtJает в себя трехдневный семинар и три дня техниtJеских совещаний. переrОRОрОR и консультаuий. Параллельно работают однодневные семинары по разны\t спеuиализироваННbIМ вопросам. Получmь информаuию об этой конференuии можно по электронной почте (conference@usenix.org) или на узле v/ww.usenix.org. Помимо обше.национапьной rpУППbI SAGE, сформироваНbI несколько реПlонаЛЫIЫ), rpYТlll, задача которых  оказы-вать администраторам IlОМОШЬ в реr)'ЛЯРIIЫХ контактах со СВОИМИ коллеrами, В I-l3стоящее nремя сушествует rpvппа SAGEAU в Австралии, SAGEVv'ISE в Уэльсе, Ирландии, Шотландии и Анrлнн 'J1 SAGEPT в Портуrалии. Контактн}ю информаuиlO ЭТ1IХ rxrИОНз'..'lЬНbIХ rpупп можно найти по адресу www.usешх.оrg/sаgе/lосаls. СПИСКИ рассылки и Webpecypcbl ( Сушествуют МllOrОIИС:lенны списки рассылки дЛЯ алМlfнистраторов paj.'lILlНbI\: систем. д.'ISI rЮl1Лltски на Sun Мuпаgеrs отправьте письмо по мресу rnaJor dОПlO@'iurlmапаgеrs.есесs.uс.еdll, включив в Hero текст "lIЬsспЬе SUnlllanagers". АрХIIВЫ здеСI ВСДУТСS1 с 1991 [ода, они 110СТУТ1НЫ по адресу ww\','.IaIeCll.edtIJ'sull 111зп.lltllll. СоответСТR1Ошие rpуппы новостей Usenet называются СОПlР.УS.llП.аdll1iп и сошр.нпiх.sоlаris.. Одно время сушеСТ80вал список hpuxadl11in, но похоже, он умер TдeTO " 1998 rилу. Ero 3afeHa имеется по алресу www.egorups.com. За ИНфОРМ8uией о списках рассьU1КИ, связанных с Linux, обратитесь по адресу \vww.redllat.colt1/mailinglists. Можно поштисатъся прямо через Web. Списки наJЫваются LтlIXXXX. К сожалению, ни один ИЗ них не адресован Ilепосреl1СТRенно clfcTeMllblM 3ДМIПЛlстраторам. (hp)  '-.,j' Название этоrо документа моrло измениться. В коиuе 2000 rода он еще не вышел. r лово 27 Стротеrия и политико одминистрирования 857 
Информаuию о списках рассылки, связаниыХ с FreeBSD, можно наЙПl по адресу W\\'W.freеЬsd.О!J;;hалdЬооk/еrеsоurсеs.hIПU. Для подписки на любой из них нужно отправить сообшение "subscrlbe ххх" по адресу шаjоr domo@freebsd.org. К сожалению, ни один ИЗ них не адресован непосредст венно системиым aJlмю-rистраторам. но в списках free-bsdquestlons, freebsd.stable и freebsdsecurilY можно найти MHoro полезиоrо. Для систеМНЫХ адмннистраторов имеется масса ресурсов. Полезные ссылки вы наЙдете на WеЬстранИuах SAGE. Несколько наших любимых адресов приведены 8 табл. 27.5.  СоЙ1' freshmeat.com Таблица 27.5. Web-pecypcbl ДЛЯ админстроторов www.ugu.com www.stokcly.com www.tucocs.com Slаshdо[.шg securityfocus.com google.com www.оreШу.соm Содержимое OrpoblИoe собрание проrpамм--ноrо обеспечения ДJ1В Linux Unix Guru Universe, все Ш1Я сш;rемных администраторов Хорошее собрание ссылок иа все, что необходимо систеМНЫМ администраторам Проrpаммное обеспечение для Windows и Мае. отобрано иаиболее качествеННое Новостн ДJlJI любоЗН3Те!LbНЫХ Информация, касающаяся безопасности; оrpoмная, но уязви мая база даиныx Быстрый ИНТeJUlеlCl)'aJlЪИЫЙ поиск, особенио полезен ДШI техиическоro персоиала КнИЛ1. иемиoro коммерuии И коечто rюле-знос: Литература Лучшими печатными ресурсами NЛЯ a.nминистраторОБ UNIX являются книrи издательства O'Reil1y Сё'рия начинается с КНИПf "UNIX iп а ;'\1шsl,еll'.. ВЬПlJелшей более 20 лет назад, и сейчас вклюttает книrи практически 110 всем важнейшим попсистемам и KOMaНi1aM U N I Х. Кроме Toro. в 'ЭТОм издательстве выходят КНИПi. посвпшенные Internel. Windows NT и друrим темам, не связанным с UNIX. Они имеют разумную иену. вовремя ВЫХОДЯТ и очень информативны ТИМ О'Рейли проволит ежеrодные конференuии, поспяWН Нhle открытому nporpaMMHoM}" коду, а также коиференuии на тему Perl, Java и JCL[rk. 3а 110попнительнпЙ ннфор..аuией обраШайтесь ло адресу WVv'W.oreilly.com, 27.15. CTOHДOPТЪI Стандартизаuия в олних случая", lIам nOMoraeT (модемы рзных ПроИ1 волителей MOryт общаться дрr с лр}том), а в лрУПIХ  вредит (протOI(О!]Ы OSI  не более чем миллионы долларов, выброшенных на ветер). Комнтеты по стандартам не должны заниматься изобретательством. Вообwето задаttа стандартов состоит в том, чтобы предоставить 110ЛЬЗО вателям возможность покупать совместимые продукты, созданные КOI.rкyри руюшими производителями. Некоторые орrанизации, воалсttенные в проuесс С1'зндартизаuии, просто систематизируют и документируют сушествующую практику. Дрyrие преследуют политические uели' стремятся к победе нa.n 858 Часть 111 Розное 
конкурентами или сокрашению объемов работ по приведению собственноЙ ПРОДУКЦИИ в соответствие с нормами. Часто крупнейшими JзкаЗЧliками стандартизированных систем и прило жен ий ЯМЯЮТСЯ правительствеиные орrанизаuии. HaIlwrne стандартов ПОlВО J1яет им не ПРКВЯJыватъся к КОН1(ретным произво.nителям Однако круп ные Компании MOryт по собственной воле замедлять проuесс стандаРТИJзшtJ.1 R ожидании. пока их прощ.'kIЫ не закрепятся на рынке. СушеСТ8ует несколько opraHoB по стандартизаuии. как офиuиалЬНЫХ. так и неофициальных. В каЖдОЙ из этих структур действуют свои правила приема HoBых членов, rолосования И работы. С ТОЧКИ зрения администратора системЫ или сети самыми важНЫМИ орrанами являются POSIX (PonabIe Ореrаtiлg SYSLem ЕлvirоnmеПL  Орraнизаuия по переносимым операционным систе мам) и IETF (Intemel Епgiлееriлg Task Force  Инженерная комиссия InLerneO. Рефераты новых стандартов публикуются в материалах телеконфе ренuий comp.srd.ulli>.: и comp.org.usenix. а также в '";/ogil1:", бюллетене USENIX. Орraнизаlll1Я POSIX, являющаяся ответмением IЕЕЕ, последние несколь ко лет занимается 8ыработкоЙ единоrо стандарта на ОС UNIX. Помимо ли это на коммерческие версии UN IХ? Да! Орел GI"OUP, лиuеНЗИРОЩ1ИШШI торroвую мар....'}" UNIX, основывает свою спеuификаuию UNIX на стандарте POSIX. Каждая система, выыыаюwаяя UNIX, теперь по.nдеРЖИ8ает Иl-rrерфеi сы POSIX. KTOTO может 80зразнть. tJTO теперь все стало значительно сложнее, Tal<: как производители по.nдерживают и стандарты POSIX. и свои ориrиналь ные интерфеЙсы, но в uелом это неверно. Альтернативиые интерфейсы используются Bcero в несколькИJ( доменах. К сожалению, POSIX ниtJеrо не rоворит о том, ЧТО происходит на тех уровнях ОС, которые ОТl1аны на откуп системным администраторам. Документы РОSlХ 110СТУПНЫ только в печапlOМ 8иде. Их издает I EEF Cornputer Sociery. В стандартах rOSIX.I и POSIX.2 (теперь это стандарты ISO 9945 I 11 99452) описываются РОSIХверсии системных ВЫЗ0808 и KOma1-1l1 UN(X. В настоя шее время эти стаНдарты совместно пересматриваются ISO. I[EE и Ореп GI"OUP. планируlOWИШ закончить эту работу в конце 2001 или в на L lзле 2002 rодз. После этоrо все три орraнизацни БУlIУТ пользоваться одним стандартом. Ero заКОНtJенная версия должна быть бесплатно ДОС1}'Пна через Web. Консорuиум Ореп Group, ранее называвшийся XjOpen. выработа.)'] ЛОl!множество стандартов POSIX, названное SiлgIе UNIX Sресifiсаtiол (SUS). Этот npouecc Н3tJался с анализа всех систем и приложений, которые захотели КОНТРОJlиропать члены КОНСОрllиума. В результате было идентифиuировано 1170 различных широко исполыуеfЫХ интерфейсов (команд, утилит, СИстем ны"\' АЫЗОНОН и т.п.,. В результате проект получил раБОLlее название Spec 1110. Торrо""я ""рка UNIX первоначально лринадлежала АТ&Т ВеН Labs. Затм она перешла к UNIX Systel11.s. Laborarories (дочерней компаНИlt АТ&Т). .JilTeM J( Novel1 и после этоrо 1<: SCO. SCO лре110ставила безrонораРllые 'IицеНlионные права консорциуму Орел Group. Если ваш продукт COOTBeT стпует спеuификаuии Sil1,gle UN IX Specification и у вас достаточно lleHer. fOжете назвать свое изделие "UNIX". СпеUИaJlнзированные лаборатории IlронеД}1" сертификацию. Документ. определяюший спеUИфИlGlШ1Ю Single UNIX Specification, можно ПРllобрести или заrpузить по ааресу \I...ww.open grоuр.оrgfрuЫiсаtiолs. Посешаемость совеwаний по стаНl1артизаuии за послеl1Нllе HecKO.'lbKO лет упала, но только Не в IETF. Некоторые орraнизаuии по СТ31-щартизаuии (TotJHee. БОЛЬШИНСТ80 из них) получают основной доход от продаЖ1l копиJ1 r ЛОВА 27. Стротеrия и ПОЛитико ОДМИНИстрИр080НИ 859 
CTaнnapтOB не по 20 долл. (затраты на бумаry и тирвжирование), а прибли зительно по 300 долл. Практически все стандарты пишутся добровольuами. работа которых не ОПдвчивается. . Консорuиум Аustiл Group (Austin  это назваЮlе ropoдa в штате Техас, !'Де впервые собрались ero представители) состоит из орraНИЗВ1lийучастЮlКОВ [ЕЕЕ, 180 н Ореп Group. Он поддерживает WеЬузел с рвбочимя документами раз}{blX стандартов. Заинтересованных пользователей приrnашают посещать Узел, 38тружать черновики и принимать участие в лроuессе стандартизаuии. На ЭТОМ узле нужно зареmcrpИРОВ8ТЬеЯ, но ои не будет прИСЫЛRТЬ спам или счета Зl> заrpуженные документы. Ero адрес: www.орепgrоuр.оrgJаustiл. rруппа пользователей U8ENIX финвнснрует учвстие onHoro cBoero пРеДCТllвителя в нескольких труппах стандартизаuнн. Ero задача состоит не в том, чтобы определять направлеиие будущеrо стандарта, а скорее в информировании полъзова'rелей UNIX о состоянни дел в области cтaHдap тмзаuии и препятствовании появлению ткестандартов. Лредставитель U8ENIX собирает информацию, поступающую из мнorИХ источников, из которЫХ наиQoлее заметными являются так нsзьmaсыые осведомители (snitches). . ОсВ'едомителъ  это технический специалист, который посещает HeKO торое мероприятие и состаRЛЯет о нем отчет. Такие отчеты ложатся 8 основу материалов, публнкуемых в журнале ";Iog;n:". Кроме тoro. эти отчеты поыоraют понять, .ЧТО предлаrает стандарт и что в нем неrтраВИЛЪНQ (или же. что в нем хорошо!). Если вы активный учаСТНИI<: проиесса С1'андартизаuии и технически компетентны, возможно. вы захотите быть осведомителем в своей области. rоворят, обеды ми осве110мителей исключительно хороши. 27.16 ОброзJ..lЫ документов Некоторые упомнавшиеси в этой rлаве поmrrические и проuелурные ДOl!)'МeHТЫ можнО получить по anресу wv.'W.аdmiп.сOln. эти l10кументы ОП1lсаны в табл. 27.6. Документ qrad.poIlcy Таблица 27.6. Перечень документов. ноХОДRЩИХСЯ но www.odmin com - p.polky s)'sadmiD.policy ..rvi<es Ыriog.tjII!z\ ЫПng.quiz2 locaUzatjOll amanda tcpwrappers Содержание Соrлашение оправилах П0Jlb30вания КОМПblOТqJНОЙ лабораторией ДJlJI студентовнович.ков Соrлашение о правилах пользования кot.шьютерной лабораторией для выпускников и преподавательскоro состава Правилв для системных aD.М.Ииистраторов Сервисы CSOPS. ПОЛИПiКИ И приоритеты Тесты для определения опыта работы Тесты на зиание ВОПРОСО8 ад....utНиClJ)ирования КОJiТРОЛЬИЫЙ список ДJlJI локanизawrи Контрольный список ДJ1В резервноro копирования с помошью Amanш Коитрольный список для установки ТСРоболочек 860 .-J- -i' . r ." : ; Чоcr. 111. Розное 
27.17. Рекомендуемая литература . Burgess, Mark "Сfепgiлс: а site configuration engine." USENIX Сотрuriлg Systems, Vol 8, No 3. 1995. . Burgess, Mark "Computer lттuлоlоgy." LlSA. 1998. Oetiker. ТоЫш "SEPP  Sof\awre Installation алd Sharing System." LISA. 1998. . Sал Diego Suреrсошрutеr Селtеr. Loca1 policies. standartS, алd procedures. httр://sесшitу .sdsс.еdu/hеlрSGs.shtш1. . MJ.B.H., Iпс. "AcceptabIe Usc Policy." httр://www.шiЬh.леt/ШIЫ1аuр.htшl. M.I.B.H. приобретена коМла....ей Меtrошеdiа Fiber Network. но ее документ AUP попрежнему доступен и представляет собой хороший при мер строrих и деЙСТRенньпс правил. . Eaton, David W. "соmр.sоt1warе.солfigтgшt FAQ. рап 3." httр://www.iас.hопсywеll.сош/РuЬ{Тесh/СМ/РМТОО1s.htm1. ЭтОТ Д0К}'J\.1eнт содержит ответы на вопросы, связанные с системами отслеживания проблем. включая и мноrие коммерческие системы. о которых мы даже не слышали. Он подnерживается как полаraется, НО МЫ не нашли в нем информации о наших любимых пакетах. . Напоw, Jeffrey R., and Compaq Compurer СОlpоratiол "Тhc Rapidly Сhалgiпg Face of Compu!ing" (периодическое издание). http://www.com paq.com/rcfoc. Эти реryлЯРНQ обновляемые wеьузлы содержат интересные статьи На технолоrические темы. 861 r пава 27 Стротеrия и nQЛИТI-1КQ администрирования 
2 8 Процессыдемоны I .'Т). i r""'f J Операпионная систе"'1d lJNIX  зто rибкая и универсальная MII0I.O]an3'1 иая (реда. но ее функциональные возмОЖНОСТИ заКЛЮttены не только 8 ядре. В системе Нlеется боrаТЫI-i набор демонов. ОТВС(!3ЮШИХ за ее Жl'Iзнеl1еятелЬ нйсть. Системные ааминистраторы ","юryr Та....."Же инстзллировать ДОПОllшrте!]ь ные демоны, полученные из Iп(еrпе[. пре110стзsпенные производителя-ми 111111 I-Jаписанныс ПОJlыовате.пями. Демон  ЭТО фОНОВЫЙ IIpotlecc. которыи выполняет системную ]aJl.3'IY. В ПОЛНОМ соответствии с rОСПОl1СТВУЮШИМ в UNIX принuипом МОl1УЛЫIOСТИ демоны ЯRПЯЮТСЯ проrpаммii:l.МИ. а не частями ядра. Мноrие демоны запvскаются во время Нii:l.LIa.rIЪНОЙ заrpузки системы и продолжают работать все время. пока снстема ВК!lючена. Остальные l1емоны запускаются при необхолимости 11 работают столько. СКОЛЬКО предусмотрено их ФУНКНIfЯМИ. СлОВО "демон" (dаешоп) впервые употребил в компьютерноfl flраКПlке Мик БеЙЛI! (Mick Bailey). анr.:шчаНIШ. которыи в начале 60\" rf. работа.Т"I IIроrраММИСТО\1 8 Массачусетском теХIЮЛОIическом инститyrе. LlТ]я оБЪЯСliе ния смысла и Ilравильноrо написания слова '.dae.тOll" Мик uитирова...l ОКФОРДСЮfЙ C.'lOBi1pb анrлийскоrо языка. Словз "dаешоп" И '.deтon" Ilмеют общиfl корень. но первое  более древнее, сохранившее первоначальное значеl-ше. Слоно "dаеП10П" ДОСЛОВНО означает "'rеНIIЙ. духпок.РОВlfТель человека". В это смысле лемоНЫ являются не воплощениям.и l10бр<1 или 3)1..', а неззвисимыми существами со СВОИl\-fII собственныI!! на"'lеренияш и желаниями.. Из системы CTSS, в работе нм котороя БеЙJ1И ПрIIIШМа.л У1.ШСТIIС, этот термин перешел 8 MLIIIICS. а затем и п lJNIX. [де демоны СТaJllI настолЫ,о IIOПУЛЯРIlЫМII. что для у"раsпеНIIЯ IIМИ IIOН<l.!юБI1ЛСЯ "с)'перлемон" (inetdl В :пои fJlаве l1ИН краТКIIИ оБJОр lIаиболее pdCl1pOCTpallCllHbI\ Де I\ЮIIOН. Не все перечисленные здесь l1е\юны поставляются со всеми верСIIЯМИ UNIX. 11 IIC каждый демон, 8ХОl1ЯШИЙ в состав той 1I.=1И иной вероIИ UNIX. здесь УТlOмянyr. Прочитав о ТОМ, что делают все ЭТII демоны, вы не ТОJlЫ..О станете Эту историю рассказал нам Деннис РИТЧIi со слов ДжеРРlt За.'Iьuера 113 мти. 862 Чость 1\1 Розное 
t:'ще более КНЗЛИФИl1нрованным спеuиалистом по ОС UNIX, но 11 перестзнете бояться вопросов IIОЛЬJователей о том, что Лfлзет, например, пемон XIILpd. До Toro J(3K был напнсан лемон inetd. все демоны залускались 80 премя нзчапьной lЗrpузки и работали непрерывно (точнее, БЛОКИрОRa.fJИСЬ в ожидаНИll работы) Со временем в систему ВВОДились все I-ювые и li08bIC демоны. и.х появилось столько, что Н3tJали возникать проблемы с ПрОIl]НО дите..rlьноетью. В отвеТ спеuиаlJНСТЫ университета Беркли разработаJШ inetd  демон, отвечаюший за запуск дрyrих демонов по мере необходимости Супердемон inetd стал Talo.'11M популярным, что теперь e,ro включают 80 все основные версии UNIX, а большинство новых демонов работает под ero контролем. Систе"'lные администраторы полжны быть хорошо 3HaKoмы с uелъrм рядом демонов: либо потом)'. что они требуют MHoro ВJ--Лtмания ад.мииистратора. либо потому. что иrpают значительную роль в повседневной работе системы. МНОПIМ пеМОНilМ. J(oTopыe здесь описаны олноi:iлвумя строчками, посвящены uелые разделы в друrих rлавах ;)ТO книн!. Там. [де необхолимо. мы лаем перекрестн ые ССblЛКИ. В НЗЧЮ1е этой rлавы мы познакомим tJитателе'Й с парой otJel-lЬ важных системных леt.IOНОВ (init и cron), 3 затем перейдем к рассмотрению демона inetd. Потом мы вкратие опишем большинство демонов, с которыми системному администратору, скорее Bcero, придется CiОЛКН}ТЪСЯ при работе 11 четырех наших тестовых система". 28.1. Основные демоны Демон init  это первый проиесс, который запускается после началыюй Jаrpузlo.'11 системы. и во мноrИХ отношениях это самый важный демон. 011 вcerna имеет IfДеНТI-!ф1fкатор проиесса I и ЯRЛяется предком всех ПОЛhзова тельских и почти всех системных процессов. Во время наtJ&lЫIОЙ заrpузЮ1 демон init либо переводит систему в ОЛНОПОЛЬЗ0вате!IЪСЮIЙ режим, либо порождает иmерпретатор команд ИЛЯ чтения стартовых cueHapllCB. Korдa система заrpужается 8 ОДНОПОIЬ30Вtпе.-rь ском режиме, лемон illiL IIttЧИ1lзет штать CTpтOBыe сuенарии после TOI'O. J(ЗJ( ОЛНОПОШ.Jовате.1ЪСКШ1 ItHTepnpel.3Top J(OM3Hll завершается нажатием IVI,НШШ <ClrlD> . После обр.,ботю{ ф;Н1ЛОВ -Jaпуска демон init обрашается к фаилу ОНфlПураШflf (j<tcjll}'tab, /etcjttys IIЛИ jetcjinittab, в зависимости от СlIстемы) и получает оттулз список портов. через которые следует ожилатъ вхола в систему. Демон init аJ(ПfВIIЗl1рует -эти порты и порождает лля J(ажп.оro из 11ИХ проиесс getty-. Если порт открыть нельзя, демон init периодиtJески вьщаеТ на системную консоль сообшения. пока порт не будет открыт или УД&lен из списка а....,.1IвНых портов. 0' Поdробnее о порпllJХ ТТ>. рассказывается в .Jлаве 7 В старых системах управление теРМИНа.!IЫIЫМI1 110рТ3МИ было освоиваЙ j:-шзчей aaMI-fН1Iстраторов. Сеrодня терминалы ЯIiJIЯIOТСЯ реликтами былой эпохи. Пользователи реrистр"руются в системах по сети npll помоши таких демонов, как rlogind. telnetd и sshd. Онер;:шионная система Solaris является ИСЮIючсиием из правила (СМ. параrpаф 78). r лово 28. процессыдемоныы 863 
 Дr:мон tnlt, кроме TOro, выполняет довольно неприятную задачу: изrоняет еще живые лроцеССЫЗ0мби, которые скапливаются в системе. Роль демона ,пи в этом проuессе описана в параrpвфе 4.2. Останов систеМЫ осушеCТВJlяется путем передачи демону inlt соотпетст вуюшеro сиrнвлв (обычно это SIGTERM), который звстаRПяет ero перевести систему в о.пнопользовательский режим. Это последкяя операuия в боЛЬШИН стве сuенариев останова. Демон init иrpает настолько сушественнуЮ роль в работе системы. что в случае ero зависания инициируется автоматичеСJ(;)Я переэаrpузка системы. В балъшинстве. современнъlX систем демон init подперживает раЗЛИ1.Jные "уровни въmолнения", на которых ero можно заnyскать. Уровни выполнеНllЯ опредешпот. какой набор СиС1'еМНblX ресурсов нужно зanействовать. Обычно есть семь ил:и восемь уровней: от О до 6 пЛЮС уровень <.s" (ОДНОЛОЛЫО"И тельский режим). Описания характеристик уровней выполнения содержатсSl в файпе /elc/iniltab. Подробнее о файле ;"inаЬ рассказывоетел в lIара,рафе 7.8. Начальный уровень выполнения назнаtJается (передается в ВJ..ше apryMIIТi.1 командной CTPOI(14) демону inil системным заrрузtJИКОМ. Если задан уронень ((5". демон Inlt ОДИТ в Однопользователъский режим. В противном слуtJэе он Haoднт в файпе /elc/lnittab запнси, соответствуюwие указанному уровню. и выполняет содеРЖaI..lUIеся в них KOMaНJIЫ. Для изменения уровня выполнения в процессе работы системы исполЬ зуется команда lеliпll. Налримср. команда lelinil 4 заставnяст демон inil перейти на уровень Вblполнения 4. Самый полезный арryмеит команды telinit  q. который заСТ8RЛЯет демон init повторно прочитать фаrcl /elc/inlttab. в тех системах, rде стартовые сuенарии хранятся в каталоrе /etc/inll.d и имеюТ ССЬUIки НВ каталоrи /etc/rcX.d, перевод демона inil на определеннын уровень вызывает выполнение сuенариев из соответствующеro каталоrа (fetc/rcX.d, rде Х  НОВЫЙ уровень выполнения) с арсументом star! Сuенарии, связанные со старым уровнем выполнения, выполняются с apryмeНТOM stop. Это позволяет упорядочмть заПУСI<: и останов системы. БО.!lее подробное описание Ш!.нноrо механизма приведено в параrpафе 2.4. во FreeBSD цемону i"it можно нать указание переtJитать СБОЙ }l1раW1"lЮ ШИЙ файл. Дл Этоro посылаеТсЯ снrнал отбоя (SIGHUP). Поскольку демо'" Inil Bcerдa имеет один и тот же идентификатор nроцесса. можно просто вьmpлнить командУ kill HUP 1. Не забудьте указать арсумент HUP, иначе система зависнет. o 28.2. Демон cran: планирование команд Дмои cron отвечает за выполнение команд по установленному rpафику. Он обрабатывает файлы с расписанием зanач (сrопtаЬ-файлы). созданные как пользователями, так и администраторами. Демон иоп часто применяют в anминистративиых uелях, например Ш1J.l управления учетныиИ и журнальными файлами и ежеl1невной ЧИСТ1Ш файловой системы. Этот демон настолько важен Ш1я системных администра торов. что мы ПОСВЯТИЛИ ему целую rлаву 9. 864 Часть 111. Разное 
28.3. Демон inetd; управление демонами Демон inetd упраRЛЯет .!Iрyrими демонами. Он запускает немоныклиенты, коrда для ни.'I( есть работа, а после выллненияя задаЧИ позволяет П\f ТИХО завершиться. Пемон inetd работает то..lъко с теми l1емонами. которые оказывают УСЛТИ по сети. Д,1'Я Toro чтобы установить. не пьrrается JП1 "''Тo нибудь по.'1)'ЧlfТЪ доступ К одному из ero клиентов. демон inetd контролирует T реДJ(О активизируемые сетевые порты, которые обслуживаются обычно безде.'lЬНII чаЮШJfМИ демонами. Korna устанавливается соединение, l1емон ineld запускает соотвеrств)1ОШИЙ l1емон и соеl1иняет каН3..1Ы ero crdHnapTHoro вводаВЫВО.!1a с сетевым портом. Это правило следует yqитывать при написании l1еМОНО8. совместимых с inetd. Работа Ht'KOTOpbIX демонов (например. тех, \ПО связаны с NIS If NFS) основана на протоколе RPC, который был разработан и реаЛI-!Зован компаНltей Suл в качестве механизма cOBMeCТHoro IIСПО!1ьзования ИНфОрМdШН'1 в раСllрнеленной сетевой срс:де. Нзнаttения",1И портов .пля R PC11eMOHOB управляет демон portmap (иноrда называется rpcbind). 1\1 ноrие 11емоны MOryт использоваться либо традиUlfOННЫМ способом (т.е. они запускаются однократно 11 работают 110 ВЫЮ1l0чения систе'>1Ы), либо под KOmpOJlef демона inetd. Далее в этой rлаве мы приняли следующее условное обознаение: ес.'ш деюн совмесПfМ с 11емоном inetd. он помечен знаком Ф Конфиryрирование демона inetd Для Toro чтобы опре.!IСЛlrть. каКlfе сетевые порты H жно КОl'lтрО:ПfрОВ<lТЬ. демон inetd \Н1ТЗе1 фаiiл конфиryрйUlIII lобычtю /elc/i.leHJ.t'OIlr. а I-IIЮf.ilcl /usr/etс/iпеtd.сопr итf /etc/servers). Ero формат ОШIШIКОВ для всех ппаТфОР\I. Приве11ем пример: ftp st.r:eam сер nowa':" t root /usr/sbin/ftpo ftpd !:elnet. stream tep лоwа 1 r. root. /usr/sblC1/t:e.:netd telnet.d shell st.ream Сер nowai t root iu.sr/sbin/ rstld rshd finger s'[ream '[ер nowai r: gues'[ /usr/зЬiп/f':"nqеrd f1.nqerd Ьооср dgrarn udp ....а.!.!. root. /usr/sbin/boor.pd boor.p E pop2 stream tcp nowai 1: r:oot. /u8r/5bn/poppec popper pop 3 5t.ream сер nOWal ;: root. /usr/sb1.n/popper роррес mountd/l :st:ceam rpe!tcp wait. root /us r /5Ьп/шоun!:d mauntd rnountd/l dqcam rpe/uop wai t /usr/sbln/mounr.d тоипо:а Первая колонка СО11ерЖIIТ ИМЯ сервиса. Эти нмена преобразуются D lIомера портов нз основе данных. содержаШIfХСЯ в файле /etc/sen.ices (ДЛЯ LIDP " TCPcepB"COB) Ю1И .емоном portmap (для RРСсервисов). RPCcep-- висы можно ОТЛИttlПЬ по формату имени UJrLЯ/нш.fер и оБОJн3ttению rpc в третьей КО,,10Нкс. В приведенном выше примере RРСсервисы указаны 8 дв}х после!IНИХ строка,х. Во второй колонке определяется тип сокета, которым будет пользоваться сервис: stream Ю"ПI dgrarr.. Сокеты типа st.rearr, исполь-зуются с TCPcep ВИС3\fII (opHHTHpOBaHHЫMII на установление соединения), а сокеты типа dqram  с UDРсерI>нсани В третьей ко;юНке указывается протокол об"-Jена. которым пользуется 113HHbItl серlШС. допустнмыe типы перечислены в файле protocols (оБЫЧIЮ он на.,,,\О11ИТСЯ .в том же каталоrе, что и фаЙ.'J КОНФlfrураUIfИ демона шеtd) ПОЧТII r лова 28 Процессыдемоны 865 
всеrла в этой колонке указывается тип tcp или udp. RРСсервИСЫ предваряют тип протокола обозначением rpc/ (СМ. в примсре rpc/tcp R rpc/udp). Если описываемый сервис может обрабатывать олновременно несколько запросов (а не завершает выполнение после обработки одноro запроса). 8 ttствертой колонке нужно ставить ключевое слово wai t. которое Не Даст демону inetd постоянно порож.дать новые экземпляры лемона этоrо CepHI-ICа. Данное средство применяется ютя CepBI-!Сов. которые обрабатывают множество мелl<:ИХ запросов. Если опция wai t не ПОlIXоmfТ. то в этом поле НУЖIЮ поставJПЬ ключевое слово nowa i t. В пятой колонке указан пользователь, от имени KOTOporo должен выполняться данный демон. Если вы не доверяете той или иной протраfl.fме либо знаете, что она по рождает проблемы, связанные с безопасностью системы, можете выполнить ее от имени непривилеrированноrо пользователя. ЕстеС1'венно. это rолится только для демонов, которые не требуют привилеrий пользователя root. В нашем при.мере лемон fingerd выполняется с праnами пользователя guest. В остальных полях лаются полное путевое имя демона и apryMeHTbI ero командной строки. Первым apryмeHТOM 8сеrда должно быть сокращенное имя проrpащfы. Это не особенность лемона inetd, а трaдиuнонное Wfя UN IХ соrлашение. Пользователю обычно не приходится с ЭТИМ сталкиваться. поскольку все скрыто в интерпретаторе команд. Файл services После добанления HOBoro серRиса в фаЙл inetd.conf. возможно, ПОШШо бится ввести ero и в файл services. Этот файл обычно находится 8 том же каталоre. что и фаил inetd.conf, и используется несколькими стандартными библиотечными функциями, которые преобразуют имена серВИСО8 в номера портов. Например. если ввести команду %: t81net anchor 8Шtp то в файле services будет произведен поиск номера порта. соотвеТС1'в}"ющеrо SМТРсервису. В большинстве систем Бее самые распространенные сер8ИСЫ на момент поставки уже сконфиryРИРОВ<iНЫ. Если потребуется добавить еще несколько сеРВИСО8, нужно будет просто отрс:.лактировать файл services. Файл services исполыуется только для сериисов TCP/IP. ДЮ\JJOrl1'fШН.! информаlJИЯ lL'lЯ R РСсервисов хранится 8 отдельном файле конфиrураUНI1 (оБЫ'IНО ЭТО /etc/rpc). Ниже ПРИВel1ено несколько строк из файла services (размер KOToporo ОКQЛО 70 СтрОК): tep l/tcp echo 7/r..cp echo 7/udp smt.p 25/tcp mail time З7/tер t.imserver time 37/udp timserver rlp З9/udр resource пате 42/tcp whois 4З/t.ср пспате t тср port mu1 tiplexer resource locat10n IEN 1::.6 866 Чость 111. Розное 
Формат СТРШ<l1 такои: портl "l'ИЛ лсевдо.ниNы' коииен'rарий Сервисы 8 файле обыtlНО упорядочены по номерам, но это не обязателыl.. В поле uJ,lЯ указывается имя сервиса (которое используется в файле inetd.conr). В поле порт "JначRТСЯ' номер порта, контролируемоrо сервисом. ECJlli сервис работает под упраалением деТ\ЮН8 illetd. то это тот порт, который io:OIlтролJt руется дет-.шнОм inetd.. Поле тип обозначает протокол, которым IIолыуется данный сервщ.: (II! пра","Тике это осеrпа tcp или udp) [сли проrpамма может работать It по протоколу ТСР, и по протокоЛ) UDP, неоБХОДlfМО включИТЬ строку Л-'lЯ кзждоrо IH ЭТl1Х протоколов (как 8 записи лля сервиса time: СМ. ПРlfмер). Поле IlсевdоиUJ,'bI содерЖltт дополнительные имена серlШСi.t (например. сервнс whois можно IICKaTb по имени nicname). Перезапуск демона iпеtd Изменения, BI.leceHllbIe 8 файл конфиryраuии, вступят в силу лишь ПОCJlе Toro, как демону inetd будет дано указание перечитать фаЙл Это делзется путем передчи этому демону сш.нала отбоя. Послан сиrнал, ПОДОЖДlпе минуту и прооерьте. нет ли в журнаЛЫIЫХ Ф(ii:ulах сообщенltlt об ОШltБЮl\. связаШ-lЫ'ti с BIICCCllllbIMI1 измененияТ\ш (демон inetd реrистриrует ОШl1БКlt R системе Syslog). Можно попроБОБClТЬ связаться с IIQ8ЫМI-I ССРВНСil.мlt И про верить, как они работают. o Подробllее о cucтeJ,e Syslog расскаJывает('я в i!лаве //. Защита демона iпеtd [Ьр] Пемон inctd отвечает 13 функuионирование множества распространенных сетевых сервисов, ПО::ПОМУ он HrpaeT важную роль с ТОЧКИ зреliШI безопас ности системы. СIJедует убедиться в том, чТО в фаiiле illetd.cunr акпtвизltРО ваны только действительно необходимые и проверенные сервJ.lСЫ. В новоЙ сltсп:ме ПОЧТlI Iыверняка придется отреДi3КТllровать JTOT фаtlЛ. чтобы отключить ненужные или нежелателъные сервисы. Но паже после эТоrо рекомендуется ПОllОЛIIIПh демон ineLd пакетпм ТСРо60лочек, lIаписаНIIЫ1 ВИТСОI Венемз. Этот пакет реrИСТРllрует осе попытки устаноаления соединениЙ и оrpаНlfчивает доступ к демонам н зависимости от Toro. кто именно к ним обрашается. Описаннс lIaKCTit приведено в параrpафе 21.7. В Н p UX демон ineLd IIMeeт встроенные средства, наПОМlfнаюшие ТСРобоЛОIIКИ. Демон провсряст файл /"IIar/adlll/inctd.sec и определяет, кому р83решеl.JО ПОДJ.:Jlюч.ПhСЯ к данному KOHKpCTH01'ofY серIШСУ. Если !leMOH запускается с флаrом I. оН также реПfстрирует Бсе запросы на УСТНОЮlение соединений. и нструкuии. касаюшJtеся конфиryриропзнltя средств Jашиты системы HPUX. приведены в параrpафе 21.7. Номера портов Назltзчаются не в IlpOH.JBOJlbtIOM порядке. Вес компьютеры ДО;ТЖI-IЫ СОl"Ла совать вопрос о том, какие сервисы за каЮ1МIt портами за....-рсН]Jяются. В IlрОПfВНОМ слу<,ае запросы будут постоянно идТИ не на те порты. Создавая CCpBIK сllсuи.dлыlo ДНЯ свосй системы. Пf1НС80ЙТС ему большой номер П0рта. I(OTOpOl"O еше нет в файле sernces. r лово 28. процессыдемоныы 867 
Демон portmapjrpcbind: преобразование номеров RРСсервисов в номера портов ТСР и UDP Демон portmap (в наСТQяшее время называется rpсЬшd во МНОПIХ системах  спасибо компании Sun!) преобразует номера RРСсерDИСОЯ 1I номера портов TCP/IP, которые контролируются их серверами Коrда запускается PRCcepвep. он реrистрирует себя с пОМОЩЬЮ демона port mapjrpcbind. указывая поддерживаемые cepBHcы. 8 также используемый ПОРТ. Клиенты запрашивают демоН portmap/rpcblnd и ВЫЯСНЯЮТ, как связаться с соответствующим сервером. Такая схема позволяет устанавливать соответствие между номером порта и СИМВОЛьНЫМ именем сервиса. Это уже nринципиально ИнОЙ уровень абстракции, более высокий, чем ислользуем-ый в файле sel"\'ices, но вместе с НИМ ПоЯВЛЯЮТСЯ дополнительные сложности (и проблемы безопаСНОСТl-I), тоrда как реальных проблем он Не решает. Миоrие RРСсервисы фз"-'ТичеСЮ1 запускаются .аемоном inetd. Таким образом, создается ве один, а lIR<-1 урOlШЯ KocBeHHoro Rызова nporpaMM Если демон portmap/rpcblnd заШ1сает, все связанные с HH' службы (включая iBetd и NFS) ДОЛЖНЫ перезапускатhCЯ. На праJ...'Тике зто OJHa1laCT перезвrpузку системы. Для Toro чтобы демон inetd обрабатывал Rрсзапросы правильно, демон portmap должен быть запущен раньше, чем inetd. 28.4. Системные демоны Ряд системных задач, например упраалеllие виртуалыlOЙ памятью 11 синхронизаuия дисковых К:Jшбуферов, нахОДIIТСЯ в ведении ДеМОНОВ. с1 111: ядра. Системный адМlIнистратор не может вмешиваться в работу ЗТЮ. демонов. Демон замещения страниц РеаJтизаuия данноrо демона н ero ФУНКUИОН1IРОБ3Нllе заВ1СЯТ от OHKpeT ной системы. Он называется pageout в Solaris, vhand в Н P UX. kpiud в Red На! и p8gedaemon 80 FreeBSD. Этот Демон ЯRЛЯется частью систеМЫ управлешtЯ виртуальной памятью. При обращеНJПf к страНИl.lе ВllрТУа..'1ЬНОЙ памяти систе-I\.1а проверяет УdБJlJШУ и определяет, находится :ш страница в данный момент в оперативной памятн. Еспи ее там нет, то 8ьшается сообшение об ошибке 11 вызывается демон замешения, который переноснт странниу в память иJ об..JaСПI подкачки. [С;III свободных физических страниц нет. демон освобождает fecтo. переПlIСЫПiН( какуюнибудъ странив)" в раздел подкаllКИ и koppeKT(-1РУЯ соответстнпОlUllе элементы таБЛIIUЫ cтpaHHU o Пооробнее о вuрmуаДЫlOи Ilа."IЯflJU раt.:СКQЗывается 8 парарафе 25.3. Демон подкачки Этот демон называется wapper во FreeBSD и HPUX н kswapd в Ij11tl Korn<l одновременно работает MHoro проиессов, система TpaТl.fТ массу времени на обработку ошибок. ВОЗЮ1каlOШ1lХ нзз::t отсутствия своБОДllhl'\ страниu. потому что каждыЙ проuесс использует определеиное колиrеспю страниu. к KOТOpЫ1 реrулярно обращается. Тш.:ая переrpузка системы управлеНllЯ виртуа1ЫIOИ памятью серьезно ухудшает производитеЛЬНОСТI. системЫ. 868 ЧОСТЬ 111 Розное 
Демон ПОДК:iЧКI-I КОНТРО.'1ирует количество вышеуllоfянyrыJl: ошибок. которое прямо пропорuJlонi1лыio числу обрашений к памяти. Ес.'1И оuНtбок слишком MHOro. демон начинает сбрасывать в область подкачки uелые проuессы. Вытру..кс-нные проиессы полностью удаЛJlЮТСЯ из физической памяти и не 8ЫПО;IНЯЮТСЯ в течение сравнительно д..тrительноrо времени (порЯ1lка нескольких секунд). Де!l.ЮН подкаЧЮI ПРОдолжает уда.,'1ть npoueccbl из оперативной памяти до тех пор, пока частота страничных ошибок не упадет до прие!l.шсмоrо уровня. Механизм подкачки был изобретен в те времена. коrла опер8ПIВI13Я память была относительно дороrой Ero полезность в современных КО'ШЬЮ терных системах сомнительна. Тем не менее он попрежнему ПОд.!lерживается в большинстве систем Демон синхронизации файловых систем Демон синхронизаuиJ.t каждые 30 ceJo,,:YHD RЫПОJ1няет системный выовB sync. которЫЙ инишrnрует 1аписъ на диск всех МОдИфИUllрованных дисковых 6.'10'"'08. ВКJlючая суперблоки фай;rоных систем. таблиuы индексных лескрИП торов и буферJнованныc блоки данных-. Такая операuия МИНJlмизнрует ушерб. наносимый крахом системы. o Поdробuее о (\'flерб.IOКа.х фаiаовы).:: cиcтe.' ра(хказываетt.:я fJ параlрафе 8.3. В большинстве СИсте\.f этот neMol.1 называется upd31e. но n Н p LI'X 011 носит IIМЯ ")'IICer, а н Sоl.dПS  r",nuh. 28.5. Демоны печати Системы печатИ BSD и S}"Ste-m \' располаrают собствеIO--lъlМИ СС,,",lействами демонов. реа!НlЗУЮШИМИ функции печати. Иноrда семейства "скрешиваются" npyr с лруrом. а иноrД<l работают параллелы1О в одной системе. Ipd: управление печатью в ВSDистемах Лемон Ipd отие t lзет 13 MCXHНlIJM печаПI в BSDcItCTeMax. Он прщ'шмает задания от 11O:lьзователеЙ If lюрожпяет ПрОllеССbl Д)lЯ выполнения pealbIlbJX операШН1 lIеЧ3Т1t. КРШ,lе тoro, демон Ipd отиечзет за переСЫJl'"'У зan.аЮП1 печати в удаленные систе,.fЫ 11 получение заданиЙ из них И ноrда :ПОТ деМQI! зависает и требус-т РУЧI юrо перезапуска. o Более "оdробuое ollu{"auue де.Юllа Jpd сано в lJарарафе 23.3. Ipsched: управление печатью в АТТсистемох Дс\.юн Ipsched  .зто А ТТ верСIIЯ деЮI-Ш IIОСТРОЧНОllеЧlПilOще(.о npllH тера ОН принимает задашtя из проrpзммы Ip И стаВIfТ их в очередь на печать Коrда вужное устрш-:,ство освобождается, демон Ip!o.clled ПОроЖЛйет проиесс. KOTOphll1 \'праН.1Яет печ.dТЬЮ. 0" Лоdробuое ОllllСйlше деяоuа lpclled .\fО.ЖIIО uаiтш в lJарарафе 13.4. Функция :sync ПрОСТО пает УКa.JЗ.ние записывать эти блоки на диск но не raраю I'IP)/CТ. ЧТО запись буде', )/спеШl-fО завершена. r лово 28 Процессыдемоны 869 
(Ьр] rlpdaemon: печать из BSD в HPUX Демон rlpdaemon позволяет демону Ipsched 8 HPUX прннимать запросы на печать из систем ВSDrnпа. Подробно ЭТОТ демоН рассматривается в паРaI1'афе 23.5. 28.6. Демоны NFS Следуюшие дeMOНhl ВХОДЯТ в состав сетевой файловой системы  N FS. Здесь мы дадим лишь беrлое описание их функций, а лодробную информацию можно НаЙТИ в rлаве 17. nfsd: файловый сервис Демон пfsd работает на серверах и отвечает за обработку заПРОСОБ, поступающих ОТ клиентов N FS. В некоторых системах он называется rpc.nfsd.. В большинстве реализаuий N FS демон nfsd является частью ядра. "замаскированной" под проuесс из соображений ПРОСТQТЫ планирования у этоrо деМОНа есть один apryMeHT  КОЛJ..fчеСТ8Q порожлаемых экземпляров caMoro себя. Правильно выбрать количество экземпляров ДОВОЛЬНО СJlОЖНО (см. параrpаф 17.2). ер mountd: ответы на запросы монтирования Демон mountd (иноrда называемый rpc.mоuпtd) принимает от потенци альны>: клиентов N FS заПрОСbl на монтирование файловых систем. Он отвечает за проверку на.пичия у каЖДQ("Q клиента разрешения на монтирование З8ЯШ1енных каталоrов. Для тoro чтобы выяснить. какие запросы правомочны. демон moontd обращается к файлу /etc/exports. amd и automount: монтирование файловых систем по запросу Проrpаммы amd и аutоmоuпt  это аВТоматические монтировшики NFS. которые. прежле чем смонтировать файловую систему, ЖДУТ. коrда процесс попытается обратиться к ней ВПОСJlедствии, если к файловой системе не было обрашения в течение определенноrо промежутка времени. демоны демонтируют ее. Автоматические монтировшики очень удоБны в КРУПНЫХ орraнизаuиях. Korдa десятки и сотни файловых систем совместно используются по сети. эти демоны повышают стабильность сети и уменьшают сложность ее конфmyрирования, так как Все компьютеры в сети работают с одними и теми же файлами конфиrypаuии пемонов. Подробнее об ЭТИХ демонаХ рассказывается в параrpафах 17.6, 17.7 н 17.8. lockd и statd: управление файломи блокировки NFS Демоны Iockd н statd (называемые также rpc.lockd и rpc.statd) всеrда работают в паре. Демон lockd отвечает за БЛОЮiРОВ"'У файлов NFS. Де,юн statd позволяет процессам контролировать СОСТQЯl-ше компьютеров, на KOTO рых работает N FS. Он используется демоном lockd для прннятия решения о префиlCС "фе" означает. что дaкнъrA демои использует протокол RPc. 870 Часть 111. Розное 
том. Каrда следует произвести папытку устанамения связи с удаленным компъютером. biod: кэширование блоков NFS Демон bIod (называемый nfsiod во FreeBSD) отвечает за кэширование запросав чтения и записи на машинахклиеlПах N FS. Демон выполняет буфериззuию как с опережаюшим чтением. так и с отстающей записью, 'ПО значительНа павышает производительность сетевой файлавой системы. Подробнее о демоне biod росскозывоется в пОрО2рОфе 17.3. o 28.7. Демоны NIS Несколько пеманов вхадят в состав систем управления административ ными базами ланных NIS н NIS+. Службы NIS и NIS+ описаны в rлаве 18. Несмотря на схожесть названий. ЭТО' разные. не связанные дрyr с дpyrOM системы. ypbind: поиск серверов NIS Демон ypbilld работает на всех машинахклиентах н серверах NIS. Он отвечает за паиск сервера NIS. на которыЙ мажна напраRЛЯТЪ запросы. Ca'W веман не обрабатывает запросы. а просто сообщает клиентским nporpaMMaM. к какому серверу обрашаться. ypserv: сервер NIS Демон ypserv работает на всех серверах NIS. Демон урое... лрннltмает запросы ОТ машинклиентов и атвечает На НИХ. О канфитурировани-и систем, в которых работает лемон ypserv, рассказывается . параrpафе 18.3. ypxfrd: пересылка баз данных NIS Демон ypxfrd пересылает базы .данных NIS на подчиненные серверы. Подчиненный сервер иницинрует пересылку команлой ypxlr. Как только база данных на rлавнам сервере изменилась. она должна быть немедлеНtlО разослана на все ПQДЧ'инеНI-{Ые серверы. rpc.nisd: сервер NIS+ Деман rpc.пisd  эта каллеra демана ypsen. Он далжен работать на всех серверах NIS+. При вызове с опцией B демон rpc.nisd автоматически порождает проuесс rpc.llisdrcso1v. КОТорЫЙ позволяет пользоваться службой DNS через систему NIS+. Службо DNS описывоется в i!Лове 16. o 28.8. Демоны Internet Мы апределяем катеrорию "деманы Jntemet" ачень свободна. ПОДраз)' мекая деманы. которые ШlЯ обрабатки запросаn пользуются rnternetrтpaTa колами. Б реапьности большииства пеманав Intemet оснавную часть времени тратят на обслуживание Лакальных запросав. r ЛОВО 28. Процессыдемоны 871 
ф talkd: сервер прorраммы talk Демон taJkd обрабатывает запросы на устанОБ..1ение соединений. ПОСТУ паюшие из проrpаммы talk. Получив запрос. демон talkd соrласовывает с дрyrим компьютером порядок устаНОR.'lения ceTeBoro соепинения между двумя пользователями, ВЫnОЛНЯЮШИМИ проrpам1-.fY talk. Существуют ЛБе разновидности nporpaMMbl talk: первоначалЫlая (порт 517) н новая. нз версии 4.3BSD (ntalk. порт 518). Проrpамма лtаlk Не совместима с пре.J1ЫДУШИМ-И версиями и не принимает запросы Н8 YCT8HOn Jlение соедИнений ОТ клиеl-lТQВ talk_ ХОТЯ система 4.З8SD была въmушена в 1986 r.. мноrие системы до сих пор используют старую версию проrpзммы talk (15 пет спустя!). ф comsat: уведомление пользователей о поступлении почты Демон comsat отвечает за увепомление ПО.'lыователей о ПОС1УПлении НОВОИ почты. Получив сообшение о наличии для пользователя новой почты 11 убедившись в том. что файл /etc/utmp подтверЖдает фа' реrистраuии этоrо пользователя в системе, демон cumsat проверяет. разрешено ли уведомлятЬ ero о наличии почты КОМ3ЩОЙ ЫП у.о Если разрешение имеется, демон comsat отображ8е1 начало почтовоrо сообшения на термина.,lе пользователя. В Ha СТQяшее время большинство пользователей читаеТ почту на персонапъных компьютер8.Х с ПОМоШЬЮ почтовых клиентов, работающих по протоколу IMAP или РОР. Проrp3ММ3 comsat не имеет к этому никакоrо отношения. sепdmаil: транспортировка электронной почты Задачи Проrpаммы sendmail включают прием сообщен:иА от пользонателен и удаленных компьютеров. подстановку адресов. раскрытие псевдонимов и пресьL'ТКУ почты по сети I nLemel. Это очеНь важный и очень сложный демон. 1l0дробно ОН рассматривается в fлазе 19. sпmрd: сервер удаленною управления сетями Демон snmpd отвечает на 18ПрОСЫ. IlOсьшземь(е по протоколу SNMP. Этот протокол разработан с uелъю стандарпнаuин некоторых общих операций управления сетями. Он описан в параlрафе 20.7. rwhod: ведение списка удаленных пользователей Демон rwhod  это пежнток прошлоrо (Юе IT.). ОН собираеl информаuию о ПОЛЬ308Зтелях. lареПiСТриронавшихl.:Я на.. компьютерах сеПt Демон принимает информаuню на локалыюJ.i системе и осушеСТRЛяет широковешаrельную рассылку данных. Получая It нформаuию с пр ПIХ компьютеров, демон ПрОl3еряет ее достоверность, а затем помешает u фаЙ." /usr/sрооJ/rwhо.и..Wl"ОJftlЬJOтерQ. rAe последний кш.mонент  имя KOf-.mыотера. Считается, Ч7О название "biff" расшифровывается как "bark iI from found" (raвюlИ, еСlII) пришла почта). На самом леле так звали собаку ХаЙ,Ци Штепнер (Heidi Stettner), которая 8cerna лаяла прИ [ЮЯRЛении ПQЧ7алъона. Как рассказал Ксрк МаККУЗliК, проrpзммы comsar н ЫП Написал БИJU1 D.жой. коrда Хайди Штcтrнер flрИШflа к нему и сказала: "Моя собака лает при появлении почта.l.ЬОН3. Почем} я не мосу получить такую :же функuшо 0./ электронной поЧlЫ?" Название "СОЛ1sat" расшифровывается как "communical.ion satellitc" (спутник связи). 872 Чоcrь 111. Розное 
пославшеrо данную ИНфОрМ8WIЮ_ Этой информацией пользуются nporpaMMbl rwho и Пlрtimе. По умолчанию демон rwhod осушеСТ8Ляет широковещательную передачу каждые три ПlНуты. поэтому ннформаuия. которую сообшают nporpaMMbI rwho и Пlрtirnе. верна лишь приБЛИЗJfТельно. Демон rwhod работает крайне неэффективно. поэтому. если не хотите ухудшить пропускную способность сети. ero лучше ВЫI01ЮЧIlТЬ. ф ftpd: сервер пересыпки файпов Демон rtpd обрабатывает запросы. поступаюшие из nporpaMMbI rlp. Во мноПf'< орrаНИ13UНЯХ зтот пе,..юн отключен  либо потому. что без толку "ПОЖllрает" ресурсы. либо по соображениям безопасности. Демон rtpd может быть настроен так, ЧТобы все пользователи 1Iмели право пересылать фзf1Лы в систему и копировать файлы 113 нее. o Подробнее о ae,\fOHe ftpd росс/{озывоется в 1l0рOlрофе 22.б. ф papper: простейший сервер пачтовоrо ящика Демон popper реализует протокол РОР. Этот протокол используется в неUNIХсистемах Ш!Я приема электронной почты. ф imapd: высококлассный сервер почтовоrо ящика Пемон imapd реализует протокол (МАР. ЯRЛяющиИСЯ более мошной альтернативой протоколу РОР. Демон позволяет пользователям персона..'ТЬНЫХ KoтыoтepOB (или UJХпользователям, которые работают с почтовыми юmентами, поддерживающими протокол [МАР) получать доступ к своим почтовым папкам, храняшимея на UNIXcepBepe, из самых разных мест. ф rlоgiпd: сервер удаленной реrистрации Пемон rlogind отвечает 33 удаленную реrистраuию в системе_ Будучи вызванным из демона inetd. он пытается аВТом8тlft.lески вyrентифицнровать удаленноrо ПО:lьзовате..1Я, исследуя содержимое файла /ctc/hosts.equi\l 11 пользовате...'1ьскоrо файла  /.rhosts_ ЕСЛ1l аyrентнфикаuия проведена успешно, пользователь вхошп в систему непосредственно. В противном случае дeM(НI rlogind выполняет rтporpSMMY login. которая запрашивает у пользователя пароль. Изза упрошенной схемЪ! аутентификаuии демон rlogind считается небезопасным. Подробнее об это r080ритсЯ в параrpафе 21.6. ф tеlпеtd: еще один сервер удаленной реrистрации Демон telnetd напоминает демон rlogind, но пользуется протоколом TELNET. ЭТОТ протокол позlIOЛЯет двум компьютерам (клиент)' и сервер)') соrлаС08ывать порядок управления потоком данных и работу в дуппексноr режиме. Для низкоскоростных И малонадежных каналоВ передачи зто БО:Iе предпочппе.1ЬНЫЙ выбор, нежели демон rlogind. Проrpамма telnet передает пароли в незашифрованном виде по сети, поэтому использовать ее не рекомендуется. ПроrpаММ8 telnet поддерживается не только в UNIХсистемах r r.OBO 28. Процессыдемоны 873 
ф sshd: безопосный сервер удапенной реrистрации Демон ..hd функционирует подобно демону rlogind, но все да иные (В том числе аyrентификаuионные) передаются через зашифрованный канал. Под держивается множество a.rrroРИТМО8 шифрования. В связи с тем ЧТО COBpe мениая среда In[ernet весьма небеЗQП8Сна. доступ в систему через Internel необходимо разре-шзть ТОЛЬКО -лому демону I а демонам rlogind и tclncid  запрешать. Подробнее о демоне sshd рассказЫЩUlОt:Ь 8 параrpафе 21.8. ф rshd: сервер удаленноrо выполнения команд Демон rshd обрабатывает запросы на удаленное выполнение команп. постynаюшяе из nporpaMM rsh. и rcmd Процесс аyrеtfТИфИК8UИИ, Jшициируемый З11tМ neMO'IOM, IlаПUМЯllает действия демона r1oglnd. за одним исключением: если автоматическая аyrентификзuия не срабатывает. запрос ОТК1Iоняется без прс:достамения пользователю ВоЗМОЖНОСТИ указать пароль. Демон rshd  это. помимо 8cero прочеrо, еше и сервер для проrpаммы удаленноrо копирования rcp. ID rexecd: еще один сервер удаленноrо выполнения команд Демон rexecd напоминает демон rshd. 110 не выполняет 8ВТС1МЗПI'lес,,"'УfO аyrентифнкзuию. Все J8ПрОСЫ ДOJТ.JКHЫ СОПРОRождатьси именем пользователя и паролем. Этот сервер исполыовался в первых сетевых nporpaMM8X. а затем вышел из широкоrо употребления. ф rpc.rexd: третий сервер удаленноrо ВЫПолнения команд Проrpзмма rexd  демон протокола RPC. Она применяется не часто И изобилует просчетами, чреватыми нарушением безопасности. В файле KOH фиТ)'раuии демона inetd строку запуска проrpзммы rexd следует превратить в комментарий. Демон rexd исполыуется командой un. которая перестзнет работать, если ero отключить. rouled: ведение таблиц маршрутизоции Демон routed ведет таблиuы маршрутизаuии, используемые стеком протоколов TCP/I Р мя передачи пакетов по сети. Демон routed занимается только динамической маршрутизацией; стаТИчесI01 заданные маршрyrы (т.е. назначаемые командой route) не моднфиuируются Демон routed довольно ПрОСТ J.1 неэффектнвен. поэтому мы рекомендуем пользоваться им только н особых случаях. Подробнее о нем рассказываетея в паJЖrpафе 14.4. galed: ведение сложных таблиц маршрутизации Демон gated понимает несколько протоколов маршрутизаUИlf, в ТОМ ч-ие.'1е и RI Р, который используется Демоном routed. Демон gated служит перепо ДЧ1IКОМ данных маршрyrизашш на языкн разных протоколов и ОТЛичается большой rибкостью. Он, кроме TOro. rораздо ДРУ'.кествеt-lнее относится 1( сетям. чем демон routed. Попробвее о пемоне gatcd рассказываетея в параrpафс 14.5. Называется remsh в HPLJX. 874 Часть 111. Разное 
ф named: сервер DNS Демон namcd  самый популярный сервер доменной системы имен (DNS). Он преобрззует имена компьютеров в сетевые ацреса и выполняет MHoro лрyrиx функuиА. пользуясь распределенной базой данных. которую ведут ero 1<оллеrи в lI.руrих системах. Подробная информация об этом демоне приведена в rлаве 16. syslogd: обработка сообщений об ошибках Демон s)'slogd иrpзет роль коорлинирующеrо центра ДJ1Я сообщеllи.... об оnrибках. 8ыдаваемых системными ПроrpЗММ3МИ и демонами. ПО Toro как была написана проrpзмма syslogd, демоны либо выдавали свои днаrНОСТИllе ские сообшения прямо на системную консоль, либо вели собственные журнальные файлы. Теперь ОНИ переСЫЛ8ЮТ сообшения демону s)'slogd. пользуись библ "!Отечной ФункuиеА syslog. Демон сортирует сообшения в соответствии с праВИЛ8МИ, заданныии системным администратором. 0" Подробпо о системе SJ'slog рассказывается в zлаве / J ф fingerd: поиск пользователей Демон 6ngerd предоставляет информаuию о пользователях, uреrистриро вавшихся в сисТеме. При необходнмости он может сообщить более подробllые сведения об о-т:дельньтх пользователях. Работы у Hero HeMHoro: демон Ппgеrd просто принимает НВОдимые строки и передает их в локальную nporpaMM} linger. Среди прочей ииформаuин о пользователе проrpзммз finger выдает ero реrnстраuионные данные, содержимое поля GECOS в файле /etc/passwd, а также содержимое пользовательских файлов /.plan и /.project. Если система подключена к Intemet. информзuию, выдаваемую проrpзм мой linger. может получить кто уroдно. Демон lingerd оказывает ряд весьма полезных услyr (например. осущеСТ8Ляет поиск в "белых страниuа.'\:" I ntemel). но бессовестные личности пользуются ИМ в своих корыстных интересах. Некоторые орraнизаuии в uелях прелотвращения злоупотреблений отключают демон fillgerd, а некоторые просто оrpаНИЧИRiiЮТ объем выдаваемой им информаuии. Если вы реШШIИ ОСТЗ8JIТЬ демон lingerd, чнсталлируйте текущую ero версию, потому что старые версии плохо соблюдают правила безопзсно сти, чем в свое премя успешно 80СПОЛЬЗQвалСSI знаменИТЫЙ Rирус"чер8Ь". llJ httpd: сервер World Wide Web Демон httpd позволяет Те....ущему узлу стать сервером rnперте-кстовых документов всемирной паутины. Демон Ilttpd МОЖет посылать своим J(JIиентам текст. изображения и звук Подробнее о работе с WеЬстраниuами paCCKa зывалОсь в rnаВе 22. 289 Демоны синхронизации времени По мере Toro как сети Нес СНЛЫlее опутыа!нI компьютерные системы, становилзсь псе более очеВJшноi1 необходимость СОl".ТТ3СОRЫВЗТЬ на рюIIы\ компьютерах преДСТ3RЛеНlfе О текушем времени. TaJiMcpbI СНllхрОНlнаЦIIИ важны Д)1я сопостаRЛсния З311исеи в журнальных фаЙЛdХ при обнзруженчн r пава 28. ПроцеССЫ4демоны 875 
"пробоя" в системе защиты. Они также используются во множестве ПРИКЛaJJ,ных проrpзмм. timed: синхронизация часов Существует uелый ряд систем синхронизаuии времени, и имя timed носят несколько демонов. В большинстве систем используется практически ОАна и та же схема. Один или неСi\:ОЛь1<О компьютеров назначаются rлаВНЫМIf. Показания их часов считаются достоверными, и они соrласовывзют друт с друrом "точное" время. Оста..;'1ьные компьютеры  подчиненные; они перио дически запрашивают время у rлавноrо компьютера и соответствующим образом реryлируют свон внутренние часы. Промежyrок врмени между проuедурами установки часов ПО.lIЧ}tненноrо компьютера достаточно мал. поэтому обычно нужна JШШЬ незначителъная их корректировка. Используя систеfНЫЙ вызов adjtime (если он есть), подчн ненные компьютеры сrлаживают последствия корректировки системных часов.. Особенно нежелательной операиней является внезапный перевод часов назад: время должно быть монотонно возрастаюшей функuией. Понятие "точное время" весьма туманно. Некоторые системы опраши вают сеть и определяют среднее значение времени, а некоторые волевым решением объявляют время rлавноrо компьютера точным. xntpd: более точная синхронизация часов Проrpамма xnlpd  ЭТО демон, который, пользуясь протоколом NTP (Ne\work Time Pro\ocol  протокол сетевосо времени: RFCII19), синхрони зирует ряд '.равноправных" часов с точностью до миллисекунд. СИНХроНИ зируемые серверы образуют иерархию, каждый уровень КОТорой называется слоем. Демон xntpd имеет доступ к ряду вторичных эталоноВ времени. поэтому он точнее устанаRЛивает время на UNIXCHCTeMax, чем Демон timed: часы не только синхронизируются, НО н точно идут. Теll.)'llIYЮ версию демона xntpd можно получить по анонимному FrРдост)'пу на узле ftp.udel.edu. 28.10. Демоны начальной заrрузки и конфиryрирования в 80e rr. мир UNIX охватила мания внедрения безднсковых рабочих С1'аниий. эти компьютеры заrpужа.;rшсь по сети и выполняли все свои дисковые операuии средствами УД8..rrенных файловых систем, например NFS. По мере падения иен на жесткие диски и повышения их быстродействия интерес к бездисковыM рабочим станuиям быстро yrac. О бездисковоЙ' эпохе сейчас напоминает тоЛЬко п..'ея.ца демонов, предназначенных для поддержки бездисковых компьютеров, и причу.nливвя орrанизаuия файловых систе\f большинства праизволпrел-ей. Несмотря на то что бездисковые рабочие ствнuии практически вышли из употребления, их протоколы заrpузки все еше используются дрyrими УС1'ройствами. Большинство сетевых концентраторов и сетевых принтеров заrpужается с помошъю ТОЙ ИЛИ иной комбинаuия демонов, описанных нИже. Библиотечная функция acUtlme изменяет скорость :Хода часов системы так. чтобы KoppeK тировка бbUI8 достаточно ПЛавиой. Котда системное время сравняется с теxymим объеКТИ-В ным временем, реrynировзюrе прекратится. 876 Чость 111. Розное 
ф bootpd: сервер ночольной зоrрузки Коrдв бездисковый клиент включвется, он передает в сеть запрос ВООТР. Получив такой запрос, демон boolpd ишет Ethemet aдpec клиента в фвйле /etc!boolplab. Найдя соответствуюший элемент, он сообшает компьютеру ero IP aдpec и файл, из KOTOpOro он должен заrpужаться (обычно фвйл пересылвется по протоколу TFТP). К физической переСЫЛ1<е файлв нвчальной заrpузки .демон bootpd отношения не пмеет. () tftpd: тривиольный сервер пересылки фойлов Демон Iftpd реализует протокол пересыкии файлов, похожий нв тот, С которым работает демон ftpd. но roраздо более простой. Мноrnе бездисковые системы пользуются лротоколом TFТP для зarpузки своих ядер с сервера. Демон Iftpd не выполняет аyrентификацию, но обычно ero функции оrpаничены обслуживанием файлов в одном каталоre (чаше BCCro /tftpboOI). Поскольку все мвтериалы, помешаемые в каталоr Iftpboot, доступны для всей сети. в этом К8талоrе до1Iжны нахОДИТЬСЯ ТОЛЬКО файлы начальной заrpузки и отсутствовать разрешение на запись мя всех полъзователей. rarpd: преоброзовоние Еthеrnеt одресов в IР одресо Демон rarpd реализует протокол RARP, который позволяет бездисковым компьютерам определять свои 1 P aдpeca во время начальной звrpузки. Демон rarpd работает нв сервере. Для каждоro ceтeBoro интерфейсв, нуждаюшеroся в RARР поддержхе, при нвчальной зarpузке запускается один экземпляр этоro демона. Демон rarpd определяет необходимые соответствия, обращаясь к файлам /etc/ethers и /etc/hosta, поэтому отдельный файл конфнrypauии не нужен. Протокол RARP это подмножество протоколв ВООТР. но выбор протокола зависит ОТ имеющеrocя набора аппаратных средств. ф bootporamd: усовершенствовонная поддержка бездисковой работы Используя файл /etc!bootpBrams, демон boolparamd сообшает беЗдИСКОВЫМ клиентам о том, rne искать их фай"ювые системы. УслyraJ\.fИ демона bootparamd часто пользуются ко mьютеры. которые получают свои rp aдpeC8 по nрОТО колу RARP и монтируют файловые системы с помошью N FS. ф dhcpd: динамическое назначение адресов Протокол ОНСР позволяет персональнЪ1М компьютервм, ноyrбукам и дрyrим мобильным системам на этапе начальной заrpyзки получать инфор мвцию о своих IP aдpecax, стандартных шлюзах и сервере имен. Демон dhcpd реализует этот протокол в UNIX. О протоколе ОНСР можно прочитать в пвраrpaфе 13.7. r пава 28. ПрОl еССЫ Аемоны 877
Предметный указатель А AreHT ретраНСJlЯUИИ .....щ....................__..........311 Ааре<:ное простраНС'llЮ. опрепсление__.___..__ш64 Анализатор пакетов ____..___..ш......................671 Б База данных:  'ermcap__.____......_...........................................130  tспniпfо шш_ш _ш _____ __.__ ..__.......130 БезопасtюCТЬ ..................__._.___..____...___._. __ 687  ИСТО-'НИКИ ИНфОРМ3UИН. ..................__....715  основные праВи.ла.........о............__.....__.......688  слвбые Места систеМы................ш......шш689 Беспроводная сеть.__.....__.................................290 Бит:  SGID __________.___...__....._..............56. 90. 694  SUID..................._.._.__._...__._.__..56. 66. 90. 694 Брандмаузр ............_._.__._._...__._.._..._..........318. 712  8налИЗJJРУlOШИЙ ..__ш__шш_.____..__....ш.......... 714  в HP-UX ........................._._...___...._____.___..____342  в Red На'..__....._.._...........................___ 348. 712  8 Solaris._......_____..._......_................................335  80 Fn:eBSD ._........_..._....................._... 356. 712  КоНсерватиВНый.........___................__............ 357  сер8ИСНЫ ................................................... 714  фИJlьтраuия паКL.,-оВ..............._...................712  фильтраUИJI сеРВИСО8 .. .................713 в Виртуальная частная сеть...............................319 ВолоКоннооrrПfчесКий Канал........................ 141 r rJlавная заrpу'.юЧная запнсь ................_............36 rруппа. идентификатор ............................Ш.._..56  эффекти8Ный....._..____...._........................56. 66 rpYnnbI поддержки UNIX..............................855 д Дамп лз.\tяти, определение ...................._......... 68 Демон:  замешеНИII стрaFrи:ll ,,'..".,.'.'...__...Ш"'Ш',Ш 868  начальной заrpузкн....................................876  определение ................................................ 862  печати ..........................................................869  подкачки "'.""Ш".."'__.". ......868  синхронизаUИI-1 вреМеНИ .......ш................. 875  СИНХРОНlfзаuии фаЙJlОВЫХ cltcтeM............!S69  вspppd .............................._...._....................__ 336  automountd ....._......_.........Ш......................... 532  biod _...._.____...__..__________..___._._._.__............527. 871  bootparamd .................................................. '677  boo!pd ............__........................_..341. 347. 877  СОП1Sаt ..........................................................872  cron ...._...___ 179. 184. 188. 229. 233. 247. 864  версии Vixiecron .................................185  изменение сrоntilЬфайлов .................1'62  примененне ...._......................182  файл cron.allow .................................... 1t!2  ф.1Iл сrол_dепу ___..___.___.__._...._........._._.__ 182  файлы и каталоrи ....___..............1'65  формат сrОПI.IЬфаЙJIОв....................... 180  dhcpcd ......................................_..........._....... 347  dhcpd........................................... 3 11. 347, 877  dmlSpd__._.._..._.._................_...........__....__.._..._.679  fingerd .........._......._._.._..............._........_.698' 875  [sЛшЬ .._._...................................................... 869  ftpd _________________________ ____________.732. 873  ga'ed ..................._.........338. 372..373. 389. 874  в HP..UX..........._...................................388  8 Red На' ............................................. 388  80 FreeBSD................___....._.._...._......._.. 388  конфиrypИРО83.ние протокола ICMP ... 384  конфиrypированис протокола OSPF....38J  конфиrypированнс протокола RI Р ...380  1-Iача.r1ЬНЫ залусК................................375  описа.ние ................_....._..............__........ 374 878 
 опрелеление сетевых иНТсрфейсоВ....377 парамстры конфиrypаuии ................... 317  пример конфtlrypаuии ..__._.._.........___...386  приорит'еТЫ марl1lрyrоВ.......................з79  статические марl1lрyrы__ш___________.__.____3М  трассировка__........._.........._...........__.__.... 315 файл конфиrypаuии ............................376  флаr ,...................................................376  экспортируемые Mapl1lpyrbl ....._......... 385  hllpd ............................................. 726.727. 875  idenld........__........_...._..................................641  im.pd................................................... 569, 873  inJpd ........................................................ш.769  in.rdisc ....._............................................ ......._ 31!  inc'd...........343, 438, 524, 545, 703, 862. 865  ine'd: 8 Hp.ux...........................................704  защита ..шш.. ..ш.шш..ш.шш.. ..........867  конфнrypирование .............____.__.____._.__. 865  опuия I ................................_..._......_.._.704  перезапуск........__..___. _____.867 init ............._........_.._.._.............._...._...............863  kerneld......................... ..................280  kЛшМ .............................. ............................33  klogd ...................................... .................... ... 238 kpiod............................................. ..... ..33, 868 ksw.pd ................................................... 33, 868 kupdale ........................................................... 33 lockd ....................................................515' 870  Ipd....................................... 743. 745, 778. 869 ш конфиrypирование ...._... шшшшш 176 Ipsched.......................................... 757.759. 869  фл.r a ..................................................770 mountd ........................................519' 535, 870  в Red Н., .............................................524  80 FreeBsD.................................. 519, 525 л.mеd........427. 429, 432. 438, 440, 446-448, 451, 462, 464. 465. 470, 473. 477. 480. 875  безоласНоcrь.................484.485. 487. 489  журнал транзаКuнй..............................44Н  журнальная реrистраuиН.......... 447, 493  запуск ........._._........................................438  зонные пересb1JТКИ ____...._......_...............481  конфиrypирование .....___..__...___.___...._..._ 438  начальное заполнение КЭl1lа ._......____ ____ ш_ ш_ ______..430' 449, 503  начальный каталоr ..............................441  номер версии ........._.._._.._...._._..... 426, 460  обновление зоны ____.__._._______....... 480. 483  OТJlaaкa ___ ___ шш______ 492, 491  переадресаuиJl_ш.._._..__._ш.____.__._.__._._.._.450  схема работы ................................._.____.432  уровни отлап.ки ___......_..................._...___ 491  флаr .d ..................................................497  флar g ..................................................485  флar 1...................................................485  флar .u..................................................485 л.td ........ ...........................................ш..ш... 356  nrsd .......................................................519' 870  описание __..___.............._..._..................._. 525  ОIП1ИЯ a ....................................__._.._._..526  опция n ................................_.._._._____.._ 526  оrlllИИ I..._..._....._....__............................ 526  опuия u ................._.___..__ _.__._ ____.526 лfsiоd ....................................................527' 871 . оПUИН п .........._._.................................. 527 раседаетоп.. ._._...зз. 868  pageoul__._.__...__._......._.._................. ............... 868  pccardd ........................................................... 51  popper .......................................................... 873  ponmap........................................ 518519, 868  pppd ш .шш..ш...ш.......ш.........344. 360  n!lpd .....................................................309' 877  rexd...................................................... .697, 874  rexecd ___._.__._.___..____. ____._._.._.__._..._.__._._.697' 874  rlоgiлd ......................................... 543, 697, 873  rlpdаеmол ............. ......................771. 870 rou<ed ..................................331' 371, 389, 874 8 Red На! ............................................. 388  в Solans._._..__.______ __....__..._ ........._........ _ЗНН  80 FreeBsD.......................... ...............388  описаНl-lе .........................__................_... 313  оnuия .q.......................371. 373374. 388  олuия s........................................373. 388  опииw 1_.__._.__._..__...._........__._.._.............з74 IjJсJосkd....ш................................................ 870 IjJс.mоuлtd ... ........................................5 J 9. 870  IjJс.лfsd.........................................................519  rpc.nisd ._._.._.........._.. ...................._...._.....__.__. tl71  IjJс.reхd..................................................ш....874 ш rpС.БIВtd . _.__._......_.......................................... 870 IjJcbmd .........................................................868 rquoted . .......................................__...._._._.._... 515 rshd............... .................................. ...... 874 IWhod .........................................872  sched ..............................................................33  slapd ............................................................. 591  smtpd............................................................576  smlpfwdd ...................................................... 576  snmpd...........................................................872  !\.nmpdm................................................_....._. 679  snmpdx ш ш . шшшшш шшшш.. 679  snmpXdmid .................................................. 679  орор ......................................................569. 608  ..М.................... ....466. 709, 874  s'atd......................................................515. 870  . swapper....._........_.................................. 33, 868  syncer ..._._...__... _________.._._...__..._...__._..__.___._.___ 869 879 
 syslo,gd .......234' 24) .242, 245, 438. 75  в Red Hat.. .. .237  во FreeBSD....._ ......238  коwстаИia МАХuNАМЕs_._...._шш_....244  константа J'\:LOGs___....._..........__..........144  конфкryрироваНtlс .............. .............. 234  опuия a................__....._. _....239  ОП1lКА h .._.__....._...........................__......238  ОПIlИН r _. ...................._............ ... 238  ОПIlЮI 5$.. ....239  фЛ8r d. ._. __.....244  lalkd .___...._......._.__.... 872  te!netd._....__...._._._ ._._.................. ....873  'npd ............................... ...697, 877  timcd... ._.......___._.......1176  Upd8tC ................_....... ._____.._...........869  vhand............... .._................__....__..._._ ....1168  Vixlecron__ _..__.._..............._._. ___.___..._._.........185  )(ntpd ......._.._................................._ 73. 876  :рЬiпd ... ...._...__......................_......_..871  ypserv......... ...._. ...__................_.87)  урхfпJ ..................................... .............871 Документаuии:  KOM8H.Ila тап ..........._...._.........._.___......_._........ 25  обшая орraнизаuиJl................._....__._._._ооо__ооо24  manст])аниuы___..................._.........._............. 23 Домен:  8ТOporo уровня ........._._.._.._._.......................424  выбор иМеНи._...__._._.___.........._..._...____._........ 423  reоrpафический................._._._......_._............420  опрелеление ................................_ ._ 419  ОРf1lнизаuионныl1 шш ...._.......__............... 420  принuипы упра8.'1сНия....._...................... 421  СО3.ll8.Ние ПОll.llомеНО8 .........__ .. 424 Драйвер ус11"оАсты_..._............_....._......._.. 87. 248  Jlоба8J1енис __....__..........................................270  в LJnux ....._.............._....._....................... 273  в Solaris. _____..._._..._............272  во FreeBSD........__._.........._._.... .......__.._.275  конфиryраuионныc фaй.nы............._...._..._.272  номер YoAcтвa ....__..._......................._____. 271 ж Жесткая ССЫ:1к:а ...... Жестки ..писк:  ан8.'1ИЗ ИСПОЛЬЗ0ваl'IИЯ ..... ...802  запись ..fС'ТКИ во FreeBSD. ..._....._._.____ 177  КОНСТРУКUИЯ ..............__... 000_._._._...._............. J48  ПОДJUlючсние _............._....._. _.... ... ._ 150, 161  в НP-ux...............................................166  в Rcd Hat ..__..._._.......................__..._..._._170  в Solaris .._..._............161  во FreeBSD . .________000_._._..175  ПрОllеЩ"ра ИНста.:l.1JШИИ .... 150  разБИВКiI на ра:ш.е.1ы....._. 152  в Rc:d Hat .......___. _. 171  в Solaris_.. ............._..163  во FreeBSD. _шшшооо..._ш ._..__....ш _000 175-  со:шанис ЛОfИl.Jеских TO\olOEl................. .. 153  СО.здRltис метки ........................_................ )52  в Solans......................_.._.._.._._._.........._.. 163  форматирование ....._........._......_.................151  в Solans......._......................................__. 163  ни:яс:оуровневое .................................... 167 з Заrpу.JКа:  uтоМаТl1чесК8JI........ ..........................._.31  rЛ8ВIi8Я заrpузоч.наJl. заnись_........_..... ...36  ).1ноrОllОЛЪЗ0ваТе.1ЬСКИЙ рсжим ._. ._.._...000.34  МуЛътисистеМliаJl...................._............ 38. 815  НВ'Iа...'1ьная ... ..._ .. ...30  ОДJ-lОПО.11Ь30вате..'IЬСКИЙ рсжи\.i ..........31' 40  в HPUX. .......................................41  в Linu)( ...__.............................._.........._.....4 r  в Solaris..... ................................._..._.......40  ВCI FreeBsD..........._.................................42  ПсрСОJ-lа...'1Ьноrо КОМПьютера ...__... . ...35  р}'<Н..................... ............31' 33  этапы ........ ..................._........_..._......_._.__....._.. З) Зомби _.........._... ....._.........._.........'...67' 73 Зона.  конфиryрироваНllе rлавноrо сервера .__...447  КОJ-lфиryрированис подчинснноrо серВера...... .... . ........... ..................... 448  оБНовлснис..._........ ..................._...480  J1J.1наМИЧСI:t(ОС ._.......__.........._ ._..........._._ 482  определение 421  персцдресациJl.щ_..... .._.......450  соuание ..........................._.......................... 441 и 87 Идентифик:атор:  rpУППЪl. . .............. 56, 101  в ""'JFS............_ ...... ...._.....__......516  эффективны _... ..._.56. 66  ПОЛbJоаатс.1J1 ..__......._._.... ... 56. 100  в !"I:FS... ._........516  зффсктивный ........... 56, 65  rJpOLlecca ...._.. .._._.........._....___...._........._......65  родительский _...._.._....................... ___._._.65 Иrшс:хсны.й дескриmор ....___._........................... 91  определение _._._.. ................._...__....._..._......_. ) 55 Интерпрептор комаНд:  реrистраL!ионны.fi ... .._. _... 102  ba.sh.. .......102 880 
 Boume shc11.................................................102  С sheU .. ......................................... ....102  Кот shcll.... ........._.....................................102  lcsh_._._..._......................................................102 Интерфейс:  ВирtyалЬНыR_...............................................727  . Hp.l;'X..... .........................................729  в Red Hat _....___.........._...___...._...............729  в Solaris ......................................_.......... 728  во FreeBSD ........................................... 730  14 сервер АрасЬс...................................730  конфюурирование ....._.._......._.............. 728  дисковый .....................................................141  Fibre Channcl............._............__......._....141  IDE................................140.14I, 146. 148  SCS1.......................................140.142. 148 USB.......................................................141 к Канал, именоваиный ........................................88 КатвлОf................................................................86  дли электроН1iОЙ почты ............................109  начальныlR ..........._.......................................102  соэдание ._....__..__......__.__..__..__._.........._....108  рооительский (..) ..........................................89  пJ<)'ШИf< (.)....................................................8Т  10S!+round ...................................IS6, 161, 184 К60ТЫ, устаноВКа..................................._.........l] О Класс рсrистраuин _....... ._... ф..___..........l03104 Команда:  вccept. . ..............._...___._..__.........._............... 763  .dddrv................................................ 273, 278  arp:  оrшия -8..__..___.__.._.__..............................308  bdf.................................................................169  boot:  ОnЦИJl a.._.............................................2S2  bootOcrg ..........................................................37  сапсеl ...._._... ....._.........................................763  caLman ..._._....._................................................24  ОIUDfЯ w__..___..........................................25  chflags.............................................................94  chfn...............................................................102  chgrp....... ....... ......... ..108, 212  описание ............_....._...._._..................._...95  флar .R ...... ш ............................9S  chkconftg ...._...................................................48  chmod.............................................................89  оrrnсание _____________.94  chown ..................................._.........._._. 108. 229  описание ........_....__.__..__. ш__ 95  флar .R ...................................................9S  cbroot _._...._......._....._.....................................733  ch.sh ......._..................._...._.._._....._...__.._._........ 102  clri........._........._......._.___. .___..___._._.__..__...161  confl&.... .................................. 2S8.261. 275  ер:  синтаксис___ ..........._..._...87  erontab . _..._._........___.............................._._._.._ 179  оrruИ51 e __._____.__._.__......._....................... 182  оrшия I..................___............_._.___.__..... 182  Оm.1ин r..................................._._...__...._ 182  олuия и __._._..._..._.................................182  си...._........___...__...___......................_..._._..._...... 135  dd ..........................................39' IS2. 161. 187  df..................................................................16S  оnuиJol k .................................._.........._. J56  dhсрiлfо ......._._..___ _._..._'.._... ззз  dlssbIc............................__.........._....__............764  dШс...............................................................162  dmcsg ........................................................... 2S9  drvconf18...............................................162. 278  dump............160, 189.190,209, 211.212, 222  оrrnсанис.............................._.__........._...198  ОmIИИ д__....___._._._...__._..._... .............___...201  опция 5..........................................._...._ 20 I  си:ntall XoНl18 лскты._......_...__.__.__......__201  флВf U ...................._.._........_..._.............. 2ОО  ссho ...................................................._......... 257  edquot8.........................................................110  ccprom.........................................._............... 123  СП8ЫС ...... _.__..._..._._._.__......._................_..._.... 764  cxportfs:  описание .............................._......_......... 52]  опuия a .............................._........519. 523  оrшИJl u .............................................._ S J 9  find:  ОmIИя xdev .......................................... ]83  flIigOf ............................................................698  fsck ..............................................34' 42.43, 53  опции .р ................................................. 83 fS!8(....................._.._._..__._..____ .___... _..._............84 fшеr:  ОПllИJl c ..._.__.._.._____.._.............................83  OrD.!НH f...................._..._._._.._.........._.......il4  оlU1ИЯ k ..................._._...___...._................84  ОmIИJI т___.._._...___.__.___.___....._._._......_......1I4  ОЛUИJl v ..............................................._.84  gdc................................................................37S  оrшия toggletrace......_...........................376  В"'р............................................................... 228  groupadd.._.____.._.__..___.._..__.__.._...___...._____.__.._._ 112  groupdel.........................._............................. 112  groupmod ...._.._.....__._.__.....___.__...___.._..._..._.__._112  haJ.. .........................................................53  ОIU1ИА п ...._._.._..._._............___..................53  оmrия q ................_.._..._.._..._...__.________._ _53 881 
 hdr .............ш........ф........шш............ш........156  hоstпаmе ..__........................._......_._.........._._.. 321  ключевое слово dowп._ ____323  ключевое CJ10BO plumb ......___.___..__.......322  клевое CJ10BO up _____...____.__..__........._.323  ОПIlИR a._......_............__.........................322  опиия brnadcasl _ ____.........__......323  ОППИЯ пеtmask.............ш.щ..................323 ш irconliв..........51. 294, 306. 325.328. 330, 332, 337339, 346, 354. 365. 728-729  описание ................................._..........___322  ОПЦИR -3...__.......__._____..___ .....................337  опция аНм ............................................130  опuия broadcast+ .........................__......330  оnциs! delctc...._.....................................730  опuия nctmask+ ..........__.._..___._____.._....._330  insmod __._._.__...................._.__........ ____..._..278  lоscaл........._..........._..___..._._____.____.___.___..__...__. 166  iost.lll ___......................_.__.__...__._____._______..........802  опW!:и o ...............______.._____..._..... ........803  kiU................. ..... ...............................54  описание _.__.__....__....................................71 ш kiU.U .............................................................129  lалscan ._......................_...._..____....___..___.._.__._..338  ОПUИJl v._.__.__...__._............. ._...._..._......_.339  limil_ _____.____..____ ___ .___..._._ ..__......807 ш In  ОПllИЯ & ._..___..........................._.._.89  синтаксис.. ..__...____.87 lockfs_  опция h.. ___._._____..._...................._....._._..83 loggcr __.__..........................__.._...__.__..__._..........234  описание ................_.....__._._.._................ 244 Iр...................................щ............................. 757  олисание ..........___. ..__..._._......................758  Ipadmin___._.____.. ___.__._____..._............_._._...._._._..759  ОnUИJl I_._.__.......................____.____.___...__. 768  ОflЦИИ o __..__.............._._.._._._..._.._____......769  ОПIlИЯ s...._._...._.___......... __._...___...._......769  опt1ия -Т ..____.__._._.............____........_____..._768  флаr -т............_.____..___.____ _..___......770  флаr o .__....................._._____._______..__._..... 770 ш lра1'.........................................щ................... 770  Ipana ____........_..............._._...............770 ш IрЬалner........................................................ 777 ш Iрс.....щ.................................744-745. 747, 775  Ipfence ..............______.___........................._._.._...770 ш IpI1lt.r ........................................................... 767  Ipforms _..__..._............._._.......__..._...767 ш Ipgel..............................................................767  lpmovc_.__ ___...................._.___......................___764 ш Ipq. ..................745-746  опция D __............_.._____. _____._.___.._.......775  оrnrия [_.______..__................_....__............. 775  Ipr._.____.___. ___.____..____..___.._.___..__.744. 746  оmrия o ._.._......_._.._............................_ 774  оrwИII --s..__....._._.____..____..____._.______.__.._..._ 774  опция y._.__.._...._._._._.._._.__...._.._.__........_774  Iprm_......___._.......__._... __ш 745. 747. 775 щ IpscI .............................................................. 767  Ipshul._..._..._._.................__..__..__.._..__..__.._.....__ 759  Ipstat....................._................_......_......_._...._. 762  Iplcontrol....................._...._....._..._._.__._.....ш 773  Iрuseп...__................_.....................................767 ш Is............................................................ Н9. 229  ОПUИJl -F._ш._.__.._______......._.._.................258  опция i .........................................__.__.__.93  ОПUИfl -) .....................................40. 56. 92  Ismud....__...___._.._........_._...__.._..._ .__...278  I\lcreatc:  ОПllИя -с .............................._..........___.. 168  опuин -L_.._._...__.........._..._.______.._..__.____..168  оnuия -r......._..._......_..........................._.168  Ivcxtcnd ....__..__.._....._...._.._...._____._.___._.........._.168  Ivlnboot..__________._.__._....____..._._..__.____.__._____.__.__ 168  make clcan ........._......................_.................. 256  make config..._....._..___.____..._..._...__.___.__..__...._._ 255  П1i1.kс depend ____ ____ш___ш__259260  make menuconfig. _........_._...._...............255256  rnake хсопfl,g_ ш______._255256  makemap __.______.._..__..._._ ___......._611  man _ш__ф_____.._ш 23  описание ____..____.____.._________..25  ОIU1ИR k ................................................. 25  оПllИJl s..................................................25  тcdiаiпil_..._...ш____...._......._._._._._.._____..._.......167  mkkemel.  опция o ..............................................255  оlU1ИЯ s __ш._ш_.__ш__..__._. .___ 255  mkboot . ._.._....._...___...__.....__...___._.__..._._._.._...._ 167  mkdir ........_...__..._......._..__.....__..___.._................86  mkfs.....__...___.............................._..........._...... 154  mklos(+round ....__..........................__...._.__.__. 156 ш mkлod ............................................................88  описание ............................._........._..._ 276  mkswap.._..........._......_.......................... 172. 174  modinfо.._.............................................25З, 277  modload_..._............. ________________278. 280  rnodproЬе;  оIЩИЯ --с. ____________..________....___.__....._._.....279  modstat............_..__ ___.__......................_.......280  modunload ._........................................_278. 280  mount..._.........__._._._ __.__.34. 156. 169, 527  оnuия a ._........._............................ 83. 157  опuИJI a ._..................................._..._.... 178  оnuии F..................._....__ _.____...157  ОIU1ИЯ o lоggiлg _ф_.........I64  опиии -[ _________ ___ ___ ____о _______.......... 157 882 
 ОmJИJl grpid...........................................IOI  П11. щ щщ ............................................ 204, 206  описание .............................................. 210  апuии f ............................................... 210  опния e............................................210  ncheck ........................................................161  ndd........................................333. 335. 341342  опция 8et............................................J42  ОПUИJl h ...................................... 335. 341  опция set .................................. 333. 342  netstal:  описание ................ .............................667  апuим 8..............................................667 щ OnIUt. ; ..............322. 339. 346, 66И. 672  опuим n ..................................... 667. 670  опuим n.rш..........................з39. 346. 354  опцим r .......................................305' 669  ОПUИJl. s....................................... 526. 670 щ n.wfs.............................79. 154. 164, 169, 177  ОПI.IНя N ...........................................ISS щ newgrp ................................................. 101, 106  nice ...... .... ...... ... ..................... ...... ............ ....66  описание .................................................72  поhuр ............................................................. 70 щ passwd..............................................56. 99. 692  описаllие ш............................................IО  ОПНИIl --е................................................ 102  апuия g................................................I02  рсlыl.lлеrr ...................................................... 777  penodic........................................................233 щ ping...............................................................323  атака на сервср....................................318  описание ...............................................662  оПl!ИЯ s..............................................662  pdd ..........................................................272  pppstaLs......................................................... 362  prQcinfo .......................................................805  pl1conf..........................................................253 щ ps щ.................................................. 7И. И3, 798  описаliие ............................................... 73  оПllИИ ef .............................. .................7S  ОПllИИ c1f .............................................. 76  опции ат ...............................................74  ОПllИИ 'ах ................................................74  ОПНИМ ww............................................... 7S  psbanner . ..................................................... 777  psI8(;  описание ............................................... 80S  аПUИJl s....................................... 178, 1100  pycl'"C8te........................................................ 166  опцин B..... ..........................167  pvdispla)':  ОПUИJl y............................................. 169  quol..............................................................111  сеЬоо( ............................................................ S3 = d.:::.............................:............... ;  rellice.................................... . ................177  renice:  описание ... ...... ........... .... .................72  п:sel............................................................. IJJ  rcsI.occ..................... ..202,209,211.224  описание ............................................. 203  ОIlUИJl i................................................ 204  оllUИН r ............. ...................204. 206  апния L................................................ 190  rm ................. ...................................87 -Н9  ОПЦИМ c.................................... ...79. Н6  rmdir........ ............................................... .....!!6  rmmod............... ............ ... 279  route ....................ш............J28, 338. 362. Л4  ЛИректива add ......... .. 32.s326. 345. 3jJ  J1иреКТН8а chan,ge..............................325  J1Ирскntв.1 dеlеtе..................ш ............325  лиректива flusl] ................................... 325  дире.."ТИВ8. get ......................305. 325. 331  директива monitor ............ш................ J2:)  ключевое С1l080 p.............................]46  описа.lис.................................... ........ J:?4  ОЛ11I'11о1 r ш............................................. ]26  оrтuин hosl............... ...ш..............353  ОПUШI nct. .... J5]  sar:  апuии c............ .... ...... .......... .......... OO  опции и ................. .............................796  sctkc)'................................ ....................... ...320  share ............................................................ 519  описВНис.............. ................................520  shareall............... .........................519S20  sl1owmount ................................................... 699  shutdown . ....................................................... 54  опuия h .............................................. 53  ОПНИИ c ................................................. 53  синтаКсис........ ........................... ...........51  skill.................................... ....................... 229  source:  ПСС8D.ОНИ)1 ..' . ........................................50  511)' ....................... ........................... ......... 131  описаНие............................................... 132  опuии 8 ............................................. 1]2 щ ОnUИ. CLOCAL.................................. 122  опuия evcrylhlng................................. 132  опиин tabs ....................................... 132  опuии all...................... ш..ш...............132  опuии saлс.............. ..ш..ш............. ... 133  su................................................... .........247  описание ..................... .............. .......... 59  ОПЦИЯ c .............................................. 181 883 
 swap .__...._............................._......_............_..._ 158  оffilИЯ a................................................165  оnuиЯ I......_....._....._...............__... 165. 800  swapinfo__..__.___..._........_.............._.170. 178, 800  swapon.................157 158, 170. 175. 178. 264  swapon:  ОnUИR s_...._.........._...............................800  sync............._.._....._...___........_..... ......__........_...._53  5ys<:ll........................................................... 355  ОПUИJl a.................._................_.._ 269. 355-  ОnUИJl w..__..._. ..355  sysdcf .................................................._.........253  <ее ................................................................. 260  telinit ...._.___.__._._._..._.............__................ 54. 864  описаН11е q ................................... ...... 129  опция q _._.....54  tip ..._......................................_.............._..._.._135  15" ...................................................... 1)1, 13)  описание ___...... 133  Hyadm:  оnuия b .......................................... .. 136  ur5dump............................................... 165. 202  ufsrestore.......................................................165  urnвsk:  описание ............................................... ._96  umount ................................................ 157, 529  оnuия f ......................_.......................... 83  uname:  ОnUИJl i .......___...__ ..__...____..___....___....._... 2S I  опuкя m ......._......................................25 I  uruoad:  опuия r ........._......_....._.........................278  unshare .........................................................519  upLimc_...._......................._.._..___.._.__.__.__...___... 798  uscradd..........................................................112  О\ШИЯ o ..............................................11)  useroel...........................................................112  usermod ............................................... 105, 112  \lgcrcate... ..____...__......................................... 167  ОПUИJl 5................................................167  vgdispl.y .......................... ............................168  опuин v................................._..._..........169  \lgextend____...._................. ........................._...167  VlpW ..._......................._....___._...__________._........ 101  visudo............_...._....._................ ......................61  vms[at ___...._..__................._._.........._._..... 796, 801  ОЛUИЯ -5...............................................802  yppasswd....... .....................99 Кониентратор ..........................__....._................. 399 Криmоrpафия ..............................._._....__....__....707 м Маршрyrизвтор ..........................__... __...__.........401 МаршрyrиЗ8UИЯ .........__....._......._..... 305. 364. 38  автономная систеМа........_.__......._...__......._..370  в протоколе ррр ......_.................................316  внешние ПрОТОКОЛbl _.__..._.........._.........._._..310  внyrреННИе протоКолы._.........._.._...............310  ДСМОНЫ ......_....._._......._.._................ ..367  J1истанl1МоН'НоВекторНыС nPOToKO;Jbl._....36ti  метрики стОиМОсПI........ш.................___... .370  направ..1СНН8Я._ ... 3 1   пparoко.1 обнару.кен.ин маршрyrnзаторов. J7 J  протоколы состоини}{ КАНала................_..369  ССТСВОЙ маршрут ..................._......_..._........_ 365  СТЗНJlвртный маршрут _.............................. 326  статичеСХ8.J\ .... ......_._.._..._""" 306  стрвтсrии ..................................._....._...... ...388  таблиU3._..... ._...__ 305, 354. 365  провсрКа ..____.._.._....._.......................... 669  тополоrИЧССЮ1i: ПрОТОКоЛЫ.. ........ ... ...36'1  У:JЛОВОЙ маршрут ........__ .._. _. . _............ ...365 Маска подсети ...... ........................................_.. 294  ЗlI.дание . ........................................_.............. 323 Мет8Сим.в.олЬ! .__..__._..___....._..____......_...._..__........... 22 Метка диска..................................._...............__ 152  в Solaris .___........_____........ шшш 16]  .0 FrceB5D ................................................. 177 Мноronольэовательский режиМ.......................34 Модем:  внешний.. ............................ 134  внyrpенниЙ _____ш...ш...шш_ш... 134  дуплсксный ................................................ 136  кабсльиый ................................................... 406  конфиryрированис ................._...._.............. 135  скорость передачи ..................................._. 135 Мост..____ __399 н НССУШВfI:  аппаратная ....__......_............._...._......_...._...... 122  Проrpаммн8Я ................_.. ...........................122 Неэкранированнзя ВИтам пара ...................... 391  рЗЗВОllка КаБСлсА.... ..................................401 о О.пНОПО.'1ьзовательский реж.ю.I........................ 3 I Останов системы ...ш...__.........__._ ....___...51  выключение ПиТ8tlия........................... .......52 п П.Кее................... ..........................................28Н  II.дрссаuия ......__....._ _ ..... ...__........... _ 29]  аНализаТор._............................. .................... 67 J  Маршр>'ТИ:JВuиН........._.... .....365 884 
 переиаправленис_..__..__. .___ш311  поле TOS .....................__...__...................._.._352  лоле TrL...___........ ....................................665  число переходов _....__..................._. ш 325, 665  IР-адрес................ ................................. ....292 ш MAC-..p...................... ...291, 366 Память:  aлrоритм ч8со8...._........_..._..__................._.._799  анализ использования __...................__ш____.800  управление ....-.............._._...................._.__..__799 П.ролъ:  выбор ...__...............__..._............................._...691  задание исхо.пноrо......_..._____._................._._.108  38..I.1IифрованНый_..................._.._....__.............. 99  редакТИрование ___..__..._..........__....._..............107  теневой __._......._........._.__.._...........100. 104. 692 ш устаревание ........................................103. 693 Перс3а.rpузка ................._..___._............_....._...........51 Переменная среды: ш МANPATH .___................................................25 ш PAGER ..........................................................25 ш TERМ .........................................126' 131. 133  TERMCAP...................................................131 Печать .......................... ..................................... 739  база данных принтеров....._................749750  8 ВSDсистемах ............._.._.....................___. 743  . System V................................................... 757  ВhfДача задания ..---.-..-................._...............146  очередь заданий ......._................._...............145  просмотр очередИ ЗаДаНИЙ .............._........746  уда.аение зa.naнJ'Й ._............_......_.................747  устранение проблеМ...................................778  фильтры......................................741. 753. 777 ПО8ТОРИТс.'lb ................................._................... 399 ПОllКачка....___.___................................................ 151$ Полсетъ:  M.clG\...................................................294. 323  ортанизauия ..............................._..............._294 Пользователь:  идонтификатор......___..........__._.......................56 ш эффекrивный .................................. 56, 65 ш Ьiл...................................................................62  daemon ..................................................._.......62  noaccess..........................................................62  лоЬоdу ................ ............................................62  . NFS....................................................516  .001....................................55. 57-58, 100. 694  . NFs....................................................516  пароЛЬ......................................................57  sys ...................................................................62 Порт ..................................................................292 ш п.раллельныl1.......................................137138  режны ЕСР...........................................IJ8  режнм ЕРР ..........................................138  последовательный .........__.........__................ 114  аппараnlВЯ Несущая..........._ .... ш 122  дуплексный режим. ..................._..___.. 136  проrpаММН8Я несущая _ 122 ш разъем ОВ-25....................................... 114  разъем 08-9.........................................118  разъем DlN-8............... ............ 118  разъем RJ-45.................................119..120  стандарт RS232..... ____.__.........._.....114  управление ПОТОКОМ данных _....._......123 USB..... ......... ___...........137-138 ПОТОК _....__.........................___.___....._..................... 65 Почтовый сервер ...................._........_........ 57S576 Правила ДJUI iiU1МинистратороВ......__._....__.._._.823 Правила JlJIЯ пользователей ........._.............._.. 821 Принreр:  лобаanеИIIС _._...._........................._......._..__.... 766  . FreeBSO............................................. 772  . HPUX.......................................... ___ 770  . Red На'.............................................771  . Solaris......................................_.......... 767  класс ......._.............................................._.....758  основиые ПрИНШ1rlЫ работы.........__.........780  nараллельный ____.__.._...............................__..742  последовательный ..._..........................142. 755  сетеМй..........................................._.._..__...._. 742  совместиое использование........................ 808 ш типы............................................................7411  USB...........................................,.................. 742 Приоритет:  значение nice..........................................__....66 Проrpамма: ш /Ьiлfmаil..............................................566. 568 ш /Ьiл/sh .......................................................... 568 ш /usrfucbfmail...............................................566  addhost ......................................................... 505 ш amd ......................................................532. 870  запуск ......_............................................. 538  комаНда amq .............................__.537' 539  описание ............................................... 536  . осТанов................................................. 539  селекrоры ..........................................._.537  табтш.ы назначений ........................... 537  8utofs ............................................................ 536  8ulomoUnl... .............._.................._. ....._53 1. 870  автоматическое выполнеl-:lие .............. 535  . Rod Н.'............................................. 536  rлавнWI таб1LИuа назначенНй......5J2, 534  .пу6лируюшиеся файловые СИСТСМЫ..534  исполняемWI таблиuа назначений ....534  описание ...............__.............................. 532 ш оmrия -1................................................ 533  оПШUI -, ............................................... 533  табл-иuа косвенных назначений. 5з25зз 885 
 таБЛИI.Lа прямых наэначени:R._.___.s32S33  Ьс _______...__..._.._._._.299  boo(Ocrg. ___.40 ____.777 _.....................__ _____М46 ______ _ ____ 211. 217  ОПШ!Я т _....._....._.._..  chl1:ckpc ш__ш ___Шш.____  сfелgiле..  compress  cpio:  описание. ......_........._...._......._......208  Cl"Rck .__.............._..............__........_.........._..__...703  Cricke( ............................_.........................._.. 684  dd._.._.._.................__...._........._......__...__._._.___...224  описание ..._.___..._......._.......___....__._..__...__ 209  devfsadrn ._._... ......._.................._........_.._.___.._ 162  dhсliслt._ ......._....._..................._._.._......_.....__. 355  dhcpagen( ._.._._.._..__.__.____.._._.__...__....___.._..__._._ 3З2  dhcp(ools __ __.ш__.___._..___ .____.._._....____..___341  dig__..___.__ ______.__.._._....___ _______.430, 460, 502-503  описание _.......... ........_....._................_...499  опреJ1еление версии ВlND.__...___....__..426  disklabc:1 ............_...._..._._...............................175  ОПllия -8_............................._..................38  ОПUИЯ e._._.............._...._._......_..._._..... _.177  опuия r ._................_...._.............._......... 177  ОnUИfl w .....__..__...__..._._..... _.__._..__.._..____177  dnsmakekeysct..-.-......-......---...-.-......-....---.-._ 489  dns-slgnkey ..___._..._........................................490  dnskeygen ........_.................................__ 486. 489  dnssec-keygen ...._._........_......._...._......... 486. 489  dnecsignl.one ... .___...__.....__._......_.............. 490  dnigner __...._...._..........................._..........._. 490 --- elm ____....___.....__._._.__..______.______._._._.__. ____566  enscnpt . ..__....___.___........................................ 780 --- exrnh ..............................._.....__...__..._.____._____..566 Fdisk .._...._......................._ 171, 175  оrщия -c_._._......................................._...176  ОПLlИМ -i ..._........._................._................176  fin8er_ ____.__...._..___.........._........_ 102, 875  fОПТ1аl._. __..._______.._.____..___..._... .._..____.._.163 f.;ck _._..__...............155-156. 164. 169, 174, 178  описание _.. .._. ____...__....._.._..__............. 159  ОIIШНI p ......._._._._... шшш __ 159  [юЬ __ .__. ...._.._.........................._.._____.___________160 --- 8dbm._................_...._._._. ____.._........._550  ge!1y _____......_.._... ....34. 54. 126-127, 129, 136  опuия c__. .______._..._........_.......... ...__.... _ 130  8hostscripl..........._.._ __.__.____ 608. 743. 171, 179  gnutar._ _......._. _..__............_........ ...._.___. 211, 2.1  gzip. ._. ...111,2.17, 228  hosl:  описание .... _.499  олuия y..._.._........................_.. _____501  IlОsl5lопamedШ...___.____ ._........._.............._.507  HylaFAX .._.__.___.__._______._.__.....__.....................608  Iлll........ ______31' 33-34, 67, 125, 127, 331  5 Rcd Наl_... ____..._._.............48  80 FreeBSD.___........__......._.......................50  IJOлучеИI-II: <сиrнма KILL__.__.._....___..._...54  ПОЛУ'IСНJ1С сиrнаЛil TERM................__. 54  стартовые (:LlНарИИ.. __о ...._..43  урОВIШ ВЫIIОЛНСНИЯ ___..__.43. 54. 128 insf..___....._......................._.._... ____166  inSlallbool__....____.______.._...._.._....._....._._........... 165  ipcaIc ........_..................................__....._____..__.296  ipchains шшш__ ______________ш_......._..._......_...._..349  ОП11ИЯ i ._............................._.__._..._...._._ 350  оП11ИЯ -j ....._........_.........._...................... 350  ОП11ИЯ I._.. ._._..........................._...._.._.351  список опии"............................._.___..._.350 ipfw..............._....._._ ШШ ШШШШШ ..356  lanadmin_.........................._.._._._......_....._.____..340 lilo ....._.................................._..__._..._.__... 36, 174  ОПI1ИМ -1 _._.__....._._._..._...._......40 linuxconf_.. ......................................._..._._... 345  LISIPrOC .. ..__588. 590  LISTSERV Lile ____.___.______________.________._.5М8. 590  IOBcheck ....................._.................__....._......._ 247  login __________57. 105, 126, 130  logrotale.__..............................................._..... 2ЗЗ  Isof.........._.._....._.................__...._.__..__________ ______ М4  mаll.lосаl.ш.__.._..___._._____.._.___._____..._.._...568, 618  Маilmап ....................._................._..__..__ 588 589  Majordomo ._..______...._.._____....5H75M  make __...__.._...__....._.... _.....___......_._................ :!60  rnke21S ..._...._ш......_.._..__....._._........................ 113  Inkfs.._._... __..._....__......_......_..._...................._. 173  mpagc......__...._......... __._.._._._.._._...._.779  MRTG .__...._..__.............................................683  muH.................................. ......_......___...__....._. 566  тх .._.... . .._.........._.___.__......_._....__.._..............._ 566  namedxfer. .............. .....................__..._____..___ 4g 1  ndbln .........__............_..............._...__..._..___._..__ 549 ndc ___..._. ____..__._...438' 451  комаН,Да dumpdb ..._...._......................... 498  комаНда "оlrзсе ... _____.......497  комамз rcload .ф___.ш____..._. 429. 480. 497  комаНда res(3r1..................................._.480  комаНда slalS ___....__.__.______.__.__.____.._._..... 498  КомаНда lrace __._..._.._.._....._____............... 497  ОПИсанJiе.... ................_...._......_...._____.. 497  CIlJiCOK КОМ.3НА_. .___щ.__..ш.__...491S nelll..______..._....__....___....___._..___.................__....673 newaliases .._...__ .._._._._.._._._.__..._..__._.........._.... 184  ncwls.._ _........_......_..........._._......._..................209  пШLаl ___._..__...._._.. _____._._..519  nmар .__.__.____._._____..___..._.________._..._..__...._....__..700  оmlИИ s..___............_.............................. 700  nrnh __________._.....__._.__.___..._._._..___....._......_..._.... 566 886 
 NOCOL........................................................684  лрasowd...................................... ......... 108. 692  nslookup .......................................................430  описание .................---...........................499  список команд ...__.........__................_._.. 500  ntalk.........__......___.............................._...........872  openprorn ....._.....__.............................._.......__ 252  passwd. _ .--.........-.-......--.................__..........__.240  pine ......__......_.._.__...____.___.................._.__"........566  ррр................................................................ 360  prinHool....__.......................__.__......................711  procrnail.......................__..........____........ 568. 619  pump ............_..____......................._............._...347  pwdmkdb........................................... 103, 107  QuiCkPase.....................................................608  rdist...............................................................184  описание .._............_........._...__._.......__.___. 542  олuи" f......_.__..........__..........._._.._........_)44  ynраRЛНЮШИ фиАл _...__.....____......._...... 544  rdLlmp..........................................187, 199. 205  p' ................................................................779  rmail_..._.__........__.__......__.___.........._._..........___..567  rпdс ..................................................... 43Н, 497 щ RRO'ool.......................................................684  rsh ................................................................. 543  rsync:  описание ............................................._. 545  sacadm .-............. .____........._......._... ____........._.126  >ер ................................................................709  SEPP ............................................................846  sllutdown _.......__..........__._...._............_._______.... 239  siL named ..._.......__._._......_............._..........._... 507  SrnзrtLiSl. ___щ Я!8. 590  smrsh ...........................................568. б IH. 644  SIlO<>p ..........._........_.........._...........__._.........._._ 672  SIlOOp.  опиия d .-..................-.--...........__........._672  оrщИJ! y......._......._ ____................_. ______.672  ssh........................................................543, 709  sshkeygen .......---................---....-........_._......709  su ...-....... .---......---..........--..........._.............._.240  sudo ........-...._._.....__.._._........_._.._......____. 240, 247  описание ..................-.......--.-.........._......._59  swalch ...____........_.._........_.____........_......._ 242, 247  !ro-ysinstllll... ........._._......_.._...............______.......... 175 ... (alk............................................................. 872  'ar .................................................................230  ОfU!саНИе .-.........-.-.......-.-.........__..__....._..207  опиИJl Ь---........................_..........._.........208  Icpd.............................213, 524. 543, 546. 703  lcpdump_....._._.......__._.._..............._.__...........__.268  ОПI!санис -...-..--................___.........._........673  lеlпсt....._......._.___......___........._.......з90. 697. 723  (ор ................................................................798  оnисание...................._._______._.._....._._.._.... 77  опции --q .-.......__.._..._._.........._._...__......__...77  traceroulc ......___..__............_._._...........____._...... 664  ОПUНЯ п ......._.__........_.._...._............._..... 666  tripwire ......._.............__.._._............_...._... 705. 827  1Iуmоп .._........ __..____............__......___._.._ ____._... 130  ULIBclty_..._............. _______...._. ...__... 136  УМ .......................... ........................ 567  volcopy:  описаllие 209 Проксисернер ..._..._.._.._.....73 I npouecc:  ВЛИЯНИе на прОНзВОдН1-елыlOстЬ..............795  ЖИЗНСННЫЙ цикл................_...........__............67  зна"lсние пiсе..._______.........._......_.....66, 72, IЮО  зом6и ...................................................... 67. 73  илеlп-нфи.катор .----...-........_.._.___..........._______._65  родительскиА .....-........____..__............_._.___65  код завершени'! ____.........._.___......._.67  КОМПОfl':I{ТЫ .......---....--....._........_......__._.._._....Ь4  НеупраВЛНеМЫЙ ..______....__.......... ._____..._.__......77  опредеЛСНJ.iе _......._._.__........___.._.._.._....______...... 64  приори.rtт ............_.___...................._...._.. 66, 800  системнЫй.__._._........_.__..._..........___........._....__.32  COCТOJlHIUI ....._....... ......_...._........................._._. 71  ynравлJlЮШНЙ терминал ........__.._.___...._...._.._66 Псев.цОУСТРОИС1-ва .--.....______....__......___.......266. 172 nyreвoe иМ5I....._.__.........__........._ ....81 р Ра:шeJl диска _... ____..._...._..._...__._..... ________. 152  во FrecBSO __..__..___..._............_. ._..____.. 175  ЛЛJl подкачки ......._............ 15J  со:шаНие...___............_............. __.._.......... 15  Корневой ...... ____._. ._......_._._........ ....153  Jlor-Н"lескнй.. __........_..__.172  ПСрВИЧ1fыJ;i ......._._._........_..._._..__....._......__..... .12  ПOJlL:Юватс..'lЬСКftА ......._____ ..._____153  расшире-нный.. __щ. 172  C03JJ.8HI1e .... _.____..._....._......_.... 152 РсrнстраlllЮНJ-IDe имя ..._.._. __ ш 98  отключение ._..._ ._.........___...._....... 112  лроверКа...__.___........._................_.__...__...... __11(1 РСПlстраuия:  лрощ::дура.. .___ш..._____.............. ш 125 Рсзервное KOnl1pOMtll1e' ш_ 11:16  OOSycтpo!cT8a ..._.. ____...............__....... ..... 194  6езопаСIШ\..'ТЬ . ...ш _........_...._. ...699  6иБЛИОl'Ска J\eHT..... ___щ ....___ш_........_........ 197  восстановлеЩ1е архltва ._..... .........._.._.. ш 20  rnБКlfе писки .___.........._...__...... ... 193  rибкие .!1иски ПоuышеllliОЙ С'\.fКОсПI._.... 193  жеC1l<ИС ПИСКИ ...._..........__......._._....___....... 197 887 
 жизненный WfКЛ лсит...............................191  запись нескольких архивов на леН1У......2О9  зашита лент .......................189  инкреМICнтное .............................................198  компактдиски ............................................ 193  ленточный маrазюr........................ш.........196  МарКИроВка лент ................ ..'..._.....000000000..187  на nCp<:OWaJlЬHЫX компьютерах ................814  накОПJ1ТС::ЛИ:  ADR.......................................................195  лlТ.........................................................196  ОЛТ .... ..................................... ....194  OL Т .......................................................195  Ex.byt. ..................194  Marnrnoth ..............................................196  Travan ....._..............................................195  носители ооош...ш........ш___....... 000 .192  периодичность ............................................188  принllИПЫ ..................................................181  проверка лент .............................................190  np01lJ8MMa Leg8to .......................................226  сиrнarr кониа iIcHТbI...................................201  система Amanda .........................................210  систеуы автоматическоЙ заllJУJКИ лент ...... .... .. ...ш...ооо...........ооо 196  схема создания арХИва ..............................202  простая ............................ ...................... 202  умсре:НН8И: .............................................203  съемные жестI01С диски ............................194  типы l'IOсителеJ;i. таблиuи ..............197  УЮliilДчик лент .............................................196  хранение лент.............................................189 Рстраис.л.яиия кадрОВ ......................................404 с Секuии: диска ................................................... 115 Сервер нмсн .....................427  8вторитетНhlЙ ..................................... 428. 464 I1Iавный ..'...........................................428. 447  кэшируюши.й ..............................................428  нерекурсивный ...........................................429  пере81l.ресуюший ......................................... 444  подчиненный ..................................... 428, 448  ра3нОВшНОсти ............................................427  рскурсивный ...............................................429  усеченныМ ..........................................428. 479 Сиrнarrы ..............................................................68  перехват .........................................................68  список осноВных..........................................69  BUS................................................................69  CONST ..........................................................72  CONT ..................................................... 70, 78  HUP ...................................................... 70, 234 ........... ...70 ..........70-71 .................... 70 . ................ .....69 шшш 70. 71. 7М ..54. 70 7 J. 23"1 .. .....70. 72 ... 70. 333 ....... 70 .......69 ..........89 ........831  INT..  KILL..  QUIT................  SEGV ...  SТOP  TERM ... ........................  TSTP .  USRI  USR2.... ... WINCH..................................... Си.'18ОЛИЧескаfl ссылка ....................... Сиcrсми wreg шооооооооо ............... СистемныJ;i вызов; ..........67 ... fork..................................... ..... ...32, 61  ioctl .................. .................. ..... 130, 272, 280  Босkсt . ...................................... .........8  'упс ....................................................... 53, 155  unJinJ< .............................................................88  wait.......... . ...................................................... 67 Служба каталоrоВ...................... ... ................560 Сокст. ................................................ ...... .........88 Спам ................. ........ ................. ... ..... 564  обработка ........... ............. .....637  определение ... 62  примеры . ооошшооо.___..ооош....ш.. . ..... .. ...637 Список рассылки. .........................я; 1. 5И7 Спу']ср 8 ВsОсистеМах ................................. 145 Спулинr .............................. ...........740 Ссьшка:  ЖССТКRИ: .........................................................87  СИ!YIВОЛИ'IССКая ........................................ ...... 89 Стартовые сuенарии '...........................31. 34, 43  . HPUX ... ............................. 46  в Rcd Нас. .... 47  в Solaris ................................__........... ......46  80 FrccBSD................................... ...............50  обшан cтp)1o."l)'pa ...................... .....43 Суперблок. олрсllеленис.................................155 Сyn.рполь:ю..Телъ................ 55, 575H, 100. 694  паро..Th .......................... ................................57 Сutнарий:  adduser .................................................... ... 113  auto.....parms ................................................... 34   checksendrnail..............................................650  Ifdown..... ................................................ ...... 345  ifup ............................................................... 345  inetinit ........................ ...... ........................557  ipc.lc.pl........................................................296  Ipunlock.................................... ...................771  makelocalhost ...,...................................... ... 509  МлКЕОЕV...................................НН. 171.276  narnedbootconr.............................. ...425. 509  network......................................................... 345 888 
 newsyslog ...__._........_.__.  rcJjrewal1 ш  rmodel ___....__.........._...._..... _233 ------..-.-............__.__.__........_ _________350 --.............._....... __.._.__...___........__.__._._..770  rmuser_____....... ._." ..___ ___...__..........._.... _......113  rOll _..._..._._.._..._........._. .._._._.....230. 234 ш snrnpd __ ._.........__ _..__.......__.......... 679 т Терминал:  "завнсший" . _...._...._....._................._.. ._......133  8пnараПLЫJ;i. файлы конфиrypашш ... 000 126  база nSHHWX .....--..................-.........._._._.......130  .3аlUищнныti .___.......697  КОНфИf)'рироваI01С ..... ш_. ...___000__._.........125  8 Solaris........._._............____...............__....130  СПеШ13JIЫIЫ СИ\fБОЛ-Ы .... _..131  уПраarrlllОШНЙ .-....................._._._............_.._....66  З\1'У.'lНUИЯ ....._. ..____.._..........._.._... ......_.___.....НI3 Тер\fина:rьныf:\ С'1'вер ___ш____ооо........_..._. .'. ...317 Том:  llJуппа .._.._....__....._.._....._... -.........................166  lоrичсский .........__.......___._...... _"'000 166  зерКЗЛЫ--lОС дублироВанI1С_......_.......... .154  менсдЖСр._. . . . ......_..._......_.. _153  меНС11Ж.ер Lшuх LVM...._._. _ш... __ ..._._154  MC-НеllЖСр Solstice Disk5шtе _ __ 154  менеджер Vel.ita. _ш 154, 166  менеджер Vinum _000 154  ФЗ::::i:lе.:.._._ ..153 ТРОННСКI1Й КОНь__ ..166 __.___.... 699 у Уровень ВЫПОЛIIСI1ШI YCтpOf!crвo:  баitториеlmlrОВi\lIНое .... ......_.__.......  блоКорlfенruрова.1111Ое  праI'С:Р ___.... .......__....... ...43, 128 ф ФаJI;  байТориеНl"ироВаННоrо УСl'pОЙСllа_.. ._..87.271,275.276 " HP-LX_ 166 в LIШIХ ........_.. 171  в Solaris... 162  I:Ю Frc:cBSD ___...................._.... J76  биты рсжи\jз......... _._ ...___...90  блОКОJlиеНl.ироВаННоrо Y(.'ТPOCTвa ............._.._. ._.  . HP-L:X _  в 50Ian5.. 87, 271, 175-276 ________...__166 ----.-......_.___........... ___162 ___.87 _.87 __._87  во FreeBSD..__._..._._.............,.._.__._....... 176  блокировка в NFS._...___....... ...._.._ ._..__......515  влвде.'lеu ....__.. .... ......__....___....__... ........._._........56  ВЬUlолнс.ние в качествс сцснария..._._ щщ 91  журнальный.. _ .шш...__..._ 184. 232, 246  зрхиВироваш1с__._._..............._._....__. ....._ 230  обр.абOТJ<:В. ....................__.. _._____...___.....227  поиск _..._____.........._._._.... ______.._._.........._.230  ротаuия ._._............_............_._......_..._..__.. 228  список осноВНых.......__...............___._____ 231  }'НИ'ЧТо:жснис_.._........................._._.........227  индексный дескриптор ___.._.........................91  код режима ДОСТ)'ЛВ ._.._.........._...._____.._.000..._89  конфиrypационный. список основных... IO КОПИрО8aнJ.1е ._ ....542  по запросу.. ..._._...__....................542. 547  rтРИНУnИТС:ЛЫIЗI:I рассылка. ..._...._.542. 545  обычный _..._... .___.......... _..._._.......ы6  переКЛlOчен-ия ссрвисоВ...........327. 551. 596  посде.довательноro YCll'ocтвa._..__.........._ 123  права ДОСl)'па .......,..... __...._............._._._.___ ...89  просмотр аl'pибутов.....___.._____.................._._.91  различные 1'ИПJ:,.[ __......_........_.................._._..__ 86  сиСУеМ1iый._.... .._.__......__..._..._.._____ ___.__...._...541  совместое исполЬЗоВанис........ 54541 808  устройства. создание .....__.........._..._..___._.__ 151  _rhosts_._.._ __...._..............____.. ___.._.697  /bootfloader.con[..._..__._._.........._._...._____.____.... 38  /bootjloader.conf.local._.____.................__.. _.... 3  /еtс/зliase.s _._ .....__.___._._._......._......___........ . .110  /ctc/con[moduJes........___..____.................__ ._.279  /ctc/default/useradd ..._._.._.___..............._.__ .__113  /eLc/deraultdom.ain.. _шш 330  /etc/defauJtrouter _ш___...._......__. _ 33 1  /еtс/dсtаults/rc.сопС_.________._....... З52J53. 355  /etc/dfs/dfs'ab ..________...........__.._____._._............ 519  ОПИJ.;aНие .....__..._....._..... ___...__................520  /etc/dhclient_conf......_._._.___ ____.._.._............_ .355 ш /c'c/disk'ab _________........_..._ ____ 117  /etc/durnpchec .._............__ ...___________.._____..__ 212  /еLс/durnрdаLе,<.._........_...__.ш_.........._...._....___. 200  /etc/e.the. ._....._...._......._...._. 309  /etc/cxpOI1S .......... ___ф_ ........_._.......4.:П. 519  в HPUX_._. ..___.__..__......._.._._.._____........ 522  в Rcd H<l.t _____ ш__ ...___...._......... ......_____523  во FreeBSD. _________.._......_._...___....._........524  описание ..............._..______ ..__..__......_.......521 ........ /ctc/fsLab .._......___._____............_.... ________..264. 527  /еtс/рtеwзys.................._._._.___ ...._._..........374  /CLC/gcHydefs:  описанис... ..129  /ctc/geltytab:  описание. ._____...._....__._. .........._..__ ...__. 127 889 
 /e!e/group......................................56, 101. 112  описание ................__............_._.............. 106  релактирование .....__.........................__..110  /e.c/host.conF ...................................... 508, 552  /elcfhoslname...............__ ____..ш.З44  /e.c/ImsIS....309, 321, 327, ЗЗО, З37.338, 437  /etc/hosts.e.quiv.....__...____.____..........................697  /etcfine.d.conr...........................................___ 212  /etc/initlab.......................................44. 54, 126  описание ..........................___..................128  /etc/lilo.conF.................... З6, 39, 174, 256.257  /etc/login.conf............................. ____ 103  описание ............__...........................__....103  tclC/1ogingroL1p..___.__..____.____.___....._...._.._........101  /etc/lpd.conF.................................................776  /elc/lpd.perms ............ш............................... 776  /clc/rnail/aIIВScs ._._. _____...98  /сlс/mэslсr.ра5.wd......_._............._.._.._...........103  описание _...___...__..____...___._.___................. 103  репаКТКfНJвание ....................................107  /е.с/mоld..........................................ш.........126  /e!c/named.conf.................4J9, 48З, 487, 490  ИН'-'ТРукuня 8с1.....................................445  ННСТРYКUИА сОПlrоLs.........ш..шш.........451  ИН'-'ТРYКUИЯ include ..................._..........440  инструкция key..._____....__..___._.._......__....450  I1НСТРУКUIIН logging ..........__......... 441, 493  НIIСТРукuия орIiОI1s_..__._.ш__..._.шш__....440  инструкuия scrver._._..._.._.._...................446  ИНСТРУI01И51 Irustedlceys.......................450  инструкuия view._......_.....___......._...__.....451  ннстрyкuия zonc ............._........_....447450  лриМер.............ш...................453--454, 458  список соответствИ)I адресов .............440  список управлеННR n0C1)'J10M....445, 484  /clc/netgroup ................................................ 550  /elc/nctrnasks _____._______._._._.._._ .____.330  /clc/newsyslog.coI1f ..._.................................. 2ЗЗ  /etc/nodel1arne .._........................._............._..329  {eLc/nsswiLch.conr.................JJO. ЗЗ7. 505.506  описание .........................._...._........_......55 1  /e!c/pв...wd ..... 56. 99. J 03, 112, 126, 541, 550  зашита ................................... 690692. 694  описание .................................................97  редактирование ....................................107  /cl.c/phones: описание................................13s  /е!с/ррр{ррр.соnf ........................................з6О  /etc/prin.cap........................................749, 755  H8C11>oкa__.....__............_..._.................... 777  описаНllС __...._.......______..._..._..__....__._.._.___750  псременная ar.........__........_.._....______.___..752  перемеинам br ......._..__..........._..........._.. 755  перемеННDЯ [с.......................................755  nеременная fs........__._...._......__._............755  псреМСННёUI if..................._...._..............753  перемеННая If......................._...__.._._.._._ 751 перемсннв.я 1р ..................._..__........__.... 752 ПеремеННая rnх ___._.._...._.._.................._.752 переМСНН8Я "с..................._._...._.._........153 перемеинам of...................................___753  nepCMCHHaJI rm...................._._._..___.......753  псременная rp......_._.....___.....................753  переменная rw ............___......_.._............ 752  переМенная sd.....____...__.._........_._..........751 nepeMCНJiaJI хс.__.___..........._................_._ 755  переменнаи xs ........................_._.___._.._.. 755  расширениSl........................._................ 756  /e",/rc ............................................................50  /е.с/rс.солF.............................50, 352, З55.З56  /clc/rc_conr.local____...._._................................. 5Л  /etc/rc.config.d/nddconf ..........................__._ 341  /elc/rc.conflg.d/nctconf ....................._.337. 341  /e.c/n:.disklessl.............................................. 5 J  /etc/rc.network.............__._._._._........................ 51  /etc/rc.pccard ......._.....__.._...._........._................51  /e.cfrc.seria1...................................................51  /е.с/rс.sysc'I.....ш........................................... 51  /etc/rern01c:  описание......._......_.._..._....._....._._........... 135  /e<c/resolv.conF....................J26, 330, 434. 437  /clc/scrvices._ ___ ____.шш.......... ш 212. 292. 713  /elc/sh8dow _......._.___..____............................_.. 693  описание_...____..____._.___........................_._ 104  рсnaктированt!с ..........__._..___.........._...... 107  /e!c/shells .............................................102' 112  /еtс/sshdсопПg....................ш.................... 710  /ctc/sudoen_.................._...._...._....._._......._......59  /еtс/syscопПgfhwсопf .................................... 49  /C(c/sysconfigfnetwork .._.............................. 344  /etc/sysconfig/sendrnail................................._ 50  /e(c/sysconfigfstalicroules._.._......._........_..... 345  /etc/syslog.conF...................2JO, 2З4. 242. 244  в Red HIII_........_.................__.._..__..._..._.237  во FrceBsD...._.._..._____.._._.__..__....._.._...._.238  приМеры................___....______..._....._.____..__ ])9  формат .......ш........................................ 2З4  /clc/system ............................._......._............_ 252  /e",/t.ydeFs ................................................... IЗО  /e.c/ttys........................................................126  описанис...._.....__...................................126  /clc/t!y1ab,  описание............................_...._ _....._..... 126  /etc/Uylype,  ОПИС81-iие. ____....__...._................ __........... 127  /сlс/vFslаЬ..................................................ш 527  /sland/systcm .._.._....................._....._.__....__._..254  {v.r/аdm/lastlоg..................ш......................105 890 
 ch.ck!ist.............................. ......... ...... 156, 169 ... СО"'......................................................... .... 183  fs!ab ...............34' 82, 158. 160, 169, 174, 178  fstab:  описание _...__............_....___....._...._..........156  serviccs.................................____...__........_.......866 ... _1Ь'.ь.......................... ........................... 34, 15б Файловая систеМа.................___.....__..........80. 154  8втомаП1ческос МОН111роваНИе 155 ... . Red Н.. ........................................... 174  в Solaris. ___._____...__................_.............. 165 ... во F"'.BSD........... 178  восстановление из архива......................... 205  nеМонтироваНис...............................__.__________82  каталоrи. список основных ....____................85  компоненты ...........___.....__.............._..__. 80, 154  монтироваиие ........._....____._.. ш _____...__....82 ... в NFS........................................... 527, 531  орraНКЗ811ИЯ .____.............................. .....84  оТладк.а........................................................ 160  провсрка .............. ......................................159  в Red На! .......................___ .................174  в Sol.ris.................................................164  резерВНое коrmpование ....... .....................198  резидентиая ................................................. 804  совместно исПОJIb3уемая......шшш..... щ .....sI7  создание:  в HPUX...............................................169  . Red Н.! ...................... ..173  8 Solaris.. .......................... ...164  во FreeBSO........................... ..177  удалеКН8N ............................. ..... ...............527  автоматИЧССkое МОНТИРО8ание .......... 53 I  чистка .........................................................183 Ex.cnded 2...................................................173 ... FFS...................................................... 154, 173  FS .................................................................169 --- NFS........................ ...............................183 --- UFS ................................................... 159, 164 ... VXFS...................................................IS9, 169 Фактор уступчивости ___.66 ФуНКllИN:  exil() ....................................... .........67 ... clo..logO ............................................. 234, 245  gelhoslbyname() ..... ш........................... .....430 ... opcnlogO ",.'... ........................ ........... 234, 245  setrlimil() .....................................................444 ... sysconf() .......................................................444 ... sysiogO.................................................234, 245 ц Цифровая подпнсь ................................... ш 488 ш ШИроковешаТeJl.ЬНЫЙ домен ................ ..396 э Электронная почта... .....563 атет:  достз-ВКи........................................565. 568 --- nocтyn...........................................S6S, 569  ПОДаЧИ почты..................................... 569  пользовательский......... 5б556б  транспортны.. шш........565. 568  алресanия ........................................... ..570  заroловки сообщений... .......................... 571  компоненты ...........................ш ......565  маршрутизаUJ1N сообшени .466  на персональных КоМпЬюТс:рах.......  ..814  пОчтовые каталоrи .................... ..577  по<Л'Овые псеlШОНИМЫ ..___................. ..579  ПОЧТОВЫЙ сервер ...... ....................... ..575576  принuипы орrаннзаuии ............................515  спам ............... ............................. .......564  структура сообщеНиJl...............................510  храннлише сообщсни ........................568 я Яnро .......................... .... . .............248  заJружаемые модули ....... ш 277  В LLПllХ .................................................. 278  в . Solaris............................................... 277 ... во F"'.BSD...........................................280  инИI..lИ8ЛИза.ци.я ........................................... 32  коифиrypированнс .................ш.....ш......... 250 ... в Linux..........................................255, 257  в SOlaris................................. 250, 252253 ... во F"'.BSD........................................... 269  область ПОCТJIоеннн .................................. 250  П8раметры:  maxswapchunks ..................................... 170 --- rnвxvgs ........................ .....167  ПсреМеНныс................. .... ........................ 269  ПОCТJIоснис: --- в HPUX............................................ .253  в Liпuх ................................................ 256 --- во Fre.BSD.................................... 2582бl ... типы........ ...........................................249 Язык: ... PCL................................... .........................741 PDL.............................................................. 740  Post5cript ..................................................... 74] 891 
А addhost ___.......................................... ....820 adduser__ ....820 Amanda. СИСТС!of.& ре.зсрВRОro КОПИРО63.ния..210  архитектура .....................__......................___.211  восстановление файла .... .........................223  ЖУРНВ.Jlbные файлы шщ._ ..........._219  ИНСТIiJUUlUЮt .......... _____.___.212  kонфиrypаuия .............._........___._._........_.... 21)  Отл8.llX8.___.......__............................................. 220 прOlрамма:  .m.dmin ..._...........................213' 215, 223  amandad............ ._____ш__....__....___112  amcheck ..............................._............_.... 213  a.mclcanup ......_._............... .............__.....213  a.mdurnp ....._..__....._..__......._.._._._..._______... 21)  аmПush____. _________________..__... __ 213, 220  .ml.bel.__....._...........___......__........___ 213214  arnplol ......__......_................................_.... 213  8mreslor__._...._ __.._...213. 223  amlape __...__...___..........._.... 213  selfcheck .........._.___........_..._...._................ 212  sendbackup__...__.........__......._.....____........ 212  sendsizc: ..........._............._..........._. 212. 222  . !8pel)'pC................................................. 216  ф.йл:  amалdа.соnf......................._................. 2] 3  diskJist....................................................2]8  uикл архиБирования...._.............__..... ._.. ...215 Ap8che:  ИИp-I)'aJIЪные ИlIтерфеitсы .__._....._... __........730  демон hLLpd. ..........._....__..__.. ......_._...__126721  запуск сервера ...................................__....... 727  lо\НСТaJ1ЛJНLИЯ сервера шш__ооо ш 725  конфиrypирование сервера ....................... 726 APN IС __.............__......._................._.......____________. 424 ARlN ....__________________ _________________...__.... 299300, 304 ARP, протокол .............._........................_.........287  описаI01С ._.__......_._............... __.........._....._....307 А ТМ ._.___..__.____._... _____._.___._.____..____.______.403 в ВСР. ерип документов шооошшооо 186 BGP. проТоКол......_..._._.._...._.._..__....._.... 368. 39 BIND. flакет. ш 418. 425  anпара-тые Ч'сбоваНИ51 .... ._.......__.438  версия _ооошшшшшшооошооошшш 425, 441  оnpеДl:ленис: текушей ._.._......__... ....____425  neMOti narned..._.............._......_._._ _.421  журнальная рerистраuиJl.._ .493  каналы ..494  катеroрИИ сообшений ...._.............__.._ 495  уровень серьезности ... ........._._._.__... __ 494  исТориll...._............ .... "._' 416  клиент........... ._..._......._............_.__.. ......434  компоненты.. .__....._....................421  конфиryраwrонныc фа.&;\лы .... ....... ..._......4)8  КОНфИ[)'рнрование .........._._._......шш__...... 437  па.ра..\4Ы конфиrypашt.Н ........_............._.. 440  allowquery ..__...._._.........................__...... 44:5  аuоwrcсuЛiiоп..........___...___..._ 000 442  aJlowtransrer ............._...........__.........._.. 445  also. notify .................._...._............___._ 441  . bIackholc.._____._._................_................_.. 445  chcck11ames ..................._........_........... 442  dlrecloIY.... ...............____.....44]  ш..................... ________________________ 444  forward ......................._...___._...__._..._....... 445  forwardcl'5.._ ._445  listenon ....__..._.__........_.._............_..._....... 444  mаlПtаiПlхfrЬasс....____.._...................... 442  nOLifY ..............._...._ ___000000441  qUeIYsourcc ...._....._____..__..............._.......444  recurslOn ..._.._ _ооош 442  теl опIс:с ......__..............................._...... 445  serialqueries................... ..... 443  sortlisL __шооо ш__шш ...445  lоро1оЮ' ........................_..._......_...___.__... 445  Irаnsrеrtопnаt _............_.....__......... ..443  Lransrcrsource ._....................... ..443 transfelSin... ......__. 443  trапsrеПiоuL ...._... _.44J  Iriil1sfc:lSpc:rns_....._ ..443  tlseidpool_......_..._............_ ............... ..442  \I<:rsion............. ...............................__._ 441 предстаl111ения шооошшооошш_____оооооошшш _ 451 IIримеры конфиryраUИ1 .._.......452. 454, 458  ПРОll'амма:  dnskcygc:n  dпssесkе)lgеп ...._.  dncmakeke)lSel..  dnssccslgl1kc}  dnssecsignLQne..........  dl1s.<o;igl1er..  namedxfc:r .... воотр, протокол ________..____.__.___486' 489 ____.__.486' 489 489 _.490 _ 490 _ 490 _ 481 ___310 с CAIDA_......._....................__..__. CENTR ............................__._.. CERT сGIсuен8рИи __ _____________.___302' 471 __________ 424 __......._. 715 ____723 892 
CIDR, "РОТОКОл............................................. 297 : r;;,j::....::::._..._.__...___..__:::::._:. ;: CiIiCD. маршр>'Тюаторы ..........._.............. 372. 390  операuиониам система 105..................... 390 COPS .............................................. ............. 704 CSLI Р. лротоКол.........................................313 о 'p .::_::::::::::::::::::::::::::: :  "онфиrypI1РОванис"  . н Р  ИХ ..................................341  в Red Hat .....___.__..шш.................____..__.347  в Sоlапs .....................__.___......................332  во FrееВsD.................____......................з55 описаНие..... .........---..-_............__.___...............309  ПрННUИП работы...__шш.... .........................310  прОI-ра....IМНые КоМпоНеНТы....ш.................309  реали3<lUИЯ ISC ................___.. _.310.311.355  ..:о06шенис.  лСК.... .....311  сообшеНl-tе OECLINE ...............__....__..311  DISCOVER.. 311 = :;iR::::::::::::::::::::::::::::.........::::::: RELEASE... ш.311 O REQUES::::::::::::::::::::. ::::.:шН;4....:  6а:м данных ...._..._.. _шш .459  nиреК"I11ва $GЕ!\'ЕRAТЕ.ш ш... 470. 477  директива $ICLUOE _...477  т1реПНВа $ORIGIN_...462. 465. 476477  пнрек.тва S;ТТL ...__.. _. .....460. 463. 477  дире"''Т1ВЫ.._... ____.._..........._... ____._._.....__477  записи о рссурс8.)(.. __._..459  заllИСЬ А.._. ..___...........___.___....____ 464, 478  .!ЗЛИСЬ А6 ...__............._........._.. .__...._.....474 заПИСЬ АААА .__........._.._..___._._............... 474  заПИСЬ CNAME.................... 423. 468469 .!ЗПИСЬ ONAME.. _._._._._................._. .474  JaПИСЬ КЕУ.. ....488  .!злись LOC ......._._......._.410 3апись МХ .__...466  JЗПИСЬ J\'S _.... 464, 419 заmiСЬ I'XT.. ..............._._.... ....490  запJ.iСЬ PТR. ... ____.... .46(j  запись SIG _._..490  заПИСЬ SOA............_......... ...415. 461  запись SRV..._....._....__..._..... .'. ..471.492  JafТиеь TXT..._.........._._...............___........471 Jапись WКS .__.472  lUJacc записи. шш_ ____..........460  оБНОR.Т'lсние _._......_............_............4110. 482  СВ.f0!3уюшис заrlИСJ.i ............................... 41  . HP L;X ....ш.......................................... 506  . Red Hat............................... .............. SQ7  в Sоlалs ............._........._..____....................... .505  00 FreeBSD ...................................... ...... 508  выбор J.iMCHJ1 доМеНа__...____... ___................42)  lIслсrированt1с___._.__......_.._._..... _....._......__.... 431  .побавлснl1C HOBoro КD"fпьютера...............414  зона localhost ........._............_..._.__...._...478. 504  зонные ПерССЫJJКИ .............. _....428. 443. 4t11  ии кремснтные ._.. ___.442. 446. 448. 4Ю  .IСТОРИ.н . ...__._..._...................___..____._._.._......... 416 конфитурирование _... ш 326  КЭ1lIИрование ........_.._..____.............................432  ОТРНli8тельнос: ......... ._...._._._._................432  напрасное nе.леrированис............_ ...424, 502  обратное пре:06разоВаНие................. 419. 465  в стандарТе Iр\'6 __._....474  посрсnствщ.j записей CNAME._. ... 469  основные задачи.. . ... _____.__.. '.._. _...... _ .4J7  ПОрЯ1lКОВblЙ Itощ::р зоны ........ 415  проблема n'О'\1СНОfl .'._."_._'_ ... . .423  пространство ItMCH.. ...___шшш__ __ ..... .419  npllMoe преобрззование. ......_....._...._.419. 464  в стандарте IPv6..................._........ .....414  распозНаватель............_..._. ___.417. 421. 430  КоНфНI)'pированНе.._..__..___._._......__.......434  тестирование ...шш...__......__...___.ш.__....431 раСШJ.iренная Версия (ЕDNSО)._.ш..шшш433  рсrистраLIШI nOMC::In...........__......__.._. ...ш 424 сервер ис:н ....._ ..__.._._...__.................... ш.427  с:\вторитеТ1IыR. ._.._._...___._._............42. 464  r..'lа8Ный.._.._..._._.... .........__...._..._._.4211. 447  кэширУЮUnIЙ ___.....___._..._._................. ..42S  Нерекурси8Ный__....__ .....___............. 429  переадрссуюший ._... 444  ПОД"lИнснный ... _._._.._.....428. 448  разновидНости..___._.____.. _____._..__............421  рСкурсивНы:й_......_....._........_._..__..___..._.__ 429  усечеННый_...._..._._.........................428. 479  сил;атуры траНЭ8.кuиR .................._........ ..486  c03l1aHI1e по.ддО1еl-ЮВ _ ......_...... .........424  слеUИфlfкаuия ТКЕУ.  оn:и[:ание ш 486  слеuифи Каuи--Тsi-ёj.:::::::::::::::::::::::::.._. 419  описаtlие ....... .ш __........_.......... .486  ссылки ежп.у зонаМJ1 ..___._...._...__.._.._..... 41t1  CXC'ia работы. .... .......__......43J. 436  управленис .поменв.ми ................._..._._...____. 422  файл "подсказок" .._._....._..430. 447. 449. 503  liИфрОВая подпись ........._........................... 4Н8 DNSSEC, сl1еuификаuи...............419, 421. 450  опнсание _........_...... ...__________.......___ ..488 893 
DS L _______.___.._._..__.................._......_..4O5406 ОТЕ. ТИП YC1]>oj;jcTBa _ 116. 122 DVMRP. протокол ......__..................................373 Е EIG RP. протокол ............................................ 36  олисанис..._...___щ....ш_ __ш........__J72 Elhcmct __......__..........................398' 406  исrориJl............___........... ............................394  ЛрИНШ1ПЫ работы .............................0........395  ТОПОЛОП111 .____.____....____......_........................... 396 expeCl, JlЗЫК СLlСНариев. .................................547 F FDDI_._._._._.___..____ __.........._._..__...__.___..__401 Free BS О .____....._....___............_....._.........................22  анонимный FТPcepвep .._....._...................734  1:\иртуаJlьные интерфеl1сы _..................___.... 730  lIC:MOH galed ._.............................................. 388  nl:MOH mountd .... ._.__.___.._._............519  nC:MOH пrsd ._____.ш.ш_ш_ш.шш___.__шщ._.526  nCMOH nfsiod............._.... .............................527  демон rouled .._._ш_.._....._.__......_._.._._....__....38  демон vixiесrол.........................................185  демонтирование фаА.110воJ;i систсМы..........83  добаалснис пркнтера ..щ._.___...__шщ__....____772  ДОКУ!wlентаuия .._... .. ....................................... 24  драАвер уt..роJ;iспа:  добавление ............................................ 275  журнальные файлы ._ .__......._....ш..._.. ___...233  заrРУЗ1IJtк .-. ......._..........................................__37  задание исходноro пароМ _...................._.. Ш8  задание локальноrо приНтерэ_................_.773  ИJtСlrтИфИJ(Вroры llJупп.._____..ш__._..___._.____..IОI  командв:  fstal.. ......_..._..........._...._...... __........._...._.._84  ping.._ _____________________________________...........____ 664  ps ._____ф__.ш.74  ps(at.. ....._.. ........_..._........_...805  КОНфJ1ryрирование оНсР......_..................з55  J(ОНФЮ1'рироваltие ррр _.ш....__ш.ш.._. ___..360  МОНПlrоваl-lие уnаяСНtlЫХ файловых C..ICТlM..._.........._....................... 528  МУЛЬn1систеМt(ЭН заrрузкаш...._..._......._._.._.40  о.дНОПОЛЬ:J08аТСЛЬСЮiЙ реж.имщ.....__..._....._.42  nак"" BIND ............................................_...508  l1арОЛJ1 nользоВаТелейш.. _.._....._100  J10дкllЮ'lенне жеСТJ(оrо писка .175  принудитслыlяя рассылка файлов..._____...543  приоритеты ИL'ТО'ПН.1КОВ Iшформзuин..._.552  редактирование парОJlей ._........__..___.... ш 107  сервер Apachc ....__....._...._щ....._.................. 726  сетевое конфиrypJIРОванис _._..._.352З53. 355356. 362  система NAT .............._....___.. .__ш._..фJ02. 356  система SysLog ................._._. ________._.._..23Н  служба NIS _.____._............._..............._...._.___.. 558  старТОВЫе сuенар1и........._...щ._ш.__.._........._50  статическая маршрyrИЗЭIIИЯ ................._... 325  УПРВRJlсние У'lетtlЫМИ ЗЩIИСЯМИ. _....113  файл:  /etc{log111_conl- ............"'" __.. ____о. __... 103  lеlс/П1astеr.рЭJi.."Wd......__.. __...__....103  /«c/passwd .__.._._.____._............._........._...._691  /C(c/Ll'!/S..___...............................__.......___..126  фаЙJIbl псмона сrоп... __.....__... _ш __ш IЮ  фаЙлы последовательных устройста.....___124  филыpuии пакетов ........................._318. 356  флаrн доступа k фаА.118М .__.....__.._...............93  ЭКСПорТ фаЙJJОВЫХ систеМ ...._ш_ш._......... 524 .lljJo_..._............._._.___.. ____..................._...__ ____ 249  заrpужаемыс модули .._._.._.........____...___ 2НП  КОltфиrypИРО8alIИС ...................__.... 26')  ПострОСIIИС.._. _.....___..._ш..._._....._...2s:!ы  файл ковфиrypРllИИ ....._....__ 259, 261267 FТP. . проТокол..............................................._ 713  анонимный сервер.........__.ш.__._ш..._........ 732 FYI. серия lIoкyмeffiOB.._..._._...__.................... 2б н HPиx __........____.__. __.._....................................._ _21  SN MPaceнт ..............._..._..__..._..__...._......__...679  s(jсkyБНТ . '__'_"__''_."__"""_""""""""""""'" 90  Вllализатор паКетоВ........_...ш...__. ____..673  анонимнЫЙ FТPepвep ........_.............ш_.. 734  виртуальные иНТерфсйсы......._....___...._. ..729  neMOH galed ._._ ш.. З8  nCMOII iлеtd ............................_..___._..._....__.. 704  демон nfsd._.........._.................................._... 526  добаRJlсние rlринтера .._.__......................_.... 770  ДУrIЛексные порТЪf ...._.............._..._.............136  ЖУРН8J1bl-1ые фа&tлы.__.........................._.._. 233  журнвльный режим ................_.....ш.__...___ 159  залание пOкaJlbHoro ПОCJ1Cl1.0вателЬНоrо f1ринтера........_.....__... __.ш.770  команда  dr.............._......__...__.___.__....................... 156  ping........_...___..__.____.___..._.........._._......... 664  ps............................_._....__..__.__._.___......._.75  mt............................___________._________.___.___._210  КOIiфитураUИОliНЫС файлы _.____..47  конфиrypирование онср ....._.................. 341  КШlфИrypированис DNS ........................... 327  J(ОНфltrypированис ррр_ .___._..343  монтирование у.nаленных файловых систем ...................................._.. 52Ы 894 
 ОДtJOпользоватсльскиtl рсж:и.....................41  пакет BrND _..._._...._...._......_....._....._............506  парали пользователей....... _..........__....___..._100  ПОД1СЛЮЧСНJ.lе Жf:L"'ТКОro AI1CKa.... .. ....166  сетевое конфиryрирование ._....__....._.337-339' 341342, 344  система NЛТ__ ___....__._..._..._....342  CI1L"'ТeMa SAM .._..__._.....................................339  служб. NIS .........___.___...._..___._.....__.._...........557  стартовЫе сценарии ............ 000...._...._....46  теневые пароли .... .....___.... _.............._.693  управление учетными записями .......___.... 112  уровни выполнении ..................._.._....______128  фаf1:л /etc/10gingroup___.. ...___._......_......... ..101  фаfuJ cbeckHsI........._.. __._.............._.. 156  фильтрации nзКетов._....... ...........__..._........]42  экспорт фаfuJовых сJlстем.....................ш.522  ,шро........_....__..._............_....___........._.............249  построение_._.....___................._...__._.._.....253 Н1IР, протокол ... .................._.._..___...__._.......721  версия 1_1....._...__...... _..........._...............728  выбор серВера........__.......__..__.___................_. 724  иш:таллМЦИ51 сервс:ра_.__.............._.___...._....._724  принц"п раБоты..__....___............._.. _..._723 НПРS. ПРОТОКОЛ .121 IANA ....____.._....._ ____________..472 ICANN _........_.. .2Н5, 300, 419, 424 ICMP. протокол ... ___...__...____.......287  пере:3.I1рссацНJI..........._....._..........307. 317. 384 ICP. протокол _.. _.._._..._.............. ._. _______ ......_.731 IОЕ. интерфейс ._.._.............._.._...__...._.......140-14 r  описание...__... _. ....._. ......_.................._... 146  сраВНСtШС со scsi..... .._..._............_..14H IETF .....___ __________ _________..........._....._..._285 IG МР, [IРОтОКОл................ _____........._.._.._._.293 IG RP. прОТОкО.'l.__........_.__._.___.................._..__._. 368 IGRP. протокол:  описание..................._._....................._...__.....372 IКЕ. Протокол ___..___............_.... _.__.319 1 МАР. протокол ._...._..............._.___........_........_._ 569  описание ............__.........___._..__._............... ..__ 578 InterNIC _...._Ш............_. _.______.._._.....300 IOS. операllионная система .__..__.............._ ...390 'Р. ПРОТОКОЛ_. . ______...000000_____...287  пакет __......._..._._............ ......_.__....._......_.. ___.288  разбивка пакетов ._ ._.....191 IP-aдpec._..... шщ.293. 297  8 станларте 1 Ру6 ............__.. __.............._.....302  вь!l1слеНJ.lс_........_......_._._._ _. _....300  rрупповой ..... __.._.__........_._._...._........... _...._..293  КlI8CCbl......__ _..293  маска подсеnl..............................._..._..___._.. 294  нanp3RЛениый ..____..................._..193  обратноА связи................................_......__..293  порт...... ...._....._..._____._...__...__.. _.... _....._......292  прс:образование........_._.....___...._._.._.__....____... 307  присвамваНие ........._........_..__.._. _.32]  cc:тeвo ._............_......... ._._...._.... 296  сооС"П!Ие аПпара1l-l0МУ аарсс)'.. ..292  ткпы ......_......._..._.. 293  часТНЫЙ .............. ......__.___..._.....____...___...._.._ 30 1  широковещательный ...__.........293. 296. 323 IPFilter. Пакет.. ____...__........335. 342. 357 проrpамма:  ipf. _.. 000 ...357  ipfstat .........................._.....__... 357  iprnon......._.._....._._......__......................... 359  iрпзt .____..._...................._.....357 IPSEC. протокол .._._._...._.____..__........................ 3 19 IРУб. стандарт ...______...._... __....._ .._..._.._. 297  адре:сация .__..... .. ..........._.._. ___..........302  подаержка в ВlND. .._............_..........419. 473 IS-IS. ПротоКол..._..._....._. _..._.___...___.._._..._'_.'. 369  описание ....... 373 ISC: DНСР-клиент ...  ОНСР-сервср .......  IIIBKCT ВINО...  реалИзаUИЯ ОНСР ISDN_._________________ .._.__ I SOC..... ..355 311 ...416. 425 __...._............._....____ 310 ..405 __..__._._____.........285 к Kerberos.. __.._....._............518' 707 L LCP. ПрОТОКОЛ _..._..._.............._..._.._.__._.... ._._...313 LDAP, nротоКол_...__._..._.... .............._.....322. 560  документация... 000___...._._........__. ...ооо...шооо_561  использование в sendmail__....._ 579. 590, 614  пра....'Ти.lесКое 11рименение _._______.._ _.........562 LILO...... ____.___.__..__......................_. ______.__... 36, 256  заrp)'зчик ______.__....__......._._..................... 174  конфиrypирование ____...__.........._..._._._.... _.__.36  Мулъn1сисТс:мное....... . ........__...__........... 39 LIПl1Х LVM. менеджер томов ..............._.___._..]54 Lillux.  I Рмзскнроваl-lие. ._ _000 302. 350. 352  драйвер уt.-тройства: добавление _...000...... 173  :JSrpуз'-lИК LrLO . __.... ___... 36, 39. 174. 256  мультисистс:мн.ая 3J'I1"рузка "'___Ш"''''_ ._ 3Н-39  однопользовательский режим ...41  CJ.iCTeMHble процессы .._..._._.._... _..33 895  Я1lро ....._.................._............_.........................249 заJ1:!ужаемые Моп.ули......_...____..__..........27 Конфиrypирование.......__...._.....___ 255. 257 построение ____...___...____..256 LMTP, ПрОТОКО;] ........___...........__......_.._.__......_.. 618 LPRng, слулср..................................................773 инсталляuИJI. ................._.............................. 775 1<oM8I-1ды......_........._.__...__.. ____.._._.....___..774 1<онФиrypИРОВ8ние демона lpd ................776 настройка базы панных printcap........__._ 777 Н8.CЧlойка прав AOC1YflR. _000_______.._...._.....776 учеТ C11tаниu ..._........................................... 778 фильтры печати....................__......_._..____.....777 м т4. npenpoucc.cop ............................................ 237 МАС, протокол ................................................ 291 crO!UlllpT IPv6..............................................303 MIМE. спftДарт ........................... .....566 MOSPF, протокол _ооощ 373 N "JлТ, система._ ................_..301 а HP-lJХ ........................ ....342 в Red Hat _________________....348 в Solaris.........................................._.. .._......335 80 FrecBSD ....... ...356 NCP, протокол .._._..._.._..__............_................... 3 13 Nessus ................................... ..._......._....___.____...702 NFS ........... ...................... ...........513' 809 безопасность ............................_.._._.__. 517. 699 блокировки фаfuJов.... 515 версии ........................._..___...__... .___.....513 выбор порта........._....._..................... ...529 выБОр lpaHCnOpпtOro npOTOKO)la._. ...514 дисковые K80ты.........................................5155 и.леитификаторы пользователей ._.. ..516 имена файловых систеМ.___.__.._......._..._......517 Кllиент ____.. _.__.__......527 . кэuJирование..................._.......................... 527 монтирова-ние фай..rIОnOЙ c ,cтe:MЫ ...........527 аВтоматическое.._........_....._..._...__.... 531 пользователь nobody __....__._....-0-_..__..... 6J, 516 пользователь root ......_......._...._....._000.._____..516 сеКреТНЫЙ ключ ....... ....517 серВер..__...._. ..._._........................................... 518 система WebNFS .......__........._.__.......__.._._.... 515 NrS+. информаUИ:ОНН8М служба_. ...__ 549, 558 NlS. информs.UИОН!-I8Я служба ............. 549, 551 безопасность ......_..____.. ..___....._....__........ .698 в pR.3НЫХ ОС......_....... __._._._..557 демон: ypbind ... _............_554. 557 yppasswdd ..................................... 556.557 ypserv .............._............__.....000 554, 556-557 ypxfrd.............................................554. 557 список сушествуюших. .................._._.555 карта ypserveB ................................_........... 554 команда: domainnamc: .__....____.... ...... _........... _.._ 557 rnakedbrn .._...__.. .___.._............................55) ypтj( ........ _...555. 557 ypmake......._........ .__.550. 554 yppasswd ......_....._..___. __._..__..____._........55f1 yppt!sh.. """.'__ ...__.._.....554 ypseI ._..._.......................... ......_ ._._......._550 ypstart..._ ............557 ypxfr .........................._...__....._.......__554. 556 список сушеcrвуюшнх ....... .._._____..._000 5:55 конфнrypирование К11ие.НТоВ......_.............557 конфиrypнрование сервера ................. ....556 преимушеCffia и не.постатки_. ооо___ш 552 сетевые I-РУПС1Ы ._.___...._....._...._.....__...... ....550 со:шание доМеНа...................._......___..____.....555 сраВНение с NIS+ ..... ....558 схема раБОТЪоI ___..._._.__.._.._............... ............ 55 NS. спеuиалюироваНllые серв<:ры ....5:10 ;\ ТР. протокол ..... .... 76 о OponLDAP.. ....562 OPIE..................................................................711 osr. МОдель................._.._.._ ._шш 187 OSPF. протокол ....369. 3 9 конфиrypнрование __ш. 383 маршрyrnзатор: отмеченный .... . J 2 n01lJ8}fl1"IHbJ/.i .........................__._._._._..._. 3 I об."lасть маршрyrи3J'tШ1И .............__ ......_.....J I об."18СТЬ маршрyrизаul1.И: ОПОрВaJI... ___ ... Лi2 описание ......_.._._._................_............_.372. 381 ОТР. СТ2tшарт.ш__. _. ___......._.. 71 I р PGP .............ш.......................ш........................7О8 PI М. проТоКол...._. .___..___.._...._.......................... 373 РОР, протокол .............................._............_._._. 569 описание ......_.._......._..........._..................... . 51 POS[)( ....... .....................................859 Postf1x. почтовая сиcttма ...._...._......_.._____. ш.653 архитеJC1')'ра ........._..._.__. ..___........653 конфиrypирование ._.___000000____.___.........654. 657 очереди сообщениИ ........................_.....____.653 896
 слам ....................................._....................... 656  yrюrиты tr::ом8.НlIНОЙ строки.................... 654 ррр, лротохМ..................................ш.............315  безопасность ......................................_.._..... 3 16  диалоroВblЙ сиеиарий ........__....._._._...._....._.317  конфиrypирование:  . НP.UX...............................................343 ш . Red На! .............................................352  . so1aris.................................................336  во FreeBsD...........................................360  мариrpyrизauии ................._..._._................... 3 16  описание._...._._.,....... .... ....._.........._.___..___._.313  ПОlIКЛючение к сети ..................................315  присвосние iШресов _._................................316  проиэводительноС'!Ъ .ш_..._......__..................314  терминальный сервер ._.__......._................ ..317 рррср, ПротоКол.............................._.............. 311 R R.A.RP. протокол ...._...._....._........ _. ___..____..__....308 Red Hat Liлuх ..................._._._................._..... ....21 R.d На!: 8Н8ЛIo1З производитеЛЬНОLIИ ..............._... ..805 анонимный FТPcepBep ................._..._... ._734 виртуальные интерфейсы .............._...... ._._729 выбор пароля ........ ..........___...._................__.. 692  демон galcd .._..........................._...._.............388  демон rouEed ....___...................___....._............388  демон Vixiecron.........................................185  JIобавление принтера ______....______...__............771  дуплексиы.e nopTbI........_._..._.._....................136  журнальные файлы.. _.........233 ш заrpу''lИX LILO........... .... ............................36  запание исходноrо паролн ........................ J08  задание локильноrо последовате.лъноro принтсра .._......... ..... ....._._...___...._............... 771  запуск приложсний Windows._.. ....._..._...1:115  команла fuser ___...__.........................._.....84  команда Plng ..................._.__._..._._................ 664  коман.па ps .._....._..............._._......................._. 74  конфиrypишшнные файлы..........._....___._..._.49  конфиrypнрование DНСр._.......................з47  конфиrypирование ррр ____..._..._.................)52  модуль rpm.. .._._....... ._.. ......_...___...____.. .._....... 202  \jOI-п-ироваНJlе УДИЛСJ-lНЫХ файловых систем. . ._.........._._... 528  ОДНDПОJJьзовател.ьски.й режиМ....... 34. 42. 54  опрсде.1СJ-lИС версии BIND .......................427  лахет BIND ................................................507  подключение жесткоrо диска.... ..............170  ПРИНУ.IIИТСЛЬНВ.я рассылка фаА:."IОв.._._.... .543  проrpaмМ8 ВutоmОuлЕ..___._._.......531. 534. 536  сетевое конфиrypирование __.... 344, З46348. 352  система NA Т .............................._.......302. 348  система Syslo8 ...__......._...............................237  служб. NIS........ ........................................557  стартовые сценарии. ... ...._......................47  стаТИLlсская миршрyrnзаUИJl _....__... _ 326  управление уетНbl\IШ записями .._._........_ 112  уровни ВЫПОЛНСИl-IН .................................128 ш файл jetcjshadow....... .....104  фильтраuия пакетов.. ___......_....._.318. .41.(  экспорт файловых систем ............_._____...__ 523  пароли ПOJlЪЗоватсле_.............._................IОО RFС2196.............................ш............................ 820 RFC, серия документов ......................_...._..... 21.(5 ЮР, лротоКол...... .... ..................368' 389  конфиrypирование ...._.. ._ ._ ....__..380  описание ._................................................... 371 RIP. происссор __.............._....._......................... 740 ЮР2, прОТОКол ......._........................._......... ... 371 root. суперПОЛЪ30ватсль ....... 55. j758, 100, 694  пароль........_..._................_. ......................._ ..57 RPC. проТоКол...__..._____.................................... 514 RS232. стандарт ........_.............................. ....114  сиrnальr. список...__._.. ......_..._................... 116 s SAGE....................... ... ................ ..856 SAINT .............................................................. 702 Samb. ................................................................ 809  демон пmЬd...................__....__....__.__.._.. .810  демон smbd.. .._._._....................._._...810. 812  комаНда smbstatus ...__. ... ........812  КОНфИf)'pироваНJiС ...................... .._...81 О  ОТЛallXа ...._ ._. ...  12  лроrрама smblar... ..211.219 SANS... шш .....................................................716 SASL. ПрОТОКОЛ. _.... .648 SA Т AN .................... ........................................702 SCSI, интерфейс...... ............................. 140 141  описание ._......................._..._..... .__._142  ср3ВНСюtс с IDE..._... ..... .. _... 148 scndma.iJ. почтова}! системli............. . _...563. 872  "черные" crutCI01 _.__...___._......................._...635  areHTbI доставки .._. ш 607  6азз ДОL'7)'ла... .. шшшшшш__.633  безопасность ..641, 648. 6С}9  библиотека Berkelc",' DB._.. ш 5t.(6. 6L 1  библиотека ndbm ._..... _..........._..........586. 611  Версни............_.............. ............_......_._ ..594  доставка почты с коммснтаРИЯМ11 _"'._'ш 650  запуск с измененным корневым каталоroм ..._. ......_..... ......_..................._...... 645  ИJiста..."I1IJI.ЦИЯ .__....__....................................... 595  история....................._......._._....__. ................. 593 897 
 коды состоянин доставки ..000....................634  конфиrypНРО.."". ....__._... 601. 603. 605. 609  опuии ....................................................619  приМеры......................................... .....622  макроКОНстанта:  MAJLHUB ___________________....._.__..... 616. 625  SМAJПНОSТ _. __ 616, 625  макрос:  DOМAIN ......__ ______.__.. 607  EXPOSEDUSER.....-...-....---..-..--.......--615  FEATURE........._ __________.._.609  GENERlC..DOМA[N ...__.......___.____......613  GENERJcDOMAJNFlLE..........-..-.-613  LOCALcONFIG......-.--------- __626  МAILER _____.___..___.......__.._.._..607  MASQUERADEAS _._.....___.____._._ 610, 615  MASQUERADE..DOMA!N ______ __.___.. 615  MASQUERADEDOMAIN..fILE__. бl5  МАSQUЕRАDЕЕХСЕРТЮN ___._._.__.б[5  OSТYPE .___ _._.._....._._...._........._. _____605  RЕLAУDОМАIN..---..--...-.-............----.б31  RELAY..DOMA[N..fILE...._.___.___ __.б31 --- VЕRSЮNID ._...._._.___............. ________._.605  VIRTUSERDOMA[N.... ______......._.. бl4  V[RТUSER..DOMA[N..fILE ..___ ______БI4 h1вршрyrизаUИ)i сообшениf.!. ___ш..... 467. 617  маСКИРО8аI'lие адресов .................... 615, 617  направление по'.ты в проrpа-.вlу.........ш.582  безопасное ........ ......000....___........... ...644  иanравление почты в фаЙЛ ......................5Н2  безопасное ............ ...... ..................... ..644  описанис......................................................592  опuин конфLдеНuиалъНости .....................644  оТладка......................................................... 649  очередь сообшеНий.................... .598  псренanрав.ление почты............. ....... 584  права доступа ............................. . .643  препроиессор m4........................................ЬОI  проверка заrоловков.. 636  псеааонимы. ,шш",,','ш', ... шшш .. 579. 583  ХЭШИРО8аНIIЗН база дaнllhIx................5H6  реrистраllИИ событиt! ................................. 652  режимы работы ..........................................597  ретраНс.ляuия ...... ...630  спам .........шшш.............. .....628  обработка .............................................. 637  примеры ............................. ....637  спсuналъные ПQ11ЬЗО8атели... .....642  списки рассbIJIКИ................. ___ 581. 587  средство................................. ........609  acce66db........................... ................633  aHma.squerede .............................. .. ..___.616  Blwaysedddomain ............. .. . . 610  Ыасklisсreсiрiепts ................................. 635  dnsbl.._.__. ____.__......____.__..... ___ ___..._...._.___ б35  ислспc.stаЫе ................................613. 623  Idap  rОlJtiпи........................................... 614  limitedmasqucrade ............................. .615  loca1lmtp ..........61&. 644  loca1.....Procmall.......................................619  looserelay check. ................................. 632  mailenabIe ...................... ......... ...........612  masquеradС:С:ПLlredomаlП ... ..616  masqueredecl1velope ...................... ...616  nocanorufy .............................................61 О  пullсliепL ................................................ 61 g  promiscuous Jclay..................................632  rcdlrecL.......................... ...........585  rcdlrecE ................................. ................. 6] О  n:laybasedonMX ......... ................632 n:lay  enLlre  domai11 ..............................631  relay  hOSLS  only .....................................631  n:laylocaJJrom ..............___..___.... ..... .632  !!imn;h........................................... ..6IН. 644  use CYI file............................. ..............609  vinsc:nabIe .....613. 623  статистика работы 000" .... ш..649  сuенариt! checbel1dmail .. .650  таблJ.iНЫ .___.... ..................... ..___...611  файл llереКЛЮЧСНИJ\ сервисов .. ... 000 596  фалы:ифюuшия писем ... ...647  ф.lаI11.. ш 597 SLIP, прОтОКО,l....................ш ....31.3 S МТР. протокол .............ш....ш... ................. ." 568  КО\l.аНДЪI "'. ..................................... .. ......651 SN МР. протокол ...................................... 674675  an:HТbI.... .........___ 678  al-енты: UCD ...................... ...___... .. 6&1682  al'eHТbI' в HPLIX............ .. .679  areHTbl' в Solans .............. . 679 .. база MIB ____ 67б  база MIB!I. ___ 676  база RMON . . 678  идентнфикатор 01 D. ....676  I1МJI сообшества ................... ....................678  операuии ......... ___.677  прерьrвание ....................... ................... ....677  СТРУКТУР. ___________ __..' ____....___.__ -----.--...-.-- б7б  удаленныt! МQНшоринr....... ....678 Solafls ..................................................................21  SN\1P.reFIТ ...._______.____._........._..........__..____ б79  SLiсk')'бит .... .............. ... .............. ...............90  анализатор паКе70n... ..ш...___Ш"""'. шш.. 672  аНОНIfМНЫ FТPcepвep "". . 7)4  виртуальные Иl-перфеисы... . 728  выбор пароля ..........692 п.смон nrsd.. '___"'000___ ... .. 526  пемон routed ..................3Н8 898 
 демонтироваtll<lе фаИЛОВОИ системы .... ...НЗ  доб8RЛние принтера ._.._...................__..___..167  докумеtпallия ._._._......_.................25  драйвер УСllЮЙСna: добааление _____ ____ ...272  дуплексные порrы_... __...000..._.............136  журнальные фай.'IЫ.. . .....__.232  ж'РН8лыlы реЖИk.. ...159. 164, 11:15  зa.nание ЛОКaJIbНШ.О последователъноrо приtrтера. .... _._.......... ................ 768  заПУСК пе\.fOllа паmеd _ 4ЭН  запуск приложениИ \,.\.iпdоws...._.ш...._......816  команда dump.... __ооош ...шшш ш_ ..201  комаlШ3 pinE___....._.._. _..__........._..._._. _...____..664  команда ps ........._........_____...__...___. ........._.._...75  Кot-Iфиryраuионные фаАлы.................___.._...46  конфиrypирован:ие: DHCP......  DNS____.....___  РРР ____ _________ __ __ ___ ....._.332 __._000327 __336 _._.....130  тер\tина..'JОБ ......... монтирование удаленны" фай'ювых систем.. ....__....._... 527  ОДltопользовательскиf.i реЖИМ.. ..._.._40  пакет BIND. ....................._...__......__._........ 505  ПОДJCЛЮЧениl': Жl':спсоrо диска.. ..161  ПОДКЛючсние сетевы" интерфейсов ооош__ ЗП 110Jlыователь nobody ..ш_______....._............_ .62  проrpамма аШоmоuпt... ___ш5З5  редакпtроваllие паролей ___..._107  сете80С' КОНфl1I)'Рирование ....329. 331. ]33. 3З5. 337  система f\AT ..3З5  служба NIS __ __557  CMClia интерпретатора команд_.. .. 102  стартовые сuенарИJl. .._............_...... ..._. ....46  теневые парели ._.__................. 100  управление учетными записями _......_.. __ 112  ypOBHI1 ВЫПОJlllеНИJl.._.. 128  фаЙЛ /elc/!oil1adow._.___ 104  файл vfitab . ш.. ш... ................ 156  файлы поt:.'1сдовате,lЬНЫХ ycтpo'kTP.. ___ . .114 фШlhЧ>iiШI1Н nакстое .._.....___....___._.____. _.335 :экспорт фаА:.lОВЫХ систем... ..520 ЯJlро ..__... ........ ..... ........_._.__..__..____.._.._...._....249  заrp}'жаемыe модут, ....... ...__._.....277  КОНфilrypиро8Зltис: ш__...ш 000 250. 252<!53 Solstice DiskSщtе. менеджер томов. ....154 Squid, сервер шшш ооошш_ ш...__.._..............ооо131  ИНСТaJU\ЯUИН.. ......_................_...__._. ...732 SRP. npoToKo,l_. ...111 SSH _ 709, 813 SSL, ПРОТОКО!I .641_ 122 STD. серим поку"'снтов ._ 2М6 Sllсk"}'бит.. 90 Sys1og. система реrистраuии ____..... 230. 2З2233, 243, 246  В Rcd Ниl..... ............_..............___.__..........237  80 Fп:сВSD .... ...._._.............._.................._.. 238  выходнаSl ИНфОрМ811ИЯ .._._................_ ..241  ВЫХОJLНВ.Я ItНфОрМallИЯ_ ОТ1ЩДК8 .. ._ 244  дСЙL'ТВИЯ ....___...__..... ......_..__..........__.... ._._._..237  демон sys.logd ......__ ._......234. 231  nc'\tOH syslogd. конфнrypирование .._._......234  tI безопасность.. ____ш 696  использоваНlfС 8 BIN D. ....._.... _..49J  КОМ3ltпа logger ._._..._........_.. .......... ._134. 244  срсдстиа ..... ___.._____.._......._...._.._.. ..........236  уровень серЬс3НDсПI.....____..._........_._._234. 236  ФУНК1lИН.  closelog()____..___ ___________ _____________._.__234' 245  openlogO... ._.____..........._.... __._..._....134. 245  syslogO ....___..._._.. _.. ...................234. 245 т _______ ____547 _____283. 287 ____ ____._ _529 ._514 __.............._..__. _____.288 ___....2IВ1K4 Tel, язык Сl1снариев.. ТСР. протокол_.. ...._____...__..........  . NFS _._...._........_. _____...__.........._...  использование В NFS.._  ccntem .._..._._........___..._ TCP/IP _. __ кaHa..lbHLI YP0Reltb'  а.преСИUШI.. ........ ..2q2  беСIlРОR(1l1НЫС сети.. .290  КаПр.. 28  ..,аксI1мд.'JыIйй размер блока ..._. __.. :!90  стандарты кабелсt\ 290  стандарты формиронания кa.rtpOB. . 289  ОПИ-С3М..I1е ............_._.............._...._..............._ 287 тет ...._. _____________.............._.__._._...._......_.... ___ ___ 706 TFТP, протоко:!__ 310.391.698 ТКЕУ. спеuификаUtlм'  ОПИС31111t= .ш TLS. протокол . .... TSIG, СI1еIJl1ФИК:iЩШJ TSIG. СIlСШlфикаUИJl. _.486 _ .641 419 IUn. ПССБДОУСЧЮЙСТ80.. _.48Ь _..343, 3БD u UDP. проТоКол..... ш .____ооош_шш...ш _..283. 287  . NFS___.___. ____._..__.............__..529  IiСllOJlblованис в NFS... _..514 [;NТX: ..... 13 20 ....... ...........__.. ..722 _.. 1J7138. 141  ДОКУМСJlтаШ1f!. .  кратка}! 11Сl"орltя_ URL_____.___. .__._ ____ LJSB. Iшrсрf.iс 899 
USB, лриmeры ....... ........... .......... 742 lIsenet . ....................._........._...._........._......_ 734. 736  подлисха на НоВости........._...............__...... 735  проrpвммнос обеспечеНис.........................136 UUCP, лротооЛ .............................................336 v Veritвs. менеджер томов __......................154' 166 Viлurn. мснrлжeр ТОМОВ .................................154 w Webcepв.ep.._.._._..............._............................. ._ 721  распределение нвrpузки ___.............._......_._. 724 wсЬхостиНr ...___.._....................................720. 127  ОсНОВы.........................................--.-_...........721 WebN FS ............................................................ 515 х Х Windows:  эмуляторы .............._.__..............._. ______.........813 
Содержание ПреДИС.!10вне ................................................................................................._.. 6 Преднс.IJовие ко второму И311анию ...................................................................7 Предисловие к первому иuанню .....................................................................9 Вв.д.Ни..........................................................................................................10 Блаroдариоcrи ................................ ................................................................1 3 Об авторах .....................................................................................................1 S Часть 1. ОСНОВЫ администрирования rЛ3В8 1. С чеrо начать .................................................................................................19 1.1. Что необходимо знать _....................................................................... _.20 1.2. Краткая нсторня UNIX ............................................................................20 1.3. Современные UNIХ лродукты ................................................................21 1.4. Шрифты н условные обозначения ............ ..._._....._...._...........................22 Информация ПО конкретным системам ......................................_._....._.. 23 1.5. Как пользоваться интерактивным РУkОВОДСТВО:\1 о.. __..23 ОрrаНИЗ3llИЯ страниц руководства ..___.___......__........_ ....24 Чтение страниц руководства: команда тап шш ____________.____.ш. .25 1.6. Основные задачи системноrо аш.шНистраТора................ .26 Добавление и удаление пользователей ............... .26 Подключение и удале-ние аппаратных средстВ................................___...26 Резервное копирование. о.. ....... ........__.___ .__.._...... ... ........... ......__..._.......... о.. 26 Инсталляция новых nporpaM м ..._.__.. .__.... ......... ........__.____ ..___.... ............... 26 М ониторинr системы.......... ........... .__....._.. ........._........... .._.._........_...... ......27 Поиск неисправностей. ...... ......... _. ..._. _. '_'. ............... ............__......__...........27 Ведение локальной локумеНТИliИИ .........__........................._..............."17 Слежение за безопасностью системы..._ ._,,_,__. ................... ........ _............27 Оказание помоши пользователям ......_....______..._....__............._.._..__ _ш._ .27 1.7. Как искать фЗЙ-1Ы в Inlernel............_..............._..._....._..._.....__......__.........28 1.8_ И здерЖКJ1 профеССI1 и .. ...._........_....... _._. _. ...... ..... ..... _......... ............ _. _. ___...... 28 Синдром хроническоrо aд Иli истрироВаю1я.... ... .............. .ш'" _.. .шш.... 29 1_ 9_ РеКо еНдуеМая литература. ...... ..____","' ._.... _....... .......... ... ..___ ..... ............ _.... 29 901
rлааа z. Запуск и останов систеМы..............................................................................30 2.1. Начальная заrpузка ...................................................................................3О Автоматическая и ручная заrpузка ....__._...........__.__............._...................31 Эталы заrpузки ...щ....................................................................................31 ИНИШf3...'lизаuия ядра_.____...... ..... ...... ._._.. ....... .......___._ ..... ..._.__ _..__... ............. 32 Конфиryраuия аппаратных срелств ._.. _._. ........ ... '" ......... ....._...... ... .....__...32 Системные проиессы .........___..._.................____. __ __....................................32 ДеЙСТRИЯ оператора (только Пр1 РУLIНОЙ заrpузке) ............_............__...33 Выполнение стартовых сuеНЗрl1ев _................. ________............__. ____.._........34 Работа в мноrОПО-'IЬЗ0ватеЛЬСt<ом режиме............._._____....._.........___.___.... 34 2.2. Заrpузка системы на персональном компьютере ....._._.____...................__35 Чем пе-рсоналъный компьютер ОТ1иqается от фирменноrо оборуJlоВаНия............................................ .................................................. 35 Процесс заrpузю\ П К.............. ...... ......... ................. ...................... ..... ......35 LILO: заrpузчик Lшuх.............................................................................. 36 КонфиryРИР08ание L1LO .........................................................................36 Заrpузчик FreeBS D ............ ....... .............. ..... ........ ......... ....... ..... ........... ....'. 37 Мультисистемная заrрузка ........... .._.._........ ... ................ ......_.__._.._ ...._....... 38 Проблемы при мультисистемной ззrpузке_.........._._.................._............38 МУЛЬТl1системное конфиryрl-IРОВЗН ие LI LO_.. ....... .._...._ ... ... ._...._..ш .......39 Мультисистемное КОНфl1ryрИроВ8НI1е Free BSD ___..... ..... .ф_ _.. ..... _.._ _ш___ 40 2.3. Зarрузка в одноПОЛЬЗОВ8тельском режиме ....................................._..._...40 Solaris ........... ....... ...................................................... ............. .....................40 Hp.UX............................................................. ..................... ............... ....41 Liпuх . ..... ..... .........._... ....... ............ .___ _. ... .............. ....... ....___ ... ...... __... ....---... 41 FreeBSD......................................................... ............................. . ............42 2.4. Стартовые сце-нарии......................_._............... _____._......................_ --- _.__..43 Стартовые сu.енарии в системах семейства System v....._._.............._...43 Solaris ............ ............. ............... ......... ..... ..... ........................................ .......46 НР. UX ........................................................................................................46 Red Hat............. ............ ......... ......... ... ............... ..................... ............ ......... 47 FreeBSD ..................................... ..................................................... .... 50 2.5. Перезаrpузка и останов системы ._.____._..................................._.........._._._51 В ыключение питания.. .._..__.._.__...... .......... ... ..___.__._............. ..._........ ..... ..---- 52 Команда shu[down: корректный способ останова системы ....._....__._...52 Команда halt: более простой способ останова..............__._____..............._53 KOmal-Ul8 reboot: быстрый перезапуск..........__............._...._._................ш.53 Передача проrpамме ini[ сиrНала TERM ....................._....................._._.54 KOmal-Ulа telinit: изменение уровня выполнения nporpaMMbI init....___.54 Уничтожение процесса init. .__.........._.............__... ............ ............ ........ ..... 54 rлава 3. Скла привилеrиА..............ш............................................................................55 3.1. Владение файлами и процессами ___ ._...._..................... ._....._............__ш.55 3.2. СynеРЛОЛЬЗОВ8Телъ..... .................................... ................................ .........57 3.3. Пароль суперполЬЗоВателя....._...__..___ .___...................... __._.__.._....._... .......57 3.4. Как стать суперпользователем .._............... ...___.___.................._._ ._._..58 Комзнла su: замена идентифнкатора пользователя ._.._..............._ ...59 Проrpаммз sudo: оrpаниченный вариант команды su .._......................59 902 
3.5. Друrие лсеВДОЛОЛЬЗ0ватели ......................................................................62 Влааелеu не-nривилеrиронанных системн.ы:х nporpaмM: daemon .........62 Владелец системных KOM8l-Ul: ЫП .................................__....._. ................62 Владелец образов ядра и памяти: sуs..................................ш.ш...__.......__62 Обший сетевой пользователь: ПОЬodу ................................_____................62 r.rJ.383 4. Управлеllне процессами ................................__............._..................................64 4.1. Комлоненты лроцесса ..............................................................................64 Илентификатор процесса (PID) ..............................................................65 Илентификатор ролитсльскоrо лроцесса (PPID) ..................................65 Илентификатор лользователя (UID) и эффективный илентификатор лользователя (EUlD) .....................................................65 Илентификатор rpynлы (GID) и эффективный и.аентификатор rpуллы (EGID)...............................................................66 ПрНоритет и 'Значение J1ice. ............................................._._............... ......66 Улравляющ"n терминал ...........................................................................66 4.2 Жи зиенн ый цикл процессз.... ...ш................................................. .......... 67 4.3. Сиrnзлы ......................................................................................................68 4.4. Отправка сиrналов: KOMaJ-tЦ8 kill................................................... .........7 J 4.5. Состояния проиессов. .............................. ................................................ 7 J 4.6. Изменен-ие приоритета ВЫПО.'Jнения: команды nice и renice ..ш.ш.... 72 4.7. Текущий контроль процессов: KOmal-Ulа ps........... ..........................73 4.8. Улучшенный текущий контроль процессов: nporpaMMa top ...............77 4.9. Процессы, вышедШие изпод контроля ................................................ 77 [дзвз 5. Файловая сиt'Тема ..........................................................................................80 5.1. Пyrевые имена ..........................................................................................81 5.2. Монтировзние и лемонтирование файловой системы.........................82 5.3. Орrаннэация файловой системы .............................................................84 5.4. Тилы фаllлов .............................................................................................86 Обычные файлы ........................................................................................ 86 Каталоrи ....... ...... ..................................................... ...... ............................ 86 Файлы байТориеНТированных и б.т1ОКориенТированных усТройств......... ................... ....... ........... ......... 87 Соксты . ...... ...................................................................................... .........88 Именованные каналы ..................................................... ......... ............. 88 Символические ссылки ......... ........... ......................... .......................... 89 5.5. Права лостула к файлам .......................................................................... 89 Биты SUlD и SGID ................................................................................. 90 Stiсkyбит. ........................................... ........................................................ 90 Биты режима ................................щ................................щ....................... 90 Просмотр втрибутов файла....................................... щ ...........................91 ДОЛОЛНИТO!Iьные флаrи во FrееВSD.............................................. шщш 93 Команда chmod: изменение прав дocтyna .............................................94 Команды chown и chgrp: смена ВJlмельцев ..........................................95 Команда umask: задание стандартных прав ДОС1)'па ............................96 903 
rДRВ3 6. Подключение иовых пользователей ........................................-.......................97 б.l. Файл /etc/passwd ....................................................................................... 97 Реrистрauионное ИМЯ .................... ....... ............ ..._. _... .............. ... .'. ...... -. -. 98 Зашифрованный лароль ............................................ ............................... 99 Идентификатор пользоватеЛЯ ........ .... ............ ......... ..... ._.... ....._....... ....... 100 Идентификатор rруппы по уМолчанию................................_............... 1 01 Поле GECOS ........................................................................................... 10 I НЭLlВЛЬНЫЙ каталоr ............. ._. .... ......... ...... .... ...... .... ............ ........... ...-..... 102 Реrистрauионный интерпретатор коМанд.........._............_...................._ 102 б.2. Файл jetc/master.passwd 80 FteeBSO .................................................... 103 б.3. Файл jetc/login.conf во FreeBSO...........................................................I03 б.4. Файл /etcjshadow в Solatis и Red Hat.................................................. 104 б.5. Файл jetc/group ..........................000000....................................................... 106 6.6. ПОдl<.'1ючение пользователей ...._.__....__...... ...___......................_....._....... 106 Редактирование файлов passwd и shadow _____..._................................... 107 Задание исходноrо пароля ............................._ _______........._..._......... .-.-.. 108 Создание начвльноrо каталоr3 ...............................______...__................____ 108 Копирование конфиrypauионнbIX файлоВ..........._................__._____......._ 108 Назначение каталоrа для З.1ектрокной почТы........_................._....__.... 10 9 Редактирование файла /etc/group.......................................................... 110 Установка дисковых квот..............................._................................_......110 Про верка HOBOro реrистрационноrо иМеНи........_............._......____.......IIО 6.7. Улаление пользователей ..........._....................................._.......................111 6.8. Отключение реrистрационных иМен.........._....._____..........._.................._.ll2 6.9. Систеные утилиты управления учетными заПl1сяМи._....................._1 12 [дава 7. Последовательные устройства .............._..........................-............................114 7.1. СтаНдарты последовате.Т'lЬНОЙ передачи ланных......_._......................... 114 7.2. Аl'Jьтернатиsные разъемные с.Qелинения............................_._...............118 Мини.разъем OJN-8 .................000...........................................................118 Разъем ОВ-9 .....................................000....................................................118 Разъем RJ-45.....ооо....................................................................................119 Стандарт Йоста Д,.lЯ разъе\tноrо соединения RJ45 ...._.__._........_.__..... 120 7.3. Аппаратная несушая 11 проrpЭ\.I!о.iная несущая .._..__..... ____щ_______.122 7.4. Аппаратное управление пОТОКО\J! данных . _._.................... 123 7.5. Длина кабеля .._........._...._.... .._ш.___'_'" .12.3 7.6. Файлы ПОС.1едовате.,ьных устройств..... .._..._._ ___._.... ____.......щ_.__......123 7.7. Конфиryриропа!lие проrpамноrо обеспечеНi1Я для последовзте.1.ЬН ых устройств _ ...... ____о .__..... ....__... ............. ш... ....__.... 124 7.8. Конфиrурирование аппаратных ТерМиналоВ...__..._.......___..........._._____... 125 Процесс реrистрации _." ._. .... ..... _.... ...._ _._.' ... ................_....... ...__ ... ..........- 125 Файлы /etc/nys и /etc/nytab ..................................................................126 файл /etc/nytype............. .000..................... .000..........................................117 Файл /etcfgettytab..................... 000...........................................................127 Файл /etc/ininab .................................. 000.................. ............128 Файл /etc/gettydefs... ..................... .000000000..... ................. 000 129 КонфнryРИРО8ание термина.rIОВ в Solaris ........_._.. ____..._...._ ......... ___.._130 Поддержка термина..lОВ: базы данных [еnnсар и rеrЛ1illfо_. ш 130 904 
7.9. СпеUИ3..1ьные символы и драйвер терминала..................................... J31 7.10. Команда stty: конФиrурирование терминалов .....................................132 7.11. Команда tset: автоматическое Конфиrурирование._..........................._.133 7.12. Как справиться с "зависшим" терминалом ._......................................133 7.13. Модемы ....................................................................................................134 Протоколы модуляции, коррекu.ии ошибок и сжатия JJ.aHHblx.........134 Выходная КОНфИryр81lИЯ: файлы jetcjphones и jctcjremote ..............135 Дуплексные модемы ............................................ ..................................136 7.14. Отладка последовательной линии ....................................._.... _.137 7.15. Друrи. р.слростран.нны. порты ВВод.-ВыВодa..................................137 Параллельные порты.. ........ .... ........ ... ..._..тО ._... ... .... .............. .......... ....._.._. (38 И нтерф.йс U SB.............. ...... ............... .............. ..... ............. ............. ....... 138 rлааа 8. Добавление иовоro жесткоro диск. ..............................................................140 8.1 Днсковы. инт.рф.йсы............................................................................141 Инт.рф.йс SCSI ......................................................................................142 Инт.РФ.йс IDE ....................................................................................... 146 Что лучш.: SCSI или 'ОЕ? ...................................................................148 8.2. Конструкuия cOBpeMeHHoro дисковоrо накопителя _..................._..._... 148 8.3. Обзор проц.дуры инсталляции .............................................................150 Подключение диска ........... .................................. ............ ............ ....... .... 150 Создани. файлов устройств ................................................................... 151 ФорМат1роВан ие диска...... .................................................._....... ........... 151 РаздеlЫ и метки .....................................................................................152 Создание лоrических томов ..... ... ........................ ............ ._. .......... ........_. 153 Файловые системы... _. _... .... .._... ._.. __.__. _. _______.. ... .__.......... .... _...................._ 154 АвтомаТИLlеское монтирование файловой системы_.._.._........__._......_.._ 155 Создание раЗllеlа подкачки ........_...... ........................_.......................... 158 8.4. Проrpаммв fsck: проверка и восстановление файловых систем .......159 8.5. Особенности ПОдк"lючения писков в различных операЦИОННЬЕХ системах...... ............ ......_..... ...... ......................... ...... ....... 161 Solaris . ......... .................. ...... ........... .............. ................. ............................ 161 нр. UX ......................................................................................................166 Red Hat..................................................................................................... 170 Fre.BS D .......... ...... .. ............ ............. .................... ............ ....... ....... 175 rлааа 9. Периодические процессы ..............................................................................179 9.1. Лемон cron: планирование КомаНд............_. ... .........__....._____ ._....179 9.2. Формат сrолtalrфайло. ..........................................................................180 9.3. Изм.н.ни. сrолtаЬфаllло............................................................ .......... 182 9.4. Применениr: демона cron .....................................................__._.__...._.._... 182 Чистка фаЙJIОВОЙ системы ................_...................................................183 Распространение конфиryрационных файлов по сеТи.._....................184 Uиклическое использование .журна.тIЬНЫХ файлов ..............................184 9.5. Особенности пеРИОДИLlеских проuессов 8 раз..1ИЧНЫХ системах...._... 185 rлааа ]0. Резервное КОDироваnие .................................................................................186 10.(. Принципы резерDноrо Копирования.....................................................187 Создавайте резервные КОШ1И на ОДноЙ машине......................___.._..._.187 905 
Маркируйте ленты .............._.._..._.._........................._...................._._.___.___ 187 Правильно выбирайте пеРИОДИLlНОСТЬ резервноrо КопироВаНиsl.......188 Тщательно выбирайте архивируемые файловые сисТеМы.................. 188 Старайтесь умещать каждОШl.евнЫе архивы на одной .ленте............. 188 Создавайте файловые системы. объем которых меньше емкости резервнота носителя ...................................._...__.___________..........18') Храните ленты не в рабоч.ем помешении .....................................______189 Защищайте резервные копии ........................._....__.................._.............189 Активность файловой CtcтeMbI ВО время создания архива НОЛЖН8 быть НИЗКОЙ ....___........................___.__................._....._.....190 П роверяйте свои leHTЫ _ .__________. ........ ....... ........ ........... .......... .._..' .... .__.... 190 Определите жизненный UИКЛ ленты ................_.....__.._.._.................._... 191 Компонуйте ланные с учетом резервноrо копирования._ .........191 Будьте rOToBbI к хулшемуш....._.... ____._..................................... .192 10.2. Устройства и носители. используемые для резервноrо копирования .........._..........._..._.................. .._..._....._....... 192 r ибкие дисЮf..... ..... .....__.... _..._. ..____.._........... ...... ......_ ....... ...__................._. 193 rибкие диски повышенной емкости __..___.._........................_.................193 Комлактдиски формата CDR и CDRW ........................._................193 Съемные жесткие ДИСКИ ............................................__......._..................194 8миJIЛиМетрО8ые кассетные петы ..............._.........._.__..__....................194 4tиллиМетровые цифровые аудиокассеты ........................ ........_________. 194 Т ехнолоrия Т rзуап ........ .....................___.. _._...._......_.................................. (95 Система ОлStrеаm ADR..............................__........._.............................._195 Технолоrия Dl Т ........................................._____........................щш..___..... 195 Техно,тоrия АП ....._.__.. ____.._..................................__._......................._196 Технолоrия МаmП1оth . _______...................................... __.._.......................196 Системы с автоматической заrpузкой носителей ..........._....... ......_..196 Жесткие Jlиски._ ... ....__._ .......__...__.......__.....___._____.___._.._ .__._................_.197 Сводка типов носктелей ______........__....................._ ., _ .........._ 197 Что локулаТЬ.........__................_......._.. _____________________________________ ________......_ 1 q8 10.3. Настройка режима инкрементноrо архивирования ____о_о 1')8 Архивирование файловых систем .__...._............................_............_......_ 198 Схемы СОЗдания архивов.... ........... ........ ........._.. ...._......_ __............... ........202 10.4. Восстановление с резервных копий ._.........................._..._.__.__......._......203 Восстановление отлельн ых фаЙлов... .......... .... ..... ... .........__ _.... .............. 203 Восстановление файловых систем .................____._.._....._...................____. 205 10.5. Арх.ивированне и восстановление при модификаЦШ1 ОС....._...........207 10.6. Друrие лроrpaммы архивироВания______..._.........._................._......___._...._. 207 Проrpамма lar: упаковка файлов ...........................___.___.______...._..........__ 207 Проrpамма cpio: аРХИ8ирование 8 системах семейства System У._.__ 208 Проrpамма dd: манипут.lрованне битами..___ _________............._...............209 Проrpаммз volcopy: лубlироВание файловых систем _____..__.__...209 10.7. Запись tlескольких фаЙлов на одну ленту...................._.......__._. _________209 10_8. Аmалdа. ... ...... ............ ......_... _.............. _.___ .._...._.. _. __.... .._....__.. ..._. ._....... ....... 2 1 О Архитектура . .__.__......___..__....___......_................................................._.._.._._._ 211 ИнсталЛfl ция ...... ................. ............._.._......_....__._...... .__..__... .......... ........... 212 Файл amanda.conf.......... ............. ..... ............ ............ .......... ..._." _._._..........  13 906 
Файл disklis! ....__....................................................................................... 218 Журнальные файлы..._....... ...._................................__...............................219 Отладка ........................._........._..................................._............................. 220 Восстановление файла из резервной копии .............................._..__..... 223 Существующие альтернативы: друrие открытые пв.хеты резервноrо копирования ........... ....................................._........................ 224 10.9. Коммерческие системы резервноrо КопироВания...............................225 ADSМ(ТSМ ..............................__.........._................._................................. 225 Veritas ......_._......... ............................._.__.......... ........................................... 225 ива!о ... ........ ................... .__......_..................... _.. ......._............ .........._._...__.. 226 Прочне лроrpаммы ........................................_........._.............__...............226 10.10. Рекомендуемая лнтера-ryра ._................................................................._.226 fлав. 11 Систем. 8ysl08 и журнальные ф.йлы.......__......_._...__..........................___..._...221 11.1. Методики обработки журнальиых файлоВ.........._........._...................... 227 Уничтожение журнальных файлов . ......__............................................... 227 Повторное использование журнальных файлов ..............._._................ 228 Архивиропзние журнальных фаЙлов... ... о.. ........._............. ..................... 230 11_2_ Поиск журнальных фаliлов_..................__..._...__._..._......................._.___.._.230 11_3. ФаЙlЫ, которыми нельзя уПраВлять....___..........................._.___..._._........232 11.4 Особенности журнальных фаЙлов в рз3J1ИЧНЫХ операцион иых сисТеМах................._... ._.............. ................_..._._..._......_ ... 232 11_5. Система реrистрацнн событнli: SysI08_........_............._._........................ 233 Конфиrypнрование лемона syslogd_.._._._....._......._._...................._...........234 Улучшения снстемы Syslog в Red На! ........................_.._.._....._..._........237 Улучшення снстемы SysJog во FreeBSD............................................... 238 Прнмеры конфнrураинонных файлов ................._....._.......................... 239 При мер выходной информации системы Syslog.................................241 Разработка схемы реrистрации для конкретной орrаиизации ......._..242 Лроrpаммы. используюшие систему Syslog....................___..................243 Отладка системы Syslog ________.....__........._....._..._.._...._._.......................__ _.244 Использование функций Syslog в сценариях ........_.__............ .........._.245 11.6. Понск лолезной ннформаини в журнальных фвйлах.....___._._.._______...246 rяава 12. Драйверы и JЩPО ______._._......_.................................___..__..............................__.248 12.1. Тнпы RIlер .__........_.._..__...................................................._........................249 12.2. Зачем нужно коифиryрировать RIlРО ......_............................................_ 250 12.3. Конфнryрированне RIlра в Solari. __...._..__.__...........................................250 Область построения ядра ...................._._. ____...........................__ 250 КонфнryРНРОВВJ-Iне RIlра лосредством файла {etc{sys!em_........__..._..__252 Прнмер файла {e!c{system ...._ _._........... .__....... ................ ..... _...._....__ ...._... 252 Отладка конфиryраиии .........................................._..._................_........... 25) 12.4. Построение RIlра HPUX ............................._....___...__._...........................253 12.5. Конфиrypнрованне RIlра Liлuх _____.___..__....._................................_....._..._255 Построение двоичноro ядра Linux.... ......... ._......._...._....... ..................... 256 Настройка конфиryрацин _....._.................................._......_.............. ....._ __ 257 12.6. Построенне RIlра FreeBSD ..._..._............................._.....__........................258 СхеМа построения sшра ...... .._...__.._. ........__....................................._......__ 259 907 
Ревизия аппаратных средств системы .................................................. 259 Созданне файла конфнryраuнн в каталоrе SУS/i386/солf................. 259 Вы ПО.'1ненис команды config.......... ........... ........ ...... .... ...... ...... .......... ....260 Выполнение команды make depend ..................................................... 260 Построение ядра.................................................................. щ .. ............. 260 ИНСТ8Лляuия ядра ...................................................................................261 Тестирование и отладка ядра .............._..........................._....................261 Докумеитнрованне ядра.......................................................................... 261 12.7. Создание файла конфиrypаuии в ВSDсистеме..................................261 Ключевое Со'1000 maxusers ......................_...__.__.............._ ....... ......._._.....262 lючевое СЛОВО option...........................................................................263 К,ючевое СЛОВО солfiв..... ............... ............. ............... ......... ........... ........264 Ап паратные устройства....... ........... .__._..... .... ..... ................... ...._..... ......... 265 Ключевое слово pseudodevice. ..... .......... .... .._.._......._.......... ........ ....... ... _ 266 Прнмер файла конфнryраuнн ...............................................................267 Настройка ядра.. ..... .............. ................ ........ ..... ............................. ......... 269 12.8. Добавлен не драйверов устройств ..........................................................270 Номера устройств ....... ................ ......................... ................ ...... .............. 271 Добавлен не драйвера устройства в Solaris ........................................... 272 Добааление драйвера устройства в Liлuх ............................................ 273 Добааленне драйвера устройства во FreeBSD................................... .275 12.9. Фali.'!ы устройста ........................................___ф....................................... 275 12.10. Соrлашсния об именах уcrройстВ............_...._......._......................_......._176 12.11. Заrpужаемые моду,"и ядра......................................................................277 Solari. ..... .................. ............ .............. ........................ ............ ................... 277 Liлuх ................ ........................ .............. ..................................... .............. 278 FreeBSD ....... ............ .... ........ .............. ................. ....... ............ .......... ......... 280 12.12. Рекомендуемая литература ............... ....................... . . .......280 ЧаС1Ъ 11. Работа в сетях [лааа 13. Сети TCP/IP................................................................................................283 13.1. ТСРЛР и Iлtеmеt....................................................................................184 Краткая нсторня ......................................................................................284 Кто сеrодня управляет сетью lnternet ............................................... 285 Сетевые стаНдарты и документация ._.ф..._..._......................................285 13.2. Семейство TCP/IP .................................................................................. 287 ] 3.3. Пакеты и инкапсуляuия... ....... ............ _...._....._. .......... ...... ............_...._... 288 Кана.1ЬНЫЙ уровень...... .... .......... ................. ..... .......... ... ...... ...... _. ._..... ... 289 Аа.ресация пакетов _....._. ............ ...._.... ......... ....... ..... ..... ....._. ...... ........ ...... 291 Порты................. ...................... ................... ............. ........... ..................... 292 Типы адресов ... __о .......... _._ _. _......._._........_... _.........__. ........ ... .............. _.. .__. 293 13.4. I Paдpeca.... ........................................ 293 К,ассы IPaдpecoB ................... ................................................... ... 293 Орrаиизаuия подсетей .._.... ..... ........ ...... ........ ..... ...... ........ ..._... ____.... ___.... 294 Крнзнс 'PaдpeCOB......... ....... ......... .......... ....... ................. ................ ....... 297 CIDR: лротокол бесклассовой меЖltоменной маршрутизаuни..........298 908 
Вы.nеление адресов ........................... ......................................................300 Частные адреса н снстема NAT............................................................301 Ап.ресацня в стандарте 'Ру6................................................................... 302 13.5. Маршрутнзация .......................................................................................305 Табднцы маршрутизации.... ....... ............... ................. ............................. 305 Переадресуюшие пакеты протокола ICMP..........................................307 13.6. ARP: лротокол лреобразования адресов ..............................................307 13.7. ОНСР: лротокол дннамическоrо конфиryрироввния уЗIIов..............309 Проrpаммное обеслечеиие ОНСР ........................................................ 309 Схема работы ОНСР .............................................................................. 3 10 oHCPcepBep ISC ................................................................................... 3 11 13.8. РРР: протокол двухточечноrо соедиНения...........................................зlз ПроизводителЫlOсть РРР .......................................................................314 Подключение к сети посредством РРР................................................з15 Как заставить компьютер общаться по протоколу ррр ............__......315 Улравление РРРканаламн. ...................... ................................... ... ........ 315 Поиск компьютера ДJ1Я связи ...._.._ш__...................................................315 n рисвоение адресов. ... ..... .__._ ___о .____.__................... о.. ._.. _.._.._. .___ ,_. ............. 3 J 6 Маршрутизация. ...................................... .....316 Безопасность ._______ ___........ ....___.__.....___ ......................_.............__............_. 316 Терминальные серверы...................._....._... _.____................ ...317 Диалоrовые сценарии ......._.............._................................_... _ 3) 1 ) 3.9. Вопросы безопасности ........................_...................................__._.___._______ 3) 7 Перенаправление ] Рпакетов . ......_ ....... ...... .... ......_. _......._... ...... ... ....... .... з 17 Переадресуюшне 1 СМ Рдирективы... ................................ .............. ...... 3 17 Направленная маРШР}'fизация .'...__ ...._. ._..... ..... .', .__..._ ..__..... .......... ......... 318 Ш5о1роковешательные рiпgпакеты и друrие виды t-ШПРЗВ:lенных Шl1роковещате.1ЫIЫХ сообшений... ................_.......318 Брандмауэры UNIX .................... .......318 Виртуа.lьные частные сети._..._..__.............__.... __._.._.__._.._.__________.. ш.319 IPSEC. безоласныА лротокол lP .............................................. ....319 1].10. Добаа.rrение компьютеров к сети...._.... .._.........................._............._. __.320 Присваивание сетевых имен и [paдpeCOB ..._.......____.._........................321 Команда ifconfig: конфиryр5о1ровзние сетевых интерфейсоВ........._._._)21 Команда route: коt-lфиryрирование статических маршрyrоВ.._____.._..._324 Стандартные 1\.fаршрyrы .... '_'.. ,__,__._. . _.. _..... ... .... ..... ._. ... __.......... ... ... ....... _ 326 Конфиryрирование DNS ................................... ..... ....................326 1].11. КонФиryР11РОВ3t-1ие сети в различных сисТеМах................... ._.._._______328 13.12. Сетевое конфиryрнрование Solari.........................................................329 Базовое конфиryрированне. .... ............. ..................................................329 Прнмеры конфнryраuиА ......................................................................... 33 1 Конфиryрированне ОНСР ..................................................................... 332 Динамическое переконфиryрирование и t-Iастройка...........................333 Безопасность. брандмауэры. фИ.1ьтраuия и система AT ......__..__..._335 КОНфИr)lpltрованне РРР .........................................................................336 Особен носпt CCTeHoro конфиrурирования .............._........_.............._____ 331 909 
13.13. Сетевое конфиryрирован"е НРUХ._._шш. _ .__._337 Базовое КQнфиryРИРОВ3t-1ие ................ ..... ......... ...._ш_._ _. _... ___._._. ___ ____ __. _ 338 При меры конфнryраLlИЙ __........._ ..._.__.... ......... ................ .................. ___... _ 339 Конфнryрнрованне D Н СР ............. .................. _. __ _. ___ _. __... __......... .._........341 Динамическое переКОt-lфиryрировзние и НастройКа...........................341 Безопасность. брандмауэры, фильтраuия и система NAT .......__.__....342 Конфиryрирован ие РРР __.._ _ш...... _.._.......... ............... ..__...._ .......... ..........343 ОсобеНltости cereBoro конфиryрирования .......................................__..344 13.14_ Сетевое конфиryрнрование Red На! ........._.__.__......................_......__..__.344 Базовое конфиrypИРОВЗt-lие.. ......_...........__.._............... ....."... _.___.. _____ _.. _. _. 344 При меры конфиryраци й __ .__ ______.................. ............_...._...... .......... .......... 346 Конфн ryрирован ие D Н СР . ...... __....._.......... ............ ............ ..........._ _ ___ __ _ _ 347 Динамическое переКQнфиryрироваНI.jе и НастройКа..__................. .....347 Безопасность. брандмауэры. фильтраuия и система NAT ............._._ 348 Конфнryрнрованне РРР ...................................___.._.._......._.....................352 Особенности ceTeвoro конфиryрl1рОВ3НИЯ .................................._....... 352 13.15. Сетевое конфнryрирование FreeBSD...................._.._..... ___..__............352 Базовое КонфиryрироВание.... _..............____.._.. __.___._._353 Примеры КОНфl1r.:рации .____................._  _ _......35] Коифнryр"роваиие ОНСР ______________ ________________________ _______.....355 ДинаМИ1lеское переконфиryрирование и настройКа_...._.....................355 Безопасность, брандмауэры. фильтраЦl1Я и система NAT _._.щ.ш.ш.356 Конфиryрирование РРР. __________..__.____.__._.__......___......_....................360 Особениости ceтeBoro конфиrурирования _...._.._.._.__.............._..... ..362 13_16. Рекоменцуемая лнтература ..............._...._.__.........__...._...._. .....................362 r лава 14_ Маршрynt.ация ....................................... ._........_..__._. .__..__............................ 364 14.1. Подробнее о маршрутнзаwlИ пакетов..............................__.._.._______.__.__365 14.2. Демоны и протоколы маршрутизаuии ..................................._..........367 дистанционновекторtlые протокол ы . ...._.. .._. ш.._.___._ .__ .__. ___.._ ...._ш..... 368 Т ополоrические протоколы ................... ..... ................. ..........___._. __ .__. 369 МеТРИК1 кратчайшеrо пуrи ..._..........................................._..................370 Внyrpeнние и внешиие проТоКолы._...._.._..._._._....__._..____._.__._.._.....__._....370 14.3. Основные протоколы маРШР}'fизаuии ......................................__.....__.._ 371 RIP: протокол маршрyrной ИНфОрМLIIIИ ....ф....__ш...._._.._._ф.............J11 R1Р2: протокол маршруrной и нформаШНI , версия 2. .......................371 OSPF: открытый ПРОТОКО_' первоочерелноrо обнаружен 1Я кратчайших маршрутов....... .... ....... .......... ш..._.. ... О.. .__. _...._ .._ 372 IGRP 11 EJGRP: протоколы маршрутизации между Вtlутренними ПUIюзами _............._....._............................._. _.. _._._ 372 ISIS: протокол связи между промеж:yrочными системами ..............373 MOSPF, DVМRP н PIM: протоколы мноrоanpесной маршрутизаuии .. ...... ....... ..... ...... .... ......... ...... .......... .._........ ......_. .___._ .. ___о 37] Протокол обнаружения маршрутизаторов. ............... _.._. _... .._..___.. ..._. .___ 373 14.4. Демон roured: стандартный демон маршр}'fИзации _..............._..........373 ]4_5_ Демон gsred: более удачtlЫЙ демон 'VIаршрyrизации_........... ...J74 Управление иачальным запуском '1 параме'rpами деМона_______._____ _._375 Трассировка_ ______..._......._._......__......_......_._..__..___.___..__._.._щ_ _____ _____ 375 910 
Конфнryрацнонкый файл ......................................................................376 Задание коифиryраuионных параметрО8 ..............................................377 Определение сетевых интерфейсов ......................_...............................- 377 Друrне опрc:nелення .......................................... ........................ .............. 379 Конфиryрнрованне лротокола RlP .......................................................380 Базовые сведения о протоколе OSPF ..................................................381 Конфиryрированне лротокола OSPF .................................................... 38З Конфиryрированне лереадресующнх IСМРпиректиВ........................384 СТ8111ческие маршруты. ...... ....._._.................................................._.........384 Экслортнруемые маршруты ...................................................................385 Полный при мер конфиryраuии демона gated .........................__..........386 14.6. Особенности t.lзршрyrизаuии в различных систеМах.......................__388 14.7. Выбор стратеrnи маршрутнзацнн..........................................................388 14.8. Маршрутизаторы Cisco ....... ...... .......... ................ .................... ................ 390 14.9. Рекомендуемая лнтераryра ...........................................................___.......392 r лава 15. Сетевые аппараТllые средства....................................._.................................393 15.1. ЛВС, rBC н ОВС ...................................................................................393 15.2. Etl,еrлеt: обшелризнанная лВС.............................................................394 Как работает Еtllеrлеt ................................. ................. ........ ................... 395 Т ополоrня Еthеrлеt....... ............ ................. ................... ........................... 396 Неэкранированная витая пара................ _......... ....................___... ........... 397 Соедииение и расширение сетей Etheme[...........................................398 15.3. FDDI: дороraя локальная сеТьразочарование ...._......_........................401 15.4. АТМ: локальная сеть несБЫВШИХСJl надежд............................_..._.......403 15.5. Ретранс.rrяuия кадров: rлабзльная убыточная сеТь_____....ш....._............404 15.6. I S DN: rлобал ьная сеТьнеВидимка ............. ..' __....................._____..___.__.... 405 15.7. DSL: всенародная r.,обаяьная сеТЬ.......................................................405 15.8. Буnyщее сетей ..........................................................................................406 15.9. Тестирование и от'1ЗДка сетей................................................__.............407 15.10. Построение кабельиой снстемы ............................................................407 BapHaJ-fJы разеоnки НВП ......................................................................407 Офисные подключеНI1J1 _ .__....... ............. .__... .... _ ____.._..._ ........................... 408 Стандарты кабельных систем _.._____.............................. .._......_._.............. 408 15.11. Вопросы проектирования сетей ..._.______._...________.....................__..____.___.._409 Архитектура сети 1 архитектура здания......_._..______________....... ..._ _......_409 Сушествуюшие сети ........_... _.___......................_.......__ _____........_.._.._410 Модерн изаUИJl. ..__._ _.._.__.._...... ........_... .._._ .__._. ..............._ ........__._._______________ 41 О Переrpузка.. ........ ... .......... ........... ...... ............... ......... ...... .......................... 411 Обслуживание и документирование _..._................................................411 15.12. Волросы улрав.,ення ...............................................................................411 15.13_ Рекоменд,уемые поставщики .............._..._...................................._..........412 15.14. Рекоменnyемая лнтераryра .....................................................................413 rлава ]6. Система доменных нмен .............................................................................414 16.1. DNS для нетерпеливых: добавление Hoвoro Компьютера................._414 16.2. История DNS ...................................___ ............................................... ...416 16.3. Основные зада'JИ DNS ...........................................................................417 911 
16.4. Что HOBOrO D DNS..................................................................................418 16.5. Пространство имен DNS .......................................................................419 Хозяева своих доменов..__ ..0.0..... ........ ..0 0._' ...... ...... о.... .... ..0. ..... ..............422 Выбор имеНИ домена.. _.. ____. _..... ............."... .... О'. ......... ........... _. _.....423 Взрыооподобt-lЫЙ рост числа доМеНоВ....__............................................423 Реrистрация домена DToporo уроВНя........ ._......... ............. .............. .... 0.0 424 Создание собственных ПОДДQмеИО8 ...................._ .._...................... ........424 16.6. Пакет B1ND........... .............. ................. ...................................................425 Версии лакетв BIND ..............................................................................425 Олределение текушей верени ................................................................ 425 Комлоненты лакетв BIND.....................................................................427 Демон лаmеd: сервер нмен лакета BIND............................................427 Авторитетные и кэшируюшие серверы ........................___.....................428 Рекурсивн ые и иерекурсивн ые серверы... ............ ....... ............. .._____.....429 Модул ь распознавания . .......... ........... _.. ..._... ............ ..... ........ .... ....... .... ... 430 Выполнение запросов из командноА строки ......_...............................430 16.7. Как работает DNS ..................................................................................431 делеrироВанне................... ........................ ............ ................................... 43 1 Кэширование и эффективность.. ......... ........_............. ........_.._. .__. _.........432 Расширенный лротокол DNS................................................................433 16.8. Работа с клнентом BIND.......................................................................434 Конфиryрирование распознавателя. .._...... __.. .... ........ ._. ..__.. ....... .... ..._._.._ 434 Тестирование распознавателя .. ..............____.__......._................._._. ...431 Влияиие На остальиую 4ЗСТЪ системы _______..............__..... _...................431 16.9. Конфиryрированне сервера B!ND ............... ................... ..........437 Ал паратные требован ия ......... ... .._..............................._._... ___._ .__ _. _....._.....438 Запуск демона named ........ ................... ....... ....._..._............. ......... ......... _. 438 Конфltryрацнонные файлы ...... ............ ...... ............. ......... ........... ........... 438 И нструкцня include ......................... ........ ............ ...................... .............. 440 И нструкuия options ........ ....... ...._. ._..__..... ..... ...._...._.. ............... .................440 И нструкuия acl .............__..... ............ .... ... ._.__...... ....... .._.. ...... ........... -.--... -. 445 И иструкция server ............... ....... ..... ............... ....... ................... ............... 446 Инструкцня loggiлg .................................................................................447 И нструкuил zone ..... ....... __.__ ...._.. ..... ... ..... ........ ..... .... ...... ..... ._...... .......... __ 447 Инструкция key ............................................................ш........................ 450 И нструкцня Irusted -kcys...... ............................. ............................... ........450 И нструкuия cor1trols ....._._. _. ............ .............._........... ....... .......... .._ _.. ..... ... 451 Ииструкцня view .......... .............. ........ .......................... ........... ... ...... .......451 16.10. При меры конфиryрации лакета BJND ................................................452 Домашний Liпuхкомпьютер.... ._. .__. ___. ._.. ._....... .._........ ..........._... ..._. ....... 453 Кафедральный сервер.. ш...................... ...... ...... ...... ............. ............ ....... 454 Сервер компании, ЗRнимаюшеЙ'ся WеЬхоС'ТИнrом _..........................._ 458 16.11. База данных DNS ...................................................................................459 Записн О ресурс8Хшш.........................................................ш.................459 Зались SOA .......................шшш.ш.......................................................... 461 Залнси N S .............. ............ ........ ................ ........ .... ..................................464 Залнси А ................................................................................. ...............464 912 
Запнсн PТR....... .......................... ..................._... ,..................... ...............- 465 Залнсн Мх...... ...................... .............. ..__... ................... ........... ................466 Запнсн CNAME.........._................_..................................................-........ 468 Специальное лрименение записей сNАМЕ.......шш........................... 469 Залиси LOC .............................................................,...........- - __......_......470 Залнсн S RV ..................... ........ .......................... ..... ........... ......----... --..... -. - 471 Записн тхТ....... .._._........ ......... ......_...... ............... ........... ............. ......-- --... 473 Залнси ресурсов lPv6.......................................................................-..... 473 Записи А6._........._... ................... ..._. ......... .._..... ._............................... ...._...474 Залнсн DNAМE ....................................................................................._474 Команды а файлах зон ..........................................................................477 3она 10caJIlOst .......... .......................... ........... ...... .................. .................... 478 Связуюшие записи: ссылки межny зонами .........................................478 16_12.0бновлеине файлов зон ._.....................................................................-.480 Зонные пересыл ки _".. ... ............ .......... ............. _. ................" ....... .... ..........481 Динамические обновления. ............... ........................................ ._........._.482 16.13_ Волросы безопасности ..........__............_..........................._...............___..... 483 Еще раз о списках упрааления доступом ............................................484 Оrpаничение возможностей демона J1зmеd .........................................485 Безопасные межсерверные взаимодействия лосредством слеuнфикаuий TSIG н ТКЕУ_..........._...................._.......486 Т ехнолоrия DNSS ЕС .... ...... ................ ......... _. .............._....... ............. ...... 488 Мiсrоsоft  плохо, UNIX  хорошо.............._................___........... _.492 16.14. Тестированне н отладка ............._...........................................................492 Журна",ная реrнстраuия......... _ _ __......... ................ .._.........._... ...........--... - 493 Уровни отлanки....... ......._ ._._.... ..... .'. ___...... о... ___.. ,.. о. .............. ... ._." о. ._..... .497 Отладка посредством nporpaMMbI ndc ....ш....................................__... 491 Отладка с ПОМОllibЮ nporpaMM nslookup. dig и host .........................499 Напрасное делеrирование.. ... _... .... ......_ .._ _....... ....._. ... _. .......-....... ...." 50:! 16.15. Всякая всячнна__......................... ________.........___................ ____................._.503 Файл " подсказок" ........ ...........0 ........ .... .__........... ...... ......... ..........-.." ......-. 503 Коифиryрирование домена localhost...........-.....----...- ........___.__......._.____ 504 Средства управления узлами ._.__.......__.___........___......._._______ _.........____.__.. 504 Доступ к DNS дЛЯ систем, не подключенных К Iпtеrnеt ................505 16.16. Особенности DNS в различных операционных СНСТеМах.................505 Solaris _...................... ......_................... ._....._.. ...................... ...ш...._._.......... 505 Н p ux .............. ......... _.... ............ ...... ................ ............ ........ ........-.. ......... 506 Red На!_ _ _._._.. ............. ...._............... ................................_...... .-.. ..... ......-..-. 507 FreeBSD........ ..._,_" ............... ...._........... ..ш............. .............. ............. ........ 508 16.17. Рекомендуемая лнтература ..........................................................-.-..--.-.. 509 Списки рассылки и rpуппы НОElостей............................................... ..509 Книrи и друrая документаuия ................................................._............510 Ресурсы в I nternet .................. ................................... .........................-.. - 51 О Документы RFC ..._.._...............................................-............. ..__....._......_510 rлава ]7. Сетевая файловая система ...........................................................................5]3 17_1_ Обшая информация об NFS _.............................__............__...................513 Верснн лротокола NFS __._._..........._.___............_...........__..................___....513 913 
Выбор тpaHcnopTHoro протокола.._. ........ ....... ..._....... ........................ 514 WebNFS .............. ................................. .............................................. ....515 Б,10кировка файлов............ ..... .... ....... ................ ............. .................515 Дисковые квоты ....._.... .._......................................................._.. ......_......515 rлобальные идентификаторы пользователей и rpупп ........................516 Учетные записи root и nobody ....................................... .........___..........516 Секретные ключи и монтирование без учета состояния................... 517 Соrлашения об именах совместно используемых файловых систем ..... ...... . .. ... ........ . ...... . . .... ......... . ...... ......................... _ 517 Безоласность н NFS ............................ ................................................517 17.2 Серверная часть NFS .....................................................................щ..... 518 Команда sllare и файл dfstab (Solaris) ..................................................520 Команда exportfs и файл exports (HP-UX, Red Hat, FreeBSD) ........521 Демон лfsd: файловый сервнс ...............................................................525 17.3. Клиентская часть N FS .........._...................................... ......................... 527 Демоны Ыod и nfsiod: кэширование на стороне клиента........ ........527 Монтирование удаленных фаЙловых с IС'ТеМ.........фш........................527 Выбор лорта................................................................................ ..529 17.4. ПРОlрамма I,fsstзt: отображение статистики NFS.. ..529 17.5. Сrlеuиа..lизировзнные фаЙловые серверы NFS....ш........... ...___....._.....530 17.6. АвТоматическое Mot-IТИр08аНl1е ... .... ___.................... щ...................... ...531 17.7. Проrpаммз зutоmоuпt: самый первый аВТомонТирОвщ 1К..................532 Табли цы косвенных иазначений ............... ....... ... ........ ............ ..... ........533 Т абли цы прямых назначен ий .. ..... ............... .... ...... .... ........................... 53З rлавные таблнцы ........ ............................ ...................... .................... .......534 Исполняемые таблицы ...... ...... .... ........... ............... ...... ....... ..... ........ ...... 534 Проrpамма aLltomount и дублируюшиеся файловые системы ....... ... 534 Автоматическое выполнеиие nporpaMMbl automount ..........................535 Особенности Red Наl Liлuх...................................................... ....536 17.8. Проrpамма amd: более совершенный автомонтировщик..... __...........536 Таблицы назначений проrpаммы аmd.... ....... ... ..ш............ ...537 Залуск лроrpаммы amd ..........................................................................538 Останов nporpaм мы amd ....... ..............._ .'........,. ... .................... ..............539 17.9. Рекомендуемая литература .....................................................................539 rлава 18. Совместное ПСПОЛЬЗОвание системных файлОВ..ш........................ш..............540 18.1. Предмет cOBMeCТHoro использования ............................ ...................... 541 18.2. Колирование файлов .............................................................................. 542 Утилита rdist: принупительнзя рассылка...... ............. ....... .. .............541 Проrpамма rsync: более безопасная рассылка файлов __.....545 Система expect: рассылка файлов по запросу..................................... 547 18.3. NIS: сетевая информзuнонная служба................................................. 549 Сетевые rpуппы..._........... _.. ... ... ..... ..... . .......... ........ ...... ...... .... ....... ......... 550 Задание приоритетов для источников адм инистративной ииформаLlИИ ....... .... ш.. ............ ................... .............551 Преимущества и недостатки NIS..........................................................552 Схема рабarы N I S..................... ............... ............ ........................ ..... ...... 553 914
Созданне N ISдомена ..................... ......................... ............ ...................555 Особенности NlS D различных операционных систеМах...................557 18.4. NIS+: лотомок NlS ................................ ...................... ..............558 18.5. LDAP: упрощенный лротокол достула к каталоПlМ ..........................560 ДОfo..-ументаuия 11 спеuификаuии LDAP ___...___.......___.............................561 Практическое применение протокола LDAP ...................... ..562 rлава 19. Электронн"," почтв .......................................................................................563 19.1. Системы электронной почТы.................................................................565 Пользовательские areHТbI ......................._............................__"_.".__'" ...__ 566 Транспортные areHTbl ........ ................... .................._.........._............. ....... 568 AreIObI доставки ................................................. ........ ................... .......... 568 Хранил нща сообщеиий.... ..... ........... .......... ................ ........ .............. ....... 568 AreHTbl доступа ..................................................................... ................... 569 AreHTbl подачи почты ........ ................................................ _._...._._.___._..._. 569 19.2. АI1атомия почтовоrо сообшения ...................._........_........__...................570 AlI.ресаuия почты ._. ........ ............. .................... ...._.....__ ....._... ._. ._.. _............ 570 3аrоловки почтовых соо6шений.._._____.___...._.....__._._..._ ___...._._............._.571 19_3. Основные прииuипы орrанизации электронной почты ..._.....__....._...575 Почтовые серверы _____._...._.._......__.__.___ш______ _________________ _____..576 Почтовые каталоrи пользовзтеj]ей . ........................._......................._..... 577 Протоколы 'МАР н РОР .......................................................................578 19.4_ Почтовые псевдон ИМЫ_.._ .._._ ._. .__.._._.__.__....... ........_._.........._.._.... ... ... ......._ 579 Получение списков рассылки из файла ............................................_.581 Направление почты в файл _..........................__........_....._.__.._......._.........582 Напрааление почты в nporpaMMY ._........_......__........._............................582 Примеры псевдонимов. .__........_.............._.............. ............ ..................... 583 Перенаправление почты _.......................... ............................... .........._.._. 584 Хэшированная база данных псеадонимов ..._............_............._............586 Списки рассылки и nporpaMMbl для работы с ними .._.........._....___..__587 LDAP ........................................................................................................590 19 _5_ Почтмейстер seJ1dmail ........_. .....___.. ._.._ ........_.....__............. ._. ..... ._.... _........ 592 История nporpaM м ы sendmaiI .........._... ........................... ....................... 59 J ВеРСИ(1 rlporpaMMbI sendmail. ПОСТШi.rlяемые производителями систем ..__........__........_..... ..... ....._......_.....__.__._____...____ __.594 Инсталляuия nporpaMMbI sendmail............................................._..........595 Файл перек.'Iючения серВИСО8 .............................................._................ 59б Режимы работы ........... ........ ............................................... ....... ....... ....... 597 Очередь почтовых сообшений ........................................._._....___._......_...598 19.6. Конфнryрированне лроrpаммы sелdmаil..............................................601 Конфиryрирование с помошью препроиессора т4..........._....____...._...601 Фз(tIJЫ, необходимые ШlЯ коифиrypирования прorpаммы sendmail __.___ 603 Создание файла конфиryраШ1И из rOТOBoro П1сфаила .....................603 19.7. Базоuые примитины конфltryраUИIf nporpaMMbJ sendmail................_.605 Макрос YERSIONID...............................................................................605 Макрос OSТYPE ...................................................................... .............605 Макрос DOМAlN...... ............................................................607 Макрос MAJLER............. ..................... ...............607 915 
19.8. Дополнительные примитивы конфиryрации nporpaMMbI sendmail ......... .............. ....... .'. ... .......... ..............._...... ...___. 609 Макрос FEATURE ....................................................._.._...................__.... 609 Средство usecwfiI......_............_..................................... ............... ........ 609 Средство r.dir.ct............................. ........ .................................. ...............61 О Средство alwaysadddomain _................._.............._....._........_.._.............. 61 О СредС'ТВо nосаnолifу ......... ....... ..................... ........ ................................... 61 О Таблицы и базы данных ........................................................................611 Средство mail.rtable ..........................................................._.... ...............612 Средство gелеricstaые......._.. ._....... ......................._.... ............................ .,. 613 Средство virtusertable..... ..._.. ........... .......... ............ ...................................613 Средство Idap roLltiлg.... ...... ........... .................. ._...... .__ __ ._", _ _._. ,_._,_ ._. __ __.._ 614 Маскирование адресов и макрос MASQUERADEAS...................._..615 Макроконстанты MAILHUB и SMARTHOST_..._________...___.... __616 Маскирование и маРШР}'fизация.. __.._. _.ш_. ____._617 Средство nuUclieJ1t . _.._ .._. _....._ .... .......... ...._ ........ ....._........... ...__...._. ___ 618 СредС'ТВа 10callmtp и smrsll...................................................................618 Средство localrocmail ....__._....._...................__.............._..............___...._..619 Макросы LOCAL' ....._............................................................._......__..._.619 Конфиryрацнонны. олции..._ ____._.._._.............__...........__.................. __.._.619 19_9. Прнм.ры файлов Конфиryрацин__._.......____.._ ___._.....__.........__. ___...622 Домашний ко...шьютер студента факультета ВЫЧI1с:..lите..1ЬНОЙ техники _.шш___ ш ... шшш . ..__... .____шно .....ш _______._.623 Небольшая компания, использующая nporpaMMY sendmail__ 624 Еше один при мер модели С rлавным почтовым сервером ............._627 19_10. Средства nporpaMMbI sendmail дЛЯ борьбы со спамоМ.......................628 Ре'rpансляцня ._............... ................. .......................... ............ ...................630 База дОС1)'Т1а.........._... ___._____..__...__.._..__._.. ____._.____._.........._. _____.__._.....__.._..633 Занесение пользоваТС"lей или узлов в "черные" сПисКJ..I...................635 Проверка заrОЛОВК08. .... ... .... ........__. ......._.. .. ..._.___.__._......_ ._..__. . ......... 636 ()бработка спама ......... ........_......................................................... ...637 При меры спама .........._... ... ..637 19.11. Безопасность и nporpaMM8 sendmall.............................._....._...._......._..641 Владельцы файлоВ.......... .______. _...._ .._...._.. .....____......._... .... ......_._... _..._.. ._....642 Права поступа ._.... ............... .............. ........ ..._ ._........ ............. ._...... ......._..643 Безопасная пересыпка почты в фай"JЫ и nporpaMMbI........................644 Оп ции конфидеНЦИ8.I1ЬНОСТИ.. ш... .......... ......... ._.......... ....._.. .... ....... ........ 644 Запуск проrpзммы seJ1dmail при ПОМОШl1 команды сllюоt ..... ......._645 Отражение атак Тllna "отказ от обслужипаНl1Я" ..ф....._._.щ_щ..._..._....646 Фа..1ЬСИфI1 ка UI1И . ._..... _._......... ....... .... ........ .... ..... .... ..... ............ .............. 647 Безопасность сообшений.....__._... _....... _ .__._.648 SЛSL: простой протокол заШIIТЫ и аутентификации. ________________648 19.12_ Статистика, тестирование и OТ'Iaдкa .ш_ш ____._________щ.__ш._. ._._.649 Тестирование и отладка ... . _ .__..._.__..____._..............._...............................649 Доставка с ком меt-lтариям и.. ...._...... .__.. ..__........ ..... _....... ..... ....... ....... ......650 Обмеи даннымн ло nрarоколу SMTP_.................................................651 Реrистрация событий.. _. __. ........... ............ .............. ......... ... ........_.... .._._. 652 916 
19.13. Почтовая система Postfix........................................................................ 653 Архитектура системы PostflX.................................,................................653 Конфиrypированне системы Posttix......................................................654 Борьба со сламом ...................................................................................656 При меры конфнrypирования системы Postfix.....................................657 19.14. РекомеНдУемая литература .....................................................................658 [лава 20. Управление сетllМИ .......................,........."....................................................660 20.1. Поиск неислравностей в сетях .............................................................661 20.2. Команда ping: проверка доступности компыотера .............................662 20.3. Проrpаммв traceroute: отслеживание IРлакетов.................................664 20.4. Команда netstat: получение всевозможной информаuии О состоянии сети .............................................................667 Контроль СОСТОЯНИЯ сетевых соедиНеНий............................................ 667 Просмотр информаuни О конфиryраuии ннтерфейса........................668 Проверка таблиuы маршрутизВuии............ .......... ........... ...................... 669 Просмотр статистики функционирования различ ных сетевых протоколов .... _..._. ..... о.. .... .......... .............. ...............670 20.5. Аналнзаторы лахетов .............................................................................. 67] Проrpамма snoop: анализатор пакетов 8 Solaris .................................672 Проrpaмма леttl: анализатор лакетов в HPux..................................673 Проrpамма tcpdump: самый лучший анализатор ................................673 20.6. Протоколы улравления сетями .............................................................674 20.7. SNMP: лростой лротоко.' улравления сетЬю......:...............................675 Структура лротокола SNMP ..................................................................676 Олераuии лротокола SNMP ..................................................................677 RMON база MIB для удаленноro моннrоринrа ................................678 20.8. AreHTbl SNMP .......................................................................................... 678 SNM P-аrент в Solaris..............................................................................679 SNМР-аrент в HPUX............................................................................679 SNMPareнr UCD ...................................................................................681 20.9. Проrpаммы улравления сетЬю............................................................... 682 Утнлиты лакета UCD ............................................................................. 682 MRTG: мноroмаршрутный визуальный анализатор трафика............683 NOCOL: интерактивный сетевой апминистративный u е Нтр.............б84 Коммерческие системы ceтeBoro упрааления ................................._... 685 20.10. РекомеНдУемая днторатура .....................................................................686 [лааа 21. Безопасность ................................................................................................687 21.1. Семь правил защиты ..............................................................................688 21.2. Слабые места 8 системе безоласНосТи..............................._.......... ......689 21.3. Проблемы защиты файла /etc/passwd ..................................................690 Проверка и выбор ларолей ...................................................................691 Теневые лароли ................... ...... ....... ...... ....... ........... ...................... ......... 692 rрупповые и совместно используемые yeтHыe записи ....................693 Устаревание ларолей.... ....... .......................................... ........ ........... ....... 693 Пользовательские и нтерпретаторы команд....... ....... ..... ......... ....... .......694 Привилеrированные учетные зап иеи .. ................. ..... ........ ...... .... ...... ....694 917 
21.4. Проrpаммы с УСТЗНОВJIСННЫМ битом смены идентификатора пол ьзователя ....ш. .... ..... ............................. ........'_'._ 694 21.5. Спеuиальные права дос1уП3 ... шш_...ш.ш.........................................69s 21.6 Различные зслеJ\.iЫ защиты .................................................................. 696 Удален ная реrистрация собьrrий. .............. ..... ................_..... ... ...........696 Защишен ные терми H<L'Iы _...ш ........................ .................._........ш........ 697 Файлы /etc/hosts_equiv 11  /_rhosts..___..._.___.__..__.._..____............................ 697 Демонь! rexd, rexecd 11 tftpd_.._._..........................................................._.697 Демон fiЛ!\еrd ........_.._._._._.... .__ _. .....__. ......... ....... ....... ._........__ ........_..._.____._. 698 Безоласность 11 NIS ..................................................._.....__..____. ..__.______.__698 Безоласность и NFS ___________.._.___._._.__........._...................................699 Безопасность и sendmail ........ .......... ............_........_.. ... .... .___. ... __о _. _..... _ 699 Безопасность и резервное коп и рование__.__....... _........................ ........699 Троянские кон и. .__.__. .._......... ..... ._..... ............ ........._ ......... .... . _.._ 699 21.7. Инструментальные средства зашиты ..___...........__.......__....._ _.__._...700 Проrpамма nmap: сканирование сетевых портоВ__.........._.......__......... 700 SAINT выявление слабых eCT сетевых систем ..............................._ 702 Nessus: сетевОЙ сканер следуюшеrо поколения .ш.............................. 702 Проrpаммз crack: поиск ненадежных паролей....__......__.____.....___.._.... 703 Проrpамма tcpd: защита Iпtеrnеtсер8ИСОВ _..._.._........_.._..._.........._. 703 COPS: аудит системы зашиты . _._.._.._............_....__......__..............._......___ 704 Проrрамма tripwire: контроль изменений 8 системных файлах .......705 ТСТ: КРl'lминалистическая экспертиза .................................................706 21.8. Снстемы криптоrpафич:еской заurnты ....._................__._._...._............. 707 Kerberos: унифицированный подход к сетевой безопасности ........... 707 PGP: высокая конфи.денuиальность ..............................._....._....._......._. 708 SSH: безопасн ый интерпретатор команд ......................_..................... 709 SRP: безопасные удаленные пароли ..... ................._......................._.....711 OPIE: универса.1ьные одноразовые пароли ..........._..__...._.............._.....711 21.9. Брандма}-эры . _._.._....._......._......................._......._._.._....._...._..........__.._.____... 7] 2 Филыраuня пакетон .................__ш..__.ш..шш..щ __шшш_.ф_ш.ш_. ...___712 ПРИНUl1Пы фи.ilьтраuии серВисоВ_.._......................................... .........713 Сервисн ыс брандмауэры .. ..._..... ...._... .... ........... _.. ...._... .__.. ... .__. .... ....__...714 АналИЛlруюшие брандаУ::JРЫ ....__.....__ _..714 HaCKO_'IbKO безопасны брандмауэры__ _____714 21.10. ИСТОЧНИЮJ информации на тему безопасности _ __..715 ОрrаНl13аuия CERT .............._.._.._..._..__.........__._..._._._..........._.........._...___._ 715 Сервер SecurityFocus.com и СПИСОК раССЬUlки BugTraq ..._........-........ 716 ОрrаНl1заUI1Я SANS ___.....___..............ш...................................._................ 716 ИнформаШlOнные ресурсы операuионных систем ............................. 716 Друrие списки раССЫЛЮJ и wеЬузлЪ1.................................................717 21.11. Что нужно делать в случае атаки на серElер__..._..._..__....__..._......_...._717 21.12. Рекомендуемая шпература ..............__...._ф....._................................... 719 rJla8a 22. WebxOcтHltr н серверы Internet ...................................................................720 21_1_ wеЬхости Hr _....................._ ._.. __ ._.._..... ..... ... ............... ...... .......... __.._ ... 720 918 
22.2. Основы WеЬхостинrа....... ..................................................................... 721 Унифицнрованные указатели ресурсов ....................._........_.................722 Принuнл работы НттР.......................................................................... 723 сGIсuеНарии: создание ДИН8мическоro wеЬсодержиМоrо_.шш___ш 723 Распределение наrpузки ............ ........_.....___ _..__...." ... ........._.... ........._._.... _ 724 22.3. Инсталляuия НттРсервера...............................................щ................. 724 Выбор сервера ................................. ............................................... .724 Компилирование и инсталляuия сервера Apache ......................___.._... 715 Конфиryрирование сер.ера Apache ......................................................726 Залуск сер.ера дp.che............................................................................727 22.4. Виртуальные интерфейсы....................................................................... 7 27 Конфиryриро.ание .нртуальных интерфейсо..................................... 728 Перед.ч. серверу Apache инфор".uи... О .иртуа:,ьном ин-п:рфейсе ...... 730 22.5. Кэширование и проКсисерверы....._............._.....___....__...___...................731 Инсталляuия сервера Squid........... ..... ....._...__... ___ш__....... ....... ............ .... 732 22.6. Установка анонимноro FТРсерl3ера._.._...._.............._..._.___..___ш. ..732 22.7. rруплы но.остей Usелеt ..........ш.......................ш................................ 734 Подписка на новости Usелеr................_._........................_.._.._...............735 Проrраммное обеспечение Usenet. .............._............ .......... ..._.. .._.. ........736 Нужны ли новости Usenet? ...............__..... __ .....____....._._. _.__..................736 Часть 111. Разное rлава 23. Печать..........................................................................................................739 23.1_ Минис;IOВарь терминов по печати ....._..._._._.._..._............_..__..___........... 740 23.2. Тилы лринТеро.......................................................ш.... .. 741 Последовательные и пара.'1Лельные приНтеры....__._ш_........................_742 Сетевые принтеры ......_..._.._____._.__.._..... ..... ......... ............. ._........._ ..__. ........742 Жизн ь без PosrScript ........................__..____...__.__... _... .... ........ .... ..............._ 743 23.з ВsDсисте... леч.ти ....................................................ш........................ 743 Обзор "роиесса печати ._..._._ ._..._.... ................... ... _._.... ..... ...............___.___. 743 Управление средой печ3111.___............................__...____._._..__.................._.745 Демон Ipd: ВSDслулер леч.ти ......................................................... ..745 Команда Ipr: вьшача заданий на принтер..............................___........... 746 Команда Ipq: просмотр очереди печати ..__._.......__ ___.___._._......... 746 Команда Iprm: удаление заданий .__._____........ _ ____ .___._._.... ___...__.__ шш.747 Команда Iрс: внесение администратнвных изменений._ ..747 Ф.йл /еtс/рriлtсар ...... .................................................. .......749 Перемеиные базы ДОННЫ> рriлtсар .......................................................750 Переменные базы данных рriлrсар для последовательных устроиств. ....... ш...__...__ш._____ ...................._..._....755 Расширения баЗbl данных рriпtсар_.._..__.....................__._.._..ш.__ш...._ ..756 Печать не на n pIHTepbI .__._____._..__._.. ...... ... ......._......_._ .._. _..___........... _._.... _ 756 23.4 Печ.ть в System V............ ............................ 757 Обзор ...... . ....... ....... . ...ш... ........... 757 Пункты назначения и классы .....____. ...._....758 Краткое описание команды Ip ........._......._........................._..__.. _____.758 919 
KO18HДЫ Ipsched и Iрslшr: запуск и останов пе\18Ти............... ._759 КОfанда Iраdmiп: конфиryрировзние среды пеlати ..........................759 Команда Ips[at: получение ИНфОрМ31lИИ о состоянии снстемЬ1 печати .................. ............................................... 762 Команда салсеl: уп.а.lение заланий печаТи...........................................763 Команды accept и reject: управление орrанизauией очереди ............76.3 Команды елаblе ' disabIe: управ..'1ение Пе4атью ..шщ_щ....._... ...._......764 КОМ81-Ш8 IРПlO".е: перемешение заданий.._......................................._.... 764 И нтерфейсн ые n porpaMM ы .... ............... ......... ......... ... .... ........ ....... ..........764 Что де.'lать. есди проrpаl\lМV Ip заклинило? .........................................765 23.5_ Добав..rlение принтера.......... ..... ....... .... ....... ..... ........ ............ ............. ....... 766 Solari. . ..... ......................................... ........... .............................................. 767 HPUX.................. ....................................................................... . .......770 Red На'................................................. .....................................771 FreeBSD ................. ... 772 23.6. Слулер lРRлg...... .... .......773 КомаНдЫ lРRлg.. ............................................................. 774 Получение и инста.1ЛЯliИЯ- LPRng.............._...._.._...._... ш........_......... ...775 Файл /е'с/lрd.солf: конфиryрирование демона !pd.............................776 Фаltт /е,с/lрd.репn.: иастройка лрав дocтyna ................... ..776 Настройка базы данных рriлtсар.................................. ..777 филыjJы ........................................................... ..777 Учет ......................... ... ....... ............................................. ........... .......... 778 23.7. Устранение лроблем лри лечати.. .................................... 778 23.8. Основные nporpaMMbI печатН....... ..............._......_......779 Проrpа"...а rlpr....... ................................................ .779 Проrpамма gho5tscrlpt ._ ...779 Проrp."ма траЕе.. ......,........................................................., 779 ПроrpЗ"f"f8 enscrlpr . ....._ _. ....._......... ............ ................_.....................780 23.9. Основные приншты Р,lботы с прIНТероМ._._ ..._..............._...............780 Орrанизуйп: учет работы rlpllHTepa _.........._........._................................ 780 Используйте страНицыJаro.lОВКII ТО.1ЬКО в случае неоБХОШ1МОСТИ .......................................... _...780 Обеспечьте УТИ:Jиззшtю отходов .........._.._..... ....781 Обеспечьте предварите_1ЬНЫЙ I1рОСМОтр ..... .781 Пр!ОбретаЙте дешевые ПРlllперы .... ......_..... ............. 781 ЛеРЖlпе ПО..l рукой )аПdсt-!ые картри.п.жи с ТOHep()' ......................... 78 Зашн[uайте лринтеры ..__...._.............. .................................._._......_._.._... 782 [лава 24. Обслуживание annapaTllbI>" средсТв...............................................................783 24.1. Основы ТеХНt"1е-СКОrо оБС.1JУЖllвания ............................ ......................783 24.2. Контракты на оБС.Ч'ЖJ.1IШНltе .................. ._.....784 ОБС.lуживание на eCTe.... шш.784 Обс.,ч'живаНltе с З8\,fеной плат _.______..... 785 rарантии _. ...,..... .. ... ._..._. . ._._. _ __о __._._.._..... .......................................785 24.1. Уход за печаТНЫ\IИ Iматами... ........................785 СтаП1ческое электрИlество . .................785 Переустановка плат._................ .........._....786 920 
24.4. Мон иторы............... ............................................. ..... .................. .............. 786 24.5. Модули ламяти........................................................................................786 24.6. ПрофилактиlесКое обслуживание .....ш............_._.................................... 787 24.7. У СЛОВИА ЗКСПJlуатаuии ..... ......................._.... .....................______.. __"__"..... о.. 788 Темлература....... .............. .000.... ....... .......................................................... 788 ВлажностЬ...... ............................................. ................... ..... ...................... 788 Охлаждение офисных помешений ..ш............................................___.... 788 Охлаждение машинных залоВ..................... ........ ............._. .... ........ .... .... 789 Контроль темлературы .. .......................................... .................. .......000.... 790 24.8. Источники питания... .................. 790 Упаленное управление питанием __шш............ ..791 24.9. Стеллажи ДЛЯ алпаратуры .................................................000000000000000000... 791 24.1 о. Инструменты................................................ооо...оооооо................................ 792 rлава 25. Анализ пронзводительности ....................................................................__....793 25.1. Как ПОВЫСИТЬ производите...1ЬНОСТЪ . .........._..._..._.................................._ 794 25.2. ФЗК'J'оры s влияющие на производительность _._.......................__....._.__. 795 25.3. Проверка производительности снстеМы....._......................................... 796 Анализ использовзния uентрэльноrо npoueccopa ............................... 796 Улравление ла"ятью В UNIX ...............................................................799 Анализ использования памяти ..................................._.....____._._.............800 Анализ операuиn обмена с .диском ........_.ш.....ш......__.........................8О2 Виртуальный помошник Адриан....._...._..........................__ __.___804 КО!\.tанда procillrO: отображение .данных о производительности в Red Нас...................._..._...... ._805 Команда pstat: вывод стаТИСТltче-еких .данных во FreeBSD ......_........ 805 25.4. Помоrите! Моя система ПОЧП1 остановилась! ......................_............._806 25.5. Рекомендуемая литература .....................................................................807 [лава 26. Взаимодействие С \\'iпdоws ...........................................................................808 26.1_ Совместное использование файлов и принтеров...........................__.__808 Фай.ЛОВая систеfа N FS . ._. __._.... __._._... _. __...._._ .... .._............. ........ .... .... ......809 Файловая система CIFS ........................................................000.000..........809 Samba: снстема C!FS дЛЯ UNIX..................................................... ..809 Инсталляuия и КОНФИIуриронаНI1е пакета Samba _.........._................_.810 Отладка пакета SаП1Ьа.. ....... ... ........ .._........._... .........._......... ...... ... ......_._._ 812 26.2_ Безопасная змуля-иия- терминала с ИСПО.:J:ьзоnанием систеМbI SSH .................................. .._..._....813 26.3. Эмуляторы Х Wiлdоws............................................................... ..813 26.4_ Почтовые клиенты на персоналъных коМпыотерах.__..._._.._.._..__.........814 26_5. Резервное r:;ОПИРОВ<:Iние На персональных KOMnbIOTepax....................8J4 26_6_ М У.lьтисистем ная заrpузка ............. ._........ .___._.. ___.___... ........... ... ..............815 26.7. Запуск ПРl1ложеНi-IЙ Willdows в среде LJNlх.......ш..._...щ..__...............815 26.8. Советы по аппаратным средствам персональных КоМпьютеров.......816 rлзвз 27. Страl'еrия и политика IИII"стрНроВаНиН....................................................817 27_1. ПраRила и методики. __шшш..шшшш......ш......818 Правила безопасности ... _..820 Правила для пользователей ......_......._.._. _._________..821 921 
П ранила для адм lН IIСТр3ТОрОВ . ....... ....... _._... ... __....._..._.... ._........... ._.......823 Правила и методики для 'Экстренных случаеВ._............._............__ш...824 Планирование на случай аварий .......................................................__.825 Непредвиденные обстоятельства ............. ......... ................. .................... 827 27.2. Право вые аспекты.. ._._.. .._.__. _.. .___....__._...__.. ..... ....... _.._.... .... ._........ .........._. 827 Ответственность. _...._ .... __.._.............. _____.__..___._.._...._.._........._. .....__.._.. ._.. __.. 828 Шифрование ............ ............ ......... ............................... ..._.... ..__ ._.._... .__. ___ _ 828 Зашита авторских прав. ...... ........................ ..................... __. ._.. __.._ _.. ._.. __.. 828 Ко нфиде нuиальность ......... ....... ................................_. ........__...._.__.___.. _о. _ 829 Внедрение в жизнь политики администрирования ......_........._...........830 ЛИUСНJJ1' на nporpaMMHoe обесrlе1lсние _.___.._........_ф__... ._____...832 Спам: навязчивая почта коммерческоrо содержания......__.. .. ....._..833 27_3_ Некоторые интересные факты ___шш_. .__ _.. . ....... ш ... .... .. _...._......_.._833 Результаты опроса. провсденноrо орrаНИ"JЗuиеЙ sлGЕ____________________.834 Результаты опроса, Ilроведенноrо орrанизаШfей SANS .._..................835 27.4_ Объем и качество обслуживания .............._...........................................835 27.5. И нформацион нодиаrностические системы ._... ... ....__. _. .._. .._. ._...... _....... 836 27.6. Как руководнть руководителями. _.. _. ._. _..ш_._ _._._..__._.......... ......._..._._.._ ._. 837 П.7. Прием на работу, увольнение" обучение _.._.._..__..._.._...._ ..._..__....___..838 Корректировка ПО311UИИ ..... ............ ............ ....... ..... ....... ... ..... ... _............_ 839 Операторские войны ....._...... .._ ........ .__. ...._.._. ........... ...... ............. ....__.. _. 840 Последовате:,ьное улучшение .._.._._.__.__._._.. ..._..._.._......._...____ .._ш......840 27.8. Невыдуман н ые 5tстори и.... ........ ...... ... ....... ...__.. .._. ... ... _...___ _.. __ ... _.._..... _.. __ 841 Ошибка начаЛЬНИка (номер оll.ин) ___........._._..._._.........._.____....__............841 ОШl1бкi'I начальника (номер два) ..........................................................841 Дэн, твое новое имя  лестер..._._....____._....._.._.._ш..__.___. ___.842 KOI"O увольнять? ........... ...... ... ... .... ..... ....__.._. ._._._.. ..._....._.___. .._ ......__.__.__._. 842 Упрямеu Джо_.___. ____842 ПриrлашеН'1Я на сВадьбу....................... __.__.__._.__..__.___.843 Порноrpафи,еские GIFизображения ___...843 Перенос данных ... _________.__ш______.._.., ._.844 Бил.л ДО:1Жен умереть!.._ ____ ___ ___ш______ _. ш _..._..845 27.9. РазмешеН1е и оБНОВJlенне проrpЗМ't ......................_....._........_.............845 УпраRl1ение nporpaMMHbIM обеспечением в крупных системах ....._..846 ОБНОБ..lение проrpaмм ..... ._. ._.. ......... ... ..... ........ ...... ............. .... ...... ... ....... 847 Полезные nporpaMMbI сторонних производителей .._........................... 848 П.] О. Внутренняя доКументauия..... ..........._......_....._.._..___._....._.._.._............_.__ __ 851 П.] ,_ Закулка оборудования .._..._...................................._............................._.. 852 27 _12_ Списание оборудован ия ........................... .... ........ ........ .... ..... .... ... ..__...... 853 27.13. Патенты на nporpaMMHDe обеспечение ......._......__........_._......._............_854 27.14. Орraнизаuии и конфереНL!ИИ ....._.._._....._......._.............__..................._.... 855 SAGE: rи_:-rьдия системныХ ааминистраторов _..._._..._____.._.__......__._....._ 856 Списки раССЫ1КИ и WebpecypcbI ........_........_....................._._............... 857 литература.......... ............ .................. ...................... ................. ................. 858 П .15. Стандарты .................._......._...._.._.............................................................. 858 27.16_ Образцы покументов ..............................._....._._._......__........._...._.............. 860 27. 17. Рекомендуемая л итературз._._._....... .............._........... .......... ... ... .._._._.... ... 861 922 
[лава и. Процессы-демоны ...................................щ................................................... 862 28.1. Основные демон ы ............... ".... ...__......._...... о.. ............._....-._._.___._._......_.... 863 28.2. Демон cron: плаНl1ро'Вание КоМаНд.......................................................864 28.3. Демон inetd. управление демонами ......_............_. ................................865 Конфиryрирование демона inetd ____...... ... ....... ......................_................865 Файл .ervice.. ................. ............... .......................... .щ...................... ....... 866 Пере запуск демона inetd .... ..... ............__................................ ............._ .__ 867 Заl1U1та демона jnetd __.................... ................ .......__....................... ....... __ 867 Демон роrtmар/qx:Ылd: лреобразование номеров RPCcepBHcoB в номера портов ТСР и UDP ................................... 868 28.4. Системные демоны ....._.___.............................................._...._.__............ ... _. 868 Демон замешения страниu ......................_............................__.__...___....._ 868 Демон подкачки ...........................................____.............. ...................... ... 868 Демон синхронизauии файловых систем..__.........................................869 28.5. Демоны лечати ........................................................................................ 869 Ipd: упрамеIOfе печатью в ВsDсистеМах.......ш..........._...................... 869 Ipsched: уnрамение печатью в АтrсистеМах_................................._..869 rlpdаеmол: печать из BSD в HPux....................................................870 28.6. Демоны N FS ...... .............. ..... ...................... ............................................ 870 лfsd: файловый сервис ............................ ............... .... ..... ........ .............. 870 mountd: ответы на запросы Монтировзния.............._........_.._............... 870 amd и аLltоmОL1пt: монтирование файловых систем по запросу.. _._ 870 lockd и Бtаtd: управление файлами блокировки NFS ......... .. ....870 Ыod; кэширование блоков NFS ............................................................871 28.7. Демоны NIS ............................................................................................. 871 урЫлd: лоиск серверов NIS................................................................. 871 yp.erv: сервер NIS ................................................................................... 871 ypxfrd: лересылка баз данных NIS ....................................................871 rpс.лisd: сервер NIS+ ..................ш................................................ ...871 28.8. Демоны Iп'еmеt .................... .............. ............... ... .ш............ ......... ...... 871 talkd: сервер проrpаммы taIk ..........................................шш............... 872 comsat: уведомление пользователей о постyrтлен1И ПОчТы..............__ 872 sendmaiJ: транспортировка Э.'1ектронной ПОчТы...................................872 snmpd: сервер удаленноrо управления сетями ___........__.......................872 rwhod: ведение списка удаленных ПО,'1ьзователей ................_....__._..._.. 872 ftpd: сервер лересылии файлов .............................................................873 popper: простейший сервер почтовоrо яшиК3._........................._........_873 imapd: высококлассный сервер почтоnorо яшиК3___..... _..873 rlogind: сервер удаленной реrистрации ........ .............. ....... ...___..._.. _._.....873 telnetd: еше один сервер удаленной реrистраuии ................ш..........._ 873 sshd: безопасный сервер упаленной реrистрзuии ._.__._..ш____._.._.......... 874 rshd: сервер уда'lенноrо выполнения коМан.д...................................._.874 rexecd: еше один сервер удалеНf!оrо выполнения команд ..__............874 rpc.rexd: третий сервер удаленноrо выполнения команд .................._ 874 rOL1ted: ведение таблИll маршрyrизаШfИ.. ......____._.........._.__.......__...874 923 
gated: ведение сложных таблиц м8ршрyrизацин.............. ..................874 лаЛlеd: сервер DNS ................................................................................. 875 syslogd: обработка со05шений об ошибках.......................................... 875 fingerd: поиск пользователей. ......... .......... .................... ...... ..... .... ........... 875 httpd. сервер World Wide Web ............................................................... 875 28.9. Демоны синхронизаuии времени ...... ...... ...... ......... ..... ... ............ ....... .... 875 timed: сннхрон изauия часов... ........ .......... ....... ....... ... ....... ............... ....... 876 xntpd: более точная СИНХРОНИЗ8UИЯ часоВ...........................................876 28.10. Демоны начальной заrpузки и конфиryрироВания.............................876 boorpd: сервер НИ'IaJ1ЬНОЙ заrpузки ........... ...........................:................ 877 tftpd: тривиальный сервер лересылкн файлов..................................... 877 rarpd: лреобразование Etltemet.aдpeCOB в IР.адреса..... ...........877 bootparamd: усовершенствованная nодnержка бездисковой работы .....................................щ........................................ 877 dhcpd: динамическое назначение адресов............................................ 877 Предметный уКазаТt!JIЬ.................................................................................. 878