ある日突然、 Cisco 3702 Lightweight APが Cisco 2504 WLC コントローラから離脱してしまい、再起動させても復帰しない事態に。LWAP自身の起動には問題無く、原因は内蔵する 証明書 が 期限切れのため、コントローラから接続拒否されたものでした。
ある日突然停波するLightWeight AP
より高速な11acの社内導入を目的として数年前に設置したCisco CT2504 WLC コントローラと、Cisco Aeronet CAP3702 Lightweight AP。時代は代わり、社内設備は既にWiFi6対応のFortinet製品へ移行しつつありますが、それでもまだ数基が現役稼働中です。
そんな中、突然WLCコントローラから離脱し、WiFiを停波してしまったLWAPが2基、現場から取り外され自席へ持ち込まれました。
せっかく持ち込まれたのですがLightweight APそのものに問題はなく、正常に起動するもWiFi Radio がDOWNしたままの状態にあることが、コンソール越しに確認することができたことから、LWAPはネットワーク上に戻してのトラブルシューティングに臨みます。
ヒントはLWAPではなくWLCコントローラに
それではなぜコントローラに登録されないのか、LWAPの基本的なネットワーク設定に問題は無いことをコンソール越しに確認した後、次の要領でコントローラの管理ログを開くと、
「MANAGEMENT」→「Logs」→「Message Logs」
今回コントローラから抜けてしまった2つのLWAPに対する以下のような大量のエラーメッセージを見つけました。
1 2 3 4 5 6 |
*osapiBsnTimer: Jan 04 09:39:54.158: %DTLS-3-HANDSHAKE_FAILURE: openssl_dtls.c:3224 Failed to complete DTLS handshake with peer 192.168.31.204 *osapiBsnTimer: Jan 04 09:39:44.158: %DTLS-3-HANDSHAKE_FAILURE: openssl_dtls.c:3224 Failed to complete DTLS handshake with peer 192.168.30.202 *osapiBsnTimer: Jan 04 09:36:19.358: %DTLS-3-HANDSHAKE_FAILURE: openssl_dtls.c:3224 Failed to complete DTLS handshake with peer 192.168.31.204 *osapiBsnTimer: Jan 04 09:35:59.030: %DTLS-3-HANDSHAKE_FAILURある日突然、Cisco 3702 Lightweight APがCisco 2504コントローラから離脱してしまい、再起動させても復帰しない事態に。LWAP自身の起動には問題無く、原因は内蔵する証明書の期限が切れたため、コントローラから接続拒否されたものでした。E: openssl_dtls.c:3224 Failed to complete DTLS handshake with peer 192.168.30.202 *osapiBsnTimer: Jan 04 09:32:54.222: %DTLS-3-HANDSHAKE_FAILURE: openssl_dtls.c:3224 Failed to complete DTLS handshake with peer 192.168.31.204 *osapiBsnTimer: Jan 04 09:32:14.002: %DTLS-3-HANDSHAKE_FAILURE: openssl_dtls.c:3224 Failed to complete DTLS handshake with peer 192.168.30.202 |
エラーメッセージから調べてみると、こちらの記事の他、Ciscoからもこうした障害に対するガイドが公開されています。
要するに、LWAP内の証明書(MIC:Manufactured Installed Certificate)が10年の期限を過ぎたため、WLCコントローラから認めてもらえないというもの。実は同じ機種でもまだWLCコントローラの管理下で正常運用出来ているLWAPもあるのですが、これはロット違いでまだ期日に達していないということでしょうか。
対処1.証明書期限チェック無効化
WLCコントローラのコンソール上で、次のコマンドを発行すると証明書の期限切れを無視するようになり、そのまま数分待つとLWAPがコントローラの管理下へ復帰します。
1 2 3 4 5 6 |
(Cisco Controller) >config ap cert-expiry-ignore mic enable (Cisco Controller) >config ap cert-expiry-ignore ssc enable (Cisco Controller) >config ap dtls-cipher-suite RSA-AES128-SHA DTLS Cipher is already configured (Cisco Controller) >config ap dtls-wlc-mic sha2 DTLS MIC is already configured |
なお、コマンドを発行しても戻り値が無いので不安になりますが、もう一度発行するとこのように「それはすでに設定済み」と返されるので問題ありません。
1 2 3 4 |
(Cisco Controller) >config ap cert-expiry-ignore mic enable Expire MIC Mode allow is already configured. (Cisco Controller) >config ap cert-expiry-ignore ssc enable Expire SSC Mode allow is already configured. |
対処2.LWAPのMACアドレスをWLCへ登録
上記により1基はWLCコントローラの管理下へ復帰したものの、残るもう1基はいくら待てども、再起動させても孤立したままなので、こちらの記事を参考にしながら、LWAPのMACアドレスをWLCコントローラへ登録してみます。
ここで必要になるLWAPのMACアドレスとは、コンソール上で機器基本情報を確認する show version コマンドで得られる「Base ethernet MAC Address」か、BVIインターフェイス設定内に記述されている「mac-address」です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
AP4>sh ver Cisco IOS Software, C3700 Software (AP3G2-K9W8-M), Version 15.3(3)JF8, RELEASE SOFTWARE (fc1) -略- 32K bytes of flash-simulated non-volatile configuration memory. Base ethernet MAC Address: ##:##:##:##:##:## Part Number : 73-15243-01 PCB Serial Number : ########## Top Assembly Part Number : 068-05054-03 Top Assembly Serial Number : ########## Top Revision Number : A0 Product/Model Number : AIR-CAP3702I-N-K9 AP4>enable Password: AP4#term len 0 AP4#sh run Building configuration... Current configuration : 23891 bytes ! version 15.3 -略- interface BVI1 mac-address ####.####.#### ip address 192.168.###.### 255.255.255.0 no ip route-cache ipv6 address dhcp ipv6 address autoconfig ipv6 enable ! |
こうしてLWAPのMACアドレスを得たら、ブラウザからWLCコントローラのWebGUIを開いて次の要領で進みます。
「SECURITY」→「AAA」→「AP Policies」
ページ右上の「ADD」ボタン押下すると出てくるテキストボックスへ先ほどのMACアドレスを入力したら、「ADD」を押して信頼されたAPリストへ追加します。
登録後、数分するとこのLWAPも無事にWLCコントローラの管理下へ復帰していました。せっかくなので、証明書の期日がまだ到達していない残りのLWAPも、そのMACアドレスをここへ全て登録しておきました。
余談:Lightweight APをコンソールから再起動するには
トラブルシューティングの過程でコンソールからLightweight APを再起動させたいことがあったのですが、Cisco機器ではお馴染みのreloadコマンドを発行すると次のようにエラーになります。
1 2 3 |
#reload ^ % Invalid input detected at '^' marker. |
コマンド一覧にもreloadは見当たりません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#? Exec commands: <1-99> Session number to resume access-enable Create a temporary Access-List entry access-profile Apply user-profile to interface access-template Create a temporary Access-List entry capwap capwap exec commands cd Change current directory cts Cisco Trusted Security Exec Commands debug Debugging functions (see also 'undebug') dir List files on a filesystem disable Turn off privileged commands do-exec Mode-independent "do-exec" prefix support dot1x IEEE 802.1X Exec Commands eap EAP Exec Commands enable Turn on privileged commands exit Exit from the EXEC help Description of the interactive help system if-mgr IF-MGR operations ip Exec commands for IP features led LED functions lock Lock the terminal logging Handles logging operations login Log in as a particular user logout Exit from the EXEC lwapconfig OfficeExtend AP configurations lwapp lwapp exec commands monitor Monitoring different system events more Display the contents of a file name-connection Name an existing network connection no Disable debugging functions ping Send echo messages pwd Display current working directory routing-context Routing Context send Send a message to other tty lines show Show running system information systat Display information about terminal lines terminal Set terminal line parameters traceroute Trace route to destination undebug Disable debugging functions (see also 'debug') verify Verify a file where List active connections |
こちらのユーザフォーラムによると、事前にデバッグモードのようなものを有効にしておく必要があるのだそう。
1 2 3 4 5 6 7 8 9 10 |
#debug capwap console cli This command is meant only for debugging/troubleshooting Any configuration change may result in different behavior from centralized configuration. CAPWAP console CLI allow/disallow debugging is on #reload System configuration has been modified. Save? [yes/no]: yes Proceed with reload? [confirm]Connection to 192.168.30.202 closed by remote host. Connection to 192.168.30.202 closed. |
参考文献
記事投稿ありがとうございます。ウチのCT2504でも全く同じ症状が発生し、エラーメッセージでググったところこちらのページに辿り着き、無事解決することができました。EoL製品のためTACにも相談できず、最悪捨てることも覚悟しましたが、おかげさまでまだまだ戦えそうです。
コメント有り難うございますっ
周回遅れのマイナー機種が、弊社以外でもまだ現役であることに勇気づけられました〜