メニュー 閉じる

インターネット経由でWOLする(頓挫中)

インターネット経由でリモート接続できたので、仕上げとしてインターネット経由の「WOL (Wake on LAN)」に挑んでいます。

インターネット経由でWOLする(頓挫中)

自宅LAN 経由でのWOL はこんな感じで成功しました。
LAN 内であればブロードキャストアドレスにマジックパケットが送信できるので、問題なくWOL できます。

結局、ルーターの仕様の問題でWOL はできそうにないです。「プランB」が完成するまでは、
設定の参考には多分なりません。できないケースの一つとしてご参考になれば。

プランB はこんな感じになりました。

序章

検証している環境と現状について。

  • 端末はDell Precision M6700 。有線でルーターに接続。
  • インターネットはソフトバンク光ルーターは「E-WMTA2.3」
  • LAN 経由のWake On LAN では「電源オフ」の状態から「電源オン」できる。

WOL のトリガーはUDP ポートに送信される「マジックパケット」なので、
インターネット経由で自宅のルーターに向かって「マジックパケット」を送り、
それがターゲットPC のUDP ポートに届けばWOL できるはず。

とすれば、自宅ルータのポート転送設定でインターネットからのUDP 通信を起動したい端末のIP へ転送する様に設定しておけばいいと思われる。

ルーターの設定にてWAN 側の任意のポート番号と、LAN 側の任意のUDP 番号をマッピングする。

なんとなく、任意のUDP番号をファイアウォールで許可設定しておく。

iPhone のWOL アプリに「グローバルIP:ポート番号」を指定して、マジックパケットを送信。

動かない。電源オンしなかった。
WOL のマジックパケットはどこに送り付けてもいいと思っていたが確認せねば。

LAN 内から、PowerShell 経由でマジックパケットを送信。

$mac_addr = @("**:**:**:**:**:**") ← MAC アドレスを入力。
$header=[byte[]](@(0xFF)*6)
 
foreach ($item in $mac_addr){
    Write-Host "send magic packet to:" $item
    $addr = [byte[]]($item.split(":") | %{ [Convert]::ToInt32($_, 16)});
    $magicpacket = $header + $addr * 16;
    $target = [System.Net.IPAddress]::Broadcast;
 
    $client = New-Object System.Net.Sockets.UdpClient;
    $client.Connect($target, 2304);
 
    $client.Send($magicpacket, $magicpacket.Length) | Out-Null
    $client.Close();
 
    Write-Host "Send magic packet to:" $item -ForegroundColor Green
}

*************************************************************
  $client.Connect($target, 2304);後ろの数字が送信先のポートです。
*************************************************************

ポートは、7でも9でも、2304でもそれ以外でも起動した。
特に空いていれば問題なさそうです。

いろいろ試した結果、iPhone アプリでパケット送信先のポートが指定できるものを使用したところ、
インターネット経由で起動することができた。

「Remote Boot」

  • 設定値
    • Name or Hosetname = 適当な名前
    • MAC Address = WOL したいパソコンのMAC アドレス
    • IP Address = 自宅ルーターのグローバルIP
    • Port = MagicPacket を送る、UDP のポート番号

延長戦 突入

翌朝、改めてインターネット経由でWOL を試したところ、、、できない。orz

なんとなく、昨晩設定したポートフィルタが正解だったのだろうか。
昨日、下図のポートフィルタの設定を作成し、有効にして検証したところWOL できたのですが、
確認のとして、無効にして検証をしたところ、その時は関係なく起動できたので、
関係ないかなぁと思って削除してしまったのが、ダメだった。と思われ。

ただ、昨日と同じように設定を作り直しても起動ができない。
セキュリティを丸ごと「低」に設定したところ、起動できた。

きっとこのポート関連のセキュリティがマジックパケットをブロックしていると思われる。
もう少し設定方法を探らないと。

延長戦 其の弐

翌朝できない。

フィルタは今回「低」にしても「高」にしてもできない。
この設定は、多分関係ない。

ファイアウォールも多分、いらないだろうと思い始めた。

