web-dev-qa-db-ja.com

RedHatネットワーク構成ファイルの優先順位は何ですか?

私はしばらく座っていて、正確に何が起こっているのかを書き留める必要がなかったので、これはしばらくの間私を悩ませてきました。

RedHatサーバーのネットワーク構成はマップ全体にあります。 RH4とRH5がインストールされた一連のサーバー全体で、ネットワーク情報を/etc/sysconfig/networking/devicesで管理することもあれば、/etc/sysconfig/networking/profiles/defaultで管理することもあり、/etc/sysconfig/network-scriptsで管理することもあります。

「プロファイル」が機能するとき、redhat-config-networkアプリケーション(別名、CentOSおよびその他の派生物のsystem-config-network)は、使用時にファイルをそこに書き込むことを理解しています。それ以外の場合、デフォルトは最初にnetworking/devicesで設定されると思います。

構成ファイルがこれらの3つのキーディレクトリすべてに存在すると仮定すると、それらは使用について評価され、アトミックディレクトリレベルにありますか、それとも個々のファイルごとに順序が設定されますか?

つまり、最上位のディレクトリにifcfg-eth1があり、他に何もない場合、および2番目のディレクトリにifcfg-eth0がある場合、eth0構成が考慮されるか、スキップされ、eth1が唯一の構成済みデバイスになります。 ?

6
VxJasonxV

構成ファイルがこれら3つの主要なディレクトリすべてに存在すると仮定すると、それらは使用するために評価され、それらはアトミックディレクトリレベルにありますか、それとも個々のファイルごとに順序が発生しますか?

/etc/sysconfig/network-scripts/が使用される唯一のディレクトリです。その証拠は、/etc/rc.d/init.d/networkを読み始めることです。 /etc/sysconfig/networking/は無視してください。

プロファイルシステムの実装方法について知りたい場合は、/usr/share/system-config-network/netconfpkg/NC_functions.pyupdateNetworkScripts関数をご覧ください。

基本的に、ifcfg-*/etc/sysconfig/network-scripts/、および/etc/sysconfig/networking/devices/内の/etc/sysconfig/networking/profiles/*ファイルのハードリンクを作成します。

たとえば、プロファイルfooにいる場合

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

すべて同じファイルです。

P.S.私はRHCEなので、私の言うことは正しくなければなりません。 ;)

5
Mark Wagner

まず、RHEL認定を受けていません。 :p

私はRHEL 5.4ボックスの1つに対してチェックしました:

1.起動時またはネットワークサービスの再起動時に、この起動スクリプト「/etc/init.d/network」を使用します。これは、自分で詳細を確認できるプレーンなbashスクリプトです。

2.起動スクリプトに関する2つの主な点:

a。続行する前に「/ etc/sysconfig/network」の存在を確認します。

b。次に、ディレクトリを「/ etc/sysconfig/network-scripts」に変更します。これは、これが参照するメインディレクトリであり、構成ファイルをロードすることを意味します。

 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.他の2つのディレクトリ、または最終的には1つの「/ etc/sysconfig/networking /」について、 RHELマニュアル で飛行禁止区域であることが警告されています。 「system-config-network」を使用すると、2(b)に従って、ファイルが最終的にメインディレクトリにコピーされると思います。

4.本当に確実にする必要がある場合は、「/ usr/share/system-config-」にある開発者python「system-config-network」のソースコードこれにより、(3)に戻って、ツールが最終的に「/ etc/sysconfig/network-scripts」に構成ファイルをコピーまたは書き込むことが示されます。

5
Muhammad

/ etc/sysconfig/networkは、システムのグローバルネットワーク構成ファイルです。デフォルトルートとホスト名が含まれています

/ etc/sysconfig/network-scripts/ifcfg-eth?有効なネットワーク構成を取得するために編集する必要がある唯一のファイルである必要があります。 this doc に従ってこれらのファイルを手動で編集するか、system-config-networkを使用して起動して実行できます。

/ etc/sysconfig/networking/profiles /は、ネットワークプロファイルを格納するためにsystem-config-networkによってのみ使用されます。そのディレクトリの下には、デフォルトでネットワークの開始/停止スクリプトによって使用されるものはありません。

正直なところ、私は/ etc/sysconfig/networking/devicesが何に使用されているのかわからず、このディレクトリの下のファイルを編集する必要がありませんでした。

RHELのネットワークスクリプトを使用する場合、/ etc/sysconfig/network-scripts/ifcfg-eth?彼らが彼らの情報を得るものです。 ifconfigを使用してネットワークインターフェイスを設定する場合、再起動またはservice network restartに耐えられるように構成を取得するには、これらのファイルで変更を複製する必要があることに注意してください。

1
yith