此内容没有您所选择的语言版本。
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:
-
/etc/hosts
- 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
DNS
server. Regardless of the type of network the computer is on, this file should contain a line specifying theIP
address of the loopback device (127.0.0.1
) aslocalhost.localdomain
. For more information, see thehosts(5)
manual page. -
/etc/resolv.conf
- This file specifies the
IP
addresses ofDNS
servers and the search domain. Unless configured to do otherwise, the network initialization scripts populate this file. For more information about this file, see theresolv.conf(5)
manual page. -
/etc/sysconfig/network
- 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”.
-
/etc/sysconfig/network-scripts/ifcfg-interface-name
- 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.
Important
Network interface names may be different on different hardware types. See Appendix A, Consistent Network Device Naming for more information.
Warning
The
/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/network
file. For example:
HOSTNAME=penguin.example.com
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/hosts
file. The default setting of hosts: files dns
in /etc/nsswitch.conf
causes the configuration files to be checked before a resolver. The default setting of multi on
in the /etc/host.conf
file means that all valid values in the /etc/hosts
file are returned, not just the first.
Sometimes you may need to use the host table in the
/etc/hosts
file 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/hosts
file, add lines to it in the following format:
192.168.1.2 penguin.example.com penguin