いろいろ考えていく中、ルータの設定で「任意のIP アドレスのポート」にパケットを転送していることに疑問を持った。
IP は確かにルーターの機能で固定しているが、電源が入っていないパソコンをIP 指定なんてできるのだろうか。

LAN でWake on LAN するときは、ブロードキャストアドレスを使用しているじゃないか。

インターネットから来たMagic packet もブロードキャストでばらまくべき。

そこでポート転送設定に「255.255.255.255」を設定して見たところ「無効なアドレス」で登録出来ない。最後だけ「255」にしてもダメだった。
まあ、既にポートマッピングでは無いから当たり前か。

インターネット経由でのブロードキャストアドレスへの通信は基本、どんなルーターでも遮断されるみたい。

上記を踏まえ、WOL するルーターの設定について解説しているサイトを検索してみた。
「ARP を破棄する仕様の場合」という言葉が刺さる。
多分、これ。

(2021/5/4 追記)
この記事を見ていただいた方からもコメントをいただきました。
やっぱりこれ。

延長戦 其の参

ルーターの設定をいじってみるも現状の問題を解決できそうな設定はない。

ソフトバンクのサポートに
「インターネット経由で WOL したいんですけど、どうしたらネット経由でブロードキャスト でパケット送れますか?」
って質問しようかとも思ったが、多分「サポートオプション」に加入しないとダメなのかな。。。

つきましては、「プランB」に変更です。

WOL はしばらく検討します。。。

Posted in リモート接続

関連投稿

8件のコメント

  1. ピンバック:インターネット経由でリモートアクセスする。 – .zapping

  2. ジョンバンジロー

    同じような環境で困ってます。WAN-LANの変換が出来てないのではないかと考えてますが模索中です。解決したら教えていただきたいです。

    • unimoni

      最後はルーターの問題ですね。
      WANから任意のポートに送った信号をブロードキャストアドレスへマッピングできればよいと思うのですが、私のルーターではできませんでした。
      もともと、インターネット経由のPC起動の機能を備えたルーターもあるみたいです。
      AtermWF1200HP

      コメントくださってありがとうございました。解決出来たらまた追記しますね。

  3. もひろー

    同じような環境でWOL設定に成功したので報告させてください。
    「ルーター機能の設定」→「DMZ設定」で
    DMZ機能→有効
    転送先IPアドレス→起動したいPCのLANのIPアドレス
    でうまくいきました。ポートは9です。一応ご報告まで!

    • unimoni

      初めまして。もひろーさん。
      ご連絡ありがとうございました。

      なるほど、DMZ 設定を有効にしたら、確かに行けそうな気がします。
      素晴らしい発想ですっ!!

      自分の環境でも検証してみます。
      うまく行ったら、(解決編)として投稿させていただきますね。

      ひとまず、お礼まで。
      ありがとうございました。

    • unimoni

      ご報告です。

      1)DMZ を有効。
      2)WOL したい端末のIP をマッピング。(DMZ として)
      3)マジックパケットを iPhone アプリからグローバルIP(ポート9)に送信。

      項番3で電源が入ったのですが、電源を切ってから数時間置いてからWOL を試みたところ上手く行きませんでした。

      もう少し検証みたいと思います。
      以上、ご報告まで。

  4. はらぴー

    常時起動して『いない』マシンなわけですから、一定時間でルータのarpテーブルから削除されてしまうので、WoLパケットは『どうにかして』そのネットワークのブロードキャストアドレスに投げるしか方法はありません。
    (arpテーブルから消えたら、いくらターゲットのIPアドレス目掛けてパケットを投げようが、目的のMACアドレスとの紐付けがないのですから、投げようがありません)
    または(ルータに機能があれば)静的にarpテーブルに登録させることでしょうか。

    • unimoni

      はらぴーさん、はじめまして。
      コメントありがとうございました。

      ———————————————–
      WoLパケットは『どうにかして』そのネットワークのブロードキャストアドレスに投げるしか方法はありません。
      (arpテーブルから消えたら、いくらターゲットのIPアドレス目掛けてパケットを投げようが、目的のMACアドレスとの紐付けがないのですから、投げようがありません)
      ———————————————–

      やっぱり、原因と対策はそうなんですね。
      スッキリしました。ありがとうございます!!

コメントを残す

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