Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Apstra ZTPを設定する

Apstra ZTPをインストールしたら、次は設定を行います。

  1. 静的管理IPアドレス(Apstra ZTP)を設定します。

    デフォルトでは、Apstra ZTPサーバーはDHCP経由でeth0インターフェイスにIPアドレスを割り当てようと試みます。Apstra ZTPサーバーをDHCPサーバーとして使用している場合は、静的管理IPアドレスを設定する必要があります。

    1. ユーザー管理者としてApstra ZTPサーバーにSSH接続します。ssh admin@<apstra-server-ip>( は<apstra-server-ip>Apstra ZTPサーバーのIPアドレスです。
    2. /etc/netplan/01-netcfg.yamlファイルを編集して、静的管理 IP アドレスを設定します。以下の例を参照してください。(ネットプランの使用の詳細については、https://netplan.io/examples を参照してください)
    3. 次のいずれかの方法で変更を適用します。
      • コマンド sudo rebootでApstra ZTPサーバーを再起動します。
      • コマンドを実行 sudo netplan applyします。
  2. Apstra ZTPユーザーを設定する

    API書き込みアクセス権を持つ任意の設定済みApstra GUIユーザー(adminなど)を使用できますが、事前定義されたロール device_ztpが割り当てられた指定ユーザー(「ztp」など)を作成することをお勧めします。device_ztp ロールを使用すると、そのロールを持つユーザーは、コントローラへの API コールを行って、デバイスシステムエージェントのインストールを要求できます。詳細については、 ユーザ/ロール管理を参照してください。

  3. Apstra ZTP GUI認証情報を設定する
    Apstra ZTP GUIでは、管理者ユーザーのパスワード認証情報のみがサポートされています。
    1. 最新のウェブブラウザーバージョンのGoogle ChromeまたはMozilla FireFoxから、URLhttps://<apstra_server_ip>を入力します。ここで<apstra_server_ip>、はApstraサーバーのIPアドレス(またはApstraサーバーのIPアドレスに解決されるDNS名)です。
    2. セキュリティ警告が表示された場合は、[詳細設定] をクリックしてサイトに進みます。この警告は、インストール中に生成された SSL 証明書が自己署名証明書であり、ソフトウェアのインストール時に署名付き証明書に置き換えなかったために発生します。セキュリティ上の理由から、SSL 証明書を置き換えることをお勧めします。
    3. ログインページで、ユーザー名adminとデフォルトのパスワードadminを入力します。
    4. 管理者として初めてログインした後、パスワードを変更する必要があります。新しいパスワードは、大文字1文字、小文字1文字、数字1文字、特殊記号1文字の9文字以上で強力である必要があります。(パスワードの変更ダイアログには、今後、Apstra ZTP GUIの[設定]>[パスワードの変更]ダイアログにアクセスできます
    5. 管理者パスワードを変更したら、設定した新しいパスワードで再度ログインする必要があります。(パスワードは変更できます
  4. Apstraサーバーの詳細を設定する
    1. 新しい管理者パスワードでログインすると、Apstra ZTP UIによって設定ウィザードが開始されます。ウィザードのステップ1では、Apstraサーバーの詳細を設定して、Apstra ZTPサーバーとデバイスがApstraサーバーAPIに接続してロギングとシステムエージェントを作成できるようにします。
    2. ApstraサーバーのIPアドレス、ユーザー名(例:「ztp」)、およびユーザーパスワードを入力します。
    3. Apstraサーバーの認証情報が検証され、正しくない場合はエラーが表示されます。
    4. Apstraサーバーへの統合を使用したくない場合は、この手順をスキップできます。これは、後ほどApstra ZTP UIの「設定」、「Apstraサーバーの詳細を設定」で設定できます。
  5. Apstra ZTP GUIからApstra ZTP DHCPサーバーを設定する

    Apstra ZTP UI設定ウィザードの指示に従って、DHCP(dhcpd.conf)設定を行います。

    Apstra ZTP UIには、dhcpd.confファイルを直接編集するための「コードエディタ」タブと、DHCP(dhcpd.conf)設定を作成するための「コンフィギュレータ」タブがあります。

    「コンフィギュレータ」タブの最初のセクションは、DHCPドメイン検索、ドメイン名、およびドメイン名サーバーのオプションを含む「オプション」を編集することです。

    次のセクションでは、DHCP の "tftp-server-name"、"サブネット"、"ネットマスク"、"range_start"、"range_end"、および "routers" オプションを含む "グループ" を編集します。

    追加のサブネットがある場合は、[追加のサブネット] リンクをクリックして追加のサブネットを構成できます。

    次に「グループ」では、ユーザーは静的DHCPホストを設定して、デバイスのハードウェアイーサネットアドレスをIP固定アドレスにマッピングできます。

    追加のホストがある場合は、「追加のホスト」リンクをクリックして追加のホストを設定できます。

    「コードエディタ」タブをクリックすると、コンフィギュレータに入力されたエントリはdhcpd.confファイルに保存されます。

    終了したら、「保存して続行」をクリックします。Apstra ZTPは、更新された設定でDHCPを自動的に再起動します。設定にエラーがある場合、Apstra ZTPはエラーを警告します。

    UIを使用してApstra ZTP DHCPの設定を変更するには、Apstra ZTP UIの「dhcpd.conf」をクリックしてください。

  6. dhcpd.confファイルからApstra ZTP DHCPサーバーを設定する

    別のDHCPサーバーを使用する場合は、このガイドで説明されているのと同じオプションをApstraが提供するDHCPサーバーに設定してください。

    例えば、Juniper Junos OSまたはJunos OS Evolvedデバイスを使用している場合、デバイスに適切な構成ファイルが読み込まれるように、サーバーに以下が含まれていることを確認する必要があります。

    DHCP設定ファイルは、Apstra ZTP VMのディレクトリにあります /containers_data/dhcp

    メモ:

    すべての構成ファイルは、 が所有していますroot。sudoを使用して、コマンドを使用するとき、rootまたはコマンドを使用したsudo -s後にrootコマンドを実行sudoする必要があります。

    1. dhcpd.conf viまたはnanoテキストエディタでファイルを編集します。
    2. 管理ネットワークに対応する「グループ」を追加します。
      tftp-server-name ZTP サーバーの IP アドレス(URL ではない)
      subnet IP 管理ネットワークとネットマスク
      range 動的 DHCP IP アドレスの範囲。全範囲が使用可能であり、その範囲から静的に構成された IP アドレスが使用されていないことを確認します。
      option routers 管理ネットワークのデフォルト ゲートウェイ ルーター
      host 静的 DHCP IP アドレス
      hardware ethernet DHCP ネゴシエーションに使用される管理インターフェイスの
      fixed-address ハードウェアイーサネットMACを搭載したデバイス用。スイッチの MAC アドレスを使用する
    3. 次の DHCP パラメータはオプションです。
    4. SONiC で ZTP を使用している場合は、以下を編集する必要があります。
      sonic-provision-url: ZTP サーバーの IP アドレスを持つ TFTP URL
    5. DHCPの設定を変更した後、 コマンドを使用してApstra ZTP DHCPプロセスsudo docker restart dhcpdを再起動します。
  7. Apstra ZTP GUIによるApsra ZTP設定ファイルの編集

    Apstra ZTP VMには、TFTPとnginx HTTPサーバーが含まれています。これらのサーバーを構成する必要はありません。どちらのサーバーも、 /containers_data/tftp ディレクトリ外のファイルを提供します。

    この ztp.json ファイルには、Apstra ZTPスクリプト ztp.pyのすべての設定が含まれています。これは、Apstra ZTP UIから設定するか、ztp.jsonファイルから直接設定することができます。

    Apstra ZTP UI設定ウィザードの指示に従って、Apstra ZTP設定ファイル(ztp.json)を設定します。

    Apstra ZTP UIには、ztp.jsonファイルを直接編集するための「コードエディタ」タブと、Apstra ZTP構成ファイルを作成するための「コンフィグレータ」タブがあります。

    「コンフィギュレータ」タブには、次のように編成されたグループがあります。

    • defaults - より具体的なキーが定義されていない限り、値はすべてのデバイスに使用されます。

    • platform - より具体的なキーが定義されていない限り、値はネットワークプラットフォーム(「nxos」、「eos」、「junos」、「sonic」)のすべてのデバイスに使用されます。

    • model - 値は、特定のデバイス モデル ("QFX10002-36Q など") のすべてのデバイスに使用されます。

    • シリアル番号 - 値は、特定のデバイスのシリアル番号 ("TH0TFD6TCET0015G0015" など) に一致するデバイスに使用されます。

    より具体的なデータは、他のデータよりも優先されます。たとえば、特定のシリアル番号のデータは、他のデータ、モデル、プラットフォーム、デフォルトデータの順になります。

    「空のフィールドの切り替え」オプションは、データのないフィールドを非表示にすることで視認性を向上させます。

    「追加のSN/プラットフォーム/モデル」および「SN/プラットフォーム/モデルの削除」リンクを使用して、さらにグループを追加または削除できます。

    Apstra ZTP設定ファイル(ztp.json)は、以下のキーを使用します。


  8. Apstra ztp.jsonファイルの編集
    1. ztp.json viまたはnanoテキストエディタでファイルを編集します。
    2. このztp.jsonファイルは、次のように構成されています。
      defaults - より具体的なキーが定義されていない限り、値はすべてのデバイスに使用されます。
      "defaults": {
        "device-root-password": "root-password-123",
        "device-user": "admin",
        "device-user-password": "admin-password-123",
        "system-agent-params": {
          "agent_type": "onbox",
          "install_requirements": false
        }
      }
      platform - より具体的なキーが定義されていない限り、値はネットワークプラットフォーム(「nxos」、「eos」、「junos」、「sonic」)のすべてのデバイスに使用されます。
      "sonic": {
        "sonic-versions": ["SONiC-OS-3.4.0-Enterprise_Advanced"],
        "sonic-image": "http://10.85.24.52/sonic/3.4.0/sonic-3.4.0-GA-adv-bcm.bin",
        "device-root-password": "admin",
        "device-user": "admin",
        "device-user-password": "admin",
        "custom-config": "sonic_custom.sh",
        "system-agent-params": {
          "agent_type": "onbox",
          "job_on_create": "install"
        }
      }
      model - 値は、特定のデバイス モデル ("QFX10002-36Q" など) のすべてのデバイスに使用されます。
      "QFX10002-36Q": {
        "junos-versions": ["21.2R1-S2.2"],
        "junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-10-f-x86-64-21.2R1-S2.2-secure-signed.tgz"
       }
      シリアル番号 - 値は、特定のデバイスのシリアル番号 ("TH0TFD6TCET0015G0015" など) に一致するデバイスに使用されます。
      "TH0TFD6TCET0015G0015": {
        "sonic-versions": ["SONiC-OS-4.0.5-Enterprise_Advanced"],
        "sonic-image": "http://10.85.24.52/sonic/4.0.5/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin"
      }

      より具体的なデータは、他のデータよりも優先されます。たとえば、特定のシリアル番号のデータは、他のデータ、モデル、プラットフォーム、デフォルトデータの順になります。

    3. このファイルでは ztp.json 、次のキーを使用します。
      junos-versions - ジュニパーJunosデバイスの有効なバージョン。デバイスがこのリストのバージョンを実行していない場合、ZTPはイメージを添えてデバイスをアップグレードします junos-image "junos-versions": [ "20.2R2-S3.5" ]
      junos-image - 実行中のバージョンがリスト内の junos-versions バージョンと一致しない場合にロードするJuniper Junos TGZイメージのファイル名。
      • デフォルトでは、イメージ名は ZTP サーバーのディレクトリから TFTP 経由で ZTP サーバーから /container_data/tftp/ 読み込まれます。例えば: "junos-image": "jinstall-host-qfx-5-20.2R2-S3.5-signed.tgz"
      • イメージ転送に任意の HTTP サーバーを使用するには、有効な HTTP URL と IP アドレスを入力します。例えば: "junos-image": "http://192.168.59.4/jinstall-host-qfx-5-20.2R2-S3.5-signed.tgz"

      この例では、コントローラからのHTTPを使用して、ジュニパーJunosイメージを転送します。

      sonic-versions- SONiCデバイスで有効なバージョン。デバイスがこのリストのバージョンを実行していない場合、ZTPはイメージを添えてデバイスをアップグレードします sonic-image "sonic-versions": [ "SONiC-OS-3.1.0a-Enterprise_Base" ]
      sonic-image - 実行中のバージョンがリスト内の sonic-versions バージョンと一致しない場合にロードするSONiC ONIE BINイメージのファイル名。
      • デフォルトでは、イメージ名は ZTP サーバーのディレクトリから TFTP 経由で ZTP サーバーから /container_data/tftp/ 読み込まれます。例えば: "sonic-image": "sonic-3.1.0a-bcm.bin"
      • イメージ転送に任意の HTTP サーバーを使用するには、有効な HTTP URL と IP アドレスを入力します。例えば: "sonic-image": "http://192.168.59.3/sonic-3.1.0a-bcm.bin"

      この例では、コントローラからのHTTPを使用してSONiCイメージを転送しています。

      nxos-versions - NX-OSデバイスの有効なバージョン。デバイスがこのリストのバージョンを実行していない場合、ZTPはイメージを添えてデバイスをアップグレードします nxos-image "nxos-versions": [ "9.2(2)", "9.3(6)" ]
      nxos-image - 実行中のバージョンがリスト内のバージョンと一致しない場合にロードする NX-OS イメージの nxos-versions ファイル名。
      • デフォルトでは、イメージ名は ZTP サーバーのディレクトリから TFTP 経由で ZTP サーバーから /container_data/tftp/ 読み込まれます。例えば: "nxos-image": "nxos.9.3.6.bin"
      • イメージ転送に任意の HTTP サーバーを使用するには、有効な HTTP URL と IP アドレスを入力します。例えば: "nxos-image": "http://192.168.59.4/nxos.9.3.6.bin"

      この例では、ZTP サーバからの HTTP を使用して Cisco NX-OS イメージを転送します。

      eos-versions - Arista EOSデバイスの有効なバージョン。デバイスがこのリストのバージョンを実行していない場合、ZTPはイメージを添えてデバイスをアップグレードします eos-image "eos-versions": [ "4.22.3M", "4.24.5M" ]
      eos-image - 実行中のバージョンがリスト内の eos-versions バージョンと一致しない場合にロードするArista EOS SWIイメージのファイル名。
      • デフォルトでは、イメージ名は ZTP サーバーのディレクトリから TFTP 経由で ZTP サーバーから /container_data/tftp/ 読み込まれます。例えば: "eos-image": "EOS-4.24.5M.swi"

      • イメージ転送に任意の HTTP サーバーを使用するには、有効な HTTP URL と IP アドレスを入力します。例えば: "eos-image": "http://192.168.59.3/dos_images/EOS-4.24.5M.swi"

      この例では、コントローラからのHTTPを使用してArista EOSイメージを転送します。

      device-root-password - ZTP プロセスでは、デバイスの root パスワードがこの値に設定されます。Arista EOS および Cisco NX-OS デバイスでは、 device-root-password を使用してシステム admin パスワードのパスワードを設定します。 "device-root-password": "root-admin-password"
      device-user / device-user-password - デバイスシステムエージェントに使用されるユーザー名とパスワード。また、必要に応じて、ZTP プロセスにより、このユーザー名とパスワードを使用してデバイス上にユーザーが作成されます。
      "device-user": "aosadmin",
      "device-user-password": "aosadmin-password"
      custom-config - TFTPディレクトリ内のカスタム設定シェルスクリプトのファイル名、またはHTTPサーバー上のファイルを指すURL。このシェルスクリプトはZTP中に実行され、カスタム設定をデバイスに追加できます。詳細については、以下の「プラットフォーム固有の情報」セクションを参照してください。 "custom-config": "sonic_custom.sh"
      system-agent-params 以下で説明するように、デバイスで新しいユーザーとデバイス システム エージェントを作成するために使用される情報。
      agent_type - エージェントタイプ、オンボックスまたはオフボックス "agent_type": "onbox"
      install_requirements - 常に false に設定します。現在、サポートされているネットワークオペレーティングシステムには必要ありません。 "install_requirements": false
      job_on_create - デバイスにオンボックスエージェントをインストールするには install 、 に設定します。

      "job_on_create": "install"

      Junosの例

      {
              "junos": {
                      "junos-versions": ["21.2R1-S2.2"],
                      "junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-5e-x86-64-21.2R1-S2.2-secure-signed.tgz",
                      "device-root-password": "root123",
                      "device-user": "admin",
                      "device-user-password": "admin",
                      "system-agent-params": {
                              "platform": "junos",
                              "agent_type": "offbox",
                              "job_on_create": "install"
                      }
              },
              "QFX10002-36Q": {
                     "junos-versions": ["21.2R1-S2.2"],
                      "junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-10-f-x86-64-21.2R1-S2.2-secure-signed.tgz"
              },
              "JNP10002-60C [QFX10002-60C]": {
                      "junos-versions": ["21.2R1-S1.3"],
                      "junos-image": "http://10.85.24.52/juniper/21.2R1-S1.3/junos-vmhost-install-qfx-x86-64-21.2R1-S1.3.tgz"
              }
      }
      platform - (オフボックスエージェントにのみ必要)デバイスプラットフォーム(「eos」、「nxos」、「junos」)に設定します。小文字のみ。 "platform": "junos"
      open_options - (オフボックスエージェントのみ)オフボックスエージェントとデバイスAPIインターフェイス間のHTTPSを有効にするように設定します。open_optionsが定義されていない場合、接続はデフォルトで HTTP になります。
      "open_options": {
        "proto": "https",
        "port": "443"
      }
      packages - システム エージェントにアップロードする追加の SDK または拡張テレメトリ パッケージを構成するように設定します。
      "packages": [
        "aos-deployment-helper-nxos",
        "aosstdcollectors-builtin-nxos",
        "aosstdcollectors-custom-nxos"
      ]

      で使用可能な system-agent-params すべてのオプション /api/system-agentsに関する REST API ドキュメントについては、 Swaggerを参照してください。

  9. Apstra ZTP SSL証明書を置き換え

    セキュリティ上の理由から、Apstra ZTPのデフォルトの自己署名SSL証明書を、独自の認証局からの証明書に置き換えることをお勧めします。Web サーバー証明書の管理は、エンド ユーザーの責任です。ジュニパーのサポートはベストエフォート型です。

    Apstra ZTPサーバーを初めて起動すると、一意の自己署名証明書とキーが自動的に生成され、Apstra ZTP NGINXコンテナに保存されます。この認定書は、Apstra ZTPサーバーの暗号化に使用されます。既定の SSL 証明書を置き換えることをお勧めします。

    次の手順に従って、新しい SSL 証明書をインストールします。

    1. 組み込みの openssl コマンドを使用して、新しい OpenSSL 秘密キーを作成します。
    2. 証明書署名要求を作成します。ApstraサーバーのHTTPSサービス用に、主観的な代替名(SAN)を使用して署名付きSSL証明書を作成する場合は、OpenSSLテンプレートを手動で作成する必要があります。詳細については、ジュニパーのサポートナレッジベース記事KB37299を参照してください
    3. 証明書署名要求 (nginx.csr) を証明機関に送信します。必要な手順は、このドキュメントの範囲外です。CA の命令は実装ごとに異なります。有効なSSL証明書はすべて機能します。次の例は、証明書の自己署名用です。
    4. SSL 証明書 (秘密キー、公開キー、および CSR) が一致していることを確認します。
    5. NGINX SSL 構成ファイル /containers_data/nginx/conf.d/ssl.conf を編集し、ssl_certificate とssl_certificate_key新しいキー ファイルと証明書ファイルを指定します。/containers_data/nginx 内のファイルは、NGINX コンテナー内の /data ディレクトリ内のファイルからマップされることに注意してください。
    6. 新しい証明書をロードするには、nginx コンテナを再起動します。
    7. 新しい証明書が Web ブラウザーにあり、新しい証明書の共通名が一致することを確認します (例: 'aos-server.apstra.com')。