IPX/SPX
IPX (Internetwork Packet Exchange — межсетевой обмен пакетами) был разработан специалистами Novell как низкоуровневый транспортный протокол. При создании протокола разработчики основывались на ранних работах, выполненных компанией Xerox. Чаще всего IPX используется совместно с протоколом SPX (Sequences Packet Exchange — упорядоченный обмен пакетами). IPX и SPX составляют основы стека протоколов, возможности и популярность которого сопоставимы со стеками AppleTalk и NetBEUI. Традиционно протоколы IPX/SPX используются в продуктах NetWare, кроме того, в DOS, Windows и других операционных системах применяются программные пакеты, созданные на базе IPX/SPX. Одно из самых распространенных применений IPX/SPX — поддержка протокола NCP (NetWare Core Protocol — базовый протокол NetWare), используемого для разделения файлов и принтеров. Протоколы IPX/SPX поддерживаются в системе Linux; для этого используются как средства ядра (настройка ядра обсуждалась в главе 1), так и клиентские и серверные пакеты.
Возможности IPX/SPX
Подобно TCP/IP и AppleTalk, в IPX/SPX используются 32-разрядные адреса, которые обычно представляются в шестнадцатеричном виде, например 0x23a91002. Однако каждый адрес ставится в соответствие не одному компьютеру, а сегменту сети, который либо соединяется с другими сегментами с помощью маршрутизаторов, либо полностью изолирован от внешнего мира. В описании сети также указывается тип кадра, передаваемого на нижнем уровне; в сети IPX/SPX могут использоваться только кадры одного типа. Для идентификации отдельных компьютеров применяются аппаратные адреса узлов сети, на базе которой создается сеть IPX/SPX, например, если сеть IPX/SPX создана на основе Ethernet, то компьютеры, подключенные к ней, идентифицируются с помощью 48-разрядных адресов.
Как легко догадаться по названию и применяемой схеме адресации, протоколы разработаны для организации межсетевого обмена. Такой обмен обеспечивают IPX-маршрутизаторы, которые функционируют подобно маршрутизаторам TCP/IP. (При необходимости одна система может маршрутизировать пакеты IP и IPX. В изолированной сети маршрутизатор не нужен, но программы поддержки IPX/SPX включают соответствующие средства.
Серверы IPX/SPX используют протокол SAP (Service Advertisement Protocol — протокол объявления служб). Посредством этого протокола в сети периодически объявляются имя сервера и услуги, которые он предоставляет. Эти сообщения принимаются локальными компьютерами, а IPX-маршрутизаторы передают их в другие сегменты сети. Таким образом клиенты постоянно имеют информацию о доступных серверах, но в то же время при увеличении размеров сети этот подход приводит к возрастанию сетевого трафика, так как по сети постоянно передаются широковещательные SAP-сообщения.
Программы поддержки IPX/SPX в системе Linux
Как и большинство Linux-программ, средства поддержки IPX/SPX в основном распространяются в исходных кодах. (Caldera лицензировала NetWare, и специалисты компании реализовали в Linux поддержку взаимодействия с этой системой, однако сопровождение данного порта прекращено. Версия для трех пользователей доступна по адресу ftp://ftp.calderasystems.com/pub/old-products/netware/
, но она может работать только с ядром 2.0.35.) Средства поддержки IPX/SPX для Linux перечислены ниже.
• Поддержка NCPFS ядром системы. В состав ядра Linux входят средства поддержки файловой системы NCP. Соответствующие опции находятся в подменю Network File Systems меню File Systems. Эти средства позволяют монтировать в системе Linux разделяемые каталоги NetWare. Для монтирования используется программа ncpmount
, которая обычно входит в состав пакета ncpfs
.
• LinWare. Этот пакет обеспечивает ограниченную поддержку сервера NCP. На момент написания данной книги последней была версия 0.95 beta, ориентированная на работу с ядром 1.3.x, другими словами, пакет не обновлялся с 1996 года. Однако в будущем ситуация может измениться. В настоящее время данный пакет хранится под именем lwared
по адресу ftp://sunsite.unc.edu/pub/Linux/system/network/daemons/
.
• Mars_nwe. Этот пакет, реализующий NetWare-сервер в системе Linux, в настоящее время доступен по адресу http://www.compu-art.de/mars_nwe/
. Информация о пакете в основном представлена на немецком языке. Английская документация ограничивается документом Mars_mwe HOWTO, который можно получить, обратившись по адресу http://www.redhat.com/support/docs/tips/Netware/netware.html. Mars_nwe
поддерживает как файловый сервер, так и сервер печати. Настройка пакета осуществляется посредством конфигурационного файла /etc/nwserv.conf
или /etc/nwserv/nwserv.conf
. Если Mars_nwe не запускается при загрузке системы, для его запуска можно использовать команду nwserv
.
Все перечисленные выше пакеты требуют, чтобы средства поддержки IPX были скомпилированы в составе ядра (о включении компонентов ядра рассказывалось в главе 1). В ряде систем используется специальный пакет ipxutils
, в состав которого входят утилиты, предназначенные для активизации стека протоколов IPX/SPX и управления им. (В некоторых версиях эти утилиты содержатся в пакете ncpfs
.)
Если вы хотите, чтобы система Linux выступала в роли сервера для клиентов NetWare, надо выполнить несложную настройку Mars_nwe. Более того, конфигурация, установленная по умолчанию, обычно обеспечивает нормальную работу данного пакета. Конфигурационные файлы снабжены подробными комментариями; прочитав их, можно получить полное представление о процессе настройки пакета. Особое внимание надо уделить следующим деталям.
• В разделе 1 конфигурационного файла определяются разделяемые тома. В терминах Linux эти тома соответствуют каталогам. В зависимости от поставки, разделяемые тома могут быть либо определены, либо нет.
• В разделе 7 содержатся опции, управляющие шифрованием пароля. Если в вашей сети отсутствует bindery-сервер NetWare, поддерживающий аутентификацию пользователей, вам необходимо задать передачу пароля в незашифрованном виде.
• В разделе 13 определены пользователи, которым разрешен доступ к серверу. В этот раздел вам придется включить имена пользователей и пароли, дублируя соответствующие настройки Linux. Пароли хранятся в незашифрованном виде, что создает угрозу безопасности системы. Если в сети присутствует bindery-сервер, после первого запуска Mars_nwe вы можете удалить эти записи, так что риск становится минимальным. Вместо того чтобы задавать имена пользователей и пароли, соответствующие отдельным учетным записям, вы можете указать в разделе 15 автоматическое выполнение этих действий. Недостаток такого подхода состоит в том, что для всех учетных записей будет установлен один и тот же пароль.
Пакет Mars_nwe содержит средства, позволяющие автоматически включать IPX-поддержку для сетевого интерфейса. Однако эти средства не действуют при работе с клиентами NetWare. Перед использованием команды ncpmount
вам надо разрешить автоконфигурацию, вызвав команду ipx_configure
. Затем вы можете монтировать том NetWare. Команды, реализующие описанную процедуру, выглядят следующим образом:
# ipx_configure --auto_interface=on --auto_primary=on
# ncpmount -S NW_SERV -U anne -P p4rtu3a /mnt/nwmount
При выполнении этих команд разрешается автоматическое определение номера локальной сети, и том на NW_SERV
, связанный с пользователем anne, монтируется в точке