Глава 25 Linux – для клиентов Novell

Глава 25 Linux – для клиентов Novell

В последние несколько лет протокол TCP/IP стал стандартом de-facto при построении сетей, однако еще лет пять назад в корпоративной среде в качестве сетевого протокола повсеместно использовался протокол IPX, разработанный фирмой Novell.

Фирма Novell стояла у истоков локальной сети как таковой. До сих пор на большинстве сетевых карт написано "Ready for Novell" или "NE compatible" – что означает совместимость с сетевой картой производства фирмы Novell (которые не производятся уже лет 10–15). Флагманский продукт фирмы Novell – программное обеспечение для сервера, носящее название "Novell Netware". Это программное обеспечение на просторах СНГ долгое время занимало монопольное положение при построении локальных сетей на базе недорогих компьютеров л86.

Наиболее популярным и чаще устанавливаемым программным обеспечением была Novell Netware версии 3.к. Конечно, были выпущены Novell Netware версий 4 и 5, однако из-за просчетов компании и других факторов (в частности увеличения популярности Windows NT и Linux) рыночная доля Novell Netware стремительно сократилась. Тем не менее, во многих крупных учреждениях сохранились серверы, использующие Novell Netware. Поэтому мы должны уметь с ними взаимодействовать.

Термины, используемые в тексте

Для лучшего понимания текста приведем расшифровку некоторых используемых терминов. Поскольку идеология IPX несколько отличается от TCP/IP, некоторые термины могут оказаться незнакомыми для широкой аудитории.

• 802.2 – это протокол I.E.E.E., определяющий набор процедур управления логическими связями (Logical Link Control). Он обеспечивает упрощенный способ сосуществования различных протоколов, однако является ограниченным.

• 802.3 – это протокол I.E.E.E., определяющий механизм множественного доступа к среде переноса с определением коллизий (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). Базируется на оригинальном стандарте DIX Ethernet с некоторыми дополнениями. Важнейшее изменение – в кадре поле типа "идентификатор протокола" используется в качестве поля длины. IEEE 802.3 был спроектирован для того, чтобы переносить только фреймы IEEE 802.2, однако существуют реализации, которые используют этот тип для прямого переноса фреймов IPX.

• Bindery – специализированная база данных, сохраняющая сетевую конфигурационную информацию на файловом сервере Novell. Используется для получения информации о доступных серверах, маршрутизации и пользователях. Отдаленно напоминает сервер DNS.

• Ethernet ll – это упрощенная версия оригинального стандарта DIX Ethernet. Протокол часто используется в среде Novell Netware.

• Hardware address – адрес устройства. Число, уникально идентифицирующее хост в физической сети на уровне доступа к среде передачи данных.

• IPX (Internet Packet eXchange, Межсетевой обмен пакетами) – протокол, используемый корпорацией Novell для обеспечения межсетевой поддержки NetWare. Похож по функциональности на IP-протокол.

• Сеть IPX – это набор оборудования, подключенного к одному и тому же сегменту локальной сети, использующий один и тот же тип фрейма. Различные типы фреймов в одном и том же сегменте локальной сети считаются отдельными сетями.

Каждой сети выделяется адрес, который должен быть уникальным во всей локальной сети. Клиентам IPX этот адрес выдается сервером при запуске.

• Сетевой адрес IPX – уникальное число, которое идентифицирует частную сеть IPX.

• Внутренняя сеть IPX – это виртуальная сеть IPX. Используется для обеспечения уникальной идентификации хоста IPX. Применяется для хостов IPX, которые существуют больше чем в одной физической сети IPX (файловые серверы, маршрутизаторы).

• NCP (NetWare Core Protocol, базовый протокол NetWare) – протокол сетевой файловой системы Novell NetWare. NCP по функциональности похож на NFS.

• RIP (Routing Information Protocol, протокол маршрутной информации) – протокол, используемый для автоматического распространения сетевых маршрутов в сетях IPX.

• Route (маршрут) – путь прохождения пакета для достижения хоста назначения.

• SAP (Service Advertisement Protocol, Протокол объявления сервисов) – протокол, который используется для объявления сетевых сервисов в Novell NetWare.

• SNAP (Sub Network Access Protocol, Протокол доступа к подсетям) – спроектирован для использования поверх протоколов 802.3 и 802.2.

Linux и IPX

В этом разделе мы рассмотрим три варианта настройки Linux-системы:

• IPX-клиент;

• IPX-сервер;

• IPX-маршрутизатор.

Прежде чем приступить к настройке системы, необходимо убедиться, что ядро вашей операционной системы Linux скомпилировано с поддержкой протокола IPX.

Файлы в /proc, относящиеся к IPX

Существует несколько файлов, тем или иным образом касающихся поддержки IPX в Linux, которые располагаются в каталоге /proc:

• /proc/net/ipx_interface – этот файл содержит информацию о существующих интерфейсах IPX в вашей системе;

