🌐
グローバルIPアドレスのない集合住宅ネットワークでの即席リモートデスクトップ環境構築
はじめに
グローバルIPアドレスを持たない集合住宅のネットワーク環境では、外部からのアクセスが制限されるため、通常のリモートデスクトップ環境の構築が難しい場合があります。
本記事では、ChromeリモートデスクトップとRaspberry Piを活用し、インターネット経由でリモートデスクトップできる環境を構築する方法を紹介します。
※ Googleアカウントの漏洩や公衆無線LANでの利用などセキュリティ面で注意して下さい。
準備するもの
- ホストPC(Windowsを想定)
- Wake-on-LAN の起動設定済
- 常時起動 の Raspberry Pi
- Raspberry Pi Connect対応の最新のOS
- ホストPCと同一ネットワーク
リモートデスクトップ環境の構築
1. Chromeリモートデスクトップの導入
リモートデスクトップ接続を行うため、ホストPCにChromeリモートデスクトップをインストールし、設定を行います。ホストPCの電源が入っている状態であれば、インターネット経由で外部からリモート接続が可能になります。
2. ホストPCのスリープ問題
ホストPCを常時起動出来れば良いですが現実的ではありません。
スリープや電源オフの状態から復帰できるように Wake-on-LAN(WoL)を使用します。
3. Raspberry Piを利用したWoLの仕組み
スリープ状態のホストPCを復帰させるために、同一ネットワーク内にRaspberry Piを設置し、常時起動状態にしておきます。最近のRaspberry Pi OSではRaspberry Pi Connectを利用(アカウント登録が必要)することで、Chromeリモートデスクトップと同様にインターネット経由で端末にアクセス(Screen sharing, Remote shell)出来ます。
Raspberry Pi Connectの設定
WoL コマンドインストール(shellの場合)
sudo apt install wakeonlan
WoL マジックパケットの送信(shellの場合)
wakeonlan <ホストPCのMACアドレス>
起動手順
- 外部からホストPCと同一ネットワーク内にあるRaspberry Piにリモート接続する
- Raspberry PiからホストPCにWoL マジックパケットを送信する
- ホストPCが起動、もしくは復帰後、Chromeリモートデスクトップを通じてリモート接続が可能になる
簡略図
メモ
- ホストPCの「Wake-on-LANの起動設定」はBIOSやOSの種類によって変わってくるので、省いています。
- 自宅にあった Raspberry Pi 4 は Raspberry Pi Connect対応するのに Raspberry Pi OSをアップデートする必要がありました。
- リモートから電源をオン・オフできるWi-Fiスマートプラグ(Tapo P105など)を使えば、必要な時だけ Raspberry Pi を起動するみたいなのもできそうです。
Discussion