Информационные технологииStfw.Ru 🔍

Mac OS X в смешанных сетях

Mac OS X прекрасно интегрируется в гетерогенные сети, позволяет разделять файлы и папки, поддерживает совместный доступ к принтерам
🕛 30.01.2010, 23:19
Если рядом стоят два компьютера, то рано или поздно их соединяют в сеть. Если на них установлена одна и та же ОС, проблем не возникает. Но когда требуется настроить разнотипные или малораспространенные системы, начинаются осложнения, которые часто выливаются в покупку специализированного ПО. Посмотрим, каким образом можно избежать подобных трудностей в сетях, где используются ОС Windows, системы Mac OS старых версий и ОС Unix/Linux.

Общий доступ к папкам и файлам


В основе сетевой подсистемы Mac OS X лежит код FreeBSD. В ней полностью реализовано семейство TCP/IP (в Mac OS X TCP/IP является основным протоколом), поддерживается сетевая файловая система NFS, а также имеются клиентские и серверные службы SMB, благодаря интегрированному программному пакету Samba. Кроме того, сетевая подсистема Mac OS X включает в себя набор протоколов AppleTalk over TCP/IP, что позволяет полноценно работать в сетях, где имеются компьютеры с предыдущими версиями Mac OS.

Предварительная настройка сетевого соединения - ввод IP-адреса, маски подсети, выбор DNS и DHCP-серверов - осуществляется в редакторе системных установок (Applications>System Preferences) с пульта Network. На этапе установки параметров сети весьма часто возникает необходимость проверить наличие того или иного хоста, собрать статистику или просканировать диапазон портов. Хотя для всех этих операций существуют консольные команды ping, netstat и др., удобнее будет использовать программу Network Utility (Applications>Utilities>Network Utility).

Далее можно приступать к конфигурированию разделяемых ресурсов. Здесь есть несколько вариантов, и выбор одного из них зависит в первую очередь от того, компьютеры какой платформы - Macintosh, Wintel или Unix-станций - преобладают в сети (см. "Зачем так много протоколов?").

Самый простой, хотя и наименее гибкий способ, позволяющий читать документы Macintosh с других компьютеров - задействовать встроенный в Mac OS X веб-сервер Apache. Для выполнения этой операции потребуется всего лишь несколько щелчков мыши: загрузить редактор системных установок (Applications>System Preferences), открыть пульт Sharing и включить режим Personal Web Sharing. Веб-страницы, доступ к которым требуется обеспечить, необходимо разместить в папке Library/WebServer/Documents.

Пульт Sharing - центр управления совместным доступом к ресурсам Mac OS X


Mac OS X, являясь в основе своей Unix-системой, при включении веб-сервера позволяет просматривать не только сайт, расположенный в каталоге WebServer/Documents, но и личные веб-страницы пользователей (файлы, относящиеся к этим страницам, находятся в паках Users/<Имя пользователя>/Sites). Таким образом, для того чтобы обратиться к той или иной странице, следует указать в адресной строке браузера http://<Адрес компьютера>/ для главного сайта или http://<Адрес компьютера>/~<Имя пользователя>/ для сайта пользователя. Например, для того чтобы прочесть открытые для общего доступа документы пользователя sergh, учетная запись которого заведена на компьютере с IP-адресом 192.168.0.2, в браузере надо задать путь http://192.168.0.2/~sergh/.

Отметим, что с помощью веб-сервера можно передавать не только HTML-страницы, но и любые другие файлы: таблицы Excel, иллюстрации в формате PSD, тексты MS Word и даже исполняемые модули программ. Если сервер Apache не находит в корневой папке сайта индексных файлов (по умолчанию такими считаются index.htm и index.html), он пересылает браузеру структуру папок сайта, благодаря чему браузер превращается в некое подобие Проводника Windows: осуществляет навигацию по удаленному диску и закачивает выбранные объекты. Правда, из-за особенностей протокола HTTP, не предназначенного для обмена файлами, скорость закачки невелика.

