系统在引导过程中读取网络接口文件以确定要启动哪些接口以及如何配置它们。
网络接口配置文件的文件名格式为 /etc/sysconfig/network-scripts/ifcfg-eth# 。
所以如果要配置接口eth0,需要编辑的文件是/etc/sysconfig/network-scripts/ifcfg-eth0。
下面是一个示例 eth0 接口配置文件。
# cat /etc/sysconfig/network-scripts/ifcfg-enp134s1f0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=eth0 UUID=... ONBOOT=yes HWADDR=0e:a5:1a:b6:fc:86 IPADDR0=172.31.24.10 PREFIX0=23 GATEWAY0=172.31.24.1 DNS1=192.168.154.3 DNS2=10.216.106.3 DOMAIN=example.com IPV6_PEERDNS=yes IPV6_PEERROUTES=yes
其中一些配置参数的描述如下:
TYPE=device_type : 网络接口设备的类型
BOOTPROTO=protocol :其中协议是以下之一:
- none :不使用启动时协议。
- bootp :使用 BOOTP(引导协议)。
- dhcp :使用 DHCP(动态主机配置协议)。
DEFROUTE|IPV6_DEFROUTE=answer :其中 answer 是以下之一:
- yes :此接口设置为 IPv4|IPv6 流量的默认路由。
- no :此接口未设置为默认路由。
IPV6INIT=answer :其中 answer 是以下之一:
- yes :在此接口上启用 IPv6. 如果 IPV6INIT=yes,则还可以在此文件中设置以下参数:
- IPV6ADDR =IPv6 地址
- IPV6_DEFAULTGW =通过指定网关的默认路由
- no :在此接口上禁用 IPv6.
IPV4_FAILURE_FATAL|IPV6_FAILURE_FATAL=answer :其中 answer 是以下之一:
- yes :如果 IPv4 或者 IPv6 配置失败,则禁用此接口。
- no :如果配置失败,则不会禁用此接口。
ONBOOT=answer :其中 answer 是以下之一:
- yes : 此界面在启动时激活。
- no:此界面在启动时未激活。
HWADDR=MAC-address : 以太网设备的硬件地址
IPADDRN=address :分配给接口的 IPv4 地址
PREFIXN=N :IPv4 网络掩码值的长度
GATEWAYN=address :分配给接口的 IPv4 网关地址。
因为一个接口可以与 IP 地址、网络掩码前缀长度和网关地址的几种组合相关联,所以这些组合从 0 开始编号。
DNSN=address :域名服务器 (DNS) 的地址
DOMAIN=DNS_search_domain : DNS 搜索域
其他网络配置文件
除了 /etc/sysconfig/network-scripts 目录中的各个网络接口配置文件之外,还有其他更多的全局网络配置文件。
这些文件是:
- /etc/hosts
- /etc/resolv.conf
- /etc/sysconfig/network
- /etc/nsswitch.conf
1. /etc/hosts
该文件将主机名与 IP 地址相关联。
当主机名已知时,它会解析或者查找 IP 地址。
较大的网络将使用域名服务 (DNS) 来执行此解析。
即使使用 DNS,也要在此文件中包含一行将环回设备 (127.0.0.1) 的 IP 地址指定为 localhost.localdomain。
下面是一个示例 /etc/hosts 文件。
第一列包含 IP 地址。
第二列是完全限定的主机名。
其他列包含主机名别名:
# cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.0.2.101 host01.example.com. host01
2. /etc/resolv.conf
解析器配置文件提供对 DNS 的访问。
该文件通常至少有两行,一行指定 DNS 服务器(或者名称服务器)的 IP 地址,另一行指定搜索域。
以下示例显示了三个名称服务器和搜索域:
# cat /etc/resolv.conf search example.com nameserver 192.168.154.2 nameserver 172.168.106.3 nameserver 193.32.3.252
3. /etc/sysconfig/network
此文件指定全局网络设置。
例如,我们可以在此文件中指定默认网关:
# cat /etc/sysconfig/network GATEWAY=192.168.2.1
4. /etc/nsswitch.conf
该文件是系统数据库和名称服务切换配置文件。
它提供了通用配置数据库和名称解析机制的来源。
此文件中的条目在第一个字段中标识数据库名称,然后是冒号,然后是第二个字段中可能的解析机制列表。
列出机制的顺序决定了对指定数据库的查询的解析顺序。
以下示例表明首先通过查询本地文件(即 /etc/hosts)尝试进行主机名解析,如果主机名未解析,则通过查询 DNS 服务器:
# cat /etc/nsswitch.conf ... hosts: files dns ...