How to use Linux as Novell-Netware Client

IPX Protocol: IPX stands for Internetwork Packet Exchange. It is a networking protocol used by the Novell NetWare operating systems. Like UDP, IPX is a datagram protocol used for connectionless communications.

The IPX protocol stack is supported by Novell’s NetWare network operating system. Because of Netware’s popularity through the late 1980s into the mid 1990s, IPX became a popular internetworking protocol. Novell derived IPX from Xerox Network Services’ IDP protocol.

IPX Addressing: Logical networks are assigned a unique 32-bit hexadecimal address in the range of 0×1 – 0xFFFFFFFE.

Hosts have a 48-bit node address which by default is set to the network interface card’s MAC address. The node address is appended to the network address to create a unique identifier for the host on the network.

Similarities wih IP: The IPX network address is conceptually identical to the network part of the IP address (the parts with netmask bits set to 1); the node address then has the same meaning as the bits of IP address with netmask bits set to 0. As the node address is usually identical to the MAC address of the network adapter, the Address Resolution Protocol is not needed.

For routing, the entries in the IPX routing table are similar to IP routing tables; routing is done by network address, and for each network address a network:node of the next router is specified in a similar fashion an IP address/netmask is specified in IP routing tables.

IPX over Ethernet

IPX can be transmitted over Ethernet using one of the following 4 encapsulation types:

802.3 (raw)

802.2 (Novell)

802.2 (SNAP)

Ethernet II

For Linux to work as Novel Client we need a Kernel with IPX support. I have used kernel-2.6.20 but many previous versions have IPX support.

For IPX protocol we need ipx utilities to be installed on our Linux system. These utilities can be installed using rpm named “ipxutils”. I have used “ipxutils-2.2.6-7”.


Ncpfs is a filesystem which understands the Novell NetWare(TM) NCP protocol. Functionally, NCP is used for NetWare the way NFS is used in the TCP/IP world

For ncpfs functionality on Linux we need rpm named “ncpfs”. I have used “ncpfs-2.2.6-7”.

Configure the IPX network software

There are two ways of configuring the IPX network software. You can manually configure all of your IPX network information or you can choose to let the software determine for itself some reasonable settings using the command:

# ipx_configure –auto_interface=on –auto_primary=on
After your IPX network is configured you should be able to use the slist command to see a list of all of the Novell fileserver on your network:

# slist
If the slist command displays a message like: ncp_connect: Invalid argument then your kernel probably does not support IPX. In this case patch-up your kernel for IPX support or Install new kernal with IPX support. When you boot with kernel having IPX support you should see messages about ‘IPX‘ and ‘ncpfs‘ in the system startup messages.

If the slist command does not list all of your fileservers then you may need to use the manual network configuration method.


Have a look at output of “ifconfig” command

eth1 Link encap:Ethernet HWaddr 00:C0:26:32:A2:11

inet addr: Bcast: Mask:

inet6 addr: fe80::2c0:26ff:fe32:a211/64 Scope:Link

IPX/Ethernet 802.3 addr:00C02632A211


RX packets:8538 errors:0 dropped:0 overruns:0 frame:0

TX packets:4622 errors:0 dropped:0 overruns:0 carrier:0

collisions:3 txqueuelen:1000

RX bytes:1347923 (1.2 MiB) TX bytes:4959973 (4.7 MiB)

Interrupt:20 Base address:0xdc00

Mount a Novell(TM) Volume

If your IPX network software is configured properly, you should now be able to mount a Novell volume into your Linux filesystem. The ncpmount command is used for this purpose you have to specify following information:

The fileserver name
The fileserver directory to mount (Optional)

The fileserver User id. If it is protected with a password then Password is also required.

The mount point. This will be an existing directory on your machine.

There is an equivalent ncpumount command to unmount a mounted NCP filesystem.

Various options of ncpmount command are as follows:

usage: ncpmount [options] mount-point

-S server Server name to be used

-A dns_name DNS server name to be used when mounting over TCP or UDP

-U username Username sent to server

-V volume Volume to mount, for NFS re-export

-u uid uid the mounted files get

-g gid gid the mounted files get

-f mode permission the files get (octal notation)

-d mode permission the dirs get (octal notation)

-c uid uid to identify the connection to mount on Only makes sense for root

-t time_out Waiting time (in 1/100s) to wait for an answer from the server. Default: 60

-r retry_count Number of retry attempts. Default: 5

-C Don’t convert password to uppercase

-P password Use this password

-n Do not use any password

If neither -P nor -n are given, you are asked for a password.

-s Enable renaming/deletion of read-only files

-h print this help text

-v print ncpfs version number

-b Force bindery login to NDS servers

-i level Signature level, 0=never, 1=supported, 2=preferred, 3=required

-m Allow multiple logins to server

-N os2,nfs Do not use specified namespaces on mounted volume

-y charset character set used for input and display

-p codepage codepage used on volume, including letters `cp’


Example command to mount fileserver SUMI_WEB, with a login id of “guest” with no password, under the “/mnt/web” directory

# ncpmount -S SUMI_WEB /mnt/web -U guest -n
Example command to mount fileserver SUMI_DEV, with a login id of “rdeep” with password, “secret” under the “/mnt/dev” directory

# ncpmount -S SUMI_DEV /mnt/dev -U rdeep -P secret
Configure mounts to be automatically performed
Make the following entries in file “/etc/rc.local”
# configure the IPX network
ipx_configure –auto_interface=on –auto_primary=on
# guest login to the Accounting fileserver
ncpmount -S SUMI_WEB /mnt/web -U guest -n


Leave a Reply

Your email address will not be published. Required fields are marked *

two − 1 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>