In this chapter, we walk you through all the necessary steps to set up TCP/IP networking on your machine. Starting with the assignment of IP addresses, we slowly work our way through the configuration of TCP/IP network interfaces and introduce a few tools that come in handy when hunting down network installation problems.
Most of the tasks covered in this chapter will generally have to be
done only once. Afterward, you have to touch most configuration files
only when adding a new system to your network or when you reconfigure
your system entirely. Some of the commands used to configure TCP/IP,
however, have to be executed each time the system is booted. This is
usually done by invoking them from the system
Commonly, the network-specific part of this procedure is contained in
a script. The name of this script varies in different Linux
distributions. In many older Linux distributions, it is known as
you will also see two scripts named
rc.inet2; the former initializes the
kernel part of networking and the latter starts basic networking
services and applications. In modern distributions, the
rc files are structured in a more sophisticated
arrangement; here you may find scripts in the
/etc/rc.d/init.d/) directory that create
the network devices and other
rc files that run
the network application progras. This book’s examples are based on
the latter arrangement.
This chapter discusses parts of the script that configure your network
interfaces, while applications will be covered in later chapters.
After finishing this chapter, you should have established a sequence
of commands that properly configure TCP/IP networking on your
computer. You should then replace any sample commands in your
configuration scripts with your commands, make sure the script is
executed from the basic
rc script at startup
time, and reboot your machine. The networking
scripts that come along with your favorite Linux distribution should
provide a solid example from which to work.
Some of the configuration tools of the Linux NET-2 and NET-3 release
rely on the
/proc filesystem for communicating
with the kernel. This interface permits access to kernel runtime
information through a filesystem-like mechanism. When mounted, you can
list its files like any other filesystem, or display their contents.
Typical items include the
loadavg file, which
contains the system load average, and
which shows current core memory and swap usage.
To this, the networking code adds the
It contains a number of files that show things like the kernel ARP tables,
the state of TCP connections, and the routing tables. Most network
administration tools get their information from these files.
# procfs mount point: none /proc proc defaults
Then execute mount /proc from your
procfs is now configured into most kernels by
default. If the
procfs is not in your kernel, you
will get a message such as:
mount: fs type procfs not supported by kernel. You will then have to recompile the
kernel and answer “yes” when asked for