Если к скорости обмена файлами представляются повышенные требования, то лучше перейти на использование протокола ftp (сервер активируется все на том же пульте Sharing). FTP-сервер Mac OS X настроен таким образом, что к нему могут подключаться только те пользователи, которые имеют учетные записи в системе. Причем они могут работать как со своими домашними директориями, так и со всей файловой системой, включая папки других пользователей и примонтированные диски (режим так называемых "реальных пользователей").

Чтобы ограничить их возможности просмотром домашних или специально выделенных каталогов (перевести в "гостевой" режим), а также открыть анонимный доступ, нужно внести изменения в конфигурационные файлы - об этом достаточно подробно написано в справочных файлах подсистемы BSD (для прочтения справки загрузите терминал и наберите команду man ftpd).

Обратите внимание на следующий факт - большинство конфигурационных файлов системных демонов хранится в каталоге /etc и принадлежит пользователю root. Эта учетная запись после установки Mac OS X не активирована, поэтому для изменения, скажем, файла ftpusers, отвечающего за распределение прав доступа к ftp-узлу, придется воспользоваться командой sudo (от имени системного администратора):

sudo vi ftpusers


Для того чтобы упростить обмен данными с Windows-системами, нужно запустить серверную часть пакета Samba (клиентская работает постоянно). Перед этим следует создать учетные записи пользователей, которые будут подключаться к компьютеру с Mac OS X, и разрешить им доступ по протоколу SMB (в редакторе системных настроек, на пульте Accounts нужно установить для этих пользователей флажок Allow user to log in from Windows). После чего следует дать указание на загрузку серверного модуля - открыть пульт Sharing и включить режим Windows File Sharing. Следует помнить, что если во время запуска в сети отсутствуют узлы, поддерживающие SMB, то серверная часть не стартует.

После активации Samba, в соответствии со стандартными настройками, добавленным в систему пользователям доступны только их домашние директории. Кроме того, отображение имен файловой системы производится не в 866 (кириллической) кодовой странице, а в 437 (U.S. Latin), из-за чего русские имена невозможно прочесть. Чтобы избежать этих неудобств, нужно внести изменения в конфигурационный файл /etc/smb.conf. Вместо того, чтобы редактировать настройки вручную, рекомендую замечательную утилиту Samba Server Config Tool (SSCT), которая встраивается в виде пульта в программу System Preferences.

Теперь обратимся к особенностям взаимодействия с компьютерами Macintosh, на которых установлены старые версии Mac OS. Для того, чтобы получить возможность совместно использовать их ресурсы, необходимо включить поддержку AppleTalk. Для этого надо в редакторе системных настроек открыть пульт Network и на вкладке AppleTalk установить флажок Make AppleTalk active. Затем, по необходимости, включить ручной режим конфигурирования, установить адрес сети и номер узла.

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

Далее на пульте Sharing следует включить режим Personal file sharing. После этого при регистрации в Mac OS X под учетными записями, зарегистрированными в системе, пользователям будет предоставляться полный доступ к их домашним директориям, а при заходе с гостевыми правами - разрешен просмотр папок Public всех пользователей.

Для работы "десятки" в сетях Novell существует клиентское программное обеспечение NetWare Client for Mac OS X (на основе протокола NCP), распространяемое фирмой ProSoft Engineering по цене $149 за одну пользовательскую лицензию. На сайте ProSoft можно закачать 30-дневную ознакомительную версию.

Mac OS X отображает иерархическую структуру ресурсов общего доступа наподобие Сетевого окружения в ОС Windows


Напоследок рассмотрим особенности использования клиентских служб Mac OS X. Подключение к удаленному серверу любого типа производится командой Connect to Server, которая находится в меню Go программы Finder (доступна также по комбинации клавиш Command-K). Для протоколов AFP и SMB, система сканирует сеть на предмет ресурсов общего доступа и отображает их иерархическую структуру наподобие Сетевого окружения в ОС Windows.

