はじめに
タイトルのとおりであるが、普通に8.5から8.8にアップデートしようとしたらいろいろ詰まったので、解決した話。
なお今回は、スクショ等は一切ない。頑張って解読しましょう。
アップデートの手法
APの管理画面に入ると、管理タブの中に、ソフトウェアアップデートの項目が存在する。
ソフトウェアアップデートではその方式を、HTTP、TFTP、Cisco.comの中から選択できる。Cisco.comはよくわからなかったので(笑)今回は最初の2つのどちらかを使おうとした。
HTTP
HTTPは、要するにHTTP通信を使ってローカルにあるソフトウェアアップデートのイメージファイルをAPに直接送りつけてしまおう!という話である。
実際にバージョンが8.5のときに、事前に入手した8.8のイメージファイルを指定してアップロードしてみた。上部のあたりにアップロードの進捗が%単位で表示してくれる仕組みになっていたが、順調にアップロードして100%になった!と思ったところで突然のTransfer failed!と出てきてしまった。
よくわからないので、とりあえずHTTPでの伝送を諦めてTFTPでやってみることにした。
※ちなみにイメージファイルのバージョンは、2800シリーズの場合はap3g3を指定しましょう。
TFTP
そもそもTFTPってなんぞや!と思いつつTFTPに関してまずは調査してみた。
簡潔にいうとFTPの仲間で、Trivial File Transfer Protocolの略らしい。FTPとの違いは、FTPはファイル転送にTCPを使っているが、TFTPはUDPを使用していること、またFTPはパスワードなどの認証があるが、TFTPはパスワード認証などはなく、IPアドレスとパスを指定するだけでダウンロードできてしまうことである。ちなみにTFTPはUDPを使うということだが、信頼性に関してはアプリケーション層で担保しているらしい。
詳しくは以下のリンクにまとまっている。RFCも合わせて貼り付ける。
www.infraexpert.com
RFC 1350 - The TFTP Protocol (Revision 2)
サーバのセットアップ
APと同じセグメント内に、自分で頑張ってTFTPサーバを用意する。今回はサーバをラズパイと仮定し、IPアドレスは192.168.0.1
とする。
TFTPのセットアップに関しては、debian系であれば、$ sudo apt install tftp
とかでぱぱっと入る。
TFTPサーバのマウントされるディレクトリは、/srv/tftp/
以下となる。なので、今回はこの中にアップデートされるイメージファイルを設置するためのディレクトリを掘る。
明示的にわかり易い名前にするため、今回はこの中に8.8
というディレクトリを作成した。
ディレクトリの中には、先ほど紹介した、ap3g3
のイメージファイルと、おそらくap3g3を入手したときにセットでついてくるであろう、version.info
を配置する。APのセットアップ
先程のHTTPのアップデートと同様に、HTTPではなく、TFTPを選択する。
TFTPを選択したら、IPアドレスにラズパイのIPアドレスである192.168.0.1
を、パスには8.8
と入力する。パスに関しては、サーバ内の/srv/tftp/
をルートとしてクライアントには見えるため、/srv/tftp/
を起点とした相対パスを入力することとなっている。
これらを設定したら、自動再起動にチェックを入れて、適用(保存)、更新をクリックする。
再起動が終了したら、順調に行けばアップデートは完了しているはずだった。
Image signing verification failure(-2)
シリアルケーブルをAPに接続して、起動ログを眺めていたら、次のような一文が現れた。
Image signing verification failure(-2)
ググってもほとんど対処法が出てこない。ワロッタ。
なんかの理由でap3g3のイメージファイルの署名が検証できていならしい。
手順は間違ってないはずだから、他の方法を考えることにした。
バージョン8.6を経由する
www.cisco.com
この辺を見てたら、次の一文があった。
一部のインスタンスでは、コントローラを中間リリースにアップグレードしてから最新のソフトウェア リリースにアップグレードする必要があります。
コントローラではないが、直接8.8ではなく、間のバージョンを経由することにする。
ということで、先程の8.8をTFTPでアップデートしようとした手順を真似して、8.5を8.6にアップデートしてみた。
※先程のやり方で、適宜8.8を8.6に読み替えてください。イメージファイルは頑張って探してきてください。
これは無事にできてしまった。
8.6->8.8をアップデートする
これも同様にやったらぱぱっとできてしまった。
まとめ
8.5->8.8のアップデートは直接できない(署名の検証に失敗する)
8.5から8.8にアップデートする際は、最初に8.5を8.6にアップデートし、その後8.8にしましょう。
参考にしたサイト
community.cisco.com ワイヤレス LAN コントローラ(WLC)のソフトウェア アップグレード - Cisco