Построение пакета mars_nwe
Построение ядра с поддержкой Ethernet и IPX
В ядре версии 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. Если вы не знаете как сделать это, вам необходимо прочитать документ .
Затем вы можете приступить к построению вашего ядра. Помните, что надо запустить команду lilo для установки ядра, когда его компиляция завершится.
Разожмите пакет mars_nwe
# cd /usr/src # tar xvfz mars_nwe-0.99.pl10.tgz
Построение mars_nwe
Процесс построения пакета очень прост. Первый шаг-- просто запустить 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> <имя устройства> <тип фрейма> [<ticks>] # 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 <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 в имена # пользователей 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 # Fileserver' (получить ближайший файловый сервер). # Синтаксис: # 401 <флаг>
# <флаг>: 0 - запретить запросы 'Get Nearest Fileserver'. # 1 - файл 'stations' перечисляет исключаемые станции. # 2 - файл 'stations' перечисляет включаемые станции.
401 2
Запуск сервера
Если вы так настроили сервер, что он полагается на внешние программы для настройки вашей сети и и/или обеспечения функций маршрутизации, тогда вы должны запустить эти программы до запуска сервера. Предполагая, что вы настроили сервер, так что он настроит ваши интерфейсы и будет обеспечивать сервисы маршрутизации, тогда вам необходимо только выполнить команду:
# nwserv
Проверка работы сервера
Для тестирования сервера вы первым делом должны попытаться присоединиться и войти с клиента NetWare на вашей сети. Затем вы должны сделать CAPTURE с клиента и попытаться напечатать. Если обе этих вещи работают хорошо, тогда сервер работает.