Для подключения к серверам FTP и NFS необходимо явно указать тип протокола, сетевой адрес и имя ресурса. Применяется следующий формат:

<Тип протокола>://<Адрес сервера>/<Ресурс>

Например, чтобы воспользоваться диском совместного доступа с именем D, который расположен на ПК с ОС Windows и IP-адресом 192.168.0.1, следует ввести smb://192.168.0.1/D, а для соединения с ftp-узлом, который имеет адрес ftp.netscape.com - ftp://ftp.netscape.com.

После успешного прохождения процедуры аутентификации подключаемый ресурс монтируется на Desktop в виде дискового тома. Кстати говоря, процедуру сетевого подключения можно ускорить, пропустив вывод окна с именем пользователя и паролем. Для этого запрос на подключение следует представлять в полном виде: <Тип протокола>://<Домен>:<Имя пользователя>:<Пароль>@<Адрес сервера>/<Ресурс> (ненужные в том или ином случае параметры опускаются). Например: smb://sergh:pass323@192.168.0.1/DRIVE_E.
Совместное использование принтеров

В Mac OS X документы, полученные с удаленных машин, выводятся на печать через CUPS (Common UNIX Printing System). CUPS - весьма гибкая и несложная в настройке система. В подтверждение приведу тот факт, что несколько компьютеров, находящихся в одной локальной сети и осуществляющих печать через CUPS, могут использовать "расшаренные" принтеры друг друга без предварительной установки и настройки. Стоит добавить новый принтер и открыть к нему общий доступ на одном компьютере, как его сразу же можно использовать с другого ПК.

Задания в CUPS передаются с одного узла на другой по протоколу IPP (Internet Printing Protocol), который представляет собой надстройку над HTTP (обычно IPP работает через порт 631, тогда как HTTP-соединения открываются через порт 80). Кроме того, CUPS поддерживает, хотя и с ограничениями, печать по протоколам PAP, SMB и стандартным для ОС UNIX LPD/LPR (Line Printer Daemon/Line Printer Remote).

Применение HTTP в качестве базового протокола дает дополнительные преимущества, такие как удаленная (действительно удаленная - хоть за тысячи километров) печать и администрирование сервера печати через веб-интерфейс. В Mac OS X встроена веб-консоль, доступная из любого браузера по адресу http://<Адрес Mac>:631/ (например, http://192.168.0.2:631/) и позволяющая отслеживать статус принтеров, управлять очередью печати, подключать и убирать устройства.

Системой печати CUPS можно управлять через веб-интерфейс


Операционные системы Windows, начиная с версии 2000, тоже позволяют печатать по IPP. Но для организации полноценного сервера печати необходимо установить веб-сервер IIS, входящий в комплект Windows, в то время как задействовать клиентскую часть службы IPP, чтобы выводить файлы на Mac-принтер, довольно просто. Для этого необходимо открыть общий доступ к принтеру в Mac OS X (опция Printer Sharing пульта Sharing в редакторе системных настроек действует сразу для всех устройств). Затем в системе Windows нужно запустить мастер установки принтеров и при добавлении сетевого устройства ввести в поле URL точный сетевой адрес принтера. Он имеет следующий формат:

http://<Адрес Mac>:631/printers/<Сетевое имя принтера>

