Table 15.1 maps the relationship between the XNS, Novell, and TCP/IP suites in terms of function. The relationships are an approximation only, but should help you understand what is happening when we refer to these protocols later on.
Table 15.1: XNS, Novell, and TCP/IP Protocol Relationships
XNS |
Novell |
TCP/IP |
Features |
IDP |
IPX |
UDP/IP |
Connectionless, unreliable transport |
SPP |
SPX |
TCP |
Connection-based, reliable transport |
|
NCP |
NFS |
File services |
|
RIP |
RIP |
Routing information exchange |
|
SAP |
|
Service availability information exchange |
Alan Cox first developed IPX support for the Linux kernel in 1985. [83] Alan can be reached at alan@lxorguk.ukuu.org.uk.
Initially it was useful for little more than routing IPX datagrams. Since then, other people, notably Greg Page, have provided additional support. [84] Greg can be reached at gpage@sovereign.org.
Greg developed the IPX configuration utilities that we'll use in this chapter to configure our interfaces. Volker Lendecke developed support for the NCP filesystem to allow Linux to mount volumes on network-connected NetWare fileservers. [85] Volker can be reached at lendecke@namu01.gwdg.de.
He also created tools that allow printing to and from Linux. Ales Dryak and Martin Stover each independently developed NCP fileserver daemons for Linux that allow network-connected NetWare clients to mount Linux directories exported as NCP volumes, just as the NFS daemon allows Linux to serve filesystems to clients using the NFS protocol. [86] Ales can be reached at A.Dryak@sh.cvut.cz. Martin can be reached at mstover@freeway.de.
Caldera Systems, Inc. offers a commercial and fully licensed NetWare client and server that supports the latest Novell standards, including support for the NetWare Directory Service (NDS). [87] Information on Caldera can be found at http://www.caldera.com/.
Today, therefore, Linux supports a wide range of services that allow systems to be integrated with existing Novell-based networks.
Although we don't detail the Caldera NetWare support in this chapter, it is important that we talk about it. Caldera was founded by Ray Noorda, the former CEO of Novell. The Caldera NetWare support is a commercial product and fully supported by Caldera. Caldera provides the NetWare support as a component of their own Linux distribution called Caldera OpenLinux. The Caldera solution is an ideal way of introducing Linux into environments that demand both commercial support and the ability to integrate into existing or new Novell networks.
The Caldera NetWare support is fully licensed by Novell, providing a high degree of certainty that the two companies' products will be interoperable. The two exceptions to this certainty are "pure IP" operation for the client, and NDS server, though neither of these were available at the time of writing. NetWare client and NetWare server are both available. A suite of management tools is also provided that can simplify management of not only your Linux-based NetWare machines, but your Novell NetWare machines, too, by bringing the power of Unix scripting languages to the task. More information on Caldera can be found at their web site.
Along with Version 4 of NetWare, Novell introduced a feature called the NetWare Directory Service (NDS). The NDS specifications are not available without a nondisclosure agreement, a restriction that hampers development of free support. Only Version 2.2.0 or later of the ncpfs package, which we'll discuss later, has any support for NDS. This support was developed by reverse engineering the NDS protocol. The support seems to work, but is still officially considered experimental. You can use the non-NDS tools with NetWare 4 servers, provided they have "bindery emulation mode" enabled.
The Caldera software has full support for NDS because their implementation is licensed from Novell. This implementation is not free, however. So you will not have access to the source code and will not be able to freely copy and distribute the software.
Configuring the Kernel for IPX and NCPFS
Configuring the kernel for IPX and the NCP filesystem is simply a matter of selecting the appropriate kernel options at kernel build time. As with many other parts of the kernel, IPX and NCPFS kernel components can be built into the kernel, or compiled as modules and loaded using the insmod command when you need them.
The following options must be selected if you want to have Linux support and route the IPX protocol:
General setup --->
[*] Networking support
Networking options --->
<*> The IPX protocol
Network device support --->
[*] Ethernet (10 or 100Mbit)
... and appropriate Ethernet device drivers
If you want Linux to support the NCP filesystem so it can mount remote NetWare volumes, you must additionally select these options:
Filesystems --->
[*] /proc filesystem support
<*> NCP filesystem support (to mount NetWare volumes)
When you've compiled and installed your new kernel, you're ready to run IPX.
Configuring IPX Interfaces
Just as with TCP/IP, you must configure your IPX interfaces before you can use them. The IPX protocol has some unique requirements; consequently, a special set of configuration tools was developed. We will use these tools to configure our IPX interfaces and routes.
Network Devices Supporting IPX
The IPX protocol assumes that any collection of hosts that can transmit datagrams to each other without routing belong to the same IPX network. All hosts belonging to a single Ethernet segment would all belong to the same IPX network. Similarly (but less intuitively), both hosts supporting a PPP-based serial link must belong to the IPX network that is the serial link itself. In an Ethernet environment, there are a number of different frame types that may be used to carry IPX datagrams. The frame types represent different Ethernet protocols and describe differing ways of carrying multiple protocols on the same Ethernet network. The most common frame types you will encounter are 802.2 and ethernet_II. We'll talk more about frame types in the next section.
The Linux network devices that currently support the IPX protocol are the Ethernet and PPP drivers. The Ethernet or PPP interface must be active before it can be configured for IPX use. Typically, you configure an Ethernet device with both IP and IPX, so the device already exists, but if your network is IPX only, you need to use the ifconfig to change the Ethernet device status to the following:
# ifconfig eth0 up
IPX Interface Configuration Tools
Greg Page developed a set of configuration tools for IPX interfaces, which is a precompiled package in modern distributions and may also be obtained in source form by anonymous FTP from http://metalab.unc.edu/ in the /pub/Linux/system/filesystems/ncpfs/ipx.tgz file.
An rc script file usually runs the IPX tools at boot time. Your distribution may already do this for you if you have installed the prepackaged software.
The ipx_configure Command
Each IPX interface must know which IPX network it belongs to and which frame type to use for IPX. Each host supporting IPX has at least one interface that the rest of the network will use to refer to it, known as the primary interface. The Linux kernel IPX support provides a means of automatically configuring these parameters; the ipx_configure command enables or disables this automatic configuration feature.
Читать дальше