web-dev-qa-db-ja.com

末尾のドットがないとローカルホスト名が機能しない

Android電話でLANスキャンツールを使用すると、すべてのローカルホスト名の末尾にドットが付いていることに気付きました。これがないと、Windowsからpingを実行できません。デスクトップ(私のLinux VMからは正常に動作します):

C:\Users\dnll>ping router
Ping request could not find Host router. Please check the name and try again.

C:\Users\dnll>ping router.

Pinging router [192.168.1.1] with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64

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

http://router./が機能しないため、http://router/を入力する必要があるため、ルーターのWebUIにアクセスしようとするとより明白になります。 dnsmasqを有効にしてDD-WRTを使用していますが、それが問題になるかどうかはわかりません。 WindowsPCからドットなしでホスト名に到達できるようにしたいと思います。

dnsmasq settings

ローカルDNSを無効にしようとしましたが、あまり成功しませんでした。

これが私のデスクトップからのipconfig /allです:

C:\Users\dnll>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : desktop
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) Ethernet Connection (5) I219-V
   Physical Address. . . . . . . . . : 70-4D-7B-67-7C-FD
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.1.205(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : December 12, 2018 18:11:50
   Lease Expires . . . . . . . . . . : December 17, 2018 00:21:37
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

私が知っている私のWindows構成について本当に特別なことは何もありません。私はドメインを使用していませんが、少なくとも私が知っていることはありません(念のため、router.localまたはrouter.mydomainにpingを実行しましたが、成功しませんでした)。

どうしましたか?

3
dan

DNSルックアップを強制するには、末尾のドットが必要です。これがないと、WindowsはNETBIOSやhostsファイルなどの他の方法を最初に試行する可能性がありますが、ドットが存在する場合は試行されません。ドットを付けると、ホスト名が完全に修飾されていることを意味します。そうでない場合は、DNSサフィックスが追加されます。最後の「ドット」は、指定されていない場合でも常にDNSに含まれます。

DD-WRTフォーラムの記事から ホスト名を解決できませんが、ホスト名を解決できます。(。)を使用

これは典型的なDNSの動作です。

「末尾のドット」は、完全修飾ドメイン名(FQDN)を示します。ドットがないと、pingしようとしている名前があいまいになります(いくつかの可能な意味または解釈があります)。

ルーターで(たとえば)「ローカル」のLANドメインを指定することにより、末尾のドットの使用を防ぐことができます。次に、クライアントでDHCPを解放/更新します。

ping stan.local

ping stan

したがって、ルーターのホスト名がrouter.local.で、DNSリゾルバーの検索パスがlocalの場合、routerを検索すると、DNSクライアントは自動的に.local.そして、アドレスを正常に解決します。

4
harrymc