RedHatnetworkingconfiguration文件的优先顺序是什么?

这一直困扰我一段时间,因为我没有坐下来写下来究竟是怎么回事。

我们的RedHat服务器networkingconfiguration遍布整个地图。 在安装了RH4和RH5的服务器上,有时我们会pipe理/etc/sysconfig/networking/devicesnetworking信息,有时在/etc/sysconfig/networking/profiles/default ,有时在/etc/sysconfig/network-scripts

我明白什么时候“configuration文件”起作用了, redhat-config-network应用程序(也就是CentOS的system-config-network和其他分支机构)在使用时将文件写入到那里,否则我相信默认设置最初是在networking/devices

假设configuration文件驻留在所有这三个关键目录中,它们按照何种顺序进行评估以及是否在primefaces目录级别,或者是否为每个单独的文件执行顺序?

也就是说,如果我在最高级别的目录下有一个ifcfg-eth1,而没有别的,在二级目录中有一个ifcfg-eth0,eth0configuration会被考虑,还是会被跳过,eth1是唯一configuration的设备?

假设configuration文件驻留在所有这三个关键目录中,它们按照何种顺序进行评估以及是否在primefaces目录级别,或者是否为每个单独的文件执行顺序?

/etc/sysconfig/network-scripts/是唯一使用的目录。 certificate是开始读取/etc/rc.d/init.d/network 。 忽略/etc/sysconfig/networking/

如果您对如何实施configuration文件系统感到好奇,请参阅/usr/share/system-config-network/netconfpkg/NC_functions.pyupdateNetworkScripts函数。

基本上,它会在/etc/sysconfig/network-scripts//etc/sysconfig/networking/devices//etc/sysconfig/networking/profiles/* ifcfg-*文件的ifcfg-*

例如,因为你在configuration文件中

  • /etc/sysconfig/network-scripts/ifcg-eth0
  • /etc/sysconfig/networking/devices/ifcg-eth0
  • /etc/sysconfig/networking/profiles/foo/ifcg-eth0

都是一样的文件。

PS我是一个红帽authentication工程师,所以我说的一定是正确的。 ;)

首先,我不是RHELauthentication的。 :p

我检查了我的一个RHEL 5.4盒子:

1.在启动或networking服务重启时,它将使用这个启动脚本“/etc/init.d/network”,这是一个纯粹的bash脚本,你可以自己查看详细信息。

关于启动脚本的两件事情:

a。在继续之前检查“/ etc / sysconfig / network”是否存在。

b。然后将目录改为“/ etc / sysconfig / network-scripts”,这就是它所指向的主目录并加载configuration文件。

  16 if [ ! -f /etc/sysconfig/network ]; then 17 exit 0 18 fi 19 20 . /etc/sysconfig/network 21 22 if [ -f /etc/sysconfig/pcmcia ]; then 23 . /etc/sysconfig/pcmcia 24 fi 25 26 27 # Check that networking is up. 28 [ "${NETWORKING}" = "no" ] && exit 0 29 38 39 CWD=`pwd` 40 cd /etc/sysconfig/network-scripts 41 42 . ./network-functions 43 44 # find all the interfaces besides loopback. 45 # ignore aliases, alternative configurations, and editor backup files 46 interfaces=$(ls ifcfg* | \ 47 LANG=C sed -e "$__sed_discard_ignored_files" \ 48 -e '/\(ifcfg-lo\|:\|ifcfg-.*-range\)/d' \ 49 -e '/ifcfg-[A-Za-z0-9\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \ 50 LANG=C sort -k 1,1 -k 2n | \ 51 LANG=C sed 's/ //') 52 

3.关于其他两个目录或者最后一个“/ etc / sysconfig / networking /”,在RHEL手册中已经提醒它这是一个禁止区域。 我相信当你使用“system-config-network”的时候,它会按照2(b)把文件彻底地复制到主目录中。

4.如果你确实需要确定的话,你可以在“/ usr / share / system-config-network”中浏览开发者的python源码“system-config-network”。 这可能会指向(3)该工具将最终复制或写入“/ etc / sysconfig / network-scripts”中的configuration文件。

/ etc / sysconfig / network是你系统的全局networkingconfiguration文件。 它包含默认路由和主机名

在/ etc / sysconfig / network中的脚本/的ifcfg-ETH? 应该是唯一需要编辑的文件才能获得正常的networkingconfiguration。 您可以根据此文档手动编辑这些文件,或使用system-config-network启动并运行。

/ etc / sysconfig / networking / profiles /仅由system-config-network用于存储networkingconfiguration文件。 默认情况下,该目录下的任何内容都不会被networking启动/停止脚本使用。

说实话,我不知道/ etc / sysconfig / networking / devices是用来做什么的,并且从来不需要编辑这个目录下的任何文件。

在使用RHEL的networking脚本时,/ etc / sysconfig / network-scripts / ifcfg-eth? 是他们将从他们的信息。 如果您使用ifconfig来设置networking接口,请记住,您需要在这些文件中复制您的更改以使您的configuration在重新启动或service network restart