Выделите себе сервер
Эмулятор mars_nwe
Плюсы и минусы эмуляции Netware
Электронная почта для DOS-клиентов
Защита для Windows 95
Выводы и заключительные замечания
Где взять?

Опыт, которым мы хотим поделиться, довольно специфичен: он относится к администрированию и развитию ЛВС в государственной средней школе. С другой стороны, многие проблемы, с которыми мы столкнулись, встают и перед другими небольшими организациями, а также малыми и средними фирмами. Поэтому надеемся, что наши решения пригодятся читателям.

Нам требовалось обеспечить, во-первых, надежную и эффективную работу ЛВС с рабочими станциями на базе IBM-совместимых ПК с ОС Windows 95 и MS-DOS (для которых имеется многочисленное ПО), а во-вторых, выход пользователей в Internet с любой из этих станций.

Специфика школы - частые хакерские атаки, а также множество слабо подготовленных пользователей - исключает использование одноранговой сети, например на базе Windows 95. Тем самым необходимо было организовать ЛВС с выделенным сервером, успешно взаимодействующую с Internet. Мы сделали это достаточно нестандартным способом: и службы Internet, и файл-сервер работают у нас на одной и той же ЭВМ под управлением ОС Linux.

Выделите себе сервер

Как справедливо указывается в статье Р. Кука (см. с. 38), пользователь Linux получает в свое распоряжение набор мощных сетевых программ, в частности Internet-серверы (в том числе один из лучших и популярнейших Web-серверов Apache) и брандмауэры, а вот массовых офисных программ для этой ОС явно недостаточно, и по совокупности потребительских качеств они уступают компонентам пакета Microsoft Office.

Разумеется, с ЭВМ под управлением Linux, используемой для размещения служб Internet, могут взаимодействовать ЛВС под управлением таких популярных сетевых ОС, как Novell Netware или Windows NT. ОС Linux может выступать как клиент серверов SMB (Windows for Workgroups, OS/2, Windows 95, Windows NT) поверх TCP/IP и сама быть сервером SMB (при этом Windows for Workgroups, Windows 95, Windows NT, но, увы, не DOS "видят" его как сервер Windows NT) и как клиент Novell Netware 3.1x (а CND - коммерческая версия Linux фирмы Caldera - и как клиент Novell Netware 4.x), а также выступать в качестве сервера, совместимого (конечно, лишь до определенной степени, о чем подробнее ниже) с Novell Netware 3.1x. В пакет Linux входит даже сервер AppleShare, так что машина с Linux может являться сервером (но, увы, не клиентом) в сети из компьютеров Macintosh.

Вместе с тем для небольшой организации с ограниченным бюджетом может оказаться затруднительным занять две мощные ЭВМ под выделенные серверы, а файловый сервер под управлением Linux можно установить на той же машине, что и Internet-сервер. Именно это у нас и сделано.

Эмулятор mars_nwe

В состав современных версий ОС Linux входит программа mars_nwe - эмулятор сервера Novell Netware. С точки зрения сетевых клиентов DOS/ Windows работа с ним, по крайней мере на первый взгляд, не отличается от работы под управлением Netware. Разумеется, эмулятор является свободно распространяемым.

Пока эмулятор несколько "сыроват" (по сравнению с устоявшимися и хорошо обкатанными версиями Netware), впрочем, для большинства компоненов Linux характерно быстрое "дозревание". В то же время администрирование системы выглядит совершенно по-другому, чем в Netware. Это связано с тем, что mars_nwe эмулирует только обращения клиента к файлам, но не саму файловую систему и базу пользователей Netware. Администрирование файлов и пользователей выполняется средствами Linux. Это имеет свои положительные и отрицательные стороны.

Плюсы и минусы эмуляции Netware

