Posted in Gadgets Software ひとりごと

ラズパイをトラベルルーター化計画(その3)

12月頃から取り組んでいたラズパイをトラベルルーター化するプロジェクト。その1で基本的なルーター機能を有効化して、その2では USB 外付けの WiFi アダプタも使えるようにしました。続いては、SoftEtherVPN の機能を組み込んで、自宅のラズパイまで VPN 接続できるようにすることです。

自宅にあるラズパイ3に組み込んだ SoftEtherVPN のサーバー機能に、VPN Azure Cloud を経由して外部から VPN 接続するというのが我が家のスタイル。これは家鯖までの接続情報(IP 固定化してないとか、名前解決とか)に苦労して、結局は一旦外部の無料サービス(VPN Azure Cloud)を使うことにした経緯があります。

今まで使っていたトラベルルーターである MANGO にも、ストレージ拡張して SoftEtherVPN の Client をインストールして VPN 接続できるようにしていました。で、コレが MANGO の非力っぷりで不安定なのでラズパイに乗り換えというのが今回のプロジェクトの発端。

Desktop 版のラズパイ OS で、SoftEtherVPN の Client 機能を有効にする方法は、個人的には2つの方法を思いつきました。1つは、MANGO 同様に公式の SoftEtherVPN Client をインストールして、vpncmd を使って VPN 接続を有効化すること。もう一つは、SSTP の Client 機能を NetworkManager に組み込むこと。とりあえず、両方試してみることにします。

まずは王道な SoftEtherVPN Client のインストール。コチラから「SoftEther VPN Client」「Linux」「ARM 64bit (64bit)」を選択して出てくる tar.gz ファイルをダウンロード。ワタシの場合は Ver 4.43 が最新でした。 コレを展開して中にある Makefile に従ってインストールを実施。「sudo ./vpnclient start」 で設定開始し、vpncmd で localhost に接続。NicCreate と AccountCreate、AccountPassword、AccountConnect を実施するのは MANGO の時と同様でした。AccountConnect コマンドで接続したら・・・無事に VPN 接続できました。

色々と設定すれば電源 ON で自動で VPN 接続を有効化することも可能ですが、Captive Portal を経由するような場合は、一旦 VPN 無しで WAN 側に接続しないとダメという理由で、自動で有効化しないことにしました。ラズパイ起動するたびにシェル開いて vpncmd 使うのは、若干メンドクサイ・・・ということで、GUI で VPN 接続の有効化・無効化ができるよう、2つ目の手段、SSTP Client を NetworkManager に組み込みにトライ。Android 端末から家の VPN サーバーにアクセスする際は、Open SSTP Client というアプリを使って VPN 接続しているので、簡単な設定で接続できるんじゃないかと期待です。

まずは 「sudo apt install network-manager-sstp」と打って、必要なパッケージをインストール。

インストールできたら、NetworkManager のアイコンから VPN 接続を追加するトコロに、SSTP の選択肢が増えましたので、コレを設定していきます。

ゲートウェイに VPN Azure Cloud の接続先を設定し、家の VPN サーバーに設定してあるアカウントを登録。これでデスクトップ右上にある NetworkManager のアイコンから、VPN を有効化すると・・・

おお、無事に VPN 接続できちゃいました。サーバ側をチェックしても、ちゃんと接続されていることが確認できましたし、コレなら有効化・無効化も楽にできますな♪

しかし・・・VPN 有効化した状態で、速度チェックとか重たい(?)処理をしかけると、VPN 接続がエラーになって途切れてしまうことがありました。自宅内だからダメなのか・・・ラズパイ上の SSTP の問題なのか・・・まぁ、とりあえずは環境は整ったので、あとは実戦投入。というわけで、次回は金沢で使った感じをレポートです。