またやらかすかもしれない未来の自分への手紙的なメモ
シスコのルーターRV320には自己署名の証明書を作成してそれを設定してしまうと、GUIアクセスのためのNGINXが”502 Bad Gateway”を表示してルーターの設定等が一切できなくなってしまうという致命的なバグがある。RV320だけでなく他の機種にもあるみたい。
GUIのNGINXがファームのアップで新しくなったのに自己証明書の仕様がサポート外の古いままで立ち上がれなくなってしまうのが原因みたい。
「rv320 502 bad gateway」とかでぐぐって真っ先に出てくるサイトを見るとみんな困っているみたい。
RV325 BAD CERRIFICAT no acces to 192.168.1.1 impossible complet restor usine. Certificat persistant
ルーター自身は設定が変更できないだけでルーターとしての動作は継続してるのでたちまち問題にはならないが設定確認や変更ができないのは非常にまずい。
この状態から工場出荷時の設定に戻そうにもGUIからそのメニューにアクセスしないとできないので詰んでしまう。
上記のサイトでもシスコに送り返して初期化してもらってる人とか、ゴミ箱行きにしてる人とかいてかなり致命的なバグ。
さっきのサイトで参考になるポルトガル語の投稿を見みつけて、やって成功みたら何とか直せた。
その手順は以下のとおり。ちなみに現在の設定内容は全部消えてしまうので念の為。
1. ルーターを初期化する
電源が入っている状態でフロントパネルのRESETボタンを紙クリップの先などで10秒くらい長押しすれば初期状態にできる。
この状態では設定がリセットされてルーターのIPアドレスは192.168.1.1になるが、自己証明書はそのまま残っているのでGUIはまだ使えない。
2. TFTPで一旦古いファームで上書きする。
まずTFTPを使えるようにしておくこと。
Windows10で「コンパネ」→「プログラムと機能」→「Windows の機能の有効化または無効化」→「TFTP クライアント」で有効化すればコマンドプロンプトでTFTPが使えるようになる。
あるいは、下記のようなTFTPソフトをインストールして使う手もある。私はこれを使った。
https://tftp.en.uptodown.com/windows
次に、作業用PCのIPアドレスを 192.168.1.100 の固定IPアドレスに設定してルーターのLAN#1に直接LANケーブルで接続する。
古いファームはここから取ってくる。私は1.2.1.14を使ってうまくいった。
Release 1.2.1.14
https://software.cisco.com/download/home/284005929/type/282465789/release/1.2.1.14
そして、ルーターを電源オフの状態から電源を入れてすぐにRESETボタンを長押しし、DIAG状態にする。赤いDIAGランプが点灯する。
その状態のままで作業用PCから上書きしたいファームの.binファイルをTFTPでルーターに送る。
Windows10のTFTPだとこんな感じ。
tftp -i 192.168.1.1 put c:\cisco\RV320_1.2.x.x.x.x.bin
送るのが成功したらルーターはアップデートを行い勝手にリブートするので待つ。
これでやっとGUIが使えるようになる。
初期ユーザー名とパスワードは共に cisco 。
最初にパスワード変えろと出るのでとりあえず適当に変える。
3. ルーターを工場出荷状態に証明書も含めて全部戻す。
古いファームにしてGUIが使えるようになったが、原因の自己証明書を消してしまわないとファームをアップするとまた502になってしまうので、証明書を削除する必要がある。
方法は、GUIのFactory Defaultで工場出荷状態にするのだが、その時に「Factory Default Including Certificates.」の方を選んで証明書も消去する。
この結果、工場出荷状態になるので、ユーザー名とパスワードがまた cisco の初期状態になる。
また改めてパスワード変えろと出るので今度は本気で変える。
4. ルーターのファームを最新状態にする。
GUIの「Firmware Upgrade」からアップグレードする。
Release 1.5.1.13
https://software.cisco.com/download/home/284005929/type/282465789/release/1.5.1.13
以上