Windows と APIPA を使用した名前解決のデバッグ

Windows と APIPA を使用した名前解決のデバッグ

実験室の機器については、どこでもデフォルト設定を使用し、IP自動設定(APIPA または zeroconf だと思います)。これらをプライベート スイッチに配置しました。

これまでは常にホスト名でアドレス指定できましたが、これは mDNS 経由で機能すると思います。

今、私は 1 つのデバイスを同一のデバイスに交換しましたが、突然これが機能しなくなりました。

C:\>ping FSW26-101414
Ping request could not find host FSW26-101414. Please check the name and try aga
in.

機器は確実に起動しており、ホスト名も間違いなく正しいです。

C:\>ping 169.254.27.85

Pinging 169.254.27.85 with 32 bytes of data:
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128

Ping statistics for 169.254.27.85:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

その理由は何でしょうか? 問題は「ホスト」ですか、それとも「クライアント」ですか? これをデバッグするにはどうすればいいでしょうか?

答え1

ローカルの名前解決では複数のプロトコルが使用される場合があります。クライアント OS 別にグループ化されています。

  • Windows 10(どのリリースかは不明ですが、10.1803以降)はAppleメートルDNSプロトコル(ポート5353へのUDPマルチキャスト)。名前クエリはマルチキャストグループ224.0.0.251とFF02::FBに送信されます。これはIP設定に依存しません(Zeroconfスイートの一部であるにもかかわらず、APIPAを使用したり暗示したりすることはありませんし、その逆も同様です)。登場LLMNR がアクティブなときは常にアクティブになります。

    (iTunes がインストールされている場合は、Windows のバージョンに関係なく、独自の mDNS クライアント (Apple Bonjour) が Winsock LSP としてインストールされます。Bonjour はサフィックス付きの名前のみを解決します.localが、組み込みクライアントは単一ラベルの非 TLD 名も受け入れます。)

  • Windows VistaおよびServer 2008以降では、言語プロトコル (ポート 5355 への UDP マルチキャスト)。名前クエリは、マルチキャスト グループ 224.0.0.252 および FF02::1:3 に送信されます。これは IP 構成に依存せず、ネットワーク検出がアクティブである限りアクティブです。

  • すべてのWindowsバージョンがサポートされていますNetBIOS ネーム サービスプロトコル(UDP/IPv4ブロードキャストポート137、および一部の複雑な「マスター ブラウザ」選出)。私が理解している限りでは、名前クエリはブロードキャストされます。これは IP 構成に依存しませんが、SMBv1 がインストールされ、有効になっている必要があります。

どのような「実験装置」を使用しているかはわかりませんが、これらのプロトコルのいずれかかもしれないWindows 以外のデバイスでサポートされる必要があります (たとえば、Linux では、mDNS は Avahi または mDNSResponder によって実装され、LLMNR は systemd-resolved または xllmnrd によって実装され、NBNS は Samba nmbd によって実装されます)。多くのデバイスは mDNS に対応しています。プリンターは、これら 3 つすべて、またはそれ以上に対応する傾向があります。

マルチキャストベースのプロトコルのトラブルシューティング方法:

  1. インストールパケットキャプチャツール
  2. LAN インターフェースに向けます。
  3. 名前を解決して、コンピューターが期待どおりの LLMNR または mDNS クエリ パケットを生成するかどうか、および他のデバイスが応答を生成するかどうかを確認します。
  4. 他のデバイスを再起動して(またはネットワークに再接続して)、そのデバイスが自分の名前をアナウンスするかどうかを確認します。登録パケット。

注意してnslookupくださいない一般的な名前検索ツールです。厳密にユニキャスト DNS クライアントであり、mDNS/LLMNR/NBNS にはまったく役立ちません。

関連情報