Apstra ZTPを設定する
Apstra ZTPをインストールしたら、次は設定を行います。
- 静的管理IPアドレス(Apstra ZTP)を設定します。
デフォルトでは、Apstra ZTPサーバーはDHCP経由でeth0インターフェイスにIPアドレスを割り当てようと試みます。Apstra ZTPサーバーをDHCPサーバーとして使用している場合は、静的管理IPアドレスを設定する必要があります。
- ユーザー管理者としてApstra ZTPサーバーにSSH接続します。
ssh admin@<apstra-server-ip>
( は<apstra-server-ip>
Apstra ZTPサーバーのIPアドレスです。 /etc/netplan/01-netcfg.yaml
ファイルを編集して、静的管理 IP アドレスを設定します。以下の例を参照してください。(ネットプランの使用の詳細については、https://netplan.io/examples を参照してください)admin@apstra-ztp:~$ sudo vi /etc/netplan/01-netcfg.yaml [sudo] password for admin: # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.59.4/24] nameservers: search: [example.com, example.net] addresses: [69.16.169.11, 69.16.170.11]
- 次のいずれかの方法で変更を適用します。
- コマンド
sudo reboot
でApstra ZTPサーバーを再起動します。 - コマンドを実行
sudo netplan apply
します。
- コマンド
- ユーザー管理者としてApstra ZTPサーバーにSSH接続します。
- Apstra ZTPユーザーを設定する
API書き込みアクセス権を持つ任意の設定済みApstra GUIユーザー(adminなど)を使用できますが、事前定義されたロール device_ztpが割り当てられた指定ユーザー(「ztp」など)を作成することをお勧めします。device_ztp ロールを使用すると、そのロールを持つユーザーは、コントローラへの API コールを行って、デバイスシステムエージェントのインストールを要求できます。詳細については、 ユーザ/ロール管理を参照してください。
- Apstra ZTP GUI認証情報を設定する
Apstra ZTP GUIでは、管理者ユーザーのパスワード認証情報のみがサポートされています。
- 最新のウェブブラウザーバージョンのGoogle ChromeまたはMozilla FireFoxから、URL
https://<apstra_server_ip>
を入力します。ここで<apstra_server_ip>
、はApstraサーバーのIPアドレス(またはApstraサーバーのIPアドレスに解決されるDNS名)です。 - セキュリティ警告が表示された場合は、[詳細設定] をクリックしてサイトに進みます。この警告は、インストール中に生成された SSL 証明書が自己署名証明書であり、ソフトウェアのインストール時に署名付き証明書に置き換えなかったために発生します。セキュリティ上の理由から、SSL 証明書を置き換えることをお勧めします。
- ログインページで、ユーザー名adminとデフォルトのパスワードadminを入力します。
- 管理者として初めてログインした後、パスワードを変更する必要があります。新しいパスワードは、大文字1文字、小文字1文字、数字1文字、特殊記号1文字の9文字以上で強力である必要があります。(パスワードの変更ダイアログには、今後、Apstra ZTP GUIの[設定]>[パスワードの変更]ダイアログにアクセスできます
- 管理者パスワードを変更したら、設定した新しいパスワードで再度ログインする必要があります。(パスワードは変更できます
- 最新のウェブブラウザーバージョンのGoogle ChromeまたはMozilla FireFoxから、URL
- Apstraサーバーの詳細を設定する
- 新しい管理者パスワードでログインすると、Apstra ZTP UIによって設定ウィザードが開始されます。ウィザードのステップ1では、Apstraサーバーの詳細を設定して、Apstra ZTPサーバーとデバイスがApstraサーバーAPIに接続してロギングとシステムエージェントを作成できるようにします。
- ApstraサーバーのIPアドレス、ユーザー名(例:「ztp」)、およびユーザーパスワードを入力します。
- Apstraサーバーの認証情報が検証され、正しくない場合はエラーが表示されます。
- Apstraサーバーへの統合を使用したくない場合は、この手順をスキップできます。これは、後ほどApstra ZTP UIの「設定」、「Apstraサーバーの詳細を設定」で設定できます。
- 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」をクリックしてください。
- dhcpd.confファイルからApstra ZTP DHCPサーバーを設定する
別のDHCPサーバーを使用する場合は、このガイドで説明されているのと同じオプションをApstraが提供するDHCPサーバーに設定してください。
例えば、Juniper Junos OSまたはJunos OS Evolvedデバイスを使用している場合、デバイスに適切な構成ファイルが読み込まれるように、サーバーに以下が含まれていることを確認する必要があります。
option space JUNIPER option JUNIPER.config-file-name code 1 = text option JUNIPER-encapsulation code 43 = encapsulate JUNIPER option user-class-information code 77 = text; class "juniper" { match if (substring(option vendor-class-identifier, 0, 7) = "Juniper") and not (suffix(option user-class-information, 4) = "-EVO"); option JUNIPER.config-file-name "junos_apstra_ztp_bootstrap.sh"; } class "juniper-evo" { match if (substring(option vendor-class-identifier, 0, 7) = "Juniper") and (suffix(option user-class-information, 4) = "-EVO"); option JUNIPER.config-file-name "ztp.py"; }
DHCP設定ファイルは、Apstra ZTP VMのディレクトリにあります
/containers_data/dhcp
。admin@apstra-ztp:~$ sudo ls -l /containers_data/dhcp total 16 -rw------- 1 root root 2533 Oct 21 00:35 dhcpd.conf -rw------- 1 root root 146 Oct 21 00:35 Dockerfile -rw------- 1 root root 932 Oct 21 00:35 init.sh -rw------- 1 root root 1896 Oct 21 00:35 rsyslog.conf admin@apstra-ztp:~$
メモ:すべての構成ファイルは、 が所有しています
root
。sudoを使用して、コマンドを使用するとき、root
またはコマンドを使用したsudo -s
後にroot
コマンドを実行sudo
する必要があります。dhcpd.conf
viまたはnanoテキストエディタでファイルを編集します。admin@apstra-ztp:~$ sudo nano /containers_data/dhcp/dhcpd.conf
- 管理ネットワークに対応する「グループ」を追加します。
group { option tftp-server-name "192.168.59.4"; subnet 192.168.59.0 netmask 255.255.255.0 { range 192.168.59.21 192.168.59.99; option routers 192.168.59.1; } host my-switch { hardware ethernet 34:17:eb:1e:41:80; fixed-address 192.168.59.100; } }
tftp-server-name
ZTP サーバーの IP アドレス(URL ではない) subnet
IP 管理ネットワークとネットマスク range
動的 DHCP IP アドレスの範囲。全範囲が使用可能であり、その範囲から静的に構成された IP アドレスが使用されていないことを確認します。 option routers
管理ネットワークのデフォルト ゲートウェイ ルーター host
静的 DHCP IP アドレス hardware ethernet
DHCP ネゴシエーションに使用される管理インターフェイスの fixed-address
ハードウェアイーサネットMACを搭載したデバイス用。スイッチの MAC アドレスを使用する - 次の DHCP パラメータはオプションです。
ddns-update-style none; option domain-search "example.internal"; option domain-name "example.internal"; option domain-name-servers 8.8.8.8, 8.8.4.4;
- SONiC で ZTP を使用している場合は、以下を編集する必要があります。
class "sonic" { match if (substring(option host-name, 0, 5) = "sonic"); option sonic-provision-url "tftp://192.168.59.4/ztp.py"; }
sonic-provision-url
: ZTP サーバーの IP アドレスを持つ TFTP URL - DHCPの設定を変更した後、 コマンドを使用してApstra ZTP DHCPプロセス
sudo docker restart dhcpd
を再起動します。admin@apstra-ztp:~$ docker restart dhcpd dhcpd admin@apstra-ztp:~$
- Apstra ZTP GUIによるApsra ZTP設定ファイルの編集
Apstra ZTP VMには、TFTPとnginx HTTPサーバーが含まれています。これらのサーバーを構成する必要はありません。どちらのサーバーも、
/containers_data/tftp
ディレクトリ外のファイルを提供します。admin@apstra-ztp:~$ sudo ls -l /containers_data/tftp/ total 280 -rwxr-xr-x 1 admin admin 2448 Aug 28 16:39 config_verifier.py -rwxr-xr-x 1 admin admin 742 Aug 28 16:39 container_init.sh -rwxr-xr-x 1 admin admin 178 Aug 28 16:39 Dockerfile -rwxr-xr-x 1 admin admin 107 Aug 28 16:39 eos_custom.sh -rwxr-xr-x 1 admin admin 5735 Aug 28 16:39 junos_apstra_ztp_bootstrap.sh -rwxr-xr-x 1 admin admin 1799 Aug 28 16:39 junos_custom.sh -rwxr-xr-x 1 admin admin 86 Aug 28 16:39 nxos_custom.sh -rwxr-xr-x 1 admin admin 205 Aug 28 16:39 poap-md5sum -rwxr-xr-x 1 admin admin 1843 Aug 28 16:39 rsyslog.conf -rwxr-xr-x 1 admin admin 170 Aug 28 16:39 sonic_custom.sh -rwxr-xr-x 1 admin admin 2272 Aug 28 16:39 ztp.json -rwxr-xr-x 1 admin admin 115549 Aug 28 16:58 ztp.py -rw------- 1 root root 115506 Aug 28 16:58 ztp.py.md5 admin@apstra-ztp:~$
この
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)は、以下のキーを使用します。
-
- Apstra ztp.jsonファイルの編集
ztp.json
viまたはnanoテキストエディタでファイルを編集します。admin@apstra-ztp:~$ sudo nano /containers_data/tftp/ztp.json
- この
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" }
より具体的なデータは、他のデータよりも優先されます。たとえば、特定のシリアル番号のデータは、他のデータ、モデル、プラットフォーム、デフォルトデータの順になります。
- このファイルでは
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を参照してください。 - デフォルトでは、イメージ名は ZTP サーバーのディレクトリから TFTP 経由で ZTP サーバーから
- Apstra ZTP SSL証明書を置き換える
セキュリティ上の理由から、Apstra ZTPのデフォルトの自己署名SSL証明書を、独自の認証局からの証明書に置き換えることをお勧めします。Web サーバー証明書の管理は、エンド ユーザーの責任です。ジュニパーのサポートはベストエフォート型です。
Apstra ZTPサーバーを初めて起動すると、一意の自己署名証明書とキーが自動的に生成され、Apstra ZTP NGINXコンテナに保存されます。この認定書は、Apstra ZTPサーバーの暗号化に使用されます。既定の SSL 証明書を置き換えることをお勧めします。
次の手順に従って、新しい SSL 証明書をインストールします。
- 組み込みの openssl コマンドを使用して、新しい OpenSSL 秘密キーを作成します。
admin@apstra-ztp:~$ sudo -s root@apstra-ztp:/home/admin# cd /containers_data/nginx root@apstra-ztp:/containers_data/nginx# openssl genrsa -out nginx.key 2048 root@apstra-ztp:/containers_data/nginx
- 証明書署名要求を作成します。ApstraサーバーのHTTPSサービス用に、主観的な代替名(SAN)を使用して署名付きSSL証明書を作成する場合は、OpenSSLテンプレートを手動で作成する必要があります。詳細については、ジュニパーのサポートナレッジベース記事KB37299を参照してください。
root@apstra-ztp:/containers_data/nginx# openssl req -new -sha256 -key nginx.key -out nginx.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:California Locality Name (eg, city) []:Sunnyvale Organization Name (eg, company) [Internet Widgits Pty Ltd]:Juniper Networks Organizational Unit Name (eg, section) []:Apstra Common Name (e.g. server FQDN or YOUR name) []:apstra-ztp.apstra.com Email Address []:support@juniper.net Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: root@apstra-ztp:/containers_data/nginx#
- 証明書署名要求 (nginx.csr) を証明機関に送信します。必要な手順は、このドキュメントの範囲外です。CA の命令は実装ごとに異なります。有効なSSL証明書はすべて機能します。次の例は、証明書の自己署名用です。
root@apstra-ztp:/containers_data/nginx# openssl req -x509 -sha256 -days 3650 -key nginx.key -in nginx.csr -out nginx.crt Warning: No -copy_extensions given; ignoring any extensions in the request root@apstra-ztp:/containers_data/nginx#
- SSL 証明書 (秘密キー、公開キー、および CSR) が一致していることを確認します。
root@apstra-ztp:/containers_data/nginx# openssl rsa -noout -modulus -in nginx.key | openssl md5 MD5(stdin)= 9246ee21e992d34ce76c5b40b1ef777d root@apstra-ztp:/containers_data/nginx# openssl req -noout -modulus -in nginx.csr | openssl md5 MD5(stdin)= 9246ee21e992d34ce76c5b40b1ef777d root@apstra-ztp:/containers_data/nginx# openssl x509 -noout -modulus -in nginx.crt | openssl md5 MD5(stdin)= 9246ee21e992d34ce76c5b40b1ef777d root@apstra-ztp:/containers_data/nginx#
- NGINX SSL 構成ファイル /containers_data/nginx/conf.d/ssl.conf を編集し、ssl_certificate とssl_certificate_key新しいキー ファイルと証明書ファイルを指定します。/containers_data/nginx 内のファイルは、NGINX コンテナー内の /data ディレクトリ内のファイルからマップされることに注意してください。
root@apstra-ztp:/containers_data/nginx# nano conf.d/ssl.conf server { listen 443 http2 ssl; listen [::]:443 http2 ssl; ssl_certificate /data/nginx.crt; ssl_certificate_key /data/nginx.key; [snip]
- 新しい証明書をロードするには、nginx コンテナを再起動します。
root@apstra-ztp:/containers_data/nginx# docker restart nginx nginx root@apstra-ztp:/containers_data/nginx#
- 新しい証明書が Web ブラウザーにあり、新しい証明書の共通名が一致することを確認します (例: 'aos-server.apstra.com')。
- 組み込みの openssl コマンドを使用して、新しい OpenSSL 秘密キーを作成します。