ゼロタッチプロビジョニングの概念
Cisco Crosswork Zero Touch Provisioning(ZTP)アプリケーションを使用すると、ネットワーキングデバイスをリモートでプロビジョニングできます。工場出荷時の状態のデバイスをブランチオフィスまたはリモートサイトに出荷できます。ローカルオペレータは、イメージをインストールしたり、設定したりすることなく、これらのデバイスをネットワークにケーブル接続できます。ZTP を使用するには、まず DHCP サーバーと ZTP アプリケーションで各デバイスのエントリを確立します。その後、デバイスをネットワークに接続して電源を投入するか、リロードすることで、ZTP 処理をアクティブ化できます。ZTP は、認定されたイメージと 1 つ以上の設定を自動的にダウンロードしてデバイスに適用します(設定のみを適用することもできます)。設定が完了すると、ZTP は新しいデバイスを Cisco Crosswork デバイスインベントリにオンボーディングします。その後、他の Cisco Crosswork アプリケーションを使用して、デバイスをモニターおよび管理できます。
Cisco Crosswork ZTP では、次の基本用語と概念を使用します。
-
クラシック ZTP:ソフトウェアと設定ファイルをダウンロードしてデバイスに適用するプロセス。iPXE ファームウェアと HTTP を使用してデバイスを起動し、ダウンロードを実行します。パブリックネットワークでの使用には適していません。
-
セキュア ZTP:ソフトウェアイメージと設定ファイルをダウンロードしてデバイスに適用するセキュアなプロセス。セキュアなトランスポートプロトコルと証明書を使用してデバイスを検証し、ダウンロードを実行します。
-
評価ライセンスのカウントダウン:ZTP を使用してオンボードされたデバイスのライセンスには、通常 90 日間の評価期間があります。Cisco Crosswork は、評価期間中、カウントダウンバナーを表示します。評価期間が終了するまでに、ライセンスのプールを購入するようにしてください。有効期限が切れると、購入したライセンスを適用するまで、Cisco Crosswork は警告バナーを表示し、新しいデバイスのオンボーディングをブロックします。
-
イメージファイル:デバイスにネットワーク オペレーティング システムをインストールするために使用するバイナリ ソフトウェア イメージ ファイル。シスコのデバイスの場合、これらのファイルは Cisco IOS-XR イメージのサポートされているバージョンです。これを行うように設定すると、クラシック ZTP プロセスは Cisco Crosswork からイメージをダウンロードし、オープンソースのブートファームウェア iPXE を使用してインストールします。SMU をインストールする必要がある場合、ZTP は設定処理の一部としてそれらを適用します。
-
設定ファイル:新しくイメージ化されたデバイスや再イメージ化されたデバイスの動作パラメータを設定するために使用するファイル。ファイルには、Python スクリプト、Linux シェルスクリプト、または ASCII テキストとして保存された一連の Cisco IOS CLI コマンドを使用できます。ZTP プロセスは、新しくイメージ化されたデバイスに設定ファイルをダウンロードし、実行します。ZTP 処理には設定ファイルが必要です。
-
クレデンシャルプロファイル:SNMP、SSH、HTTP、およびその他のネットワークプロトコルを介してデバイスにアクセスするために使用するパスワードとコミュニティ文字列の集まり。Cisco Crosswork は、クレデンシャルプロファイルを使用してデバイスにアクセスし、デバイスアクセスを自動化します。すべてのクレデンシャルプロファイルは、パスワードとコミュニティ文字列を暗号化形式で保存します。
-
ブートファイル名:ZTP リポジトリに保存されているソフトウェアイメージの明示的なパスと名前。ZTP を使用してオンボーディングする予定のデバイスごとに、DHCP のデバイス設定の一部としてブートファイル名を指定します。
-
HTTPS/TLS:Hypertext Transport Protocol Secure(HTTPS)は、HTTP プロトコルのセキュアな形式です。暗号化したレイヤで HTTP をラップします。このレイヤは Transport Layer Security(TLS)(以前の Secure Sockets Layer、つまり SSL)です。
-
iPXE:オープンソース ブート ファームウェア iPXE は、ブート前実行環境(PXE)クライアントファームウェアとブートローダの一般的な実装です。 iPXE を使用すると、組み込み PXE サポートのないデバイスをネットワークから起動できます。iPXE ブートプロセスは、クラシック ZTP 処理の一部であり、セキュア ZTP 処理の一部ではありません。ただし、オンサイトの技術者は、引き続き iPXE ブートを強制してからセキュア ZTP 処理を開始できます。
-
所有者証明書:組織の CA 署名入りのエンドエンティティ証明書。公開キーを組織にバインドします。デバイスに所有者証明書をインストールします。
-
所有権バウチャー:ZTP でオンボーディングされているデバイスが、組織が所有するドメインにブートストラップされていることを確認するナンスレス監査バウチャー。シスコは、組織からの要求に応じて OV を提供します。
-
PDC:ピン留めドメイン証明書(PDC)は、組織の CA または自己署名ドメイン証明書です。PDC の公開キーは、組織に割り当てられた DNS ネットワークドメインに PDC を固定します。PDC(ピン留めドメイン証明書)は、ZTP の処理中にダウンロードおよび適用されたイメージと設定が組織内からのものであることをデバイスが確認する際に役立ちます。
-
SUDI:セキュアな一意のデバイス識別子(SUDI)は、関連付けられたキーペアを持つ証明書です。SUDI には、製品識別子とシリアル番号が含まれています。シスコは製造時に SUDI とキーペアをデバイスハードウェアのトラストアンカーモジュール(TAm)に挿入し、デバイスにイミュータブル ID を付与します。セキュア ZTP 処理時に、バックエンドシステムはデバイスにアイデンティティの検証を要求します。ルータは SUDI ベースのアイデンティティを使用して応答します。このやり取りと TAm 暗号化サービスにより、バックエンドシステムは暗号化されたイメージと設定ファイルを提供できます。これらの暗号化されたファイルを開くことができるのは、特定のルータだけです。これにより、パブリックネットワーク上での転送の機密性が確保されます。
-
SUDI ルート CA 証明書:認証局(CA)によって発行および署名され、下位の SUDI 証明書を認証するために使用する SUDI のルート認証証明書。
-
UUID:汎用一意識別子(UUID)は、Cisco Crosswork にアップロードしたイメージファイルを一意に識別します。DHCP ブートファイル URL にソフトウェアイメージファイルの UUID を使用できます。UUID は設定ファイルには必要ありません。
-
ZTP アセット:ZTP では、新しいデバイスをオンボーディングするために、いくつかのタイプのファイルと情報にアクセスする必要があります。これらのファイルと情報を総称して「ZTP アセット」と呼びます。ZTP 処理を開始する前に、ZTP 設定の一部としてこれらのアセットをロードします。
-
ZTP プロファイル:(通常は)1 つのイメージと 1 つの設定を 1 つのユニットに結合する Cisco Crosswork ストレージ構成。Cisco Crosswork は、ZTP プロファイルを使用して、イメージ化プロセスと設定プロセスを自動化します。ZTP プロファイルの使用は任意ですが、推奨されています。これらは、デバイスファミリ、クラス、およびロールに関する ZTP イメージと設定の整理を簡単にし、ZTP の使用に一貫性を持たせるたのに役立ちます。
-
ZTP リポジトリ:Cisco Crosswork が ZTP イメージと設定ファイルを保存する場所。
ZTP の処理ロジック
Cisco Crosswork ZTP の処理は、クラシック ZTP またはセキュア ZTP のいずれを実装するかによって異なります。
クラシック ZTP のロジック
次の図に、クラシック ZTP がデバイスのプロビジョニングとオンボーディングに使用する処理ロジックを示します。DHCP サーバーは、デバイスのシリアル番号に基づいてデバイスのアイデンティティを確認してから、ブートファイルとイメージのダウンロードを提供します。ZTP がデバイスをイメージ化すると、デバイスは設定ファイルをダウンロードし、実行します。
セキュア ZTP のロジック
次の図に、セキュア ZTP がデバイスのプロビジョニングとオンボーディングに使用するプロセスロジックを示します。デバイスと ZTP ブートストラップサーバーは TLS/HTTPS を 介してデバイスとサーバー証明書でセキュアな一意のデバイス識別子(SUDI)を使用し、相互に認証します。セキュアな HTTPS チャネルを介して、ブートストラップサーバーはデバイスに署名付きイメージと設定アーティファクトをダウンロードさせます。これらのアーティファクトは、RFC 8572 YANG スキーマに準拠する必要があります。デバイスは新しいイメージ(存在する場合)をインストールしてリロードすると、設定スクリプトをダウンロードして実行します。
ZTP の状態遷移
デバイスのリセットまたはリロードによって開始されると、ZTP プロセスは自動的に進行します。また、Cisco Crosswork は、[ゼロタッチデバイス(Zero Touch Devices)] ウィンドウを更新し、各デバイスが到達したプロセスの段階を示すステータスメッセージも表示します。次の 2 つの項で説明するように、状態とその遷移は、クラシック ZTP とセキュア ZTP で異なります。
ZTP で使用する設定スクリプトは、Cisco API コールを使用して、デバイスの状態変化を Cisco Crosswork に報告する必要があります。そうしないと、Cisco Crosswork は状態変化が発生したときにそれを登録できず、プロビジョニングとオンボーディングに失敗します。これらのコールの例を確認するには、 をクリックします。
を選択し、[サンプルスクリプトのダウンロード(Download Sample Script)]クラシック ZTP の状態遷移
次の図に、クラシック ZTP 処理の状態変化を示します。
クラシック ZTP デバイスエントリは、[プロビジョニングなし(Unprovisioned)] 状態から開始されます。ZTP を開始すると、デバイスはネットワークに接続し、イメージとコンフィギュレーションファイルのダウンロードを開始すると、[進行中(InProgress)] の状態に移行します。デバイスは、[プロビジョニングエラー(Provisioning Error)] の発生、または [プロビジョニング済み(Provisioned)] を報告するまで、[進行中(InProgress)] の状態が維持されます。プロビジョニングが成功すると、デバイスは [プロビジョニング済み(Provisioned)] の状態に移行します。プロビジョニングが完了すると、Cisco Crosswork はデバイスをオンボーディングします。Cisco NSO が Cisco Crosswork プロバイダである場合、Cisco NSO はデバイスもオンボーディングします。オンボーディングが成功すると、デバイスの状態が [オンボーディング済み(Onboarded)] に変わります。これでデバイスがインベントリに組み込まれたため、他の Cisco Crosswork ネットワークデバイスと同様にモニターおよび管理できます。
クラシック ZTP は、デバイスがそのイメージや設定コードを正常にロードし、Cisco Crosswork に接続して、[プロビジョニング済み(Provisioned)] のステータスを報告すると成功します。このステータスの変化により、そのデバイスのシリアル番号に対して 1 つのライセンスがカウントされます。ライセンスはシリアル番号に関連付けられているため、後で [オンボーディング済み(Onboarded)] の状態に移行したり、またはZTP 処理をさらに行ったりしても、ライセンス数には影響しません。
セキュア ZTP の状態遷移
次の図に、セキュア ZTP 処理の状態変化を示します。
セキュア ZTP デバイスのエントリは、[プロビジョニングなし(Unprovisioned)] の状態で始まります。ZTP を開始すると、デバイスとブートストラップサーバーが相互に検証し、ペイロードを検証します。この 2 つは、デバイスの SUDI 、所有権バウチャー、およびデバイス所有者証明書を使用し、HTTP/TLS を介して検証を行います。検証後、デバイスエントリはネットワークに接続し、イメージと設定ファイルのダウンロードを開始すると、[進行中(InProgress)] の状態に移行します。デバイスは、[プロビジョニングエラー(Provisioning Error)]、[ZTP エラー(ZTP Error)]、または [プロビジョニング済み(Provisioned)] のステータスを Cisco Crosswork に通知するまで、[進行中(InProgress)] の状態のままになります。プロビジョニングが成功すると、デバイスは [プロビジョニング済み(Provisioned)] の状態に移行します。プロビジョニングが完了すると、Cisco Crosswork はデバイスをオンボーディングします。Cisco NSO が Cisco Crosswork プロバイダである場合、Cisco NSO はデバイスもオンボーディングします。オンボーディングが成功すると、デバイスの状態が [オンボーディング済み(Onboarded)] に変わります。これでデバイスがインベントリに組み込まれたため、他の Cisco Crosswork ネットワークデバイスと同様にモニターおよび管理できます。
検証手順のいずれかが失敗すると、セキュア ZTP は [プロビジョニングエラー(Provisioning Error)] を通知します。イメージまたは設定コードが検証またはインストールに失敗すると、セキュア ZTP は代わりに [ZTP エラー(ZTP Error)] を通知します。クラシック ZTP と同様に、セキュア ZTP は、デバイスがそのイメージや設定コードを正常にロードし、Cisco Crosswork に接続して、[プロビジョニング済み(Provisioned)] のステータスを通知すると成功します。ライセンスの消費量は、クラシック ZTP と同じです。
ZTP と評価ライセンス
すべてのライセンスは、90 日間の評価期間から始まります。評価期間が終了すると、Cisco Crosswork は、評価ライセンスの期限が切れたことをユーザーに警告するバナーを表示します。ZTP はこのバナーを表示しますが、構成のダウンロードを含む一部の操作をブロックします。組織がスマートライセンスに登録し、一部のオンボードデバイスにライセンスを適用すると、ZTP はブロックを削除します。ZTP は、すべてのオンボードデバイスのライセンスを取得するまで、警告バナーを表示します。
オンボーディング済みの ZTP デバイスは、常に次のいずれかに関連付けられます。
-
シリアル番号、または
-
Option 82 ロケーション ID 属性の値(リモート ID と回線 ID)。
シリアル番号とロケーション ID によって「許可」リストが形成されます。ZTP は、デバイスをオンボーディングしてライセンスを割り当てることを決定するときに、このリストを使用します。オンボーディング済みの ZTP デバイスをインベントリから削除し、後で再度オンボーディングする場合は、同じシリアル番号またはロケーション ID を使用します。別のシリアル番号やロケーション ID を使用すると、ライセンスが余分に消費される場合があります。現在のリリースでは、このシナリオの回避策は提供されていません。いずれの場合も、同じシリアル番号またはロケーション ID を持つ 2 つの異なる ZTP デバイスを同時にアクティブにすることはできません。
ZTP でのプラットフォームサポート
このトピックでは、シスコ製とサードパーティ製のソフトウェアおよびデバイスに対する Cisco Crosswork Zero Touch Provisioning のサポートについて詳しく説明します。
クラシック ZTP でのプラットフォームサポート
次のプラットフォームは、クラシック ZTP をサポートしています。
-
ソフトウェア:Cisco IOS-XR バージョン 6.6.3、7.0.1、7.0.2、7.0.12、7.3.1 以降。
-
ハードウェア:
-
Cisco Network Convergence Systems(NCS)540 シリーズ ルータ
-
Cisco NCS 1000-1004 シリーズ ルータ
-
Cisco NCS 5500 シリーズ ルータ
-
Cisco NCS 8000 および 8800 シリーズ ルータ(Spitfire 固定モード)
-
クラシック ZTP は、サードパーティ製のデバイスまたはソフトウェアをサポートしていません。
セキュア ZTP でのプラットフォームサポート
次のプラットフォームでセキュア ZTP がサポートされています。
-
ソフトウェア:Cisco IOS-XR バージョン 7.3.1 以降。
単一イメージのインストールとして、IOS-XR 6.6.3 から 7.3.1 にアップグレードできます。
-
ハードウェア:
-
Cisco Network Convergence Systems(NCS)540 シリーズ ルータ
-
Cisco NCS 1000-1004 シリーズ ルータ
-
Cisco NCS 5500 シリーズ ルータ
-
Cisco NCS 8000 および 8800 シリーズ ルータ(Spitfire 固定モード)
-
セキュア ZTP は、サードパーティ製デバイスのプロビジョニングをサポートしています。
-
Secure ZTP RFC 8572(https://tools.ietf.org/html/rfc8572)に 100% 準拠していること。
-
デバイス証明書と所有権バウチャーのシリアル番号がシスコ形式のガイドラインと一致していること。詳細については、次のセクション「サードパーティ製デバイス証明書および所有権バウチャーのガイドライン」を参照してください。
サードパーティ製デバイス証明書および所有権バウチャーのガイドライン
デバイスのセキュア ZTP 処理は、デバイスと Cisco Crosswork 間の正常な HTTPS/TLS ハンドシェイクから始まります。ハンドシェイク後、セキュア ZTP はデバイス証明書からシリアル番号を抽出する必要があります。セキュア ZTP は、抽出したシリアル番号を内部のシリアル番号の「許可」リストと照合して検証します。許可リストを作成するには、デバイスのシリアル番号を Cisco Crosswork にアップロードします。所有権バウチャーを使用してダウンロードを検証する場合も、同様のシリアル番号検証手順が後で実行されます。
Cisco IOS-XR デバイスとは異なり、サードパーティベンダーのデバイス証明書のシリアル番号の形式はベンダー間で標準化されていません。通常、サードパーティベンダーのデバイス証明書には、Subject
フィールドまたはセクションがあります。Subject
には、ベンダーが決定する複数のキーと値のペアが含まれます。通常、キーと値のペアの 1 つは serialNumber
キーです。このキーの値には、実際のデバイスのシリアル番号が文字列として含まれます。その前には、文字列 SN:
が付きます。たとえば、サードパーティのデバイス証明書の Subject
セクションに serialNumber = PID:NCS-5501 SN:FOC2331R0CW
というキーと値が含まれているとします。セキュア ZTP は SN:
文字列の後の値を取得し、その値を許可リスト内のシリアル番号の 1 つと照合します。
サードパーティベンダーのデバイス証明書の形式が異なると、検証エラーが発生する可能性があります。障害の程度は、差異の程度によって異なります。ベンダー証明書がこの形式とまったく一致しない場合があります。証明書の Subject
フィールドに、SN:
文字列を含む値を持つ serialNumber
キーを含めることはできません。この場合、セキュア ZTP の処理は、デバイスのシリアル番号として serialNumber
キーの文字列値全体(存在する場合)を使用するようにフォールバックします。次に、その値をシリアル番号の許可リストの 1 つと照合します。この 2 つの方法(文字列照合とフォールバック)は、セキュア ZTP がサードパーティ製デバイスのシリアル番号を判別するための唯一の手段です。ベンダー証明書がこの想定と大幅に異なる場合、セキュア
ZTP はデバイスをまったく検証できない可能性があります。
セキュア ZTP では、所有権バウチャーに対して同様の形式が想定されます。シスコのツールは、SerialNumber.vcj
形式のファイル名で所有権バウチャーを生成します。ここで、SerialNumber
はデバイスのシリアル番号です。セキュア ZTP は、ファイル名からシリアル番号を抽出し、許可リスト内のいずれかの番号との照合を試みます。マルチベンダーサポートでは、サードパーティベンダーのツールにより同じ形式の OV ファイルが生成されると想定しています。この想定が満たされない場合は、検証が失敗する可能性があります。
ZTP の実装の決定
ZTP には実装のさまざまな選択肢があり、コスト対メリットのトレードオフを事前に検討に値します。
-
クラシック ZTP を使用する場合:クラシック ZTP はセキュア ZTP よりも簡単に実装できます。PDC、所有者証明書、または所有権バウチャーは必要ありません。デバイスとサーバーの検証が厳密ではなくなり、設定も複雑でないため、処理エラーの影響を受けにくくなります。セキュア ZTP ではサポートされていないため、シスコのデバイスが 7.3.1 より前の IOS XR バージョンを実行している場合は、これが唯一の選択肢となります。クラシック ZTP にはデバイスのシリアル番号チェックが含まれていますが、トランスポート層では安全ではありません。リモートデバイスへのルートがメトロネットワークまたはその他のセキュアでないネットワークを通過する場合は推奨されません。
-
セキュア ZTP を使用する場合:パブリックネットワークを通過する必要があり、セキュア ZTP をサポートするデバイスがある場合は、セキュア ZTP を使用します。この ZTP が提供する追加のセキュリティには、クラシック ZTP よりも複雑な設定が必要です。設定タスクを初めて使用する場合、この複雑さが原因で処理エラーが発生しやすくなります。セキュア ZTP の設定には、デバイスの製造元からの証明書と所有権バウチャーも必要です。クラシック ZTP はサードパーティ製ハードウェアをサポートしていないため、サードパーティ製のデバイスを使用している場合に使用します。サードパーティ製デバイスとそのソフトウェアは、RFC 8572 と 8366 に 100% に準拠している必要があります。サードパーティ製のデバイスのデバイス証明書には、デバイスのシリアル番号が含まれている必要があります。サードパーティ所有権バウチャーは、デバイスのシリアル番号をファイル名として使用する形式である必要があります。シスコは、すべてのサードパーティ製デバイスとのセキュア ZTP 互換性を保証することはできません。サードパーティ製デバイスのサポートの詳細については、「ZTP でのプラットフォームサポート」を参照してください。
-
イメージデバイスで ZTP を使用:クラシックまたはセキュア ZTP を使用する場合、ソフトウェアイメージを指定する必要はありません。この機能を使用すると、ソフトウェアイメージがすでにインストールされている 1 台以上のデバイスをリモートの場所に出荷できます。その後、これらのデバイスに接続し、リモートで ZTP 処理をトリガーできます。設定方法に応じて、次を適用できます。
-
設定のみ
-
複数の設定を持つ 1 つ以上のイメージまたは SMU。
すべてのライセンスは、90 日間の評価期間から始まります。評価期間が終了すると、Cisco Crosswork は、評価ライセンスの期限が切れたことをユーザーに警告するバナーを表示します。ZTP はこのバナーを表示しますが、設定のダウンロードを含む一部の操作をブロックします。組織がスマートライセンスに登録し、一部のオンボードデバイスにライセンスを適用すると、ZTP はブロックを削除します。ZTP は、すべてのオンボードデバイスのライセンスを取得するまで、警告バナーを表示します。
セキュア ZTP は、事前設定、Day 0、および設定後のスクリプト実行機能を提供するため、事前にイメージ化されたデバイスにより高い柔軟性が実現します。ただし、どちらの ZTP モードでも、イメージ、SMU、および設定をロードする設定ファイルを連鎖させることができます。
どちらの場合も、結果としてデバイスがオンボーディングされます。Cisco Crosswork にオンボーディングすると、ZTP を使用してデバイスを設定することはできません。
-
-
設定の整理:デバイス間で可能な限り一貫した設定を維持します。一貫性により、問題の解決が容易になります。新しいデバイスをオンラインにするために実行する必要がある追加設定の量を最小限に抑えます。また、デバイスを再設定またはアップグレードする際に留意すべき「特別な」事項の数を減らします。最初に、同じデバイスファミリの同じロールを持つすべてのデバイスの基本設定が同じか、または類似していることを確認します。
デバイスが果たす役割の定義方法は、組織、その運用方法、およびネットワーク環境の複雑さによって異なります。たとえば、組織が金融サービス企業であるとします。路上の ATM、標準的な営業時間中に開いている小売店、民間のトレーディングオフィスの 3 つのタイプのブランチがあります。各タイプのブランチのすべてのデバイスを対象とする 3 つのセットの基本プロファイルを定義できます。これらプロファイルのそれぞれに設定ファイルをマッピングできます。
一貫性を強制する別の方法は、同様のタイプのデバイスの基本的なスクリプト設定を開発し、スクリプトロジックを使用して他のスクリプトを呼び出すことです。Classic ZTP を使用している場合、スクリプトは指定した設定ファイルにあります。このスクリプトは、基本設定をダウンロードしてから、ブランチタイプに応じて他のスクリプトをダウンロードします。セキュア ZTP を使用する場合は、メイン設定スクプリトまたは Day 0 設定スクリプトに加えて、事前設定および設定後のスクリプトを指定できるため、柔軟性が高まります。