| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Интеграция компьютеров Macintosh в сеть Kак объединить в сеть разрозненные группы компьютеров, когда они используют принципиально различные протоколы? Как совместить протоколы Appletalk, TCP/IP и Appleshare для организации общего доступа к файловому серверу с компьютеров Macintosh Apple, когда файловый сервер отличается от Apple? Как настроить Appletalk-совместимые принтеры, чтобы работать с ними смогли не только пользователи Macintosh? ПРЕДЫСТОРИЯ Я начинал с сети Macintosh, но вскоре пришлось перейти к рабочим станциям UNIX, серверам Linux и платформам Windows, а простая сеть постепенно превратилась в клубок проблем с кабелями и интеграцией сетевых компонентов и программных средств. То обстоятельство, что изначально это была сеть Macintosh, налагало отпечаток на ее дальнейшее развитие и затрудняло организацию совместного использования файлов. Продукты, о которых я расскажу ниже (см. Таблицу 1), были апробированы и отклонены из-за неудовлетворительных параметров производительности, времени безотказной работы и просчетов, сделанных мной или авторами программы.
Первые три продукта предназначены для Macintosh; последний, CAP, — для платформы UNIX. CAP казался наиболее эффективным программным средством, до тех пор пока не потребовалось внести изменения в сеть. Выявленные мной просчеты состояли в следующем: в пакете Softwindows отсутствовала возможность осуществлять сетевое взаимодействие с хостом Macintosh, а CAP не позволял работать с CD-ROM, дискетой или жестким диском, содержащими иерархическую файловую систему Macintosh (Hierarchical File System, HFS), которая представляет собой часть OC Macintosh. СУТЬ ПРОБЛЕМЫ В результате изменений сеть включала все основные рабочие станции UNIX, несколько компьютеров под Windows и Macintosh Apple, а также портативный компьютер Macintosh Apple Duo. Рабочие станции UNIX могут работать с общими файлами с помощью сетевой файловой системы (Network File System, NFS). Разделение файлов на машинах Windows и UNIX возможно при установке общей файловой системы Internet (Common Internet File System, CIFS) на компьютерах Windows и Samba на машинах UNIX. Однако наличие компьютеров Macintosh вновь ставило проблему совместного использования файлов. К тому же Macintosh Apple Duo не имел ни CD-ROM, ни дисковода для дискеты, что также означало необходимость дальнейшей модификации сети. Наконец, требовалось обеспечить доступ к Postscript-совместимому принтеру Okidata OL610e/PS LED. Его можно либо непосредственно подключить к Duo, либо, как и было сделано, использовать в качестве сетевого с доступом по протоколу Appletalk. С учетом всего сказанного итоговое решение должно было поддерживать протокол Appletalk для обеспечения совместного доступа к принтеру и подключенным к сети компьютерам Macintosh, а также протокол Appleshare для совместного использования файлов компьютерами Apple и остальной частью сети. Кроме того, из-за особенностей Macintosh Duo, требовалась поддержка файловой системы HFS для чтения по сети компакт-дисков Macintosh CD. Только одна машина могла удовлетворять всем этим требованиям — та, что работает под управлением операционной системы Linux. Конечно, сейчас все это можно сделать и с помощью FreeBSD, но несколько лет назад только Linux справлялся с подобными проблемами. Linux и сейчас остается моим основным инструментом для решения задач интеграции и межсетевого взаимодействия Apple Macintosh, UNIX и Windows. РЕШЕНИЕ Оборудование. Для того чтобы портативный компьютер Macintosh Apple Duo и принтер Okidata Appletalk LED могли полнофункционально работать в сети, потребовалось небольшое количество дополнительного оборудования для соответствующей конфигурации сети. Дело в том, что Macintosh Duo не имеет ни порта SCSI, ни сетевого адаптера. Современные компьютеры Apple этих недостатков лишены, но не мой старенький Duo.
Чтобы принтер Appletalk работал в сети TCP/IP, необходим мост. Я использовал устройства, перечисленные ниже (но возможны и другие схемы). В принципе можно было бы обойтись и без них, так как в настоящее время компьютеры Apple поддерживают функции моста между Appletalk и TCP/IP, но в случае старого ПК приходится прибегать к различным уловкам.
Не все из этого оборудования удастся теперь приобрести, но взамен всегда найдется что-нибудь подходящее. Так, компания Farralon выпускает множество различных адаптеров, которые можно с успехом использовать вместо адаптеров Dayna. Программное обеспечение. Чтобы надлежащим образом сконфигурировать сервер Linux Appleshare, нужно было найти все необходимые исходные тексты ядра системы и менеджера пакетов (Resource Pool Manager Server, RPMS), но теперь полный комплект включен в стандартный дистрибутив Red Hat 7.0 и средства инсталляции PowerTools. Для конфигурации сервера Appleshare понадобится Red Hat Package Management (RPM) и следующие пакеты.
После установки перечисленного программного обеспечения сервер сможет взаимодействовать с клиентами по протоколу Appletalk, поверх TCP/IP и Ethertalk. Дополнительно он может работать с HFS, Appleshare и другими файловыми системами. Это именно то, что требовалось. ДЕТАЛЬНАЯ КОНФИГУРАЦИЯ Конфигурация ядра. Я использовал исходный код ядра 2.4.x из пакета RPM в базовом дистрибутиве Red Hat 7.0 на дисках CD. После выполнения обновления до Red Hat 7.1 версия ядра стала 2.4.2-2. Ниже приводится последовательность действий по конфигурации ядра для работы с протоколами Appletalk и HFS. Предположим, что пакет уже установлен, и вы знаете, что надо делать дальше. Если это не так, файл README, расположенный в одном каталоге с исходными текстами ядра, поможет это сделать: cd /usr/src/linux make clean; make menuconfig
С помощью клавиши «стрелка вниз» выберите опции настройки сети (см. Рисунок 1). Включите модуль поддержки протокола Appletalk (см. Рисунок 2). Нажмите клавишу табуляции для выхода в главное меню. Используя клавишу «стрелка вниз», выберите File systems (см. Рисунок 3).
Выберите экспериментальный модуль поддержки файловой системы Apple Macintosh (см. Рисунок 4). Нажмите клавишу табуляции для выхода, затем еще раз воспользуйтесь клавишей табуляции для выхода, в результате чего вы получите запрос о сохранении конфигурации ядра. Выполните следующие команды: make dep make bzImage make modules make modules_install
Теперь ваше ядро поддерживает протокол Appletalk и файловую систему HFS. Скопируйте файлы ядра в каталог /boot, внесите изменения в файл /etc/lilo.conf, запустите lilo и перезагрузите ваш компьютер с файла README, находящегося в каталоге /usr/src/linux/.
Конфигурация файловой системы. Работа по конфигурации программного обеспечения не так уж велика по объему, но чрезвычайно важна. Далее идет описание конфигурации для поддержки Appletalk посредством Netatalk. Сначала необходимо конфигурировать файл /etc/fstab, чтобы описать точки монтирования для всех необходимых файловых систем CD, создав каталоги /mnt/cdrom/cdfs и /mnt/cdrom/hfs. Внесение следующих дополнений в /etc/fstab сделает более удобным доступ к CD. Например, если понадобится смонтировать диск HFS, это можно будет сделать непосредственно, применив команду mount /mnt/cdrom/hfs, причем при монтировании файловой системы будут использованы соответствующий драйвер файловой системы и параметры монтирования. В файл /etc/fstab были добавлены следующие строки: /dev/cdrom /mnt/cdrom/cdfs iso9660 noauto,ro 0 0 /dev/cdrom /mnt/cdrom/hfs hfs noauto,fork=netatalk,ro, case=asis 0 0 Конфигурация Netatalk. Netatalk конфигурируется для печати с помощью записей из файла /etc/printcap, а также из файла .paprc для указания имени принтера Appletalk из каталога буферизации печати. Этот каталог указан в поле sd= секции принтеров в файле /etc/printcap. Ниже представлен файл /etc/printcap, содержащий фильтры для печати файлов в формате Postscript при помощи сетевого соединения Appletalk (pap): lp|ps|OL610e:\ :sd=/var/spool/lpd/lp:\ :lp=/dev/null:\ :pl#63:\ :pw#85:\ :mx#0:\ :lf=/var/spool/lpd/lpd-errs:\ :if=/usr/lib/atalk/filters/ifpaprev:\ :of=/usr/lib/atalk/filters/ofpap:\ :tf=/usr/lib/atalk/filters/tfpaprev: :if — применяемый к каждому файлу фильтр. Из спецификации ifpaprev видно, что фильтр :if является входным фильтром для pap и инвертирует порядок печати; :of — выходной фильтр для pap. Фильтр :tf указывает, что именно использовать для troff или вывода страниц вручную; фильтр tfpaprev инвертирует страницы после выполнения некоторого преобразования в Postscript. Более подробную информацию о файле и его содержимом можно получить, выполнив команду man printcap. В каталоге, указанном в поле :sd, должен находиться файл .paprc, в конце которого находится имя принтера на языке Appletalk: OL610e/PS:LaserWriter Чтобы определять это имя, можно выполнить команду nbplkup, которая отображает имена всех устройств в сети Appletalk. Поскольку все компьютеры связаны между собой, а Netаtalk выполняется, то эту команду можно запустить, чтобы определить, все ли можно найти: # nbplkup secretariat:Netatalk 65280.87:4 secretariat:Workstation 65280.87:4 OL610e/PS:LaserWriter 21253.82:128 Запуск Netatalk осуществляется довольно просто, поскольку команда аналогична запуску любого демона — /etc/rc.d/init.d/atalkd. Файл /etc/atalk/config можно отредактировать так, чтобы команда atalkd не запускала в фоновом режиме никаких демонов. Этот способ позволяет отслеживать ошибки в момент их появления. Подобная настройка предоставляет подробную информацию, но процесс загрузки системы происходит более медленно. Как видим, настройка довольно проста. PAPD — демон печати для протокола Appletalk, AFPD — демон Appleshare, а ATALK_BRGROUND сообщает, запущен ли демон в фоновом режиме. Во время отладки системы демон следует запускать в приоритетном режиме. # Конфигурация Appletalk # Данный параметр необходимо изменить, если требуется увеличить максимально допустимое число подключений AFPD_MAX_CLIENTS=5 # В качестве HOSTNAME следует указать имя машины на atalk ATALK_NAME='echo ${HOSTNAME}|cut -d.-f1 ' # Запускаемые демоны PAPD_RUN=yes AFPD_RUN=yes # Запрещение запуска демонов в фоновом режиме ATALK_BGROUND=no После конфигурирования принтеров начинаем конфигурировать тома Appleshare для совместного использования /mnt/cdrom и домашних каталогов пользователей. Это достигается путем добавления в файл /etc/ atalk/AppleVolumes.default записей об /mnt/cdrom и каждом каталоге пользователя, с правом доступа к томам Appleshare. Чтобы отметить совместно используемые каталоги, я создавал самые простые записи в файле, однако при необходимости можно указать и большее число опций для поддержки паролей и кодовых страниц. Записи в файле //ЕТС/atalk/AppleVolumes.default выглядят следующим образом: ~ «User Home» /mnt/cdrom «CDROM Directories» Хитрость заключается в том, чтобы те же назначения были доступны и для пакета Samba, а компьютеры под Windows и Macintosh могли бы использовать совместно одни и те же данные без переноса их вручную или каким-либо иным способом. Посмотреть список монтируемых при подключении разделов можно с помощью /etc/atalk/AppleVolumes.system. Пароли для них никогда не потребуются, поскольку это разделы системного уровня. Поиск и устранение неисправностей несложен, сервисные программы сообщат о неправильной работе. При возникновении ошибок в первую очередь необходимо проверить, все ли в прядке с кабелем, включено ли питание и запущен ли демон atalkd. В противном случае проблема связана со сбоем при запуске, ее можно выявить путем анализа журнального файла /var/log/messages. Так как мой компьютер выполнял функцию шлюза, в нем было несколько сетевых адаптеров. В результате я столкнулся с проблемой, когда заданный по умолчанию сетевой адаптер не подключался к сети Appletalk. В результате мне пришлось модифицировать файл /etc/atalk/atalkd.conf, чтобы указать, какую сетевую карту следует использовать в сети Appletalk. Внесенное изменение выглядит таким образом: eth1 -seed -phase 2 В свою очередь, atalkd преобразовал файл к окончательному виду, показанному ниже, он выполнил самую сложную часть работы по определению всех необходимых номеров, включая используемые адреса: 0eth1 -seed -phase 2 -net 0-65534 -addr 65280.87 Следует отметить, что Netatalk версии 1.5, который поставлялся с PowerTools 7.1 на CD-ROM, не позволял работать с печатью. Программы преждевременно сохраняли дамп ядра, поэтому мне пришлось обратиться к прекрасно работавшей версии 1.4b2-asun2.1.3, поставляемой на PowerTools 7.0 CD-ROM. Впрочем, во избежание проблем с каталогом /usr/lib/atalk/filters необходимо войти в этот каталог и заново установить символические связи всех файлов для надлежащего размещения. Ниже показаны текущие файлы:
Чтобы автоматически выполнить все необходимые настройки инсталлируемых файлов, я написал следующий сценарий и запустил его с параметром *pap* для нахождения всех файлов, связи которых следует переопределить заново: # !/bin/bash cd /usr/lib/atalk/filters for x in $* do rm -f $x ln -s ../../../sbin/psf $x done Теперь все работает, как надо. ЗАКЛЮЧЕНИЕ В данной статье рассматриваются способы интеграции старого и нового оборудования Macintosh в сеть на основе протокола TCP/IP. Linux обеспечивает органичную поддержку для всех протоколов и файловых систем, необходимых для функционирования Macintosh Duo и принтеров Appletalk, организуя доступ к сети таким образом, что для Macintosh сеть работает и выглядит как группа компьютеров Macintosh. Эдвард Л. Халетки в настоящее время работает в экспертной группе высокопроизводительных вычислений в Compaq Computer и занимается технологиями Tru64 и кластеризации Linux и их приложениями. |
|
| ||||||||||||||||
|