Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ansibleを使用してJunosデバイスを工場出荷時のデフォルト設定に復元する

概要 ジュニパーネットワークスのAnsibleモジュールを使用して、Junosデバイスを工場出荷時のデフォルト設定に復元します。

Ansible を使用して工場出荷時のデフォルト構成設定を復元する方法

ジュニパーネットワークスは、Junosデバイスを工場出荷時のデフォルト設定に復元するために使用できるAnsibleモジュールを提供しています。 表 1 にモジュールの概要を示します。

表1:デバイスをゼロ化するモジュール

コンテンツ セット

モジュール名

juniper.device 徴収

system

juniper.device.system モジュールを使用してデバイスを工場出荷時のデフォルト設定に復元するには、モジュールの action 引数を 'zeroize' に設定します。デバイスを工場出荷時のデフォルト設定に復元した後、デバイスにアクセスするには、コンソールからrootとしてログインする必要があります。

action: "zeroize" 引数を指定すると、モジュールはターゲット・ホストでrequest system zeroize操作コマンドを実行します。このコマンドは、指定されたルーティング エンジン上のすべての設定情報を削除し、デバイス上のすべてのキー値をリセットした後、デバイスを再起動し、工場出荷時のデフォルト設定にリセットします。ゼロ化操作は、カスタマイズされた設定やログファイルを含むすべてのデータファイルを、そのディレクトリからリンク解除することで削除します。また、SSH、ローカル暗号化、ローカル認証、IPsec、RADIUS、TACACS+、SNMP 用のすべてのプレーンテキストパスワード、シークレット、秘密キーなど、ユーザーが作成したすべてのファイルをシステムから削除します。

詳細については、次を参照してください。

次のAnsibleプレイブックでは、 juniper.device.system モジュールと action: "zeroize" を使用して、インベントリグループ内の各ホスト上のすべてのルーティングエンジンを工場出荷時のデフォルト設定にリセットします。

デフォルトでは、 action: "zeroize" 操作により、デュアルルーティングエンジンまたはバーチャルシャーシセットアップ内のすべてのルーティング エンジンが工場出荷時のデフォルト設定にリセットされます。また、アプリケーションが接続されているルーティングエンジンでのみ 操作を実行するようにモジュールに指示することもできます。

デュアルルーティングエンジンまたはデュアルバーチャルシャーシ設定のすべてのルーティングエンジンで動作を実行する必要があることを明示的に示すには、デフォルトの all_re: True 引数を含めます。

アプリケーションが接続されているルーティングエンジンのみで要求されたアクションを実行するには、 all_re: False 引数を含めます。

すべての設定ファイルとログファイルを削除することに加えて、すべてのメモリとメディアもスクラブするようにモジュールに指示するには、 media: True 引数を含めます。 media: True 引数を含めることは、 request system zeroize media 運用モードコマンドを実行することと同じです。 media オプションは、ディスク、フラッシュ メモリ デバイス、リムーバブル USB など、システムに接続されているすべてのストレージ デバイスをスクラブします。スクラビング処理の時間は、消去するメディアのサイズによって異なります。

例:Ansible を使用した工場出荷時のデフォルト設定の復元

この例では、 juniper.device.system モジュールを使用して、Junos デバイスを工場出荷時のデフォルト設定に復元する方法を示します。モジュールは、任意のタイプの接続を使用して実行できます。ただし、デバイスをリセットすると、コンソール サーバーまたは コンソール ポートからのみ、root として再度アクセスできます。この例では、コンソール サーバーを介してデバイスに接続します。

必要条件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • Ansible 2.10 以降を実行し、 juniper.device コレクションがインストールされた構成管理サーバー

  • コンソール サーバー経由でコンソール ポートにアクセスでき、適切なパーミッションが設定されたユーザー アカウントを持つJunosデバイス

  • 必要なホストが定義された既存のAnsibleインベントリファイル

概要

この例では、 juniper.device.system モジュールを使用してインベントリ グループ内の各ホストを工場出荷時のデフォルト設定にリセットする Ansible プレイブックを作成します。モジュールの action 引数の値は、ホストで実行する操作を定義します。 action"zeroize" に設定すると、各ホストで request system zeroize コマンドが実行されます。このコマンドは、ルーティング エンジン上のすべての設定情報を削除し、デバイス上のすべてのキー値をリセットした後、デバイスを再起動し、工場出荷時のデフォルト設定にリセットします。

手記:

request system zeroizeコマンドは、カスタマイズされた設定ファイルやログファイルを含むすべてのデータファイルを削除します。これらのファイルは、ディレクトリーからリンクを解除します。また、このコマンドは、SSH、ローカル暗号化、ローカル認証、IPsec、RADIUS、TACACS+、SNMP 用のすべてのプレーンテキストパスワード、シークレット、およびプライベートキーを含む、ユーザーが作成したすべてのファイルをシステムから削除します。

プレイブックからモジュールを呼び出す場合は、対話型プロンプトを使用して、ユーザーがデバイスをリセットしようとしていることを確認することをお勧めします。ユーザーが意図せずにプレイブックを実行し、チェックが行われない場合、デバイスが誤って工場出荷時のデフォルト設定に戻し、それらのデバイスを必要とするネットワークが中断される可能性があります。予防措置として、このプレイブックでは対話型プロンプトを使用して、ユーザーがデバイスをリセットしようとしていることを確認し、モジュールを実行するためにユーザーがコマンドラインで「yes」を手動で入力する必要があります。 Confirmation check タスクが失敗すると、Ansible制御ノードは、そのデバイスに対するプレイの他のタスクをスキップします。

確認チェックが成功すると、プレイブックは juniper.device.system モジュールを実行します。 mode: "telnet" および port: 23 引数は、コンソール サーバーのポート 23 に telnet で接続するようにモジュールに指示します。password パラメータは、実行中に Playbook が要求する password 変数の値に設定されます。再起動後、デバイスにアクセスするには、コンソールから root としてログインする必要があります。

構成

Ansible Playbook の作成と実行

手順

juniper.device.system モジュールを使用して Junos デバイスを工場出荷時のデフォルト設定に復元するプレイブックを作成するには、次の手順に従います。

  1. Playbook の定型文と、モジュールをローカルで実行するこのプレイを含めます。

  2. モジュールが誤って実行されるのを防ぐために、対話型プロンプトを作成します。

  3. ユーザー資格情報が他の方法でまだ渡されていない場合は、 password 変数の対話型プロンプトを作成します。

  4. 接続パラメータを定義します。

  5. ユーザーのインテントを確認するタスクを作成します。

  6. デバイス上のすべてのルーティング エンジンを工場出荷時のデフォルト設定にリセットするタスクを作成します。

  7. (オプション)応答を印刷するタスクを作成します。

業績

Ansible制御ノードで、完了したプレイブックを確認します。プレイブックに目的のコードが表示されない場合は、この例の手順を繰り返してプレイブックを修正します。

プレイブックを実行する

Playbook を実行するには、次のようにします。

  • 制御ノードで ansible-playbook コマンドを発行し、プレイブックのパスと必要なオプションを指定します。

検証

プレイブックの実行を確認する

目的

Junos デバイスが工場出荷時のデフォルト設定に正常にリセットされたことを確認します。

アクション

コンソール ポートからデバイスに root としてアクセスします。これで、デバイスは記憶喪失状態になります。

意味

Amnesiac プロンプトは、工場出荷時のデフォルト設定から起動しており、ホスト名が設定されていないデバイスを示しています。