Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 1995 13:08:54 -0400 (EDT)
From:      "Michael C. Newell" <mnewell@lupine.nsi.nasa.gov>
To:        aarone@homer.prahran.swin.edu.au
Cc:        freebsd-questions@freefall.cdrom.com
Subject:   Re: SLIP routing on internet....  (LONG reply)
Message-ID:  <Pine.SUN.3.91.950803124411.9223J-100000@lupine.nsi.nasa.gov>
In-Reply-To: <MAILQUEUE-101.950803111544.288@h409-fs3.prahran.swin.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 3 Aug 1995, Aaron Elliott. wrote:

> I reconfigured the kernal with the gateway option set, and booted on
> it, but still didnt seem to comply!

I also have "options IPFORWARDING" configured in.  I'm not sure what this 
does, but the last time I scanned for it (to see if it had been totally 
eliminated) I found it all over the networking code, so I went ahead and 
left it in.

> Do you use sliplogin?? becasue i dont.. I have ifconfig sl0 bla bla
> in netstart along with the arp stuff too.. Is this the way to do it
> or should i be using sliplogin as well?  The docs arent to clear on
> this topic.

No, I subnetted my network and used sliplogin (which invokes ifconfig to 
install the route).  I've since switched to PPP using pppd, and will 
proabaly investigate ijppp when I upgrade my router host to 2.0.5R.

I don't understand why proxy arp is an issue here.  If you have a single 
host behind the slip server host then you should be able to start the 
slip server code (via sliplogin) and it should install a proxy arp and a 
route for the single host for you.  That is, if you have this situation:

                +-------------+
                | target host |
                +-----+-------+
                      |
                     //  slip link
                     |
                +-------------+
                | slip server |
                +-------+-----+
                        |
         +-----+--------+-------------+  ethernet
               |
          +----+-------+
          | IP  router |
          +----+-------+
               |
               V  rest of the network

then sliplogin should install a proxy arp entry for target host into slip 
server's arp table and a route to target host in its routing tables.  
That way slip server will respond to arps issued on ethernet and properly 
send the packets.  If you set up slip according to the basic guidelines, 
then this should be pretty trivial.

Things get more interesting when you want to do:

            +----------+--------------+  subnet
                       |
                +------+------+
                | target host |
                +-----+-------+
                      |
                     //  slip link
                     |
                +-------------+
                | slip server |
                +-------+-----+
                        |
         +-----+--------+-------------+  ethernet
               |
          +----+-------+
          | IP  router |    
          +----+-------+ 
               |
               V  rest of the network

In this case both slip server and target host have to be IP routers.  
Assuming you want to use the same IP network number for subnet and 
ethernet, then you have two choices:

1. Subnet the network number using a subnet mask, then use one subnet
   for ethernet and one for subnet.  slip link goes into ethernet's 
   subnet.  Run a routing protocol between target host, slip server,
   and IP router (in this example IP router be aware of the subnetting,
   so it should probably have the same subnet mask on its interface
   to ethernet as slip server and targe host.

For example, say you have a class C network 200.200.200.0.  You can
split your block in half with mask 0xfffffff0.  You might then subnet
as

   ip router ethernet    200.200.200.1   0xfffffff0
   slip server ethernet  200.200.200.2   0xfffffff0
   target host slip      200.200.200.3   0xfffffff0
   target host ethernet  200.200.200.129 0xfffffff0

Then run a routing protocol like RIP (e.g. routed) to tell everyone where 
everything is.  

2. You can fool around with ARP tables and routes to get this to work (that's
what I did originally), but it's messy and doesn't scale.  What you can do
is put in an ARP and a route in slip server's tables for each address you're
going to use on subnet.  On target host you'll need arp entries and 
routes for each address you use on ethernet.  Again, both slip server and 
target host have to be set up with routing enabled.  You wouldn't 
actually subnet - that is, for a class C network number you'd use the 
default mask of 0xffffff00, for class B use 0xffff0000, etc.  It works, 
but everything's manual...

As I said I did [2] initially, but it was constantly breaking and I had 
to do too many changes as we added lots of nodes; eventually it just 
became unworkable and I broke down and subnetted our network.  Now 
everything works like it's supposed do, I don't get any broken paths, and 
I don't have to manually deal with all this stuff.

Anyway, I realize this is a bit on the long side; hope it helps!!

Mike

+--------------------------------------+------------------------------------+
|Mike Newell                           | The opinions expressed herein are  |
|NASA Science Internet Network Systems | my own, and do not necessarily     |
|Sterling Software, Inc.               | reflect those of the NSI program,  |
|MNewell@nsipo.nasa.gov                | Sterling Software, NASA, or anyone |
|+1-202-434-8954                       | else.                              |
+--------------------------------------+------------------------------------+
|                  work: http://www.eco.nsi.nasa.gov/~mnewell               |
|                    home: http://www.newell.arlington.va.us                |
+---------------------------------------------------------------------------+




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.950803124411.9223J-100000>