2013-02-19

突然名前解決できなくなる(次回対策用私的メモ)

今朝、自分のPCを起動して社内の他のPCにアクセスしようとるすと、失敗する。
昨日まで全く問題なかったのに。

  > ping his_pc

とやると、

Ping request could not find host his_pc. Please check the name and try again.

とか返ってくる。以前も同じようなことが数回発生した記憶があるが、解決方法については明確な記憶はなく、記録もとらなかったので、例によって後悔しきり。 よって、今回は本稿に記すことにした。

で、次に

> nslookup his_pc

とやると、


Server:  internal_dns.company.jp
Address:  192.168.0.254

Name:    his_pc
Address:  192.168.0.100


と返ってくる。で、

> ping 192.168.0.100

をやると、正常に応答がある。
よって内部DNSは正しく動作しているようだ。が、前回、内部DNSのレコードが誤って記録されていて、それを修正することにより治ったような記憶が微かにあるので、念のため内部DNSを調べてみる。やはりhis_pc のレコードの内部IPは正しく登録されている。次に第3のPCから

> ping his_pc

をやると正しく応答するので、小生のPCのDNSキャッシュ(DNSリゾルバ・キャッシュ)がおかしいようだ。そこで 

> ipconfig /displaydns

をやってみると、予想に反し、his_pc に関する情報が表示されない。予想では his_pc レコードに誤った値が登録されている筈だったのだが… 本来、ipconfig /displaydns についてちゃんと調べるべきなんだろうが、今日は時間切れ、つか面倒になってきたので、エイヤ!と

> ipconfig /dnsflush

 を実行。 すると、名前解決できるようになった。
1年後、同様の現象が起こったら、その時は /displaydns やDNSリゾルバ・キャッシュをちゃんと調べようと誓うのだった。


(土屋)


参考リンク
TCP/IPの設定を確認する「ipconfig」
WindowsのDNSキャッシュをクリアする方法 ‐ CClener の新バージョンではキャッシュが見れるらしい