сеть на линуксе. Алексей Старовойтов СанктПетербург бхвпетербург 2006 удк 681 06 ббк 32. 973. 202 С77
Скачать 7.49 Mb.
|
Ðèñ. 10.11. Ñîçäàíèå íîâîé ó÷åòíîé çàïèñè Но это еще на все. Надо теперь отредактировать файлы /etc/passwd и /etc/shadow и добавить к имени kb_01 символ $. Отредактировать можно, например, воспользовавшись файловым менеджером mc (рис. 10.12). Ðèñ. 10.12. Ïîñëåäíèå ñòðîêè ôàéëà /etc/passwd Теперь настала пора добавить пользователя kb_01 в файл паролей Samba (рис. 10.13). Ðèñ. 10.13. Äîáàâëåíèå ïîëüçîâàòåëÿ äëÿ Samba Подготовительный этап закончен, настало время пойти на компьютер kb_01 и подключить его к домену. Íàñòðîéêà âõîäà 1. Входим с правами администратора на данном компьютере. 2. На значке Мой компьютер правой кнопкой мыши выбираем пункт Свойства (рис. 10.14). 3. В появившемся окне выбираем вкладку Сетевая идентификация. Дос- тупны две активные кнопки: Идентификация и Свойства. При помощи любой из них возможно подключение компьютера к домену. Поскольку идентификация позволяет сразу же создать нового локального пользова- теля, поэтому воспользуемся ею (рис. 10.15). 210 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ðèñ. 10.14. Íà÷èíàåì ïîäêëþ÷åíèå êîìïüþòåðà ê äîìåíó Ðèñ. 10.15. Âûáîð ñïîñîáà ïîäêëþ÷åíèÿ ê äîìåíó ïðè ïîìîùè ìàñòåðà Ãëàâà 10. Íàñòðîéêà Samba 211 4. При нажатии кнопки Идентификация начинает свою работу мастер под- ключения компьютера. Мы покажем работу мастера по шагам, сопрово- ждая, где это необходимо, комментариями (рис. 10.16–10.20). Ðèñ. 10.16. Øàã 1 Ðèñ. 10.17. Øàã 2 212 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ðèñ. 10.18. Øàã 3. Ñåòü áóäåò èñïîëüçîâàòü äîìåíû Ðèñ. 10.19. Øàã 4. Èíôîðìàöèÿ î ñâåäåíèÿõ, êîòîðûå ïðèãîäÿòñÿ â äàëüíåéøåì Ãëàâà 10. Íàñòðîéêà Samba 213 Ðèñ. 10.20. Øàã 5 5. С шага 6 собственно и начинается регистрация компьютера в домене. Здесь вводим имя компьютера и домен, в который он входит. На дан- ный момент эти учетные записи уже должны быть в Samba (рис. 10.21). Ðèñ. 10.21. Øàã 6 214 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè 6. На следующем шаге необходимо ввести имя пользователя и пароль, имеющего право подключения к домену. Это пользователь root. Обратите внимание, что имеется в виду пароль для доступа к Samba (рис. 10.22). Ðèñ. 10.22. Øàã 7 7. Компьютер подключен к домену, теперь создадим для пользователя учет- ную запись на этом компьютере. Здесь имеется в виду пользователь Samba, уже существующий на данный момент. У нас это user11 (рис. 10.23). Ðèñ. 10.23. Øàã 8 Ãëàâà 10. Íàñòðîéêà Samba 215 8. Следующим шагом будет назначение пользователю прав на данном ком- пьютере (рис. 10.24). Ðèñ. 10.24. Øàã 9. Âûáîð ïðàâ ïîëüçîâàòåëÿ íà ýòîì êîìïüþòåðå 9. Ну, все, мы в домене. Осталось только перезагрузить компьютер (рис. 10.25). Ðèñ. 10.25. Çàâåðøåíèå ðàáîòû ìàñòåðà 216 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè 10. На последнем шаге нам осталось войти в домен. Если вы обратили внима- ние, то приглашение на вход в систему изменилось. Выберите вход в домен Samba, введите имя пользователя и пароль из списка зарегистрированных в Samba. И войдите в систему. Удачной работы в домене (рис. 10.26). Ðèñ. 10.26. Âõîä â äîìåí 10.6. Ïåðâûé çàïóñê Swat Начиная со второй версии, в комплект Samba входит утилита графической настройки Swat (Samba web Administation Tool — средство администрирова- ния с использованием Web-интерфейса). На первых порах при конфигури- ровании Samba лучше пользоваться именно этой утилитой. Она оградит вас от тонкостей синтаксиса smb.conf и предоставит возможность задавать не- обходимую конфигурацию. По умолчанию в ASPLinux 7.3 Server Edition сервис Swat не устанавливается его надо выбирать либо во время установки, либо позднее. Во время установки мы этого не сделали. Так что давайте исправим си- туацию и установим утилиту Swat. Заодно и потренируемся устанавли- вать пакеты. Для этого необходимо установить пакет: samba-swat-2.2.7a- 3.7.3asp.i386.rpm, он располагается на втором диске. 1. Вставляем диск в привод. 2. Монтируем файловую систему на компакт-диске, для этого вводим команду # mount /dev/cdrom 3. Запускаем mc (Midnight Commander) и копируем файл samba-swat- 2.2.7a-3.7.3asp.i386.rpm во временный каталог. Ãëàâà 10. Íàñòðîéêà Samba 217 4. Во временном каталоге вводим команду # rpm –i samba-swat-2.2.7a-3.7.3asp.i386.rpm 5. Пакет установлен. 6. Настраиваем автоматический запуск, для этого файл /etc/xinetd.d/swat приводим в соответствие: # default: on # description: SWAT is the Samba Web Admin Tool. Use swat \ # to configure your Samba server. To use SWAT, \ # connect to port 901 with your favorite web browser. service swat { port = 901 socket_type = stream wait = no only_from = 127.0.0.1 user = root server = /usr/sbin/swat log_on_failure += USERID disable = no } После сделанных изменений необходимо проверить файлы /etc/hosts.allow /etc/hosts.deny и убедиться, что доступ не запрещен. Проверку запуска можно осуществить, набрав netstat –ln и проверив строки с портом 901 (рис. 10.27). В нашем случае это верхняя строка. Все нормально, запускаем браузер и в адресной строке набираем: http://192.168.0.5:901. Если вы работаете не на сервере, а на локальной машине, то получить дос- туп к этой утилите можно только через Webmin: на вкладке Servers следует выбрать пункт Samba Windows File String и щелкнуть кнопку Swat. При запуске Swat появляется окно, как на рис. 10.28. Активные кнопки служат для управления. Их смысл ясен из названий. Home — начальная страница, можно получить доступ к документации; Globals — настройка глобальных параметров; Shares — настройка общих ресурсов; Printers — настройка принтеров; 218 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Wizard — утилита автоматического конфигурирования; Status — просмотр статистики Samba; View — просмотр файла конфигураций; Password — добавление пользователей, смена паролей. Ðèñ. 10.27. Ñïèñîê çàïóùåííûõ ïðîöåññîâ Ðèñ. 10.28. Îêíî Swat Ãëàâà 10. Íàñòðîéêà Samba 219 10.7. Íåêîòîðûå ïåðåìåííûå Samba Список переменных Samba приводится в табл. 10.4. Òàáëèöà 10.4. Ïåðåìåííûå Samba Ïåðåìåííàÿ Îïèñàíèå %S Íàçâàíèå òåêóùåãî ñåðâèñà %P Êîðíåâîé êàòàëîã òåêóùåãî ñåðâèñà %u Èìÿ ïîëüçîâàòåëÿ %g Èìÿ îñíîâíîé ãðóïïû ïîëüçîâàòåëÿ %U Èìÿ ïîëüçîâàòåëÿ äëÿ ñåàíñà %G Èìÿ ãðóïïû äëÿ ñåàíñà %H Ðàáî÷èé êàòàëîã ïîëüçîâàòåëÿ %v Âåðñèÿ Samba %m Netbios-èìÿ ìàøèíû ïîëüçîâàòåëÿ %L Netbios-èìÿ ñåðâåðà %M DNS-èìÿ ìàøèíû ïîëüçîâàòåëÿ %р Ïóòü ê ðàáî÷åìó êàòàëîãó %I IP-àäðåñ êîìïüþòåðà êëèåíòà %T Òåêóùåå âðåìÿ 10.8. Àâòîìàòè÷åñêèé çàïóñê Samba По умолчанию Samba не запускается автоматически. Ее можно запустить вручную. Для этого надо файл /etc/rc.d/rc3.d/k35smb переименовать в файл /etc/rc.d/rc3.d/S65smb. Кроме того, заголовок файла /etc/rc.d/init.d/smb не- обходимо изменить следующим образом: #!/bin/sh # # chkconfig: 3 65 35 # description: Starts and stops the Samba smbd and nmbd daemons \ # used to provide SMB network services Это обеспечит автоматический запуск сервиса. В варианте работы с Webmin на вкладке System выбрать Boot and Shutdown и щелкнуть по надписи smb. 220 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Следует указать, что при следующем запуске сервис должен стартовать. За- тем нажать Save и сохранить изменения (рис. 10.29). Конечно, такая конструкция работоспособна, вот только можно запутаться, по- скольку можно заметить K35smb, не заметив S99smb, и думать, что процесс запускаться не будет. Мелочь, но обратите на это внимание, если используете утилиту. Ðèñ. 10.29. Íàñòðîéêà àâòîìàòè÷åñêîãî çàïóñêà Samba Ãëàâà 11 Ñëóæáû DNS è DHCP При построении локальной сети можно обойтись и без служб DNS и DHCP. Конечно, сеть будет не такой гибкой, однако если вы испытываете сложности с настройкой, то можете отказаться, в особенности, от службы DHCP, которая используется достаточно редко. 11.1. Êðàòêàÿ õàðàêòåðèñòèêà DNS Компьютеры в сетях TCP/IP распознают друг друга при помощи локальных IP-адресов. Запоминать IP-адрес не совсем удобно, кроме того, числа не несут информации о содержании ресурса. Поэтому компьютерам присваи- вают символьные имена. В самом деле, проще запомнить www.webmin.com, чем IP-адрес 66.35.250.210. Ясно, что если пользователь оперирует символьными именами, а в сети используются IP-адреса, то кто-то должен заниматься постановкой соответ- ствия "IP-адрес — имя хоста". Этим ведает специальная служба, называется она DNS (Domain Name Service — служба доменных имен). Работа службы DNS описана в документах RFC882, RFC883, RFC1034, RFC1035. Документы RFC1034, RFC1035 были созданы в 1987 г., но до сих пор считаются основными спецификациями службы DNS, несмотря на то, что существует ряд документов, дополнивших их (например RFC2671 – RFC2673, RFC2535 и др.). DNS-служба определяет следующие моменты: иерархию построения имен компьютеров в сети; протокол обмена информацией о соответствии "имя — адрес" между серверами DNS; механизм поиска служб в сети; правила построения распределенной базы данных "имя — компьютер". Пространство имен компьютеров в сети имеет вид дерева, ветвями вниз. Началом всему служит корень дерева. Обозначается он точкой. Поскольку 222 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè точка располагается в конце имени, то она, как правило, не пишется. Под корнем располагаются домены первого уровня. Далее идут домены второго уровня, третьего и т. д. Например, Linux.ru — это доменное имя второго уровня. Точка в конце пропущена (как мы и говорили). Читать имя надо с конца: ru — домен первого уровня, Linux — доменное имя второго уровня. Имена первого уровня достаточно стабильны. Помимо страны (например ru, us, de), доменные имена первого уровня могут иметь и другой смысл. Например, com —коммерческие организации, gov — правительственные уч- реждения, mil — военные ведомства и др. 11.2. Êàê ðàáîòàåò ñëóæáà DNS Наличие определенной структуры в дереве имен предполагает наличие оп- ределенных принципов работы службы DNS. Каждый домен является главным на своем уровне и знает обо всех компью- терах этого уровня. В то же время он знает о существовании домена более высокого уровня. Поэтому, когда производится поиск имени за пределами своего домена, то в начале запрос идет к корневому серверу, а затем к сер- верам более низкого уровня, вплоть до разрешения имени (рис. 11.1). Ðèñ. 11.1. Ïîðÿäîê ðàáîòû ñëóæáû DNS Ãëàâà 11. Ñëóæáû DNS è DHCP 223 Рисунок сделан в предположении, что в серверах имен не использовалось кэширование. Запросы такого рода предполагают значительную загрузку сети, что может привести к сбоям в работе. Поэтому применяется кэширование записей на серверах DNS. Кэширование предполагает сохранение на серве- рах DNS соответствий "имя — адрес" на наиболее частые запросы. Запись из кэша может удаляться по прошествии определенного времени. Система стре- мится использовать в кэше наиболее часто встречаемые запросы. Поэтому обычно запросы на серверы первого уровня и популярные серверы всегда хранятся в кэше. Разрешать запросы на верхнем уровне приходится редко. 11.3. Ïàêåò BIND è åãî êîìïîíåíòû Существует несколько программных реализаций сервера DNS. Наиболее распространенной реализацией является BIND (Berkley Internet Name Do- main — система доменных интернет-имен университета Беркли). Сущест- вуют три основных разновидности пакетов: BIND 4, BIND 8, BIND 9. По- скольку программный продукт свободно распространяемый, то во все современные дистрибутивы Linux входит, как правило, пакет BIND 9. В пакет BIND входят следующие компоненты: named — демон сервера имен; утилиты nslookup, dig, host, позволяющие проверить работу сервисов из командной строки. Демон named собственно реализует функцию разрешения имен на IP- адреса. Если ему неизвестно какое-либо имя, то он осуществляет разреше- ние этого имени при помощи других серверов. Серверы имен могут быть нескольких типов (табл. 11.1) и обычно один сервер совмещает сразу не- сколько режимов работы. Òàáëèöà 11.1. Òèïû ñåðâåðîâ DNS Òèï ñåðâåðà Îïèñàíèå Àâòîðèòàðíûé Îôèöèàëüíûé ïðåäñòàâèòåëü çîíû, îòâåòû ýòîãî ñåðâåðà ñàìûå òî÷íûå è íå óñòàðåâøèå Ïåðâè÷íûé Îñíîâíîå õðàíèëèùå äàííûõ çîíû. Âñÿ èíôîðìàöèÿ õðà- íèòñÿ çäåñü Âòîðè÷íûé Êîïèðóåò äàííûå ñ ãëàâíîãî ñåðâåðà è ñòðàõóåò ãëàâíûé ñåðâåð Íåàâòîðèòàðíûé Îòâå÷àåò íà çàïðîñû èç ñâîåãî êýøà.  ïðèíöèïå, îòâåò ìî- æåò áûòü íåêîððåêòíûì, õîòÿ òàêîå âñòðå÷àåòñÿ ðåäêî Ðåêóðñèâíûé Îñóùåñòâëÿåò çàïðîñû îò èìåíè êëèåíòà äî ïîëíîãî ðàçðå- øåíèÿ àäðåñà. Êëèåíòó âûäàåòñÿ ñîîòâåòñòâèå "èìÿ —àäðåñ" Íåðåêóðñèâíûé Ïåðåíàïðàâëÿåò êëèåíòà ê äðóãîìó ñåðâåðó. Êàê ïðàâèëî, âñå ñåðâåðû âåðõíåãî óðîâíÿ íåðåêóðñèâíûå, òàê êàê îíè îáðàáàòûâàþò áîëüøîå ÷èñëî çàïðîñîâ 224 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Все серверы, кроме Linux.ru, на рис. 11.1 были нерекурсивными. Сервер Linux.ru рекурсивный. Для отладки работы службы DNS используются программы nslookup, dig, host. Здесь они приводятся обзорно. Если вас интересует их работа, то об- ращайтесь к документации по этим утилитам. Тем не менее даже столь ма- лые сведения позволят вам проверить свой сервер имен. Óòèëèòà nslookup Утилита nslookup предназначена для передачи запросов серверу имен. Если программу запустить без параметров, то она обратится к первому серверу имен, взятому из файла /etc/resolv.conf. Конкретный сервер имен задается принудительно, для этого в строке вызова после nslookup указывается дефис и DNS-сервер (рис. 11.2). Ðèñ. 11.2. Ïðèìåð âûïîëíåíèÿ nslookup Óòèëèòà dig Утилита dig, так же как и nslookup, предназначена для отладки и выдает данные о формате, который может быть использован непосредственно сер- вером DNS. В ответе c двумя символами точки с запятой идут строки ком- ментария (рис. 11.3). Ãëàâà 11. Ñëóæáû DNS è DHCP 225 Ðèñ. 11.3. Ïðèìåð çàïóñêà ïðîãðàììû dig Óòèëèòà host Утилита host возвращает IP-адрес хостов. Программа выдает только IP- адрес, поэтому ее применение для отладки ограничено. 11.4. Êàê ÷èòàòü ôàéë íàñòðîåê BIND Ôàéë named.conf Демон сервера имен имеет несколько конфигурационных файлов. Основ- ным файлом настроек является файл /etc/named.conf (листинг 11.1). Ëèñòèíã 11.1. Ôàéë íàñòðîåê /etc/named.conf (ïðèìåð) options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want 226 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameservers config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; include "/etc/rndc.key"; Разделы файла заключены в фигурные скобки. Строки, начинающиеся сим- волом //, являются комментарием. Инструкция options { directory задает расположение файлов зоны. Следующие операторы описывают фай- лы зон. Ãëàâà 11. Ñëóæáû DNS è DHCP 227 Ôàéëû áàç äàííûõ çîí Пути к файлам баз данных зон определены файлом named.conf. Файлы баз данных зон состоят из ресурсных записей. Перечень ресурсных записей приведен в табл. 11.2. Òàáëèöà 11.2. Ðåñóðñíûå çàïèñè ôàéëà áàç äàííûõ çîí Çàïèñü Êîììåíòàðèé SOA Íà÷àëî çîíû. Ñîäåðæèò àäìèíèñòðàòèâíóþ èíôîðìàöèþ NS Èäåíòèôèöèðóåò ñåðâåðû èìåí äëÿ äàííîãî äîìåíà A Îòîáðàæåíèå èìåíè â àäðåñ, ñîñòàâëÿþò îñíîâíóþ ÷àñòü áàçû äàí- íûõ PTR Îáðàòíûé óêàçàòåëü îáåñïå÷èâàåò îáðàòíûé ïåðåâîä IP-àäðåñîâ â èìåíà MX Èñïîëüçóåòñÿ ñèñòåìîé ýëåêòðîííîé ïî÷òû äëÿ áîëåå ýôôåêòèâíîé ìàðøðóòèçàöèè CNAME Êàíîíè÷åñêîå èìÿ, ïîçâîëÿåò íàçíà÷àòü óçëó äîïîëíèòåëüíûå èìåíà SRV Îïðåäåëÿþò ìåñòîíàõîæäåíèå ñëóæá â ïðåäåëàõ äîìåíà TXT Ïîçâîëÿþò äîáàâëÿòü ïðîèçâîëüíûé òåêñò â ôàéë Кроме того, в файлах зон также могут использоваться специальные симво- лы (табл. 11.3). Òàáëèöà 11.3. Ñïåöñèìâîëû, èñïîëüçóåìûå â ôàéëàõ çîí Ñèìâîë Çíà÷åíèå @ Îáîçíà÷àåò èìÿ òåêóùåãî äîìåíà ( ) Îáúåäèíÿåò íåñêîëüêî ñòðîê â îäíó ñòðîêó * Ìåòàñèìâîë. Ìîæåò ïðèìåíÿòüñÿ òîëüêî èìåíè. Îáîçíà÷àåò âñå âîç- ìîæíûå êîìáèíàöèè ; Ñòðîêè êîììåíòàðèÿ Рассмотрим более подробно формат основных записей. Çàïèñü SOA SOA (Start of authority — начало полномочий) обозначает начало зоны. Зона продолжается до тех пор, пока не встретится другая запись SOA. Наличие 228 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè SOA указывает на то, что данный сервер DNS является первичным источ- ником информации для данного домена. Разберем подробнее возможную форму записи для ресурса. Имена узлов приведены для примера и являются вымышленными. stuff.org. IN SOA first.stuff.org. admni.first.stuff.org. ( 2004123101 ; Порядковый номер 10800 ; Период обновления в секундах 3600 ; Интервал между попытками обновления ; в секундах 60448 ; Период устаревания в секундах 7200) ; Время жизни в секундах Данный файл описывает зону stuff.org. Класс зоны — Internet (IN). Пер- вичным сервером зоны является сервер first.stuff.org. Адрес электронной почты администратора домена admin.first.stuff.org, читать этот адрес надо как admin@first.stuff.org. Следует также обратить внимание на точку в конце строки. Порядковый номер определяет момент, когда надо загружать новую кон- фигурацию. При каждом изменении конфигурации порядковый номер дол- жен монотонно возрастать. Первая часть — это дата изменения, а послед- няя — это номер изменения в рамках данной даты. В нашем случае это 31 декабря 2004 г. Следующие четыре периода времени по умолчанию имеют формат в секун- дах, однако допускается и другая запись, для этого используются буквы: w — неделя; d — дни; h — часы; m — минуты. Период обновления обозначает, как часто вторичные сервера обновляют данные. Обновление производится в том случае, если в конфигурации про- изошли изменения. О наличии изменений говорит разница в порядковых номерах. Обновление производится в том случае, если порядковый номер на первичном сервере больше. Интервал между попытками обновления оз- начает период времени, через который будет произведена повторная попыт- ка обновления, в случае если предыдущая попытка не удалась. Интервал — период устаревания, в течение которого вторичные сервера бу- дут обслуживать домен, если первичный сервер не отвечает (невозможно провести обновление файла зоны). Время нахождения в кэше отрицательных ответов описано последним пара- метром. Ãëàâà 11. Ñëóæáû DNS è DHCP 229 Çàïèñü NS Эта запись задает сервер имен для данного домена. Обратите внимание на точку в конце записи. Пример: stuff.org. IN NS first.stuff.org. stuff.org. IN NS second.stuff.org. Здесь для домена stuff.org. задано два сервера имен: first.stuff.org. и second.stuff.org. Çàïèñü À Эта запись является основной записью базы данных DNS и отображает имя в адрес. Для каждого сетевого интерфейса существует одна запись А. Для компьютера может существовать несколько записей, по каждой на один се- тевой интерфейс. Пример: first.stuff.org. IN A 128.100.241.212 first.stuff.org. IN A 128.100.241.213 second.stuff.org.IN A 128.100.241.214 Здесь первые две записи относятся к одному компьютеру с именем first.stuff.org. и двумя сетевыми картами, имеющими IP-адреса 128.100.241.212 и 128.100.241.213. Третья запись относится ко второму компьютеру second.stuff.org., сетевая карта которого имеет адрес 128.100.241.214. Çàïèñü PTR Эта запись обеспечивает обратный перевод, то есть перевод IP-адресов в символьные имена. Точно так же, как и в предыдущем случае, для каждого сетевого интерфейса существует только одна запись PTR. В простейшем случае это записанный наоборот IP-адрес (см. пример записи А) с суффиксом in-addr.arpa. Пример: 212.241.100.128. in-addr.arpa. IN PTR first.stuff.org. 213. 241.100.128. in-addr.arpa. IN PTR first.stuff.org. 214. 241.100.128. in-addr.arpa. IN PTR second.stuff.org. 230 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Çàïèñü MX Эта запись используется в электронной почте для более эффективной марш- рутизации. Запись МХ подменяет адресатов сообщений. Пример: stuff.org. IN MX 10 first.stuff.org. stuff.org. IN MX 20 second.stuff.org. Эта запись означает, что вместо сервера почты stuff.org. будут использо- ваться серверы first.stuff.org. и second.stuff.org., 10 и 20 означают приоритет: чем меньше число, тем больше приоритет. Допустимым является диапазон приоритета 0 – 65535. На практике приоритет используется с шагом 10, чтобы можно было поставить что-то между 10, 20 и 30, не переписывая весь файл. Çàïèñü CNAME Каноническое имя позволяет назначать узлу дополнительные имена. Эта запись используется для закрепления за компьютером определенных функций. Пример: www. stuff.org. IN CNAME second.stuff.org. Здесь узлу second.stuff.org. присвоено каноническое имя www.stuff.org. Соот- ветственно, при вводе в адресной строке www. stuff.org. вы попадете на узел second.stuff.org. Çàïèñü SRV Эта запись определяет местонахождение служб в пределах домена. С помо- щью этой записи легко менять адреса служб. Формат записи: Служба.протокол.имя IN SRV приоритет вес порт сервер реализован в примере: http.tcp.www IN SRV 10 0 80 second.stuff.org. Çàïèñü ÒÕÒ Эта запись задает произвольный текст. Например: IN TXT "Это произвольный текст" Ãëàâà 11. Ñëóæáû DNS è DHCP 231 11.5. Ïðîñòîé ïðèìåð ñîáñòâåííîãî äîìåíà При выборе имени домена надо быть осторожным и помнить о том, чтобы никого не беспокоить во внешнем мире. Например, домен можно назвать localdomain, но в нашем случае это будет samba. При чтении листингов обязательно обращайте внимание на точки в конце имен. Отсутствие точки означает, что отсчет будет идти не от корневого до- мена, а от текущего. Также обратите внимание, что в файле ресурсов named.conf и зон точка не ставится (листинги 11.2–11.5). Ëèñòèíã 11.2. Ôàéë /etc/named.conf ; Вначале опишем локальную зону zone "0.0.127.in-addr.arpa" { type master; file "/etc/domain/ld127";}; ;создаем основной сервер для 0.0.127.in-addr.arpa файл зоны в ; файле "domain/ld127" ; создадим нашу основную зону ; она будет описана в файле domain/ld zone "samba"{ notify no type master file "domain/ld";}; ; Обратная зона поиска zone "0.168.192.in-addr.arpa" { notify no; type master; file "ld168";}; Ëèñòèíã 11.3. Ôàéë çîíû ld127 @ IN SOA dns. samba. admin.mail. samba. ( 20050315 ; Порядковый номер 10800 ; Период обновления, в секундах 3600 ; Интервал между попытками обновления, ; в секундах 60448 ; Период устаревания, в секундах 7200) ; Время жизни, в секундах 232 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè ; Зададим сервер имен, первую часть - @ IN можно опустить NS dns. samba. ; Это значит, что машина с адресом 127.0.1 называется localhost 1 PTR localhost. Ëèñòèíã 11.4. Ôàéë çîíû ld ; Файл зоны samba @ IN SOA dns. samba. admni.mail. samba. ( 2005031501 ; Порядковый номер 10800 ; Период обновления, в секундах 3600 ; Интервал между попытками ; обновления, в секундах 60448 ; Период устаревания, в секундах 7200) ; Время жизни, в секундах NS dns. samba.; MX 10 mail. samba. ; Почтовый сервер ; Записи о ресурсах ; Сервер localhost A 127.0.0.1 dns A 192.168.0.5 mail A 192.168.0.5 smb A 192.168.0.5 ; зарезервируем имя ; Рабочие станции kb1 A 192.168.0.6 TXT "Рабочая станция в конструкторском бюро!" buch1 A 192.168.0.7 TXT "Рабочая станция в бухгалтерии" Ëèñòèíã 11.5. Ôàéë çîíû ld168 @ IN SOA dns. samba. admni.mail. samba. ( 2005031501 ; Порядковый номер 10800 ; Период обновления, в секундах 3600 ; Интервал между попытками ; обновления, в секундах 60448 ; Период устаревания, в секундах 7200) ; Время жизни, в секундах Ãëàâà 11. Ñëóæáû DNS è DHCP 233 NS dns. samba.; ; Обратные записи о ресурсах 5 PTR dns. samba. 6 PTR kb1. samba. 7 PTR buch1. samba. Ïðîâåðêà Теперь запускаем службу DNS. Для этого вводим # ndc start То же самое можно сделать и через Webmin. Запускаем Webmin, переходим на вкладку Servers и щелкнем по пункту BIND DNS Server. Открывается окно управления сервером DNS (рис. 11.4). В самом низу этого окна (на рисунке не поместилась) находится кнопка Start Name Server (или Apply Change, если сервер запущен), эту кнопку необходимо нажать. Сервер будет запущен, во втором случае будут приняты сделанные изменения. Отправляем проверочный запрос: # nslookup >set q=any > kb1.samba Результаты запроса представлены на рис. 11.5. Как видим, сервер DNS работает. Теперь проверим, работает ли обратный поиск. Для этого снова воспользуемся программой nslookup (рис. 11.6). Ðèñ. 11.4. Îêíî óïðàâëåíèÿ DNS-ñåðâåðîì 234 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ðèñ. 11.5. Ðàáîòà ñ óòèëèòîé nslookup Ðèñ. 11.6. Ïðîâåðêà ðàáîòîñïîñîáíîñòè îáðàòíîãî ïîèñêà Из запроса видно, что сервер работает. Итак, DNS мы настроили, теперь настроим DHCP. 11.6. Êðàòêàÿ õàðàêòåðèñòèêà DHCP Даже в крупных локальных сетях (100 и более машин) нет недостатка в IP- адресах. Тем не менее для полноты картины мы рассмотрим, как организо- вать несложный DHCP-сервер. Протокол DHCP (Dynamic Hosts Configuratin Protocol — протокол динами- ческого конфигурирования узлов) призван облегчить конфигурирование хостов при включении их в сеть. Протокол определен в стандартах RFC2131 и RFC2132. Протокол DHCP относится к классу клиент-серверных протоколов. На сто- роне сервера за его работу отвечает демон DHCP (dhcpd). Через протокол DHCP централизовано выделяются IP-адреса в локальной сети, а также автоматически настраиваются сетевые и административные параметры хостов в сети. Основными параметрами, выдаваемыми DHCP- сервером, являются: IP-адрес, выделяемый в аренду для текущего хоста; сетевая маска; Ãëàâà 11. Ñëóæáû DNS è DHCP 235 адреса DNS-серверов; адреса WINS-серверов; адреса шлюзов. Существует множество других параметров, которые настраиваются при по- мощи DNS, однако они используются крайне редко, так что о них говорить не имеет смысла. Работа протокола DHCP выглядит следующим образом (рис. 11.7). Ðèñ. 11.7. Ñòàäèè ïðîöåññà âûäåëåíèÿ IP-àäðåñà DHCP-клиент посылает широковещательный запрос DCHPISCOVER, кото- рый принимают все DHCP-серверы. Все DHCP-серверы посылают ответ DHCPOFFER клиенту, запросившему сервис DHCP. Клиент рассматривает DHCPOFFER в порядке их поступления. Ненужные клиент отклоняет посылкой DHCPDECLINE. Принятие клиент подтверждает посылкой DHCPREQUEST (одному из сер- веров). Тот сервер, услуги которого приняты, посылает DHCPPACK. Информация принимается и обрабатывается клиентом. 11.7. Ôàéë íàñòðîåê dhcpd è èõ ïàðàìåòðû Файл конфигураций DHCP /etc/dhcpd.conf состоит из нескольких разделов. Каждый из его разделов отвечает за свою область. Параметры в глобальной секции справедливы для всех разделов. Если вы изменяли файл конфигурации, то для того, чтобы система считала его, и изменения вступили в силу, необходимо перезапустить сервер. 236 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè После начала работы DHCP-сервер начинает выделять IP-адреса клиентам. Выделенные адреса записываются в файл /var/dhcpd/dhcp.leases (в принци- пе, он может располагаться и в другом месте). Запись в файл dhcp.leases идет до тех пор, пока его размер не достигнет ука- занной величины. Тогда делается копия файла dhcp.leases и создается новый файл dhcp.leases, но уже без устаревшей информации. В принципе, DHCP-сервер достаточно прост в настройке. Здесь мы приво- дим только основные параметры, позволяющие настроить несложную кон- фигурацию. Если у вас возникла более сложная ситуация, и данных этой книги не достаточно, обращайтесь к страницам справочного руководства. Используйте для этого команду man. Ãëîáàëüíûå ïàðàìåòðû Эти параметры относятся ко всем секциям файла dhcp.conf (листинг 11.6). Большинство параметров начинается со слова option Ëèñòèíã 11.6. Ôàéë /etc/dhcpd.conf (ôðàãìåíò) ; Идентификация сервера server-identifier dhcp.samba; ; Имя домена, обратите внимание, точки в конце нет option domain-name samba; ; имя сервиса option domain-name-servers dhcp.samba; ; Маска подсети option sub-netmask 255.255.255.0; ; Широковещательный адрес option boardcast-address 192.168.0.255; ; Шлюз по умолчанию option routers 192.168.0.12; ; Адрес сервера netBios указывает на то, что обслуживаются клиенты, ; имеющие ОС windows option netbios-name-servers 192.168.0.5 ; Время лизинга адреса по умолчанию, в секундах (10 lytq) default-lease-time 864000; ; Максимальное время лизинга адреса, в секундах (30 дней — 1 месяц) max-lease-time 2592000; Ãëàâà 11. Ñëóæáû DNS è DHCP 237 Если опции содержат несколько параметров, то они перечисляются в по- рядке важности. Строка всегда заканчивается знаком точки с запятой. Про- белы и символы табуляции игнорируются демоном при чтении файла. Сде- лано это для красоты оформления и удобства последующего чтения файла конфигурации. Îïöèÿ subnet Опция subnet присутствует в любом конфигурационном файле dhcp.conf и представляет собой описание подсети (листинг 11.7). Эта опция указывает демону, какая подсеть обслуживается, также здесь задается пул адресов, из которого сервер может выдавать IP-адреса в аренду. Если задать опции, описанные в глобальных параметрах, то локальные параметры их перекро- ют. Это очень удобно, поскольку можно задавать параметры, отличные от глобальных для какой-то отдельной секции. Ëèñòèíã 11.7 Ôàéë /etc/dhcpd.conf (ôðàãìåíò) Subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.6 192.168.0.145; range 192.168.0.150 192.168.0.199; } Îïöèÿ shared network Опция shared network позволяет сгруппировать две или несколько подсетей с целью совместного использования (листинг 11.8) и используется для раз- биения больших сетей на подсети. В нашем случае эту опцию вряд ли при- дется использовать. Для каждой из подсетей можно задавать отдельно пара- метры, например: маршрутизатор по умолчанию, время лизинга или любой другой. Ëèñòèíã 11.8. Ôàéë /etc/dhcpd.conf (ôðàãìåíò) shared-network OOO-fortuna-sm { Subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.6 192.168.0.145; range 192.168.0.150 192.168.0.199; } } 238 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè 11.8. Óñòàíîâêà DHCP-ñåðâåðà. Ñâÿçü DNS è DHCP Перед установкой DHCP-сервера важно понять следующее. Пока адреса статичны (задаются администратором при настройке сети, каждой машине свой IP-адрес), то все нормально, важно только поддерживать файлы зон DNS в актуальном состоянии. Но как только распределение IP-адресов пе- рекладывается на плечи DHCP-сервера, то, скорее всего, IP-адрес компью- тера будет меняться, поскольку время лизинга IP-адреса ограничено. Это приведет к несоответствию реальных адресов и тех, что закреплены за узла- ми в базе данных DNS. Выхода из ситуации два. Первый состоит в том, чтобы конкретной машине выделялся конкретный IP-адрес. Делается это на основе МАC-адреса сете- вой карты. Второй состоит в том, чтобы DHCP сервер вносил изменения в базу данных DNS. Недостаток первого способа в том, что для каждого подключения необхо- димо в конфигурационном файле DCHP-сервера вести отдельную запись, причем эта запись будет меняться при замене сетевой карты. Недостаток второго состоит в относительной сложности (для начинающего пользователя) установки и настройки DCHP-сервера. Возможно, именно эти обстоятельства, а также то, что объективных причин для использования DHCP-сервера в небольших сетях мало, привели к тому, что DHCP-сервер по умолчанию не устанавливается. Мы рассмотрим оба способа настройки DHCP-сервера. Начнем с того спо- соба, по которому компьютеру выделятся жестко заданные IP-адреса. В со- став ASPLinux Server входит DHCP-сервер второй версии, который по умолчанию не поддерживает обмена данных с DNS. На этапе установки мы не установили DHCP-сервер. Поэтому нам его предстоит установить. Возь- мите файл dhcp-2.0pl5-8.i386.rpm со второго диска ASPLinux, скопируйте его во временный каталог и дайте команду: rpm –i dhcp-2.0pl5-8.i386.rpm Все, пакет установлен. Теперь создаем простенький файл конфигурации. Выделение жестко заданных IP-адресов достигается использованием опции host в разделе subnet. В этом случае изменение IP-адресов, выделяемых узлу, осуществляется уже в файлах настроек DNS. Соответственно, для каждого узла необходимо иметь отдельную запись в файлах конфигурации DNS (листинг 11.9). Ëèñòèíã 11.9. Ôàéë /etc/dhcpd.conf äëÿ äîìåíà samba option domain-name-servers 192.168.0.5; # Адрес DNS-сервера option domain-name "samba"; #Имя домена Ãëàâà 11. Ñëóæáû DNS è DHCP 239 shared-network OOO-fortuna-sm { Subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.6 192.168.0.145; range 192.168.0.150 192.168.0.199; host kb1 { hardware ethernet 04:ee:17:98:f5:87; fixed-address kb1.samba; } # и так далее, для каждой машины в сети # МАC-адрес сетевой карты можно взять из # документации на карту или проанализировав log # DHCP-сервера. } } Начиная с версии 3.0, в пакете DHCP реализовано обновление для DNS- сервера. Итак, вам потребуется скачать свежую версию DHCP-сервера по адресу http://www.isc.org/products/DHCP/. Объем дистрибутива составляет порядка 1 Мбайт. После того как скачали, ее нужно установить. Для этого выполняются следующие действия: 1. Создадим специальный каталог, куда скопируем архив. 2. Распакуем архив, для чего, войдя в каталог, выполним: tar xvfz dhcp-3.0pll.tar.gz 3. Перейдем во вновь созданный программой распаковки каталог. 4. Выполним ./configure. 5. Далее собираем пакет командой make. 6. Инсталлируем пакет командой make install. Если команду make система не распознала, значит, вам необходимо установить пакет gcc-2.96-113asp.i386.rpm. Устанавливаем уже знакомым нам методом: rpm –i gcc-2.96-113asp.i386.rpm. Обновлять DNS-сервер нет необходимости, так как он достаточно свежей версии. Теперь собственно к настройке связи DNS и DHCP-сервера. Пер- вым делом создаем секретный ключ для того, чтобы серверы доверяли друг другу. Для DNS-сервера 9-й версии делаем это командой: dnssec-keygen -a HMAC-MD5 -b 128 -n # USER DHCP_UPDATER После того как вы выполните эту команду, в текущем каталоге появится файл, он и будет содержать этот секретный ключ. Затем в глобальные параметры dhcpd.conf добавляем: ddns-update-style interim; 240 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè key DHCP_UPDATER { Algorithm: 157 (HMAC_MD5); Key: s4e6lkdZx70vKpAUPHs1Zg== } В файл named.conf добавляем: key DHCP_UPDATER { Algorithm: 157 (HMAC_MD5); Key: s4e6lkdZx70vKpAUPHs1Zg==}; Возможен и другой вариант, просто добавляем в dhcpd.conf: ddns-update-style ad-hoc; Выбор одного из трех вариантов за вами. Но на первых порах лучше отка- заться от использования DHCP-сервера. Когда придет опыт, тогда и на- строите. 11.9. Çàïóñê ñëóæá DNS è DHCP В главе 10 мы обсуждали, как настроить автоматический запуск сервисов на примере Samba. Здесь ситуация в точности такая же. Мы можем настроить автоматический запуск сервисов путем непосредственного редактирования файлов в каталоге /etc/rc.d/rc3.d либо через Webmin (вкладка Bootup and Shotdown). Начнем с DNS-сервера. Переименовываем /etc/rc.d/rc3.d/K45named в /etc/rc.d/rc3.d/S55named. Заголовок файла /etc/rc.d/init.d/named заменяем: #!/bin/bash # # named This shell script takes care of starting and stopping # named (BIND DNS server). # # chkconfig: 3 55 45 Теперь DHCP-сервер: переименовываем /etc/rc.d/rc3.d/K35dhcpd в /etc/rc.d/rc3.d/S65dhcpd. Заголовок файла /etc/rc.d/init.d/dhcpd заменяем: #!/bin/sh # # dhcpd This shell script takes care of starting and stopping # dhcpd. # # chkconfig: 3 65 35 # description: dhcpd provide access to Dynamic Host Control Protocol На вкладке System щелкнем по Bootup and Shootdown и по имени соответст- вующего процесса: для DNS-сервера это — named; для DHCP-сервера это — dhcpd. Отвечаем Start at boot time? — Yes и сохраняем Save. Ãëàâà 11. Ñëóæáû DNS è DHCP 241 На рис. 11.8 показана операция для DHCP, для DNS она аналогична. Ðèñ. 11.8. Íàñòðîéêà çàïóñêà dhcpd 11.10. Íàñòðîéêà êëèåíòñêîé ÷àñòè Windows 98 Итак, в предыдущих разделах мы рассмотрели настройку серверов DHCP и DNS, теперь настало время настроить клиентскую часть операционных систем. 1. Начнем с настройки службы DNS (рис. 11.9). 2. На рабочем столе правой кнопкой мыши щелкнем по значку сетевого окружения. 3. Выбираем пункт Свойства. 4. В открывшемся окне вбираем связку TCP/IP — Сетевая карта. 5. Щелкаем по кнопке Свойства. 6. В открывшемся окне выбираем включить DNS. 7. Если хотите настроить работу компьютера с DHCP-сервером, то на вкладке IP-адрес выберите Получить IP-адрес автоматически. 8. Вводим имя локального компьютера, его домен и адрес DNS. Жмем ОК. 9. Перезагружаем машину, чтобы изменения вошли в силу. 242 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ðèñ. 11.9. Íàñòðîéêà DNS äëÿ Windows 98 11.11. Íàñòðîéêà êëèåíòñêîé ÷àñòè Windows 2000 Настройка в Windows 2000 ничуть не сложнее. 1. Последовательно выбираем: Пуск | Настройка | Сеть и удаленный доступ к сети. 2. На значке Подключение по локальной сети нажимаем правую кнопку мыши и выбираем пункт Свойства. В окне Подключение по локальной сети — Свойства выбираем строку Про- токол TCP/IP. Нажимаем кнопу Свойства. В открывшемся окне свойств протокола TCP/IP выставляем адрес предпо- читаемого DNS-сервера (рис. 11.10). Ãëàâà 11. Ñëóæáû DNS è DHCP 243 Ðèñ. 11.10. Íàñòðîéêà DNS â Windows 2000 Ãëàâà 12 Çàïóñê Apache è Webmin 12.1. Ïî÷åìó Apache Стремительное развитие Интернета привело к тому, что сегодня деятель- ность любого предприятия немыслима без использования технологий гло- бальной сети. Одна из самых известных и широко используемых техноло- гий — это служба WWW (World Wide Web — всемирная паутина). В основе ее работы лежит протокол HTTP (Hyper Text Transfer Protocol — протокол передачи гипертекста). Это протокол семейства TCP/IP. Протокол передачи гипертекста позволяет передавать связанные между собой документы слож- ной структуры. В состав документа могут входить изображения, анимация, звуковые фрагменты и др. HTTP — это клиент-серверный протокол. Нажав кнопкой мыши в том или ином месте экрана, вы посылаете запросы удаленным серверам, которые отвечают, пересылая информацию. Согласно стандарту, протокол HTTP "слушает" порт 80. На стороне пользователя запрос формирует браузер, спе- циальная программа, предназначенная для взаимодействия с web-серверами и преобразования информации к должному виду. Наиболее популярным HTTP-сервером для пользователей Linux является, конечно, сервер Apache (около 50 % от общего числа HTTP-серверов). Он входит в состав большин- ства дистрибутивов Linux. Характерной особенностью сервера является простота его установки и настройки, а также хорошие показатели произво- дительности и устойчивости (последнее во многом зависит от администра- тора). Полезным является и то, что при определенной настройке Apache способен создавать динамические страницы, то есть страницы, которые формируются на лету, в зависимости от запросов пользователя. Apache относится к свободно распространяемому программному обеспече- нию, и при необходимости свежую версию можно скачать по адресу Ãëàâà 12. Çàïóñê Apache è Webmin 245 www.apache.org (сайт некоммерческой организации Apache Software Founda- tion, целью которой является поддержка и обновление Apache). Возвращаясь к тематике нашей книги, Apache используется в качестве Web- сервера, который можно организовать в локальной сети, чтобы своевремен- но выкладывать на общее обозрение документы, печатные формы, приказы и т. д. При помощи Apache также возможна организация корпоративной базы данных со стандартизованным интерфейсом доступа, причем этот под- ход становится достаточно популярным. 12.2. Îñíîâû êîíôèãóðèðîâàíèÿ Apache Конфигурирование для Apache представляет собой редактирование файлов в каталоге /etc/httpd/conf/ или /usr/local/apache/conf. Файлов конфигурации несколько. В табл. 12.1 мы приведем их в последовательности обработки Web-сервером. Òàáëèöà 12.1. Íàçíà÷åíèå êîíôèãóðàöèîííûõ ôàéëîâ Apache Íàèìåíîâàíèå Êîììåíòàðèé httpd.conf Îñíîâíîé ôàéë êîíôèãóðàöèè Web-ñåðâåðà srm.conf Ñîõðàíåí äëÿ ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè, èñ- ïîëüçîâàòü íå ðåêîìåíäóåòñÿ. Ðàíåå çäåñü ðàçìåùàëèñü äèðåêòèâû îáðàáîòêè çàïðîñîâ è äåðåâî äîêóìåíòîâ Apache access.conf Ðàíåå çäåñü õðàíèëèñü ñâåäåíèÿ î ïðàâàõ ïîëüçîâàòåëåé íà äîñòóï ê êàòàëîãó, èñïîëüçîâàòü íå ðåêîìåíäóåòñÿ mime.types Îïðåäåëÿåò mime äëÿ ðàçëè÷íûõ òèïîâ ôàéëîâ Изменение конфигурационных файлов может быть осуществлено либо пу- тем непосредственного редактирования файлов, либо при помощи утилиты упрощенного администрирования Webmin. 12.3. Áàçîâûå ïàðàìåòðû, èñïîëüçóåìûå ïðè íàñòðîéêå Apache Директивы Apache представлены в табл. 12.2. 246 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 12.2. Íàçíà÷åíèå äèðåêòèâ Apache Íàèìåíîâàíèå Êîììåíòàðèé ServerRoot Íà÷àëüíûé êàòàëîã ñåðâåðà, çäåñü ðàñïîëîæåí ôàéë äåìîíà httpd BindAddress IP-àäðåñ ñåðâåðà, ïðèíèìàåò ñëåäóþùèå çíà÷åíèÿ: * — îòâå÷àòü íà âñå àäðåñà; 123.123.123.123 — îòâå÷àòü òîëüêî íà ýòîò àäðåñ; name.domen — îòâå÷àòü íà IP-àäðåñ èìåíè Port Ïî óìîë÷àíèþ 80. Ïîñêîëüêó ýòî ñòàíäàðòíîå çíà÷åíèå, òî åãî ëó÷øå íå èçìåíÿòü. Íå ñòîèò äóìàòü, ÷òî íåñòàíäàðòíûé íîìåð ìîæåò ñëóæèòü çàùèòîé îò âçëîìà. Ñêàíåðû ïîðòîâ äîñòàòî÷íî áûñòðî íàõîäÿò âñå îòêðûòûå ïîðòû ServerName Çàäàåò èìÿ ñåðâåðà, äîëæíî ñîâïàäàòü ñ äîìåííûì èìåíåì êîìïüþòåðà, ïîñêîëüêó èñïîëüçóåòñÿ â îáìåíå äàííûìè ìå- æäó êëèåíòîì è ñåðâåðîì ServerAdmin Ýëåêòðîííûé àäðåñ àäìèíèñòðàòîðà ñåðâåðà, âûäàâàåìûé ïîëüçîâàòåëÿì User, Group Îïðåäåëÿþò ïîëüçîâàòåëÿ è ãðóïïó, îò èìåíè êîòîðîé áóäåò ðàáîòàòü ñåðâåð. Ïðè íàñòðîéêå èëè îòëàäêå ñåðâåðà öåëå- ñîîáðàçíåå çàïóñêàòü åãî ñ ïðèâèëåãèÿìè root, ïîñëå îòëàä- êè ñåðâåðó íàçíà÷àåòñÿ ïîëüçîâàòåëü è ãðóïïà ñ îãðàíè÷åí- íûìè ïðàâàìè. Ëó÷øå äëÿ ýòèõ öåëåé ñîçäàâàòü îòäåëüíîãî ïîëüçîâàòåëÿ èëè ãðóïïó Maxclients Îïðåäåëÿåò ìàêñèìàëüíîå ÷èñëî êëèåíòîâ, ïîäêëþ÷åííûõ ê ñåðâåðó. Íåîáõîäèìî ïîìíèòü, ÷òî îäèí ñåàíñ, îòêðûòûé ïîëüçîâàòåëåì íà HTTP-ñåðâåðå, îòíèìàåò ó íåãî ïîðÿäêà 20 Ìáàéò îïåðàòèâíîé ïàìÿòè. Äëÿ ñåðâåðîâ èñïîëüçîâàíèå ïàðàìåòðà îáÿçàòåëüíî KeepActive Ïîääåðæêà ïîñòîÿííîãî ñîåäèíåíèÿ ñ êëèåíòîì. Ïîçâîëÿåò ñîêðàòèòü òðàôèê çà ñ÷åò ýêîíîìèè íà îòêðûòèè è çàêðûòèè ñîåäèíåíèÿ, îäíàêî ñíèæàåò áåçîïàñíîñòü ñåðâåðà ServerAdmin Àäðåñ ýëåêòðîííîé ïî÷òû àäìèíèñòðàòîðà ñåðâåðà. Íàïðè- ìåð, apache@mail.samba DocumentRoot Ïóòü ê ãëàâíîìó äåðåâó êàòàëîãîâ ñåðâåðà, îòêðûòîìó äëÿ ïîëüçîâàòåëåé ñåðâåðà. Ïðè îòêðûòèè ïîëüçîâàòåëÿì äîñòó- ïà ê ôàéëàì íàäî áûòü âíèìàòåëüíûì è ïðîâåðèòü, ÷òîáû â îòêðûòûõ êàòàëîãàõ íå áûëî êîíôèäåíöèàëüíîé èíôîðìàöèè è ññûëîê íà äðóãèå çàêðûòûå êàòàëîãè Ãëàâà 12. Çàïóñê Apache è Webmin 247 Òàáëèöà 12.2 (îêîí÷àíèå) Íàèìåíîâàíèå Êîììåíòàðèé UserDir Ïóòü ê êàòàëîãàì îòäåëüíûõ ïîëüçîâàòåëåé DirectoryIndex Óêàçàíèå ñåðâåðó, êàêîé ôàéë èñïîëüçîâàòü â êà÷åñòâå èí- äåêñíîãî (ñ ýòîãî ôàéëà íà÷èíàåòñÿ ïðîñìîòð äèðåêòîðèè) ôàéëà. Êàê ïðàâèëî, ýòî index.html èëè index.htm 12.4. Êîäû îøèáîê, âûäàâàåìûõ ñåðâåðîì Несомненную помощь окажет анализ кодов ошибок, приведенных в табл. 12.3. Òàáëèöà 12.3. Êîäû îøèáîê âûäàâàåìûõ ñåðâåðîì Êîä îøèáêè Ñîäåðæàíèå îøèáêè 401 Îòêàç â äîñòóïå ê óêàçàííîìó äîêóìåíòó. Ïîÿâëÿåòñÿ ôîðìà äëÿ ââî- äà èìåíè ïîëüçîâàòåëÿ è ïàðîëÿ äëÿ äîñòóïà ê äîêóìåíòó 403 Äîñòóï ê äîêóìåíòó èëè êàòàëîãó çàïðåùåí 404 Ïîæàëóé, ñ ýòîé îøèáêîé ñòàëêèâàëèñü âñå. Êîä îøèáêè âîçíèêàåò òîãäà, êîãäà äîêóìåíò íå íàéäåí 405 Ýòà îøèáêà âîçíèêàåò, êîãäà çàïðîñ îòïðàâëåí íà ôîðìó, íå ÿâëÿ- þùóþñÿ ñöåíàðèåì 500 Îøèáêà âûïîëíåíèÿ ñêðèïòà íà ñåðâåðå. Ïðè÷èíà ìîæåò áûòü â òîì, ÷òî íå óñòàíîâëåíû áèáëèîòåêè, êîòîðûå èñïîëüçóþòñÿ â ñêðèïòå 502 Îòêàç îáðàáîòêè çàïðîñà êëèåíòà èç-çà áîëüøîé íàãðóçêè ñåðâåðà 12.5. Ðåãèñòðàöèÿ îøèáîê ñåðâåðà Через журналы регистрации можно получать самую разную информацию. Наиболее интересен журнал регистрации ошибок. Согласно железной логи- ке разработчиков, в этом журнале регистрируются ошибки, возникшие при работе сервера. В ASPLinux 7.3 Server ошибки прописываются в файл /var/log/httpd/error_log. Если вы хотите перенаправить функцию обработки ошибок программе sys- log, необходимо задать ErrorLog syslog По умолчанию директива loglevel управляет уровнем регистрации ошибок, для ASPLinux 7.3 Server установлено значение warn. Однако возможны и другие значения (табл. 12.4). 248 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Òàáëèöà 12.4. Âîçìîæíûå óðîâíè ðåãèñòðàöèè îøèáîê Äèðåêòèâà Îïèñàíèå emerg Àâàðèÿ, ñèñòåìà ïðåêðàùàåò ðàáîòó alert Êðèòè÷åñêàÿ ñèòóàöèÿ. Íåîáõîäèìî ñðî÷íîå âìåøàòåëüñòâî â ðàáîòó ñèñòåìû crit Êðèòè÷åñêàÿ ñèòóàöèÿ error Ñòàíäàðòíàÿ îøèáêà warn Ïðåäóïðåæäåíèå notice Ñòàíäàðòíîå ñîáûòèå, çàñëóæèâàþùåå âíèìàíèÿ info Èíôîðìàöèîííîå ñîîáùåíèå При стандартной строке для ASPLinux 7.3 сообщение об ошибках имеют следующий формат (рис. 12.1): Ðèñ. 12.1. Ïðèìåðíîå ñîäåðæàíèå ôàéëà îøèáîê Структура файла ошибок следующая: первый столбец содержит дату и вре- мя возникновения ошибки, второй — характер записи, третий столбец ука- зывает источник возникновения ошибки, а четвертый дает развернутую ин- формацию по ошибке. В конфигурационном файле также определены форматы для регистрации различных событий: LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined LogFormat “%h %l %u %t \”%r\” %>s %b” common LogFormat “%{Referer}i -> %U” eferrer LogFormat “%{User-agent}i” agent Если вы хотите использовать предложенный формат, то необходимо в конце строки указать, какой именно: CustomLog /var/log/httpd/custom_log combined Понять структуру журнала регистрации поможет табл. 12.5. Ãëàâà 12. Çàïóñê Apache è Webmin 249 Òàáëèöà 12.5. Òèïîâûå ñòðóêòóðû, èñïîëüçóåìûå â ñòðîêå Logformat Ñèìâîë Êîììåíòàðèé %h IP-àäðåñ óçëà îò êîòîðîãî ïîñòóïèë çàïðîñ. %u Èìÿ ïîëüçîâàòåëÿ. Èìååò ñìûñë, åñëè ïîëüçîâàòåëü âõîäèë â ñèñòåìó. %t Âðåìÿ ïðîèñõîæäåíèÿ ñîáûòèÿ. Ôîðìàò âðåìåíè îïðåäåëÿåòñÿ ñèñòå- ìîé %f Èìÿ ôàéëà %p Ïîðò ñåðâåðà, ê êîòîðîìó øëî îáðàùåíèå %U Çàïðàøèâàåìûé êëèåíòîì ïóòü (URL) %r Ñòðîêà çàïðîñà êëèåíòà %s Êîä ñîñòîÿíèÿ çàïðîñà Это лишь некоторые идентификаторы, но и они должны сильно облегчить вам жизнь. 12.6. Íàñòðîéêà àâòîìàòè÷åñêîãî çàïóñêà Apache Запуск Apache можно настроить либо вручную, либо при помощи утилиты Webmin. Начнем с ручного метода. В каталоге /etc/rc.d/rc3.d переименовываем ссылку K15httpd в S85httpd. В каталоге /etc/rc.d/init.d исправляем заголовок файла httpd на следующий: #!/bin/bash # Startup script for the Apache Web Server # # chkconfig: 3 85 15 В данном случае строка # chkconfig: 3 85 15 говорит о третьем уровне, оче- редь запуска 85, удаления — 15. Второй и третий параметры # chkconfig должны давать в сумме 100. Для варианта с Webmin производятся следующие действия (рис. 12.2). 1. Запускаем браузер mozilla (с консоли сервера) либо Internet Explorer (с рабочей станции). 250 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè 2. Запускаем уже знакомым образом Webmin. 3. Выбираем вкладку System, пункт Bootup and Shutdown (Загрузка и за- вершение). 4. Находим строчку httpd и щелкаем по ней. 5. В открывшемся окне выбираем Start at boot time (Запускать во время загрузки). Ðèñ. 12.2. Íàñòðîéêà àâòîìàòè÷åñêîãî çàïóñêà Apache ïðè ïîìîùè Webmin Нажимаем Save и сохраняем сделанные изменения. Как и ранее, автоматическая настройка не удалит файл, убивающий сервис, а просто добавит новый, который будет запускать его девяносто девятым по очереди. Так что лучше используйте ручное редактирование файлов запуска. 12.7. Ñàìûé ïðîñòîé ñïîñîá îðãàíèçîâàòü Web-ñåðâåð â îðãàíèçàöèè При помощи Web-сервера можно автоматизировать делопроизводство в ор- ганизации. Возможно, что со временем вы сможете организовать корпора- тивную базу данных с web-интерфейсом. Apache будет выступать в качестве программы, формирующей интерфейс доступа к услугам СУБД. Стоит заме- тить, что такой подход становится достаточно популярным. Ãëàâà 12. Çàïóñê Apache è Webmin 251 Организация информационного сервера на базе Apache состоит из четырех пунктов: настройка Apache; настройка клиентов (папка Избранное); создание наполнения информационного сервера; обновление сервера. Íàñòðîéêà Apache Подойдем к этому вопросу с позиций максимальной простоты, будем делать минимум изменений. ServerName — имя сервера, должно совпадать с доменным именем ком- пьютера: ServerName smb.samba Maxclients указывает максимальное число клиентов при одновременном обращении. Расчет этого числа ведется, исходя из объема оперативной памяти и того факта, что каждый клиент Apache в среднем требует 20 Мбайт оперативной памяти. Для оперативной памяти 512 Мбайт целе- сообразно выставить ограничение до 10 пользователей. Для 1024 Мбайт — на уровне 25 пользователей. Подходить к настройке этого параметра надо гибко. В зависимости от целесообразности использования Apache и за- грузки сервера решайте, увеличивать ли число пользователей или умень- шать. Если сервис стал необходимым в работе организации, можно поду- мать о выделении отдельного физического сервера под Apache. DocumentRoot указывает путь к информационному порталу. Файлы здесь открыты для большинства пользователей, проверьте лишь, чтобы в от- крытых каталогах не было конфиденциальной информации, а также символических ссылок на другие закрытые каталоги. Оставляем его без изменений: DocumentRoot "/var/www/html" DirectoryIndex указывает, какой файл использовать в качестве индекс- ного при входе в каталог. Для повышения безопасности сервера этот файл должен быть в каждом каталоге. Если этого не сделать, Apache по- кажет содержимое каталога, в который вы обратились. Приведем вариан- ты описания индексного файла: DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi BindAddress — IP-адрес сервера, на который он будет откликаться. В нашем случае это 192.168.0.5, а вы задаете свой адрес: BindAddress 192.168.0.0.5 252 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Port — порт, оставляем по умолчанию: Port 80 Íàñòðîéêà êëèåíòîâ Настройка клиентов не столько необходимая операция, сколько способ об- легчить жизнь пользователям. По сути, она сводится к добавлению ссылок в папку Избранное клиента. Для того чтобы добавить ссылку, делаем сле- дующее: 1. Запускаем Internet Explorer. 2. Набираем в адресной строке нужный адрес и нажимаем <Еnter> (рис. 12.3). 3. Нажимаем Избранное / Добавить в избранное. 4. В открывшемся окне вводим имя ссылки и ОК. Ðèñ. 12.3. Äîáàâëåíèå â èçáðàííîå (ôðàãìåíò ýêðàíà) Уже введенную закладку можно отредактировать. Для этого: 1. Выберите ее и нажмите правую кнопку мыши. 2. Выберите пункт Свойства. 3. И на вкладке Документ Интернета отредактируйте адрес URL, напри- мер: http://smb.samba:8000. Вы должны поставить нужный адрес и порт, если изменили настройки по умолчанию. В примере на рис. 12.4 пред- полагается, что порт изменен на 8000. Ãëàâà 12. Çàïóñê Apache è Webmin 253 Ðèñ. 12.4. Ðåäàêòèðîâàíèå ïàïêè Èçáðàííîå Ñîçäàíèå èíôîðìàöèîííîãî íàïîëíåíèÿ ñåðâåðà Основная информация, которая будет размещена на сервере, связана при помощи гипертекста. Необходимо сформировать Html-страницы и ссылки на ресурсы (документы, файлы архивов, мультимедийные файлы) при по- мощи Html-редакторов. Это могут быть FrontPage от Microsoft, Dream Weaver от Macromedia или любой другой. На рис. 12.5 представлено окно редактора Dream Weaver. Обновление информации на сервере состоит из добавления новых Html- файлов или к замене старых. Производиться оно может в любом файловом менеджере, с управлением доступа для записи только ограниченному кругу лиц, непосредственно связанных с заполнением. 254 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè Ðèñ. 12.5. Îêíî ðåäàêòîðà Dream Weaver 12.8. Êðàòêèå ñâåäåíèÿ î Webmin è çàïóñê Помимо Webmin, существует еще целый ряд программ графического адми- нистрирования, встроенных в оболочки (например KDE) и как самостоя- тельные продукты (например Linuxconf). Однако, самым популярным и удобным инструментом администрирования остается Webmin. Утилита Webmin уже входит в пакет ASPLinux 7.3 Server Edition и при выбо- ре типа установки Сервер рабочей группы запускается автоматически. Про- верить, запустилась ли утилита, можно при помощи команды netstat –ln Webmin по умолчанию занимает порт 10 000. В примере на рис. 12.6 видно, что строка с портом 10 000 присутствует — Webmin запущен. Если такая строка отсутствует, то сделать запуск можно командой: # /etc/rc.d/init.d/webmin start Теперь можно обращаться к Webmin: https://localhost:10000 Префикс https показывает, что это защищенное SSL-соединение. Ãëàâà 12. Çàïóñê Apache è Webmin 255 Ðèñ. 12.6. Ïðîâåðêà ñîñòîÿíèÿ Webmin Если в поставке отсутствует Webmin, (например ASPLinux 7.1), то скачать дистрибутив можно по адресу http://www.webmin.com. Для rpm-пакета уста- новка осуществляется следующим образом: # rpm -Uvh webmin-Х.ХХХ.noarch.rpm Команда U позволит провести корректную установку, если уже был установ- лен Webmin более ранней версии. При установке, помимо всего прочего, будет создан скрипт запуска /etc/rc.d/init.d/webmin (листинг 12.1). Ëèñòèíã 12.1. Ñêðèïò çàïóñêà /etc/rc.d/init.d/webmin #!/bin/sh # description: Start/stop Webmin # chkconfig: 2345 99 01 case "$1" in 'start') /etc/webmin/start >/dev/null 2>&1 RETVAL=$? if [ "$RETVAL" = "0" ]; then 256 ×àñòü III. Linux-ñåðâåð ñâîèìè ðóêàìè touch /var/lock/subsys/webmin fi ;; 'stop') /etc/webmin/stop RETVAL=$? if [ "$RETVAL" = "0" ]; then rm -f /var/lock/subsys/webmin fi ;; 'status') pidfile=`grep "^pidfile=" /etc/webmin/miniserv.conf | sed -e 's/pidfile=//g'` if [ -s $pidfile ]; then pid=`cat $pidfile` kill -0 $pid >/dev/null 2>&1 if [ "$?" = "0" ]; then echo "webmin (pid $pid) is running" RETVAL=0 else echo "webmin is stopped" RETVAL=1 fi else echo "webmin is stopped" RETVAL=1 fi ;; 'restart') /etc/webmin/stop && /etc/webmin/start |