Catalyst9800-CLを別環境へ移設した際、既存Configを投入するだけではHTTPS(GUI)/APのJoinができなかったので下記メモを残す。 時間があるときに再度清書する。

Cat9800-CL 保守手順:HTTPS(GUI)/ AP Join(CAPWAP-DTLS)復旧(SSC欠落時)

1. 目的

RMA/移設/構成踏襲後に発生しやすい、以下の障害を CLIのみで復旧する。

  • GUI(HTTPS) に接続できない
  • APがJoinできない(DTLSハンドシェイク失敗)

本手順は特に、9800-CL で見落としがちな vWLC-SSC(SSC)未生成/未割当に起因する障害を想定する。

2. 想定する障害症状

2.1 GUI(HTTPS)が死ぬ症状例

  • ブラウザでGUIへ接続不可

  • クライアントで curl https://<WLC-IP> を実行すると、例:

    • TLS connect error: ... tlsv1 alert internal error

2.2 AP Join が死ぬ症状例(WLC側)

  • show wireless stats ap join summary で以下のような表示:

    • Status: Not Joined
    • Last Failure Phase: Dtls-Handshake
    • Last Disconnect Reason: DTLS cert-chain not available

3. 原因(今回の事象の本質)

RMA/構成踏襲で 設定は残るが、証明書・秘密鍵の実体が新筐体(新VM)に存在しないことがある。

特に 9800-CL の AP Join(CAPWAP-DTLS)では、WMI(Wireless Management Interface)に紐づく DTLS用の証明書チェーン(SSC/MIC) が必要で、これが欠落すると AP が Join できない。

  • show wireless management trustpoint

    • Certificate Info : Not Available
    • Private key Info : Not Available の場合、DTLSハンドシェイクが成立しない。

4. 事前条件・注意事項

4.1 必須

  • GUIが死んでいる前提なので、コンソール / SSH 等でWLC CLIに入れること。
  • 作業中に AP Joinが復旧/不安定化するため、影響時間帯を確保すること。

4.2 9800-CLでの重要ポイント

  • WMI(wireless management interface)が正しく設定され、up/up であること これが崩れていると SSC の生成・割当が意図通りにならないことがある。

4.3 パスワード注意(SSC生成コマンド)

  • wireless config vwlc-ssc ... password 0 <pw><pw>短すぎないこと(目安8文字以上) 短いと「Configuring…」のまま成功状態に遷移しない/割当されないケースがある。
  • 記号先頭など、環境依存で失敗しやすい文字列は避ける。

5. 現状調査(復旧前の確認)

5.1 HTTPSサーバが参照している trustpoint を確認

show ip http server status

見るべき項目:

  • HTTP secure server status: Enabled
  • HTTP secure server trustpoint: <TP名>

5.2 trustpoint 実体(証明書/鍵)があるか

show crypto pki trustpoints
show crypto pki certificates <TP名>
show crypto key mypubkey rsa | begin Key name: <TP名>

5.3 DTLS(AP Join)側:WMI trustpoint の実体有無

show wireless management trustpoint
  • Not Available の場合は DTLS用チェーン/鍵が欠落

5.4 AP Join 失敗理由の確定

show wireless stats ap join summary
  • DTLS cert-chain not available が出ていれば WLC側のDTLS用証明書不足が濃厚。

6. 復旧手順(推奨:SSC生成→WMIへ割当→HTTPS/DTLS復旧)

Step 1) WMI(wireless management interface)が設定されているか確認

show running-config | include ^wireless management interface
show ip interface brief

期待:

  • wireless management interface vlan <番号> が存在
  • 対象 Vlan<番号>up/up で IP が付与されている

もし未設定/誤設定なら、環境の設計に合わせてWMIを正す(例):

conf t
wireless management interface vlan <WMIのVLAN番号>
end

Step 2) vWLC-SSC(SSC)を生成する(9800-CLの盲点ポイント)

EXECモードで実行する(conf t の中ではない)。

wireless config vwlc-ssc key-size 2048 signature-algo sha256 password 0 <8文字以上のパスワード>

実行後、確認:

show crypto pki trustpoints
show wireless management trustpoint

期待する状態:

  • show wireless management trustpointTrustpoint Name が表示される
  • Certificate Info : Available
  • Private key Info : Available

補足:SSC生成により、新しい trustpoint(例:ewlc-default-tp 等)が作成され、WMIに割り当たる実装が一般的。 もし生成された trustpoint 名が分かったら、次の Step 3 で明示的に割り当てる。


Step 3) WMI trustpoint が空のままなら、手動割当を実施

show wireless management trustpoint の Trustpoint Name が空なら、生成された trustpoint を確認して手で割り当てる。

  1. 生成された trustpoint 名を確認
show crypto pki trustpoints
  1. WMIへ割当(trustpoint名は上で見つけたものに置換)
conf t
wireless management trustpoint <SSCで生成されたtrustpoint名>
end
  1. 確認
show wireless management trustpoint

Step 4) HTTPS(GUI)側も同一 trustpoint に揃える(“使い分けしない”方針の場合)

今回方針:HTTPS と DTLS で trustpoint を使い分けない → DTLSで成立している trustpoint を HTTPS にも割り当てるのが確実。

conf t
ip http secure-trustpoint <上でDTLSに割り当たったtrustpoint名>
end
write memory

必要に応じて HTTPS サーバをバウンス(反映用):

conf t
no ip http secure-server
ip http secure-server
end

Step 5) AP Join を再試行させる

WLC側でAPの状態を見つつ、APを再起動(または capwap restart)する。

WLC側確認:

show wireless stats ap join summary

