Все кажется просто прекрасным, однако, если разобраться более детально, то в 2000 году Microsoft достигла того, что уже существовало в Unix еще в 80-х годах. Попробую сейчас все разъяснить. С самого своего начала (с 1979 года), операционная система Unix была:
1. 32-разрядной.
2. Многозадачной.
3. Многопользовательской, а значит сетевой.
Достижения инженерной мысли, о которых мы узнали только в 1993 году — многозадачность и поддержка виртуальной памяти, были реализованы в Unix еще в далеком 1979 году. К тому же, протокол TCP/IP включен в состав ядра системы по умолчанию, а это говорит о многом. Хотя бы о том, что благодаря поддержке ядром протокола TCP/IP достигается высокое быстродействие программ, использующих этот протокол. Существует даже выражение: «Unix создан для сети, как птица для полета».
Квотированием, которое появилось в Windows совсем недавно, настоящих юниксоидов тоже не удивишь. А службу Active Directory можно заменить на Network Information Service.
Может быть, это и не полноценная замена, но, учитывая, что этой службе уже пошел второй десяток лет…
Не нужно думать, что Unix всегда был неподъемным монстром с DOS-образным интерфейсом. Графическая система X Window создана достаточно давно и существует множество Linux-приложений, использующих графический интерфейс. А благодаря таким графическим средам как KDE и Gnome, Linux стал еще более дружелюбным. Но в нашем случае графический интерфейс не столь существенен — мы же будем с вами настраивать сервер. Например, компания Novell поначалу вообще отказалась от использования графического интерфейса в своей операционной системе, чтобы не задействовать дополнительные системные ресурсы. А поскольку Linux является прямым потомком Unix, то ей присущи все вышеописанные качества. К тому же, операционная система Linux совершенно бесплатна — об этом я уже упоминал немного раньше. Если вы считаете себя серьезным администратором, то выбор между надежностью, производительностью Linux и дружелюбным интерфейсом Windows NT (2000) Server, я думаю, очевиден.
Еще один важный аспект — документация системы. Все без исключения Unix-подобные системы очень хорошо документированы и поэтому вся необходимая информация для настройки сервера по сути уже есть в вашем компьютере. Моя же задача при этом сводится к тому, чтобы научить вас использовать эту документацию, а также на практике рассмотреть ее применение.
Итак, что же получается, что мы, используя программное обеспечение от Microsoft, отстали на двадцать лет в развитии, использовали, мягко говоря, не совсем надежное программное обеспечение и еще платили за это деньги? Ребятам из маркетингового отдела Microsoft нужно памятник поставить за их профессиональные качества.
Где же применяются Linux-серверы? Прежде всего, это Интернет-серверы. Вы можете спросить, почему именно Linux (Unix)? Почему не какая-нибудь другая операционная система, например, Windows NT (2000)? Давайте подумаем вместе. В начале 60-х годов по приказу Министерства обороны США была создана сеть Arpanet, которая и послужила в дальнейшем прототипом для создания Интернет. Как можно использовать NT-сервер в качестве Интернет-сервера, если он был выпущен в 1996 году? А Интернет-то существовал с 70-х годов. И существовал именно благодаря Unix-системам. Так почему же не использовать для предоставления Интернет-услуг родную операционную систему? В самом деле, не будете же вы покупать для своего BMW запчасти от Hond'ы? В случае с Интернет это равноценное сравнение: Linux (Unix) для Интернет — абсолютно родная система. Использование других систем допустимо и кому-то может показаться более удобным, но только на том уровне, как будто бы вы действительно в автомобиль одной хорошей марки вставили бы деталь от автомобиля другой хорошей марки. Обе марки автомобилей хороши, но детали одной из них не предназначены для другой. Для справки: относительно недавно был открыт сайт президента России. Так вот этот сайт, к которому предъявляются повышенные требования надежности, безопасности и производительности, базируется именно на основе Red Hat Linux.
Многие правительственные и финансовые организации всего мира, например, Министерство иностранных дел Германии, используют Linux (SuSE Linux), а немецкий Dresdner Bank совместно с американской компанией CollabNet объявил о новой банковской информационной системе, построенной на основе Linux. И тут, как вы видите, дело не в деньгах — платить или не платить за Linux, а в заботе организаций о своей информационной безопасности и надежности своих серверов. Как объяснить клиенту, что его счет «будет закрыт», поскольку «программа выполнила недопустимую операцию»? Тут даже созданный журнал ошибок не поможет.
Второй отраслью применения Linux-серверов является создание кластеров для произведения параллельных вычислений. По определению кластер — это несколько компьютеров, объединенных вместе для совместного решения одной задачи. Объединение компьютеров, как правило, производится с помощью высокоскоростной сети. На сегодняшний день создано специальное программное обеспечение, позволяющее собрать кластер даже в домашних условиях, например, PVM (Parallel Virtual Machine). Более подробно останавливаться на этом вопросе мы не будем, так как параллельные вычисления и компьютерное моделирование — это уже тема для другой книги.
Помимо всего вышеуказанного, существует еще множество направлений, где используются Linux-серверы: Web-серверы, РТР-серверы, почтовики, шлюзы, Х-серверы, можно даже эмулировать домен NT с помощью пакета Samba. Все эти вопросы будут рассмотрены в данной книге.
1.5. Как устроена данная книга
«Не сразу Москва строилась», поэтому и настройку нашего сервера будем производить с малого, а потом постепенно будем его наращивать. Сразу нужно оговориться, что, возможно, при настройке вашего сервера вам не потребуется читать все главы. Например, если вы хотите настроить почтовик, то вам незачем разбираться с настройкой сервера для удаленного доступа. Хотя прочитать всю книгу все же стоит — для общего развития.
Во второй главе достаточно подробно рассмотрена установка операционной системы Linux на примере дистрибутивов Linux Mandrake и Linux Red Hat. В этой же главе рассматривается постинсталляционная настройка пока что настольной версии Linux.
В третьей и четвертой главах обсуждаются общие принципы работы с операционной системой Linux. В третьей главе рассматриваются учетные записи, а в четвертой — работа с файловой системой Linux. Очень советую вам разобраться с правами доступа к файлам и каталогам. Большое значение для организации сервера имеет настройка дисков SCSI и массивов RAID. Особое внимание обратите на создание резервных копий, если вы, конечно, настраиваете «серьезный» Linux-сервер.
В пятой главе рассматриваются основы управления процессами в Linux. Эта глава имеет больше теоретическое, чем практическое значение, но какая же практика без теории?
Шестая глава посвящена русификации дистрибутива. Так как современные дистрибутивы практически не имеют проблем с русификацией, вы можете без особых угрызений совести прочитать данную главу «по диагонали».
В седьмой главе рассмотрена базовая настройка сети — установка сетевой платы, настройка протокола TCP/IP, подключение к Интернет по модемной и выделенной линиям. Особое внимание уделено настройке ADSL-соединения, которое сейчас получает все большее распространение.
В восьмой главе обсуждается непосредственная настройка сервера. Рассматриваются суперсерверы inetd и xinetd. Первый использовался в старых дистрибутивах, но вы все же можете еще встретиться с ним, a xinetd является стандартом для современных Linux-серверов. Получение и предоставление «безопасного» удаленного доступа с помощью ssh, настройка протокола динамической настройки хоста — DHCP, сетевая файловая система NFS, маршрутизация, подсчет трафика, поисковый сервер ht:/Dig — обо всем этом вы можете прочитать в восьмой главе. И это еще не все: последними пунктами в восьмой главе приведены описания настроек прокси-сервера Socks5, а также системы обнаружения и защиты от вторжения LIDS. Особенный интерес представляет программа подсчета трафика MRTG, также описанная в данной главе.