Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Chapter 11. Network Interfaces
Under Red Hat Enterprise Linux, all network communications occur between configured software interfaces and physical networking devices connected to the system.
The configuration files for network interfaces are located in the
/etc/sysconfig/network-scripts/directory. The scripts used to activate and deactivate these network interfaces are also located here. Although the number and type of interface files can differ from system to system, there are three categories of files that exist in this directory:
- Interface configuration files
- Interface control scripts
- Network function files
The files in each of these categories work together to enable various network devices.
This chapter explores the relationship between these files and how they are used.
11.1. Network Configuration Files
Before delving into the interface configuration files, let us first itemize the primary configuration files used in network configuration. Understanding the role these files play in setting up the network stack can be helpful when customizing a Red Hat Enterprise Linux system.
The primary network configuration files are as follows:
- The main purpose of this file is to resolve host names that cannot be resolved any other way. It can also be used to resolve host names on small networks with no
DNSserver. Regardless of the type of network the computer is on, this file should contain a line specifying the
IPaddress of the loopback device (
localhost.localdomain. For more information, see the
- This file specifies the
DNSservers and the search domain. Unless configured to do otherwise, the network initialization scripts populate this file. For more information about this file, see the
- This file specifies routing and host information for all network interfaces. It is used to contain directives which are to have global effect and not to be interface specific. For more information about this file and the directives it accepts, see Section D.1.14, “/etc/sysconfig/network”.
- For each network interface, there is a corresponding interface configuration script. Each of these files provide information specific to a particular network interface. See Section 11.2, “Interface Configuration Files” for more information on this type of file and the directives it accepts.
Network interface names may be different on different hardware types. See Appendix A, Consistent Network Device Naming for more information.
/etc/sysconfig/networking/directory is used by the now deprecated Network Administration Tool (
system-config-network). Its contents should not be edited manually. Using only one method for network configuration is strongly encouraged, due to the risk of configuration deletion. For more information about configuring network interfaces using graphical configuration tools, see Chapter 10, NetworkManager.
11.1.1. Setting the Host Name
To permanently change the static host name, change the HOSTNAME directive in the
/etc/sysconfig/networkfile. For example:
Red Hat recommends the static host name matches the fully qualified domain name (FQDN) used for the machine in DNS, such as host.example.com. It is also recommended that the static host name consists only of 7 bit ASCII lower-case characters, no spaces or dots, and limits itself to the format allowed for DNS domain name labels, even though this is not a strict requirement. Older specifications do not permit the underscore, and so their use is not recommended. Changes will only take effect when the networking service, or the system, is restarted.
Note that the FQDN of the host can be supplied by a DNS resolver, by settings in
/etc/sysconfig/network, or by the
/etc/hostsfile. The default setting of
hosts: files dnsin
/etc/nsswitch.confcauses the configuration files to be checked before a resolver. The default setting of
multi onin the
/etc/host.conffile means that all valid values in the
/etc/hostsfile are returned, not just the first.
Sometimes you may need to use the host table in the
/etc/hostsfile instead of the HOSTNAME directive in
/etc/sysconfig/network, for example, when DNS is not running during system bootup.
To change the host name using the
/etc/hostsfile, add lines to it in the following format:
192.168.1.2 penguin.example.com penguin