必要ならAP再起動(例):

ap name <AP名> reset

7. 復旧後の確認(合格基準)

7.1 DTLS/AP Join

show wireless management trustpoint
show wireless stats ap join summary

合格基準:

  • show wireless management trustpoint

    • Trustpoint Name が空ではない
    • Certificate/Private key が Available
  • show wireless stats ap join summary

    • Status: Joined になる
    • DTLS cert-chain not available が消える

7.2 HTTPS(GUI)

show ip http server status | include secure|trustpoint

クライアントで(自己署名でも動作確認できるように -k 推奨):

curl -vk https://<WLC-IP>/

合格基準:

  • TLSハンドシェイクが成立し、HTTP応答が返る

8. 失敗時の典型パターンと対処

8.1 wireless config vwlc-ssc 実行後も Trustpoint Name が空のまま

疑う順:

  1. WMI(wireless management interface)が未設定/Down
  2. パスワードが短すぎ/文字列要因で生成が失敗
  3. 生成されているが未割当 → Step 3 の手動割当

確認コマンド:

show running-config | include ^wireless management interface
show ip interface brief
show crypto pki trustpoints
show wireless management trustpoint

9. 作業ログ(テンプレ)

手順書に残すため、作業後に以下を添付する。

show ip http server status
show wireless management trustpoint
show wireless stats ap join summary
show crypto pki trustpoints

実際のログ

TSWC00#
TSWC00#show wireless management trustpoint
Trustpoint Name  : TSWC00_WLC_TP
Certificate Info : Available
Certificate Type : SSC
Certificate Hash : 107a6858350fca0fbdac088c1cb72b2bc1bf1a81
Private key Info : Available
FIPS suitability : Not Applicable

TSWC00#
TSWC00#
TSWC00#show ip http server status
HTTP server status: Enabled
HTTP server port: 80
HTTP server active supplementary listener ports: 21111
HTTP server authentication method: local
HTTP server auth-retry 0 time-window 0
HTTP server digest algorithm: md5
HTTP server access class: 0
HTTP server IPv4 access class: None
HTTP server IPv6 access class: None
HTTP server base path:
HTTP File Upload status: Disabled
HTTP server upload path:
HTTP server help root:
Maximum number of concurrent server connections allowed: 300
Maximum number of secondary server connections allowed: 50
Server idle time-out: 180 seconds
Server life time-out: 180 seconds
Server session idle time-out: 1200 seconds
Maximum number of requests allowed on a connection: 25
Server linger time : 60 seconds
HTTP server active session modules: ALL
HTTP secure server capability: Present
HTTP secure server status: Enabled
HTTP secure server port: 443
HTTP secure server ciphersuite:  rsa-aes-cbc-sha2 rsa-aes-gcm-sha2
        dhe-aes-cbc-sha2 dhe-aes-gcm-sha2 ecdhe-rsa-aes-cbc-sha2
        ecdhe-rsa-aes-gcm-sha2 ecdhe-ecdsa-aes-gcm-sha2 tls13-aes128-gcm-sha256
        tls13-aes256-gcm-sha384 tls13-chacha20-poly1305-sha256
HTTP secure server TLS version:  TLSv1.3 TLSv1.2
HTTP secure server client authentication: Disabled
HTTP secure server PIV authentication: Disabled
HTTP secure server PIV authorization only: Disabled
HTTP secure server trustpoint: TSWC00_WLC_TP
HTTP secure server peer validation trustpoint:
HTTP secure server ECDHE curve: secp256r1
HTTP secure server active session modules: ALL
TSWC00#
TSWC00#
TSWC00#
TSWC00#show wireless management trustpoint
Trustpoint Name  : TSWC00_WLC_TP
Certificate Info : Available
Certificate Type : SSC
Certificate Hash : 107a6858350fca0fbdac088c1cb72b2bc1bf1a81
Private key Info : Available
FIPS suitability : Not Applicable

TSWC00#
TSWC00#
TSWC00#
TSWC00#show wireless stats ap join summary
Number of APs: 2

Base MAC        Ethernet MAC    AP Name                           IP Address                                Status      Last Failure Phase    Last Disconnect Reason
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
00c8.8b1b.82a0  00f2.8b02.426c  HANPEN00                          172.16.2.100                              Joined      Image-Download        Image Download Success
2c4f.52e5.4d60  2c4f.5260.4150  HANPEN01                          172.16.2.200                              Joined      Dtls-Handshake        Heart beat timer expiry

TSWC00#
TSWC00#
TSWC00#
TSWC00#show crypto pki trustpoints
Trustpoint SLA-TrustPoint:
    Subject Name:
    cn=Cisco Licensing Root CA
    o=Cisco
          Serial Number (hex): 01
    Certificate configured.


Trustpoint WLC_CA:
    Subject Name:
    o=Cisco Virtual Wireless LAN Controller
    cn=CA-vWLC_TSWC00
          Serial Number (hex): 01
    Certificate configured.


Trustpoint TSWC00_WLC_TP:
    Subject Name:
    o=Cisco Virtual Wireless LAN Controller
    cn=CA-vWLC_TSWC00
          Serial Number (hex): 01
    Certificate configured.
    SCEP URL: http://172.16.10.20:80/cgi-bin


TSWC00#

10. 今回の教訓(保守観点の要点)

  • RMA/移設で Configだけ踏襲するとPKI資産(証明書/鍵)が欠落することがある。
  • 9800-CL の AP Join 復旧では SSC(vWLC-SSC)生成/割当が盲点になりやすい。
  • Join失敗理由に DTLS cert-chain not available が出たら、WMI trustpoint 実体不足を最優先で疑う。