2.6. ネットワークスクリプトによる NetworkManager の使用
本セクションは、スクリプトの実行方法と、ネットワークスクリプトでカスタムコマンドを使用する方法を説明します。
ネットワークスクリプト という用語は、/etc/init.d/network スクリプトと、それが呼び出すその他のインストール済みスクリプトを指します。NetworkManager はデフォルトのネットワークサービスを提供しますが、スクリプトと NetworkManager は並行して実行され、連携することができます。Red Hat は、それを最初にテストすることを推奨します。
ネットワークスクリプトの実行
systemctl コマンド のみ を使用してネットワークスクリプトを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
systemctl ユーティリティーは既存の環境変数をクリアし、正しい実行を確保します。
systemctl start|stop|restart|status network
systemctl start|stop|restart|status network
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|restartnetwork のいずれかを使用して、または - ネットワークサービスが有効な場合は、起動およびシャットダウン時 - systemctl enable network コマンドの結果として。
ifup スクリプトおよび ifdown スクリプトを手動で呼び出すこともできます。
注記
initscripts の技術的制限により、systemctl reload network.service コマンドは機能しません。ネットワークサービスに新しい設定を適用するには、restart コマンドを使用します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
これにより、新しい設定を読み込むために、ネットワークインターフェイスカード (NIC) をすべて無効にして有効にします。詳細は、Red Hat ナレッジベースソリューション Reload and force-reload options for network serviceを参照してください。
systemctl restart network.service
~]# systemctl restart 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 つのオプションがあります。- デバイスがまだ接続されてい ない 場合は、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 スクリプトを記述するを参照してください。