| |
|
Home
|
| Red Hat Linux 7.3: The Official Red Hat Linux Reference Guide |
|---|
| Prev | | Next |
Using Red Hat Linux, all network communications occur between
interfaces and physical networking devices
connected to the system, configured in a particular way, and utilizing at
least one protocol to exchange data with other systems. The different
types of interfaces that exist are as varied as the physical devices they
support.
The configuration files for the various network interfaces and the scripts
to make activate and deactivate them are located in the
/etc/sysconfig/network-scripts/ directory. While the
existence of particular interface files can differ from system to system,
the three different types of files that exist in this directory,
interface configuration files, interface
control scripts, and network function
files, work together to enable Red Hat Linux to use various
network devices.
This chapter will explore the relationship between these files and how they
are used.
Interface configuration files control the operation of individual
network interface device. As your Red Hat Linux system boots, it uses these
files to know what interfaces to bring up and how to configure
them. These files are usually named
ifcfg-<device>,
where <device>
refers to the name of the device that the configuration file controls.
One of the most common interface files is
ifcfg-eth0, which controls the first
network interface card or
NIC in the system. In a system with multiple
NICs, you will also have multiple ifcfg-eth
files, each one with number at the end of the file name. Because each
device has its own configuration file, you can control how each
interface functions.
Below is a sample ifcfg-eth0 for a system using a fixed IP
address:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
BROADCAST=10.0.1.255
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no |
The values required in an interface configuration file can change based
on other values. For example, the ifcfg-eth0 file
for an interface using DHCP looks quite a bit different, because IP
information is provided by the DHCP server:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes |
Most of the time you will probably want to use a GUI utility, such as
Network Configurator
(redhat-config-network) to make changes to the various interface
configuration files. See the Official Red Hat Linux Customization Guide for
instructions on using this tool.
You can also edit the configuration file for a given network interface
by hand. Below is a listing of the parameters one can expect to
configure in an interface configuration file.
Within each of the interface configuration files, the following values
are common:
BOOTPROTO=<protocol>,
where <protocol> is
one of the following:
none — No boot-time protocol should be used.
bootp — The BOOTP protocol should be used.
dhcp — The DHCP protocol should be used.
BROADCAST=<address>,
where <address> is
the broadcast address.
DEVICE=<name>,
where <name> is
the name of the physical device (except dynamically-allocated PPP
devices where it is the logical name).
IPADDR=<address>,
where <address> is
the IP address.
NETMASK=<mask>,
where <mask> is
the netmask value.
NETWORK=<address>,
where <address> is
the network address.
ONBOOT=<answer>,
where <answer> is
one of the following:
USERCTL=<answer>,
where <answer> is
one of the following:
Other common interface configuration files that use these options include
ifcfg-lo, which controls the IP protocol's local loopback
device, ifcfg-irlan0, which arranges settings for
the first infrared device, ifcfg-plip0, which
controls the first PLIP device, and ifcfg-tr0,
used with the first Token Ring device.
A local loopback interface is often used in
testing, as well as a variety of applications that require an IP
address pointing back to the same system. Any data sent to the
loopback device is immediately returned to the host's network
layer.
The infrared interface allows information between devices, such
as a laptop and a printer, to flow over an infrared link, which works
in a similar way to an Ethernet device except that it commonly occurs
over a peer-to-peer connection.
A Parallel Line Interface Protocol (PLIP)
connection works much the same way, except that it utilizes a parallel
port.
Token Ring topologies are not as common
on Local Area Networks as they once were, having been eclipsed by
Ethernet.
If you connect to the Internet via PPP dialup connection, you need a
configuration file for that interface as well.
This file is created automatically for you when you use
RP3 or Kppp to
create a dialup account. In addition, any changes to dialup account
settings are reflected in these interface configuration files. The
Official Red Hat Linux Getting Started Guide contains instructions for using these
GUI-based dialup connection tools. You can also create and edit this
file manually. A typical ifcfg-ppp0 files looks
like this:
DEVICE=ppp0
NAME=test
WVDIALSECT=test
MODEMPORT=/dev/modem
LINESPEED=115200
PAPNAME=test
USERCTL=true
ONBOOT=no
PERSIST=no
DEFROUTE=yes
PEERDNS=yes
DEMAND=no
IDLETIMEOUT=600 |
Serial Line Internet Protocol (SLIP) is another
dialup interface, although it is less commonly used. SLIP files have
interface configuration file names such as
ifcfg-sl0.
Among the options not already discussed that may be used in these
files:
DEFROUTE=<answer>,
where <answer>
is one of the following:
DEMAND=<answer>,
where <answer>
is one of the following:
IDLETIMEOUT=<value>,
where <value> is
number of seconds of idle activity before the interface will
disconnect itself.
INITSTRING=<string>,
where <string>
is the init string passed to the modem device. This option is
primarily used with SLIP interfaces.
LINESPEED=<value>,
where <value> is
the baud rate of the device. Possible standard values here include
57600, 38400,
19200, and 9600.
MODEMPORT=<device>,
where <device>
is the name of the device that is used to establish the connection
for the interface.
MTU=<value>,
where <value> is
the Maximum Transfer Unit (MTU) setting for
the interface. The MTU refers to the largest number of bytes of
data a frame can carry, not counting its header information. In
some dialup situations, setting this to a value of
576 will result in fewer dropped packets and
slightly improve the throughput for a connection.
NAME=<name>,
where <name> is the
reference to the title given to a collection of dialup connection
configurations.
PAPNAME=<name>,
where <name> is
the username given during the Password Authentication
Protocol (PAP) exchange that occurs to allow you to
connect to a remote system.
PEERDNS=<answer>,
where <answer>
is one of the following:
yes — This interface will modify your
system's /etc/resolv.conf file entries to use
the DNS servers provided by the remote system when a connection
is established.
no — The
/etc/resolv.conf file will not be
changed.
PERSIST=<answer>,
where <answer>
is one of the following:
yes — This interface should be kept
active at all times, even if deactivated after a modem hang
up.
no — This interface should not be
kept active at all times.
REMIP=<address>,
where <address>
is the remote system's IP address. This is usually left
unspecified.
WVDIALSECT=<name>,
where <name>
associates this interface with a dialer configuration in
/etc/wvdial.conf, which contains the phone
number to be dialed and other important information for the
interface.
Two lesser used types of interface configuration files found in
/etc/sysconfig/network-scripts are
alias and clone files,
which include an additional component in the name of the file beyond
the interface name.
Alias interface configuration files take names in the format of
ifcfg-<if-name>:<alias-value>,
and they allow an alias to point to an interface. For example, a
ifcfg-eth0:0 file could be configured to specify
DEVICE=eth0:0 and a static IP address
of 10.0.0.2, serving as an alias of an Ethernet interface already
configured to receive its IP information via DHCP in
ifcfg-eth0. At that point, the
eth0 device is bound to a dynamic IP address, but
it can always be referred to on that system via the fixed 10.0.0.2 IP
address.
A clone interface configuration file has a name similar to
ifcfg-<if-name>-<clone-name>.
While an alias file is another way to refer to an existing interface
configuration file, a clone file is used to specify additional options
when specifying an interface. For example, if you have a standard DHCP
Ethernet interface called eth0, it may look
similar to this:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp |
Since USERCTL is not set to yes,
users cannot bring this interface up and down. To give users this
ability, create a clone called user from
ifcfg-eth0 which allows a user to bring up and
down the eth0 interface. The resulting name of
the clone would be ifcfg-eth0-user and would only
need one line:
When a user moves to bring up the eth0 interface
with the ifup eth0-user command, the configuration
options from ifcfg-eth0 and
ifcfg-eth0-user are used together. While this is
a very basic example, this method can be used with a variety of
options and interfaces.
The easiest way to create alias and clone interface configuration
files is to use the GUI-based Network
Configurator (redhat-config-network)
tool.
|
|
|
|
|
|
|
|
Disclaimer: For authoritative source or latest update to this
documentation, please refer to http://www.redhat.com/docs/manuals/linux/ |
|
 |
|
|
|
Quotes: Television has done much for psychiatry by spreading information about it, as well as contributing to the need for it.
|
|
|
|
|
|
|