Wake on LAN で自宅から事務所のパソコンを起動
テレワークの事務員さんのためにいつもPCの電源を入れたままにしているけれど、Wake on LANとかいうので自宅から遠隔でパソコンを起動させることができるんじゃないかしら、と相談を受けた。
事務所のネットワーク環境はVPNがなく、ルーターのポートマッピングで行けるんじゃないかと思ったら、事務所で使っているルーターの仕様上無理だった。
Wake on LANでコンピューターを起動させるにはマジックパケットと呼ばれる信号をブロードキャストで投げる必要があり、事務所のルーターではそれができないためだ。
Wake on LANのためだけにVPNサーバを立てるのもセキュリティ的にどうなのかとか、実際に事務員さんが遠隔起動する操作を考えたときにVPNでつないでWoLのアプリを起動して、という操作をやってもらえるのかとか、そもそも事務員さんの自宅PCやスマートフォンに初期設定が必要でちょっとハードルが高い。
グローバルアドレスはもちろん動的割り当てなので、ダイナミックDNSサービスをどうするかという問題もある。
いろいろ検討した結果、Raspberry Piを事務所LANに接続してブリッジにすることでクラウドサービスを経由してLAN内にマジックパケットを飛ばすことにした。
実装方法は2パターンある。
① HomeBridgeを使ってアップルのホームキットのアクセサリとしてPCをWake on Lan起動
これだと事務員さんのiphoneにホームキットのホームを共有する初期設定が必要になるし、そもそもiphone(iPadやMacもだけど)限定になってしまうので要件に合わない。
起動操作はホームアプリからアクセサリとして設定したPCのアイコンをタップするだけというシンプル操作でこれはこれで捨てがたくはあるけれど、またの機会に。
② GoogleフォームからBeebotteを経由してRaspberryPiにメッセージを送信、PCをWake on Lan起動
最後にたどり着いたこの方式がやってみたら簡単で、なかなかいい感じに仕上がったと自画自賛。
起動のトリガーがGoogleフォームなので事務員さんの自宅環境に何の設定もアプリインストールもいらないっていうのも美しい。
具体的な実装についてはいろんなサイトを参考にさせていただいて、少し躓いたところもあるのでまとめなおして整理出来たらアップしようと思う。
参考にさせていただいたサイト
・ラズパイ(Raspberry Pi)でパソコンをリモート起動:HomeBridge-WOLの使い方
・Windows10の Wake On Lan (WOL)設定
・Raspberry PiからPythonでWEB経由でWoLしてみる
・RaspberryPi使って遠隔地から自宅PCをスリープ復帰させる
・[GAS]Beebotteにメッセージを送る
・Raspberry Piでプログラムを自動起動する5種類の方法を比較・解説
・バックグラウンド実行で時間短縮しよう!!