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-ifname
を 1 つだけ 再読み込みするには、以下のコマンドを実行します。
~]# 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-device_name
、ifup-wireless
、ifup-ppp
などのインターフェイス固有のスクリプトを呼び出します。ユーザーが ifup enp1s0 を手動で実行すると、以下のことが発生します。
ifup
looks for a file called/etc/sysconfig/network-scripts/ifcfg-enp1s0
;ifcfg
ファイルが存在する場合、ifup
はそのファイル内のTYPE
キーを探して、呼び出すタイプ固有のスクリプトを特定します。ifup
は、TYPE
に基づいてifup-wireless
またはifup-device_name
を呼び出します。- タイプ固有のスクリプトがタイプ固有のセットアップを実行します。
- タイプ固有のスクリプトは、共通機能に
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 ネットワークの設定」 および 『ifcfg(8)』 の man ページを参照してください。