キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
2778
閲覧回数
10
いいね!
0
コメント
tokyu
Cisco Employee
Cisco Employee

 

 

 

はじめに

Catalyst 9800 シリーズ (Cat9800) は、DNA Center (DNAC) と TLS 通信するために、DNAC からクライアント証明書を発行してもらいます。発行されたクライアント証明書が、Cat9800 では sdn-network-infra-iwan という Trustpoint に保存されます。Trustpoint とは、Cat9800 の証明書チェーンを保存する仕組みです。

このクライアント証明書が期限切れになると、Cat9800 と DNAC の TLS Handshake が失敗し、Telemetry データが収集できなくなり、Cat9800 が Unmonitored 状態になります。

DNAC のバージョン 1.3.3.8 以降は、CSCvu25442 により、クライアント証明書の Automatic Renewal が実装されていますが、それより前のバージョンを使い続けているユーザは、導入 1 年後に証明書の期限が切れるため、手動での更新が必要です。

本ドキュメントは 、手動での Trustpoint sdn-network-infra-iwan クライアント証明書の更新手順をご紹介します。

 

更新の実施時期

前述したように、DNAC 1.3.3.8 より前のバージョンを使っている場合、導入 1 年後に証明書の期限が切れます。期限切れが近くなったら、Cat9800 では下記のように、Warning メッセージが出力されます。Auto-Renewal が 'Not Enabled' となっているのは、手動での証明書更新が必要であることを示しています。

Feb  8 2021 14:24:36.869 UTC: %PKI-4-CERT_EXPIRY_WARNING: ID Certificate belonging to trustpoint sdn-network-infra-iwan will expire in 59 Days 23 hours 57 mins 34 secs at 2021-04-09T23:22:10Z.
<省略>
                      Auto-Renewal : Not Enabled

証明書の期限が切れると、下記の Cat9800 のコマンドで Telemetry のための TLS 接続が失敗していることを確認できます。State が Active にならず、Connecting のままになっているのは分かります。

Catalyst9800# show telemetry internal connection
Telemetry connection

Peer Address Port VRF Source Address Transport State Profile
--------------- ----- --- --------------- ---------- ------------- -------------
x.x.x.x 25103 0 x.x.x.x tls-native Connecting sdn-network-infra-iwan

上記のいずれかが確認されたら、証明書の更新を実施するようにして下さい。 

  

事前準備

証明書更新の際に、Cat9800 と DNAC 間で NTP が同期していることが必須です。下記のコマンドで NTP の状態を確認しておいて下さい。

Cat9800: 

show ntp associations detail
show ntp status

 DNAC:

ntpq -c rv
ntpq -pn

  

期限切れクライアント証明書の削除

DNAC 側で API Tester (Swagger) を使って証明書を削除:

  1. ブラウザから Cisco DNA Center にログイン後、別のタブで https://{{DNA_CENTER_IP}}/dna/apitester を開く

  2. Available APIs より PKI Broker Service を選択し、"pki-broker" をクリックする

  3. GET /trust-point を展開し、"Try it out!" をクリックするpki-broker-1.png

  4. RESPONSE BODY に Trustpoint ID が表示されるのでその値を確認するpki-broker-2.png

  5. DELETE /trust-point/{trustPointId} を展開し、[4] で取得した Trustpoint ID を入力して "Try it out!" をクリックするpki-broker-3.png

  6. 再度 [3] の GET /trust-point にて "Try it out!" をクリックし、上記 Trustpoint ID を含むデータが削除されていることを確認する

 

Cat9800 側にて現行の Trustpoint sdn-network-infra-iwan を削除:

  7. "show crypto pki trustpoints sdn-network-infra-iwan" コマンドで Trustpoint sdn-network-infra-iwan が削除されたかを確認する (基本的には上記 DELETE で DNAC が Trustpoint: sdn-network-infra-iwan を削除する)

  8. もし、[7] で出力がある場合は、下記のコマンドで Trustpoint を削除する

conf t
no crypto pki trustpoint sdn-network-infra-iwan

実行例
------
tky-dna2-ewlc(config)#no crypto pki trustpoint sdn-network-infra-iwan
% Removing an enrolled trustpoint will destroy all certificates
received from the related Certificate Authority.

Are you sure you want to do this? [yes/no]: yes
% Be sure to ask the CA administrator to revoke your certificates.
------

 

DNAC 側で新規の Trustpoint を作成

  9. [1] の API Tester ページにて POST /trust-point を展開し、PARAMETERS > pkiTrustPointInput に以下のような JSON を入力して “Try it out!” をクリックする。

{
"serialNumber": "98Z0OMN64FS",
"entityName": "tky-dna2-ewlc",
"controllerIpAddress": "192.168.1.20",
"platformId": "C9800-CL-K9",
"trustProfileName": "sdn-network-infra-iwan"
}

'serialNumber'、'entityName'、'platformID' はそれぞれ Cat9800 のシリアル番号、ホスト名、型番を表しており、'show inventory' などで確認できます。'controllerIpAddress' は DNAC の IP アドレスです。pki-broker-4.png

  10. [3] の GET /trust-point にて "Try it out!" をクリックし、新しい Trustpoint ID を確認する

  11. GET /trust-point/{trustPointId}/config を展開し、trustPointId 欄に新しい Trustpoint ID を入力して "Try it out!" をクリックするpki-broker-5.png

  12. Cat9800 側で実行すべきコマンドが表示されるpki-broker-6.png

 

Cat9800 にてクライアント証明書をインポート

Cat9800 で以下のコマンドを実行:

conf t
crypto pki trustpoint sdn-network-infra-iwan
enrollment mode ra
enrollment terminal
usage ssl-client
revocation-check crl none
exit

上記「12」で表示される crypto pki import コマンドを実行

実行例
------
tky-dna2-ewlc(config)#crypto pki import sdn-network-infra-iwan pkcs12 http://192.168.1.20:80/api/v1/trust-point/pkcs12/f25466d6-2f6c-40e7-94eb-d6ecdf216fab/3hdb5nq67ou4bkfl9u9f3lr1mh password hbtkbn210drikuobs56qt26uh1
% Importing pkcs12...
Address or name of remote host [192.168.1.20]?
Source filename [api/v1/trust-point/pkcs12/f25466d6-2f6c-40e7-94eb-d6ecdf216fab/3hdb5nq67ou4bkfl9u9f3lr1mh]?
Reading file from http://192.168.1.20:80/api/v1/trust-point/pkcs12/f25466d6-2f6c-40e7-94eb-d6ecdf216fab/3hdb5nq67ou4bkfl9u9f3lr1mh
Loading http://192.168.1.20:80/api/v1/trust-point/pkcs12/f25466d6-2f6c-40e7-94eb-d6ecdf216fab/3hdb5nq67ou4bkfl9u9f3lr1mh
CRYPTO_PKI: Imported PKCS12 file successfully.
------

end
write memory

show crypto pki trustpoints sdn-network-infra-iwan
show crypto pki certificates sdn-network-infra-iwan

show telemetry internal connection
(Status = Active であることを確認)

  

DNAC にて Resync を実行

DNAC GUI にて下記の実行:

  14. PROVISION > Devices > Inventory ページにて Cat9800 を選択し、Actions > Inventory > Resync Device

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします