Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 ネットワークの設定」 を参照してください。
NetworkManager は、ネットワークスクリプトをトリガーしません。ただし、ネットワークスクリプトは、ifup コマンドの使用時に実行中の場合に NetworkManager をトリガーしようとします。ネットワークスクリプトの詳細は、「ネットワークスクリプトによる NetworkManager の使用」を参照してください。
ifup スクリプトは汎用スクリプトで、いくつかのことを実行し、ifup-device_nameifup-wirelessifup-ppp などのインターフェイス固有のスクリプトを呼び出します。ユーザーが ifup enp1s0 を手動で実行すると、以下を行います。
  1. ifup/etc/sysconfig/network-scripts/ifcfg-enp1s0 というファイルを探します。
  2. ifcfg ファイルが存在する場合、ifup はそのファイル内の TYPE キーを検索し、呼び出すタイプ固有のスクリプトを特定します。
  3. ifup は、TYPE に基づいて ifup-wireless または ifup-device_name を呼び出します。
  4. タイプ固有のスクリプトがタイプ固有のセットアップを実行します。
  5. タイプ固有のスクリプトにより、共通関数が DHCP や静的セットアップなどの IP関連のタスクを実行できます。
/etc/init.d/network は起動時にすべての ifcfg ファイルを読み取り、ONBOOT=yes になっている各ファイルについて、NetworkManager がすでに ifcfg ファイルから DEVICE を起動しているかどうかを確認します。NetworkManager がそのデバイスを起動するか、またはすでに起動している場合は、そのファイルに対しては何も実行されず、次の ONBOOT=yes ファイルもチェックされます。NetworkManager がまだそのデバイスを起動していない場合は、initscripts は従来の動作を続行し、その ifcfg ファイルの ifup を呼び出します。
その結果、NetworkManager または initscripts のいずれかで、ONBOOT=yes が含まれる ifcfg ファイルがシステム起動時に開始されることが予想されます。これにより、 NetworkManager が処理しないレガシーネットワークタイプ(ISDN、analog dial-up modems など)や、NetworkManager でまだサポートされていない新しいアプリケーションは、NetworkManager が処理できない場合でも initscripts によって正常に起動されます。
重要
スクリプトは ifcfg-* を文字通り行うため、バックアップファイルは /etc ディレクトリー内のどこか、またはライブファイルと同じ場所に保存しないことが推奨されます。.old.orig.rpmnew.rpmorig.rpmsave の拡張機能のみが除外されます。
sysconfig ファイルの使用方法は、「ifcfg ファイルを使用した IP ネットワークの設定」 および 『ifcfg(8)』 の man ページを参照してください。