17.3. NetWare Emulation with MARSNWE

The NetWare emulator MARSNWE can easily replace the file and print services of a Novell NetWare 2.2 or 3.11 server. It can also be be used in this manner as an IPX router. However, it does not offer the features of newer NetWare versions, such as NDS (NetWare Directory Services). Workstations running DOS or Windows already configured to access a NetWare 2.2, 3.11, or 3.12 server can use the Linux server with the NetWare emulator MARSNWE as a server without changing the configuration much. Server administration can be done under Linux.

17.3.1. Starting the NetWare Emulator MARSNWE

On a SUSE LINUX system, MARSNWE comes preconfigured for initial testing, so you can start it right after installation. The required IPX kernel support is available as a loadable kernel module and is automatically loaded by the start script. The IPX interface is automatically set up by MARSNWE. At this point, the network number and the protocol to use are both read from the extensively commented configuration file /etc/nwserv.conf.

Start MARSNWE with the command rcnwe start. The done message to the right of the screen in green indicates that MARSNWE has been successfully started. Use rcnwe status to check whether the NetWare emulator is running. Halt it with rcnwe stop.

17.3.2. The Configuration File /etc/nwserv.conf

The configuration options are grouped in numbered sections — every configuration line starts with the number of the corresponding section. Only sections 1 to 22 are relevant for our purposes and among these there are some which are not used. The following sections should be sufficient to cover most configuration scenarios:

1

NetWare Volumes

2

Server Name

4

IPX Network

13

User Names

21

Printers

After modifying the configuration, MARSNWE must be restarted with the command rcnwe restart.

The configuration options in detail are:

Volumes (Section 1):

 

1    SYS     /usr/local/nwe/SYS/     kt      711 600

Here, the volumes to export are defined. Every line begins with the section number (here 1), followed by the volume name and the server directory path. In addition, specify various options, represented by specific letters, and a umask for the generation of both directories and files. If a umask is not specified, the default value from Section 9 is used. The volume for SYS is already entered. To avoid problems with uppercase and lowercase letters in the file names, it is recommended to use the k option, so all the file names are converted to lowercase letters.

Server Name (Section 2):

 

2    MARS

This setting is optional. The host name is used by default.

Internal Network Number (Section 3):

 

3    auto

The internal network number is generated from the network card's MAC address if auto is specified here. This setting is usually retained.

IPX Configuration (Section 4):

 

4    0x0     *       AUTO            1
4    0x22    eth0    ethernet_ii     1

This sets the NetWare network number as well as the network interface to which it should be bound with which protocol. The first example sets up everything automatically. The second binds the network number 0x22 to the network card eth0 with the frame type Ethernet-II. If you have several network cards and enter all these with different network numbers, IPX is routed among them.

Create Mode (Section 9):

 

9    0751    0640

Sets the default permission with which directories and files are created.

GID and GID with minimal permissions (Section 10, 11):

 

10   65534
11   65534

Group ID and user ID for users not logged in. Here nogroup and nobody.

Supervisor Login (Section 12):

 

12   SUPERVISOR      root

The supervisor is mapped to user root.

User Logins (Section 13):

 

13   LINUX           linux

Specifies how NetWare user names are mapped to Linux user names. A fixed password can optionally be entered here.

Automatic User Mapping (Section 15):

 

15   0       top-secret

If 1 is specified here instead of 0, Linux logins are automatically made available as NetWare logins. In this case, the password is “top-secret”.

Printer Queues (Section 21):

 

21   LP      -       lpr -

The first parameter LP is the name of the NetWare printer. Second, the name of the spool directory can be given. The print command is listed last.

Print Server (Section 22):

 

22   PS_NWE  LP_PS   1

Define printers here that are accessed over the pserver by ncpfs.

17.3.3. Access to and Administration of NetWare Servers

ncpfs is a collection of small programs that can be used to administer a NetWare 2.2 or 3.11 server from Linux, mount NetWare volumes, and manage printers. To access a newer NetWare server (version 4 or higher), enable the bindery emulation and IPX on it.

The following programs are available. Refer to the manual pages for their functions:

nwmsgncopyncpmountncpumount
nprintnsendnwauthnwbocreate
nwbolsnwbopropsnwbormnwbpadd
nwbpcreatenwbprmnwbpsetnwbpvalues
nwdirnwdpvaluesnwfsctrlnwfsinfo
nwfstimenwgrantnwpasswdnwpurge
nwrevokenwrightsnwsfindnwtrustee
nwtrustee2nwuserlistnwvolinfopqlist
pqrmpqstatpserverslist

As one essential command of this suite, ncpmount can be used to mount volumes of a NetWare server from a Linux host. The ncpumount command, on the other hand, unmounts them. In addition, ncpfs contains tools to configure the IPX protocol and IPX routing:

ipx_cmd
ipx_configure
ipx_interface   
ipx_internal_net 
ipx_route

With ipx_configure and ipx_interface, configure the the network card's IPX. If you already have MARSNWE running, however, it takes care of this configuration automatically.

17.3.4. IPX Router with ipxrip

Another package for converting Linux into an IPX router is ipxrip. Usually, it is not needed, because an IPX router can be configured with MARSNWE or the tools from ncpfs.