他力本願による名前解決(mDNS)
はじめに
Windowsパソコンでホスト名.localをIPアドレスに変換できない場合があるのはバグのようです。
WiFiが機内モードやローミングから復帰したり、ノートPCでディスプレイを閉じたりしたりして、スリープモードに移行し、同じSSIDのWiFiから切断された後に再接続する場合に問題が発生するようです。Windows11でも同様の問題があるようです。
MDNS not sending queries to the network(英語サイト)
例えば、mDNSが不調の場合、pingを行うと次のように表示されます。
C:¥> ping raspberrypi.local
ping 要求ではホスト raspberrypi.local が見つかりませんでした。ホスト名を確認してもう一度実行してください。
スマホアプリによる解決方法
WindowsのmDNSに任せず、スマホのアプリで名前解決する方法がありますので、試してみて下さい。
(アプリのインストールは自己責任でお願いします)
スマホは名前解決の対象となるホストと同じWiFiもしくは有線LANに接続する必要があります。
Appleユーザ(iPhone, iPad)
Network Analyzerというアプリをインストールします。
ホスト名を入力してpingするとIPアドレスが表示されるので、そこに表示されたIPアドレスにWindowsPCからping、sshしてみる。(IPアドレスが192.168.1.10であった場合の例)
$ ping 192.168.1.10
$ ssh pi@192.168.1.10
App Store
Androidユーザ
Androidユーザは、Network Analyzerもありますが、
.Local Finder (mDNSによるIPアドレス検索)というアプリもあります。
名前解決したいホストの名前を入力欄に入れます。
.localは入力する必要はありません。
アプリで取得したIPアドレスに対してWindowsPCからのping、ssh行う方法はAppleユーザと同じです。
Google Play
実行例
Network Analyzerと.Local Finderの実行例を示します。
この例では wsjt-pi というホストの名前解決を行なっています。
iPadでNetwork Analyzerを使用
- Pingを選択する。
- 「ホスト名.local」を入力する。
- Startをクリックする。Startの文字がStopに変わる。
- Ping応答が確認できたらStopをクリックする。
Androidで.Local Finderを使用
- 「Input local name」欄にホスト名のみを入力。.localは不要。
- 虫眼鏡のボタンをタップ。
Discussion