概要
自宅に設置しているウェブカメラを外で見たいと思ったことありませんか?「みてるちゃん」や「360eyes Wifi IP CAMERA」など、自宅のWifiに接続するカメラが外出先で見ることができますので、家族、ペット、防犯に役立てることができます。できる限り安く簡単にその方法を実現したいと思います。

ラズパイで外出先からWebカメラをみる
必要な物
- • 自宅のネット環境(Wifi 2.4GHzあればOK)
- • Webカメラ(Wifi接続のもの)
- • ラズパイ(Raspberry Pi)
接続の方法として、インターネットVPN(Virtual Private Network)接続という方法で、外部から内部へアクセスします。(セキュリティ的には普通)通常、VPNの設定は専門業者に頼むことによってある程度の費用がかかりますが、今回はラズパイ1個(¥2,000程度)用意し、そのラズパイに無料のソフトウェアをインストールするだけなので、高コスパです。構成から、カメラの表示までみてきましょう。
ネットワーク構成図

ネットワーク構成図
ネットワーク(外部)からネットワーク(内部・自宅)へ繋ぐためのネットワーク構成図になります。
例えば、外出先でスマホの4G回線から、自宅のネットワークのWebカメラへのアクセスとなります。
まず、自宅のネットワークのルーターを介してラズパイに接続を試みます。ルーターには契約しているプロバイダから、グローバルIPアドレスが割り振られています。(私の場合はNURO光を契約しています)
グローバルIPアドレスは固定ではない契約なので、DDNSサービスである「No-IP」を利用します。このサービスは、ドメイン名でIPアドレスを解決してくれるので、IPアドレスが固定じゃなくてもドメイン名で自宅ルーターにアクセス可能になります。
ただし、IPアドレスが変わったことを「No-IP」に知らせる必要がありますので、ラズパイに「DDclient」をインストールします(後述)。
ラズパイには、VPNの機能である「WireGuard」をインストールします。これにより、VPNの仮想ネットワークが構築されていますので、スマホがそのネットワークに加わるという感じです。
ざっくりこのような構成になります
ラズパイにインストールするもの

インストールするもの
それではラズパイにインストールするものをみていきます。
まず、「WireGuard」ですが、VPN接続するためには必須です。インストールは少し待ってください。
つぎに、「PiVPN」です。直接の機能的には不要ですが、先の「WireGuard」を簡単に設定するために最初にインストールします。
さいごに、「DDclient」をインストールします。こちらは、先のIPアドレスが変更された時に「No-IP」に通知するためにインストールします。
ルーターの設定

ルーター設定
自宅のルーターにポートフォワーディング設定を行います。
私の場合は、NURO光の「FG4023B」を使用していますので、以下の設定を行います。[インターネット]-[ポートフォワーディング]
その際、ラズパイのプライベートIPアドレスを指定しますが、IPは事前に固定してください。(固定の仕方は他の記事を参考にされてください)

設定画面1

設定画面2
ラズパイの設定
PiVPNをインストール
ラズパイはOSをインストールしてインターネットに接続できる状態にしてください。 (いつか記事をまとめますが、他の方のサイトをご参考ください(˘ω˘))
PiVPNをインストールします。
curl -L https://install.pivpn.io | bashVPNにアクセスする端末で使用しますためのWireGuardの設定を作成します
pivpn add 手順通りに進めた後、/home/pi/configs/任意の名前.confが作成されます。こちらは後でスマホに転送します
WireGuardをインストール
上記のみだと、WireGuardが起動しない可能性があるため、インストールします。
sudo apt install wireguardWireGuardの設定ファイルを編集します。
sudo nano /etc/wireguard/wg0.conf以下の内容に編集します。PostUp とPostDown を追加します。
WireGuardを起動しておきます。
sudo wg-quick up wg0止めるときはこちら
sudo wg-quick down wg0起動確認
ip addr上記の通りwg0が表示されていたらOKです。
DDclientをインストール
sudo apt install ddclient -yDDclientの設定ファイルを編集します。
sudo nano /etc/ddclient.confWebカメラの設定
購入した製品によって設定の仕方が異なりますが、独自のアプリをインストールして、自宅のWifiに接続して、アプリで映像をみるまでは同じです。
スマホの設定
App Storeまたは、Google Playより、WireGuardのアプリをインストールします。インストール後はまだ何もしなくて良いです。
先程ラズパイで設定したWireGuardの設定ファイルをスマホにダウンロードします。 ラズパイからGoogleドライブにアップロードして、スマホから設定ファイルをダウンロードするのが一番楽だと思います。
注意!このファイルはとても重要ですので、漏洩しないようにしてください。
スマホにダウンロードできたら、WireGuardのアプリに取り込みます。

WireGuard設定画面
「ファイル、アーカイブから作成」を選択して、設定ファイルを取り込みます。
Wifiを切って、モバイル通信(LTE, 4Gなど)に変更します。その後、WireGuardアプリから取り込んだ設定をONにします。
Webカメラのアプリを起動し、Webカメラがモバイル通信で見れたら接続完了です。
まとめ
VPN接続で外出先からWebカメラにアクセス完了
Raspberry Pi
PiVPN、WireGuard、DDclientの設定と管理
VPN接続
セキュアなリモートアクセスの実現
Webカメラ
外出先から自宅の監視が可能
重要なポイント
これで外出先から自宅のWebカメラにアクセスできるようになりました。
セキュリティも考慮されたVPN接続で、安心して使用できます。
高コスパで実現できる監視システムの完成です!
家族やペットの見守り、防犯対策に活用してください!