juniper.device.system Ansibleモジュールを使用して、Junosデバイスを工場出荷時のデフォルト状態に復元する

juniper.device.system Ansible モジュールを使用して、Junos OSを実行しているデバイスまたはJunos OS Evolvedを実行しているデバイスを工場出荷時のデフォルト設定に復元できます。

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

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

コレクション

モジュールセット

モジュール名

juniper.device

juniper.device

juniper.device.system

junipernetworks.junos

juniper.device.junos_config (zeroize オプション)

このトピックでは、 juniper.device.system モジュールを使用して、Junos デバイスを工場出荷時のデフォルト状態にリセットする方法について説明します。 juniper.device.junos_config モジュールを使用してデバイスをリセットする方法については、 デバイスを工場出荷時のデフォルト設定に復元するを参照してください。

工場出荷時のデフォルト設定に戻す方法

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

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

対応する操作コマンドの詳細については、次を参照してください。

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

デフォルトでは、 action: "zeroize" 操作は、デュアルルーティングエンジンセットアップのすべてのルーティングエンジンを工場出荷時のデフォルト設定にリセットします。Junos OS Evolvedは、常に両方のルーティングエンジンをゼロ化します。ただし、Junos OSを実行しているデバイスでは、アプリケーションが接続されているルーティングエンジンでのみ操作を実行するようにモジュールに指示することもできます。EXシリーズスイッチ(バーチャルシャーシEX8200を除く)またはQFXシリーズスイッチで構成されるバーチャルシャーシまたはバーチャルシャーシファブリック(VCF)では、接続されたメンバースイッチのみで動作します。

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

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

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

例:Ansibleを使用して工場出荷時のデフォルト設定に戻す

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

要件

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

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

  • コンソールサーバーを介してコンソールポートにアクセスでき、適切な権限でユーザーアカウントが設定されているJunosデバイス

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

概要

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

注:

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

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

プレイブックは、確認チェックが成功した場合モジュール juniper.device.system を実行します。モジュールは、各ホストの Ansible インベントリ ファイルで定義されている指定されたポート上のコンソール サーバーを介して Junos デバイスに接続します。プレイブックは、デバイスパスワードの入力を求め、それを変数に格納します。再起動後、デバイスにアクセスするには、コンソールからrootとしてログインする必要があります。

設定

Ansibleプレイブックの作成と実行

ステップバイステップの手順

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

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

  2. モジュールが誤って実行されないように、対話型プロンプトを作成します。

  3. 他の方法でユーザーの認証情報を渡さない場合は、デバイスパスワードの対話型プロンプトを作成します。

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

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

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

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

結果

Ansibleコントロールノードで、完成したプレイブックを確認します。プレイブックに意図したコードが表示されない場合は、この例の手順を繰り返してプレイブックを修正します。

プレイブックを実行する

プレイブックを実行するには:

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

検証

プレイブックの実行を検証する

目的

プレイブックが、Junosデバイスを工場出荷時のデフォルト設定にリセットしたことを確認します。

アクション

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

意味

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