【有線LAN限定】自宅のMacを外出先からスマホでスリープ解除する方法
有線LANで接続している自宅Mac限定となりますが、スマホを使って自宅Macのスリープ解除する方法を紹介します。
自分はこの方法で自宅のiMacをスリープ解除してからChromeリモートデスクトップを使っています(Chromeリモートデスクトップは自宅のMacがスリープ解除状態でないと接続できない)
概要
どのような方法で自宅のMacをスリープ解除するかというと、Wake On LAN(WOL)という仕組みを使って行います。
これはMagic Packetという特定の信号を使って、WOL機能をオンにした対象のPCを起動するというものです。
外出先のスマホから自宅のMacのグローバルIPアドレス宛にマジックパケットを送信し、スリープ解除を実現します。
Windowsの場合はシャットダウン状態から起動することもできますが(要対応マザボ)、Macの場合はスリープの解除しかできないようです。
グローバルIPアドレスは通常、プロバイダが適宜勝手に変更してしまうものなので、固定するためにはインターネット回線とは別に固定グローバルIPアドレスのサービス契約(有償)が必要です。
ただ、グローバルIPアドレスはそう頻繁に変更されるものでもないので、固定の契約をしていなくても、外出前にメモしておけば大体その日はそのグローバルIPを利用することができます(ただし100%ではないです)
自分はこの方法によって外出先からMacのスリープを解除し、Chormeリモートデスクトップで自宅のiMacを遠隔操作して保存されているデータを閲覧したり手元のPCにデータを送信したりしています。
残念ながらWi-Fiでインターネットに接続しているMacの場合はグローバルIPアドレスに向けてマジックパケットを送信しても届きませんでした(同一ローカルエリアネットワークに接続している場合にローカルIPアドレス宛に送信するのであれば、Wi-Fi経由でもマジックパケットが届き、スリープ解除することができました)
あと、USB-Ethernetアダプタでの有線接続や、集合住宅タイプのインターネット回線で可能かどうかはわかりません。
自分の環境は「戸建ての光回線」+「Ethernetポートを搭載しているiMac」で、その環境でしか確認できてないからです。その他の環境では確認できていないことをご了承お願いします。
自宅Mac側の準備
まずはスリープ解除される自宅Mac側の設定について説明します。
WOLでのスリープ解除を実現するには、事前にMacとルーターの設定が必要です。
設定する内容は大まかに下記の通りです。
- ネットワークアクセスによるスリープ解除にチェックを入れる
- プライベートIPアドレスを固定する
- Ethernet(有線LAN)のMACアドレスをメモ
- マジックパケットを通すポートを開放する
Macの設定
Macの設定について説明します。
「設定」を開き、「省エネルギー」のところへ行きます。
そして、「ネットワークアクセスによるスリープ解除」にチェックを入れます。
次に「ネットワーク」のところに行きます。そして「Ethernet」をクリックします。
「IPアドレス」に表示されているローカルIPアドレスをメモしておきます。
メモできたらEthernetの「詳細」ボタンをクリックします。
固定するプライベートIPアドレスは任意ですが、他の端末に割り当て済みのプライベートIPアドレスとぶつからないように今回はこのMacに割り当てられているプライベートIPアドレスをメモしてそのまま利用します。
「TCP/IP」の項目内の「IPv4の構成」を「手動」にします。
そして先ほどメモしたローカルIPアドレスを「IPアドレス」の欄に入力します。これでプライベートIPアドレスが固定されます。
次に「ハードウェア」の項目をクリックします。
そこで表示される「MACアドレス」をメモします。これは後ほどスマホのアプリ内で使用します。
使用しているスマホがiPhoneでHand Offを利用できるのあればユニバーサルクリップボード機能で後ほどコピペしてもよいです。
OKをクリック。これでMac側の設定は終わりです。
自宅のMacがVPN経由の通信となっている場合はVPN機能をオフにしてください。
ルーターの設定
ルーターでマジックパケットを通すポートを開放します。これをしないとインターネット経由で自宅のMacにマジックパケットが通りません。
今回は自分が使用しているルーターのNEC製WX3000HPの設定で説明します。
他社製のルーターをお使いの場合はそれぞれポート開放について調べてください。
まず、ルーターの設定画面を開きます。
NECのルーターの場合はアドレスバーに「http://aterm.me」と入力し、ユーザー名、パスワードを入力します。
ユーザー名はデフォルトだとadminです。
自分の環境だとSafariでは「http://aterm.me」の設定画面が開けませんでした。
Safariで開けない場合はGoogle ChromeやFire Fox、Braveなど他のブラウザを使用します。
「http://aterm.me」を間違えて「http://atarm.me」と入力してしまうと詐欺サイトに飛ぶので注意してください。
設定画面が開けたら「ポートマッピング設定」をクリックします。
次に「追加」をクリックします。
そして、各項目を入力していきます。
- 優先度:他にポートマッピング設定がなければ「1」で大丈夫です。他のポート開放設定に影響が出るようであれば調整します。
- LAN側ホスト:先ほど固定した自宅のMacのローカルIPアドレスを入力します。
- プロトコル:UDPにします。
- 変換対象ポート:上に表示されている利用可能ポートから任意の番号を選択します。5440〜5455が利用できるようなので、今回は5440とします。
- 宛先ポート番号:変換対象ポートと同じ番号を入力します。今回は5440とします。
入力できたら「設定」を押して完了です。
これでルーターの設定は完了です。設定画面は閉じても大丈夫です。
グローバルIPアドレスを確認する
現在プロバイダから割り当てられているグローバルIPアドレスを確認します。
Googleなどの検索サイトで「グローバルIP 確認」と検索すればグローバルIPアドレス表示してくれるサイトが検索上位に出てきます。
確認したグローバルIPアドレスは後ほどスマホで入力するのでメモしておきます。
スマホ側の準備
次はマジックパケットを送信するスマホ側の準備です。
送信するためにスマホアプリを利用します。
マジックパケットを送信できるアプリはいくつかありますが、今回は「RemortBoot WOL」というアプリを利用します。
App StoreやGoogle Playからこのアプリをダウンロードします。
iPhone App Store – RemortBoot WOL
Android Google Play – RemortBoot WOL
ダウンロードできたらアプリを開き、右上の「+」ボタンをタップします。
マジックパケットを送信する宛先の入力画面になるので、先ほどメモした内容を入力していきます。
ユニバーサルクリップボードが使えるのであれば、Mac側でコピーして貼り付けていきます。
- Name:なんでもオッケー。今回デフォルトの[NO NAME]のままとします。
- IP or HostName:MacのグローバルIPアドレスを入力します。
- MAC Adress:MacのEthernetのMACアドレスを入力します。
- Port:先ほど開放したポート番号を入力します。今回は5440。
IP or HostName for Ping:固定したMacのプライベートIPアドレスを入力します。
※追記:IP or HostName for Pingは空欄でもスリープ解除できました
これですべて設定完了です!
「Boot」ボタンを押せばマジックパケットを送信し、自宅のMacをスリープ解除することができます👍
スマホがMacと同一のローカルエリアネットワークに接続されている場合はMacのグローバルIPアドレスに向けてマジックパケットを送信できないようなので、スマホはWi-Fiを切ってモバイルネットワーク経由で行なってください。
同一のローカルエリアネットワーク内でマジックパケットを送りたい場合は「IP or HostName」の欄にMacのプライベートIPアドレスを入力します。
補足
1回ではスリープ解除できないことも
Bootボタンを1回押しただけではスリープ解除できないこともあります。その場合は何回か押します。自分はいつもとりあえず3回くらい押しています。
Chromeリモートデスクトップも1回で繋がらないことがある
話はそれますが、Chromeリモートデスクトップも1回で繋がらないことがあります。こちらも繋がるまでChromeリモートデスクトップを終了・再立ち上げを繰り返します。
マジックパケットが正しく受信できているか確認する方法
「Wireshark」というアプリケーションを使ってMacに正しくマジックパケットが届いているか確認することができます。
Wiresharkのインストール方法や使用方法は割愛しますが、正しく受信できるている場合はスマホからマジックパケットを送信したときにEthernetの通信内容に「WOL」というProtocolの通信が表示されます。
以上、外出先のスマホから自宅のMacのスリープを解除する方法でした!