色々とサーバにアクセスする際にhostsファイルに記述をしているのだが、あるPCでhostsが参照されていないという問題にあたった。
通常hostsは
%windir%\system32\drivers\etc
にある。
192.111.111.11 aaaa
と書くと、aaaaで接続が可能なのだが、aaaaだと不可でipでpingを飛ばすと通る。
つまり名前解決が上手くいっていない。
・hostsを参照していない可能性
hostsを入れる場所のパスはレジストリに書いてあるのだが、その値がおかしくなっている場合がある。
キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
名前: DataBasePath
しかし、ここは変更されることはないので、変更されていたらおかしいと思うべき。
結局ここは問題なかった。
%windir%\system32\drivers\etc
・dnsキャッシュを消去してみる
キャッシュで不具合があるかもしれないので
ipconfig /displaydns
で確認して
ipconfig /flushdns
や
net stop dnscache
で消去
やっぱり参照してくれない。
もうお手上げなので最終手段。
lmhostsを使用しています。
hostsと同じフォルダに入っているlmhosts.samをlmhostsにリネームしてその中のサンプルを参考にhostsと同様に記述。
lmhostsを使用する場合はTCP/IPの設定でLMHOSTSを参照するにチェックを忘れずに。
う~ん hostsが有効にならない原因ってなんなのかなぁ。