ラズベリーパイからリモートでパソコンの電源をオンにする手順

2020年2月26日

この記事では Wake on Lan(以下WOL)を使用して、

ラズベリーパイからリモートでパソコンの電源をオンにする手順について紹介します。

 

前置き

出先といった外部からリモートでパソコンの電源をONにする場合は

ブロードバンドルーターに設定が必要になります。

 

この記事で紹介しているブロードバンドルーターに関する設定は

いわばルーターに対して外部から入るための"穴"をあけるようなものです。

穴を開けるわけですから、開ける前よりはセキュリティ的には弱くなります。

 

実際に問題となる可能性は低いですが、セキュリティ上のリスクが発生する設定である旨、

あらかじめ承知した上で設定を行ってください。

 

検証環境

・ラズベリーパイ4(Raspbian Buster)

・パソコン(Windows10 バージョン1909)

 

パソコン(Windows10)側の設定手順

コントロールパネルを開き「ネットワークの状態とタスクの表示」をクリック

左側の「アダプターの設定の変更:をクリック

該当するネットワークアダプタを右クリックして「プロパティ」をクリック

該当するネットワークアダプタとは、普段からパソコンで使っているアダプタを指します。

基本的には色が付いていて「☓」マークが付いていないものが普段使っているアダプタです。

名称は環境によって異なりますが、ここでは「イーサネット」という名称の

ネットワークアダプタが該当するという前提で話を進めます。

 

イーサネットのプロパティで「構成」をクリック

 

詳細設定のタブでWOL関連項目の値を「有効」に変える

WOL関連項目の名称は環境によって異なります。

今回の例では「ウエイク・オン・マジック・パケット」という項目名でした。

他の例では…

「Wake on Settings」
「Wake Up Capabilities」
「Wake On 設定」
「Wake-On-Lan機能」
「ウェークアップ機能」
「PME をオンにする」

といった名称の場合もあるようです。

 

電源の管理タブで全ての項目にチェックを入れる

 

イーサネットアダプタのMACアドレスを確認する

コマンドプロンプトを起動して「ipconfig -all」と入力してEnterを押下します。

該当のネットワークアダプタ(今回は「イーサネット」)の部分で

「物理アドレス」の項目に表示されている数値がMACアドレスです。(画像では一部隠してあります)

このMACアドレスをメモ等に控えておきます。

 

以上でパソコン側の設定は終わります。

この後、実際にWOLで電源をONに出来るかテストをするので

パソコンはシャットダウンしておきます。

 

ラズベリーパイ側の設定手順

キーボードで直接操作するか、Teraterm等を使ってSSHでログインします。

wakeonlanをインストールする

$ sudo apt update
$ sudo apt install wakeonlan

ラズベリーパイからパソコンへWOLしてみる

インストールしたwakeonlanを使って、ラズベリーパイからパソコンへWOLの命令を出してみます。

$ wakeonlan パソコンのMACアドレス

MACアドレスの部分にはパソコン側設定の際に控えたMACアドレスを入力します。

注意

WindowsではMACアドレスの数値はーで区切られていたと思いますが、

ラズベリーパイ上で入力する際は-の代わりに:を使います。

例えば、Windows上で確認したMACアドレスが 00-00-00-00-00-00 だった場合、

ラズベリーパイ上で入力する際は 00:00:00:00:00:00 とします。

 

ラズベリーパイでwakeonlanを実行の結果、パソコンの電源が入れば設定は完了です。

 

最初のテストはラズベリーパイとパソコンともに同じ内部ネットワーク(LAN)に

設置されている状態で行うことがポイントです。

自宅であれば、ラズベリーパイとパソコンが同じ自宅内にあり、自宅のネットワークに

接続されている状態です。

 

この状態で正常に電源がONになるのであれば、とりあえず、

ラズベリーパイとパソコンの設定は正しいことが確認できます。

 

内部ネットワーク同士でのテストを行わず、

いきなり外部のネットワーク(WAN)からテストを実行して、

仮にうまくいかなかった場合、ラズベリーパイとパソコンの設定が正しくないのか、

それとも、これから紹介するルーターの設定が正しくないのか、

原因の切り分けが難しくなってしまうためです。

 

