Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Глава 11

Базовое конфигурирование сервера

11.1. Серверные технологии Linux

Каждая операционная система имеет свое «призвание». Операционную систему Windows NT Server предпочтительнее использовать как сервер рабочих групп сетей Microsoft. Система Novel! Netware лучше «смотрится» в роли файлового сервера и сервера печати. ОС UNIX первоначально разрабатывалась как интернет-сервер.

Средства для работы с Сетью встроены непосредственно в ядро этой операционной системы, а все необходимое программное обеспечение для организации сервера входит в состав дистрибутива. UNIX-система работает со всеми сетевыми протоколами (особенно

с TCP/IP) лучше, чем любая другая операционная система для платформы Intel. Недаром говорят, что UNIX создан для сети, как птица для полета. Все перечисленные выше качества касаются также и ОС Linux.

Еще один важный аспект — документация системы. Все без исключения Unix-подобные системы очень хорошо документированы, и поэтому вся необходимая информация для настройки сервера, по сути, уже есть в вашем компьютере.

Где же применяются Linux-серверы? Прежде всего, это интернет-серверы. Вы можете спросить, почему именно Linux (Unix)? Почему не какая-нибудь другая операционная система, например, Windows NT (2000)? Давайте подумаем вместе. В начале 60-х годов по приказу Министерства обороны США была создана сеть Arpanet, которая и послужила в дальнейшем прототипом для создания Интернет. Как можно использовать NT-сервер в качестве интернет-сервера, если он был выпущен в 1996 году? А Интернет-то существовал с 70-х годов. И существовал именно благодаря Unix-системам. Так почему же не использовать для предоставления интернет-услуг родную операционную систему?

Многие правительственные и финансовые организации всего мира, например, Министерство иностранных дел Германии, используют Linux (SuSE Linux), а немецкий Dresdner Bank совместно с американской компанией CollabNet объявил о новой банковской информационной системе, построенной на основе Linux. И тут, как вы видите, дело не в деньгах — платить или не платить за Linux, а в заботе организаций о своей информационной безопасности и надежности своих серверов. Как объяснить клиенту, что его счет «будет закрыт», поскольку «программа выполнила недопустимую операцию»? Тут даже созданный журнал ошибок не поможет. Недавно открытый сайт президента России, к которому предъявляются повышенные требования надежности, безопасности и производительности, базируется именно на основе Red Hat Linux.

Второй отраслью применения Linux-серверов является создание кластеров для произведения параллельных вычислений. По определению кластер — это несколько компьютеров, объединенных вместе для совместного решения одной задачи. Объединение компьютеров, как правило, производится с помощью высокоскоростной сети. На сегодняшний день создано специальное программное обеспечение, позволяющее собрать кластер даже в домашних условиях, например, PVM (Parallel Virtual Machine).

Помимо всего вышеуказанного, существует еще множество направлений, где используются Linux-серверы: WWW-серверы, FTP-серверы, почтовики, шлюзы, можно даже эмулировать домен NT с помощью пакета Samba. При этом нужно учитывать то, что все необходимое программное обеспечение уже входит в ваш дистрибутив:

1. веб-сервер Apache

2. FTP-серверы wu-ftpd и ProFTPD

3. Агенты MTA (Mail Transfer Agant) sendmail и postfix

4. Поддержка сети Microsoft — пакет Samba

5. DHCP (Dynamic Host Configuration Protocol)-сервер, который используется для автоматического назначения IP-адреса рабочим станциям в сети

6. Прокси-сервер SQUID

7. Брандмауэр IpChains и/или IpTables

8. Сервер баз данных MySQL

9. DNS-сервер

10. Специальный прокси-сервер Socks5.

Подробно о настройке всех этих служб, а также о многом другом вы сможете прочитать в моей книге «Linux-сервер своими руками», третье издание которой вышло в 2005 году в издательстве «Наука и Техника».

11.2. Организация и состав Linux-сервера

Что

такое сервер? С точки зрения пользователей сети, сервер — это удаленный компьютер, выполняющий некоторые функции, например, прием и отправку электронной почты. С точки зрения нас, администраторов, сервер — это программа, выполняющая определенные функции. Раз уж мы рассматриваем почтовый сервер, то на этом компьютере должна быть установлена специальная программа, которая будет отправлять и принимать сообщения.

Компьютер без этой программы (которую мы также будем называть сервером) — это просто рабочая станция. Мало просто установить операционную систему Linux, нужно еще установить программы-серверы, которые будут выполнять те самые функции, которых ждут от сервера.

Построение Linux-сервера нужно начать с настройки суперсервера — xinetd (в более старых дистрибутивах — inetd). Суперсервер — это основа основ: без него не будет работать большинство сетевых сервисов, таких как POP3, IMAP, FTP (если он не запускается отдельно). Сервер xinetd называется суперсервером, потому что он отвечает за установление TCP-соединения, то есть прослушивает пакеты и передает их на обработку другим программам, управляя таким образом другими серверами. Например, если в запросе клиента будет требование установить соединение с двадцать первым портом, то суперсервер вызовет сервер FTP: конечно, при условии, что соединение с 21 портом разрешено (в противном случае клиент получит сообщение «Connection refused»).

Примечание

По правде говоря, не все так просто, как я описал. На практике за установление TCP-соединений отвечает демон tcpd (в ранних версиях Linux его не было). Программы-сервисы (httpd, ftpd) могут постоянно находиться в памяти (режим standalone): в этом случае они сами обрабатывают пакеты, и суперсервер их уже не вызывает. Но это уже детали, и они картины не меняют

Отнеситесь к настройке xinetd с должным вниманием: от того, как вы его настроите, будет зависеть работа вашего сервера.

После настройки xinetd можно приступить к настройке конкретных сетевых сервисов. Я вам рекомендую настраивать не все подряд (по принципу «чтобы было»), а только те сервисы, которые вам сейчас нужны. Например, если вы настраиваете почтовик, то нечего на нем устанавливать DNS-сервер, веб-сервер и FTP-сервер. Лучше хорошо настроить две-три нужные службы, чем использовать десяток (включая нужные и ненужные) с настройками «по умолчанию». Помните, что ненастроенная служба — это потенциальная дыра в системе безопасности вашего сервера.

Если вы настраиваете серверы провайдера, я настоятельно рекомендую разделить серверные функции между разными компьютерами. Не нужно, чтобы один компьютер обслуживал и входящие звонки, и почту, и разрешение имен. Для провайдера целесообразно разделить функции серверов так:

♦ Два отдельных DNS-сервера — первичный и вторичный. Пусть себе стоят в углу — DNS-серверы редко требуют администрирования, если, конечно, вы не выдаете доменные имена по десять раз за день.

♦ Главный сервер, который обслуживает одновременно и вводящие звонки (dial-in), и почту.

♦ Отдельный веб-сервер. Обычно на веб-сервере устанавливаются интерпретаторы PHP, perl и сервер баз данных MySQL, Если пользователям нужен доступ к их файлам, можно настроить на этом же компьютере FTP, но я рекомендую вместо FTP использовать ssh. Конечно, если ваши пользователи пойдут на такие жертвы ради безопасности.

Если же вы ограничены в средствах, можно все это добро установить на одном компьютере. Надежность схемы «все в одном» значительно ниже, и в основном она используется для тестирования — проведения небольших экспериментов с сетевыми сервисами.

Поделиться с друзьями: