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|restart
network のいずれかを使用して、または - ネットワークサービスが有効な場合は、起動およびシャットダウン時 - 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 スクリプトを記述するを参照してください。