IPX в Linux HOWTO Kevin Thorpe, kevin@pricetrak.com, перевод Alex Ott ott@phtd.tpu.edu.ru v2.3, 06 May 1998 Этот документ описывает как получить, установить и настроить различные утилиты для операционной системы Linux, которые используют поддержку протокола IPX в ядре Linux. ______________________________________________________________________ Table of Contents 1. Введение 1.1 Изменения с предыдущей версии 1.2 Введение 2. Отказ от ответственности 3. Относящаяся документация 3.1 Новые версии этого документа 3.2 Обратная связь 3.3 Поддержка списка рассылки 4. Некоторые термины, используемые в этом документе 5. Краткое обсуждение топологии сетей IPX 6. Файлы в файловой системе 7. IPX утилиты Greg Pages 7.1 Более детально об утилитах IPX 8. Настройка вашей Linux-машины как маршрутизатора IPX 8.1 Необходимо ли мне настраивать внутреннюю сеть? 9. Настройка вашей Linux-машины как клиента NCP 9.1 Где взять 9.2 Построение 9.3 Построение 9.4 Настройка и использование 10. Настройка вашей Linux машины как сервер NCP. 10.1 Пакет 10.1.1 Возможности 10.1.2 Где взять 10.1.3 Построение пакета 10.2 Пакет 10.2.1 Возможности 10.2.2 Получение 10.2.3 Построение 10.2.4 Настройка и использование 11. Настройка машины под Linux как клиента печати Novell 12. Настройка вашей Linux-машины как сервера печати Novell 12.1 Непременные условия 12.2 Настройка 13. Обзор команд пользователя и администрирования 13.1 Команды пользователя 13.2 Утилиты администрирования 14. Настройка PPP для поддержки IPX 14.1 Настройка сервера IPX/PPP 14.1.1 Первые шаги 14.1.2 Дизайн 14.1.3 Настройка 14.1.4 Проверка настройки сервера 14.2 Настройка клиента IPX/PPP 14.2.1 Настройка 14.2.2 Тестирование клиента IPX/PPP 15. Тунелирование IPX через IP 15.1 Получение 15.2 Построение 15.3 Настройка 15.4 Тестирование и использование 16. Коммерческая поддержка IPX для Linux. 16.1 Caldera'a Network Desktop 17. Некоторые часто задаваемые вопросы (FAQ) 18. Сообщение об авторских правах 19. Разное и благодарности ______________________________________________________________________ ППррииммееччааннииее ппееррееввооддччииккаа:: Шлите мне любый комментарии и замечания, даже небольшие. 11.. ВВввееддееннииее Этот IPX в Linux HOWTO. Вы должны прочитать Linux NET-3-HOWTO в добавление к этому документу. 11..11.. ИИззммееннеенниияя сс ппррееддыыддуущщеейй ввееррссииии Изменение автора: Большая благодарность Terry Dawson за работу над этим документом и поздравления с рождением ребенка :-) Добавления: Добавлено краткие сведения об IPX& Это сделано в ответ на много мешающих вопросов с списках рассылки. Исправления/Обновления: Новая версия ncpfs, которая сейчас поддерживает подключение к NDS. Она все еще в стадии бета тестирования и ее использование в вашей стране может быть запрещено из-за использования патентованной технологии. Добавление поддрежки администраторских прав (trustee rights) в mars_nwe. Эта возможность все еще в стадии бета тестирования. 11..22.. ВВввееддееннииее Ядро Linux имеет совершенно новую сетевую реализацию по сравнению с другими Unix-подобными операционными системами. Возможность взглянуть по новому на разработку сетевого программного обеспечения ядра привело к тому, что ядро Linux имеет поддержку для ряда протоколов, не относящихся к tcp/ip. Протокол IPX один из тех, кто был включен в ядро. Ядро Linux поддерживает только протокол IPX. Оно еще не поддерживает такие протоколы как IPX/RIP, SAP или NCP, эти протоколы поддерживаются другим программным обеспечением, таким как описано в этом документе. Поддержка IPX первоначально была разработана Alan Cox и была значительно расширена Greg Page . 22.. ООттккаазз оотт ооттввееттссттввееннннооссттии Я не знаю и не могу знать все что можно знать о сетевом программном обеспечении Linux. Пожалуйста примите к сведению и будьте осторожны, так как этот документ вероятно содержит ошибки. Пожалуйста читайте любые README-файлы, которые включены в различные пакеты программного обеспечения описанные в этом документе для более детальной и правильной информации. Я буду пытаться сохранить этот документ безошибочным и своевременным. Версии программного обеспечения даны текущие во время написания документа. Нет способа, которым я или авторы программного обеспечения, описанного в этом документе, защитили против ваших собственных действий. Если вы настроите это программное обеспечение, даже так как описано в этом документе и это вызовет проблемы в вашей сети, тогда вы должны сами нести ответственность. Я включил это предупреждение потому-что дизайн и настройка сетей IPX не всегда является простый делом и иногда нежелательное взаимодействие с другими маршрутизаторами и файловыми серверами может быть результатом, если вы не спроектировали или настроили правильно вашу сеть. Я также включил это предупреждение, потому-что меня иногда спрашивали люди, несчастные достаточно поскольку они запоминали этот урок трудным путем. 33.. ООттннооссяящщааяяссяя ддооккууммееннттаацциияя Этот документ предполагает, что вы понимаете как построить ядро Linux с правильно выбранными сетевыми опциями и что вы понимаете как пользоваться базовыми сетевыми утилитами, такими как _i_f_c_o_n_f_i_g и _r_o_u_t_e. Если не понимаете, то вы должны прочитать документ NET-3-HOWTO в добавление к этому документу, как описаны эти утилиты. Другие документы серии Linux HOWTO, которые могут быть полезными при работе с данным документом: Ethernet-HOWTO , который описывает детали настройки устройств Ethernet для Linux. PPP-HOWTO , поскольку поддержка IPX доступна в версии 2.2.0d и поздних, реализации PPP в Linux PPP. 33..11.. ННооввыыее ввееррссииии ээттооггоо ддооккууммееннттаа Если ваша копия этого документа, устарела больше чем на два месяца, тогда я рекомендую получить более новую версию. Сетевая поддержка для Linux изменяется очень быстро с новыми расширениями и свойствами, так что и этот документ также изменяется довольно быстро. Последние версии этого документа всегда могут быть получены по анонимному ftp: ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/IPX-HOWTO или: ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/IPX- HOWTO{-html.tar,ps,dvi}.gz> через World Wide Web с Сервер Linux Documentation Project , на странице: IPX-HOWTO или прямо от меня, . Он может также посылаться время от времени в группы новостей: comp.os.linux.networking, comp.os.linux.answers и news.answers. 33..22.. ООббррааттннааяя ссввяяззьь Пожалуйста посылайте мне любые комментарии, обновления или пожелания, . Скорее всего я получу feedback, скорее всего я смогу обновить и скорректировать этот документ. Если вы найдете любую проблему с ним, пожалуйста напишите мне, поскольку я могу пропустить информацию посланную в группы новостей. 33..33.. ППооддддеерржжккаа ссппииссккаа рраассссыыллккии Существует список рассылки, учрежденный для дискуссий о различных пакетах программного обеспечения IPX для Linux, описанных в этом документе. Вы можете подписаться на них послав сообщение на адрес `listserv@sh.cvut.cz' со строкой `add linware' в теле сообщения. Чтобы послать сообщение в список рассылки, пошлите ваше сообщение на адрес `linware@sh.cvut.cz'. Я регулярно просматриваю этот список рассылки. Архив списка рассылки находится на сервере www.kin.vslib.cz . 44.. ННееккооттооррыыее ттееррммиинныы,, ииссппооллььззууееммыыее вв ээттоомм ддооккууммееннттее Вы будете часто видеть в этом документе термины client and server. Обычно они довольно специфичны, но в этом документе я обобщил эти определения до маленьких, так что они обозначают следующее: cclliieenntt Машина или программа, которая инициирует акцию или соединение в целях использования некоторых сервисов или данных. sseerrvveerr Машина или программа, которая принимает входящие соединения от множества удаленных машин и обеспечивает для них сервисы или данные. Эти определения не очень достоверные, но они обеспечивают понимание для одноранговых систем, таких как _S_L_I_P или _P_P_P, которые в действительности не имеют клиента и сервера. _П_р_и_м_е_ч_а_н_и_е _п_е_р_е_в_о_д_ч_и_к_а_: Я постарался перевести некоторые термины используя литературу по Novell Netware, но если я где-то ошибся прошу написать мне, адрес в начале документа. Другие термины, которые вы увидите: BBiinnddeerryy _b_i_n_d_e_r_y -- это специализированная база данных, сохраняющая сетевую конфигурационную информацию на файловом сервере Novell. Клиенты Netware могут запрашивать _b_i_n_d_e_r_y для получения информации о доступных серверах, маршрутизации и пользователях. FFrraammee TTyyppee ((ТТиипп ффррээййммаа)) этот термин используется для описания, что действительный протокол используется для переноса датаграмм IPX (и IP) через ваши сегменты сети ethernet. Существует четыре общих типа: EEtthheerrnneett__IIII Это упрощенная версия оригинального стандарта DIX ethernet. Novell выделил формальный идентификатор протокола и это означает, что оба протокола IPX и IP могут сосуществовать в среде Ethernet_II довольно удачно. Протокол является общеиспользуемым в среде Novell и это хороший выбор. 880022..33 Это I.E.E.E. протокол, определяющий механизм Carrier Sense Multiple Access with Collision Detection (CSMA/CD, Множественный доступ к среде переноса с определением столкновений ). Он основан на оригинальном стандарте DIX Ethernet, с важным изменением, поле типа (идентификатор протокола) было преобразовано в поле длины. Это является причиной, почему в действительности IPX не должен работать здесь. IEEE 802.3 был спроектирован, чтобы переносить _т_о_л_ь_к_о фреймы IEEE 802.2, но существуют реализации которые используют этот тип для прямого переноса фреймов IPX и это замечательно работает. Избавьтесь от этого типа, только если не пытаетесь взаимодействовать с сетью, которая уже настроена для использования такого типа фреймов. 880022..22 Это протокол I.E.E.E., который определяет набор процедур Logical Link Control (Контроль логических связей). Он обеспечивает упрощенный способ, позволяющий различным протоколам сосуществовать, но является довольно ограниченным в этом отношении. Novell использует неофициальную Service Address Point (точку сервисного адреса, подобную идентификатору протокола), но так как любой также использует его, это еще не представляет слишком много проблем. SSNNAAPP SNAP является Sub Network Access Protocol (Протокол доступа к подсетям). Этот протокол спроектирован для переноса на протоколах 802.3 и 802.2. Он расширяет многопротокольные возможности 802.2 и обеспечивает, некоторую меру совместимости с существующими типами фреймов Ethernet и Ethernet_II. IIPPXX Internet Packet eXchange (Межсетевой обмен пакетами) -- это протокол используемый корпорацией Novell для обеспечения межсетевой поддержки для их продукта NetWare(tm). IPX похож по функциональности на IP протокол, используемый в сообществе tcp/ip. ССееттееввоойй ааддрреесс IIPPXX Это число, которое уникально идентифицирует частную сеть IPX. Обычно системой исчисления для этого числа является шестнадцатиричная. Пример может выглядеть примерно так: 0x23a91002. ВВннууттрреенннняяяя ссееттьь IIPPXX Это виртуальная сеть IPX. Она является виртуальной, потому-что оне не соответствует физической сети. Она используется для обеспечения средства уникально идентифицирующего и адресующего особый хост IPX. В общем это полезно для хостов IPX, которые существуют больше чем в одной физической сети IPX, таких как файловые сервера. Адрес кодируется в той же самой форме, что и для физической сети IPX RRIIPP Routing Information Protocol (протокол маршрутной информации) -- это протокол, используемый для автоматического распространения сетевых маршрутов (routes) в сетях IPX. По функциональности сходен с RIP используемым сообществом tcp/ip. NNCCPP NetWare Core Protocol (базовый протокол NetWare) -- протокол сетевой файловой системы, спроектированный корпорацией Novell для своего продукта NetWare(tm). NCP похож по функциональности на NFS, используемый в сообществе tcp/ip. SSAAPP Service Advertisement Protocol (Протокол объявления сервисов) -- это протокол спроектированный корпорацией Novell, который используется для объявления сетевых сервисов в среде NetWare(tm). ААддрреесс ууссттррооййссттвваа ((HHaarrddwwaarree aaddddrreessss)) Это число, которое уникально идентифицирует хост в физической сети на уровне доступа к среде (media access layer). Примером этого являются _а_д_р_е_с_а _E_t_h_e_r_n_e_t. Адрес Ethernet обычно кодируется шестью шестнадцатиричными значениями, разделенными символом двоеточия, например 00:60:8C:C3:3C:0F ммаарршшрруутт ((rroouuttee)) _м_а_р_ш_р_у_т это путь, который ваш пакет проходит через сеть чтобы достичь своей цели. ???? 55.. ККррааттккооее ооббссуужжддееннииее ттооппооллооггииии ссееттеейй IIPPXX Это очень сильно упрощенное объяснение для тех людей, кто только начинает знакомится с IPX. Большие сети вероятно нарушат некоторые правила объясненные здесь. В сложных сетях IPX вы всегда должны проконсультироваться с их администраторами. Сети IPX произвели революцию введя схему нумерованных _с_е_т_е_й, в отличие от схемы IP, которая делает большее ударение на адресе _и_н_т_е_р_ф_е_й_с_а. Сеть -- это набор оборудования, подключенного к одному и тому же сегменту локальной сети и _и_с_п_о_л_ь_з_у_ю_щ_и_й _о_д_и_н _и _т_о_т _ж_е _т_и_п _ф_р_э_й_м_а. Различные типы фрэймов в одном и том же сегменте локальной сети считаются отдельными сетями. Каждой сети должен быть выделен арес, который должен быть уникальным во всей локальной сети. Это обычно выполняется сервером NetWare(tm), но это может быть легко выполнено и Linux. Клиентам IPX этот адрес выдается сервером при запуске, им необходимо только знать правильный тип фрейма. Маршрутизация между двумя сетями обычно выполняется помещением двух сетевых карт в сервер. Этот сервер затем запускает протокол RIP, который хранит таблицу маршрутизации для внутренних сетей. Периодически сервера обмениваются этими таблицами маршрутизации при широковещательных передачах. Внутри короткого промежутка времени каждый сервер 'исследует' топологию внутренней сети. Если вам необходимо только иметь доступ к существующим серверам NetWare, то вы можете использовать команду ipx_configure (раздел 7.1) для автоматического определения интерфейсов IPX, используя широковещательный запрос для того, чтобы найти сервер. Если происходит сбой, или вы хотите обеспечивать сервисы IPX, то вам будет необходимо определить интерфейсы вручную, используя программы ipx_interface или mars_nwe. 66.. ФФааййллыы вв ффааййллооввоойй ссииссттееммее //pprroocc ,, ооттннооссяящщииеессяя кк IIPPXX Существует некоторое число файлов, относящихся к поддержке IPX в Linux, расположенных в файловой системе /proc. Это: //pprroocc//nneett//iippxx__iinntteerrffaaccee Этот файл содержит информацию об настроенных интерфейсах IPX на вашей машине. Они могут быть настроены вручную или могут быть автоматически обнаружены и настроены. //pprroocc//nneett//iippxx__rroouuttee Этот файл содержит список маршрутов (routes), которые существуют в таблице маршрутов IPX. Эти маршруты могут быть добавлены вручную с помощью команд или добавлены автоматически демоном маршрутизации IPX. //pprroocc//nneett//iippxx Этот файл содержит список сокетов IPX, которые открыты для использования на машине. 77.. IIPPXX ууттииллииттыы GGrreegg PPaaggeess Greg Page . 77..11.. ББооллееее ддееттааллььнноо ообб ууттииллииттаахх IIPPXX iippxx__iinntteerrffaaccee Эта команда используется для ручного добавления, удаления или проверки возможностей IPX на существующем сетевом устройстве. Обычно сетевым устройством является устройство Ethernet, такое как eth0. По крайней мере один интерфейс IPX должен быть назначен _п_е_р_в_и_ч_н_ы_м _(_p_r_i_m_a_r_y_) интерфейсом и флаг _-_p программы делает это. Например для того, чтобы добавить устройству Ethernet eth0 возможности IPX как первичный интерфейс IPX используя тип фрейма IEEE 802.2 сетевой адрес IPX 39ab0222 вы должны использовать: # ipx_interface add -p eth0 802.2 0x39ab0222 Если тип фрейма отличается от типа, применяемого серверами NetWare(tm) в этой сети, то они будут прилежно игнорировать вас. Если тип фрейма правильный, но отличаются номера сети, сервера все равно будут игнорировать вас, но будут часто выражать свое недовольство на консоли сервера NetWare. Это гарантирует вам недовольство вашего администратора NetWare и может нарушить работу существующих клиентов NetWare. Если вы получите ошибку во время выполнения этой программы и это случится из-за того, что у вас не настроен протокол tcp/ip, тогда вам необходимо вручную запустить интерфейс eth0, используя команду: # ifconfig eth0 up iippxx__ccoonnffiigguurree Эта команда разрешает или запрещает автоматическую установку конфигурации интерфейсов и первичного интерфейса. Были замечены проблемы при использовании этой команды в сети с машинами под Windows 95. --auto_interface позволяет выбрать должно ли будет новое сетевое устройство автоматически сконфигурировано как устройство IPX или нет --auto_primary Позволяет выбрать должно ли программное обеспечение IPX автоматически выбирать первичный интерфейс или нет. Типичный пример, для разрешения автоматической настройки интерфейсов и автоматического выбора первичного устройства используется следующая комманда: # ipx_configure --auto_interface=on --auto_primary=on iippxx__iinntteerrnnaall__nneett Эта команда позволяет настраивать или убирать адрес внутренней сети. Адрес внутренней сети является опциональным, но когда он настроен, он всегда должен быть первичным интерфейсом. Для настройки сетевого адреса IPX ab000000 на узле (node) IPX 1 вы должны использовать команду: # ipx_internal_net add 0xab000000 1 iippxx__rroouuttee Эта команда позволяет вручную модифицировать таблицу маршрутизации IPX. Например, чтобы добавить маршрут на сеть IPX 39ab0222 через маршрутизатор с номером узла 00608CC33C0F в сети IPX 39ab0108 команда будет выглядеть следующим образом: # ipx_route add 0x39ab0222 0x39ab0108 0x00608CC33C0F 88.. ННаассттррооййккаа вваашшеейй LLiinnuuxx--ммаашшиинныы ккаакк ммаарршшррууттииззааттоорраа IIPPXX Если вы имеете несколько сегментов IPX, и вы желаете создать взаимодействие между ними, то вам необходимы услуги маршрутизатора. В среде Novell существуют 2 вида информации, которые необходимо распространять по сети. Это информация о сетевых маршрутах, распространяемая используя Novell RIP, и информация о сервисах, распространяемая используя Novell SAP. Любой маршрутизатор должен поддерживать оба этих протокола чтобы быть полезным в большинстве случаев. Linux имеет поддержку обоих протоколов и может быть довольно легко настроее, чтобы выполнять функции полномасштабного маршрутизатора Novell. Поддержка IPX в ядре Linux в действительности управляет пакетами IPX пересылаемые через сетевые интерфейсы, но она делает это согласно правилам, закодированным в таблице маршрутизации IPX. Linux необходимы программы реализующие Novell RIP и SAP, чтобы обеспечивать правильность построения таблицы маршрутизации IPX и их периодическое обновление для отражения изменений в сетевом статусе. Volker Lendecke разработал демон маршрутизации _i_p_x_r_i_p_d, который будет делать это. Описанный ниже пакет _m_a_r_s___n_w_e включает альтернативный демон маршрутизации. Вы можете найти _i_p_x_r_i_p_d на: sunsite.unc.edu или на сервере Volkers по адресу: ftp.gwdg.de Настройка возможности, чтобы ваша Linux-машина работала как маршрутизатор очень проста. Необходимо сделать следующие шаги: 1. Скомпилировать ваше ядро с поддержкой IPX, Ethernet и /proc. 2. Получить, скомпилировать и установить программу демона _i_p_x_d. 3. Загрузить новое ядро и убедиться, что каждая из карт Ethernet была правильно обнаружена и нет конфликтов оборудования. 4. Включить протокол IPX на каждом интерфейсе, используя команду _i_p_x___i_n_t_e_r_f_a_c_e описанную выше. 5. Запустить программу демона _i_p_x_d. Рассмотрим следующую простую сеть: IPX Addr: 0x01000000 802.2 |--------------------------| | \_________________________ \ Linux Маршрутизатор IPX Addr: 0x02000000 802.2 \ |--------------------------| \ eth0/-----------\ | \--====| | \_________________________ | Таблица | \ eth1| Маршрути- | IPX Addr: 0x03000000 etherII \----====| зации IPX | |--------------------------| | ^ | | eth2| | | \______________________________/====| IPXd | | SAPd | IPX Addr: 0x04000000 etherII eth3| | |--------------------------| /====| | | | \___________/ \______________________________/ Настройка для вышеуказанной сети должна выглядеть подобно этому: # ipx_interface add eth0 802.2 0x0100000000 # ipx_interface add eth1 802.2 0x0200000000 # ipx_interface add eth2 etherii 0x0300000000 # ipx_interface add eth3 etherii 0x0400000000 # ipxd Затем вам необходимо немного подождать и проверить ваш файл /proc/net/ipx_route и вы должны увидеть его заполненным маршрутами IPX относящихся к вашей конфигурации и другими полученными от других маршрутизаторов в сети. 88..11.. ННееооббххооддииммоо ллии ммннее ннаассттррааииввааттьь ввннууттррееннннюююю ссееттьь?? Novell имеет свойство, называемое внутренняя сеть, которое используется для упрощения маршрутизации когда машина имеет больше одного сетевого устройства. Это полезно для файловых серверов, которые подключены к нескольким сетям, так как это означает, что только один маршрут необходим чтобы информационные сообщения о сервисах достигли сервера вне зависимости от того с какой сети идет попытка. В случае конфигурации, когда вы не запустили файловый сервер и ваша машина выступает только в роли маршрутизатора IPX этот вопрос не является легким. Как было отмечено, что конфигурация для IPX/PPP работает `лучше' если вы также настроите внутреннюю сеть. В любом случае это легко сделать, но может потребовать перекомпиляции вашего ядра. Когда вы настраиваете его через make config вы должны ответить y когда вас спросят Full internal IPX network как показано: ... ... Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] y ... ... Для настройки интерфейса внутренней сети, используйте команду _i_p_x___i_n_t_e_r_n_a_l___n_e_t, описанную ранее в разделе утилит IPX. Главная предосторожность в том что надо убедиться, что сетевой адрес IPX который вы назначили является уникальным в вашей сети и что никакая другая машина или сеть не используют его. 99.. ННаассттррооййккаа вваашшеейй LLiinnuuxx--ммаашшиинныы ккаакк ккллииееннттаа NNCCPP Если вы пользователь сети со смешанной технологией, которая включает протоколы IP и IPX, возможно что иногда вам захочется иметь на вашей linux-системе доступ к данным, хранимым на файловом сервере Novell в вашей сети. Novell предлагает пакет NFS сервера для своих серверов, который позволит вам организовать доступ, но если у вас маленький сервер или вы имеете маленькое количество людей, заинтересованных в доступе, может быть трудно оправдать цену коммерческого пакета. Volker Lendecke написал модуль ядра Linux для файловой системы, которая поддерживает подмножество Novell NCP, которая позволит вам монтировать тома Novell в файловую систему Linux без других дополнительных продуктов для вашего файлового сервера. Volker назвал пакет _n_c_p_f_s и получил необходимую информацию в основном из книги "Netzwerkprogrammierung in C" Manfred Hill и Ralf Zessin (дополнительные детали о книге находятся в файле README в пакете _n_c_p_f_s). Это программное обеспечение заставляет Linux эмулировать обычную рабочую станцию Novell для файловых сервисов. Оно также включает маленькую утилиту печати, которая позволит вам печатать в очереди печати Novell (это документировано позже в разделе Клиент Печати). Пакет _n_c_p_f_s будет работать с файловыми серверами Novell версий 3.x и поздних, он не будет работать с Novell 2.x. Клиент _n_c_p_f_s также будет работать с Novell-совместимыми продуктами, но к сожалению некоторые продукты, объявленные как совместимые не являются достаточно совместимыми. Для использования _n_c_p_f_s с файловыми серверами Novell 4.x, файловый сервер должен работать в режиме эмуляции bindery. Поддержка NDS является недвним добавлением к пакету _n_c_p_f_s и находится в ранней стадии разработки и дополнительно к этому может быть запрещено использовать этот пакет в вашей стране, из-за использования патентованной технологии. 99..11.. ГГддее ввззяяттьь nnccppffss .. Последние версии пакета _n_c_p_f_s были спроектированы, чтобы компилироваться с ядром 1.2.13 или ядрами позже 1.3.71 (это включает 2.x.x). Если вы не используете ядро ни в одной из этих категорий, тогда вам необходимо обновить ядро. Kernel-HOWTO в деталях описывает как сделать это. Вы можете получить пакет _n_c_p_f_s pпо анонимному ftp с сервера Volker по адресу: ftp.gwdg.de или sunsite.unc.edu или других серверов-зеркал. Текущая версия на время написания была: ncpfs-2.0.11.tgz или ncpfs-2.2.0.tgz, которая добавила поддержку NDS. 99..22.. ППооссттррооееннииее nnccppffss ддлляя яяддрраа 11..22..1133.. ССккооммппииллииррууййттее яяддрроо сс ппооддддеерржжккоойй EEtthheerrnneett ии IPX" Первое, что вам необходимо сделать -- убедиться что ваше ядро построено с разрешенной поддержкой IPX. В ядре версии 1.2.13 вам необходимо убедиться, что вы ответили Y на вопрос: 'The IPX protocol' как показано: ... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ... Вам также необходимо убедиться, что вы включили соответствующий драйвер для вашей карты Ethernet. Если вы не знаете как сделать это, вам необходимо прочитать документ Ethernet-HOWTO . Вы можете продолжать компиляцию вашего ядра. Помните, что необходимо запустить программу _l_i_l_o для инсталляции ядра, после завершения компиляции. РРааззааррххииввииррууййттее ппррооггррааммммннооее ооббеессппееччееннииее _n_c_p_f_s # cd /usr/src # tar xvfz ncpfs-2.0.11.tgz # cd ncpfs ППррооввееррььттее MMaakkeeffiillee Если вы намереваетесь использовать _k_e_r_n_e_l_d для автозагрузки модуля ядра _n_c_p_f_s, тогда вы должны раскомментировать строку в Makefile, которая ссылается на: KERNELD. Если вы не уверены, что знаете что это означает вы должны прочитать Kernel-HOWTO , чтобы ознакомить себя с настройкой модулей ядра. ССккооммппииллииррууййттее ппааккеетт _n_c_p_f_s Программное обеспечение должно быть скомпилировано просто без всякой дополнительной настройки: # make ССккооппииррууййттее ууттииллииттыы IIPPXX ккууддаа--ннииббууддьь,, еессллии иихх уу вваасс еещщее нет" После того как команда _m_a_k_e выполнится вы должны найти все необходимые утилиты в директории ncpfs/bin. Вы можете использовать: # make install чтобы установить утилиты в выбранные Volker'ом директории. Если вы работаете на системе использующей формат ELF, то вам необходимо перезапустить `ldconfig -v' чтобы убедиться, что разделяемые библиотеки можно найти. ССккооппииррууййттее ммооддуулльь _n_c_p_f_s_._o ккууддаа ннееооббххооддииммоо Если вы компилировали для ядра 1.2.*, то вы найдете файл названный ncpfs.o в директории ncpfs/bin после выполнения _m_a_k_e. Это модуль ядра _n_c_p_f_s. Вы должны скопировать его куда необходимо. На моей системе _d_e_b_i_a_n я скопировал его в директорию /lib/modules/1.2.13/fs и добавил ncpfs в файл /etc/modules, так что он будет автоматически загружен во время загрузки системы. Если вы используете другой дистрибутив Linux, то вы должны найти место где хранятся модули ядра и скопировать скомпилированный модуль туда, или просто скопировать модуль в вашу директорию /etc. Для загрузки модуля вручную вам необходимо выполнить команду: # insmod ncpfs.o 99..33.. 11..33..7711++++//22..00..**.. ППооссттррооееннииее nnccppffss ддлляя яяддеерр Для последних версий _n_c_p_f_s вы должны использовать ядро 1.3.71 или более новое, это включает и ядра 2.0.*. Если вы намереваетесь использовать ядро версии 1.3.71 или более новое, тогда исходный код _n_c_p_f_s для ядра уже включен в стандартный дистрибутив ядра. Вы должны только ответить Y на: Networking options --> ... ... <*> The IPX protocol ... Filesystems --> ... ... <*> NCP filesystem support (to mount NetWare volumes) ... Вам все равно необходимо следовать инструкциям по компиляции для ядер 1.2.*, так как вам нужно скомпилировать утилиты, но там не будет файла модуля ядра. 99..44.. ННаассттррооййккаа ии ииссппооллььззооввааннииее nnccppffss .. ННаассттррооййккаа ссееттееввооггоо ппррооггррааммммннооггоо ооббеессппееччеенниияя IPX" Существует два способа настройки сетевого программного обеспечения IPX. Вы можете вручную настроить всю информацию о вашей сети IPX или можете позволить программному обеспечению определить для себя некие разумные установки с помощью команды: Существует два способа настройки: # ipx_configure --auto_interface=on --auto_primary=on Это должно быть разумным в большинстве случаев, но если это у вас не работает, тогда прочитайте выше раздел 'Утилиты IPX' для настройки вашего программного обеспечения вручную. Однако были замечены проблемы при использовании этой команды в сети с клиентами под Windows 95. ППррооввееррккаа ккооннффииггууррааццииии После того как ваша сеть IPX настроена вы сможете использовать команду _s_l_i_s_t, для того чтобы увидеть список всех файловых серверов Novell в вашей сети. # slist Если комманда slist выдает сообщение подобное: ncp_connect: Invalid argument, тогда скорее всего ваше ядро не имеет поддержки IPX. Проверьте что вы действительно загрузили соответствующее ядро. При загрузке вы должны видеть сообщения о 'IPX' и 'ncpfs' в сообщениях системы. Если комманда _s_l_i_s_t не показывает список серверов, тогда вам необходимо использовать метод ручной настройки сети. ММооннттииррооввааннииее ссееррввеерраа ииллии ттооммаа NNoovveellll((ttmm)) Если ваше сетевое программное обеспечение IPX работает нормально, то вы можете сейчас смонтировать том файлового сервера Novell в файловую систему Linux. Комманда _n_c_p_m_o_u_n_t используется для этих целей и требует, чтобы вы задали по крайней мере следующую информацию: 1. Имя файлового сервера 2. Идентификатор входа файлового сервера. Если для него требуется пароль, то он также необходим вам 3. Точка монтирования, т.е. куда вы хотите примонтировать том. Это должна быть существующая директория на вашей машине. 4. (по необходимости) директория на файловом сервере, которую надо смонтировать. Существует эквивалентная комманда _n_c_p_u_m_o_u_n_t для размонтирования смонтированных файловых систем NCP. Файловые системы NCP будут отмонтироваться нормально, если ваша машине будет выключаться корректно, так что вам нет необходимости беспокоиться о размонтировании файловых систем вручную с помощью команды ncpumount до выполнения команды halt или shutdown. Пример команды для монтирования файлового сервера ACCT_FS01, с идентификационным именем guest без пароля, в директорию /mnt/Accounts должен выглядеть подобным образом: # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n Заметим, что использование опции -n указывает. что для входа в систему пароль не требуется. Та же самая процедура с указанием пароля secret должна выглядеть так: # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -P secret Если вы не укажете ни опцию -n ни опцию -P у вас запросят пароль. ППррооввееррккаа ммооннттиирроовваанниияя Если монтирование было успешным, то вы обнаружите том доступным с идентификатором пользователя (userid) для которого производился вход в систему. Вы также можете пересечь структуру директорий и найти другие файлы. В качестве альтернативы вы можете использовать опцию -V для монтирования отдельного тома. Так как NCP не обеспечивает значения uid или gid владельцев фалов, все файлы будут иметь разрешения и владельца присвоенных значениям точки монтирования, учтите это при при разделении смонтированного тома между пользователями Linux. ННаассттррооййккаа ааввттооммааттииччеессккооггоо ввыыппооллннеенниияя монтирований" Если вы имеете нужду в постоянно смонтированных томах ncp, тогда вы захотите настроить вышеприведенные команды в ваши _r_c-файлы, так что все будет выполняться автоматически во время загрузки. Если ваш дистрибутив не обеспечивает некоторый способ настройки IPX, как в debian, тогда я рекомендую поместить эти команды в ваш файл /etc/rc.local, если он у вас есть. Вы можете использовать что-то подобное: # # Start the ncp filesystem /sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o # configure the IPX network ipx_configure --auto_interface=on --auto_primary=on # guest login to the Accounting fileserver ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n # Существует другой способ настройки монтирований NCP -- это делается путем создания файла $HOME/.nwclient. Этот файл содержит детальную информацию о временных или специфических для пользователя монтирований томов NCP, которые будут выполняться регулярно. Это позволит вам хранить информацию о монтировании, так что вы можете делать их заново не указывая все параметры при каждом монтировании. Формат этого файла довольно простой: # Первая запись - запись 'сервера по умолчанию' и она используется # когда вы не указываете сервер явно. # # Пользователь TERRY входит на файловый сервер DOCS_FS01 с паролем 'password' DOCS_FS01/TERRY password # # Гостевой вход на файловый сервер ACCT_FS01 без пароля ACCT_FS01/GUEST - Для активизации этих монтирований вы можете использовать $ ncpmount /home/terry/docs для монтирования: DOCS_FS01 с идентификатором TERRY в директорию /home/terry/docs. Заметим, что эта запись была выбрана потому что сервер не был указан в команде монтирования. Если будет использоваться следующая команда: $ ncpmount -S ACCT_FS01 /home/terry/docs тогда том для пользователя GUEST на сервере ACCT_FS01 должен будет быть смонтирован. ЗЗааммееччааннииее:: чтобы этот механизм работал, вам необходимо чтобы разрешение на файл $HOME/.nwclient было равно 0600, так что вы для этого должны использовать команду: $ chmod 0600 $HOME/.nwclient Если пользователям не являющимися администратором разрешено использовать этот механизм, тогда команда _n_c_p_m_o_u_n_t должна быть с установленным Set Userid Root, так что вы должны дать этой команде такое разрешение: # chmod 4755 ncpmount ППооппррооббууййттее ууттииллииттуу _n_s_e_n_d утилита для посылки сообщений пользователям Novell также включена в этот пакет, она называется _n_s_e_n_d и используется как показано: # nsend rod hello there должна послать сообщение "hello there" пользователю вошедшему под именем "rod" на ваш "основной" файловый сервер (первая запись в вашем файле .nwclient. Вы можете указать другой файловый сервер, используя тот же самый синтаксис как для команды _n_c_p_m_o_u_n_t. 1100.. ННаассттррооййккаа вваашшеейй LLiinnuuxx ммаашшиинныы ккаакк ссееррввеерр NNCCPP.. Существует два пакета, которые позволяют Linux обеспечивать функции файлового сервера Novell. Они оба позволяют осуществлять доступ к файлам на вашей Linux машине для пользователей использующих клиентское программное обеспечение Novell NetWare. Пользователи могут присоединять и мапировать файловые системы как локальные диски на их машинах точно также как они могут делать на настоящем файловом сервере Novell. Вы можете хотеть попробовать оба, чтобы увидеть какой лучше отвечает вашим намерениям. 1100..11.. ППааккеетт mmaarrss__nnwwee Martin Stover разработал пакет _m_a_r_s___n_w_e для того чтобы обеспечить в linux работу файловых сервисов и сервисов печати для клиентов NetWare. В случае если вас удивляет имя, то оно расшифровывается как: _m_a_r_s___n_w_e это Martin Stovers Netware Emulator (Эмулятор Netware Мартина Стоверса). 1100..11..11.. ВВооззммоожжннооссттии mmaarrss__nnwwee .. _m_a_r_s___n_w_e реализует подмножество полного Novell NCP для файловых сервисов, основанного на дисках bindery и также сервисы печати. Также вероятно что этот пакет содержит ошибки, но много людей используют его и число ошибок постоянно уменьшается с выпуском новых версий. 1100..11..22.. ГГддее ввззяяттьь mmaarrss__nnwwee .. Вы можете получить _m_a_r_s___n_w_e с ftp.gwdg.de или с . Версия в момент написания документа была: mars_nwe-0.99.pl10.tgz. 1100..11..33.. ППооссттррооееннииее ппааккееттаа mmaarrss__nnwwee ППооссттррооееннииее яяддрраа сс ппооддддеерржжккоойй EEtthheerrnneett ии IIPPXX В ядре версии 1.2.13 вам необходимо только убедиться, что вы ответили Y на вопрос: 'The IPX protocol' и N на вопрос: `Full internal IPX network' как показано: ... ... The IPX protocol (CONFIG_IPX) [n] y ... ... Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] n ... ... В более новых ядрах производится подобный процесс, но действительный текст запроса может слегка измениться. Вам также надо убедиться, что вы включили соответствующий драйвер для вашей карты Ethernet. Если вы не знаете как сделать это, вам необходимо прочитать документ Ethernet-HOWTO . Затем вы можете приступить к построению вашего ядра. Помните, что надо запустить команду _l_i_l_o для установки ядра, когда его компиляция завершится. РРааззоожжммииттее ппааккеетт _m_a_r_s___n_w_e # cd /usr/src # tar xvfz mars_nwe-0.99.pl10.tgz ППооссттррооееннииее _m_a_r_s___n_w_e Процесс построения пакета очень прост. Первый шаг -- просто запустить make, эта команда создаст для вас файл config.h. Затем вы должны посмотреть и отредактировать файл config.h если это необходимо. Это позволит настроить такие настройки как, какие директории будут использоваться и максимальное количество сессий и томов, которые будет поддерживать сервер. Самые важные выглядят так: FILENAME_NW_INI расположение инициализационного файла PATHNAME_PROGS где находятся выполнимые программы поддержки PATHNAME_BINDERY где будут находится файлы 'bindery' PATHNAME_PIDFILES директория, куда будут записываться 'pid' файлы MAX_CONNECTIONS максимальное количество одновременных соединений MAX_NW_VOLS максимальное количество томов, которое будет поддерживать mars_nwe MAX_FILE_HANDLES_CONN максимальное количество открытых файлов на одно соединение WITH_NAME_SPACE_CALLS если вы хотите поддерживать клиентов ncpfs INTERNAL_RIP_SAP хотите ли вы поддерживать маршрутизацию rip/sap с помощью mars_nwe SHADOW_PWD хотите ли вы использовать 'теневые пароли' или нет Значения по умолчанию должны быть нормальными, но все равно проверьте их. Когда это сделано, выполнение команд: # make # make install построит сервер и установит его в соответствующие директории. Установочный скрипт также устанавливает конфигурационный файл /etc/nwserv.conf. ННаассттррооййккаа ссееррввеерраа Настройка довольно проста. Вам необходимо отредактировать файл /etc/nwserv.conf. Формат этого файла на первый взгляд может показаться загадочным, но на самом деле он довольно прост. Файл содержит некоторое количество одностроковых настроечных данных. Каждая строка разделена пробелами и начинается с числа, которое обозначает содержимое этой строки. Все символы следующие за символом '#' считаются комментарием и игнорируются. Martin обеспечивает пример настроечного файла в пакете, но представлю упрощенный пример как альтернативу для вас. # ТОМА (максимум 5) # Только том SYS является необходимым. Директория содержащая том SYS # должна содержать директории: LOGIN, PUBLIC, SYSTEM, MAIL. # Опция 'i' регистр букв. # Опция 'k' преобразует все имена в запросе NCP в нижний регистр # Опция 'm' обозначает том как сменный (полезно для cdroms и т.п.) # Опция 'r' устанавливает том только для чтения # Опция 'o' показывает, что том является единой файловой системой # Опция 'P' разрешает командам использоваться как файлы # Опция 'O' позволяет использовать использовать пространство имен OS/2 # Опция 'N' разрешает использование пространства имен NFS # По умолчанию в верхнем регистре. # Синтаксис: # 1 <Имя тома> <Путь к тому> <Опции> 1 SYS /home/netware/SYS/ # SYS 1 DATA /home/netware/DATA/ k # DATA 1 CDROM /cdrom kmr # CDROM # ИМЯ СЕРВЕРА # Если не установлено, тогда имя машины linux hostname будет # сконвертировано в верхний регистр и использовано. Этот пункт # является опциональным, если не настроено будеи использовано имя # машины. # Синтаксис: # 2 <Имя сервера> 2 LINUX_FS01 # АДРЕС ВНУТРЕННЕЙ СЕТИ # Адрес внутренней сети IPX это свойство, которое упрощает # маршрутизацию IPX для многосетевых машин (машин, которые имеют # порты больше чем на одной сети IPX). # Синтаксис: # 3 <Адрес внутренней сети> [<Номер узла>] # или: # 3 auto # # Если вы используете 'auto', тогда будет использован IP адрес # вашей машины. ЗАМЕЧАНИЕ: это может быть угрожающим, пожалуйста # будьте уверены, что используете уникальное число. # Адрес имеет длину 4 байта в шестнадцатиричной форме (требуется # лидирующий 0x). 3 0x49a01010 1 # СЕТЕВОЕ УСТРОЙСТВО(А) # Этот раздел настраивает вашу сеть IPX. Если она у вас уже # настроена, вам этот пункт не нужен. Это тоже самое что и # использование утилит ipx_configure/ipx_interface до запуска # сервера. # Синтаксис: # 4 <Номер сети IPX> <имя устройства> <тип фрейма> [] # Frame types: ethernet_ii, 802.2, 802.3, SNAP 4 0x39a01010 eth0 802.3 1 # СОХРАНЯТЬ МАРШРУТЫ IPX ПОСЛЕ ОКОНЧАНИЯ РАБОТЫ СЕРВЕРА # Синтаксис: # 5 <флаг> # 0 = не сохранять маршруты, 1 = сохранять маршруты 5 0 # ВЕРСИЯ NETWARE # Синтаксис: # 6 <версия> # 0 = 2.15, 1 = 3.11 6 1 # ОБРАБОТКА ПАРОЛЯ # Настоящие клиенты Novell для DOS поддерживают процедуру, которая # шифрует пароли при их изменении. Вы можете выбрать, хотите ли вы # чтобы ваш сервер поддерживал эту процедуру или нет. # Синтаксис: # 7 <флаг> # <флаг> может быть: # 0 force password encryption. (Клиенты не могут сменить пароль) # 1 force password encryption, разрешить изменение нешифрованного пароля # 7 разрешаются нешифрованные пароли, но не пустые # 8 разрешаются нешифрованные пароли включая пустые # 9 полностью нешифрованные пароли (не работает с OS/2) 7 1 # МИНИМАЛЬНЫЕ ПРАВА GID UID # разрешения используемые для подсоединения без входа. Эти разрешения # будут использоваться для файлов на присоединении к вашему # основному серверу # Синтаксис: # 10 # 11 # из /etc/passwd, /etc/groups 10 200 11 201 # ПАРОЛЬ АДМИНИСТРАТОРА (SUPERVISOR) # Может быть убран после первого запуска сервера. Сервер зашифрует # эту информацию в файл bindery после запуска. Вы должны избегать # использования пользователя 'root' и вместо этого использовать # другой идентификатор для администрирования файлового сервера mars # # Эта запись читается и шифруется в файлы bindery сервера, так что он # необходим только при первом запуске сервера, чтобы обеспечить # чтобы пароль не украли. # # Синтаксис: # 12 <Идентификатор администратора> <имя пользователя Unix> [<пароль>] 12 SUPERVISOR terry secret # ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ # Этот раздел ассоциирует идентификаторы NetWare с идентификаторами # пользователей unix. Наличие пароля является опциональным. # Синтаксис: 13 <Идентификатор пользователя> <имя пользователя в Unix> [<пароль>] 13 MARTIN martin 13 TERRY terry # НАСТРОЙКА СИСТЕМЫ "ЛЕНИВОГО" АДМИНИСТРИРОВАНИЯ # Если у вас большое количество пользователей и вы не хотите # беспокоиться использованием индивидуального мапирования # пользовательских имен, как в предыдущем случае, то вы можете # автоматически мапировать идентификаторы mars_nwe в имена # пользователей Linux. Но в настоящее время нет способа использовать # пароли linux, так что все пользователи настроенные таким способом # будут пользоваться единственным паролем, указанным здесь. Я # рекомендую не использовать это до тех пор пока вас перестанет # беспокоить безопасность. # Синтаксис: # 15 <флаг> <общий пароль> # <флаг>: 0 - не делать автоматическое мапирование пользователей # 1 - автоматически мапировать пользователей не указанных выше # 99 - автоматически мапировать всех пользователей этим способом 15 0 duzzenmatta # ПРОВЕРКА РАБОТОСПОСОБНОСТИ # mars_nwe будет автоматически убеждаться, что определенные # директории существуют, если установлен этот флаг # Синтаксис: # 16 <флаг> # <флаг> - 0 для нет, не делать, или 1 для да, делать проверку 16 0 # ОЧЕРЕДИ ПЕЧАТИ # Этот раздел ассоциирует принтера NetWare с принтерами unix. # Директории очередей должны быть созданы вручную до попытки печати. # Директории очередей НЕ являются очередями lpd. # Синтаксис: # 21 <имя очереди> <директория очереди> <команда печати unix> 21 EPSON SYS:/PRINT/EPSON lpr -h 21 LASER SYS:/PRINT/LASER lpr -Plaser # ФЛАГИ ОТЛАДКИ # Обычно они не нужны, но могут быть полезными если вы ищите проблему. # Синтаксис: # <тема отладки> <флаг отладки> # # 100 = IPX KERNEL # 101 = NWSERV # 102 = NCPSERV # 103 = NWCONN # 104 = start NWCLIENT # 105 = NWBIND # 106 = NWROUTED # 0 = запрещает отладку, 1 = разрешает отладку 100 0 101 0 102 0 103 0 104 0 105 0 106 0 # ЗАПУСК NWSERV В ФОНОВОМ РЕЖИМЕ И ИСПОЛЬЗОВАНИЕ ФАЙЛА ПРОТОКОЛА # Синтаксис: # 200 <флаг> # 0 = запуск NWSERV в нормальном режиме и не использовать файл протокола # 1 = запуск NWSERV в фоновом режиме и использовать файл протокола 200 1 # ИМЯ ФАЙЛА ПРОТОКОЛА # Синтаксис: # 201 <файл протокола> 201 /tmp/nw.log # ДОПОЛНЯТЬ ПРОТОКОЛ ИЛИ ПЕРЕЗАПИСЫВАТЬ # Синтаксис: # 202 <флаг> # 0 = добавлять к существующему файлу протокола # 1 = переписывать существующий файл протокола 202 1 # ВРЕМЯ ВЫКЛЮЧЕНИЯ СЕРВЕРА # Этот раздел устанавливает время между выдачей команды SERVER DOWN и # действительным выключением сервера. # Синтаксис: # 210 <время> # в секундах. (по умолчанию 10) 210 10 # ИНТЕРВАЛ МЕЖДУ ПЕРЕДАЧАМИ ШИРОКОВЕЩАТЕЛЬНОЙ ПЕРЕДАЧЕЙ МАРШРУТОВ # Время в секундах между широковещательными передачами сервера. # Синтаксис: # 211 <время> # в секундах. (по умолчанию 60) 211 60 # ИНТЕРВАЛ ПРОТОКОЛИРОВАНИЯ МАРШРУТИЗАЦИИ # Устанавливает сколько широковещательных передач произойдет до # протоколирования маршрутизационной информации. # Синтаксис: # 300 <число> 300 5 # ФАЙЛ ПРОТОКОЛА МАРШРУТИЗАЦИИ # Устанавливает имя файла протокола маршрутизации # Синтаксис: # 301 <имя файла> 301 /tmp/nw.routes # ДОБАВЛЕНИЕ/ПЕРЕЗАПИСЬ МАРШРУТНОЙ ИНФОРМАЦИИ # Устанавливает хотите ли вы добавлять информацию к существующему # файлу протокола, или перезаписывать его. # Синтаксис: # 302 <флаг> # - 0 для дополнения, 1 для создания/перезаписи 302 1 # WATCHDOG TIMING # Устанавливает хронометраж для наблюдательных сообщений, чтобы # убедиться что сеть жива. # Синтаксис: # 310 <значение> # <значение> = 0 - всегда посылать наблюдательные сообщения # < 0 - (-ve) для запрета наблюдений # > 0 - посылать наблюдательные сообщения при # падении трафика ниже 'n' ticks 310 7 # ФАЙЛ СТАНЦИЙ # Устанавливает имя для файла станций, который определяет для каких # машин этот файловый сервер будет выступать как первичный файловый # сервер. Синтаксис этого файла описан в директории 'examples' исходного # кода пакета. # Синтаксис: # 400 <имя файла> 400 /etc/nwserv.stations # ОБРАБОТКА 'GET NEAREST FILESERVER' # Устанавливает как будет обрабатываться запрос SAP 'Get Nearest # Fileserver' (получить ближайший файловый сервер). # Синтаксис: # 401 <флаг> # <флаг>: 0 - запретить запросы 'Get Nearest Fileserver'. # 1 - файл 'stations' перечисляет исключаемые станции. # 2 - файл 'stations' перечисляет включаемые станции. 401 2 ЗЗааппуусскк ссееррввеерраа Если вы так настроили сервер, что он полагается на внешние программы для настройки вашей сети и и/или обеспечения функций маршрутизации, тогда вы должны запустить эти программы до запуска сервера. Предполагая, что вы настроили сервер, так что он настроит ваши интерфейсы и будет обеспечивать сервисы маршрутизации, тогда вам необходимо только выполнить команду: # nwserv ППррооввееррккаа ррааббооттыы ссееррввеерраа Для тестирования сервера вы первым делом должны попытаться присоединиться и войти с клиента NetWare на вашей сети. Затем вы должны сделать CAPTURE с клиента и попытаться напечатать. Если обе этих вещи работают хорошо, тогда сервер работает. 1100..22.. ППааккеетт llwwaarreedd Ales Dryak разработал _l_w_a_r_e_d чтобы позволить Linux функционировать как файловый сервер на базе NCP. Ales назвал пакет _l_w_a_r_e_d, сокращение для _L_i_n_W_a_r_e _D_a_e_m_o_n. 1100..22..11.. ВВооззммоожжннооссттии llwwaarreedd Сервер _l_w_a_r_e_d обеспечивает подмножество всех функций Novell NCP. Он включает функции сообщений, но не обеспечивает возможности печати. В настоящее время он не совсем хорошо работает с клиентами Windows95 или Windows NT. Сервер _l_w_a_r_e_d полагается на внешние программы для выполнения функций построения и обновления таблиц маршрутизации IPX и таблиц SAP. "Плохие" клиенты могут вызвать падение сервера. Что важно, возможность трансляции имен не была включена. Сервер работает с оболочками NETX и VLM NetWare. 1100..22..22.. ППооллууччееннииее llwwaarreedd Пакет _l_w_a_r_e_d может быть построен для любого ядра новее чем 1.2.0, я рекомендую вам использовать ядро версии 1.2.13, так как для этого не требуется заплаток (patches) для ядра. Некоторые функциональные возможности IPX изменились в ядрах версии 1.3.* и это означает, что требуются заплатки чтобы все работало правильно. Соответствующие заплатки включены в состав новых ядер, так что если вы должны использовать ядра в стадии alpha, вы все равно сможете заставить _l_w_a_r_e_d работать правильно. Вы можете получить пакет _l_w_a_r_e_d по анонимному ftp с: klokan.sh.cvut.cz или с: sunsite.unc.edu или серверов-зеркал. Текущая версия в момент написания была: lwared-0.95.tar.gz. 1100..22..33.. ППооссттррооееннииее llwwaarreedd РРааззоожжммииттее ппааккеетт _l_w_a_r_e_d Выполните что-то подобное этому: # cd /usr/src # tar xvpfz lwared-0.95.tar.gz ППооссттррооееннииее яяддрраа сс ппооддддеерржжккоойй EEtthheerrnneett ии IIPPXX Если вы используете alpha версии ядер 1.3.*, тогда вы должны использовать ядро версии 1.3.17 или более новое, потому-что прилагаемые заплатки были сделаны для него. Ядра 1.3.* старее чем 1.3.17 требуют ручного исправления для установки (_н_е_к_о_т_о_р_а_я _и_н_ф_о_р_м_а_ц_и_я _о _т_о_м _к_а_к _с_д_е_л_а_т_ь _э_т_о _в_к_л_ю_ч_е_н_а _в _ф_а_й_л INSTALL в составе пакета). Для установки заплаток для ядра версии 1.3.17 или более новых вы должны использовать команду: # make patch После приложения патчей, если необходимо, следующая вещь которую вам необходимо сделать -- это убедиться что ваше ядро скомпилированно с поддержкой IPX. Для ядра версии 1.2.13 вам необходимо только убедиться, что вы ответили Y на вопрос: 'The IPX protocol' как показано: ... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ... В более новых ядрах процесс сходен, но текст запроса может незначительно измениться. Вам также будет необходимо проверить, что вы включили соответствующий драйвер для вашей карты Ethernet. Если вы не знаете как сделать это, тогда вы должны прочитать документ Ethernet-HOWTO . Затем вы можете продолжать построение вашего ядра. Помните, что необходимо запустить _l_i_l_o для установки ядра, после окончания процесса компиляции. ККооммппиилляяцциияя ии ууссттааннооввккаа _l_w_a_r_e_d Для компиляции _l_w_a_r_e_d вы должны сначала проверить, и если необходимо отредактировать, файл server/config.h. Этот файл содержит различные настройки, которые будут управлять поведением вашего сервера при запуске. Значения по умолчанию достаточно разумны, но вы можете проверить, что указанные директории для файлов протокола и файлов настройки соответствуют вашей системе. # make depend # make # make install Я заметил, что 'make depend' жалуется на то что не нашла файл float.h на моей системе, но все равно работает. Я также нашел, что когда я пытался компилировать с gcc 2.6.3, я изменил строку: #include на #include в lib/ipxkern.c, так как файл иногда меняет имя. программы демонов маршрутизации в вашу директорию /usr/sbin, программу _l_w_p_a_s_s_w_d в директорию /usr/bin, программы работы с IPX будут установлены в директорию /sbin и справочные страницы будут установлены в директорию /usr/man. Если любое из этих директорий не подходят для вашей системы, то вы должны отредактировать файл Makefile и изменить конечные директории на нужные. 1100..22..44.. ННаассттррооййккаа ии ииссппооллььззооввааннииее llwwaarreedd ННаассттррооййккаа ссееттии IIPPXX Первая вещь которую вы должны сделать -- это настройка ваших интерфейсов Ethernet для поддержки сетей IPX, которые ваш сервер будет поддерживать. Для того чтобы сделать это вам необходимо знать сетевые адреса IPX для каждого из сегментов LAN, какие устройства Ethernet (eth0, eth1 etc.) находятся на каком сегменте, какой тип фреймов (802.3, EtherII etc.) использует каждый сегмент LAN и какой адрес внутренней сети должен использовать ваш сервер (это необходимо только если ваш сервер будет обслуживать больше одного сегмента LAN). Настройка для сервера, который находится в двух непохожих сегментах с сетевыми адресами IPX равными 23a91300 и 23a91301 и адресом внутренней сети bdefaced может выглядеть так: # ipx_internal_net add BDEFACED 1 # ipx_interface add eth0 802.3 23a91300 # ipx_interface add eth1 etherii 23a91301 ЗЗааппуусскк ддееммоонноовв ммаарршшррууттииззааццииии Программное обеспечение ядра в действительности делает только перекладывание пакетов IPX, также как и для IP, но ядро требует дополнительных программ для управления обновлением таблицы маршрутизации. Для IPX требуются два демона и оба поставляются с _l_w_a_r_e_d: _i_p_x_r_i_p_d управляет маршрутизационной информацией IPX, а _i_p_x_s_a_p_d управляет информацией SAP. Для запуска демонов вам только необходимо указать место где они могут писать свои файлы протокола: # ipxripd /var/adm/ipxrip # ipxsapd /var/adm/ipxsap ННаассттррооййккаа ссееррввеерраа _l_w_a_r_e_d Существует два файла, которые вы должны настроить вручную чтобы разрешить пользователям входить на ваш сервер _l_w_a_r_e_d. Это: /etc/lwpasswd Это место где хранится информация о пользователях LinWare. программа _l_w_p_a_s_s_w_d используется для работы с записями. В простейшем случае файл /etc/lwpasswd выглядит следующим образом: ales: terryd: guest: Этот формат является простым списком идентификаторов входа с последующим символом ':' и затем шифрованная версия пароля для входа. Здесь есть несколько дополнений: отсутствие шифрованного пароля означает вход без пароля, пользователи LinWare должны быть зарегестрированы в Linux, так что любой пользователь кроме записи в файле /etc/lwpasswd также должен иметь запись в /etc/passwd и только пользователь root является пользователем, который может менять пароль для других пользователей LinWare. Если вы вошли в систему как root то вы можете сменить пароль пользователя LinWare как это показано: # lwpasswd rodg Changing password for RODG Enter new password: Re-type new password: Password changed. /etc/lwvtab Этот файл содержит таблицу томов LinWare и хранить информацию о том какие директории будут доступны для пользователей LinWare (этот файл похож по природе на файл NFS /etc/exports). Простой пример формата этого файла: SYS /lwfs/sys DATA /lwfs/data HOME /home Формат очень прост: После имени тома через пробел следует экспортируемая директория Linux. Вы должны иметь ппоо ккррааййннеейй ммееррее запись для тома SYS, чтобы запустить сервер. Если вы намереваетесь для ваших DOS клиентов использовать сервер LinWare как первичный файловый сервер, тогда вы должны создать стандартную структуру директорий тома SYS в директории экспортируемой как ваш том SYS. Так как эти файлы являются патентованными и авторскими правами на них владеет корпорация Novell, вы дожны иметь на них лицензию. Если ваши пользователи будут использовать файловый сервер Novell как первичный сервер, то это не является необходимым. ЗЗааппуусскк ссееррввеерраа _l_w_a_r_e_d tada! # lwared Это выглядит разочаровывающе, не так ли? Ok, у вас есть вопрос? Какое имя сервера будет присвоено? Если вы запустите сервер как показано выше, то имя сервера LinWare будет присвоено на основе имени возвращенного командой Linux _h_o_s_t_n_a_m_e. Если вы хотите какое-то другое имя, тогда вы можете задать имя сервера при его старте, например команда: # lwared -nlinux00 должна запустить сервер с именем linux00. ТТеессттииррооввааннииее ссееррввеерраа _l_w_a_r_e_d Самая первая вещь для проверки -- это то что ваш сервер LinWare появился в выводе команды _s_l_i_s_t запущенной с клиента DOS на вашей сети. Программа _s_l_i_s_t хранится на томе SYS файлового сервера Novell, так что вы должны сделать это с какой-то машины уже подключенной куда-нибудь. Если это не произошло, то проверьте что запущены _i_p_x_s_a_p_d и _l_w_a_r_e_d. Если выполнение команды _s_l_i_s_t прошло удачно, то попытайтесь подключиться к серверу и замапировать том: C:> attach linux00/ales ... ... C:> map l:=linux00/data: C:> l: Вы должны затем нормально обращаться с новым мапированием также как с другими. Разрешения на файлы которые вы будете иметь, будут основаны на разрешениях, которые разрешены вашими правами на _l_i_n_u_x, которые являются параллельными вашему идентификатору LinWare. 1111.. ННаассттррооййккаа ммаашшиинныы ппоодд LLiinnuuxx ккаакк ккллииееннттаа ппееччааттии NNoovveellll Пакет _n_c_p_f_s включает две маленькие программы, которые позволяю вам производить печать с вашей Linux-машины на принтер подключенный к серверу печати Novell. Команда _n_p_r_i_n_t позволяет вам печатать файл на очередь печати NetWare. Команда _p_q_l_i_s_t позволяет вам выводить список доступных очередей печати на сервере NetWare. Для получения и установки этих команд просто следуйте описанным ранее инструкциям относящимся к клиенту NCP. Обе команды требуют чтобы вы указали имя пользователя и пароль, так что вы можете нормально рассматривать создание некоторых скриптов чтобы сделать задачу печати более легкой. Пример может выглядеть так: # pqlist -S ACCT_FS01 -U guest -n # nprint -S ACCT_FS01 -q LASER -U guest -n filename.txt Синтаксис схож с синтаксисом команды _n_c_p_m_o_u_n_t. Вышеприведенные примеры предполагают, что файловый сервер ACCT_FS01 имеет пользователя guest без пароля, очередь печати называемая LASER существует и пользователю guest разрешено печатать в нее. На моих машинах с Linux у меня имеется короткий скрипт на командном языке для каждого из принтеров Novell. Они могут быть использованы как фильтры печати, для того, чтобы можно было печатать используя стандартную систему печати Linux. 1122.. ННаассттррооййккаа вваашшеейй LLiinnuuxx--ммаашшиинныы ккаакк ссееррввеерраа ппееччааттии NNoovveellll Программа, которая позволяет вашей Linux-машине выступать как сервер печати в сети Netware включена в пакет _n_c_p_f_s. Для инструкций о том как получить и построить пакет, следуйте информации выше, в разделе `Клиент Netware'. Альтернативная поддержка включена в пакет _m_a_r_s___n_w_e. 1122..11.. ННееппррееммеенннныыее ууссллооввиияя Настройка довольно проста, но полагается на то что вы уже выполнили настройку принтеров и они работают под Linux. Описание процесса настройки дается в Printing-HOWTO . 1122..22.. ННаассттррооййккаа Кагда у вас есть работающая конфигурация принтеров, и вы построили и установили утилиту _p_s_e_r_v_e_r, то вам необходимо добавить команды ее запуска в ваши rc-файлы. Точно какая команда будет использоваться будет завесить от того как вы хотите управлять ею, но простейшая форма подобная следующей будет работать: # pserver -S ACCT_01 -U LASER -P secret -q LASERJET Этот пример говорит утилите _p_s_e_r_v_e_r войти на файловый сервер ACCT_01 с именем пользователя LASER и паролем secret и брать задания из очереди печати LASERJET. Когда входящее задание печати будет переслано то будет использоваться команда печати по умолчанию _l_p_r для переноса задания печати на демон печати Linux. Очередь печати должна быть уже определена на файловом сервере и пользователь должен иметь привелегии оператора для этой очереди. Вы можете использовать, если хотите, любую команду Linux для принятия и печати задания печати. Аргумент -c позволяет вам указать точную команду печати. Например: # pserver -S ACCT_01 -U LASER -P secret -q LASERJET -c "lpr -Plaserjet" должен работать также как предыдущий пример за исключением того, что он будет посылать задания на конфигурацию laserjet из _p_r_i_n_t_c_a_p вместо конфигурации по умолчанию. 1133.. ООббззоорр ккооммаанндд ппооллььззооввааттеелляя ии ааддммииннииссттрриирроовваанниияя nnccppffss Недавние версии пакета _n_c_p_f_s Volker'а, включают набор пользовательских команд и команд администрирования, которые вы сможете использовать. Эти утилиты компилируются и устанавливаются как часть инсталляционного процесса _n_c_p_f_s, так что если у вас их еще нет, то следуйте инструкциям приведенным выше в разделе 'Клиент Novell' для построения и установки утилит. Детальная информация приведена в поставляемых справочных страницах, но я приведу короткое описание этих команд: 1133..11.. ККооммааннддыы ппооллььззооввааттеелляя nnccooppyy Network Copy - позволяет эффективно копировать файлы используя функцию копирования Netware вместо копирования по сети. nnpprriinntt Network Print - позволяет вам печатать файл на очередь печати Netware на сервере Netware. nnsseenndd Network Send - позволяет вам послать сообщение другим пользователям на сервере Netware. nnwwbboollss List Bindery Objects - позволяет вам увидеть содержимое bindery на сервере Netware. nnwwbboopprrooppss List Properties of a Bindery Object - позволяет вам просмотреть свойства объекта bindery Netware. nnwwbbppsseett Set Bindery Property - позволяет вам установить свойства объекта bindery Netware. nnwwbbppvvaalluueess Print Netware Bindery Objects Property Contents - позволяет вам напечатать содержимое свойства bindery Netware. nnwwffssiinnffoo Fileserver Information - печатает некоторую общую информацию о сервере Netware. nnwwppaasssswwdd Netware Password - позволяет вам сменить пароль пользователя Netware. nnwwrriigghhttss Netware Rights - показывает список прав ассоциированных с отдельным файлом или директорией. nnwwuusseerrlliisstt Userlist - перечисляет пользователей в настоящее время подключенных к файловому серверу Netware. ppqqlliisstt Print Queue List - показывает содержимое очереди печати Netware. sslliisstt Server List - показывает список известных серверов Netware. 1133..22.. УУттииллииттыы ааддммииннииссттрриирроовваанниияя nnwwbbooccrreeaattee Create a Bindery Object - позволяет вам создать объект bindery Netware. nnwwbboorrmm Remove Bindery Object - позволяет вам удалить обьект bindery Netware. nnwwbbppaadddd Add Bindery Property - позволяет вам установить значение существующего свойства объекта bindery Netware. nnwwbbppccrreeaattee Create Bindery Property - позволяет вам создать новое свойство для существующего объекта bindery Netware. nnwwbbpprrmm Remove Bindery Property - позволяет удалить свойство из объекта bindery Netware. nnwwggrraanntt Grant Trustee Rights - позволяет вам установить попечительские (trustee) права на директорию на файловом сервере Netware. nnwwrreevvookkee Revoke Trustee Rights - позволяет вам удалить попечительские права с директории на файловом сервере Netware. 1144.. ННаассттррооййккаа PPPPPP ддлляя ппооддддеерржжккии IIPPXX Новые версии _p_p_p_d, демона PPP для Linux, имеют поддержку, которая позволит вам переносить пакеты IPX через последовательные соединения PPP. Вам необходим по крайней мере демон версии ppp-2.2.0d. Смотрите PPP-HOWTO для детальной информации о том где найти его. При компиляции _p_p_p_d вы должны убедиться что вы разрешили поддержку IPX добавив следующие две строки: IPX_CHANGE = 1 USE_MS_DNS = 1 в файл: /usr/src/linux/pppd-2.2.0f/pppd/Makefile.linux. IPX_CHANGE настраивает поддержку IPX в PPP. Определение USE_MS_DNS позволяет машинам с Microsoft Windows95 делать Name Lookups (Поиск Имен). Настоящий фокус чтобы заставить это все работать -- это знание как настраивать демона. Существует много способов настройки, но я опишу только два о которых я получил какую-то информацию. Я никогда не пытался сделать это, так что рассматривайте это раздел как экспериментальный, и если у вас что-то получится дайте мне знать. 1144..11.. ННаассттррооййккаа ссееррввеерраа IIPPXX//PPPPPP Первая вещь которую вам нужно сделать это настроить вашу Linux-машину как сервер IP/PPP. Не паникуйте. Это не так трудно. Далее, следуйте инструкциям в PPP-HOWTO и все должно быть ok. Когда вы сделаете это есть несколько простых изменений, которые вам нужны чтобы заставить работать IPX на той же конфигурации. 1144..11..11.. ППееррввыыее шшааггии Один из первых шагов которые вы должны сделать -- это настройка вашей Linux машины как маршрутизатора IPX, как это описано в соответствующем разделе выше в этом документе. Вам не нужно использовать команду _i_p_x___r_o_u_t_e для интерфейса ppp потому-что _p_p_p_d сам настроит это для вас как он это делает с IP. Когда у вас запущен демон _i_p_x_d он сам будеи автоматически определять любые новые интерфейсы IPX и распространять маршруты для них. В этом случае ваша машина будет видна другим машинам автоматически при подсоединении. 1144..11..22.. ДДииззааййнн Когда вы работаете как сервер, то вы несете ответственность за назначение сетевых адресов на каждое PPP-соединение, когда оно установлено. Это важный вопрос, каждое PPP-соединение будет являться сетью IPX и должно иметь уникальный сетевой адрес IPX. Это означает, что вы должны решить как вы будете назначать адреса и какими они будут. Простое решение заключается в выделении одного сетевого адреса IPX на каждое последовательное устройство, которое будет поддерживать IPX/PPP. Вы можете выдавать сетевые адреса IPX основанные на идентификаторе подключающегося пользователя, но я не вижу особенно хорошей причины чтобы делать это. Я буду предполагать что у вас это сделано, и что вы имеете два последовательных устройства (модема), которые вы будете использовать. Адреса которые я присвоил в этом примере следующие: устройство Сетевой адрес IPX ------ ------------------ ttyS0 0xABCDEF00 ttyS1 0xABCDEF01 1144..11..33.. ННаассттррооййккаа ppppppdd .. Настройте ваш файл /etc/ppp/options.ttyS0 как показано: ipx-network 0xABCDEF00 ipx-node 2:0 ipxcp-accept-remote и ваш файл /etc/ppp/options.ttyS1 как: ipx-network 0xABCDEF01 ipx-node 3:0 ipxcp-accept-remote Это скажет _p_p_p_d выделить соответствующий сетевой адрес IPX для соединения когда оно установлено, установить номер локального узла в 2 или 3 и позволит удаленному узлу переписать номер удаленного узла в тот который ему нужен. Заметим что каждый из этих узлов являются шестнадцатиричными числами и требуется 0x а начале сетевого адреса, но не требуется в начале адреса узла. Существуют другие места в которых эта информация может быть настроена. Если вы имеете только один модем, то запись должна быть расположена в файле /etc/ppp/options. В других случаях эта информация может быть передана через командную строку _p_p_p_d. 1144..11..44.. ППррооввееррккаа ннаассттррооййккии ссееррввеерраа Для проверки настройки сервера вам необходим уже работающий клиент. Когда клиент подсоединяется, входит в систему и запустится _p_p_p_d, то он присвоит сетевой адрес, проверьте номер узла клиента этого сервера и согласуете номера узлов клиентов. Когда это будет выполнено и после того как _i_p_x_d определит новый интерфейс, клиент сможет устанавливать соединения IPX с удаленными машинами. 1144..22.. ННаассттррооййккаа ккллииееннттаа IIPPXX//PPPPPP В настройке клиента необходимость настройки вашей Linux-машины как маршрутизатора IPX зависит от того имеете ли вы локальную сеть для которой вы хотите выступать как маршрутизатор или нет. Если у вас автономная машина, подключенная к серверу IPX/PPP, то вам нет необходимости запускать _i_p_x_d, но если у вас есть локальная сеть и вы хотите чтобы все машины в этой сети могли использовать IPX/PPP маршрутизацию, то вы должны настроить и запустить _i_p_x_d как описано. Эта настройка более проста потому-что у вас нет множественных последовательных устройств, которые необходимо настраивать. 1144..22..11.. ННаассттррооййккаа ppppppdd Простейшая конфигурация это такая, которая позволяет серверу обеспечивать всю информацию о настройке сети IPX. Эта конфигурация должна быть совместимой с конфигурацией сервера, описанной выше. Далее вам необходимо добавить некоторые опции в ваш файл /etc/ppp/options: ipxcp-accept-network ipxcp-accept-remote ipxcp-accept-local Эти опции говорят _p_p_p_d полностью работать пассивно и принимать все настроечные детали от сервера. Вы можете установить значения по умолчанию для серверов, которые не обеспечивают эти детали добавлением записей ipx-network и ipx-node сходных с конфигурацией сервера. 1144..22..22.. ТТеессттииррооввааннииее ккллииееннттаа IIPPXX//PPPPPP Для тестирования клиента вам необходим работающий сервер к которому можно подключиться. После того как вы подключились и запустился pppd вы должны увидеть детали настройки IPX на вашем устройстве ppp0 когда вы запустите команду _i_f_c_o_n_f_i_g и вы должны мочь использовать _n_c_p_m_o_u_n_t. Я не уверен должны ли вы добавлять маршруты IPX вручную, чтобы достичь удаленного файлового сервера. Вероятно да. Если кто-нибудь запустит такую конфигурацию сообщите мне я буду благодарен. 1155.. ТТууннееллииррооввааннииее IIPPXX ччеерреезз IIPP Многие из вас бывают в ситуации когда у вас имеется две локальных сети Novell только с IP соединением между ними. Вы можете спросить, "Как играть в многопользовательскую игру DOOM для DOS через такое расположение?" Andreas Godzina имеет ответ на этот вопрос в виде _i_p_x_t_u_n_n_e_l. _i_p_x_t_u_n_n_e_l обеспечивает похожее на мост (bridge) свойство для IPX позволяя пакетам IPX быть включенными в датаграммы tcp/ip, так что они могут переносится tcp/ip соединением. Программа следит за пакетами IPX и когда пакет приходит она заталкивает его в датаграмм tcp/ip и перенаправляет его на удаленную машину, адрес IP которой вы укажете. Конечно для того чтобы это работало на машине на которую вы направляете инкапсулированные пакеты IPX также должна быть запущена копия той же версии _i_p_x_t_u_n_n_e_l как и у вас. 1155..11.. ППооллууччееннииее iippxxttuunnnneell Вы можете получить _i_p_x_t_u_n_n_e_l с sunsite.unc.edu или серверов-зеркал. 1155..22.. ППооссттррооееннииее iippxxttuunnnneell _i_p_x_t_u_n_n_e_l для меня строился просто используя следующие команды: # cd /usr/src # tar xvfz .../ipxtunnel.tgz # cd ipxtunnel # make 1155..33.. ННаассттррооййккаа iippxxttuunnnneell Настройка _i_p_x_t_u_n_n_e_l довольно проста. Допустим, что машина вашего друга называется gau.somewhere.com а ваша машина называется gim.sw.edu. _i_p_x_t_u_n_n_e_l использует конфигурационный файл называемый /etc/ipxtunnel.conf. Этот файл позволяет указать порт UDP по умолчанию для использования в соединении tcp/ip, куда посылать инкапсулированные данные и на каком локальном интерфейсе должен слушать _i_p_x_t_u_n_n_e_l и на который отправлять пакеты IPX. Простой конфигурационный файл должен выглядеть примерно так: # # /etc/ipxtunnel.conf для gim.sw.edu # # Порт UDP для использования: (по умолчанию 7666) port 7777 # # Удаленная машина на которую отправлять пакеты IPX: (нет значения по умолчанию) remote gau.somewhere.com # # Локальные интерфейсы на которых искать пакеты IPX: (по умолчанию eth0) interface eth0 interface eth1 Очевидно, что другая машина должна иметь сходный конфигурационный файл указывая эту машину как удаленную. 1155..44.. ТТеессттииррооввааннииее ии ииссппооллььззооввааннииее iippxxttuunnnneell _i_p_x_t_u_n_n_e_l работает ппооддооббнноо мосту IPX, так что сети IPX на другом конце соединения вероятно должны быть теже самыми. Andreas никогда не тестировал _i_p_x_t_u_n_n_e_l в среде, которая в действительности поддерживает файловые сервера Novell, так что если вы попробуете сделать это в среде с файловыми серверами Novell, то дайте знать Andreas работает это или нет. Если _i_p_x_t_u_n_n_e_l работает вы должны смочь запустить вашу машину с DOOM на каждом конце соединения работающего в режиме IPX и вы должны видеть друг друга. Andreas использовал этот код только через высокоскоростные линии и он не делал никаких объявлений о производительности при связи на низких скоростях. Дайте ему знать что работает у вас а что нет. 1166.. ККооммммееррччеессккааяя ппооддддеерржжккаа IIPPXX ддлляя LLiinnuuxx.. 1166..11.. CCaallddeerraa''aa NNeettwwoorrkk DDeesskkttoopp Caldera Inc., производит дистрибутив Linux, который содержит диапазон коммерчески поддерживаемых расширений, включая полнофункциональную поддержку клиента Novell NetWare. Основа дистрибутива это хорошо известный дистрибутив Red Hat Linux и Caldera добавила к нему свой продукт "Network Desktop". Поддержка NetWare обеспечивает полнофункциональный клиент Novell NetWare, построенный на технологии, лицензированной у Novell Corporation. Клиент обеспечивает полный клиентский доступ к файловым серверам Novell 3.x и 4.x и включает таких возможностей как NetWare Directory Service (NDS) и RSA кодирование. Вы можете получить намного больше информации и информацию о приобретении с: Web Сервер Caldera Inc . Если вы работаете внутри среды Netware 4.x и/или NDS, то сетевой клиент Caldera единственное доступное решение. Если вы имеете критические коммерческие приложения для поддержки Novell для Linux, то продукт Caldera должен быть тем на что вы должны обратить внимание. 1177.. ННееккооттооррыыее ччаассттоо ззааддааввааееммыыее ввооппррооссыы ((FFAAQQ)) ГГддее яя ммооггуу ннааййттии ккооммммееррччеессккии ппооддддеерржжииввааееммооее ппррооггррааммммннооее обеспечение IPX для Linux?" Caldera Corporation предлагает полностью лицензированного и полностью поддерживаемого клиента Netware 3.x и 4.x. Вы можете получить информацию о нем с Web-сервера Caldera Inc . РРааббооттааеетт ллии ппррооггррааммммннооее ооббеессппееччееннииее IIPPXX сс AArrccnneett//TTookkeenn Ring/и т.п.?" Программное обеспечение Linux для поддержки IPX работает с интерфейсами ArcNet Token Ring. Я еще не слышал о ком-нибудь пробовавшем его с AX.25. Настройка такая же как настройка для ethernet за исключением того, что вы должны подставлять где необходимо соответствующие имена вместо 'eth0' и соответствующие адреса оборудования. ККаакк яя ммооггуу ннаассттррооииттьь ббооллььшшее ооддннооггоо ииннттееррффееййссаа IIPPXX?? Если у вас больше одного сетевого интерфейса, то вы должны использовать команду _i_p_x___i_n_t_e_r_f_a_c_e для ручной настройки каждого интерфейса, вы не должный использовать `plug n play' настройку. ККаакк яя ммооггуу ввыыббррааттьь ааддрреессаа IIPPXX?? Работа сети IPX сходна, но не одинакова, с работой сети IP. Главное отличие в способе использования адресов. IPX не использует концепцию подсетей и так что типы ассоциаций которые у вас есть между сетевыми адресами и сетями являются разными. Правила довольно просты: ╥ Каждый сетевой адрес IPX должен быть уникальным в глобальной сети (WAN). Это включает адрес внутренней сети. Много организаций использующих IPX в глобальных сетях имеют некоторый сорт стандарта адресации, которому вы должны следовать. ╥ Каждая машина в индивидуальной сети должна иметь уникально присвоенный адрес. В случае сети на основе ethernet это не трудно, так как каждая карта имеет уникальный адрес. В случае IPX/PPP это означает, что вы должны убедиться, что вы выделили уникальные адреса на все машины в сети, независимо от того к какому концу соединения они подключены. Адрес машины может быть не уникальным в пределах глобальной сети, поскольку сетевой адрес используемый в комбинации с адресом машины уникально идентифицируют машину. ЧЧттоо ттааккооее ттиипп ффррееййммаа,, ккааккоойй ттиипп яя ддооллжжеенн использовать?" Существуют различные типы фреймов через которые вы можете работать с IPX. Наиболее общие из них описаны в разделе 'Общие термины' этого документа (Подраздел `Типы фреймов'). Если вы устанавливаете вашу машину в существующую сеть, тогда вы должны использовать тот тип, который уже используется, для того чтобы вы могли взаимодействовать с другими машинами в сети, но если вы устанавливаете совершенно новую сеть, то вы можете использовать любой из приведенного ряда протоколов для переноса потоков IPX. Моя рекомендация если вы настраиваете совершенно новую сеть и вам необходимо переносить потоки и IP и IPX, то использовать тип фрейма Ethernet_II. ММоояя ммаашшииннаа сс WWiinnddoowwss9955 ннее ррааббооттааеетт сс ааввттооооппррееддееллееннииеемм ттииппаа фрейма?" Вероятно да, может не работать. Я мог бы здесь сделать злобный комментарий, но вместо этого я просто предполагаю что вы должны использовать ручную настройку типа фреймов вместо автоматической. Это вероятно самый лучший способ. ППооччееммуу яя ппооллууччааюю ссооооббщщееннииее ``iinnvvaalliidd aarrgguummeenntt'' ккооггддаа яя настраиваю IPX?" Вы вероятно не запустили ядро с поддержкой IPX, либо перекомпилируйте ядро, или дважды проверьте что вы действительно использовали lilo для установки и запуска нового ядра. ППооччееммуу яя ппооллууччааюю ссооооббщщееннииее ``ppaacckkaaggee nnoott iinnssttaalllleedd'' ккооггддаа яя настраиваю IPX?" Вы вероятно не запустили ядро, которое поддерживает IPX, либо перекомпилируйте ядро, или дважды проверьте что вы действительно использовали lilo для установки и запуска нового ядра. ППооччееммуу яя ппооллууччааюю ссооооббщщееннииее ``IIPPXX ssuuppppoorrtt nnoott iinn kkeerrnneell'' оотт _p_p_p_d?" Вы вероятно скомпилировали IPX как модуль и не обеспечили чтобы модуль загружался до запуска _p_p_p_d. ККаакк яя ммооггуу ээккссппооррттииррооввааттьь ппоо NNFFSS ссммооннттииррооввааннннууюю ффааййллооввууюю систему NCP ?" Для использования NFS для экспорта файловой системы NCP вы должны монтировать ее используя опцию -V команды _n_c_p_m_o_u_n_t. Эта опция разрешает вам монтировать только один том файлового сервера вместо обычного монтирования всех томов. Когда вы делаете это ваш демон NFS позволит вам экспортировать эту файловую систему обычным способом. ППооччееммуу ннее ррааббооттааеетт sslliisstt,, ккооггддаа уу ммеенняя ууссттааннооввллееннаа внутренняя сеть в mars_nwe?" Вы должны разрешить функцию 'get nearest server'. Так что запись 401 в файле /etc/nwserv.conf должна быть равна 0, до тех пор пока у вас нет причины не отвечать на запрос 'get nearest servers'. Если вы просто хотите заставить работать slist и не отвечать на каждый запрос 'get nearest server', то включите адрес внутренней сети и номер узла в файл /etc/nwserv.stations и установите запись в файле /etc/nwserv.conf? в значение 2. РРааббооттааеетт ллии ппааккеетт nnccppffss сс mmaarrss__nnwwee?? Код Martin'а и Volker'а медлено начали сближаться. Недавние версии _m_a_r_s___n_w_e имеют опцию разрешающую ему работать с _n_c_p_f_s. Вы должны разрешить опцию WITH_NAME_SPACE_CALLS в файле config.h пакета _m_a_r_s___n_w_e. ЕЕссттьь ллии ккааккооее--ннииббууддьь ссввооббооддннооее ппррооггррааммммннооее ооббеессппееччееннииее ддлляя DOS для работы с mars_nwe?" Хитрый вопрос заслуживает хитрого ответа. Я рад что вы спросили, Martin имеет пакет который он распространяет параллельно со своим пакетом _m_a_r_s___n_w_e, который предлагает поддержку свободного клиента DOS для сервера _m_a_r_s___n_w_e. Вы можете найти его на тех же серверах что и сам сервер, и он будет называться mars_dosutils-0.01.tgz. Он включает исходный код на C для таких программ как _s_l_i_s_t_._e_x_e, _l_o_g_i_n_._e_x_e, _m_a_p_._e_x_e и т.п. Исходный код может быть откомпилирован с помощью Borland(tm) C. 1188.. ССооооббщщееннииее ообб ааввттооррссккиихх ппрраавваахх IPX-HOWTO это руководство по программному обеспечению поддерживающему протокол IPX в Linux. Авторские права Terry Dawson, 1995. Эта программа является свободной; вы можете распространять и/или модифицировать ее под действием терминов изложенных в GNU General Public License опубликованной Free Software Foundation; либо версии Лицензии, или (на ваш вкус) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезной, но БЕЗ ВСЯКОЙ ГАРАНТИИ; даже без намечаемой гарантии ТОРГОВОЙ СПОСОБНОСТИ или СОСТОЯНИЯ ЗДОРОВЬЯ ДЛЯ ОСОБЫХ ЦЕЛЕЙ. Смотрите GNU General Public License для более детальной информации. Вы должны распространять копию GNU General Public License вместе с этой программой; если нет, то пишите: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1199.. РРааззннооее ии ббллааггооддааррннооссттии Terry Dawson за оригинальный документ. David E. Storey и Volker Lendecke обоим за сильно помогшим поставкой мне информации для этого документа. Gilbert Callaghan , David Higgins и Chad Robinson каждому представившему информацию о настройке IPX/PPP. Bennie Venter поставившему некоторую полезную информацию относящуюся к типам фреймов. Christopher Wall сделавшему несколько полезных предложений и отзывов. Erik D. Olson обеспечившему несколько полезных отзывов и информацию о настройке PPP для IPX. Brian King представившему вопросы для раздела часто задаваемых вопросов (FAQ). "NetWare" -- зарегистрированная торговая марка Novell Corporation . "Caldera" -- зарегистрированная торговая марка Caldera Corporation . С уважением Kevin Thorpe.