Linux: Полное руководство
Шрифт:
Сейчас мы подробно разберемся, что нужно устанавливать на ваш будущий Linux-сервер. Предположим, что вам нужно настроить веб-сервер. Тогда нужно установить и настроить следующее программное обеспечение:
♦ Суперсервер xinetd — вы уже знаете, для чего он нужен. Настройку любого Linux-сервера нужно начинать именно с настройки xinetd.
♦ Пакет apache (в некоторых дистрибутивах он называется httpd). Программа Apache выполняет функции веб-сервера: именно она передаст пользователю веб-страницу, когда тот введет URL страницы в окне браузера.
♦ Если ваши пользователи желают программировать на PHP, нужно установить пакет PHP. Связке веб-сервера Apache, интерпретатора PHP и сервера баз данных MySQL посвящена целая глава, поэтому мы не будем сейчас подробно на этом
Теперь рассмотрим второй распространенный случай — почтовый сервер. Почтовый сервер отвечает за отправку и прием сообщении электронной почты. Обычно он использует протоколы SMTP (Simple Mail Transfer Protocol) и POP (Post Office Protocol). Для создания почтового сервера нужно установить и настроить следующее программное обеспечение:
♦ Суперсервер xinetd.
♦ Почтовый агент (MTA, Mail Transfer Agent), которая будет отправлять и принимать сообщения. Обычно эту роль выполняет программа sendmail, а кроме нее довольно распространены программы qmail и postfix, выполняющие аналогичные функции.
♦ Пакет imap, обеспечивающий получение пользователями своей почты по протоколам POP3 или IMAP.
♦ Программу procmail, сортирующую почту. С ее помощью можно организовать автоответчик и другие полезные услуги.
♦ Программу fetchmail, позволяющую получать почту с других POP3-серверов.
♦ Желательно также установить какой-нибудь антивирус, например, KAV, и «прикрутить» его к sendmail (или другому SMTP-серверу); тогда входящие и исходящие сообщения будут автоматически проверяться на вирусы.
Третьим распространенным примером Linux-сервера является DNS-сервер. Для его организации вам достаточно установить и настроить суперсервер xinetd и сам DNS-сервер — пакет bind.
Следующий пример Linux-сервера — это шлюз. Шлюз позволяет соединить две сети различного типа, например, локальную сеть и Internet. Для его создания нужно установить и настроить следующее программное обеспечение:
♦ Суперсервер xinetd.
♦ Пакет ppp, содержащий сервер для работы с протоколом PPP (Point to Point Protocol). Данный пакет нужно устанавливать лишь в том случае, если вы сами подключаетесь к Интернету по протоколу PPP или вы настраиваете сервер входящих звонков (dial-in) для доступа удаленных пользователей в Интернет через ваш компьютер.
♦ Пакет iptables — это межсетевой экран, или брандмауэр. Именно эта программа будет выполнять функции шлюза, то есть переадресовывать пакеты из одной сети в другую (из локальной в глобальную). Кроме того, брандмауэр может отфильтровывать пакеты, что позволяет оградить вашу сеть от вторжения извне.
♦ Пакет squid — это прокси-сервер, который кэширует веб-страницы.
В таблице 11.1 перечислены лишь немногие функции, выполняемые сервером, и рекомендуемое программное обеспечение, которое необходимо для реализации этих функций. В графе «Дистрибутив» сказано, входит ли нужный пакет в состав популярных дистрибутивов.
Серверное программное обеспечение Таблица 11.1
Функция | Программное обеспечение | Дистрибутив |
---|---|---|
Авторизация удаленных пользователей (dialup) | PPP | Да |
Автоматическое конфигурирование узлов сети | dhcp | Да |
Совместный доступ к файлам | NFS, FTPd (ProFTPD, wu-ftpd) | Да |
Доступ к сети Microsoft | samba | Да |
Кэширование передаваемой информации | Squid | Да |
Маршрутизация | route(d) | Да |
Обмен сообщениями электронной почты | sendmail | Да |
postfix | Да | |
qmail | Нет | |
imap | Да | |
Подсчет передаваемого по сети трафика | ядро Linux, IPChains {в старых дистрибутивах с ядром 2.2.x и меньше) или IPTables (в новых дистрибутивах с ядром 2.4.x и 2.6.x) | Да |
Передача секретной информации | modSSL | Нет |
Разрешение имени компьютера в IP-адрес | bind | Да |
Сетевая печать | Lpd, Samba, CUPS | Да |
Функции веб-сервера | apache | Да |
Фильтрация пакетов IP-Маскарадинг | IPTables (IPChains в старых версиях Linux) | Да |
Управление базой данных | MySQL | Да |
PostgreSQL | Да | |
InterBase | Нет |
11.3. Суперсервер xinetd
11.3.1. Установка суперсервера xinetd
Суперсервер xinetd появился в дистрибутивах давно (например, в Red Hat начиная еще с 7 версии) и стал достойной заменой inetd, использовавшемуся до него. Суперсервер xinetd обычно устанавливается по умолчанию во время установки системы. Одним из преимуществ этого суперсервера является наличие встроенных механизмов зашиты, которые для inetd реализует отдельный демон tcpd. К тому же xinetd, в отличие от inetd, поддерживает IPv6. Даже если вы пока не планируете переходить на IPv6, установка xinetd будет очень полезной из-за расширенных функций суперсервера.
В шестой версии протокола IP (IPv6, ранее именовавшегося Ipng — IP next generation) используются 128-разрядные адреса получателей и отправителей (это в 4 раза больше, чем в версии 4). Адрес состоит из шестнадцати октетов и изображается в виде восьми пар октетов, разделенных двоеточиями, Адрес в формате IPv6 может выглядеть так: 3A3F:BC21:F133:56C4:A103:DB11:1000:400F
Если в вашем дистрибутиве xinetd не устанавливается по умолчанию, то рекомендую пойти по пути наименьшего сопротивления и установить xinetd из RPM-пакета. Можно также скачать последнюю версию xinetd по адресу
Если вы собираете xinetd из исходников, вы можете сконфигурировать его (./configure) с одним из следующих флагов:
♦ – -with-libwrap: с использованием tcp wrappers. С этой опцией xinetd будет сперва проверять ваши файлы
♦ – -with-loadavg: с этой опцией xinetd остановит сервис, когда нагрузка достигнет определенного уровня;
♦ – -with-inet6: включает поддержку IPv6.
Внимание! При включении IPv6 все IPv4-сокеты становятся IPv6-сокетами. Поэтому будьте готовы к тому, что вам понадобится перекомпилировать свое ядро с поддержкой IPv6. Если ваше ядро не поддерживает IPv6, выкачайте последнюю версию ядра по адресу