(например, http://192.168.0.2:631/printers/pdf_on_localhost). Дальше остается только следовать выводимым на экран инструкциям.

Обратная задача - вывод на печать с Mac на принтер Windows - решается несколько сложнее. Вначале придется выполнить установку веб-сервера IIS (Control Panel>Add/Remove Programs>Add/Remove Windows Components). После чего необходимо перезагрузить компьютер, чтобы IIS подключился к службам печати операционной системы.

Затем нужно разрешить анонимный доступ к виртуальной папке с принтерами - в целях безопасности после установки IIS печать по IPP возможна только локально, т.е. с того компьютера, на котором установлен веб-сервер. Чтобы снять это ограничение, потребуется загрузить утилиту управления сервером (Control Panel>Administrative Tools>Internet Service Manager), найти в списке виртуальных папок Printers и в зависимости от обстоятельств открыть в ее свойствах анонимный или настроить парольный доступ. На данном этапе становится возможным управление принтерами через веб-консоль, для использования которой достаточно набрать в браузере адрес типа http://<Адрес PC>/printers/.

Наконец, как добавить принтер в Mac OS X? Сделать это можно как через веб-интерфейс CUPS, так и традиционным способом - в центре управления печатью (Applications>Utilities>Print Center). Следует подчеркнуть, что во втором случае, при подключении печатающего устройства посредством Print Center после выбора команды Add printer открывается окно, в котором доступен весьма обширный набор протоколов, но среди них отсутствует IPP. Это понятно - если в сети есть другие компьютеры с CUPS, печатающие по протоколу IPP, то их принтеры будут доступны и так, без всяких установок.

Для переключения в расширенный режим установки и получения диалога, в котором присутствует протокол IPP, следует во время вызова команды Add printer удерживать нажатой клавишу Alt, после чего выбрать Internet Printing Protocol (http) и задать точный сетевой адрес принтера.

Его формат несколько отличается от принятого в Mac OS X. Сетевой адрес Windows-принтера имеет такой вид: http://<Адрес PC>/printers/<Сетевое имя принтера>/.printer (например, http://192.168.0.1/printers/LW/.printer).

Подключение принтера в Print Center (обычный и расширенный режим) Подключение принтера в Print Center (обычный и расширенный режим)

Запуск PC-приложений под Mac OS X

Время от времени возникает необходимость запуска на Macintosh программ, существующих только для PC - скажем, для просмотра диска с мультимедийной энциклопедией или для подсчета бухгалтерского баланса в 1С. (Не стоит думать, что Mac хорош лишь для графики и дизайна. Для него есть много программ, охватывающих самые разные области деятельности, в том числе и электронную бухгалтерию. Вот только широко распространенных у нас приложений 1С почему-то до сих пор нет.)

Для выполнения в среде Mac OS X программ Windows подходит эмулятор Virtual PC, разработанный фирмой Connectix и не так давно перекупленный компанией Microsoft. Virtual PC имитирует работу разных версий Windows, Linux, Unix и других ОС и программ для них, позволяет имитировать работу сразу нескольких PC.

Недостатками Virtual PC являются высокие требования к аппаратной части Macintosh. Для комфортной работы хотя бы с одним виртуальным PC нужен мощный процессор G4 и не менее 256 Мб ОЗУ. Кроме того, придется заплатить не только за эмулятор, но и за лицензионную копию ОС Windows - коммерческие продукты, которых порой так не хватает в Mac OS X, под бесплатными Linux обычно не запускаются.

Но если в локальной сети уже функционирует сервер под управлением Windows NT Server или PC с Windows XP, можно обойтись без лишних затрат. Microsoft во многие свои ОС (в том числе во все серверные, начиная с Win NT Server 4.0 Terminal Server Edition, и в пользовательскую Win XP Professional) встраивает средства поддержки технологии Remote Desktop Connection, предназначенной для удаленного использования ПК в режиме "копия экрана". Клиентская часть предлагается для свободной загрузки с сайта Microsoft.

Использование Windows совместно с Mac OS X посредством технологии Remote Desktop Connection

Скорость работы программ в данном случае зависит только от мощности PC - на Macintosh передается лишь изображение рабочего стола и, при желании, звуковое сопровождение. Правда, заметна некоторая "вязкость" интерфейса - при попытке поиграть в Pinball через сеть со скоростью передачи 10 Мбит/с и картинка, и звук выводились с запаздыванием. Но если уменьшить цветовую гамму до 256 цветов и понизить разрешение экрана, работа с офисными программами становится вполне комфортной.

Большим недостатком RDC, точнее его реализации в Windows XP, является то, что эта ОС может обслуживать только одного пользователя и только одну сессию - либо консольную, либо удаленную. При попытке открыть новую сессию, например, при входе в систему администратора, когда в ней удаленно работает обычный пользователь, существующая сессия принудительно завершается.

Кроме Microsoft, средства удаленного управления предлагают и другие фирмы. Вспомним хотя бы Citrix с ее технологией захвата экрана MetaFrame. Принципиально она не отличается от RDC - тоже состоит из серверной части, которая передает в сеть копии экранов, и клиентского модуля, принимающего изображения и отсылающего серверу управляющие команды. Стоимость Citrix MetaFrame составляет порядка $100 за одну пользовательскую лицензию. Так что применение подобной утилиты может быть экономически оправдано - стоимость нескольких лицензий плюс стоимость среднего PC явно меньше, чем мощного сервера и ОС Windows серверного типа.
Зачем так много протоколов?

Сегодня существует несколько распространенных семейств протоколов, выполняющих сходные функции: TCP/IP, NetBIOS/SMB, AppleTalk и IPX/SPX. Такое разнообразие связано не с отсутствием стандартизации - эталонная модель OSI, описывающая взаимодействие компьютерных систем, была завершена и опубликована еще в 1984 г. Большое количество семейств протоколов обусловлено тем, что разработчики разных компаний старались максимально адаптировать создаваемые ими протоколы к решаемым задачам и имеющейся технике (которую очень часто выпускала эта же компания).

Соответствие архитектуры наиболее распространенных стеков протоколов стандартной модели OSI (упрощенная схема) В начале 80-х гг. компания Novell вышла на рынок со своей сетевой операционной системой NetWare. Основным стеком в этой ОС являлся IPX/SPX - прямая адаптация протоколов XNS (Xerox Network Systems). ОС NetWare позволяла выполнять множество задач, в том числе и специализированных, таких как разделение дисковых томов и принтеров, управление именами, рассылка сообщений, учет использования ресурсов и синхронизация файлов.

Практически все эти функции реализуются с помощью основного протокола NetWare NCP (NetWare Core Protocol), и вспомогательного SAP (Service Advertisement Protocol), уведомляющего другие компьютеры о предоставляемых сервисах. Благодаря отсутствию серьезной конкуренции OC NetWare быстро приобрела популярность, поэтому стек IPX/SPX долгое время лидировал в локальных и корпоративных сетях.

ОС NetWare всегда славилась совместимостью с другими платформами. В ее версиях 3 и 4 имеется полноценный сервер печати и файловых служб для сетей AppleTalk. К сожалению, начиная с версии 5 права на разработку и распространение ПО поддержки клиентских станций Macintosh переданы сторонней фирме Prosoft Engineering, и его использование потребует дополнительных расходов.

Протоколы AppleTalk появились приблизительно в те же годы, в начале 80-х. Компания Apple готовилась тогда к выпуску компьютеров Macintosh. Инженеры стремились сделать сетевые возможности создаваемого ПК столь же простыми в настройке, как и графический интерфейс MacOS.

Для этого был разработан стек протоколов AppleTalk, поддерживающий как принудительное, так и полностью автоматическое конфигурирование сети. Из основных протоколов AppleTalk стоит отметить высокоуровневые протоколы AFP (AppleTalk Filing Protocol), предназначенный для коллективного использования файлов, и PAP (Printer Access Protocol), позволяющий поддерживать связь между клиентами и служебными устройствами, в том числе и принтерами.

Стек AppleTalk являлся базовым для компьютеров Macintosh вплоть до выхода Mac OS 7.5. Начиная с данной версии, в систему была внедрена модульная сетевая технология Open Transport, и начат переход на протоколы TCP/IP. Развитие этой идеи получило продолжение в виде связки AppleTalk over TCP/IP, применявшейся в Mac OS до версии 9 включительно. ("AppleTalk over TCP/IP" подразумевает, что в качестве низкоуровневых протоколов применяются открытые технологии из набора TCP/IP, а в качестве высокоуровневых, предоставляющих доступ к сервисным функциям сети, - PAP и AFP.)

Сети AppleTalk поддерживаются многими ОС. Так, в состав серверных версий Windows NT/2000/XP входит служба Service for Macintosh, обеспечивающая разделение принтеров и дисковых томов между пользователями платформ Mac и Wintel. Некоторые дистрибутивы Unix/Linux также содержат модули AppleTalk. Более того, существует freeware-пакет CAP - Columbia AppleTalk Package.

Стек NetBIOS/SMB появился в 1984 г., когда IBM, спустя три года после выпуска первого компьютера IBM PC, в целях расширения стандартных функций базовой системы ввода/вывода (BIOS) разработала программный интерфейс (API) NetBIOS - Network Basic Input/Output System. Это расширение применялось для взаимодействия между сетевыми ресурсами, но не предусматривало низкоуровневого протокола для передачи данных по сети. Такой протокол появился в 1985 г. и был объединен с NetBIOS в связке NetBEUI (NetBIOS Extended User Interface).

NetBEUI создавался в расчете на небольшие рабочие группы (до 255 узлов) и не имел функций маршрутизации. Позже Microsoft выпустила дополнение - протокол SMB (Server Message Block), реализующий целый ряд высокоуровневых сервисов, таких как файловая служба, служба печати и передача сообщений между приложениями, и использующий для этого возможности NetBIOS.

Протокол SMB является базовым для операционных систем Windows. Он является закрытым стандартом, и Microsoft предоставляет спецификации SMB только сертифицированным партнерам. SMB постоянно дорабатывается (обновления выходят с каждой новой Windows). В настоящее время его последняя версия под названием CIFS (Common Internet File System) активно продвигается Microsoft в качестве межсетевой файловой системы.

Несмотря на коммерческий статус протокола SMB, существует свободно распространяемый программный пакет Samba, обеспечивающий ограниченную поддержку сервисов SMB для ОС Unix/Linux. Поскольку основными протоколами Unix-систем являются протоколы стека TPC/IP, то в Samba для совместимости применяется NetBIOS over TCP/IP.

Низкоуровневые протоколы семейства TCP/IP появились в середине 70-х гг. Они были созданы по инициативе Министерства обороны США и предназначались для соединения экспериментальной сети ARPAnet с другими сетями (позже этот эксперимент трансформировался в то, что мы называем интернетом). Так как с самого начала стек TCP/IP ориентировался на глобальные сети, состоящие из множества разнородных сегментов, то в нем уделено особое внимание эффективной маршрутизации, гарантированной доставке пакетов и гибкой системе адресации. Впоследствии стек TCP/IP был расширен протоколами прикладного уровня, из которых наиболее известны служба передачи гипертекстовой информации HTTP, почтовый протокол SMTP и протокол пересылки файлов FTP.

В конце 80-х гг. компания Sun Microsystems представила еще одно прикладное расширение TCP/IP, которое впоследствии стало широко применяться в системах Unix - сетевую файловую систему NFS (Network File System). Отличие NFS от FTP заключается в том, что FTP передает файлы по одному, а NFS подключает удаленные тома к существующей файловой системе и работает с ними так же, как с локальными дисками, абсолютно "прозрачно" для пользователей и приложений.

Большое влияние на распространение TCP/IP оказало то, что институт Беркли встроил эти протоколы в свою операционную систему BSDI UNIX. В свое время ОС BSDI пользовалась огромной популярностью. Затем программный код был перенесен в бесплатную FreeBSD. После интернет-бума и появления множества провайдеров, склонных к использованию именно FreeBSD из-за ее бесплатности, надежности и хорошей документированности TCP/IP вышел на лидирующие позиции сначала в глобальных, а затем и в локальных сетях. Кстати сказать, реализация стека TCP/IP в ОС FreeBSD до сих пор считается эталонной.

Mac OS X   Теги: Mac

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