This document is organized top-down. The first sections include informative material and can be skipped if you are not interested; what follows is a generic discussion of networking issues, and you must ensure you understand this before proceeding to more specific parts. The rest, ``technology specific'' information is grouped in three main sections: Ethernet and IP-related information, technologies pertaining to widespread PC hardware and seldom-used technologies.
The suggested path through the document is thus the following:
These sections apply to every, or nearly every, technology described later and so are very important for you to understand. On the other hand, I expect many of the readers to be already confident with this material.
You should know how your network is, or will be, designed and exactly what hardware and technology types you will be implementing.
This section describes basic Ethernet configuration and the various features that Linux offers for IP networks, like firewalling, advanced routing and so on.
The section describes PLIP, PPP, SLIP and ISDN, the widespread technologies used on personal workstations.
If your needs differ from IP and/or common hardware, the final section covers details specific to non-IP protocols and peculiar communication hardware.
You should actually try to configure your network and take careful note of any problems you have.
If you experience problems that this document does not help you to resolve then read the section related to where to get help or where to report bugs.
Networking is fun, enjoy it.
No special convention is used here, but you must be warned about the way commands are shown. Following the classic Unix documentation, any command you should type to your shell is prefixed by a prompt. This howto shows "user%" as the prompt for commands that do not require superuser privileges, and "root#" as the prompt for commands that need to run as root. I chose to use "root#" instead of a plain "#" to prevent confusion with snapshots from shell scripts, where the hash mark is used to define comment lines.
When ``Kernel Compile Options'' are shown, they are represented in the format used by menuconfig. They should be understandable even if you, (like me), are not used to menuconfig. If you are in doubt about the options' nesting, running the program once can't do anything, but help.