在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。接口配置文件的名称通常类似于 ifcfg-<name>,其中 <name> 与配置文件所控制的设备的名称相关。
  在所有的网络接口中,我们日常中最常用到的接口类型就是以太网接口。

以太网接口

  在所有的网络配置文件中,最常用的就是 ifcfg-eth0,因为它是系统中第一块网卡的配置文件。如果系统中有多块网卡,ifcfg-eth 后面的数字就会依次递增。正因为每个设备都有对应的一个配置文件,因此管理员也能够单独地控制每一个设备。
  以下是一个 ifcfg-eth0 配置文件的示例,在配置中已经为网卡设置好了 IP 地址。
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no
  在接口配置文件中,选项之间存在着一些关联,如果不像上例中那样使用固定 IP,使用 DHCP 获取 IP 地址的配置文件又会不一样。以下就是将网卡配置成通过 DHCP 获取 IP 地址的配置:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
  使用网络管理工具(system-config-network) 对网络接口文件进行更改是比较方便的一种方式,但通过学习手动更改配置文件,能够更好的在各种 Linux 发行版中执行网络配置的工作。
  有关网络管理工具的使用方法,可以参考下一章翻译文档 - 《Fedora/Linux 网络配置工具》
下面是以太网接口配置文件中常用的一些选项:
BOOTPROTO=<protocol>
  <protocol> 的值能够是以下几种:
  • none - 不指定启用协议
  • bootp - 使用 BOOTP 协议
  • dhcp - 使用 DHCP 协议
BROADCAST=<address>
  <address> 表示广播地址。ifcalc 程序会自动计算这个地址,不推荐手动对它进行配置。
DEVICE=<name>
  <name> 表示物理设备的名称 ,对于动态寻址的 PPP 设备则是指它的逻辑名称。
DNS{1,2}=<adderss>
  <address> 表示名称服务器的 IP 地址。如果 PEERDNS 选项被设置为 yes,这里设置的 IP 地址将会替代 /etc/resolv.conf 中的设置
IPADDR=<address>
  <address> 的值就是分配给网卡的 IP 地址
NETMASK=<mask>
  <mask> 表示子网掩码
GATEWAY=<address>
  <address> 的值为路由器或其它网关设备的 IP 地址
NETWORK=<address>
   <address> 表示网络地址,ifcalc 程序会自动计算这个地址,不推荐手动对它进行配置。
ONBOOT=<yes|no>
  • yes - 系统启动时激活设备
  • no - 系统启动时不激活设备
PEERDNS=<yes|no>
  • yes - 使用 DNS 选项的值替代 /etc/resolv.conf 中的配置。如果使用 DHCP,yes 则为这个选项的默认
  • no - 不更改 /etc/resolv.conf 中的配置
USERCTL=<yes|no>
  • yes - 允许非 root 用户控制这个设备
  • no - 不允许非 root 用户控制这个设备