nslookupでホスト名引けるのにpingに失敗する@Windows

自前のDNSサーバをたてて、ホストを登録してWindowsから登録したホストにpingを飛ばそうとしたら失敗します。

例えば、centos というホスト名を登録したとします。この時、nslookupの結果は以下のようになります。

C:\Users\user1>nslookup centos
サーバー: dns1
Address: 172.16.0.1

名前: centos
Address: 172.16.0.10

 

なのに、ping を打つと以下のようにエラーとなります。

C:\Users\user1>ping centos
ping 要求ではホスト centos が見つかりませんでした。ホスト名を確認してもう一度実行してください。

 

これは、Windowsのネットワークの名前解決の仕様に原因があります。

Windowsは、”.” (ドット) を含まないホスト名は、DNSを見に行きません!

つまり、今回登録したホスト名 “centos” に ping を打つ場合、DNS を使いません。その結果、上記のエラーが発生していたようです。

よって、ホスト名に”.”をつけるとDNSを見に行ってくれます。

C:\Users\user1>ping centos.
centos [172.16.0.10]に ping を送信しています 32 バイトのデータ:
172.16.0.10 からの応答: バイト数 =32 時間 =3ms TTL=63

 

参考 : https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb457118(v=technet.10)

タイトルとURLをコピーしました