Debian Reference
Chapter 10 - Network configuration
This chapter focuses on network administration in Debian. For a general
introduction to GNU/Linux networking read the Net-HOWTO
.
In order for a Debian host to be able to access the Internet its network
interfaces need to be properly configured.
The first requirement is kernel support for the devices. Examples of such
devices are: Ethernet cards, Wi-Fi cards, and modems. To obtain this support
you may need to recompile the kernel or add modules to it as described in The Linux kernel under Debian, Chapter 7.
Configuration of network devices is explained below. The information in this
chapter was updated for Sarge. Much of it does not apply to earlier releases.
10.1 Basics of IP networking
A Debian host may have several interfaces each with a different Internet
Protocol (IP) address. Interfaces may be of several different types,
including:
-
Loopback: lo
-
Ethernet: eth0, eth1, ...
-
Wi-Fi: wlan0, wlan1, wifi0, ... [51]
-
Token Ring: tr0, tr1, ...
-
PPP: ppp0, ppp1, ...
There is a wide range of other network devices available, including SLIP, PLIP
(serial and parallel line IP), "shaper" devices for controlling the
traffic on certain interfaces, frame relay, AX.25, X.25, ARCnet, and LocalTalk.
Every network interface connected directly to the Internet (or to any IP-based
network) is identified by a unique 32 bit IP address. [52] The IP address can be divided
into the part that addresses the network and the part that addresses the host.
If you take an IP address, set to 1 the bits that are part of the network
address and set to 0 the bits that are part of the host address then you get
the so-called netmask of the network.
Traditionally, IP networks were grouped into classes whose net address parts
were 8, 16 or 24 bits in length. This system was inflexible and wasted many IP
addresses, so today IPv4 networks are allocated with network address parts of
varying length.
IP addresses net mask length
Class A 1.0.0.0 - 126.255.255.255 255.0.0.0 = /8
Class B 128.0.0.0 - 191.255.255.255 255.255.0.0 = /16
Class C 192.0.0.0 - 223.255.255.255 255.255.255.0 = /24
IP addresses not in these ranges are used for special purposes.
There are address ranges in each class reserved for use on local area networks
(LANs). These addresses are guaranteed not to conflict with any addresses on
the Internet proper. (By the same token, if one of these addresses is assigned
to a host then that host must not access the Internet directly but must access
it through a gateway that acts as a proxy for individual services or else does
Network Address Translation.) These address ranges are given in the following
table along with the number of ranges in each class.
network addresses length how many
Class A 10.x.x.x /8 1
Class B 172.16.x.x - 172.31.x.x /16 16
Class C 192.168.0.x - 192.168.255.x /24 256
The first address in an IP network is the address of the network itself. The
last address is the broadcast address for the network. [53] All other addresses may be
allocated to hosts on the network. Of these, the first or the last address is
usually allocated to the Internet gateway for the network.
The routing table contains the kernel's information on how to send IP packets
to their destinations. Here is a sample routing table printout for a Debian
host on a local area network (LAN) with IP address 192.168.50.x/24. Host
192.168.50.1 (also on the LAN) is a router for the corporate network
172.20.x.x/16 and host 192.168.50.254 (also on the LAN) is a router for the
Internet at large.
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
192.168.50.0 * 255.255.255.0 U 0 0 137 eth0
172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0
default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0
-
The first line after the heading says that traffic destined for network
127.x.x.x will be routed through lo, the loopback
interface.
-
The second line says that traffic destined for hosts on the LAN will be routed
through eth0.
-
The third line says that traffic destined for the corporate network will be
routed toward gateway 192.168.50.1 also through eth0.
-
The fourth line says that traffic destined for the Internet at large will be
routed toward gateway 192.168.50.254 also through
eth0.
IP addresses in the table may also appear as names that are obtained by looking
up addresses in /etc/networks
or by using the C Library resolver.
In addition to routing, the kernel can perform network address translation,
traffic shaping and filtering.
See the Net-HOWTO
and
other
networking HOWTOs
for more background information.