• /proc/net/ipx_route – этот файл содержит список маршрутов, существующих в таблице маршрутов IPX;

• /proc/net/ipx – этот файл содержит список сокетов IPX, которые открыты для использования на вашем компьютере.

Linux-утилиты IPX

Помимо пакета Mars_nwe, есть несколько утилит, позволяющих сконфигурировать поддержку IPX-протокола в операционной системе Linux.

• ipx_interface – эта команда используется для добавления, удаления или проверки IPX на существующем сетевом устройстве. Обычно сетевым устройством является устройство Ethernet. Например: ipx_interface add -р eth0 802.2 x39ab0222

• ipx_con figure – эта команда разрешает или запрещает автоматическую установку конфигурации интерфейсов и первичного интерфейса. Например: ipx_configure – auto_interface=on – auto_primary=on

• ipx_internai_net – эта команда позволяет настраивать адрес внутренней сети. Например: ipx_internal_net add 0xabOOOOOO 1

• ipx_route – эта команда позволяет вручную модифицировать таблицу маршрутизации IPX. Например: ipx_route add 0x39ab0222 0x39ab0108 0x00608CC33C0F

IPX-клиент

Существует пакет ncpfs, который позволяет Linux эмулировать обычную рабочую станцию Novell для файловых сервисов. В этот пакет также входит утилита печати, которая позволяет использовать принт-сервер Novell. Пакет ncpfs предназначен для работы с файловыми серверами Novell версий Зх. Для использования ncpfs с файловыми серверами Novell файловый сервер должен работать в режиме эмуляции bindery.

Настройка сетевого программного обеспечения IPX

Существует два способа настройки сетевого программного обеспечения IPX:

• вы можете вручную настроить всю информацию о вашей сети IPX;

• можно также позволить программному обеспечению определить для себя некие разумные установки с помощью команды:

ipx_configure –auto_interface=on –autо_primary=on Проверка конфигурации

После того как ваша сеть IPX настроена, воспользуйтесь командой siist, для того чтобы увидеть список всех файловых серверов Novell в вашей сети.

Монтирование сервера или тома Novell

Для того чтобы смонтировать том файлового сервера Novell в файловую систему Linux, существует команда ncpmount. Для демонтирования смонтированных файловых систем Nowell используется команда ncpumount.

Посылка сообщения пользователю Nowell Для посылки сообщений пользователям Novell можно воспользоваться утилитой nsend. Пример:

nsend rod hello

посылает сообщение «hello» пользователю, вошедшему под именем «rod».

IPX-сервер

Существует, по меньшей мере, два пакета, которые позволяют операционной системе Linux выступать в качестве файлового сервера Novell – это Mars_nwe и Lwared. Эти пакеты позволяют осуществлять доступ к файлам на Linux-системе для пользователей, использующих клиентское программное обеспечение Novell NetWare.

Пакет mars_nwe

Разработан Martin Stover для обеспечения в операционной системе Linux работы файловых сервисов и сервисов печати для клиентов NetWare. Mars_nwe реализует подмножество полного Novell NCP для файловых сервисов, основанного на bindery и сервисах печати.

Настройка сервера

Необходимо отредактировать файл /etc/nwserv.conf. Файл состоит из текстовых строк. Каждая строка разделена пробелами и начинается с числа, которое обозначает содержимое этой строки. Все символы, следующие за символом '#', считаются комментарием и игнорируются. В комплекте mars_new есть пример настроечного файла.

Пример конфигурационного файла:

# ТОМА (максимум 5)

# Только том SYS является необходимым. Каталог, содержащий том SYS,

# должен содержать каталоги: LOGIN, PUBLIC, SYSTEM, MAIL.

# Опция 'i' регистр букв.

# Опция 'к' преобразует все имена в запросе NCP в нижний регистр

# Опция ,m' обозначает том как сменный

# Опция ,r' устанавливает том только для чтения

# Опция ,о' показывает, что том является единой файловой системой

# Опция ,Р' разрешает командам использоваться как файлы

# Опция 'O' позволяет использовать пространство имен OS/2

# Опция ,N' разрешает использование пространства имен NFS

# По умолчанию в верхнем регистре.

# Синтаксис :

# 1 <Имя тома> <Путь к тому> <0пции>

1 SYS /home/netware/SYS/ # SYS

1 DATA /home/netware/DATA/ k # DATA

1 CDROM /cdrom kmr # CDROM

# ИМЯ СЕРВЕРА

# Если не установлено, тогда имя машины linux hostname будет

# конвертировано в верхний регистр. Этот пункт

# является опциональным, если не настроено – будет использовано имя

# машины.

# Синтаксис:

# 2 <Имя сервера>

2 LINUX_ES01

# АДРЕС ВНУТРЕННЕЙ СЕТИ

# Адрес внутренней сети IPX – это свойство, которое упрощает

# маршрутизацию IPX для многосетевых машин

# Синтаксис:

# 3 <Адрес внутренней сети> [<Номер узла>]

