OS/2 FAQ


OS/2 Communications FAQ - Cети. Статья 010

Q Одноранговая сеть под OS/2.
A
(Vladimir Komarov, 2:5020/341.20)

Одноранговая сеть под OS/2. Версия 4 от 23-Feb-98

Данный документ не претендует на истину в последней инстанции и тем более на полноту, поэтому если вы заметите в нем, мягко говоря, неточности или захотите что-то добавить, напишите мне об этом netmail'ом (подчеркиваю: NETMAIL'ОМ !!!) на 2:5020/529.22
В первую очередь интересуют всякие альтернативные сетевые продукты, в частности, Lantastic.

1. Какой софт нужен для установки сети?

Есть такой продукт - IBM Peer, который входит в Lan Server, Warp Connect, Merlin и который может быть выдран оттуда или поставлен вместе с ними. Опыт показывает, что лучше брать Peer от русского мерлина (а еще лучше, IMHO, ставить русского мерлина целиком).
Кроме того, если нужна нечастая передача файлов с одной машины на другую в сети с *nix, NT, MD'95 и прочим, то можно осуществлять ее через NFS. Как это сделать рассказано в п. 9.

2. Как увидеть машину с Peer'ом из-под всевозможных оффтопиков?

Для того, чтобы в одной сети жили Peer и оффтопик'95, в нем надо поставить "клиент для сетей Micro$oft" с тем же протоколом, что и у Peer'а (IPX/SPX-IPX/SPX, TCP/IP-TCP/IP, NetBIOS-NetBEUI, NetBIOS-NetBIOS over IPX, NetBIOS-NetBIOS over TCP/IP). То же относится и к оффтопику 3.11
Если надо увидеть Peer из DOS'а, то можно взять сильно урезанный Win3.11: устанавливается Windows 3.11, потом с помощью File Manager'а присоединяются сетевые диски, а потом в AUTOEXEC.BAT добавляется строка NET START FULL. Что можно выкинуть, что оставить - не проверял... Правда, в этом случае видимость будет только в одну сторону.
Кроме этого, бывает дистрибутив DOS'а на 5 дискетах. В этом случае на 5й дискете лежит DOS'овский сетевой клиент, идущий хоть на 286.
Еще можно взять DOS-клиент для LAN Server'а, но он занимает 2-3 дискеты.
Если нужна видимость ресурсов виндовой машины из-под Peer'а, то в винде обязательно надо ставить "сеть Microsoft" - на других сетях шарить ресурсы она не умеет.
ВНИМАНИЕ: на всех машинах сети с M$* должно быть одно и то же название рабочей группы (в Peer'е это почему-то называется доменом)!!!
Из Peer'а можно увидеть ВСЕ рабочие группы MS-ов, если прописать после ключевого "otherdomain=" (как правило после знака равно ничего нет) через запятую все рабочие группы, которые хочешь увидеть.

3. Как установить Peer?

При установке в папке "System Setup"\"Install/Uninstall" ("Настройка системы"\"Установка/удаление") появляется объект "Selective install for networking" ("Установка сетевых приложений"). Если такого объекта нет, то ищите пррограммку NPCONFIG.EXE (обычно лежит в \IBMINST)
При появлении окошка выбирайте "Детальную установку", дальше ставьте галочку на "клиенте разделения ресурсов"... Ну, в общем, в отличие от масдаев, там действительно все интуитивно понятно.
Hint: по умолчанию предлагается ставить "Интерфейс администратора". Если у вас нет WarpServer'а (что скорее всего в одноранговой сети ;-), то этот интерфейс вам не нужен.
Если нужно поставить только Peer, то можно сделать так:

В Merlin'е:             \CID\IMG\IBMPEER\PEERINST.EXE,
В LanServer (4.0 adv.)  \LS40\IBMLSA\LANINSTR.EXE /R
Если вдруг по каким-то причинам GUI для Peer'а не нужен, то можно дерегистрировать классы с именами wpnet* и ls*

4. Как создать разделяемый ресурс?

Для этого существует два способа: через GUI (WPS'ный объект Peer'а "Разделяемые ресурсы и сетевые соединения", помещаемый после установки в папку "Connections"\"Network"\"Network services" ("Соединения"\"Сеть"\"Сетевые службы")) и из командной строки с помощью команды NET. Ниже будут рассмотрены оба способа.

Способ 1 - GUI.
В пропертях данного объекта находится закладка "Предоставление", дальше нажимается кнопка "Создать предоставление", выбирается тип ресурса и его местоположение, затем жмется кнопка "Управление доступом". Там можно выбрать либо "Базовый", либо "Настраиваемый" - в первом случае ACL создается, во втором - нет. Не знаю, что тому виной - мои руки, IBM или M$, но ресурс-каталог без ACL винда не видит. После того, как ACL создан, нажимаете OK - и все!
Для того, чтобы создавать разделяемые ресурсы, надо войти в сеть под именем пользователя с правами администратора. Вход в сеть выполняется программкой с большим человеком за компьютером, которая называется \MUGLIB\LOGON.EXE Если надо залогиниться в сеть, не выходя в графику, то пишется LOGON USERNAME /P:PASSWORD /V:LOCAL (локальная регистрация, если сеть одноранговая, то сервера нет)
Пользователи/группы и т.д. заводятся через "Настройка системы"\"Служба UPM"\"Управление счетами пользователей", или, что то же самое, \MUGLIB\UPMACCTS.EXE - PM'ное приложение с интуитивно понятным интерфейсом.
ВНИМАНИЕ! Не удаляйте пользователя с правами администратора, иначе потом просто не сможете администрировать систему! Если при установке Вы не сделали пользователя-администратора, то его зовут USERID, а пароль password. Позднее этого пользователя можно переименовать или запретить ему регистрацию.
Идентификация пользователя производится только по имени, т.е. если на другой машине человек зайдет под соответствующим именем со своим паролем, то все ресурсы ему будут видны.
Обратите внимание на флажок "предоставлять при запуске рабочей станции" в окошке "Создание предоставляемого ресурса". Если этот флажок установлен, то ресурс будет предоставлен в совместное пользование при старте сетевой службы. Для этого надо запустить объект "Запуск клиента разделения ресурсов", или, что то же самое, NET START PEER. Если флажок не установлен, то для раздачи ресурсов необходимо нажать кнопку "начать предоставление" (или NET SHARE ...)
Пользователь OS/2 получит доступ к чужим ресурсам только после регистрации в сети. Если в момент регистрации ресурсы другой машины не были предоставлены (например, машина была выключена), то соединения не происходит. Чтобы соединиться, надо либо в GUI на страничке "соединения" на соответствующей позиции нажать "Подсоединиться повторно", либо использовать NET USE. Если же непременно хочется, чтобы подцепление к ресурсам происходило автоматически, как в масдае, то пустите в фоне батничек примерно следующего содержания:

===cut===
/* эта псинка с интервалом в минуту сканит сетку */
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs

do forever
if Pos( 'P:', SysDriveMap( 'C:', 'USED' )) == 0 then
"net use p: \\mustdie\net_swap"
else
if SysDriveInfo( 'P:' ) == '' then "net use p: /delete"
call SysSleep 60
end
===cut===
Аналогом WinPopup в OS/2 является программка "сетевые сообщения" (\IBMLAN\NETPROG\NETMSG.EXE)

Способ 2 - командная строка.
Для работы с сетью из командной строки служит утилита \IBMLAN\NETPROG\NET.EXE с кучей параметров. Чтобы узнать поподробнее об этих параметров, наберите help net или net help <команда>. Здесь я приведу только список наиболее употребительных команд:
START - запуск сетевой службы (requester/peer/messenger)
STOP - останов сетевой службы
ACCESS - создание прав доступа для объекта
ACCOUNTS - создание/изменение пользователей
GROUP - создание/изменение групп
PASSWORD - изменение пароля пользователя
CONFIG - изменение параметров сетевых служб
PAUSE - приостанавливает работу сетевой службы
SEND - послать сообщение по сети
FILE - вывести список открытых файлов
VIEW - посмотреть список машин в сети или список ресурсов машины
SHARE - предоставить ресурс в совместное пользование
USE - присоединиться к сетевому ресурсу
ЗЫ: в каталоге \IBMLAN\BOOKS лежат две очень неплохие книжки...

5. О разделении каталогов.

Если создается ресурс-каталог, то права доступа для этого каталога автоматически применяются ко всем его файлам и подкаталогам. Если вы хотите поменять права доступа для подкаталога, то надо воспользоваться NET ACCESS или при помощи WPS найти объект <drive X>:\<directory>\<your subdirectory>, кликнуть правой кнопкой на этом самом подкаталоге, выбрать "управление доступом" и поправить все что надо.
Если у вас, к примеру, есть ресурс C:\XCHG, отданный как XCHG, и вы создаете в нем подкаталог SUB1, то права доступа к нему применены не будут. Надо либо исправить эти права руками вышеописанным способом (т.е. через GUI поменять что-нибудь и нажать "Применить" или NET ACCESS ... /APPLY), либо создавать подкаталог прямо на сетевом диске, т.е. сделать NET USE X: \\<my_machine>\XCHG и создавать каталог на диске X:

6. О разделении принтеров.

Ресурс-принтер фактически является ресурсом-параллельным портом, т.е. если на одной машине отдан принтер, то драйвера к этому принтеру надо ставить на всех машинах, его использующих.
Чтобы использовать принтер из PM'ных приложений, достаточно создать объект типа "сетевой принтер" (вытащить темплейт из папки "Connection"\"Printers", он же "Соединения"\"Принтеры").
Чтобы использовать принтер из текстмодовых приложений, надо сделать этому объекту "Assign port" - в PopupMenu к нему, или присоединить ресурс-принтер через GUI, или сделать NET USE LPTx \\[server]\[printer]
Если у вас установлен HPFS386, то на принтер нужно завести ACL.

7. О разделении последовательных портов.

Ни один из оффтопиков ресурс-последовательный порт не видит и сам создать такой ресурс не может (по крайней мере, штатными средствами). Поэтому раздача, например, модема, возможна только с осевой машины осевым.

8. Peer и HPFS386.

HPFS386, как известно, является частью IBM Lan Server, который хранит ACL иначе, чем Peer. Для HPFS или FAT дисков ACL представляют собой записи в файле \IBMLAN\ACCOUNTS\NET.ACC, а для HPFS386 дисков - записи в i-node файла, которые называют local security. Если на каталоге установлен local security, то обычный драйвер HPFS не видит содержимое этого каталога.
Для работы HPFS386 необходимы библиотеки NETAPI.DLL и NETAPI32.DLL, которые отличаютя в Peer и Lan Server и отвечают за хранение ACL. Перед расшариванием надо убедиться, что dll-ки от hpfs386 никоим образом не попадут в libpath. Для этого их лучше грохнуть или заархивировать.
Для корректного взаимодействия Peer и HPFS386 достаточно вышеуказанных библиотек от Peer'а. Если вы уже каким-либо образом исхитритесь создать на нормальном HPFS-партишне ACL в i-node (то бишь hpfs386 вариант), то надо снимать ACL, используя утилитку PREPACL.EXE от лансервера. Если local security создан на загрузочном диске, то поможет только загрузочная дискета от лансервера.
Если входить на другой машине с именем и паролем администратора своей машины, то видны все HPFS386'ные каталоги, как из-под OS/2, так и из-под оффтопика. Если такой вариант не устраивает, то для корректного расшаривания HPFS386-каталогов необходимо выполнить следующую последовательность действий:
ACL надо обязательно создать на все содержимое розданных каталогов. Для этого надо пойти в Network shares...\Permissions выбрать там каталог (для драйва целиком, например CD, выбрать верхнюю строчку - Drive, но в этом случае можно использовать только общие права) и нажать кнопку Create ACL.
На некоторых тачках приходится менять что-либо незначительное в правах, и жать еще кнопку update - без этого ACL не прописывались.
Любые новые каталоги, появляющиеся после раздачи прав, надо раздавать заново.
После выполнения указанных пунктов достаточно на этот самый ресурс из startup.cmd сказать NET SHARE RESOURCE=X:\ /PERMISSIONS:???
естественно под админским аккаунтом. Причем права фиолетовы - они далее берутся из созданного NET.ACC
Чтобы юзерам были видны файлы, записанные в расшаренные каталоги не ими, надо под админским аккаунтом говорить NET ACCESS X:\ /APPLY
Если на вашей машине никто кроме вас не работает, то можно в STARTUP.CMD вставить что-то типа

===cut===
LOGON ADMINISTRATOR /V:LOCAL /P:PASSWORD /R
NET SHARE...
LOGOFF
===cut===
Если после отладки cmd в нем поудалять все, оставив комментарий и выставить прежние дату и время, то cmd выполняется по уже откомпилированному коду из расширенных атрибутов, т.е. даже если на вашей машине работает кто-то еще - это не страшно, STARTUP.CMD будет пуст и пароля никто не узнает...

9. NFS

Есть еще один весьма извращенный способ его можно порекомендовать, если надо иногда перебросить два-три файла между машинами. Он требует протокола TCP/IP. Для этого на машины, которые будут серверами надо запустить NFSD.EXE, на клиентах нужно добавить в config.sys строчку
IFS=...\NFS200.IFS и запустить nfsstart.cmd.
На всех машинах использующих NFS должен быть запущен портмаппер: start /c portmap.exe (или detach portmap.exe). Портмаппер надо запускать раньше, чем клиент или сервер. Любая машина может быть использована и как клиент, и как сервер. Серверная часть занимает около 600 килобайт, клиентская - 1200K.
Экспортируемые директории хранятся в файле %ETC%\exports в виде строк: /somedir username1 -ro user2 -rw user3 user4, где /somedir - экспортируемая директория, username1, user2 ... пользователи, которым разрешен доступ. По умолчанию права доступа rw. Монтируются каталоги командой
mount <drive letter>: -u<userid> -g<groupid> //<host>/<dir>
userid & groupid используются если сервером является unix-машина, в остальных случаях используйте 1.
Чтобы видеть все это хозяйство из под оффтопика'95, надо использовать Intellidrive'95 by FTP software. Берется оно на www.ftp.com. Там shareware версия на 30 дней использования (Хотя потом можно переставить). На сервере надо будет также запустить PCNFSD2 (лежит где-то на hobbes, а также в каком-то из фиксов к tcp/ip 2.0). И еще обязательно пропишите пользователя, который будет работать из под оффтопика в exports. Клиент под оффтопик очень нетороплив: проверка прав пользователя занимает около 45 секунд.
Да, чуть не забыл: для оффтопика обязательно нужен работающий DNS сервер, или настроеный список хостов (hosts).
Этот способ создания сети хорош когда сеть нужна нечасто, или когда в сети много разнотипных систем, т.к. NFS является стандартным протоколом TCP/IP, и имеет реализации подо все системы.

Кто знает что-либо о чем-то, здесь не упомянутом - пишите.

Только еще раз прошу: пишите НЕТМАЙЛОМ_, не надо засорять эху...

Большое спасибо тем, кто откликнулся на просьбу "исправить и дополнить":
Sergey Rogulev 2:5031/7
Alexey Varlamov 2:5005/41.5
Alexander V. Nikolaev 2:5020/1251
Sergey Kostenko 2:5085/13.32

Большое спасибо тем, кто написАл нетмайлом свое "большое спасибо" ;-)
Большое спасибо всем подписчикам SU.OS2.*, из писем которых брались идеи, замечания, предложения и т.д.


К предыдущей статье | К оглавлению раздела | К следующей статье

Вернуться к списку разделов FAQ.

Если у вас есть вопросы или пожелания, пишите, мы будем рады.

Данный FAQ cоставили Ivan Borovicov и Viatcheslav Odintsov (2:5020/181) на основе OS/2 FAQ Дмитрия Завалишина (dz) и материалов переписки в группе эхоконференций su.os2.*. Оформление статей: Николай Королев. Программирование JSP для RU/2: Евгений Кулешов. Благодарности: Дмитрию Максимовичу (MaximDim) за громадную помощь на первых этапах и Дмитрию Бану (banshee) за его помощь при проверке текста.



Новые статьи на нашем сайте:


Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