コンテンツへスキップ

インターネット経由で、パソコン電源をONする。(ルーターに依存しない)

■ 今回考えたのは「ルーターに依存しないインターネット経由のWOL」 の方法です。

インターネット経由でWake On Lan(WOL)できるかどうかは、ルーターに依存することが分かってきたが、
ルーターを買い替えたくない。

常時起動状態の「Raspberry Pi」にインターネット経由でSSH 接続してマジックパケットを送信し、
電源OFF の端末を「Wake On LAN」するプランです。

SSH 接続は、iPhone からRaspberry Pi へ鍵認証を使って行います。
SSH で接続したRaspberry Pi からwakeonlan コマンドでマジックパケットを送信します。

この操作は、iPhone の標準機能で実行できるので、アプリのインストールは不要。
外出中どこからでも、1回のタップで自宅の端末を電源ON できるようになります。

android から実施する手順もそのうち考えますが、基本的にSSH接続をできるアプリがあれば実行可能なはず。

インターネット経由でWOL(Wake on Lan)を実現する。

Raspberry Pi を使って、
インターネット経由 WOL(Wake on Lan)をする「プランB」

断念した「プランA」について。

以前、インターネット経由でWake On LAN をしようと思いたったのですが、
電源オフ状態の端末にルーターの壁が立ちはだかり、マジックパケットを送信することができずに断念しました。

最初はポート開放だけでできると思っていましたが、
・IP を指定してWOL
 →スイッチングハブだから、送信先の電源が落ちていると「IP アドレス」が認識できなくて無理。
・ブロードキャストアドレスへWOL を送る
 →ブロードキャストアドレスへポートマッピングできないので無理。
となり、仕様の問題で無理だと結論しています。

パケットキャプチャソフトの「Wireshark」を使って、
相手の端末が「電源オン」の場合は、きちんとマジックパケットが届いていることを確認。

リピーターハブを使って、
ほんとに送信先が電源オフだとパケットが捨てられているか確認してみたかったのですが、
近代のリピーターハブは非常に高価なので今回は見送りしました。

いろいろと考えた結果、
「誰かに自宅LAN の内側からマジックパケットをブロードキャストしてもらう。」というのが一番かなとなりました。

プランB の概要

  1. 「Raspberry Pi」を常時待機させておき、、、
  2. 「iPhone」からインターネット経由でSSH 接続。
  3. wakeonlan コマンドを実行してマジックパケットをブロードキャストで送信する。

実装準備

RaspBerry Pi を購入する。

購入を検討したモデル。

■ Raspberry Pi のA とかB とか各モデル毎の違いについては、
各モデルの仕様比較一覧表がウィキペディア にありましたので、そちらを参考にしてください。
Wikipedia 最高。

Raspberry Pi -出典: フリー百科事典『ウィキペディア(Wikipedia)』

■ Raspberry Pi Zero W

WOL に使うだけであれば、他のモデルに比べて定価の安い、Raspberry Pi Zero でもいいかも。

と、思ったのですが、現在入手困難ですね。
2021年7月10日時点では、正規代理店に在庫がない状態でした。

通販サイト上では、たくさんの出品を見かけますが、割高です。
また、ケースや、拡張キットのみの出品が多いので、本体と間違えないように気を付けましょう。

■ Raspberry Pi Zero

「W」なしのRaspberry Pi Zero は、まだたくさん在庫がありました(2021年7月10日)。
現在、1つ 660円で購入できますが、
「生涯を通じて、一人1点のみ購入可能」という制限付きになっております。

WiFi とか有線 LAN ポートとか付いていないモデルなので、
別途USB 接続のLAN アダプタを用意する必要があります。

また、Raspberry Pi Zero、 Wに共通する注意点として、
ディスプレイポートが「Mini HDMI 」、USB ポートがmicro と、
「あんまり一般的には採用されていないかなー^^; 」と思う規格なので、
周辺機器を接続するのに別途ケーブルを準備する、
もしくは変換アダプタの用意をする必要がある点が挙げられます。

少なくとも私はもっていない。。。orz

まあ、サイズ的に仕方ないですね。

既にケーブルを持っている人であれば、Raspberry Pi Zero シリーズの価格は魅力的だと思いますが、
別途購入しないといけないのであれば、Raspberry Pi 3、4 を検討した方がいいと思います。

■ Raspberry Pi 3 Model B

今回は「Raspberry Pi 3 Model B」(ケース付き)を購入しました。
理由は
「接続用のケーブルは既に持っているものばかりなので、新たにケーブル等を追加購入しなくても良いから」です。

とは言え、WOL の為だけにModel B を使うのはいささか勿体ないので、
Raspberry Pi Zero V1.3 も追加で購入しました^^。

多分、Raspberry Pi 3 Model B でセットアップしたSD カードを、Raspberry Pi Zero V1.3 に挿したら動くだろう、、、という見立てです。

WOL 用としては、こんな感じで揃えました。
USB 無線LAN アダプタ は古くなって使わなくなっていたのを再利用します。

左から、ケース、本体、USB 無線LAN アダプタ(右上)、USB タイプB→タイプA変換(右下)。

あと写真忘れていましたが、OS を書き込む「SD カード」が別途必要です。
これも再利用品です。

ケースのセットに関しては、ピン付、ヒートシンク付きで送料無料の270 円でした。

TYPE B →TYPE A 変換もRaspberry Pi の正規代理店で224円(税込)。
本体は660円(税込)、USB 無線LAN アダプタ、SDカードは再利用なのでWOL 用としては合計で1200円ちょっとくらいの出費。

