Subject: Re: Linux as SLIP Router
From: [email-masked] (Johannes Stille)
Date: Sun, 1 Jan 1995 11:48:31 GMT

In article <[email-masked]>,
	Sami-Pekka Hallikas / OH1KYL <[email-masked]> wrote:
>I have quite small (but not so easy to fix (at least not for me)) problem
>with Slip and Linux routtings.
>
>I think I better show it what I try to do and do some short comments so it
>will not go so complex.
>
>S1 - Slip 1 , Etc....  and L1 - Local 1, etc....
>
>
>         S+1   S+2   S+3
>          |     |     |
>          +-----+-----+  <- Modem Cable
>                |
>                |
>      L+1     HOST    L+2 L+3
>       |        |      |   |
>     -----------+--------------<-> Big router to internet <->----- Internet
>     ^ Ethernet Cable

A common configuration, and probably a common problem as well.

>1. All S? computers have own IP address, on same domain as L? computers.

I assume you mean that they have IP addresses from the same
network/subnetwork as the L? machines, as "domain" refers to machine
naming and is meaningless for IP adresses.

Good.

>2. HOST does not forward IP Data from Ethernet cable to Modem Cable

(5.) proves otherwise. Your problem is not HOST not forwarding IP
packets, but L? not sending the packets to HOST.

>3. S? Systems Talk with HOST computer, but don't go over it to ethernet.
>4. It is not possible to change settings from BIG Router.

And not necessary.

>5. If I do command "route add S1 gw HOST eth0" ie. in L1, then L1 and S1 can
>   talk with themself.

This proves that you have a kernel on HOST that has IP forwarding
enabled. Good.

>6. I tried to check gated out, but it is way too complex for this small job

It isn't the appropriate tool anyway, because of (1.).
What you need is proxy ARP.

The real problem: Because of (1.), L? assumes that S? can reached
directly over the Ethernet and thus tries to send packets directly.
This is bound to fail.
Proxy ARP results in HOST answering for S? on the Ethernet.

SOLUTION:
Recent versions of dip-3.3.7-uri fortunately have the proxy ARP
capability built in. (I checked version 3.3.7h.)
So upgrade the diplogin program on HOST to the current release, and
everything should work fine. Be warned, though, that the format of
/etc/diphosts has changed, read the documentation coming with the dip
source.

(If you are not using diplogin on HOST, proxy ARP ist still the
solution, but you have to get there in some other way. For dip (as
opposed to diplogin), there now is a "proxyarp" command for the dip
script. And in any case, "arp -s" allows you to manually establish
proxy ARP (see the "arp" man page).

If in doubt, please read the Networking Administrators' Guide (NAG) by
the Linux Documentation project, available on every good Linux FTP
server. While this book is not always up to the most recent code, it
explains the basic things that you need to know.

	Johannes