Next
Previous
Contents
New versions of the pppd PPP daemon for Linux have support that
allows you to carry IPX packets across a PPP serial link. You need at least
version ppp-2.2.0d of the daemon. See the
PPP-HOWTO
for details on where to find it. When you compile pppd you must
ensure you enable the IPX support by adding the following two lines:
IPX_CHANGE = 1
USE_MS_DNS = 1
to: /usr/src/linux/pppd-2.2.0f/pppd/Makefile.linux .
The IPX_CHANGE is what configures the IPX support into PPP.
The USE_MS_DNS define allows Microsoft Windows95 machines to do
Name Lookups.
The real trick to getting it to work in knowing how to configure it.
There are many ways of doing this, but I'm only going to describe the two that
I've received any information on. I've tried neither yet, so consider this
section experimental, and if you get something to work, please let me know.
The first thing you need to do is configure your Linux machine as an IP/PPP
server. Don't panic! This isn't difficult. Again, follow the instructions in
the
PPP-HOWTO and you should be pretty
much ok. When you have this done there are a couple of simple modifications
you need to make to get IPX working over the same configuration.
First steps.
One of the first steps you must take is to configure your linux machine as an
IPX router as described in the appropriate section earlier in this document.
You won't need to use the ipx_route command for the ppp interface
because pppd will configure these for you as it does for IP. When you
have the ipxd daemon running it will automatically detect any new IPX
interfaces and propogates routes for them. In this way your dialup hosts will
be seen by other machines automatically when they connect.
Design.
When you are running as a server it will normally be your responsibility
to assign network address to each of the PPP links when they are established.
This is an important point, each PPP link will be an IPX network and will have
a unique IPX network address. This means that you must decide how you will
allocate addresses and what what they will be. A simple convention is to
allocate one IPX network address to each serial device that will support
IPX/PPP. You could allocate IPX network addresses based on the login id
of the connecting user, but I don't see any particularly good reason to do
so.
I will assume that this is what you have done, and that there are two serial
devices (modems) that we will use. The addresses I've assigned in this
contrived example are:
device IPX Network Address
------ -------------------
ttyS0 0xABCDEF00
ttyS1 0xABCDEF01
Configure pppd.
Configure your /etc/ppp/options.ttyS0 file as follows:
ipx-network 0xABCDEF00
ipx-node 2:0
ipxcp-accept-remote
and your /etc/ppp/options.ttyS1 file as:
ipx-network 0xABCDEF01
ipx-node 3:0
ipxcp-accept-remote
These will ask pppd to allocate the appropriate IPX network addresses
to the link when the link is established, set the local node number to
2 or 3 and will let the remote node overwrite what the
remote node number with what it thinks it is. Note that each of the addresses
are hexadecimal numbers and that 0x is required at the start of the
network address, but not required at the start of the node address.
There are other places this information could be configured. If you have only
one dialin modem then an entry could go into the /etc/ppp/options
file. Alternatively this information can be passed on the command line to
pppd.
Test the server configuration.
To test the configuration you will need to have a client configuration that
is known to work. When the caller dials in, logs in and pppd starts
it will assign the network address, advise the client of the servers node
number and negotiate the clients node number. When this has completed, and
after ipxd has detected the new interface the client should be able
to establish IPX connections to remote hosts.
In a client configuration, whether or not you configure your Linux machine
as an IPX router depends on whether you have a local LAN that you wish to
act as an IPX router for. If you are a standalone machine connecting to an
IPX/PPP dialin server then you won't need to run ipxd, but if you
have a LAN and wish all of the machines on the LAN to make use of the
IPX/PPP route then you must configure and run ipxd as described.
This configuration is much simpler because you do not have multiple serial
devices to configure.
Configuring pppd
The simplest configuration is one that allows the server to supply all of
the IPX network configuration information. This configuration would be
compatible with the server configuration described above.
Again you need to add some options to your /etc/ppp/options file,
they are:
ipxcp-accept-network
ipxcp-accept-remote
ipxcp-accept-local
These options tell pppd to act completely passively and accept
all of the configuration details from the server. You could supply default
values here for servers that don't supply details by adding
ipx-network and ipx-node entries similar to the server
configuration.
Testing the IPX/PPP client.
To test the client you will need a known working server to dial into. After
you have dialled in and pppd has run you should see the IPX details configured
on your ppp0 device when you run the ifconfig command and
you should be able to use ncpmount.
I'm not sure whether you will have to manually add IPX routes so that you
can reach distant fileserver or not. This seems likely. If anyone running
this configuration could tell me I'd be grateful.
Next
Previous
Contents
|