Начнем с недостатков. Сетевой администратор не найдет в Linux некоторых возможностей сети Netware, придающих ей особую гибкость. Например, отсутствует возможность независимо устанавливать права на создание, модификацию, запись и удаление файла (имеются единые права записи-модификации и создания-удаления). Это существенно (хотя и не фатальным образом) усложняет сетевую установку некоторых программ. Далее, пользователь лишен большинства утилит администрирования "своих" файлов: в mars_nwe нет аналога для права управления файлом Netware (Access Control или Supevisory) и соответственно отсутствуют команды изменения прав других пользователей на "свои" файлы. Добиться сходного эффекта из среды DOS/Windows под управлением эмулятора вообще никак нельзя - пользователь должен войти на Linux-машину (например, с помощью telnet-клиента для Windows или DOS) и изменить права на свои файлы при помощи команд Unix, что требует определенной квалификации. Наконец, гораздо сложнее организовать взаимодействие пользователей в рабочей группе с различными правами доступа к файлам.

Достоинства зачастую являются обратной стороной недостатков. Простота и "жесткость" системы прав повышают ее защищенность. А благодаря тому что Linux позволяет раздельно устанавливать права на файл для его создателя и других пользователей, появляется возможность создать каталог, который будет открыт для чтения и записи всем пользователям, но при этом удалять или модифицировать содержащиеся в нем файлы смогут только их создатели - в Netware этого сделать нельзя.

Очень существенно, что описания пользователей и групп (кроме паролей, естественно) хранятся в виде обычных текстовых файлов, а языки сценариев, предоставляемые командными оболочками Linux, неизмеримо мощнее языка командных файлов DOS. Ссылки Linux также являются более мощным и гибким средством организации файловой структуры, чем ярлыки Windows 95. Они позволяют создавать "проекции" истинной файловой структуры, видимые по-разному, скажем, одному и тому же пользователю с разных рабочих станций.

В итоге даже пользователи, имеющие опыт работы с клиентскими программами Netware, не замечают "умаления своих прав" и отнюдь не вынуждены "учить Unix". Дело в том, что, пользуясь перечисленными выше возможностями Linux, мы можем при регистрации в системе нового пользователя создавать для него такую структуру каталогов, файлов и предустановленных прав для них, которая заранее удовлетворяет большинство возможных запросов к администратору.

Права установлены следующим образом: подкаталог PRIVATE недоступен никому, кроме владельца и системного администратора (пользователя с именем root), подкаталоги FOR_ALL, HTTP и FTP доступны всем пользователям ЛВС для просмотра списка файлов и их чтения (каждый из них отображается в виде подкаталога DOS), содержимое HTTP доступно извне (через Internet) как http://www.sch57.msk.ru/~username, а содержимое FTP - как ftp://ftp.sch57.msk.ru/users/username (по анонимному FTP) или как http://www.sch57.msk.ru/~/username.

Электронная почта для DOS-клиентов

Использование файловой системы Linux помогло нам также решить ряд проблем, связанных с электронной почтой.

Почтовая система Linux тесно интегрирована с другими функциями ОС, устойчива, проста и надежно защищена. Пользователи ЛВС могут работать с ней несколькими способами. Во-первых, можно обращаться из стандартных почтовых программ для Windows 95 (например, Internet Mail или Netscape Messenger) к серверу POP3 или IMAP4, работающему на Linux-машине (соответствующие программы входят в стандартную поставку RedHat Linux); этот способ наиболее привычен для тех, чье приобщение к электронным коммуникациям происходило в последнее время на ПК, имеющих подключение к Internet по коммутируемой линии. Во-вторых, знатоки Unix, а также те, кто хочет изучать эту систему, могут воспользоваться клиентами telnet для DOS или Windows, превратить свой ПК в терминал Linux и работать со стандартными почтовыми командами Unix1.

Однако большинство наших пользователей предпочитают пользоваться почтовой программой для DOS - Demos Mail (DML) версии 2.07, и дело здесь не только в привычке. Современные версии DML сочетают весьма дружественный (хотя и не оконный) интерфейс и исключительную функциональную полноту. И все же это программа именно для DOS, а не для ЛВС, и ее использование в сети Novell Netware сопряжено с трудностями. Выделение пользователям прав, минимально необходимых для работы внешней транспортной программы и посылки локальной почты, приводит к полной беззащитности почты: вся вновь прибывшая или ожидающая отправки корреспонденция доступна всем пользователям, причем и для чтения, и для записи. Мы долгое время мирились с этим неудобством, и только перевод файлового сервера на Linux позволил решить проблему.