USB アダプタも1,500円くらい、Mini HDMI → HDMI の変換アダプタの安いの探せば500 円くらいだし、
こっちだけで揃えるのもありかもですね。

でも追加投資でUSB LANアダプタ買うなら、ZERO W とかで安いの探した方がいいのかも。
電源と無線LAN 挿したら何もUSB させなくなるので、リモート接続以外で入力手段がない。。。

「小さいのにちゃんとGUI でOS 動くじゃん。」って感動を味わうならModel B あたりは欲しいかなと思います。
個人的にはZERO 系はセカンドRaspberry Pi 向きですね。

悩ましいですね。

Raspberry Pi のセットアップ

OS のインストール

最初Raspberry Pi のことをよく理解していなかったので、
普段のOS インストールの様に、メディアでインストールしようとしていました。

OS のインストールの仕方を調べても、なんか変わったやり方をしてる記事が多いなーと思っていました。

とりあえず電源入れて、BIOS の画面を出そうとしていましたが、そのうちに組み込みシステムと気づき、
「なんか変わったやり方をしてる記事」が何をしているのか理解。

公式のイメージャーを使ってOS のイメージを書き込みました。

画像に alt 属性が指定されていません。ファイル名: image-26.png
SSH 有効化

Raspberry Pi の設定 のインターフェース・タブでSSH を有効化します。楽ちんです。

XRDP のインストール

Windows から「リモートデスクトップ接続」を使いたいのでXRDP をインストール。
ファイアウォール(接続ポート3389 に関して)は、SSH でポートフォワーディングして接続するので特に設定しません。

無線LAN 用のドライバーをインストール。

非正規の様な、正規の様なドライバーを使用します。

ファイアウォール に不具合があるので、バージョンアップする。

下記にまとめました。

wakeonlan をインストール。
sudo apt install wakeonlan

送信テスト

受信確認

ルーター側でIP アドレスを固定する。

Raspberry Pi 側からでも指定できますが、ルーターで一括管理したいのでルーターで設定しています。

USB 無線LAN アダプタのMAC アドレスを控えておく。

こんな感じでルータ―に設定しています。

ルーターにてRaspberry Pi 向けのポート開放設定をする。

IP が固定できていることを確認する。

ルーターのユーティリティを開いて、
こんな感じにポート転送設定をしています。

WAN 側のポートは変更できるので、起動したい端末ごとにポートを割り振れますね。

これで、Raspberry Pi は一旦完了です。

実装

Raspberry Pi ZERO を組み立てる。

ケースを組み付けて、USB 無線LAN アダプタをつけるだけですけどね。

アクリルの保護シートを剥く前に組み立ててしまう、、、orz の図。

無線LAN アダプタの形状に問題があり、隣に当たって奥まで挿せない。

という訳でこうなりました。名づけて「WOL – S・A・S・O・R・I」

Model B でセットアップしたSD カードを 「WOL – S・A・S・O・R・I」 に挿入する。

「WOL – S・A・S・O・R・I」 起動テスト

起動しました。
モデル名を確認すると、「Raspberry Pi Zero Rev 1.3」と表示されました。

more /proc/device-tree/model

スマホアプリから、Raspberry Pi に接続、WOL コマンドを実行する。

iPhone の「ショートカット」というアプリが、ネットワーク内のコンピューターにSSH 接続してコマンドを実行するという機能を提供しているので、これを使用します。

詳しくはこちら。
iPhone から鍵認証を使ってSSH 接続するまでをまとめました。

iPhone →Raspberry Pi へ鍵認証SSH 接続を設定。

Wifi 接続の状態で、秘密鍵でSSH 接続できることを確認。

次に、
4G に切り替え、グローバルアドレス経由でSSH 接続できることを確認。

最後にwakeonlan コマンドを実行してみる。

信号を確認できました。

※Source が「192.168.3.2」になっていますが、イーサネットのアドレスです。
まだ、Raspberry Pi Model B で設定をしています。「192.168.3.250」はwlan1 。

最後に、作成したWOL ショートカットをホーム画面にセットします。

iPhone も準備完了です。

WOL テスト。

電源オフにしたすぐ後はWOL が成功する場合がある為、10分くらい時間を置いてからテストしました。

結果は。。。成功です。
無事にインタネット経由で自宅のPC の電源をON することができました。

まとめ

Raspberry Pi は「組み込みシステム」なので省電力設計です。
常時起動させておくシステムとしても、うってつけなのではないでしょうか。

また、組み込みシステム なので、「パソコン」というよりは「機器」な訳で、
パソコンにリモート接続してWOL しているわけではありません。
ギリギリ、「インターネット経由でWOL」 と言っていいのではないかと思います。

Raspberry Pi を使用するのであれば、SSH 接続からのWOLじゃなくても、
VPN 接続してからアプリでWOL を実行しても良いかも、、、ですね。

SoftEther VPN をRaspberry Pi にインストールしてVPN Server 化する。

まあ、WOL 出来れば何でもいいですよね。

そしてWOL と同じくらい、ハングアップ時の対策をすることも重要だと思います。

インターネット経由でハングアップしたパソコン端末の電源を切る。

最後に 「WOL – S・A・S・O・R・I」 のパスワードによるSSH ログインを無効化しておきました。

/etc/ssh/sshd_config

以上です。

(Visited 2,418 times, 2 visits today)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です