Configuring atalkd(8) as an AppleTalk router

If you plan to use netatalk with only one interface, simply enter the interface's name into etc/atalkd.conf, i. e.:

ed0

If you plan to use netatalk with more than one interface, you'll need to configure atalkd(8) as a router.

For the following instructions, we assume you are familiar with the basic operation of your system. Also, you should be logged in as 'root'.

1. Preparing to configure atalkd(8) as a router

Before you can start configuring atalkd(8) as an AppleTalk router, you'll need to find out the network configuration of the networks the system will be connected to. Specifically, you'll need to know whether another AppleTalk router is connected to one or more of the networks, and how the router is configured. AppleTalk requires that all routers connected to the same network are configured identically for that network.

It might be a good idea to ask you network or system adminstrator about AppleTalk routers installed on you network and their configuration.

You'll then need to make a plan of all networks your router is connected to, and the configuration for each of them.

Finally, you can configure atalkd(8) by making appropiate entries in it's configuration file, atalkd.conf.

Do this to determine the network configuration:

  1. Make a table with the four columns Interface, Seed, Netrange, and Zones.

  2. In the first column Interface, write down each of the interface names for the networks you plan to use, i. e.:

    InterfaceSeedNetrangeZones
    ed0
    ed1

  3. Configure atalkd(8) to use only the first interface you plan to use.

    Simply enter the interface's name into atalkd.conf, i. e.

    ed0

  4. Start atalkd(8).

    atalkd(8) will need some 30 seconds to start up.

  5. Look in atalkd.conf to determine the network number range. If the line for the interface looks like

    ed0 -phase 2 -net 1-1 -addr 1.35
    enter the two numbers following -net into the third column, Netrange. I. e.:

    InterfaceSeedNetrangeZones
    ed01-1
    ed1

    If the line reads

    ed0 -phase 2 -net 65280-65534 -addr 65280.35
    there is no router on this network, so you don't need any information and you can proceed with step 7.

  6. Use the command getzones -l to find out the list of zone names available on this network, i. e.:

    $ getzones -l
    Accounting
    Engineering

    Enter the zone list for this interface into the fourth column, Zones. I. e.:

    InterfaceSeedNetrangeZones
    ed0 1-1 "Accounting", "Engineering"
    ed1

  7. Stop atalkd(8) and remove the interface line from atalkd.conf you entered in step 2.

    Note: On some systems, a reboot is necessary before you can start atalkd(8) again.

  8. Repeat steps 2 to 7 for each of the other interfaces you plan to use.

2. Planning the network configuration

Now you'll need to complete the table. If you already have filled in each line of the table with a network number range (column Netrange) and a zone list (Zones) in Section 1, your network configuration is complete and you can proceed with Section 3.

For each row without a Netrange or Zone, you'll need to assign that information to the network.

Do this to assign network number ranges and zones:

  1. In the second column Seed, make a check mark for each interface that doesn't have a network number range, i. e.:

    InterfaceSeedNetrangeZones
    ed0 1-1 "Accounting", "Engineering"
    ed1 X

  2. Assign a network number range to each interface that does not have one yet. Use the following rules to assign a network number range:

    1. Determine how many AppleTalk devices will be connected to that network. A gross estimate should suffice. For each 253 devices you'll need one network number. Leave some room for growth. Make a note of how many network numbers you'll need.

    2. Choose an arbitrary number between 1 and 65279. This will be the start of your network number range.

    3. Add the count of network numbers you need, minus one, to the start of the range. This will be the end of the range. Make sure this number is at most 65279.

    4. Look at your table to make sure that none of the network numbers in the network number range you have choosen is assigned to any other network.

    5. Important: Make sure your network number range isn't used on any other network you'll might be connected to through another router. To find out which other network numbers are in use, you'll need to ask you network or system administrator. Alternatively, you can check the configuration of every AppleTalk router on your network, although this can be quite tedious.

      If you fail to assure this, you're complete AppleTalk network might break down!

    Example:
    You are configuring a router for a network that has approximatly 100 devices. You estimate that this number will grow only moderately in the future, so you'll need a single network number only. Because interface ed0 has the network number range 1-1, you choose the number 2, and enter 2-2 into the field for interface ed1.

  3. Assign one or more zone names to each interface that do not already have one. You can choose the zone name arbitrarily. You can choose the same zone name as on another interface. You can even give all interfaces the same zone name.

    Important: Don't add zone names to the interfaces that you already obtained a zone list for in section 1. If you do, your network won't work reliably.

Your table should now look like this:

InterfaceSeedNetrangeZones
ed0 1-1 "Accounting", "Engineering"
ed1 X 2-2 "Engineering"

You now have all the necessary information to configure atalkd(8).

3. Configuring atalkd(8)

Do this to configure atalkd(8):

  1. Open atalkd.conf in your favorite text editor.

  2. For each line in your table, enter one line into the editor. If the Seed field for an interface isn't checked, just enter the interface name, i. e.:

    ed0

    If you have checked the Seed field, enter the interface name, the -seed paramter, the network number range, and the zone list, i. e.:

    ed1 -seed -net 2-2 -zone "Engineering"

    Important: Make sure to enter all paramters for an interface on a single line, or atalkd(8) won't be able to read the configuration file.

    Your atalkd.conf should now look like this:

    ed0
    ed1 -seed -net 2-2 -zone "Engineering"

  3. Save the file and start atalkd(8).

After some time, atalkd(8) should be running. You can now use nbplkup(1) and getzones(1) to check that all networks are availible.


Back to my netatalk page


Copyright (c) 1997 Stefan Bethke. All Rights Reserved.
Redistribution and use, with or without modification, is permitted, provided that the above copyright notice is retained unmodified.