Help us understand the problem. What is going on with this article?

リモートから Wake on LAN を使える様にする

More than 1 year has passed since last update.

Wake on LAN について

Wake on LAN とはLANに接続されているコンピューターに対して、遠隔で電源を入れる技術です。
マジックパケットと呼ばれる MAC アドレスをペイロードに乗せたパケットをブロードキャストで送信して、受信した NIC で MAC アドレスが一致した場合にコンピューターの電源を入れます。
パケットを受信するために、シャットダウン時にも NIC に電源が供給されている必要があります。
Wake on Wireless LAN という無線LAN バージョンもあるみたいですが、
参考: Wikipedia: Wake-on-LAN

Windows の設定

NIC の設定

Intel Gigabit CT Desktop Adapter でもごにょごにょして WoL を使う方法はあるみたいですが、標準では PME の設定が消えていたので、諦めてマザボについていた、通称蟹 Realtek PCIe GBE Family Adapter を使うことにします。

NIC のプロパティを開く

デバイスマネージャー([Windows + X] -> [M])を開きます。
「ネットワークアダプター」の中から、マジックパケットを受信する NIC をダブルクリックして、プロパティを開きます。

電源の管理

「電源の管理」タブを開き、「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」にチェックを入れます。
「Magic Packet でのみ、コンピューターのスタンバイ状態を解除できるようにする」にもそのようにしたい場合はチェックを入れましょう。
image.png

詳細設定

「詳細設定」タブを開きます。
「ウェイク・オン・マジックパケット」と「LAN 上のウェークアップのシャットダウン」を有効にします。
image.png

別の NIC でこの項目が見つからない場合、
- WOL
- Wake on LAN
- ウェークアップ
- PME
などのキーワードで探します。

参考: @IT: Wake On LANでコンピュータを起動する (1/2) - Windows OSでの設定
参考: WAKE ON LAN (WOL)

UEFI/BIOS の設定

UEFI に入る

[再起動]を[Shift]キーを押しながらクリックします。
image.png
再起動を待つと次の画面が表示されます。ここで、[トラブルシューティング]を選択します。

[詳細オプション]を選択します。

[UEFIファームウェアの設定]を選択します。

再起動します。

UEFI での設定

UEFI はメーカー・バージョン・環境によって変わってくるのでぴったり参照にできる情報は少ないです。
頑張って自力で探しましょう。
参考: @IT: Wake On LANでコンピュータを起動する (2/2) - BIOS/UEFIセットアップにおける設定
以下に私ができるようになった一例を示します。
まず、[Advanced]に入ります。
MSI_SnapShot.jpeg
[Power Management Setup]内に[Resume On LAN]などの名称で設定項目がある場合もありますが、私の環境にはありませんでした。
ちなみに [ErP Ready]は[Disabled]にしておきましょう。
MSI_SnapShot_00.jpg
MSI_SnapShot_01.jpg
[Advanced]のメニューの中に[Wake Up Event Setup]という項目があったのでこれを選択します。
その中の[Resume By PCI-E Device]という項目を[Enabled]にします。
右側の説明にもあるとおり、統合LANコントローラも含まれるようですし、増設している場合も多くの場合、PCIe 接続でしょう。
PCIe のところには書いてありませんが S3、S4、S5 については、上でもリンクを張りましたが、@IT の記事を参考にしてください。
参考: @IT: Wake On LANでコンピュータを起動する (1/2) - ACPIのパワー・ステートと対応OS
MSI_SnapShot_02.jpg
[Fast Boot]は有効のままでも問題ありませんでした。
ちなみに試しに[MSI Fast Boot]を有効にしてみましたが、そちらでも WoL 使うことができました。
MSI_SnapShot_03.jpg
ここまでしたら、[Save & Exit]します。

もし、この状態で失敗する場合は[Fast Boot]を一旦オフにするなどを試してください。
単純に再起動することも有効だと思います。

高速スタートアップについて

高速スタートアップを無効にしないと WoL できないとの情報がたくさん出てくるが、私は今高速スタートアップを有効にしたままでも WoL できています。
一度、高速スタートアップを無効にして、WoL が使えることを確認してから再度有効にするとうまく行ったので、試してみてください。
なお [設定] -> [システム] -> [電源とスリープ] -> [関連項目] -> [電源の追加設定] で電源オプションを開き、サイドメニューの[電源ボタンの動作を選択する] 、[現在利用可能ではない設定を変更します]を押してから、「高速スタートアップを有効にする(推奨)」のチェックをつけ外しすることで設定を変更できます。
image.png

image.png

image.png

マジックパケットを投げる側

LAN内からテスト

まずは、LAN内で行いましょう。
Windows 向けソフトではストアアプリに Wake On Lan がありますし、
フリーソフトでもいくつか種類があります。
参考: Wake on LAN 関係のソフトをいくつか試用してみたり
スマートフォンでも検索すればすぐ見つかるはずです。
がしかし、私の使っているルーターの Aterm に WoL 機能があったので、これを使いました。
始めは、Windows側の設定が正常に完了しているか分からない状態から、ソフトを吟味するのがめんどくさくて試しに使ってみたのですが、同一LANのルーターに設定しておくと、後々スマートフォンやWindows、MacのノートPCなどそれぞれの端末で準備する必要無くとても楽でした。クライアントのPCを買い換えても設定し直すことはありません。
こちらのマニュアルを全面的に参考にします。ここでは補足程度に納めます。
参考: Aterm WG2600HP2 ユーザーマニュアル - WoL(Wake on LAN)機能でリモート起動する
始めに「ホームIPロケーション機能」の話が出てきますが、簡易DDNSとして使える機能ですが、セキュリティ面に不安があるので、使いません。
参考: Qiita: AtermのホームIPロケーション機能のセキュリティを高める

3.以下の項目を入力したあと、[設定]をクリックします。
MACアドレス
WoL機能を利用して起動したいパソコンのMACアドレスを入力します。
「XX:XX:XX:XX:XX:XX」で入力します。

の箇所についてですが、「起動したいパソコンの( WoL設定をしたNICの )MACアドレス」です。NIC が複数ある場合などは注意しましょう。

URL入力例
http://XXX.XXX.XXX.XXX:YYYY
 IPアドレス(またはURL):ポート番号

LAN からのアクセスなので、プライベートアドレスで大丈夫です。
「5」で設定したポート番号を後ろにつけます。
例えば 192.168.1.1:65535 という感じです。
衝突をさけるために、登録済みポート番号も避けておくと良いでしょう。
参考: Wikipedia: TCPやUDPにおけるポート番号の一覧#登録済みポート番号(1024–49151)

リモートから

LAN からこれで起動できることを確認したら別のネットワークから試しましょう。
家の中からでもスマートフォンでテザリング等をすれば別のネットワークを簡単に作れます。

別のLANからブロードキャストパケットは疎か、ホームIPロケーションを設定していないルーターのPCリモート起動実行画面にも入れません。
そこで、VPNを使います。
VPNで接続後はプライベートIPアドレスでルーターにアクセスできるので、LANからの実行と同様に行えます。
参考: RTX1200 で L2TP/IPsec の VPN を構築する
参考: Synology DS218j で VPN を構築する

mizutoki79
Microsoft と ネットワークとセキュリティが好きなサーバーサイドエンジニア
yumemi
みんなが知ってるあのサービス、実はゆめみが作ってます。スマホアプリ/Webサービスの企画・UX/UI設計、開発運用。Swift, Kotlin, PHP, Vue.js, React.js, Node.js, AWS等エンジニア・クリエイターの会社です。Twitterで情報配信中https://twitter.com/yumemiinc
http://www.yumemi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away