2.7. sysconfig ファイルによる NetworkManager の使用

/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-ifname1 つだけ 再読み込みするには、以下のコマンドを実行します。
~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-ifname
上記のコマンドを使用して複数のファイル名を指定できることに注意してください。
nmcli などのツールで行った変更をリロードする必要はありませんが、関連するインターフェースをオフラインにしてから再度オンラインにする必要があります。
~]# nmcli dev disconnect interface-name
~]# nmcli con up interface-name
nmcli の詳細は、「nmcli を使用する IP ネットワークの設定」を参照してください。
ifup コマンドの実行時に NetworkManager が稼働している場合、ネットワークスクリプトは NetworkManager の起動を試みますが、NetworkManager はネットワークスクリプトを起動することはありません。ネットワークスクリプトの詳細は、「ネットワークスクリプトによる NetworkManager の使用」を参照してください。
ifup スクリプトは汎用スクリプトで、いくつかの動作を行った後に、ifup-ethXifup-wirelessifup-ppp などのインターフェース固有のスクリプトを呼び出します。ユーザーが ifup eth0 を手動で実行すると、以下のことが発生します。
  1. ifup/etc/sysconfig/network-scripts/ifcfg-eth0 という名前のファイルを検索します。
  2. ifcfg ファイルが存在する場合、ifup はそのファイルの TYPE キーを探して、どのタイプ固有のスクリプトを呼び出すか判断します。
  3. ifupTYPE に基づいて ifup-wirelessifup-eth、または ifup-XXX のいずれかを呼び出します。
  4. タイプ固有のスクリプトがタイプ固有のセットアップを実行します。
  5. タイプ固有のスクリプトは、共通機能に DHCP や静的セットアップなどの IP 関連タスクの実行を許可します。
/etc/init.d/network は起動時にすべての ifcfg ファイルを読み込み、ONBOOT=yes となっているすべてのファイルに関して、NetworkManager がすでに ifcfg ファイルの DEVICE を起動しているかどうかをチェックします。NetworkManager がデバイスを起動している最中、またはすでに起動し終わっている場合は、そのファイルについてはこれ以上なにも実行されず、次の ONBOOT=yes ファイルがチェックされます。NetworkManager がまだデバイスを起動していない場合は、initscripts は従来の動作を継続し、その ifcfg ファイルの ifup を呼び出します。
その結果、ifcfg ファイルで ONBOOT=yes となっているものはすべて、NetworkManager または initscripts でシステム起動時に開始されるはずです。これにより、(ISDN、アナログダイヤルアップのモデムなどの) NetworkManager が処理しないレガシーネットワークタイプや、NetworkManager のサポート対象となっていない新規アプリケーションは、NetworkManager がこれらを処理できなくても initscripts で正常に開始されることになります。

重要

スクリプトは、ifcfg-* だけを行うため、バックアップファイルは、 /etc ディレクトリー、または使用中のファイルと同じ場所に保存しないようにすることが推奨されます。拡張子が .old.orig.rpmnew.rpmorig、および .rpmsave のものは除外されます。
sysconfig ファイルを使用する方法は、「ifcfg ファイルを使用した IP ネットワークの設定」、および man ページの 『ifcfg(8)』 を参照してください。