ブロードバンドルーター側の設定手順

設定の前に

ブロードバンドルーターについては、メーカーや製品毎に設定や画面が異なります。

自分が使用しているブロードバンドルーターのマニュアルに応じて対応が必要ですが、

メーカーや製品が違っても、やるべきことは以下の2つだけであるということを覚えておいてください。

やるべきこと

1.外側→内側向きでTCP:22番ポート(SSH)の通信を許可する

2.外側→内側向きでTCP:22番ポートの通信をラズベリーパイに向けるようマッピングする

今回の記事ではNECのブロードバンドルーター、AtermWG1800HP2の画面を例にしています。

 

外側→内側向きでTCP:22番ポート(SSH)の通信を許可する

出先といった外部からラズベリーパイにアクセスする際はSSHを利用します。

詳細設定 > IPv4パケットフィルタエントリ追加 に以下の設定を追加します。

・種別:通過

・方向:in(外から内へ)

・プロトコル:TCP

・送信元IPアドレス:any

・送信元ポート番号:any

・宛先IPアドレス:ラズベリーパイのIPアドレス/24

・宛先ポート番号:22-22

・優先度:任意の番号

終わったら設定ボタンをクリック。これでラズベリーパイに対してのみ、外部からSSHでの通信が許可されました。

 

外側→内側向きでTCP:22番ポートの通信をラズベリーパイに向けるようマッピングする

次に、許可したSSH通信がラズベリーパイへ向かうよう設定(マッピング)します。

詳細設定 > ポートマッピング設定 > エントリ追加 で以下の設定を追加します。

・LAN側ホスト:ラズベリーパイのIPアドレス

・プロトコル:TCP

・ポート番号:22-22

・優先度:任意の番号

終わったら設定ボタンをクリック。これでSSHの通信がラズベリーパイへ向かうようになりました。

 

ブロードバンドルーターの設定は以上で終わりです。

使用している製品のマニュアル内容に応じて設定してみてください。

 

自宅のIPアドレスを確認しておく

外部から自宅にアクセスする際は、自宅のIPアドレスが必要ですので確認しておきましょう。

インターネットに接続した状態の自宅のパソコンやスマホから以下のサイトにアクセスしてください。

確認くん https://www.ugtop.com/spill.shtml

 

「あなたのIPアドレス(IPv4)」の項目に表示されたものが、外部から見た場合の自宅のIPアドレスです。

メモを取るなどして控えておきましょう。

 

外部からリモートで自宅のパソコンを起動する

スマホを携帯キャリアの回線に切り替える

さて、それでは外部から自宅のパソコンを起動してみましょう。

その前に、わざわざ外部に出て操作してみたところ、上手くいかなかった場合、

また家に戻ってくるのは大変ですよね。

 

自宅に居たままで構わないので、お手持ちのスマートフォンの無線LAN機能を切って、

ドコモやau、ソフトバンクといった自分が契約している携帯キャリアの回線に切り替えてください。

 

論理的な話になってしまうのですが、携帯キャリアの回線は自宅のブロードバンドルーターからすれば「外側」の通信です。

したがって、携帯キャリアの回線を使えば操作する人は自宅に居たまま「外側」からの通信を行うことができます。

自宅内から動作テストができるので、万が一うまく行かなった場合の対処が楽になります。

 

スマホからSSHでラズベリーパイに接続する

スマートフォンからSSHでラズベリーパイに接続しましょう。

といってもアプリケーションが必要なので、AppStoreなりGoogle Playからダウンロードしましょう。

「SSH」で検索すればたくさんヒットすると思います。無料版で充分です。

 

アプリをダウンロードしたら、IPアドレスの欄に先ほど「確認くん」で調べておいた

自宅のIPアドレスを入力して接続してみましょう。

ラズベリーパイのユーザ名とパスワードを入力してログインできれば成功です。

 

ラズベリーパイからパソコンへWOLしてみる

前にやったのと同様、ラズベリーパイからパソコンへWOLの命令を出してみます。

$ wakeonlan パソコンのMACアドレス

パソコンが起動すれば成功です。

 

これで出先等の外部から自宅のパソコンを起動させることが出来るようになりました。

お疲れ様でした。