# или:

# 3 auto

#

# Если вы используете ,auto', тогда будет использован IP-адрес

# вашей машины.

3 0x49а01010 1

# СЕТЕВОЕ УСТРОЙСТВО (А)

# Этот раздел настраивает вашу сеть IPX. Если она у вас уже

# настроена, вам этот пункт не нужен. Это тоже самое, что и

# использование утилит ipx_configure/ipx_interface до запуска

# сервера.

# Синтаксис:

# 4 <Номер сети 1РХ> <имя устройства> <тип фрейма> [<ticks>]

# Frame types: ethernet_ii, 802.2, 802.3, SNAP

4 0х39а01010 eth0 802.3 1

# СОХРАНЯТЬ МАРШРУТЫ IPX ПОСЛЕ ОКОНЧАНИЯ РАБОТЫ СЕРВЕРА

# Синтаксис:

# 5 <флаг>

# 0 = не сохранять маршруты, 1 = сохранять маршруты

5 0

# ВЕРСИЯ NETWARE

# Синтаксис:

# 6 <версия>

# 0 = 2.15, 1 = 3.11

6 1

# ОБРАБОТКА ПАРОЛЯ

# Настоящие клиенты Novell для DOS поддерживают процедуру, которая

# шифрует пароли при их изменении. Вы можете выбрать, хотите ли вы,

# чтобы ваш сервер поддерживал эту процедуру или нет.

# Синтаксис:

# 7 <флаг>

# МИНИМАЛЬНЫЕ ПРАВА GID UID

# разрешения, используемые для подсоединения без входа. Эти разрешения

# будут использоваться для файлов на присоединении к вашему

# основному серверу.

0 force password encryption. (Клиенты не могут сменить пароль)

1 force password encryption, разрешить изменение нешифрованного пароля

7 разрешаются нешифрованные пароли, но не пустые

8 разрешаются нешифрованные пароли, включая пустые

9 полностью нешифрованные пароли (не работает с OS/2)

<флаг> может быть:

# # # # # # #

7 1

# Синтаксис:

# 10 <gid>

# 11 <uid>

# <gid> <uid> из /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, то вы можете

# автоматически сопоставить идентификаторы 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 <флаг>

# <flag> – 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

# Eileserver' (получить ближайший файловый сервер).

# Синтаксис:

# 401 <флаг>

# <флаг>: 0 – запретить запросы 'Get Nearest Eileserver'.

# 1 – файл 'stations' перечисляет исключаемые станции

# 2 – файл 'stations' перечисляет включаемые станции

401 2

Для запуска сервера достаточно выполнить команду nwserv. Пакет Iwared

Разработан Ales Dryak. Этот пакет позволяет системе Linux функционировать в качестве файлового сервера Nowell.

Сервер Iwared обеспечивает подмножество всех функций Novell NCP. Он включает функции сообщений, но не обеспечивает возможности печати. Сервер Iwared полагается на внешние программы для выполнения функций построения и обновления таблиц маршрутизации IPX и таблиц SAP.

Настройка и использование Iwared

Сначала необходимо настроить интерфейсы Ethernet для поддержки сетей IPX, которые будет использовать ваш сервер. Для того чтобы сделать это, необходимо знать сетевые адреса IPX для каждого из сегментов локальной вычислительной сети (ЛВС), какие устройства Ethernet находятся в системе, какой тип фреймов (802.3, Etherll) использует каждый сегмент ЛВС и какой адрес внутренней сети должен использовать ваш сервер. Настройка для сервера, который находится в двух непохожих сегментах с сетевыми адресами IPX, равными 23а9с300 и 23а9с301, и адресом внутренней сети bdefaced, может выглядеть так:

ipx_internal_net add BDEFACED 1

ipx_interface add eth0 802.3 23a9c300

ipx_interface add ethl etherii 23a9c301

Для управления таблицей маршрутизации используются два демона, входящие в комплект lwared:

• ipxripd – управляет маршрутизационной информацией IPX;

• ipxsapd – управляет информацией SAP.

Для конфигурирования сервера lwared необходимо сконфигурировать следующие файлы:

• /etc/lwpasswd – в этом файле хранится информация о пользователях сервера lwared. Для работы с записями в этом файле используется программа lwpasswd.

Файл /etc/lwpasswd содержит текстовые строки, каждая из них идентифицирует пользователя и его пароль в зашифрованном виде. Отсутствие шифрованного пароля разрешает вход без пароля. Пользователи lwared должны быть также зарегистрированы в операционной системе Linux;

• /etc/lwvtab – этот файл содержит таблицу томов lwared и хранит информацию о доступных для сетевых клиентов каталогов сервера.

Формат файла очень прост – после имени тома через пробел следует экспортируемый каталог Linux. Вы должны иметь по крайней мере запись для тома SYS, чтобы запустить сервер.

Для запуска сервера lwared достаточно выполнить команду lwared.

Данный текст является ознакомительным фрагментом.