Show Table of Contents
1.9. 使用 sysconfig 文件进行网络配置
配置文件和脚本保存在
/etc/sysconfig/ 目录中。大多数网络配置信息都保存在这里,VPN、移动宽带及 PPPoE 配置除外,这些配置保存在 /etc/NetworkManager/ 子目录中。例如:接口的具体信息是保存在 /etc/sysconfig/network-scripts/ 目录下的 ifcfg 文件中。
全局设置使用
/etc/sysconfig/network 文件。有关 VPN、移动宽带及 PPPoE 连接的信息保存在 /etc/NetworkManager/system-connections/ 中。
在 Red Hat Enterprise Linux 7 中编辑
ifcfg 文件时,NetworkManager 不会自动意识到更改,需为其提供通知。如果使用以下工具之一更新 NetworkManager 配置文件,则 NetworkManager 会在使用该配置文件重新连接后方可实施那些更改。例如:如果使用编辑器更改配置文件,则必须让 NetworkManager 重新读取该配置文件。方法是作为 root 运行以下命令:
~]# nmcli connection reload
上述命令会读取所有连接配置文件。另外也可以运行下面的命令,只重新载入那些有变化的文件 ifcfg-ifname:
~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-ifname
该命令接受多个文件名。这些命令需要 root 授权。有关用户授权及获取授权的信息,请查看《Red Hat Enterprise Linux 7 系统管理员》 及 su(1) 和 sudo(8) man page。
可使用类似 nmcli 的工具做出更改,这些工具不要求断开关联接口连接,然后再重新连接。该命令的运行格式如下:
nmcli dev disconnect interface-name后接:
nmcli con up interface-name
NetworkManager 不会触发任何网络脚本,但在其运行时如果使用
ifup 命令,网络脚本会尝试启动 NetworkManager。有关网络脚本的说明,请查看 第 1.8 节 “NetworkManager 及网络脚本”。
ifup 脚本是一个通用脚本,可完成一些任务,并调用具体接口脚本,比如 ifup-ethX、ifup-wireless、ifup-ppp 等等。用户手动运行 ifup eth0 后:
ifup会查找名为/etc/sysconfig/network-scripts/ifcfg-eth0的文件;- 如果存在
ifcfg文件,ifup会在那个文件中查找TYPE密钥,以确定要调用的脚本类型; ifup根据TYPE调用ifup-wireless或ifup-eth或ifup-XXX;- 具体类型脚本执行具体类型设置;
- 然后具体类型脚本让通用功能执行与
IP相关的任务,比如DHCP或静态设置。
引导时,
/etc/init.d/network 会读取所有 ifcfg 文件,并检查每个包含 ONBOOT=yes 的文件,确定是否已在 ifcfg 列出的设备中启动 NetworkManager。如果 NetworkManager 正在启动或已经启动那个设备,则不需要对那个文件进行任何操作,然后检查下一个包含 ONBOOT=yes 的文件。如果 NetworkManager 尚未启动那个设备,则 initscripts 会继续采用传统方式运行,并为那个 ifcfg 文件调用 ifup。
最终的结果是在系统启动后,会使用 NetworkManager 或 iniscripts 启动所有包含
ONBOOT=yes 的 ifcfg 文件。这样可保证在 NetworkManager 无法处理某些传统的网络类型时,比如 NetworkManager 不处理的类型(ISDN 或模拟拨号调制解调器),以及 NetworkManager 尚不支持的新应用程序时,仍可使用 initscripts 正常启动它们。
注意
建议不要在保存目前使用的
ifcfg 文件的同一位置保存其备份文件。该脚本会运行 ifcfg-*,扩展名 .old、.orig、.rpmnew、.rpmorig 和 .rpmsave 除外。最好是不要将备份文件保存在 /etc/ 目录下。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.