vpnの不調をadbで調査

先日フレッツ光のHGWであるPR-500MIのvpnが切れる
と書きましたが、それだけでは技術者っぽくないので
ちょっと調べてみました。
とはいえHGW側ではその手のログが出ていないようなので
クライアントとなるalcatel IDOL3で何とかします。
Androidなのでadbでログを吐き出させます。

ちなみにadbはAndorid端末を接続したPCで動作させて
コマンドラインでいろいろできるツールで、
利用するにはいろいろと前準備が必要ですが、
今回はPCにadbをインストールするところを中心に触れます。

最近のUbuntuなんかだとadbは

# apt-get install android-tools-adb

あるいは

# apt-get install adb

でお手軽にインストールできます。
Bash on Windowsでもインストールはできますが、
今のところUSB接続したAndroidは認識してくれないようです。
WindowsやmacOSだとAndroid Studioをインストールして
SDKをダウンロードし、adbへパスを通す必要があります。
具体的にはWindowsやmacOSのウェブブラウザで
Android Studioのページを開き、Windowsならexeファイル、
macOSならdmgファイルをダウンロードしてインストールし、
Setup Wizardを進めます。
作業終了後、macOSならターミナルにて

$ echo 'export PATH=$PATH:~/Library/Android/sdk/platform-tools' >> ~/.bash_profile

を実行しておけば、
次にターミナルを開いときにはadbが使えるようになっています。
WIndowsだと[設定]アプリケーションを開いて
[設定の検索]ボックスで”環境変数を編集”を検索して実行し、
[個別のユーザー環境変数]リストの”Path”を選択して[編集]をクリック、
[新規]ボタンをクリックして
“%USERPROFILE%\AppData\Local\Android\Sdk\platform-tools”
を追加すれば完了です。
Cortanaで”cmd”と入力してコマンドプロンプトを起動すれば
“adb”で実行できますし、
Bash on Windowsでも”adb.exe”で実行できます。
“.exe”も必要なところがミソです。

さて、実際にvpn接続時のログを取ってみます。

$ adb devices

でAndroid端末がadbに認識されているのを確認後、

$ adb logcat -c

でそれまでたまっているログを一旦削除して、
端末でvpn接続操作を行い接続完了、
または失敗するまで待って

$ adb logcat

を実行すると画面にログが表示され続けます。

$ adb logcat > log.txt
[Ctrl]+[c]

とすればログがファイル”log.txt”に保存されるので
それをテキストエディタで開いた方が見やすいでしょう。

で、vpn接続成功時と失敗時のログを比べてみると…

racoon  : IPsec-SA request for <HGWのIPアドレス> queued due to no phase1 found.
racoon  : initiate new phase 1 negotiation: <AndroidのIPアドレス>[500]<=><HGWのIPアドレス>[500]
racoon  : begin Identity Protection mode.

の後に、成功時は

racoon  : received Vendor ID: CISCO-UNITY
racoon  : received Vendor ID: draft-ietf-ipsra-isakmp-xauth-06.txt
racoon  : received Vendor ID: DPD
racoon  : received Vendor ID: RFC 3947
racoon  : Selected NAT-T version: RFC 3947

となるのに、失敗時は

racoon  : phase1 negotiation failed due to time up. <数字>:<数字>
racoon  : Bye

となっています。
IPsecのフェーズ1でHGWから返事が来なくてエラーで落ちてるんですね。
いろいろと状況を鑑みると、
どうもHGWのvpnサーバがおかしくなっている可能性が高そうです。
接続に失敗していてもそのまま放置していれば繋がるようになったりしますし、
この不安定さ何とかならないものでしょうかね。
HGWを再起動してしまうのが早そうですが。

広告