•
Почтовые программы, работающие в режиме off-line
•
Почтовые программы, работающие в режиме on-line
В главе рассмотрены различные подходы и программы, использующиеся в Red Hat Linux 7.1 для просмотра, создания и отправки сообщений e-mail. Вначале мы рассмотрим утилиту Netscape 6 Mail, использующую протокол РОРЗ для получения почты и просмотра ее в off-line. Далее мы обратимся к текстовой утилите pine, используемой в Linux в качестве on-line программы чтения писем, в которой реализован протокол получения сообщений e-mail - IMAP4. Оба протокола РОРЗ и IМАP4 обсуждались в гл. 23.
В мире Unix и Linux наиболее часто используются почтовые программы pine и elm. Обе они работают с символьным экраном, поэтому их можно использовать для работы в консоли или окне xterm. Обе программы разработаны для просмотра локальных почтовых ящиков Berkeley. Программы имеют широкий спектр настроек и гибкое управление.
Примечание
Интересный исторический факт: программа elm - предшественник pine. Pine (pine - аббревиатура английского названия "Pine Is Not Etm", т.е. pine - это не elm) была написана для того, чтобы сделать некоторые возможности elm более доступными для пользователя. При этом pine может читать почту с серверов IMAP, a elm не может.
И elm, и pine обычно используются в университетах, в которых студенты имеют свободный доступ к e-mail. Поскольку объем книги ограничен, в этом параграфе дан лишь краткий обзор программы pine. Выбор pine, а не elm весьма субъективен, и многие пользователи Linux и Unix скажут, что следовало бы дать небольшой обзор возможностей именно программы elm. К сожалению, elm более не поддерживается в достаточной степени. Последняя версия elm имеет номер 2.5.5, а наиболее свежая документация, доступная на домашней странице elm по адресу http: //www.math. fu-berlin. de/~guckes/elm/, касается версии 2.5.3.
Логика автора такова: elm и pine - мощные пакеты, и не уступают друг другу своими возможностями. Большинство современных пользователей для управления почтой предпочитает пользоваться графическими пакетами, такими как Netscape 6. Сегодняшний персональный компьютер, безусловно, способен выполнять графические приложения типа Netscape 6, требовательные к производительности процессора. Излагая смысл этих традиционных (и популярных) почтовых программ Unix, автор выбрал pine, поскольку эта программа более дружелюбна к пользователю-новичку в Linux. Кроме того, в университете, где автор работал системным администратором, в качестве почтового приложения все пользователи использовали pine, что можно считать подтверждением удачного выбора программы.
Для большинства пользователей более приемлема работа с почтовым ящиком посредством протокола РОРЗ. Такое решение позволяет использовать многочисленные почтовые приложения для Linux, в том числе Netscape Communicator (см. CD-ROM, прилагаемый к книге) или Netscape 6, доступное для загрузки с узла http: / /home. netscape ..com/download.
Примечание
Приложения Netscape, используемые в этой главе, загружены с узла
ftp: //ftp.netscape.com/pub/netscape6/english/6.0/unix/linux22/sea/.
К моменту, когда ВЫ читаете эту книгу, последние версии этих программ могут быть доступны в других каталогах этого узла.
Этот параграф посвящен обзору Netscape 6 Mail, поскольку сегодня именно этот пакет является наиболее популярным графическим почтовым клиентом. Кроме того, пользователи, которые с Windows и Macintosh перешли на платформу Linux, должны уже хорошо знать продукты Netscape. В Linux могут работать многие другие почтовые клиенты POP и IMAP. Перечень альтернативных пакетов приведен в списке Linux Applications Page в категории Mail на странице
http://www.linuxapps.com
.
Примечание
Netscape можно использовать также как on-line программу просмотра почты, если ваш почтовый сервер использует протокол IMAP для получения почты.
В этом параграфе описаны почтовые программы, основной целью которых изначально был просмотр локальных почтовых ящиков Unix/Linux; некоторые из них работают и с серверами IMAP4. Особенностью таких программ является то, что они разрабатывались для отправки сообщения сразу после его создания, а не для работы с очередью сообщений на отправку.
Efax — почти стандарт de facto программного обеспечения для работы с факсом в Linux, поскольку эта программа поставляется со многими дистрибутивами Linux. Эта глава посвящена использованию efax для Linux.
Совет
Чтобы ознакомиться с другими пакетами для работы с факсом в Linux, обратитесь к списку Linux Applications на странице
http://www.linuxapps.com/
. Мы предполагаем, что в системе инсталлирован факс-модем. В гл. 18 описано, как настроить модем для использования в Linux. Чтобы быть уверенным в правильной настройке модема, следуйте приведенным рекомендациям.
Примечание
Программа efax, рассматриваемая в этой главе, не имеет отношения к приложениям efax.com. Название efax, по сути, представляет собой сокращение от "Ed's fax program," указывая, что автором программы является Эд Касас (Ed Casas). Дополнительные сведения о программе efax можно получить на узле http: //www.cce.com/efax.
В начале работы с факсом следует инсталлировать программное обеспечение efax. Если на компьютере инсталлирована версия Linux (прилагаемая к книге), то в системе наверняка установлена программа efax. Проверьте ее наличие с помощью команды rpm.
$ rpm -q efax
Еслиейх инсталлирована, то rpm выводит на экран название пакета efax, например efax-0.9-8. Если пакет не инсталлирован, то rpm выводит сообщение, подобное следующему:
Package efax is not installed.
Если efax не инсталлирована, можно использовать две возможности:
• инсталлировать программу с дистрибутивного диска Red Hat Linux 7.1 CD-ROM (в стандартном дистрибутиве она расположена на втором CD);
• загрузить и инсталлировать программу из Internet.
Инсталляция Efax с Red Hat CD-ROM
Если у вас Red Hat Linux инсталлирован со стандартного дистрибутива CD-ROM (а не с прилагаемого к книге) и необходимо инсталлировать версию efax из этого дистрибутива, то следует монтировать второй дистрибутивный CD-ROM в его стандартное местоположение (обычно /mnt/cdrom), используя команду mount. (Предполагается, что CD-ROM является устройством /dev/cdrom).
$ mount /dev/cdrom /mnt/cdrom
После того, как CD-ROM смонтирован, используйте команду rpm для инсталляции пакета
еfах-0.9-8.1386.rpm:
$ rpm -i /mnt/cdrom/RedHat/RPMS/efax-0.9-8.1386.rpm
Загрузка и инсталляция Efax из Internet
Последнюю версию efax можно получить по FTP с узла ftp: / /metalab. unc. edu/pub/ Linux/apps/serialcomm/faxA Во время написания книги последней версией программы была версия 0.9, а файл, который необходимо было загрузить, назывался efax- 09 . tar. gz.
Загрузив файл, используйте команду tar для распаковки архива во временный каталог.
$ tar xzvf efax-09.tar.gz
Смените рабочий каталог на временный, в котором содержатся распакованные файлы инсталляции. Следующая команда выполняется в режиме пользователя root.
$ make
Программное обеспечение efax будет полностью скомпилировано.
Предположим отсутствие ошибок в процессе компиляции (безопасное предположение, поскольку efax - простая программа). Для инсталляции efax в каталог по умолчанию используется следующая команда.
Хотя это замечательно - отправлять факсы с использованием специальной команды fax, -пользы от нее немного, если факсы приходится отправлять из таких приложений как Netscape, WordPerfect или Applix Words.
Примечание
Конечно, если имеется всего один модем, и он используется для навигации по Internet с Netscape, то отправить факс с помощью Netscape невозможно, поскольку модем используется для связи с Internet.
Рассмотрим, Netscape. Существует возможность печатать из Netscape в файл, получая в результате файл в формате PostScript. Но отправка такой страницы как факса связана с дополнительным действием - переключением в командную строку для отправки файла как факса.
К сожалению, передавать факс из Linux не так просто, как из Windows или приложений Macintosh, где этот процесс столь же прост, как печать документа.
Однако в Linux возможно создание специального печатающего устройства, которое будет использовать efax для отправки файла, распечатанного как факс.
Опишем этот процесс. В системе печати Ipd есть специальные фильтры для передаваемых документов. Если входной фильтр предназначен для очереди на печать, то файл, отправленный в очередь на печать, передается входному фильтру перед размещением в очереди. Если фильтр не возвращает никаких данных, а отправляет файл как факс, то этот файл никогда не поступит на принтер.
Для настройки очереди печати для печати на факс-модем необходимо выполнить три действия.
Конфигурировать очередь на печать.
Настроить сценарий faxlpr.
Подготовить каталог spool.
Эти действия выполняет пользователь root вашей системы.
Конфигурирование очереди на печать
Для настройки очереди на печать следует отредактировать файл /etc/printcap. local. После-перезапуска демона Line Printer Daemon (Ipd), эта информация будет включена в стандартный конфигурационный файл принтера /etc/printcap. Откройте файл /etc/printcap.local в каком-нибудь текстовом редакторе и добавьте следующие строки.
fax:\
:sd=/var/spool/fax:\
Пакет ef ах содержит три основных программы: ef ax, ef ix и fax.
• Программа ef ax - ядро системы. Она отправляет из файлов и получает в файлы факсы в стандартном формате: Group 3 сжатых TIFF файлов. Невозможно использовать ef ах для отправки текстовых файлов, файлов PostScript или файлов любых других типов без предварительного конвертирования их в формат Group 3 сжатых TIFF файлов.
• Программа ef ix используется для преобразования, обеспечивая возможность преобразования файлов в текстовый, растровый и TIFF форматы и обратно. При сочетании ef ах и ef ix возможна отправка многих изображений и текстовых файлов как факсов.
• Программа fax обеспечивает уровень интеграции, на котором можно создавать, отсылать, получать, просматривать и печатать факсы. Эта программа соединяет в одно целое efax, ef ix и другие компоненты Linux для обеспечения достаточно полного набора функций факса в Linux.
При изучении процесса отправки и получения факсов с помощью efax остановимся на программе fax, поскольку именно она предоставляет нам необходимые функции.
Отправка факсов
Программа fax позволяет легко отправлять факс из текстового файла или файла PostScript. Синтаксис команды для отправки факса:
$ fax send
options
number
file
Команда предусматривает три опции, используемые при отправке факса:
• / - использовать низкое разрешение (96 точек на дюйм);
• v выдавать подробные сообщения и статус программы;
•
т -
считать номер телефона набранным (тогда номер телефона не вводится).
Номер телефона должен быть в той же форме,- в которой проводится его набор. Например, если необходимо дозваниваться по внутреннему телефону 555-1212, то следует указать 5551212
или 5 5 5 -1212. Если необходимо набирать 9 для выхода на внешнюю линию, то следует указать 95551212 или 9-5551212, или 9-555-1212.
Предположим, имеется тестовый файл с именем textf ile в каталоге /trap. Необходимо отправить этот файл как факс низкого разрешения по номеру 123-4567, используя 9 для выхода на внешнюю линию. Для отправки данного факса используется команда $ fax send -I 9-123-4567 /tmp/textfile
Получение факсов - это совсем несложный процесс. Получить факс можно тремя способами: вручную, автоматически по определенному входящему звонку или автоматически для всех входящих звонков.
Эта команда запускает программу fax, программа ожидает телефонный звонок и отвечает после второго гудка. Как и при использовании команды fax receive, входящий факс сохраняется в файле с именем, по умолчанию содержащим дату получения факса. Входящий факс можно просмотреть и распечатать командами fax view и fax print.
Рис. 25.3.
Содержимое факса, отображенное в программе xloadimage
Автоматическое получение всех входящих факсов
Если факс-модем соединен с телефонной линией, по которой принимаются факсы, можно настроить программу efax для постоянного слежения за этой линией, не запрещая исходящих звонков.
Использование опции -w команды fax переводит команду в режим демона, ожидающего входящих звонков на факс-модем. Примером такой команды efax для указанной телефонной линии может служить:
$ efax -d /dev/modem -w -iSO=5
Ключ -d сообщает утилите efax имя файла устройства /dev/modem. Ключ -w заставляет efax ожидать запроса ("звонка", если речь идет о стандартных телефонных линиях США). Ключ -iSO задает для efax режим ожидания пяти (в данном примере) гудков перед снятием трубки.
Если необходимо, чтобы система принимала факсы все время, можно поместить команду наподобие efax -d /dev/modem -w -iSO=5 в файл автозапуска /etc/re.d/rc.local, чтобы этот демон запускался каждый раз при загрузке Linux.
Примечание
Место хранения файла автозапуска re. local в каждом дистрибутиве Linux свое.
Для прекращения работы демона используется команда
$ efax stop
Демон будет уничтожен. Как только появится сообщение, что efax отключен, все автоматические ответы прекращаются.
В мире Linux и Unix есть несколько основных программ для отправки и получения факсов: efax, NetFax, mgetty+sendfax и HylaFax.
Программа efax считается самой простой в инсталляции и конфигурировании, поскольку она идеально подходит для системы с единственным пользователем. Для многих домашних пользователей Linux efax будет удачным выбором.
Как базовый пакет efax, конечно, не решает многих сложных задач, которые делают HylaFax и NetFax идеальным выбором для многопользовательских сетевых конфигураций. Тем не менее, в efax реализована поддержка наиболее часто используемых функций, с которыми работают все пользователи, но в основном - отдельные пользователи или сотрудники небольших офисов.
•
Программное обеспечение для работы с факсом в Linux
•
Efax для Linux
Мы уже изучили использование модемов для связи между компьютерами, в основном, для доступа к Internet. В этой главе рассмотрена другая, не менее популярная возможность использования модемов: отправка и получение факсов
Для работы с факсом в Linux существует несколько программ, которые (как все программы в мире Linux и Unix) изначально ориентированы на работу с командной строкой. Эти программы являются мощнйми средствами, могут работать с самыми разнообразными документами и полностью автоматизировать услуги факса.
В основе работы с факсом в Linux - способность многих программ предоставлять свой сервис, используя встроенные средства печати документов или возможность отправлять факсы способом, аналогичным отправке e-mail.
В главе дан обзор основных принципов организации работы с факсом в Linux и рассмотрены существующие программные решения. Подробно изучена работа наиболее распространенной программы efax, входящей в дистрибутив Red Hat Linux 7.1, прилагаемый к книге.
Примечание
Программа efax не входит в состав диска CD-ROM, который поставляется с книгой. Если вы располагаете стандартным дистрибутивом Red Hat Linux 7.1, то сможете найти эту программу на втором инсталляционном CD. Можно также загрузить RPM-пакет с узла
http://www.redhat.com
http://www.rpmfind.net
.
•
Linux как файл-сервер
•
Linux как сервер печати
•
Linux как сервер баз данных
•
Linux как сервер Intranet
•
Linux как сервер приложений
•
Linux как маршрутизатор
•
Linux как рабочая станция
В этой главе мы рассмотрим использование Linux на отдельной рабочей станции в небольшой фирме или на домашнем компьютере в качестве операционной системы для доступа к Internet, навигации по Web, работы с сообщениями e-mail и т.п.
Лучше всего Linux проявляет себя в мире сетей. Можно организовать небольшой офис с сетью из двух персональных компьютеров дома. Linux позволяет создать файл-сервер и сервер печати в практически любой сети. Можно организовать бизнес на основе технологий Intranet. Linux обеспечивает недорогую поддержку для ведения бизнеса в среде Intranet с помощью мощного Web-сервера и сервера баз данных.
Если необходимо соединить сеть персональных компьютеров с Internet, Linux может быть прекрасным маршрутизатором. Во многих случаях намного дешевле использовать компьютер под управлением Linux в качестве маршрутизатора, чем приобретать специальную аппаратуру для поддержки связи с внешним миром.
Если кажется, что компьютер под управлением Windows работает недостаточно эффективно или стабильно, возможно, имеет смысл поменять операционную систему дома или в сети офиса на Linux. Как операционная система рабочей станции Linux может решить многие проблемы. На компьютере, работающем под управлением Linux, можно запускать приложения Windows и Unix. Такой компьютер можно объединять в сеть с системами Unix, Windows и Novell и разделять файлы и данные, не беспокоясь о возможных сбоях.
В главе дан краткий обзор использования операционной системы Linux в малых или домашних офисах (называемых SOHO), где дорогие коммерческие решения экономически невыгодны.
Как правило, в малых сетях необходим файл-сервер. Файл-сервер организует общее место для хранения данных, поддерживая разделение файлов, доступных всем пользователям, и обеспечивая централизованное создание резервных копий (следовательно, исчезает необходимость ежедневного создания резервных копий на каждой рабочей станции сети).
В сети Windows или Novell подобные задачи решаются одним из следующих способов.
• Использованием выделенных файл-серверов.
• Использованием одноранговой сети.
Концепция маршрутизации проста: когда необходимо соединить две или более сети используется маршрутизатор - устройство, которое делает возможным общение между этими сетями.
Маршрутизаторы представлены самыми разными типами и размерами, от программных средств маршрутизации, выполняемых на серверах Windows NT/2000, до аппаратных платформ маршрутизации от известных производителей, например, фирмы Cisco. Маршрутизаторы могут соединять сети различными способами, используя ряд технологий - от обычных модемов и сетевых карт Ethernet и до соединений ISDN.
Рассмотрим пример: офис с небольшой сетью, которая соединена с Internet посредством высокоскоростного соединения, наподобие DSL или кабельного модема. Небольшая компания имеет одно высокоскоростное соединение с Internet, но сеть из двух или более компьютеров разделяет связь между пользователями.
Маршрутизатор в этой ситуации поддерживает единственное соединение Ethernet с локальной сетью и высокоскоростное соединение с телефонной линией. Все компьютеры в сети отправляют пакеты маршрутизатору. Маршрутизатор решает - адресован ли пакет в другую точку такой сети.
Все локальные пакеты отправляются маршрутизатором через Ethernet-соединение в локальную сеть. Если пакет адресован во внешний мир, информация сразу же отправляется. Поскольку речь идет о постоянном подключении, пакеты не ожидают, пока модем подключится к Internet.
Типичная маршрутизация подразумевает соединение двух отдельных сетей Ethernet через маршрутизатор, который имеет два или более соединений Ethernet (рис. 26.2). Базовая конфигурация высокоскоростных сетей, таких как Fast Ethernet (100 Мбит/с), Gigabit Ethernet (1000 Мбит/с) или Asynchronous Transfer Mode (155 Мбит/с и более) аналогична.
Linux имеет все необходимое для того, чтобы работать как маршрутизатор.
• Поддержку нескольких карт Ethernet.
• Поддержку стандартных модемов и высокоскоростных соединений, наподобие DSL и кабельных модемов.
• Поддержку для IP-переадресации (средства, позволяющие получать, aнaлизиpовaть и перенаправлять пакеты на маршрутизатор Linux).
Фактически, для небольших Ethernet-Ethernet взаимодействий или для маршрутизации Ethernet-высокоскоростное соединение с Internet, решения, основанные на Linux, значительно дешевле, чем специализированные аппаратные маршрутизаторы. При правильной настройке маршрутизация Linux будет функционировать надежно.
Использование Linux как маршрутизатора рассмотрено в гл. 31.
И последнее направление использования Linux в небольшом офисе - операционная система рабочей станции. Если ваше любимое офисное приложение существует в версии для работы под Linux, то рабочая станция под управлением Linux обеспечит следующие преимущества.
Рис. 26.1.
Типичная схема маршрутизации Ethernet-Internet
• Стабильность и эффективность.
• Полное удаленное управление системным администратором.
• Полные возможности сетевого резервирования.
• Низкая стоимость индивидуального использования по сравнению с рабочими станциями под управлением Windows.
Если не думать о финансах, то высокопроизводительные рабочие станции Linux часто составляют конкуренцию по быстродействию более дорогим системам Windows. Linux поддерживает одноранговые сети, более устойчивые и часто более производительные, по сравнению со многими системами, особенно с системами Windows 95/98/Ме.
Linux позволяет системам на базе устаревшего аппаратного обеспечения, которые не могут работать
с
современным программным обеспечением Windows, стать вполне работоспособными X-терминалами. При этом обеспечивается производительность устаревшего аппаратного обеспечения рабочих станций на уровне близком к малым Pentium-системам.
Подобно большинству платформ Unix, для Linux имеется широкий выбор некоммерческих пакетов баз данных, включая PostgreSQL и mSQL.
В 1998 г. основные разработчики коммерческих баз данных придали дополнительное ускорение рынку баз данных, анонсировав и реализовав версии своих продуктов для Linux. Например:
• Для Red Hat на момент написания данной книги реализована база Red Hat Database, включающая PostgreSQL 7.1.2, оптимизированная для Red Hat Linux 7.1. Она ориентирована на бизнес среднего масштаба и представляет собой альтернативу крупномасштабным базам данных больших корпораций, доминирующим сейчас на рынке.
• Фирма Oracle в начале 2001 года реализовала версию 91 своей базы данных и соответствующий серверный инструментарий, оптимизированный для ядра Linux 2.4. Это позволяет переместить ряд крупных баз данных с мощных Unix-систем на Linux.
• Sybase PowerBuilder предлагает приложение SQL Anywhere database Studio для Linux. Документирован пример, для которого общая стоимость решения составляет приблизительно половину стоимости аналогичного решения в среде Windows NT/2000.
• IBM реализовала версию своего флагмана DB2 Universal Database для Linux, что позволяет переносить базы данных с мощных Unix-систем и с систем Windows NT/2000.
Если раньше Linux обеспечивал лишь эффективную альтернативу для файл-сервера и Web-сервера организации, то теперь Linux может разворачиваться как устойчивая, масштабируемая платформа для баз данных организации с применением стандартных систем реляционных баз данных.
Сочетание поддержки баз данных в Linux с Web-сервером, работающим под управлением Linux, позволяет рассматривать эту операционную систему как завершенное решение для Intranet-сервера.
Если следить за современным направлением развития компьютерных технологий, то несомненное внимание обращают на себя сети
Intranet:
внутренние корпоративные сети, которые используют технологии Internet, такие как TCP/IP, Web-браузеры и электронную почту Internet, для разделения информации и приложений внутри организации.
Сетям Intranet, их аппаратному и программному обеспечению посвящено множество статей. Технологии Intranet представляются дорогими, подходящими лишь для больших корпораций. Это не соответствует истине.
Даже в малых офисах сеть Intranet обеспечивает публикацию информации, которую могут получать все служащие через Web-браузер. В скором будущем некоторые бумажные документы в офисе будут преобразованы в электронные Web-формы: от просьб о разрешении на уход с работы до серьезных отчетов о расходах.
Если в организации имеются небольшие базы данных, каждая из которых испрльзуется ежедневно различными пользователями, Intranet может обеспечить общие средства для случайных пользователей данных. Эти пользователи могут получить информацию из базы данных, но не будут иметь инструментов для полного доступа - для создания, поддержки и модификации данных. При интеграции базы данных с Web-сервером Intranet для формирования запросов
к
данным можно использовать Web-формы.
Linux, предлагая богатство мощных и гибких Web-серверов наряду с полнофункциональными реляционными базами данных, обеспечивает создание Intranet-сервера без больших затрат, необходимых для разворачивания Windows NT/2000, коммерческих баз данных, таких как Oracle, и дорогих инструментов интеграции баз данных Web. Существуют даже некоторые свободно распространяемые инструменты для Linux, которые облегчают создание программ для Intranet и приложений, позволяющих использовать корпоративную базу данных.
В гл. 32 рассмотрены основы разработки и поддержки сервера Intranet под Linux.
Серверы печати, как и файл-серверы, являются компонентами сети. Часто выделенный файл-сервер выполняет функции сервера печати в сети.
Не является редкостью одновременное обеспечение сервиса печати и в централизованном, выделенном режиме, и в одноранговом виде на той же сети. Пользователи, которые часто используют принтер, могут иметь собственные принтеры на рабочих станциях. Пользователи, которые обращаются к принтерам редко, могут разделять общий принтер. Часто пользователь с выделенным принтером разделяет его в сети так, что остальные пользователи могут печатать документы, предназначенные для его внимания, непосредственно на выделенном принтере, а не на принтере общего пользования.
Linux поддерживает множество принтеров, в том числе большинство PostScript и HP-совместимых PCL-принтеров. Кроме того, опции Linux для разделения принтеров предоставляют возможность разделения принтеров в сетях Unix/Linux, Windows и Novell.
Настройка Linux как сервера печати рассмотрена в гл. 29.
По своей природе Linux предназначен для работы в качестве файл-сервера, сервера печати или сервера Intranet и является полнофункциональным сервером приложений. При работе с сервером приложений, приложения в действительности выполняются на сервере и лишь отображаются на терминале или рабочей станции, используя протокол X Windows или связь с терминалом, например Telnet. В типичных сетях Windows приложения выполняются на рабочей станции, а данные сохраняются на сервере и передаются с сервера на рабочую станцию.
Централизованное выполнение ряда приложений более эффективно. Кроме того, сервер приложений позволяет легко осуществлять контроль за работой программ. В сетях Windows или Novell система под управлением Linux может работать как сервер приложений, выполняя следующие функции.
• Выполнение программ с символьным интерфейсом, например мощного почтового программного обеспечения Unix/Linux.
• Поддержка пользовательских символьных интерфейсов для централизованных баз данных
Linux.
• Осуществление доступа к выполняющимся в среде Unix/Linux внутренним приложениям, таким, как корпоративная телефонная книга.
Если Х-сервер инсталлирован на рабочей станции под управлением Windows, можно осуществлять централизованное управление приложениями X Windows с рабочей станции, в то время как сами приложения выполняются на сервере приложений Linux.
Linux поддерживает развитые сети с графическим интерфейсом пользователя (GUI) без программного обеспечения Windows 95/98/Ме или NT/2000. Подобное решение представляет интерес для организаций с небольшим бюджетом. Например, автор развернул сеть из 10 рабочих станций, работающих исключительно под Linux. Рабочие станции представляли собой машины типа IBM PC AT 486 с 8 Мбайт RAM. Запуск Windows с Microsoft Office на таких компьютерах был проблематичным, а стоимость необходимого лицензионного программного обеспечения составила бы более 300 $ на рабочую станцию.
Но с Linux на старом аппаратном обеспечении эти системы могут работать как простые X-терминалы, отображая приложения, которые выполняются на единственном сервере приложений. В этом случае сервером приложений может быть система Pentium 200 МГц с 96 Мбайт RAM. Единственное, за что надо заплатить в лицензионном программном обеспечении, - это офисный пакет программ Unix для того количества-дюльзователей, которые будут его использовать.
Сеть, подобная этой, может организовать эффективную работу пользователя, подобно системе Pentium с 32 Мбайт RAM под управлением Windows 95/98/Ме. Все управление программным обеспечением, счетами пользователя, резервированием данных и сопровождением системы может выполняться централизованно на одном или двух серверах.
Конечно, это решение подразумевает основное стратегическое правило: не использовать популярные приложения Windows. Когда существенна стоимость или недоступны современные аппаратные решения, Linux становится сильным кандидатом для организации распределенной компьютерной платформы.
В
одноранговой сети
нет центрального файл-сервера. Каждый пользователь определяет каталог или логический диск на своем персональном компьютере, который будет разделяться между пользователями сети, и указывает уровень доступа к данным. В таком случае каждая рабочая станция или компьютер сети становится небольшим файл-сервером.
Наряду с гибкостью этого подхода - пользователи сами решают, какие данные и с кем будут совместно использоваться - существуют также и недостатки. Во-первых, это отсутствие централизованного управления разделением файлов и политики управления доступом. Во-вторых, отсутствие централизованного места хранения для резервирования важных данных. И последнее: снижение эффективности рабочей станции, когда другие пользователи сети обращаются за файлами на данном компьютере.
Поскольку Linux может одновременно использоваться сетями различных типов, то он может функционировать как одноранговый файл-сервер. Кроме того, истинная многозадачность Linux делает менее ощутимым снижение эффективности в те моменты, когда многие пользователи обращаются к файлам компьютера, используемого для другой работы.
Низкая стоимость установки выделенного файл-сервера на базе Linux для небольших сетей делает выделенный файл-сервер более привлекательным из-за централизованного управления ресурсами и резервирования данных.
Выделенный файл-сервер
является системой, которая не используется в качестве рабочей станции, но настраивается как центральный файл-сервер сети. Пользователи различных рабочих станций или компьютеров сети могут получать доступ к каталогам на файл-сервере так, как если бы эти каталоги или дисковое пространство находились на их собственных компьютерах.
Выделенные файл-серверы предоставляют преимущество централизованного управления разделяемыми данными и возможности резервного копирования. Стоимость сети с таким сервером выше, чем стоимость одноранговой сети. Выделенные файл-серверы обеспечивают эффективное управление доступом к конфиденциальным, системным или разделяемым данным, гарантируя, что несанкционированный пользователь не сможет получить доступ к информации.
Linux идеален для использования в качестве дешевого файл-сервера небольшой сети. Linux может работать как файл-сервер для сетей Unix, Windows и Novell, причем это будет легко управляемый универсальный файл-сервер для сети, содержащей различные типы компьютеров и рабочих станций. Кроме того, стабильность и подлинная многозадачность Linux делают его наилучшим выборам, по сравнению с некоторыми другими хорошо известными системами (такими как Windows 95/98/Ме), когда необходимо устойчивое решение для файл-сервера.
В гл. 29 рассмотрено, как настроить файл-сервер под управлением Linux.
Выбор пакетов для инсталляции ЛВС
Конфигурирование поддержки сети при инсталляции
Инсталляция по сети
В этой главе мы перейдем от рассмотрения принципов, которые относятся к Linux как к изолированной домашней рабочей станции, к исследованию другого типичного применения Linux: в качестве операционной системы рабочей станции или сервера в локальной вычислительной сети (ЛВС).
Linux играет все более важную роль в небольшом офисе (SOHO), обеспечивая поддержку корпоративных сетевых решений, используя часть от стоимости коммерческих решений под управлением Unix.
Операционная система Linux легко настраивается для работы с большинством ЛВС. Система имеет широкий спектр инструментов, включая Web-серверы, почтовые серверы, серверы новостей и другие неотъемлемые компоненты Intranet.
Если система подключена к локальной сети на протяжении процесса инсталляции, то инсталлировать Red Hat Linux 7.1 можно с источника, находящегося на сервере сети. Далее рассмотрены примеры инсталляции с NFS, инсталляции с FTP и даже с Web (HTTP) сервера.
Для инсталляции по сети необходим загрузочный диск, отличный от того, который использовался в гл. 4. Такой загрузочный диск создается с помощью файла образа диска bootnet. img в каталоге images Red Hat Linux 7.1 CD-ROM. Создание загрузочного диска с Linux CD-ROM описано в гл. З. Загрузив компьютер с диска bootnet. img, вы попадаете в диалоговое окно, отличное от описанного выше (см. рис. 27.2).
Рис. 27.2.
Установка по сети
Другие дистрибутивы Linux хранят аналогичные дисковые образы на установочных дисках CD-ROM. Некоторые дистрибутивы Linux даже не требуют такого загрузочного диска; сетевая инсталляция у них считается одним из вариантов инсталляции, выбираемым после загрузки с дистрибутива CD-ROM.
Как альтернативный способ, можно запускать процесс инсталляции Linux с FTP-сервера. При использовании этой возможности имеется два выбора.
Инсталляция с FTP-сервера локальной сети.
Инсталляция с Red Hat FTP-сервера Internet. (Этот способ может оказаться крайне медленным, если отсутствует высокоскоростное выделенное соединение с Internet).
Если вы хотите выполнять FTP-инсталляцию, следует выбрать опцию FTP в окне, показанном на рис. 27.2. Затем следует задать ваш сетевой адрес, как описано выше. Эту операцию можно автоматизировать, если в вашей сети есть DHCP-сервер.
Когда сеть сконфигурирована, будет выведено окно FTP Setup, показанное на рис. 27.4. В этом окне следует ввести три порции информации.
FTP Site Name (Имя FTP-узла)—
имя FTP-сервера, который планируется использовать. Если инсталляция проводится с Red Hat FTP-сервера, введите
ftp
,
reflhat, com.
Red Hat Directory (Red Hat каталог)
- каталог FTP-сервера, в котором находятся исходные файлы Red Hat. Чтобы инсталлировать Red Hat Linux 7.1 с FTP-сервера, хранящею инсталляционные файлы в каталоге /pub/mirrors/redhat/i386/RedHat, укажите /pub/mirrors/redhat/1386, (Обратите внимание, что завершающее имя "RedHat" опущено).
Use Non-Anonymous FTP or Proxy (Использовать неанонимный FTP-доступ или Proxy).
Данную опцию следует выбрать, если необходимо использовать пароль для входа на
выбранный FTP-Сервер. Выбрав эту опцию, вам придется вести имя и пароль, используемые для неанонимного доступа к РТР-серверу.
Рис. 27.4.
Установка о РТР-сервера
Образы дисков в сети Unix/Linux, как правило, находятся на сервере NFS (Network File System -Сетевая файловая система), который используется для общих ресурсов в операционных системах Unix и Linux.
Если установочные файлы CD-ROM Red Hat Linux 7.1 доступны с сервера NFS сети, можно использовать загрузочный инсталляционный диск, чтобы инсталлировать с этого источника.
Для выполнения инсталляции с NFS-сервера, необходимо указать сетевой адрес, как описано ранее. Эту операцию можно автоматизировать, если в вашей сети есть DHCP-сервер.
Если ваш компьютер конфигурируется для работы в вашей сети, необходимо идентифицировать NFS-сервер, хрзнящий инсталляционные файлы Linux, которые нужны для установки.
Соответствующее диалоговое окно Red Hat Linux 7.1 показано на рис. 27.3. В нем необходимо вести два параметра: IP-адрес (или имя хоста) NFS-сервера и путь к каталогу, хранящему инсталляционные файлы Red Hat Linux 7.1.
Рис. 27.3.
Установка с NFS-сервера
Например, если CD-ROM Red Hat Linux 7.1 монтирован на сервере NFS в /mnt/cdrom и IP-адрес сервера NFS 10.10.10.1, необходимо ввести 10.10.10 .1 как имя сервера NFS и /mnt/cdrom как каталог Red Hat.
Далее процедура инсталляции аналогична инсталляции с локального устройства CD-ROM.
Некоторые прокси-серверы ire разрешают доступ к FTP, но допускают обращение к Web-серверам, используя HTTP. Некоторые пользователи считают, что процедура загрузки необходимой для установки Linux информации с Web-сервера значительно проще.
Примечание
Если у вас нет быстрого выделенного подключения к Internet, лучше не пытаться выполнить инсталляцию с HTTP-сервера Internet. Такая инсталляция может занять несколько дней Любое прерывание процедуры может потребовать повторного запуска всей инсталляции с самого начала.
Чтобы выполнить HTTP-инсталляцию, следует выбрать опцию HTTP в диалоговом окне, показанном на рис. 27.2. Затем следует задать ваш сетевой адрес, как описано выше. Эту операцию можно автоматизировать, если в вашей сети есть DHCP-сервер.
Далее появляется диалоговое окно установки HTTP Setup, показанное на рис. 27.5. В этом окне следует задать адрес сайта, с которого вы собираетесь загрузить инсталляционные файлы Linux и соответствующий каталог.
Например, пусть инсталляционные файлы Red Hat Linux 7.1 расположены на HTTP-сервере в каталоге /pub/mirrors/redhat/i386/RedHat. Предположим также, что HTTP-сервер имеет имя www. redhafc. com. В этом случае необходимо ввести www. redhat. com в качестве имени сайта в поле Web Site Name и /pub/mirrors/redhat/i386 в качестве имени каталога в поле Red Hat Directory.
Далее процесс инсталляции не отличается от инсталляции с локального дистрибутива CD-ROM.
Рис. 27.5.
Установка с Web-сервера
В процессе инсталляции Linux предоставляется возможность конфигурировать поддержку ЛВС для системы Linux. В гл. 28 показано, как настроить существующую систему Linux для работы в сети, но выполнить такую настройку совсем просто еще при инсталляции.
Для конфигурирования и эксплуатации ЛВС на вашем компьютере должен быть установлен сетевой адаптер еще до установки Linux. Это важно, поскольку инсталляционная программа будет пытаться установить контакт с адаптером в ходе конфигурирования сети.
Табл. 27.1.
Предлагаемые пакеты для различных типов сетевых инсталляций
Тип системы |
Пакеты для инсталляции |
||
Сетевая рабочая станция |
Mail/WWW/News tools Networked workstation NFS server (для соединения с другими Unix/Linux-компьютерами в вашей сети) SMB (Samba) connectivity (для соединения с Windows-компьютерами в вашей сети) |
||
Сетевая управляющая рабочая станция Сервер сети |
Все для сетевой рабочей станции плюс: IPX/NetWare connectivity (если вы подсоединяетесь к сети Novell или сети, использующей протоколы Novell) Network management workstation Все для сетевой рабочей станции плюс: |
||
Anonymous FTP/Gopher server |
|||
Print server (предполагается, что принтер подключен к даннрму компьютеру) |
|||
News server (если необходимо реализовать рассылку новостей в вашей сети) |
|||
Web server (если необходимо обслуживать Web-страницы с этого компьютера) |
|||
ApacheDNS nameserver (если в вашей сети более десяти компьютеров) |
|||
PostgreSQL server (если необходима поддержка базы данных в вашей сети) |
|||
Возможность конфигурировать сетевое окружение имеется всегда, независимо от того, какой носитель выбран для инсталляции (CD-ROM, раздел жесткого диска или сетевой диск). Обычно выбирается опция конфигурирования сети после инсталляции файлов Linux. В гл. 4 мы рекомендовали не настраивать поддержку локальной сети при инсталляции системы. В Red Hat Linux 7.1 вы можете сконфигурировать подключение вашего компьютера к ЛВС в ходе инсталляции. Если инсталлятор распознал сетевую карту, на экране появится окно, показанное на рис.
21 Л.
Примечание
Большая часть инсрормации, необходимой при конфигурировании сети, приведена в гл. 21 и 28. В этих главах можно найти определения таких терминов, как IP-адрес, маска сети и сервер имен.
В окне, изображенном на рис. 27.1, видны три области, соответствующие трем базовым шагам конфигурирования компьютера в ЛВС Linux. Рассмотрим их подробнее.
При конфигурировании настроек сети вручную необходимо работать с двумя.группами параметров. Во-первых, необходимо установить базовый контакт между вашим компьютером и другими компьютерами сети. Затем можно установить связь между вашим компьютером и внешними сетями.
Первая часть процедуры ручного конфигурирования сети сводится к заданию IP-адреса. Но сам по себе IР-адрес не достаточен для построения конфигурации; необходим также сетевой адрес и сетевая маска для идентификации вашей сети компьютерами, расположенными вне вашей сети.
Чтобы дать возможность вашему компьютеру распознавать другие компьютеры вашей сети, также необходим широковещательный IP-адрес. На рис. 27.1 соответствующие опции называются так:
IP address (IP-адрес).
IP-адрес представляет собой четыре числа отО до 255, разделенных точками, например, 192.168.0.223.
Netmask (Маска сети).
Маска сети представляет собой специальный IP-адрес, который обычно (но не всегда) включает числа 255 на отдельных позициях, например, 255.255.255.0.
Network (Сетевой адрес).
Сетевой адрес задает, как компьютеры из других сетей при под
ключении определяют вашу сеть. Поскольку сетевой адрес может быть определен по IP-адресу и сетевой маске, инсталлятор Linux способен заполнить это поле автоматически.
Broadcast (Широковещательный адрес).
Это IP-адрес, используемый для рассылки сообщения всем компьютерам данной сети. Как и сетевой адрес, широковещательный адрес также может быть определен по IP-адресу и сетевой маске, и инсталлятор Linux способен заполнить это поле автоматически.
Если не имеется точной информации, уточните ее у администратора сети или провайдера ISP. Следует позаботиться о том, чтобы назначаемые IP-адреса не совпадали с уже использованными для другого компьютера. Более подробные сведения об IP-адресации приведены в гл. 21 (особенно см. раздел, касающийся IP version 4 (IPv4)).
Для любого соединения локальной сети с Internet необходима информация о шлюзе по умолчанию и первичном сервере имен. Для изолированных сетей эти данные необязательны, и поля могут остаться пустыми (если администратор сети не возражает).
Во второй группе (см. рис. 27.1) данных указывают дополнительную информацию по конфигурации сети:
Hostname (Имя хост-машины).
Это полное имя вашего компьютера в сети. Так, если вы устанавливаете сеть mommabears.com, компьютеры в вашей сети могут иметь имена linuxl. monv mabears . com и windows 1 .mommabears . com. Если домена у вас нет, то в ходе инсталляции вполне достаточно в приведенном примере задать имена linuxl и windows 1.
Примечание
Некоторые дистрибутивы Linux также запрашивают имя домена в ходе инсталляции. В качестве примеров таких имен можно привести Sybex.com, linux.net и mommabears.com. Не используйте стандартное имя домена, если вы не являетесь его владельцем.
Gateway (Шлюз).
IP-адрес шлюза - это адрес компьютера вашей сети, который также подключен к другой сети. Если ваша сеть не подключена ни к какой другой (включая Internet), этот адрес можно не указывать.
Primary DNS (Первичный сервер имен).
Сервер службы имен Domain Name Service (DNS) хранит базу данных, устанавливающую соответствие имен доменов (например, momma-bears.com) IP-адресам (например, 192.168.55.33). Если в вашей сети есть DNS-сервер, введите в это поле его IP-адрес. А если ваша сеть подсоединена к Internet, можно ввести в это поле адрес DNS-сервера вашего ISP-провайдера.
Secondary and Ternary DNS (Вторичные и третичные серверы имен).
Многие сети и системы, имеющие выход в Internet, используют более одного сервера имен для обеспечения надежности их системы доменных имен. Если используется два или три сервера имен, введите IP-адреса второго и третьего серверов в оставшиеся два поля.
Примечание
DNS-серверы в Linux часто называют
серверами имен.
После завершения работы с данными окнами можно считать, что сеть инсталлирована и сконфигурирована. Перезагрузив систему, проверьте корректность настроек при работе в ЛВС.
Большинство современных Linux-дистрибутивов, включая Red Hat Linux 7.1, распознает практически любые сетевые платы. Когда Linux распознает сетевую карту, он назначает ей имя, в данном случае, eth0. Рис. 27.1 демонстрирует одну сетевую плату. Если у вас их больше, то в окне будет более одной вкладки, с именами, наподобие eth1, eth2 и т.д.
Рис. 27.1.
Конфигурирование ЛВС в ходе инсталляции Linux
Выбор программного обеспечения, устанавливаемого на сетевую систему под управлением Linux, играет важную роль при конфигурировании сети.
Если невозможно установить полный комплект программного обеспечения Red Hat Linux 7.1 на компьютер (см. гл. 4), следует внимательно ознакомиться с основными принципами выбора пакетов для инсталляции, приведенными в табл. 27.1.
Перечисленные для каждого типа системы пакеты не являются обязательными; например, нет необходимости устанавливать серверный пакет NFS, если это единственный Unix/Linux-компьютер в вашей сети. На практике пакеты сторонних изготовителей могут создавать дыры в системе защиты; например, если вы установили NFS, но не используете, посторонний пользователь может попытаться проникнуть в вашу систему через NFS.
Доступ к удаленным файлам и каталогам выполняется с помощью команды mount. $ mount
remote-directory-name local-directory
Удаленный каталог remote-directory-name указывается как
hostname: /directory-name,
a
local-directory-
это существующий каталог, желательно пустой, через который осуществляется доступ к удаленному каталогу.
Рассмотрим пример. Предположим, пользователю необходимо обратиться к каталогу / test /dir на компьютере fоо. bаr в локальной сети; каталог доступен для удаленного монтирования через NFS. На компьютере пользователя есть пустой каталог / fоо, который станет точкой монтирования для удаленного каталога.
Для определения этого каталога используется команда mount.
$ mount foo.bar:/test/dir /foo
Эта команда указывает монтировать каталог /test/dir на компьютере foo.bar в локальный каталог / foo. После выполнения этой команды пользователь может обращаться к файлам и подкаталогам удаленного каталога в соответствии с назначенными файлам правами доступа. Распечатка содержимого каталога / foo - это список содержимого каталога / test/dir на компьютере
foo.bar.
Предупреждение
Существует одно неудобство в системе NFS. На локальной системе пользователь root имеет абсолютные права на открытие, чтение или удаление файла в любом месте файловой системы, независимо от того, кто создал или кто является владельцем файла. Но в монтированном удаленном каталоге пользователь root имеет серьезные ограничения при работе с моделью NFS: он может осуществлять доступ лишь к тем файлам и каталогам, для которых ему предоставлены явные права.
Процесс инсталляции и настройки сетевой платы зависит от типа самой платы. В гл. 27 приведена информация, которая поможет вам выбрать и правильно сконфигурировать плату. После выбора платы (предполагается, что читатель выбрал плату класса Novell-equivalent 2000, обычно используемую по умолчанию для большинства "no name" Ethernet-плат) необходимо установить аппаратное обеспечение в соответствии с инструкциями по штате. После этого в некоторых случаях нужно перезапустить компьютер и загрузить Linux (для загрузки драйвера). В ряде случаев Red Hat Linux 7.1 автоматически распознает, конфигурирует и устанавливает сетевую.плату. Чтобы определить, активна ли сетевая плата, перейдите в режим корневого пользователя и запустите команду /sbin/if conf ig. Если результат подобен следующему
eth0 Link encap:Ethernet HWaddr 00:50:56:85:00:23
inet addr:192.168.0.135 Beast:192.168.0.255
Mask:255.255.255.0 UP BROADCAST
RUNNING MULTICAST MTU:1500 Metric:!
RX packets:50 errors:0 dropped:0.
overruns:0 frame:0 TX packets:0
errors:0 dropped:0 overruns:0 carrier:0 collisions:0
txqueuelen:100 Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:!
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions :0 txgueuelen: 0
значит, Linux имеет одну сетевую Ethernet-плату (ethO) и петлю обратной связи (1о). которые корректно установлены. В остальной части главы приведены сведения об инструментарии, который поможет вам управлять сетевой платой.
Если вы установили сетевую плату, но сведения о ethO на экран не выведены, значит Linux не распознал сетевую плату. Кроме того, если у вас не одна сетевая плата, а сведения выведены только о eth0, значит Linux не распознал остальные платы. Ниже в этой главе описано, как установить и сконфигурировать сетевые платы.
Примечание
Мы предполагаем, что используется сетевая Ethernet-плата. Другие сетевые платы обозначаются иначе, например, первая ARCNet-плата будет обозначена агсо.
Теперь сетевое соединение полностью работоспособно. Однако вводить все перечисленные выше команды каждый раз при запуске системы Linux - занятие для трудолюбивых пользователей.
К счастью, все необходимые команды if conf ig и route можно поместить в один системный сценарий, выполняемый при запуске системы, например /etc/re . d/rc . local. В нашем примере можно добавить в файл re. local следующие строки:
/sbin/ifconfig ethO 100.100.100.10 netmask 255.255.255.0 up
/sbin/ifconfig lo 127.0.0.1 up
/sbin/route add -host 127.0.0.1 lo
/sbin/route add -net 100.100.100.0 netmask 255.255.255.0 eth0
/sbin/route add default gw 100.100.100.1 eth0
Подготовка и конфигурирование сети
Тестирование сети
Ручное конфигурирование сети
Совместное использование файлов в сети Unix
Основы безопасности в сети
В гл. 27 мы описали процесс инсталляции Linux и подключение компьютера, работающего под управлением Linux, к сети TCP/IP Ethernet в процессе инсталляции. Мы также рассмотрели основные этапы конфигурирования сетевой платы во время инсталляции Linux.
В этой главе рассмотрено, как конфигурировать уже инсталлированную систему Linux для работы в сети Linux. Мы изучим процесс подготовки персонального компьютера к работе в сети, конфигурирование и тестирование сети.
Примечание
Сеть Ethernet, более корректно обозначаемая как сеть стандартов IEEE 802.2 и 802.3, это только один из наиболее популярных представителей огромного мира сетевых технологий. Можно сконфигурировать Linux для работы с другими сетевыми стандартами, включая Token Ring, ARCNet, Fast Ethernet, Gigabit Ethernet, и Asynchronous Transfer Mode (ATM). Несмотря на различия между ними, процедура инсталляции практически одна и та же, если выполнять установку из командной строки. Дополнительная информация (в особенности о различных Ethernet-опциях и об ATM) доступна во втором разделе документа Ethernet-HOWTO, расположенного ПО адресу
http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO-2.html
.
Эта глава ориентирована на использование традиционных сетевых команд ядра Linux 2.2.x, доступных также и в Red Hat Linux 7.1. В ядре Linux 2.4 предусмотрен ряд новых сетевых команд. Дополнительные сведения по этому вопросу приведены в документе Linux 2.4 Networking HOWTO, расположенном по адресу http: //www. ds9a.nl/2.4Networking/HOWTO//cvs/ 2.4routing/output/2.4networking.html.
Часто используемые удаленные каталоги (если таковые существуют) удобно монтировать автоматически при начальной загрузке. Для этого используется программа LinuxConf, которая запускаегся с помощью команды linuxconf-auth. После запуска программы следует выбрать Config (Конфигурация), File Systems (Файловые системы), Access NFS Volume (Доступ к NFS-тому) в списке окон конфигурации. Это окно содержит список текущих точек монтирования NFS, если они существуют. Щелчок на кнопке Add (Добавить) отобразит окно NFS Volume Specification (Спецификация NFS-тома), показанное на рис. 28.13.
Рис. 28.13.
Диалоговое окно NFS Volume Specification
Для реализации описанного примера введите laptop7lB поле Server (Сервер), /home/mj в поле Volume (Том) и /home/mj/testl в поле Mount Point (Точка монтирования). Если монтирование должно происходить автоматически при начальной загрузке, то выберите вкладку Options (Параметры) и убедитесь, что опция Not Mount at Boot Time (He монтировать при загрузке) не установлена. Для завершения конфигурирования автоматического монтирования щелкните на кнопке Accept (Принять).
Эта процедура добавит следующую запись в файл /etc/ f stab.
laptopVl:/home/mj /home/mj/testl nfs exec,dev, ro 1 1
Можно вручную создавать автоматические точки монтирования во время начальной загрузки. Для этого в любом текстовом редакторе добавьте подобную запись в файл /etc/ f stab.
В первую очередь активизируйте тот сетевой интерфейс, который будет использоваться. Если будет активизироваться eth0 как IP-адрес 100.100.100.10, то следует использовать команду
ifconfig.
$ ifconfig ethO 100.100.100.10 netmask 255.255.255.0 up
Эта команда указывает системе назначить IP-адрес 100.100.100.10 и маску сети 255.255.255.0 устройству eth0, после чего аргумент up активизирует интерфейс.
Для проверки успешной активизации интерфейса используется команда /sbin/ifconfig без параметров и аргументов. Она выводит на экран список доступных интерфейсов.
ethO Link encap: Ethernet HWaddr 00:CO:FO:OD:76:5A
inet addr:100.100.100.10 Beast:100.100.100.255
->Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11239889 errors:0 dropped:0 overruns:0
TX packets:16384520 errors:3 dropped:0 overruns:0
Interrupt:9 Base address:0x300
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:2142848 errors:0 dropped:0 overruns:0
TX packets:2142848 errors:0 dropped:0 overruns:0
collisions:0 txgueuelen:0
Этот список обычно содержит устройство обратной связи (устройство 1о) плюс все доступные сетевые устройства. В нашем случае в списке содержится устройство eth0. Red Hat конфигурирует устройство обратной связи во время начальной загрузки.
Чтобы сохранить устойчивость работы системы, необходимо отконфигурированное устройство локальной обратной связи. Если lо не установлено, то для его конфигурирования используется следующая команда if conf ig.
$ ifconfig lo 127.0.0.1 up
Теоретически можно использовать сервер имен DNS для поиска любого имени, включая имена хостов в локальной сети, но в действительности это чрезвычайно неэффективно. Вариант, альтернативный использованию сервера имен, - поиск имен компьютеров в относительно небольших сетях с использованием локальных файлов хостов, поддерживающих поисковые таблицы.
Локальный файл хостов находится на компьютере пользователя и содержит список соответствия IP-адресов и имен компьютеров. Для доступа к файлу локальных хостов необходимо отредактировать файл /etc/host. conf в текстовом редакторе. Этот файл сообщает системе Linux как осуществлять поиск имен. Чтобы файл локальных хостов был доступен, host. conf должен содержать следующие две строки:
order hosts,
bind multi on
Первая строка сообщает, что когда осуществляется поиск имени, следует проверить файл локальных хостов (hosts), а затем - DNS (bind заменяет Berkeley Internet Name Daemon), следуя инструкциям в файле /etc/resolv. conf.
Затем необходимо открыть файл локальных хостов /etc/hosts. Этот файл также можно редактировать в любом текстовом редакторе. Для каждого хост-компьютера следует создать запись (в одну строку), которая должна иметь следующую форму:
IР_адрес ИмяХоста Псевдоним Псевдоним Псевдоним ...
Между разделами в строке (IP-адрес, ИмяХоста и Псевдоним) должен быть хотя бы один пробел. Строки комментариев начинаются со знака диеза (#) и могут использоваться для структурирования и пояснения записей в больших файлах хостов.
Рассмотрим пример. Следующие четыре записи взяты из файла хостов.
194.148.43.194 servl.landegg.edu
194.148.43.195 apps.landegg.edu apps
194.148.43.196 serv3.landegg.edu serv3
www.landegg.edu 194.148143.215
officel5.landegg.edu office15
Обратите внимание: все строки начинаются с IP-адреса, затем указано имя хоста и псевдонимы для хоста. Псевдонимы не обязательны. Заметим, что для многих компьютеров псевдонимы -это короткая форма имени хоста без полного доменного имени. В таком случае можно обращаться к компьютерам в локальной сети без указания полного имени хоста с доменным именем. Например, к компьютеру с именем apps . landegg.edu можно обратиться как к apps, а к компьютеру с именем officelS . landegg. edu - как к office15.
Заключительный этап - настройка необходимых маршрутов, которые позволяют передавать информацию по сети и всему миру. В первую очередь, для каждого интерфейса необходима маршрутизирующая запись, которая сообщает Linux, какая сеть соединена с этим интерфейсом. Также необходима запись, определяющая шлюз по умолчанию, если сеть соединена через шлюз с другими нелокальными сетями.
Начнем с устройства обратной связи. Команда route используется для указания того, что к локальному компьютеру обращаются через устройство обратной связи.
$ /sbin/route add -host 127.0.0.1 lo
Эта команда указывает, что хост 127.0.0.1 (локальный компьютер) доступен через устройство 1о. Рассмотрим устройство eth0, упоминавшееся ранее в параграфе. Это устройство подключает персональный компьютер к сети с сетевым адресом 100.100.100.0 и маской сети
255.255.255.0. Чтобы Linux передавал всю информацию для локальной сети через интерфейс eth0, используется команда route.
$ /sbin/route add -net 100.100.100.0 netmask 255.255.255.0 eth
0
Следует еще раз использовать команду route, чтобы определить шлюз по умолчанию, который можно использовать для доступа к удаленным сетям. Если этот шлюз — компьютер с IP-адресом
100.100.100.1, то используется следующая команда.
$ /sbin/route add default gw 100.100.100.1 eth0
Эта команда указывает, что шлюзом по умолчанию (gw) является адрес 100.100.100.1 и к нему можно обращаться при отправке информации, предназначенной для передачи "наружу", через интерфейс eth0.
Осталось проверить все записи маршрутизации с помощью команды route без параметров и аргументов. Эта команда возвращает таблица маршрутизации, подобную следующей:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
100.100.100.0 * 255.255.255.0 U 0 0 317 eth0
127.0.0.1 * 255.0.0.0 U 0 0 6 lo
default 100.100.100.1 0 UG 0 0 2605 eth0
Следующий этап - настройка сервера имен. Настройка сервера имен осуществляется редактированием файла /etc/resolv. conf в любом текстовом редакторе. Этот файл содержит всю необходимую системную информацию для поиска адресов имен хост-компьютеров.
В файле resolv. conf содержится как минимум две строки.
domain landegg.edu nameserver 194.148.43.194
В строке domain указано доменное имя локальной системы. Если.компьютер находится в сети, доменное имя которой - foo.bar, то эта строка будет содержать: domain fob.bar. Вторая строка определяет IP-адрес первичного сервера имен. Это может быть компьютер в локальной сети, сервер провайдера услуг Internet (ISP) или общедоступный сервер имен Internet. Эту информацию предоставляет администратор сети.
Многие сайты используют несколько серверов имен. Если один из них по каким-то причинам недоступен, пользователи могут провести поиск имен, используя альтернативный сервер. Чтобы указать несколько серверов имен, в файл resolv.conf включается нужное количество соответствующих строк.
domain landegg.edu nameserver 194.148.43.194
nameserver 194.148.43.196
nameserver 194.148.8.10
nameserver 194.148.1.10
В такой ситуации первый в списке сервер пытается найти имя. Если эта попытка не удается, то Linux перейдет ко второму компьютеру в списке и так далее. Если все перечисленные серверы имен не могут ответить на запрос, Linux сообщает о неудачном завершении попытки поиска имени.
Вопросы безопасности весьма актуальны при соединении с сетью и доступе к ее ресурсам многих пользователей. К счастью, в Linux существует механизм, позволяющий контролировать, какие компьютеры в сети пытаются соединиться для получения услуг конкретной системы Linux.
Этот базисный механизм безопасности обеспечивается двумя файлами: /etc/hosts . allow и /etc/hosts. deny. Они являются лишь звеном в цепи безопасности, которая состоит из трех звеньев.
Разрешение доступа для любой комбинации демон-клиент в hosts . allow.
Отказ в доступе для любой комбинации демон-клиент в ho s t s . deny.
Предоставление доступа кому угодно.
По умолчанию записи в hosts. allow и в hosts. deny отсутствуют, то есть по умолчанию любой пользователь может установить соединение с системой. Конечно, это не запрещает индивидуальным сервисам, например Telnet и FTP, требовать дальнейшей аутентификации. Это также не исключает те начальные попытки соединения, которыми начинаются многие хакерские атаки через неизвестные системы.
Создать записи для hosts. allow и hosts . deny просто.
Список_демонов Список_клиентов
Любая запись, подобная этой, указывает, какие демоны сети (f tpd, in. telnetd, in. rshd) могут разрешить соединение с конкретным хост-компьютером (в файле hosts .allow) или отказать в установлении соединения с каким-то хост-компьютером (в hosts . deny). В списке может быть указан любой демон сети. Например, запись
ftp: host1
в файле hosts. allow позволяет установить входное FTP-соединение с указанным компьютером hostl по его инициативе.
Несколько специальных ключевых слов облегчают задачу, исключая необходимость в поимен-.ном списке всех демонов и клиентов. Ключевое слово ALL может соответствовать любому клиенту или любому демону. Например, запись
ALL: ALL
в файле hosts. allow позволяет осуществить любой тип доступа любому клиенту, в то время как аналогичная запись в hosts . deny запрещает все возможные соединения.
Ключевое слово EXCEPT указывает исключения в сети, в которой разрешены все возможные соединения с помощью ключевого слова ALL. Например, запись
Существует две важных задачи, которые необходимо решить до начала работы в сети.
Инсталляция и настройка сетевой платы.
Установка параметров TCP/IP.
В главе рассмотрены возможности конфигурирования операционной системы Linux после ее инсталляции. Изложенный материал может использоваться при подключении к сети новых персональных компьютеров или для изменения текущей конфигурации компьютеров, уже работающих в сети.
Проверка конфигурации - не самая простая задача. Пока в сети не выполнена работа, описанная в следующем параграфе, определить, корректно ли сконфигурирована плата Ethernet, невозможно. Но можно вручную проверить загрузку модуля командой insmod, чтобы установить загружаемый модуль ядра.
Пользователь root в командной строке консоли или в окне xterm должен изменить текущий каталог на следующий:
$ cd /lib/modules/2.4.2-2/kernel/drivers/net/
Эта команда предполагает, что Red Hat Linux 7.1 инсталлирован с дистрибутива, прилагаемого к книге, и обновление ядра не проводилось. Тогда версия ядра будет 2.4.2-2 - как и отражено в наименовании каталога.
В указанном каталоге загрузите желаемый модуль (в нашем случае - для серии плат Novell) командой insmod.
$ insmod ne.o
Обратите внимание: имя файла этого модуля имеет расширение . о.
При правильном конфигурировании загружается драйвер платы и генерирует ряд сообщений. Эти сообщения для драйвера платы Зс59х будут примерно следующими:
3c59x.c:v0.46C 10/14/97 Donald Becker
http://eesdis.gsfc.nasa.gov/linux/drivers/vortex.html
loading device 'ethO
etho: 3Com 3c905 Boomerang 100baseTx at 0x1440,
00:60:08:71:ad:8c, IRQ 111 8k word-wide RAM 3:5 Rx:Tx split,
autoselect/MII interface.
eth0: MII transceiver found at address 24.
eth0: Overriding PCI latency timer (CFLT) setting of 64, new value is 248.
Но они могут быть и совсем простыми:
Using /lib/modules/2.4.2-2/kernel/drivers/net/pcnet32.о
Если ошибки не появились, значит модуль успешно загружен и плата правильно сконфигурирована. В случае выявления проблем конфигурирования обратитесь к Ethernet HOWTO на странице
http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html
.
В параграфе описана последовательность действий, выполняемых для конфигурирования сети. При этом предполагается, что модуль платы Ethernet загружен. .
Теперь, когда система Linux может работать совместно с другими компьютерами в локальной сети TCP/IP, рассмотрим одну из основных задач, возникающих при работе в сети: совместное использование файлов. В мире Unix и Linux эта задача обычно решается с использованием NFS (Network File System - Сетевая файловая система).
Совместное использование файлов имеет два аспекта.
Доступ к разделяемым каталогам и файлам на других хост-компьютерах в сети;
Совместное использование файлов и каталогов на вашем персональном компьютере другими пользователями сети.
Прежде чем другие пользователи смогут получить доступ к вашим файлам/каталогам, вы должны сделать эти каталоги доступными для совместного использования в сети. Экспорт каталогов с NFS предполагает использование двух демонов, /usr/sbin/rpc .nfsd и /usr/sbin/rpc .mountd, и одного файла конфигурации /etc/exports. Файлы rpc.mountd и rрс. nfsd устанавливаются на большинстве систем. Если эти файлы отсутствуют, установите их из RPM-файла nf s-utils-0.3.1-5.1386. rpm прилагаемого компакт-диска.
NFS и брандмауэры
Если в ходе установки Red Hat Linux 7.1 вы установили брандмауэр по умолчанию, он заблокирует совместное использование каталогов в NFS. Если ваш компьютер входит в локальную сеть и не имеет выходов в другие сети, можно отключить брандмауэр на нем. Брандмауэр действительно необходим только на компьютере, имеющем выход во внешние сети (например, на компьютере, играющем роль шлюза).
Большинство брандмауэров Linux отключается либо командой /etc/re, d/init.d/ipchains stop либо командой /etc/re .d/init. d/iptables stop. Но такое отключение действует только до следующей перезагрузки. Совсем отключить брандмауэр можно с помощью меню ntsysv. Выполните команду /usr/sbin/ntsysv. Как только возникнет меню Services (Сервисы), сбросьте флажки сервисов ipchains и iptables, как показано на следующей иллюстрации.
Если каталог, который вы хотите разрешить для совместного использования, расположен На компьютере-шлюзе, подключенном к вашему компьютеру и Интернету, то брандмауэр необходим. Даже работая с брандмауэром, лучше не использовать NFS из соображений безопасности. Но если вам все-таки необходимо использовать NFS для предоставления доступа к каталогам на компьютере-шлюзе, воспользуйтесь утилитой конфигурирования брандмауэра, описанной в гл. 31, чтобы открыть порты 111 и 2049. Таким образом будут открыты каналы, необходимые для Network File System.
Первый шаг к совместному использованию каталога в сети - редактирование файла /etc/ exports в текстовом редакторе и добавление по одной записи для каждого каталога, который вы планируете использовать совместно. Запись должна быть следующей.
/каталог хост (параметры)
Ниже приведен пример типичного файла /etc/exports.
# sample /etc/exports file
/ master(rw). trusty(rw,no_root_squash)
/projects proj* . local ..domain (rw)
/usr *.local.domain(ro)
/home/joe pcOOl(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_sguash)
/pub/private (noaccess)
Рассмотрим этот файл построчно.
Строка 1.
Строка комментариев, обозначенная знаком диеза (#), игнорируется.
Строка
2. Двум компьютерам даны различные уровни доступа к каталогу /: master - с правом чтения и записи (опция rw), trusty - с правом чтения и записи и правом полного доступа ко всем файлам и подкаталогам для пользователя root (опция no_root_squash). Пользователь root компьютера trusty имеет те же права, что и пользователь root локальной системы.
Строка 3.
Любому хост-компьютеру, имя которого начинается с символов proj и который является частью домена local. domain, предоставляются права чтения и записи в каталоге /projects.
Строка 4.
Любому хост-компьютеру в домене local. domain предоставляется право на чтение (опция го) каталога /usr.
Строка 5.
Хост-компьютер рс 0 01 получает права на чтение и запись в каталог / home / j oe. Все пользователи, использующие эту точку монтирования с компьютера pc001, считаются анонимными пользователями (опция all_squash) с ID пользователя 150 и ID группы 150 (опции anonuid=150 и anongid=150).
Строка 6.
Всем хост-компьютерам предоставлено право доступа к каталогу /pub. Все пользователи считаются анонимными и получают право чтения. Опция insecure позволяет клиентам, которые не используют зарезервированный порт ТСР/IР для NFS, осуществлять доступ к этой точке монтирования.
Строка 7.
Всем хост-компьютерам запрещен доступ к каталогу /pub/private (опция noaccess).
С другими опциями для файла /etc/exports можно ознакомиться в руководстве, используя команду
$ man exports
Если каталог для экспорта определен как /etc/exports, необходимо перезапустить процессы rpc. nf sd и rpc . mountd (обычно они выполняются во время начальной загрузки). Сначала используется команда ps для проверки ID каждого процесса.
$ ре aux | grep rpc.nfsd
root 15-03 0.2 0.8 872 508 ? S 22:25 0:00 /usr/sbin/rpc.nfsd
$ ps aux | grep rpc.mountd
root 1105 0 0.7 836 500 ? S 22:25 0:00 /usr/sbin/rpc.mountd
Затем следует уничтожить и перезапустить процессы.
$ kill 1103 1105; /usr/sbin/rpc.nfsd; /usr/sbin/rpc.mountd
Предупреждение
Выполните на вашем компьютере указанные выше команды ps aux. С учетом параметров вашего компьютера, числа, выдаваемые командами ps aux, должны отличаться от 1103 и 1105.
Теперь для доступа удаленных пользователей сети работают новые правила экспорта.
Совет
В некоторых дистрибутивах Linux для перезапуска rpc.nfsd и rpc. mountd необходимо перезапустить демон nfs. Например, в Red Hat Linux 7.1 следует выполнить команду /etc/re.d/init.d/nfs restart в режиме корневого пользователя.
Чтобы убедиться в работоспособности сетевого соединения, необходимо его протестировать. В первую очередь проверяется возможность передачи информации в сети. Для этого используется команда ping, которая позволяет отправить запрос на конкретный адрес для определения, есть ли по данному адресу в сети какой-нибудь работающий компьютер. Существует пять основных способов проверки сети с помощью ping; описываемые ниже команды следует выполнить в приведенном порядке.
Для начала, откроем окно команд и введем:
$ ping 127.0.0.1
Это обсуждавшийся ранее адрес петли обратной связи. Если программное обеспечение сети установлено правильно, вы увидите на экране поток сообщений наподобие следующего:
PING 127.0.0.1 (127.0.0.1) from 127.0.0.1 : 56(84)
bytes of data. 64 bytes from localhost.localdomain (127.0.0/1):
icmp_seq=0 ttl=255 time=164 usec
64 bytes from localhost.localdomain (127.0.0.1):
icmp_seq=l ttl=255
time=124 usec 64 bytes from localhost.localdomain (127.0.0.1):
icmp_seq=2 ttl=255
time=167 usec
Эти сообщения будут выводиться, пока вы не нажмете Ctrl+C. Если ничего не выводится, возможно, вам придется переустановить сеть, но эта тема выходит за пределы данной книги. Далее следует ввести команду:
$ ping ipaddress
где ipaddress представляет собой IP-адрес вашего компьютера. Подставьте во вводимую команду реальный IP-адрес вашего компьютера. Приведенные ниже результаты работы команды были получены на компьютере с IP-адресом 192.168.4.65.
PING 192.168.4.65 (192.168.4.65) from 192.168.4.65 :
56(84) bytes of data. 64 bytes from localhost.localdomain (192.168.4.65):
icmp_seq=0 ttl=255
time=169 usec 64 bytes from localhost.localdomain (192.168.4.65):
icmp_seq=l ttl=255
time=214 usec 64 bytes from localhost.localdomain (192.168.4.65):
icmp_seq=2 ttl=255
time=146 usec
He забудьте нажать Ctrl+C. Если данная команда отработала верно, значит вы корректно назначили IP-адрес вашей сетевой карте. Если ожидаемый результат не получен, проверьте раздел
Следующий этап - установка параметров TCP/IP при помощи утилиты конфигурирования сети. Чтобы его выполнить, откройте окно терминала, перейдите в режим корневого пользователя, и введите команду:
$ netcfg
В результате будет открыто окно конфигурирования сети, как показано на рис. 28.4.
Рис. 28.4.
Диалоговое окно конфигурирования сети Network Configurator
В этом окне следует задать системную информацию о сети, к которой присоединен компьютер. Это следующая информация.
Имя, домен и адрес компьютера и DNS-сервера.
Имена и адреса других компьютеров в сети.
Способ использования каждого поддерживаемого сетевого интерфейса.
Способ маршрутизации трафика.
Примечание
Если создается соединение с существующей сетью, большую часть необходимой информации можно получить у администратора сети. Если же планируется развернуть новую сеть, то вам будет полезно ознакомиться с основами работы в сетях TCP/IP и этапами проектирования сетей.
Неплохим источником сведений по этому вопросу является руководство Linux Network Administrator's Guide, доступное ПО адресу http : / /WWW. linuxdoc.org/LDP/nag2.
Установка имен
Первое действие - конфигурирование имени компьютера и сервера имен. Эта операция выполняется на панели Names (Имена), которая появляется по умолчанию при открытии диалогового окна конфигурирования сети. На рис. 28.4. показана именно эта панель. В панели Names необходимо ввести три основных параметра.
Полное имя компьютера:
имя компьютера плюс полное имя домена. Оно должно быть уникальным в сети
Домен,
в котором установлен компьютер. Например, если полное доменное имя вашего компьютера linuxl. Sybex. com, то имя домена сети Sybex. com. Доменное имя не является необходимым, в частности, для компьютеров в локальной сети, которые не являются Internet-серверами, например, Web-серверами.
Серверы имен:
список компьютеров (по одному в строке), обеспечивающих сервис доменных имен в сети. Сервис доменных имен позволяет осуществлять поиск во внутренних и внешних сетях (например, Internet) имен систем, не используемых во всех сетях. Если необходимо ввести список серверов имен, следует перечислить их IP-адреса. Работа сервера имен состоит в преобразовании доменных имен в IP-адреса. Система не сможет соединиться с сервером имен, если в списке серверов имен указаны доменные, а не IP-адреса.