Subject: [netatalk-admins] problem 'routing' AppleTalk zones

From: "George Shapiro" <[email-masked]>
Date: Thu, 29 Apr 1999 05:49:48 -0700

Here is the problem:

 I am trying to seed a bunch of macs on one ethernet wire and place them
in a 'zone' with the ultimate end being file and print sharing...

Here is the setup:

I am running Netatalk 1.4b2 + asun.. with the 2.0.36 kernel.  The linux
box is connected to one (that's right, one)
mac through one ethernet interface.  So, there are no other 'routers'
seeding this mac.

This is a test setup for when I will be connecting multiple macs in a
large public high school.  The reason i want to have  'zones' is that
there are several logical groupings of macs within the network that
need  to be kept seperate in the chooser.

Here is where I need help:

I am using in  atalk.conf,        eth0 -seed -phase 2 -net 10 -addr 10.1
-zone "test".

When I restart the mac (and/or boot)  atalk.conf gets rewritten to

                                            eth0 -phase 2  -net 0-65384
-addr 65280...

and the mac tells me that no zones are available and no router is
available.  However, the linux-box does appear in AppleShare and
file-sharing is working fine.

I have been looking through the archives of this list and "linux-atalk"
and this seems to be a frequent problem.  It strikes me that I have
somehow not set things up correctly. However the responses seem to have
be "it isn't possible to 'route' a zone with one interface", "there must
be another router",  "why do you want a zone anyway if file sharing is
working", or "try eth0 -seed -phase 2 -net xx -addr xx.x -zone "xxx" ."
Anyone want to have a go at this one again?

Thanks,

[email-masked]
(tech coorditaire!)
Grant High School
Portland, Oregon

---

From: Stefan Bethke <[email-masked]>
Date: Thu, 29 Apr 1999 16:44:47 +0200

> in a 'zone' with the ultimate end being file and print sharing...
[...]
> Anyone want to have a go at this one again?

To have zones, you'll need a router.  To have an AppleTalk router, you'll
need at least two networks.  Period.

What you can do is configure a dummy interface and let netatalk "route"
between the real and the dummy interface.  It doesn't matter that there's
no other system connected to the dummy net -- all what is needed is another
network.

Also, this allows you to properly test the setup before
installating/connecting to the campus network.  You most definitly will
want to make sure that you do things right when connecting, or a bunch of
people will get quite upset, I guess.

If you haven't done so yet, you might want to take a look at my netatalk
routing setup tutorial at http://www.transit.hanse.de/netatalk/router.html

Stefan

--
Mühlendamm 12           |  Voice +49-40-256848, +49-177-3504009
D-22089 Hamburg         |  e-mail: [email-masked]
Germany                 |          [email-masked]

---

From: a sun <[email-masked]>
Date: Thu, 29 Apr 1999 12:26:32 -0700 (PDT)

well, my patches also allow for single-interface routing. just use the
-router flag instead of the -seed flag.

-a

---

From: ran <[email-masked]>
Date: Thu, 29 Apr 1999 16:57:54 -0500

One thing they forgot to say is to turn off your Mac, then restart your
Linux machine,
With a dummy interface. You'll need support for a dummy dev in your
kernel first.
You'll also need to set up your dummy dev with ifconfig like your eth0.

eth0 -seed -phase 2 -net 10 -addr 10.1 -zone "test"
dummy0 -seed -phase 2 -net 11 -addr 11.1 -zone "dummy"

Ran

---

From: Stefan Bethke <[email-masked]>
Date: Fri, 30 Apr 1999 02:24:43 +0200

--On Don, 29. Apr 1999 12:26 Uhr -0700 a sun <[email-masked]>
wrote:

>    To have zones, you'll need a router.  To have an AppleTalk router,
>    you'll need at least two networks.  Period.
> 

I exaggerated.  Somewhat.

The point is: any scheme which produces zones (answers to ZIP GNI
requests), but doesn't provide RTMP messages (with sensibile contents) will
be leaving some nodes in a less-than-perfect state.

The AppleTalk protocol spec isn't quite verbatim on this subject, but if
you carefully read Inside AppleTalk, you'll realise that the protocol
designers never thought of any network without a router, but that does have
zones.  Having zones simply *implies* having a working router, and I know
lots of systems that implement AppleTalk in a way that breaks when zones
appear with a network in the start-up range.  This is not a problem with
the products, but with the protocol.

So, the best way to have zones without a router is to have a router.  That
is, a system which pretends to be a router for a network which doesn't
really exist (in terms of hardware).  Please note that this isn't just an
atalkd issue, you'll also need to be prepared to react sensibly on incoming
packets for this net (discarding counts as "sensible" in this case).

Stefan

--
Stefan Bethke
Muehlendamm 12            Phone: +49-40-256848, +49-177-3504009
D-22087 Hamburg           <[email-masked]>
Hamburg, Germany          <[email-masked]>

---

From: a sun <[email-masked]>
Date: Thu, 29 Apr 1999 18:30:05 -0700 (PDT)

while that may be true for other appletalk implementations, netatalk's
single-interface routing is just that. it starts up as a router for a
single interface. i actually read that part of inside appletalk pretty
carefully. the docs clearly indicate that routing can occur over a
single interface and that that's how you're supposed to implement
zones on an unsegmented network.

in terms of netatalk, atalkd requires the same things with
single-interface routing that it does with multiple-interface
routing. i.e., you need to specify a valid network range for things to
work. if you get zones in the startup range, i would consider that a
bug. in other news, i keep meaning to add the fews bits needed to get
atalkd to do multi-homing with multiple interfaces, but no one's
really been hankering for that. so, i've never bothered.

-a