私はしばらく座っていて、正確に何が起こっているのかを書き留める必要がなかったので、これはしばらくの間私を悩ませてきました。
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が唯一の構成済みデバイスになります。 ?
構成ファイルがこれら3つの主要なディレクトリすべてに存在すると仮定すると、それらは使用するために評価され、それらはアトミックディレクトリレベルにありますか、それとも個々のファイルごとに順序が発生しますか?
/etc/sysconfig/network-scripts/
が使用される唯一のディレクトリです。その証拠は、/etc/rc.d/init.d/network
を読み始めることです。 /etc/sysconfig/networking/
は無視してください。
プロファイルシステムの実装方法について知りたい場合は、/usr/share/system-config-network/netconfpkg/NC_functions.py
のupdateNetworkScripts
関数をご覧ください。
基本的に、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なので、私の言うことは正しくなければなりません。 ;)
まず、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」に構成ファイルをコピーまたは書き込むことが示されます。
/ 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
に耐えられるように構成を取得するには、これらのファイルで変更を複製する必要があることに注意してください。