スマホから自宅の OpenVPN サーバーを経由して “みまもりカメラ” をみる。


今回は、スマホから自宅ネットワーク内のVPNサーバーに接続して、そこから内部ネットワークのすべてのトラフィックにアクセスできるようにします。

最終的な目標は、外出先からスマホで”みまもりカメラ”を見られるようにすることです。

手順は、前回にやった外部ネットワークからVPNサーバーへ接続する方法の続きになります。

準備

スマホに OpenVPN Connect アプリをインストール

今回はandroidスマホからの接続となります。

Androidスマホでは「システム設定」で OpenVPN の選択項目がないと思うので、OpenVPN アプリを入れることになります。

こちらの OpenVPN Connect は全部が英語表記となっていますが、設定は簡単なので普通に使えると思います。

試しに無料で使える 筑波大学VPN Gate サーバーへつなげてみました。

まずは、筑波大学VPN Gateのwebサイトへアクセスして、設定ファイルをダウンロードします。

openvpn設定ファイルをクリックします。

次にDDNSホスト名が埋め込まれている.ovpnファイルをダウンロードします。(IPアドレスが埋め込まれた.ovpnファイルは主に海外用です。)

.ovpnファイルをダウンロードしたら、openvpnアプリを開いて指示に従い .ovpnファイル を開きます。詳細については OpenVPN Connect の設定手順をお調べ下さい。

これだけでvpn接続はできますが、それを自宅のvpnサーバから接続することを目指します。

クライアント用のopenvpn設定ファイル(client.ovpn)作成

スマホクライアント用の設定ファイル (client.ovpn) は、現在使っている設定ファイル (claient.conf) と各証明書類(ca.crt, client.crt, ta.key, client.key) を元に作成します。

まずは設定ファイル (client.ovpn) を作成するためのシェルスクリプトファイル (mkovpn.sh) を作りますので、現在使用中の証明書類が存在するディレクトリへ移動します。

~/openvpn/client$ vi mkovpn.sh

内容は適当に次のようにしました。

#!/bin/bash

cat client.conf

echo '<ca>'
cat ca.crt
echo '</ca>'

echo '<key>'
cat client.key
echo '</key>'

echo '<cert>'
cat client.crt
echo '</cert>'

echo '<tls-auth>'
cat ta.key
echo '</tls-auth>'

次にコマンドを実行し、出力された内容をclient.ovpnファイルへリダイレクトします。

~/openvpn/client$ sh mkovpn.sh > client.ovpn

このまま client.ovpn をスマホへダウンロードして、アプリへインポートした場合は、おそらくエラーが出るので次の項目を編集します。

~/openvpn/client$ vi client.ovpn 
(またはダウンロード先のテキストエディタで編集)
#コメントアウトまたは削除する項目
;ca ca.crt
;cert client.crt
;key client.key
;tls-auth ta.key 1

#追加する項目(tls-authの代わり)
key-direction 1

完成した client.ovpn ファイルは、OpenVPN Connect アプリへインポートします。

スマホアプリからのVPNサーバーへ接続

自宅の OpenVPN サーバーが稼働状態であることを確認したら、スマホのOpenVPN Connect アプリへ先程ダウンロードした client.ovpn ファイルをインポートします。

手順はアプリの指示に従って下さい。

スマホアプリの接続が確認できたら、webブラウザからraspi”みまもりカメラ”サーバーの内部ネットワークアドレス(192.168.0.108:8080など) へアクセスして映像を確認します。

映像が確認できたら完成です。

まとめ

今回は主にスマホアプリのOpenVPNクライアント設定方法についてやってきました。

かなり簡単な説明で申し訳ありませんが、分かりにくいところなどは”ご意見・お問い合わせ”のコメントにて対応させていただきたいと思います。

また、シェルスクリプトで client.ovpnファイル を作成してますが、ca.crtなど証明書部分をコメントアウト(削除)する処理などを加えたほうがもっと楽になると思いますので、機会があったらやろうと思います。

, ,

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)