2023-09-06

IPv6 で WOL(Wake On LAN)・ルーター越しに Mac や PC をスリープ解除する方法

 

 

スリープ解除は、スリープ解除後のリモートデスクトップ操作やファイル共有などのために行います。 


スリープ解除 → VPN で LAN 内へ → リモートデスクトップ操作・ファイル共有

 

という流れになります。

 

 

 

LAN 内からでなく、外からのルーター越しのスリープ解除に関し、IPv4 での事例は多くあります。


IPv4 over IPv6 方式では、IPv6 での事例ではなく、MAP-E で割当されたポートを使って IPv4 で行うものはあります。


しかし、DS-lite や Xpass では IPv4 でのポートフォワーディングができません。

 

 

ウチの場合「en ひかり」の Xpass なので IPv4 での WOL のためには別途 PPPoE 契約するか、固定 IP 契約が必要です。

 

 

PPPoE は +550円、固定 IP 契約は +770円かかります。

 

 

そこで IPv6 でできないか、ということで事例を探しましたが、ほとんどないようです。


 

というか、IPv6 による直接に Mac や PC にマジックパケットを送りスリープ解除する事例は下記の海外事例一つのみです(調べた限りでは)。

 

Wake on Lan over IPv6 with DSLite

 

 

 

本記事では IPv6 によるスリープ解除の方法を記載します。

 

これにより LAN 内からでなくとも、外から対象の Mac や PC のスリープ解除ができます。

 

 

 

まず、IPv6 ではポートフォワーディングができませんので、マジックパケットを送るには IPv6 フィルターを使います

 

IPv6 フィルターで、対象の Mac(または PC)へマジックパケットをルーター越しに通過させるのです。

 

 

もちろん Mac(または PC)自体がマジックパケットでスリープ解除を受け入れる設定をしておく必要があります。

 

 

下記の2つの設定をします。

 

 ① ルーター越しにマジックパケットを通過させる設定

 ② デバイス(ここではスマホ)側でマジックパケットを送リ出す設定

 


まずは Mac の IPv6 アドレスを確認します。


[システム設定] → [ネットワーク] → [アクティブなネットワークインタフェース] → [詳細] と進むと次の画面になります。

 

 

で囲んだ部分の上の方が IPv6 アドレスです。

再起動で原則として変わりません。

 

 

下の方は一時 IPv6 アドレスで再起動で変わります。

 

IPv6 に関するアドレス生成などは語れば長くなりますので割愛します。

 

 

PC(Windows11)の場合は、

 

[ネットワークとインターネット] → [ネットワークの詳細設定] → [ネットワークアダプターオプションの詳細] → [イーサネット] をダブルクリック → [イーサネットの状態] → [詳細]

で「ネットワーク接続の詳細」が表示され、その中に

 

 ・リンクローカル IPv6 アドレス(LAN 内でのみ使える)

 ・IPv6 アドレス(再起動でアドレスが変わらない)

 ・一時的な IPv6 アドレス(再起動でアドレスが変わる)

 

が、あります。

 

 

 

今回使うアドレスは IPv6 アドレス(再起動で変わらない)です。

 

 

上64ビットはプリフィックスで、下64ビットはインターフェース識別子といいます。

 

インターフェース識別子は、かっては EUI-64 に基づくアドレス生成されていましたが、現在はされなくなりました。

 

EUI-64 は MAC アドレスに基づくアドレス生成ですので、MAC アドレスが容易に判明してしまうことから、現在はランダムな生成にかわっています。

 

ランダムといっても再起動ではかわりません。

 

これに対して一時 IPv6 アドレスは再起動で変わります。

 

ほかにもリンクローカルというアドレスがあります。


IPv6 アドレスに関してはググってみてください。

 


 

 

1️⃣ ルーターの IPv6 フィルター設定

 

ウチは YAMAHA の RTX830 なので、下記の IPv6 フィルター設定をして、これを WAN → LAN へ通過設定します。

 

IPv6 フィルター設定は次のようになります。

 ipv6 filter 500200 pass <240b:c010::/32> <2001:f71:a0e0:5600:aaaa:bbbb:cccc:dddd>/128 udp * 9

 

WAN → LAN への通過設定は次のコマンドです。

 ipv6 lan2 secure filter in 500200


 注1)240b:c010::/32 は楽天モバイルのプリフィックスの先頭 32ビットで
     楽天モバイルに割り当てられたものです

     一時 IPv6 アドレスなので LTE 再接続の都度変わりますが先頭 32 ビットは
     不変です

 注2)2001:f71:a0e0:5600: は「en ひかり」の IPv6 プリフィックス

     aaaa:bbbb:cccc:dddd は Mac mini M1 のインタフェース識別子です

     宛先の Mac(または PC)の IPv6 アドレスになります



IPv6 対応 SIM 搭載のスマホから、"en ひかり” 用のルーター越しに Mac へマジックパケットのみを通す穴あけをしています。

 


IPv6 フィルターですが、

 

 任意の IPv6 / ポート から Mac mini M1 へのマジックパケット(ポート番号:9)のみを通過させる

 

というのが設定の内容です。


 

例えば Aterm ルーターの場合は次の設定をします。

 

  ・優先度     :適切な番号

  ・種別      :通過

  ・方向      :in

  ・プロトコル   :udp

  ・送信元IPアドレス:any、またはアドレス指定で

            <240b:c010::> / <32>

  ・送信元ポート番号:any

  ・宛先IPアドレス :アドレス指定で
            <2001:f71:a0e0:5600:aaaa:bbbb:cccc:dddd> / <128>

  ・宛先ポート番号:<9> - <9>

 


これによりルーター越しで IPv6 によるマジックパケットの受け入れ設定ができました。

 

 

 

2️⃣ スマホ側の設定

 

スマホの SIM は IPv6 が使える SIM にし、APN で APNプロトコルを IPv4/IPv6 に設定します。


 

その上で RemoteBoot WOL というアプリを使います。

Android 用と iPhone 用があります。


RemoteBoot WOL

 

アプリをインストールし、開いて 右上の ➕ をタッチします。

 

    欄名に * が付いているのが設定必須項目です


   ・Name 欄は適当な名前を設定

   ・IP or HostName* には IPv6 アドレスを設定

    ここでは

      <2001:f71:a0e0:5600:aaaa:bbbb:cccc:dddd>

    の DDNS 名 <~~~~.i.open.ad.jp> を指定していますが IPv6 アドレス
    でも構いません

   ・MAC Address* には Mac の MAC アドレスを設定します

   ・Port* は WOL ポートである "9" を設定します

   ・IP or HostName for Ping は任意設定です

    ここでは Mac の IPv4 ローカルアドレス を設定しています 

   ・Note 欄は任意です

 


以上の設定を終えたら左上の [ ] をタッチして下記画面に戻ります。




いま設定した "mac mini" にチェックを入れます。

 

下の方にある "BOOT selected items" ボタンをタッチすると対象の Mac(または PC)にマジックパケットが流れてスリープが解除されます。



外からルーター超えでスリープ解除できるようになりますし、もちろん LAN 内でもスリープ解除されます。

 

 

 

 

 

 

 

0 件のコメント: