n-Archives.net

nWOLのDynamic DNS(DDNS)対応について

目次


 

nWOLの2つのIPアドレス処理モード

Windowsの Wake on LAN (WOL)ツールである nWOL Ver.1.6 では、ホストのIPアドレスの処理機能を拡張し、DNSによる名前解決、Dynamic DNS (DDNS)による名前解決に対応しています。これを実現するため、nWOLのIPアドレス処理方法は、従来からの「IPアドレスモード」と、ホスト名のDNS解決を行う「DNSモード」の2種類が存在します。

nWOLの2つのIPアドレス処理モード
モード 説明 IPアドレス自動修正機能 ホスト名自動修正機能
IPアドレスモード 直接IPアドレスを処理するモードです。IPアドレス欄に 192.168.0.10 などのアドレス形式を直接記入します。nWOLのIPアドレス自動修正機能が有効になっていると、IPアドレスの変更が検知されると自動的に更新されます。
IPアドレス欄が空欄の場合も、IPアドレスモードとなります。
DNSモード ホスト名、FQDNを用いて、DNS、または、NetBIOSによる名前解決を行い、IPアドレスを取得します。 ×

 

IPアドレス欄の設定のしかた

nWOLの設定画面のIPアドレス欄の設定により、「IPアドレスモード」「DNSモード」のいずれで動作するかが決まります。このモードは、ホストごとに決まり、次回、設定が変更されるまで途中でモードが変わることはありません。ホストのIPアドレス欄への記入方法については、以下の通りです。

IPアドレス欄記入方法
IPアドレス
処理モード
記述 IPアドレス欄記述例 説明
IPアドレスモード IPアドレス 192.168.1.10 IPアドレス形式で記述。
空欄 (何も記入しない) IPアドレスを省略。
DNSモード ホスト名 myserver1 DNS、または、NetBIOSで解決されます。
FQDN myserver1.foo.co.jp DNSで解決されます。
* * ホスト名欄の文字列が名前解決に使われます。

 

IPアドレスモード

IPアドレスモードでは、直接IPアドレスを設定します。このモードではIPアドレス自動修正機能を利用することができます。その場合、IPアドレス自動修正機能によりIPアドレスが検知されると、自動的にIPアドレスが更新されます。IPアドレス欄が空欄で設定した場合も「IPアドレスモード」になりますので、IPアドレスが検知されると、そのIPアドレスに更新されます。

 

IPアドレスが不明(IPアドレス欄が空欄)の場合も、マジックパケットは送信できますが、同じLAN内のPCを起動する場合にのみ有効となります。

 

DNSモード

DNSモード概要

ホスト名、FQDN名などからDNS名前解決によりIPアドレスを取得します。

IPアドレス自動取得機能が有効になっていても反映されません。

何らかの要因で名前解決ができなかった場合、以下のような影響があります。

  • pingが送信できませんので、ホストの状態を調べることができません。
  • マジックパケットは送信できますが、同じLAN内のPCを起動する場合にのみ有効となります。

 

ルータを経由した先のPCを起動するためには、名前解決が正しくできていること、および、ネットマスクが正しく設定されていることが必要になります。

 

DNSモードでの名前解決の流れ

DNSモードでは、以下の順で名前解決が試みられます。

  1. 自ホストであるか確認する
  2. 自ホストに登録されているホストであるか確認する(hostsファイルなど)
  3. DNSサーバへ問合せ
  4. NetBIOSによる名前解決

参考:Microsoft TCP/IP Host Name Resolution Order (Microsoftのページ)

 

さらにnWOLでは、上記の名前解決が失敗した場合、nWOLの設定画面で設定した「DNSサフィックスリスト」を使用して、再度名前解決を試みます。詳細は以下の「DNSサフィックスリストの設定」の章を参照してください。

 

NetBIOSによる名前解決

NetBIOSで名前解決を行う場合、構成により、対象のホストが起動していないと結果を取得できないという仕組みになっているようで、その場合、対象のホストからの応答を待つため、2~3秒の待機時間が生じる場合があります。

例えば、nWOLのIPアドレス欄にホスト名( "." を含まない文字列)が設定されている場合、NetBIOSで名前解決が試みられる可能性があります。対象ホストが起動していない時には、名前解決の問合せを出してから応答があるまで待ち時間が生じることがあります。nWOLでは、待機中も処理をブロックしないよう、非同期的に処理を行っているので、ほぼ意識せずに済むのですが、コマンドラインのツール、nWOLc.exe では、同期的に処理されますので、待ち時間が発生することがありますのでご注意ください。

 

NetBIOSの仕様上、一度解決された情報は10分間キャッシュされて残る仕様になっています。そのため、Windows PCを停止してもしばらくは、名前解決はできる状態になりますが、約10分後に、名前解決ができなくなります。

 

ホスト名文字列をそのまま利用する "*" 設定

IPアドレス欄に "*" を記入すると、ホスト名欄の文字列が名前解決に使われます。この機能は、「ホスト名自動修正機能」とあわせて利用すると便利だと思います。

「Scan機能」や、「ホスト名自動修正機能」では、各ホストのNetBIOS名を取得し、その名前を自動的にホスト名欄に設定します。"*" を指定することで、そのNetBIOS名をそのまま名前解決に使えます。また、もし、NetBIOS名が変更になっても自動的に「ホスト名自動修正機能」で更新されますので、手がかかりません。

その場合の nWOLでの見え方について補足しておきますと、

  • 対象ホストが起動していない時は、NetBIOSの応答が得られず、名前解決に失敗するので、nWOLメイン画面上の状態表示は "D" となります。この状態はホストが起動していない状態だと理解すればよいと思います。
  • 起動していない状態の時でも、nWOLの起動ボタン(マジックパケット送信)は可能です。対象ホストが同じLAN内にあれば、マジックパケット送信で起動することが可能です。
  • 対象ホストが起動すると、NetBIOSの名前解決が行われる→IPアドレスが判明する→pingで状態を把握することができる→結果としてほぼリアルタイムでnWOLの状態表示に "On" と表示されます。

上記の動作となりますので、対象ホスト停止中は名前解決は行えませんが、結果として通常通り使用できる形になると思います。

 

DNSサフィックスリストの設定

DNSサフィックスの設定は、Windows OSの設定においても存在し、以下の2種類があります。

  1. プライマリDNSサフィックス
    Windows10で、Windowsメニュー → 設定 → システム → 詳細情報 → システムの詳細設定 → 「コンピュータ名」タブ → 「変更」ボタン → 「詳細」ボタン、で表示される画面から、プライマリDNSサフィックスが設定できます。ADドメインに参加している環境であれば、もしかするとここは自動的に設定されているのかもしれません。
  2. ネットワークアダプタごとのDNSサフィックスの設定
    Windows10で、Windowsメニュー → 設定 → ネットワークとインターネット → イーサネット → アダプターのオプションを変更する → 対象のネットワークアダプタを右クリックし「プロパティ」を選択 → 「インターネットプロトコルバージョン4(TCP/IPv4)」を選択 → 「プロパティ」ボタン → 「詳細設定」ボタン → 「DNS」タブ、で表示される画面からDNSサフィックスを設定できます。

上記2つのDNSサフィックス情報は、通常のDNS名前解決の際に、利用されていると思われます。

 

一方、上記のWindowsでのDNSサフィックスだけでなく、nWOLアプリケーション独自に DNSサフィックスリストを設定できます。設定画面のDNS
サフィックス欄に登録してください。複数のサフィックスを登録する場合は ":" で区切って設定してください。

通常のDNS名前解決に失敗した場合、設定したDNSサフィックスを一つづつホスト名に付けて、名前解決が試みられます。

 

Dynamic DNS(DDNS)環境におけるDNSモードの利用例

Active Directory で管理されたNWでの利用

会社のLANなどでは、Active Directory で管理されたNWであるところも多いと思います。Active Directory と DNSを連携させることも可能であり、さらに、DHCPと連動させ、ドメイン内PCの現在のIPアドレスをリアルタイムにDNSで取得できるようにもなっているようです。

このような環境においては、nWOLに、ホストのFQDN名などを登録しておくことにより、現在のIPアドレスをDNSから取得することができるようになります。

 

と言いながら、大変申し訳ないのですが、私自身このような環境を使ったことがないので、本当にこのような形でできるのかちょっと不安です。本当に使えるのか、また、現在のnWOLの実装に改善が必要な点などあれば、コメントいただけると嬉しいです。

 

Dynamic DNSで登録された自宅のPCをインターネットから起動する

Wake on LAN関係の記事を見ていると、インターネットから自宅のPCを WOL 起動させる設定の記事を見かけます。インターネットからの Wake on LAN なので、Wake on WAN(WOW) と呼ぶこともあるようです。

インターネットに接続した端末 → (インターネット) → 自宅のルータ → 自宅プライベートLAN内のPC

というルートです。

自宅のプライベートLANにインターネットからの穴を開けることになるので、ちょっと気にはなるのですが、自宅サーバでインターネット向けにホームページ配信を行っている方もいらっしゃるようですので、必要なケースもあるのでしょうね。

昨今では、光回線などに接続するルータ(通常通信事業者から提供されるもの)には、インターネット(WAN)からのWake on LAN パケットをLAN側のPCに転送する機能を備えているようなので、インターネットから自宅PCを起動するという方も実は少なくないのかもしれません。

また、この仕組みを実現するためには、ルータに動的に割り当てられるグローバルIPアドレスを取得しなければならないため、Dynamic DNSという仕組みを利用する必要があります。このサービスを提供する事業者もいくつかあるようです。

 

このようなケースにおいても、WOLクライアントソフトとしてnWOLを利用することで遠隔起動が可能になります。Dynamic DNS に登録したFQDNをIPアドレス欄に登録すれば、いけるのではないかと思います。

 

こちらのケースも、私自身は環境がないので確認できてないです。成功事例、改善点などありましたら、コメントいただけると助かります。

 

Related Articles

 

この記事へのコメント

管理者   2022-08-15 23:51:41
drCSさん、今回の構成、
drCSさんの端末<-->drCSさんローカルサイト<--(VPN接続)-->リモートサイト<--> 起動したいサーバ
のように理解しました。また、ご説明から以下のように理解しました。
・drCSさんの端末から起動したいサーバに直接pingが届いている。
・起動したいサーバの共有フォルダが、drCSさんの端末のネットワークドライブに設定されている。
上記認識があっているとすると、ネットワーク接続状態は問題なさそうですね。

遠隔でのWOL起動の場合、IPアドレスと、ネットマスクの設定を正しく行わないと起動できません。ネットマスクについても正しく設定しないとWOL起動できません。分からない場合は、直接、起動したいサーバで、コマンドプロンプトから ipconfig /all で確認するなどしてネットマスク(サブネットマスク)を確認してみてください。

それでも起動しない場合、VPN接続の環境設定などでフィルタリングされていて、マジックパケット(宛先UDP/9)が届いていないといったこともあるかもしれません。

ところで、
> 起動出来ていたと思うのですが、出来なくなっているようで、設定内容確認したく宜しくお願いいたします。
これは、1.7.73とかではできていたのが、1.7.75でできなくなった、ということをいわれてますでしょうか?

drCS   2022-08-15 19:15:02
お世話になっております。1.7.75ありがとうございます!
VPN接続確立状態においての設定についてお尋ねします。相手ip範囲でPing確立し、hosts設定OKでホスト名にてドライブ割当も出来ている環境でのnWol設定ですが、
ホスト名、MACはそのもの設定したとして、IPアドレスとネットマスクは気を付ける点ございますでしょうか?
起動出来ていたと思うのですが、出来なくなっているようで、設定内容確認したく宜しくお願いいたします。
尚、相手ネットワーク内ではnWolにてWOL起動OKです。

管理者   2022-06-12 19:09:41
drCSさま。レスポンスが遅くすみません。ご指摘の通り、自宅のルータなどにパケットを送信する場合、送信先は自宅ルータのIPアドレスを直接指定する必要がありますが、その場合、ネットマスクを /32 または 空欄にしていただければ、IPアドレスの直接指定になります。よろしくお願いします。

drCS   2022-05-30 09:56:14
ありがとうございました。
いつも詳細にご回答いただき、とても分かりやすく感謝します。

ルータのポート変換では、行先がマックアドレスではなくipアドレス指定なので(ブロードキャストだと結果同じかもしれませんが)、設定個所があるといいなと思いました。(マックアドレスはパケットを作るために使うということで)
新しい1.7.73ではポート欄ありがとうございます。試してみたいと思います。

管理者   2022-05-26 17:56:03
> FQDN設定の場合、ホスト名はなんでもいい。(自動修正ONなら使わない?一応「*」にしてます。)

「ホスト名」は単にそのホストの識別名ですので、基本的には任意の文字列を指定すればよいです。

「ホスト名自動修正機能」は、指定のMACアドレスを持つデバイスが
"同一LAN"に存在している場合、そのホスト名を「ホスト名欄」に設定する、という機能です。
今回のケースの場合、ホストは同一LANには存在せず、インターネットを介した遠隔に存在するため、
「ホスト名自動修正機能」はヒットしません。
ですので、「ホスト名欄」が書き換えられることはないと思います。

また、「IPアドレス欄」に「*」を記入すると、「ホスト名欄」の文字列がホスト名と解釈され
アドレス解決の名前に使われるようになります。
しかし、今回は「IPアドレス欄」にFQDN名を設定しますので、
このケースには当てはまらないと思います。

上記踏まえますと、「ホスト名欄」には任意の識別文字列を設定しておけば問題ないということになると思います。

drCS   2022-05-23 14:43:35
ありがとうございます!認識安心しました。ローカルでは未だ個々の機器で問題を持っているのでしょうが、一方向でWOL実現していますので、ルータは対応しています。追記ありがとうございます。
ありがとうございます→「現在nWOLで9番以外のポート番号を指定できるよう機能追加予定です」
左様でございます。繋がらないのにOnを調べていたところそうでした→「nWOL画面上のOn/Off表示は、自宅ルータのOn/Off状態が表示されますので注意してください。(ルータがpingにレスポンスを返さない場合 Off 表示となります。)」
nWOLの仕様に絡み、最後の「・FQDN設定の場合、ホスト名はなんでもいい。...」について、ご教示いただけると幸いです。よろしくお願いします。

管理者   2022-05-21 22:28:37
すみません、1点追加で設定する項目がありました。
ネットマスクについては、/32 (255.255.255.255)を指定する必要があります。
ルータに送信する場合、ブロードキャストアドレスではなく、IPアドレスに直接送信する必要があるからです。

記事の方も追記修正させていただきました。

管理者   2022-05-21 12:58:32
drCSさま、コメントありがとうございました。回答メッセージを作っていたら、記事になってしまいました。以下記事をご覧ください。

記事:インターネットから自宅のPCを遠隔起動する方法

まずは、ルータがWOLに対応しているかが重要ですので、機器のマニュアルなど確認してみてください。
ルータの仕様にもよりますが、コメントにいただいた項目については、おおむね正しいということになるのではと思います。

drCS   2022-05-20 14:39:43
とってもいいです!ありがとうございます!今WOW頑張ってます。認識あってますでしょうか。ご教示ください!
・MACアドレス欄には、起動したいPCのMACアドレスを記載する。
・相手ルーターにて、DHCP取得のグローバルIPならDDNSして、FQDNでそのIPが参照できるようにしておく。
・相手ルーターには、対象(MACアドレス)のローカルIPアドレスのUDP9番へポート変換設定しておく。
・相手ルーターは、PING応答できるようにしておく。
・FQDNから自動でIP取得->接続->UDP9番に記載の起動したいPCのMACアドレスで作ったパケットを送る。
・FQDN設定の場合、ホスト名はなんでもいい。(自動修正ONなら使わない?一応「*」にしてます。)
よろしくお願いします!

コメントをお送りください
お名前:
コメント:
コメントの公開:



管理者より個人的に返信をご希望の方は、コメント中に必ずメールアドレスを記載してください。記載がないと返信できませんのでご注意ください。

If you want personal response from the author, please do not forget to write your email address in the comment. Otherwise, the author can not reply.

投稿されたコメントは手動で処理されるため、記事として登録されるまで1日程度かかります。

Submitted comments will be processed manually. So, please understand it will take about a day to publish your comment.