Ящик для входящих писем поддерживается стандартной почтовой системой Linux и полностью закрыт для других пользователей. Нет необходимости открывать его для пользователя, запускающего транспортную почтовую программу, так как эта программа (в нашем случае sendmail) представляет собой процесс, инициированный не обычным пользователем, а пользователем root при загрузке системы. Нет также необходимости открывать его для отправителей локальных писем: эти письма также проходят через sendmail (правда, по умолчанию DML пытается отправлять их самостоятельно, но ее несложно перенастроить). Отправляемые письма помещаются в отдельные файлы, принадлежащие отправителю, и специальная программа, просматривающая соответствующий подкаталог через небольшие промежутки времени, удаляет эти файлы, передавая содержащуюся в них информацию программе sendmail.

Таким образом, пользователи получают в свое распоряжение развитую почтовую систему Linux, сохраняя возможность пользоваться привычным дружественным интерфейсом почтовых программ для DOS и Windows.

Защита для Windows 95

Все или почти все, о чем говорится в этом разделе, не является специфичным для ЛВС на основе Linux, а точно так же применимо и к сетям на базе NT Server или Novell Netware. Однако проблемы надежности и защищенности Windows 95 настолько серьезны, что без их успешного решения не может идти речи об эффективной работе в сети с использованием клиентов под управлением этой ОС.

Из-за наличия в сети множества неквалифицированных пользователей (а также хакеров разного уровня) находящимися в безопасности можно считать только файлы, хранящиеся на сервере, при условии, что для них надлежащим образом установлены права доступа. Однако систему Windows 95, в отличие от Windows 3.xx или DOS, практически невозможно установить на сервер. Для работы с мало-мальски приемлемой скоростью основные ее компоненты должны находиться на локальном диске рабочей станции, а значит, могут быть повреждены или нежелательным образом перенастроены.

Полностью исключить порчу системы невозможно (в распоряжении злоумышленников всегда остается режим командной строки Windows 95 с командами удаления файлов), однако затруднить намеренное и почти исключить случайное повреждение можно. Для этого мы осуществляем авторизацию пользователей при помощи средств Netware (в нашем случае - эмулятора Netware). Система парольной защиты Netware или Linux, в отличие от таковой в Windows 95, надежна. Пользователи, не прошедшие авторизации, не могут запускать большинство компонентов Windows, в частности, не получают доступа к Рабочему столу. Таким образом, исключается соблазн "анонимной" работы (мало кого привлекает режим командной строки Windows 95). Надо сказать, что прохождение авторизации и протоколирование операций на сервере весьма дисциплинирует пользователей.

Тем не менее повреждение компонентов Windows 95, установленных на рабочей станции, - событие весьма и весьма возможное. Для таких случаев имеется стандартная рекомендация: "переустановить Windows и все программы". Этот совет вряд ли можно считать удачным. Начнем с того, что переустановка Windows 95 занимает около часа и требует вмешательства оператора, притом квалифицированного2. Переустановка же остальных программ делается трудной задачей, как только их суммарный объем начинает превышать пару сотен мегабайт. Программные пакеты, устанавливаемые на наших рабочих станциях, занимают вместе с самой Windows около 1 Гбайт, так что рекомендуемая процедура "все переустановить" потребовала бы никак не менее целого рабочего дня. А у нас повреждение установок происходит на 3-5 машинах в неделю.

