Linux IPX HOWTO Terry Dawson, terry@perf.no.itg.telecom.com.au v2.1, 10 October 1996 This document aims to describe how to obtain, install and configure various tools available for the the Linux operating system that use the Linux kernel IPX protocol support. 1. Introduction. This is the Linux IPX-HOWTO. You should read the Linux NET-2-HOWTO in conjunction with this document. 1.1. Changes from the previous release. Additions: Volkers new user and admin commands. Novell Print Server configuration. Corrections/Updates: Updated ncpfs version Updated mars_nwe version Corrected location of ipxd routing daemon. Minor cosmetic changes. 1.2. Introduction. The Linux Kernel has a completely new network implementation as compared to other Unix like operating systems. The ability to take a fresh approach to developing the kernel networking software has led to the Linux kernel having support for a range of non tcp/ip protocols being built. The IPX protocol is one of those that have been included. The Linux kernel supports the IPX protocol only. It does not yet support protocols such as IPX/RIP, SAP or NCP, these are supported by other software such as that documented elsewhere in this document. The IPX support was originally developed by Alan Cox and has been significantly enhanced by Greg Page . 2. Disclaimer. I do not and cannot know everything there is to know about the Linux network software. Please accept and be warned that this document probably does contain errors. Please read any README files that are included with any of the various pieces of software described in this document for more detailed and accurate information. I will attempt to keep this document as error-free and up-to-date as possible. Versions of software are current as at time of writing. In no way do I or the authors of the software in this document offer protection against your own actions. If you configure this software, even as described in this document and it causes problems on your network then you alone must carry the responsibility. I include this warning because IPX network design and configuration is not always a simple matter and sometimes undesirable interaction with other routers and fileservers can result if you do not design or configure your network carefully. I also include this warning because I was asked to by someone unfortunate enough to have discovered this lesson the hard way. 3. Related Documentation. This document presumes you understand how to build a Linux kernel with the appropriate networking options selected and that you understand how to use the basic network tools such as ifconfig and route. If you do not, then you should read the NET-2-HOWTO in conjunction with this document as it describes these. Other Linux HOWTO documents that might be useful are: The Ethernet-HOWTO , which describes the details of configuring an Ethernet device for Linux. The PPP-HOWTO as IPX support is available for version 2.2.0d and later of the Linux PPP implementation. 3.1. New versions of this document. If your copy of this document is more than two months old then I strongly recommend you obtain a newer version. The networking support for Linux is changing very rapidly with new enhancements and features, so this document also changes fairly frequently. The latest released version of this document can always be retrieved by anonymous ftp from: sunsite.unc.edu /pub/Linux/docs/HOWTO/IPX-HOWTO or: /pub/Linux/docs/HOWTO/other-formats/IPX-HOWTO{-html.tar,ps,dvi}.gz via the World Wide Web from the Linux Documentation Project Web Server , at page: IPX-HOWTO or directly from me, . It may also be posted to the newsgroups: comp.os.linux.networking, comp.os.linux.answers and news.answers from time to time. 3.2. Feedback. Please send any comments, updates, or suggestions to me, . The sooner I get feedback, the sooner I can update and correct this document. If you find any problems with it, please mail me directly as I now very rarely read the newsgroups. You might also catch me as terryd on the #linpeople IRC channel on the undernet IRC network. 3.3. Mailing list support. There is a mailing list established for discussion of the various Linux IPX software packages described in this document. You can subscribe to it by sending a mail message to listserv@sh.cvut.cz with add linware in the body of the message. To post to the list your send your mail to linware@sh.cvut.cz. The mailing list is archived at www.kin.vslib.cz . 4. Some of the terms used in this document. You will often see the terms client and server used in this document. They are normally fairly specific terms but in this document I have generalized their definitions a little so that they mean the following: client The machine or program that initiates an action or a connection for the purpose of gaining use of some service or data. server The machine or program that accepts incoming connections from multiple remote machines and provides a service or data to those. These definitions are not very reliable either, but they provide a means of distinguishing the ends of peer to peer systems such as SLIP or PPP which truly do not actually have clients and servers. Other terms you will see are: Bindery The bindery is a specialised database storing network configuration information on a Novell fileserver. Netware clients may query the bindery to obtain information on available services, routing and user information. IPX Internet Packet eXchange is a protocol used by the Novell corporation to provide internetworking support for their NetWare(tm) product. IPX is similar in functionality to the IP protocol used by the tcp/ip community. IPX network address This is a number which uniquely identifies a particular IPX network. The usual notation for this address is in hexadecimal. An example might look like: 0x23a91002. IPX Internal network This is a virtual IPX network. It is virtual because it does not correspond to a physical network. This is used to provide a means of uniquely identifying and addressing a particular IPX host. This is generally only useful to IPX hosts that exist on more than one physical IPX network such as fileservers. The address is coded in the same form as for a physical IPX network. RIP Routing Information Protocol is a protocol used to automatically propagate network routes in an IPX network. It is functionally similar to the RIP used within the tcp/ip community. NCP NetWare Core Protocol is a networked filesystem protocol designed by the Novell Corporation for their NetWare(tm) product. NCP is functionally similar to the NFS used in the tcp/ip community. SAP Service Advertisement Protocol is a protocol designed by the Novell Corporation that is used to advertise network services in a NetWare(tm) environment. Hardware address This is a number that uniquely identifies a host in a physical network at the media access layer. Examples of this are Ethernet Addresses. An Ethernet address is generally coded as six hexadecimal values separated by colon characters eg. 00:60:8C:C3:3C:0F route The route is the path that your packets take through the network to reach their destination. 5. The IPX related files in the /proc filesystem. There are a number of files related to the Linux IPX support that are located within the /proc filesystem. They are: /proc/net/ipx_interface This file contains information about the IPX interfaces configured on your machine. These may have been configured manually by command or automatically detected and configured. /proc/net/ipx_route This file contains a list of the routes that exist in the IPX routing table. These routes may have been added manually by command or automatically by an IPX routing daemon. /proc/net/ipx This file is a list of the IPX sockets that are currently open for use on the machine. 6. Greg Pages IPX tools. Greg Page . 6.1. The IPX tools in more detail. ipx_interface This command is used to manually add, delete or check ipx capability to an existing network device. Normally the network device would be an Ethernet device such at eth0. At least one IPX interface must be designated the primary interface and the -p flag to this command does this. For example to enable Ethernet device eth0 for IPX capability as the primary IPX interface using the IEEE 802.2 frame type and IPX network address 39ab0222 you would use: # ipx_interface add -p eth0 802.2 0x39ab0222 ipx_configure This command enables or disables the automatic setting of the interface configuration and primary interface settings. The --auto_interface argument allows you to select whether new network devices should be automatically configured as IPX devices or not. The --auto_primary argument allows you to select whether the IPX software should automatically select a primary interface or not. A typical example of this commands use would be to enable both automatic interface configuration and automatic primary interface setting: # ipx_configure --auto_interface=on --auto_primary=on ipx_internal_net This command allows you to configure or deconfigure an internal network address. An internal network address is optional, but when it is configured it will always be the primary interface. To configure an IPX network address of ab000000 on IPX node 1 you would use: # ipx_internal_net add 0xab000000 1 ipx_route The command allows you to manually modify the IPX routing table. For example to add a route to IPX network 39ab0222 via a router with node number 00608CC33C0F on IPX network 39ab0108: # ipx_route add 0x39ab0222 0x39ab0108 0x00608CC33C0F 7. Configuring your Linux machine as an IPX router. If you have a number of IPX segments that you wish to internetwork you need the services of a router. In the Novell environment there are two pieces of information which are necessary to be propagated around the network. They are the network routing information propagated using Novell RIP, and the service advertisement information propagated using Novell SAP. Any router must support both of these protocols to be useful in most situations. Linux has support for both of these protocols and can be fairly easily made to function as a fully Novell compliant router. The Linux kernel IPX support actually manages the IPX packet forwarding across interfaces, but it does this according to the rules coded into the IPX routing table. Linux needs a program to implement the Novell RIP and SAP to ensure that the IPX routing table is built correctly and updated periodically to reflect changes in the network status. Volker Lendecke has developed a routing daemon that will do this for you. You can find ipxripd at: sunsite.unc.edu or at Volkers home site at: ftp.gwdg.de Configuring your Linux machine to act as a router is very straightforward. The steps you must take are: 1. Build your kernel with IPX, Ethernet and /proc support. 2. Obtain, compile and install the ipxd daemon program. 3. Boot the new kernel and ensure that each of the Ethernet cards has been properly detected and there are no hardware conflicts. 4. Enable the IPX protocol on each of the interfaces using the ipx_interface command described above. 5. Start the ipxd daemon program. Consider the following simple network: IPX Addr: 0x01000000 802.2 |--------------------------| | \_________________________ \ Linux Router IPX Addr: 0x02000000 802.2 \ |--------------------------| \ eth0/-----------\ | \--====| | \_________________________ | IPX route | \ eth1| Table | IPX Addr: 0x03000000 etherII \----====| ^ | |--------------------------| | | | | eth2| IPXd | \______________________________/====| | | SAPd | IPX Addr: 0x04000000 etherII eth3| | |--------------------------| /====| | | | \___________/ \______________________________/ The configuration for the above network would look like: # ipx_interface add eth0 802.2 0x0100000000 # ipx_interface add eth1 802.2 0x0200000000 # ipx_interface add eth2 etherii 0x0300000000 # ipx_interface add eth3 etherii 0x0400000000 # ipxd You should then wait a moment or two and check your /proc/net/ipx_route file and you should see it populated with the IPX routes relevant to your configuration and any learned from any other routers in the network. 7.1. Do I need to configure an internal network ? Novell has a feature called an internal network, which it uses to simplify routing in situations where a host has more than one network device connected. This is useful in the case of a fileserver connected to multiple networks as it means that only one route needs to be advertised to reach the server regardless of which network you are attempting from. In the case of a configuration where you are not running a fileserver and your machine acting only as an IPX router the question is not as simple to answer. It has been reported that configuring for IPX/PPP works `better' if you also configure an internal network. In any case it is easy to do, but may require a rebuild of your kernel. When you are working through the kernel make config you must answer y when asked Full internal IPX network as illustrated: ... ... Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] y ... ... To configure the internal network interface, use the ipx_internal_net command described earlier in the IPX tools section. The main precaution to take is to ensure that they IPX network address you assign is unique on your network and that no other machine or network is using it. 8. Configuring your Linux machine as an NCP client. If you are a user of a mixed technology network that comprises both IP and IPX protocols it is likely that at some time or another you have wanted to have your Linux machine access data stored on a Novell fileserver on your network. Novell have long offered an NFS server package for their fileservers that would allow this, but if you are a small site or have only a small number of people interested in doing this it is difficult to justify the cost of the commercial package. Volker Lendecke has written a Linux filesystem kernel module that supports a limited subset of the Novell NCP that will allow you to mount Novell volumes into your Linux filesystem without requiring any additional products for your fileserver. The software causes Linux to emulate a normal Novell workstation for file services. It also includes a small print utility that allows you to print to Novell print queues. Because this is a limited subset it does not work very well with any of the Novell fileserver emulators described later in this document. Volker has called the package ncpfs and derived the necessary information mainly from the book "Netzwerkprogrammierung in C" by Manfred Hill and Ralf Zessin (further details of the book are contained within the README file in the ncpfs package). Volker also used the IPX tools written by Greg Page . 8.1. Obtaining ncpfs. The latest ncpfs package was designed to be built against the version 1.2.13 kernel or kernels later than 1.3.71 so you if you are not using a kernel in either of these categories it then you should obtain one and use it. You can obtain the ncpfs package by anonymous ftp from Volker's home site at: ftp.gwdg.de or sunsite.unc.edu or mirror sites. The current version at the time of writing was: ncpfs-2.0.6.tgz 8.2. Building ncpfs for kernels 1.2.*. Build a kernel with Ethernet and IPX support The first thing you need to do is ensure that your kernel has been built with IPX support enabled. In the 1.2.13 version kernel you need only ensure that you have answered Y to the question: 'The IPX protocol' as illustrated: ... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ... You will also need to ensure that you include an appropriate driver for your Ethernet card. If you do not know how to do this then you should read the Ethernet-HOWTO . You can then proceed to build your kernel. Make sure you remember to run lilo to install it when you have finished. Untar the ncpfs software # cd /usr/src # tar xvfz ncpfs-2.0.6.tgz # cd ncpfs Check the Makefile If you intend to use kerneld to autoload the ncpfs kernel module then you must uncomment the line in the Makefile that refers to: KERNELD. If you are unsure what this means then you should read the Kernel-HOWTO to familiarise yourself with kernel module configuration. Make the ncpfs software The software should compile cleanly with no configuration necessary: # make Copy the IPX tools somewhere useful if you don't already have them. After the make has completed you should find all of the tools you need in the ncpfs/bin directory. You can use make install to install the tools in Volkers choice of directories. If you are running on an ELF based system then you will need to rerun ldconfig -v to ensure that the shared library is able to be found. Copy the ncpfs.o module somewhere useful if necessary. If you are compiling for a 1.2.* kernel then you will find a file called ncpfs.o in the ncpfs/bin directory after the make has completed. This is the ncpfs kernel module. You should copy this somewhere useful. On my debian system I have copied it to the /lib/modules/1.2.13/fs directory and added ncpfs to the /etc/modules file so that it will be automatically started at boot time. If you are using some other distribution you should find where it keeps its modules and copy it there, or just copy it to your /etc directory. To load the modules manually you need to use the command: # insmod ncpfs.o 8.3. Building ncpfs for kernels 1.3.71++. For the latest version of ncpfs you must use kernel 1.3.71 or newer. If you want to use older 1.3.* kernels then you must locate a version of ncpfs like ncpfs-0.12.tgz. If you intend using a kernel that is version 1.3.71 or newer then the ncpfs kernel code has been included in the standard kernel distribution. You need only answer Y to: ... ... The IPX protocol ? ... ... NCP filesystem support (to mount NetWare volumes) ? ... ... You will still need to follow the instructions for building for kernels 1.2.* so that you can build the tools but there will not be a module file for you to install. 8.4. Configuring and using ncpfs. 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. In most installations the automatic method will work ok. If it doesn't work for you then read the 'IPX tools' section below to configure your software manually: # ipx_configure --auto_interface=on --auto_primary=on Test the configuration 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. Check that you have actually booted off the appropriate kernel. If the slist command does not list all of your fileservers then you may need to use the manual network configuration method. Mount a Novell(tm) volume. If your IPX network software is working ok you should now be able to mount a Novell fileserver volume into your Linux filesystem. The ncpmount command is used for this purpose and requires that you specify at least the following information: 1. The fileserver name 2. The fileserver login id. If it has a password you will also need that. 3. The mount point ie. where you want the mount to go. An example command to mount fileserver ACCT_FS01, with a login id of guest with no password, under the /mnt/Accounts directory might look like the following: # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n Note the use of the -n option to indicate that no password is required for the login. The same login specifying a password of secret would look like: # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -P secret If you don't specify either the -n or the -P options you will be prompted for a password. Check the mount If the mount is successful you will find the volumes accessible to the userid used for login listed as directories under the mount point. You should then also be able to traverse the directory structure to find other files. Because NCP does not provide uid or gid ownership of files, all of the files will have the permission and ownership assigned to the mount point directory, keep this in mind when sharing mounts between Linux users. Test printing You can test to see if printing works using the nprint command. The nprint command allows you to print to a file to a NetWare print queue. The pqlist command allows you the list the available print queues on a NetWare server. Both commands require that you supply username and password so you might normally consider building some shell scripts to make the task of printing easier. An example might look like: # pqlist -S ACCT_FS01 -U guest -n # nprint -S ACCT_FS01 -q LASER -U guest -n filename.txt The login syntax is similar to the ncpmount command. The examples above assume that fileserver ACCT_FS01 has a guest account with no password, that a print queue called LASER exists and that guest is allowed to print to it. Configure mounts to be automatically performed. If you have some need to permanently have an ncp mount then you will want to configure the commands above into your rc files so that they occur automatically at boot time. If your distribution doesn't already provide some way of configuring IPX like debian then I recommend you place them in your /etc/rc.local file if you have one. You might use something like: # # Start the ncp filesystem /sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o # configure the IPX network ipx_configure --auto_interface=on --auto_primary=on # guest login to the Accounting fileserver ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n # There is another means of configuring NCP mounts and that is by building a $HOME/.nwclient file. This file contains details of tem­ porary or user specific NCP mounts that would be performed regu­ larly. It allows you to store the details of mounts so that you can recreate them without having to specify all of the detail each time. Its format is quite straightforward: # The first entry is the 'preferred server' entry and is # used whenever you do not specify a server explicitly. # # User TERRY login to DOCS_FS01 fileserver with password 'password' DOCS_FS01/TERRY password # # Guest login to the ACCT_FS01 fileserver with no password. ACCT_FS01/GUEST - To activate these mounts you could use: $ ncpmount /home/terry/docs to mount: DOCS_FS01 with a login of TERRY under the /home/terry/docs directory. Note that this entry was chosen because no fileserver was specified in the mount command. If the following command were used: $ ncpmount -S ACCT_FS01 /home/terry/docs then a GUEST login to ACCT_FS01 would be mounted there instead. Note: for this mechanism to work the permissions of the $HOME/.nwclient file must be 0600 so you would need to use the command: $ chmod 0600 $HOME/.nwclient If non-root users are to be allowed to use this mechanism then the ncpmount command must be Set Userid Root, so you would need to give it permissions: # chmod 4755 ncpmount Try out the nsend utility a utility to send messages to Novell users is also included in the package, it is called nsend and is used as follows: # nsend rod hello there would send the message "hello there" to a logged in user "rod" on your "primary" fileserver (the first one appearing in your .nwclient file. You can specify another fileserver with the same syntax as for the ncpmount command. 8.5. An overview of the user and adminstration commands Recent versions of Volker's package include a range of user and administration commands that you might want to use. Detailed information is available in the supplied man pages. A brief summary of the commands is as follows; 8.5.1. User commands. ncopy Network Copy - allows efficient file copies to be performed by using a Netware function rather than a copy across the network. nprint Network Print - allows you to print a file to a Netware print queue on a Netware server. nsend Network Send - allows you to send messages to other users on a Netware server. nwbols List Bindery Objects - allows you to list the bindery contents of a Netware server. nwboprops List Properties of a Bindery Object - allows you to the properties of a Netware bindery object. nwbpset Set Bindery Property - allows you to set the properties of a Netware bindery object. nwbpvalues Print Netware Bindery Objects Property Contents - allows you to print the contents of a Netware bindery property. nwfsinfo Fileserver Information - prints some summary information about a Netware server. nwpasswd Netware Password - allows you to change a Netware users password. nwrights Netware Rights - displays the rights associated with a particular file or directory. nwuserlist Userlist - lists the users currently logged into a Netware fileserver. pqlist Print Queue List - displays the contents of a Netware print queue. slist Server List - displays a list of know Netware fileserver. 8.5.2. Administration tools. nwbocreate Create a Bindery Object - allows you to create a Netware bindery object. nwborm Remove Bindery Object - allows you to delete a Netware bindery object. nwbpadd Add Bindery Property - allows you to set the value of an existing property of a Netware bindery object. nwbpcreate Create Bindery Property - allows you to create a new property for an existing Netware bindery object. nwbprm Remove Bindery Property - allows you to remove a property from a Netware bindery object. nwgrant Grant Trustee Rights - allows you to assign trustee rights to a directory on a Netware fileserver. nwrevoke Revoke Trustee Rights - allows you to remove trustee rights from a directory on a Netware fileserver. 9. Configuring your Linux machine as a Novell Print Server. A program to allow your Linux machine to act as a print server on a Netware network is included in the ncpfs package. For instructions on how to obtain and build, it follow the directions in the `Netware client' section above. Note:A complementary command to allow you to print from your Linux machine to a Netware print queue is also included and documented in the `Netware client' section above. 9.1. Prerequisites Configuration is quite straightforward but relies on you already having your printer configuration completed and working under Linux. This is covered in the Printing-HOWTO in some depth. 9.2. Configuration When you have a working printer configuration, and you have built and installed the pserver utility then you need to add commands to start it into your rc files. Exactly what command will use will depend on depend on exactly how you want it to operate, but in its simplest form something like the following will work: # pserver -S ACCT_01 -U LASER -P secret -q LASERJET This example asks the pserver utility to login in to the ACCT_01 fileserver with username LASER and password secret and to take jobs from the LASERJET print queue. When an incoming print job is received it will use the default print command of lpr to feed the print job to the Linux print daemon. You could if you wished use any Linux command to accept and print the print job. The -c argument allows you to specify the exact print command. For example: # pserver -S ACCT_01 -U LASER -P secret -q LASERJET -c "lpr -Plaserjet" would do exactly the same as the previous example except it would send the job to the laserjet printcap configuration instead of the default one. 10. Configuring your Linux machine as an NCP server. There are two packages available that allow Linux to provide the functions of a Novell Fileserver. They both allow you to share files on your linux machine with users using Novell NetWare client software. Users can attach and map filesystems to appear as local drives on their machines just as they would to a real Novell fileserver. You may want to try both to see which best serves your intended purpose. 10.1. The mars_nwe package. Martin Stover developed mars_nwe to enable linux to provide both file and print services for NetWare clients. In case you are wondering about the name: mars_nwe is Martin Stovers Netware Emulator. 10.1.1. Capability of mars_nwe. mars_nwe implements a subset of the full Novell NCP for file services, disk based bindery and also print services. It is likely to contain bugs but there are many people using it now and the number of bugs is steadily decreasing as new versions are released. 10.1.2. Obtaining mars_nwe. You can obtain mars_nwe from ftp.gwdg.de . The current version at the time of writing was: mars_nwe-0.98.pl3.tgz. 10.1.3. Building the mars_nwe package. Build a kernel with Ethernet and IPX Support In the 1.2.13 version kernel you need only ensure that you have answered Y to the question: 'The IPX protocol' and N to the question: ... ... The IPX protocol (CONFIG_IPX) [n] y ... ... Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] n ... ... In newer kernels a similar process is adopted but the actual text of the prompt may have changed slightly. You will also need to ensure that you include an appropriate driver for your Ethernet card. If you do not know how to do this then you should read the Ethernet-HOWTO . You can then proceed to build your kernel. Make sure you remember to run lilo to install it when you have finished. Untar the mars_nwe package. # cd /usr/src # tar xvfz mars_nwe-0.98.pl3.tgz Make mars_nwe. To make the package is very simple. The first step is to simply run make, this will create a config.h file for you. Next you should look at and edit the config.h file if necessary. It allows you to configure items such as the installation directories that will be used and the maximum number of sessions and volumes that the server will support. The really important entries to look at are: FILENAME_NW_INI the location of the initialisation file PATHNAME_PROGS where the executable support programs will be found. PATHNAME_BINDERY where the 'bindery' files will go. PATHNAME_PIDFILES the directory for the 'pid' files to be written. MAX_CONNECTIONS the maximum number of simultaneous connections allowed. MAX_NW_VOLS the maximum number of volumes mars_nwe will support. MAX_FILE_HANDLES_CONN the maximum number of open files per connection. WITH_NAME_SPACE_CALLS if you want to support ncpfs clients. INTERNAL_RIP_SAP whether you want mars_nwe to provide rip/sap routing. SHADOW_PWD whether you use shadow passwords or not. When this is done: # make # make install will build the servers and install them in the appropriate directory. The installation script also installs the configuration file /etc/nwserv.conf. Configure the server. Configuration is fairly simple. You need to edit the /etc/nwserv.conf file. The format of this file may at first look a little cryptic, but it is fairly straightforward. The file contains a number of single line configuration items. Each line is whitespace delimited and begins with a number that indicates the contents of the line. All characters following a '#' character are considered a comment and ignored. Martin supplies an example configuration file in the package, but I'll present what I consider to be a simplified example to offer an alternative for you. # VOLUMES (max. 5) # Only the SYS volume is compulsory. The directory containing the SYS # volume must contain the directories: LOGIN, PUBLIC, SYSTEM, MAIL. # The 'i' option ignores case. # The 'k' option converts all filenames in NCP requests to lowercase. # The 'm' option marks the volume as removable (useful for cdroms etc.) # The 'r' option set the volume to read-only. # The 'o' option indicates the volume is a single mounted filesystem. # The 'P' option allows commands to be used as files. # The 'O' option allows use of the OS/2 namespace # The 'N' option allows use of the NFS namespace # The default is upper case. # Syntax: # 1 1 SYS /home/netware/SYS/ # SYS 1 DATA /home/netware/DATA/ k # DATA 1 CDROM /cdrom kmr # CDROM # SERVER NAME # If not set then the linux hostname will be converted to upper case # and used. This is optional, the hostname will be used if this is not # configured. # Syntax: # 2 2 LINUX_FS01 # INTERNAL NETWORK ADDRESS # The Internal IPX Network Address is a feature that simplifies IPX routing # for multihomed hosts (hosts that have ports on more than one IPX network). # Syntax: # 3 [] # or: # 3 auto # # If you use 'auto' then your host IP address will be used. NOTE: this may # be dangerous, please be sure you pick a number unique to your network. # Addresses are 4byte hexadecimal (the leading 0x is required). 3 0x49a01010 1 # NETWORK DEVICE(S) # This entry configures your IPX network. If you already have your # IPX network configured then you do not need this. This is the same as # using ipx_configure/ipx_interface before you start the server. # Syntax: # 4 [] # Frame types: ethernet_ii, 802.2, 802.3, SNAP 4 0x39a01010 eth0 802.3 1 # SAVE IPX ROUTES AFTER SERVER IS DOWNED # Syntax: # 5 # 0 = don't save routes, 1 = do save routes 5 0 # NETWARE VERSION # Syntax: # 6 # 0 = 2.15, 1 = 3.11 6 1 # PASSWORD HANDLING # Real Novell DOS clients support a feature which encypts your # password when changing it. You can select whether you want your # mars server to support this feature or not. # Syntax # 7 # is: # 0 to force password encryption. (Clients can't change password) # 1 force password encryption, allow unencrypted password change. # 7 allow non-encrypted password but no empty passwords. # 8 allow non-encrypted password including empty passwords. # 9 completely unencrypted passwords (doesn't work with OS/2) 7 1 # MINIMAL GID UID rights # permissions used for attachments with no login. These permissions # will be used for the files in your primary server attachment. # Syntax: # 10 # 11 # are from /etc/passwd, /etc/groups 10 200 11 201 # SUPERVISOR password # May be removed after the server is started once. The server will # encrypt this information into the bindery file after it is run. # You should avoid using the 'root' user and instead use another # account to administer the mars fileserver. # # This entry is read and encrypted into the server bindery files, so # it only needs to exist the first time you start the server to ensure # that the password isn't stolen. # # Syntax: # 12 [] 12 SUPERVISOR terry secret # USER ACCOUNTS # This associates NetWare logins with unix accounts. Password are # optional. # Syntax: 13 [] 13 MARTIN martin 13 TERRY terry # LAZY SYSTEM ADMIN CONFIGURATION # If you have a large numbers of users and could not be bothered using # type 13 individual user mappings, you can automatically map mars_nwe # logins to linux user names. BUT, there is currently no means of making # use of the linux login password so all users configured this way are # will use the single password supplied here. My recommendation is not # to do this unless security is absolutely no concern to you. # Syntax: # 15 # is: 0 - don't automatically map users. # 1 - do automatically map users not configured above. # 99 - automatically map every user in this way. 15 0 duzzenmatta # SANITY CHECKING # mars_nwe will automatically ensure that certain directories exist if # you set this flag. # Syntax: # 16 # is 0 for no, don't, or 1 for yes, do. 16 0 # PRINT QUEUES # This associates NetWare printers with unix printers. The queue # directories must be created manually before printing is attempted. # The queue directories are NOT lpd queues. # Syntax: # 21 21 EPSON SYS:/PRINT/EPSON lpr -h 21 LASER SYS:/PRINT/LASER lpr -Plaser # DEBUG FLAGS # These are not normally needed, but may be useful if are you debugging # a problem. # Syntax: # # # 100 = IPX KERNEL # 101 = NWSERV # 102 = NCPSERV # 103 = NWCONN # 104 = start NWCLIENT # 105 = NWBIND # 106 = NWROUTED # 0 = disable debug, 1 = enable debug 100 0 101 0 102 0 103 0 104 0 105 0 106 0 # RUN NWSERV IN BACKGROUND AND USE LOGFILE # Syntax: # 200 # 0 = run NWSERV in foreground and don't use logfile # 1 = run NWSERV in background and use logfile 200 1 # LOGFILE NAME # Syntax: # 201 201 /tmp/nw.log # APPEND LOG OR OVERWRITE # Syntax: # 202 # 0 = append to existing logfile # 1 = overwrite existing logfile 202 1 # SERVER DOWN TIME # This item sets the time after a SERVER DOWN is issued that the # server really goes down. # Syntax: # 210