Главная страница

сеть на линуксе. Алексей Старовойтов СанктПетербург бхвпетербург 2006 удк 681 06 ббк 32. 973. 202 С77


Скачать 7.49 Mb.
НазваниеАлексей Старовойтов СанктПетербург бхвпетербург 2006 удк 681 06 ббк 32. 973. 202 С77
Анкорсеть на линуксе
Дата11.05.2023
Размер7.49 Mb.
Формат файлаpdf
Имя файлаset_na_linux_proektirovanie_prokladka_ekspluatatsiya_3642909.pdf
ТипДокументы
#1121131
страница14 из 15
1   ...   7   8   9   10   11   12   13   14   15
Ðèñ. 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

1   ...   7   8   9   10   11   12   13   14   15


написать администратору сайта