Для решения этой проблемы мы разработали процедуру восстановления дисков рабочих станций, занимающую менее часа и не требующую вмешательства оператора (что позволяет выполнять ее автоматически в нерабочее время). Первый раз Windows устанавливается на машину "традиционным" способом, после чего содержимое диска архивируется и копируется на сетевой диск. Если установка оказывается повреждена, машина запускается с дискеты или загрузчика (Boot ROM) сетевой платы, оператор входит в сеть под специальным именем пользователя Restore, зарезервированным для этих нужд (ввод пароля - единственное действие, требующее вмешательства оператора), после чего загрузочный сценарий пользователя Restore запускает программу восстановления конфигурации, которая форматирует диск и восстанавливает файлы, извлекая их из архива. Информация, зависящая от конкретной машины (у нас машинам присвоены постоянные индивидуальные IP-адреса и сетевые имена), заносится программой восстановления на последнем этапе и определяется по серийному номеру сетевой платы.

Эта процедура оказалась удобной и при первичной установке системы на несколько однотипных машин: установка с дистрибутива производится только на одну машину, затем для нее производится резервное копирование, а для остальных машин выполняется процедура восстановления системы с резервной копии.

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

Наряду с полным восстановлением состояния рабочей станции возможна также процедура частичного восстановления (ее целесообразно применять, если повреждено несколько важных файлов или записан "мусор", занимающий много места на диске, при том, что общая структура каталогов Windows и большая часть их содержимого сохранилась). На это иногда достаточно нескольких минут.

Так как процедура полного восстановления конфигурации - всегда, а частичного - во многих случаях выполняется на машине, находящейся под управлением DOS (точнее, Windows 95 в режиме командной строки), длинные имена файлов при этом не восстанавливаются. Их необходимо восстановить отдельно для всех новых файлов, что делается с помощью условно-бесплатной утилиты DOSLFNBK (автор - Д. Дж. Мердок).

Выводы и заключительные замечания

При всей специфичности школьной сети из нашего опыта можно, как представляется, сделать несколько общеинтересных выводов.

  • Если требования защищенности или эффективности диктуют выбор ЛВС с выделенным сервером (а они диктуют это почти всегда), следует в максимальной степени ограничить возможности работы на клиентских машинах пользователей, не прошедших авторизации на сервере.

  • Хотя систему Windows 95 нельзя установить на сервере, следует насколько возможно приблизиться к этому состоянию, для чего хранить на сервере точные и автоматически восстанавливаемые копии всех рабочих станций.

  • Выбор в качестве файлового сервера Linux и эмулятора Netware позволяет расширить возможности пользователей ценой незначительного усложнения администрирования сети.

  • Использование одновременно файлового сервера Linux и ее Internet-серверов позволяет достичь высокой степени интеграции локальных файловых систем и Internet (например, любой пользователь может получить доступ ко всем своим файлам и почте по Internet, причем не только по протоколу FTP, как в Netware, но и с помощью всех команд Linux - по протоколу telnet).

    Где взять?

    Программы для Linux, DOS и Windows 95, разработанные для решения вышеописанных задач, можно получить по адресу http://www.sch57.msk.ru/lansetup/

    Условно-бесплатная программа DOSLFNBK имеется по адресу ftp://ftp.cdrom.com/pub/simtelnet/win95/fileutl/doslfn22.zip. Более подробно о ней (условия использования, приобретения и т.д.) можно узнать на странице http://www8.pair.com/dmur-doch/programs/doslfnbk.htm.

    Легальную копию клиента Netware отдельно от Novell Netware можно скопировать на странице http://www.caldera.com/dos; там же приведена информация о ценах и условиях использования.


    С авторами этой статьи можно связаться по электронной почте alsu@sch57.msk.ru (Александр Суханов) и khim@sch57.msk.ru (Виктор Хименко)


    1 Предоставление пользователям возможности работать с несколькими операционными системами (что особенно важно в образовательном учреждении) не влечет пропорционального увеличения нагрузки на системного администратора. Систему можно изначально настроить так, что для всех видов авторизации будет использоваться один и тот же пароль, который можно сменить как штатными средствами клиента Netware, так и с терминала Linux - и даже из Web-браузера на любом подключенном к Internet компьютере, заполнив соответствующую форму.

    2 Особенно обострило ситуацию появление и широкое распространение в последнее время нестандартных с точки зрения Windows 95 системных плат на наборе микросхем Intel TX и других устройств (например, видеоплат), для которых в дистрибутиве Windows 95 нет драйверов.