Windowsにおける名前解決の順番

仕事で、ユーザーにWindowsパソコンを導入したり、トラブルでお伺いした時に、時々、サーバーに「つながらない」「アクセス出来ない」などの、トラブルに遭遇する場合があります。

その時原因としては、以下のようなものがあります。

【物理的な原因】

  • 電源が入っていない
  • ケーブルが抜けている
  • ハードウェア障害
  • ソフトウェア障害

【人為的な原因】

  • 設定が間違っている
  • 操作が間違っている

上記以外に、たまに「IPアドレスだとアクセスできるのだけど・・」という、事象にあたる場合があります。

これは、「名前解決」に問題である可能性が高い!

Active Directory環境の場合は、ドメインコントローラーがDNSサーバーになり、名前解決は概ね、DNSサーバーで解決する事になるのですが、WorkGroup環境の場合や、混在環境の場合は、名前解決のプロセスが結構ややこしいです。

今回は、Windows PC(Windows 10)が名前解決する順番を調べてみました。

目次

Windows 10 名前解決の順番

以下、名前解決の順番で詳細記載します。

【1番目】DNSのリゾルバキャッシュ

日頃、PCでインターネットを見たり、サーバーにアクセスしたりする際、DNSに名前解決要求を行います。
その応答情報(名前とIPの紐づけ情報)もらいますが、その情報はPCにしばらく保存(キャッシュ※)されます。
※デフォルトで最大1日

キャッシュされている情報は、以下コマンドで確認可能
ipconfig /displaydns

キャッシュされている情報をクリアするには、以下コマンドを実行
ipconfig /flushdns

【2番目】 Hostsファイル

これは、強制的に名前(ホスト名)とIPの紐づけをPCに登録するために使用します。

例えば、社内のサーバーの名前をHostsファイルに登録し、DNSやその他の仕組みで、名前解決出来なくても問題なく名前解決が出来ます。

ファイルの場所は、以下です
"%SystemRoot%\system32\drivers\etc\hosts" 

メモ帳で開き、サンプルを参考に、以下、赤線行のように記載します。

【3番目】 DNSサーバー

次に、PCのネットワークアダプターに設定してある、DNSサーバーに問い合わせを行います。

問い合わせをコマンドで確認する場合は、以下コマンドを実行します
nslookup

【4番目】NETBIOS

最後、これが結構厄介です。

「NETBIOS」とは、Windows特有の名前の仕組みです。
Windowsコンピューター名は、DNSで使用される「ホスト名」とは別に、「NETBIOS名」があります。

この「NETBIOS名」は、同じセグメントであれば、ブロードキャストで、勝手に名前解決をしてくれます。
便利ですが、名前解決がややこしくしている原因でもあります。

まず、キャッシュを確認します。以下コマンドで確認可能
>nbtstat -c

キャッシュをクリアするには、以下コマンドを実施します
>nbtstat -R

次に、「ブロードキャスト」や「WINS」、「LMHOSTSファイル」を確認します。
「LMHOSTS」ファイルの場所は以下です。

メモ帳で開き、サンプルを参考に、以下、赤線行のように記載します。

以上のような流れで、Windowsは名前解決を行います。

この順番を変えるには、レジストで変更が可能です。

レジストリの場所は、以下になります
\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\ServiceProvider

若い番号から、名前解決が行われますので、レジストリ値を変える事で、名前解決の順番を変更する事ができます。

以上になります

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

目次