Компьютерные сети изменили нашу жизнь. Они были почти незаметны в 1970-х и даже в 1980-х. Однако в начале 1990-х годов что-то произошло. Возможно, это было появление World Wide Web и графических Web-броузеров, благодаря которым Internet пришла во многие семьи. Возможно, число сетевых соединений превысило какой-то критический предел. Может быть, этот предел превысило количество сетевых программ. Как бы то ни было, сейчас о сетях знают все. А самое главное, что каждый знает о существовании Internet.
Internet объединяет миллионы компьютеров, на многих из которых выполняются серверы — программы, принимающие запросы от клиентов и обрабатывающие их. Благодаря тому что протоколы, на которых базируется Internet, допускают межплатформенное взаимодействие, в обмене данными могут участвовать клиенты и серверы, выполняющиеся на различных компьютерах и в разных операционных средах. В последние годы одной из самых популярных операционных систем стала Linux. Установленная на недорогом компьютере x86, система Linux обеспечивает эффективную работу серверов, поддерживающих узлы небольшого и среднего размеров. С увеличением производительности компьютеров появляется возможность выполнения в среде Linux серверов, обрабатывающих большие объемы данных. В результате от системного администратора часто требуется умение настраивать систему Linux и серверы, выполняющиеся в ее среде.
На каких же серверах следует остановить свой выбор? Существуют сотни, если не тысячи, серверных программ. В большинстве книг, посвященных системе Linux, основное внимание уделяется нескольким популярным серверам: HTTP-серверу (обычно это Apache), серверам удаленной регистрации, таким как Telnet и SSH, файловым серверам, примерами которых являются NFS и Samba, и некоторым другим типам серверов. В данной книге рассматриваются самые различные серверы. Разнообразие рассматриваемых вопросов не дает возможности подробно изучить работу и особенности настройки каждого из серверов, но все же приведенной информации достаточно, чтобы обеспечить выполнение соответствующих программ. Помимо наиболее популярных серверов, в настоящей книге также рассматриваются средства, которым обычно уделяется мало внимания, но которые, тем не менее, чрезвычайно важны для нормального функционирования сети. Так, например, здесь есть главы, посвященные DHCP-серверу, временному серверу и системе Kerberos. В данной книге не излагаются основы функционирования сетей. Считается, что читатель уже имеет представление о сетевых средствах и собирается повысить свою квалификацию.
Главы, в которых описываются сложные серверы, такие как Apache и Samba, не содержат исчерпывающего их описания. За общей информацией об этих инструментах следует рассмотрение их расширенных функций, ориентированное на администратора, имеющего некоторый опыт работы. Новичкам, прежде чем изучать эти главы, желательно прочитать книги, содержащие вводный курс администрирования данных серверов.
На кого рассчитана эта книга
Данная книга содержит расширенные сведения о сетевых средствах Linux и ориентирована на специалистов, которые уже работали с сетями и системой Linux. Первые главы содержат сведения о настройке низкоуровневых сетевых средств Linux. Чтобы материал этих глав был понятен, надо иметь общее представление о Linux, или, по крайней мере, о UNIX, и знать терминологию, применяющуюся при описании сетевых средств. Если же вы не знакомы с системой Linux, вам имеет смысл прочитать вводные материалы, например, книгу Марселя Гагне (Marcel Gagnе) Linux System Administration: A User's Guide (Addison-Wesley, 2002) или нашу с Вики Стенфилдом (Vicki Stanfield) книгу Linux System Administration (Sybex, 2001).
Если вы хотите больше узнать о таких серверах, как Apache и Samba, но не собираетесь покупать книгу, полностью посвященную одному продукту, либо если вы хотите получить сведения о небольших, но очень важных серверах, таких как xntpd и xfs, эта книга — для вас. В ней вы также найдете многочисленные практические советы, например, о том, как запустить сервер и завершить работу с ним, как создать резервную копию информации в сети, как ограничить сферу действий сервера поддеревом >chroot
, как построить брандмауэр, и т.д. Эти сведения позволят вам по-новому взглянуть на процесс администрирования вашей сети и, возможно, повысить производительность и надежность ее работы.
При написании данной книги я ориентировался на администраторов сетей небольшого и среднего размеров. В такой сети могут присутствовать компьютеры под управлением UNIX, Windows, MacOS и других операционных систем, и, конечно же, к ней подключена хотя бы одна машина Linux. В большинстве глав описываются общие принципы работы того или иного инструмента, а затем приводится информация о его использовании. Эту книгу можно использовать как справочное пособие. Если вы хотите иметь книгу, в которой описаны самые разнообразные сетевые средства Linux, то вы держите ее в руках.
Версии Linux
Одна из причин возникновения проблем при администрировании Linux состоит в том, что Linux нельзя рассматривать как единую операционную систему; это скорее набор систем, созданных на базе одного ядра. Разновидности Linux называют