Show Table of Contents
これは手動のプロセスで、起動後に発生するイベントに反応しません。ユーザーは
2.6. ネットワークスクリプトによる NetworkManager の使用
本セクションは、スクリプトの実行方法と、ネットワークスクリプトでカスタムコマンドを使用する方法を説明します。
ネットワークスクリプト
という用語は、/etc/init.d/network
スクリプト、またはそれが呼び出すその他のインストール済みスクリプトを指します。NetworkManager は、デフォルトのネットワークサービスを提供し、スクリプトおよび NetworkManager は同時に実行し、連携させることができます。Red Hat は、それを最初にテストすることを推奨します。
ネットワークスクリプトの実行
ネットワークスクリプトは、
systemctl
コマンドを使用した場合に 限り 実行します。systemctl start|stop|restart|status
network
systemctl ユーティリティーは、既存の環境変数を削除し、正しく実行されるようにします。
Red Hat Enterprise Linux 7 では NetworkManager が最初に起動し、
/etc/init.d/network
が NetworkManager をチェックして NetworkManager 接続の改ざんを防ぎます。NetworkManager は sysconfig 設定ファイルを使用するプライマリーアプリケーションとされており、/etc/init.d/network
はセカンダリーとされています。
/etc/init.d/network
スクリプトは、以下を実行します。
- 手動 (
systemctl
コマンドの
のいずれかで使用)。start|stop|restart
networkまたは - ネットワークサービスが有効になっている場合は、起動時およびシャットダウン時 (
systemctl enable network
コマンドによる)。
ifup
スクリプトおよび ifdown
スクリプトを手動で呼び出すこともできます。
注記
initscript の技術制限により、
systemctl reload network.service
コマンドが動作しません。ネットワークサービスに新しい設定を適用するには、restart
コマンドを使用します。
~]# systemctl restart network.service
これにより、新しい設定を読み込むために、ネットワークインターフェースカード (NIC) をすべて無効にして有効にします。詳細は、Red Hat ナレッジベースソリューション 「Reload and force-reload options for network service」を参照してください。
ネットワークスクリプトのカスタムコマンドを使用
/sbin/ifup-local
、ifdown-pre-local
、および ifdown-local
の各スクリプト内のカスタムコマンドは、そのデバイスが /etc/init.d/network
サービスで制御されている時にのみ、実行されます。ifup-local
ファイルは、デフォルトでは存在しません。必要であれば、/sbin/
ディレクトリーの下に作成します。
ifup-local
スクリプトは initscripts だけが読み取り可能で、NetworkManager は読み取ることができません。NetworkManager を使ってカスタムスクリプトを実行するには、dispatcher.d
ディレクトリーの下に作成します。「dispatcher スクリプトの実行」を参照してください。
重要
initscripts パッケージに含まれるファイルや、関連する rpms を変更することは推奨されません。ファイルを変更した場合は、Red Hat サポートの対象外となります。
カスタムタスクは、ネットワーク接続が起動または停止したときに、従来の
ネットワークスクリプト
および NetworkManager の両方を使用して実行できます。NetworkManager が有効な場合は、ifup
スクリプトおよび ifdown
スクリプトにより、NetworkManager が問題のインターフェースを管理するかどうかを NetworkManager に尋ねます。これは、ifcfg
ファイルの 「DEVICE=」 行で確認できます。
NetworkManager が管理するデバイス:
- ifup の呼び出し
ifup
を呼び出し、デバイスが NetworkManager により 管理されている 場合は、オプションが 2 つあります。- デバイスが接続されて いない 場合は、
ifup
により、NetworkManager が接続を開始します。 - デバイスがすでに 接続している 場合は、何もする必要がありません。
- ifdown の呼び出し
ifdown
を呼び出し、デバイスが NetworkManager により 管理される 場合は、以下を行います。ifdown
により、NetworkManager は接続を終了します。
NetworkManager が管理しないデバイス:
ifup
または ifdown
を呼び出す場合は、このスクリプトが、NetworkManager が現れる前から使用されていた、NetworkManager 以外のメカニズムを使用して接続を開始します。
dispatcher スクリプトの実行
NetworkManager により、別のカスタムスクリプトを実行し、接続の状態に応じてサービスを開始/停止できます。デフォルトでは、
/etc/NetworkManager/dispatcher.d/
ディレクトリーが存在し、NetworkManager はアルファベット順にそこにあるスクリプトを実行します。それぞれのスクリプトは、root
が 所有者である 実行可能ファイルで、ファイル所有者にのみ 書き込みのパーミッション
が設定されている必要があります。NetworkManager の dispatcher スクリプト実行の詳細は、Red Hat ナレッジベースソリューション「ethtool コマンドを適用するように NetworkManager の dispatcher スクリプトを記述する」を参照してください。