本連載の第4回で、arpキャッシュの話をしました。Windowsはarpキャッシュ以外に、IPアドレスとFQDNホスト名のキャッシュを持っています。

 これはWindowsで管理しているIPアドレスとFQDN名の対応表で、「DNSリゾルバーキャッシュ」と言います。DNSサーバーに問い合わせた結果をWindowsシステムの内部に保持しておいて、外部のDNSサーバーへの問い合わせをなるべく減らす仕組みになっています。

 一度通信した相手のIPアドレスとFQDN名が対応付けされ、キャッシュに格納されます。通信する際、まずDNSリゾルバーキャッシュを参照し、FQDN名に対応するIPアドレスがあるかどうかを確認します。一致するFQDN名があれば、それに対応するIPアドレスを使って通信を開始します。

 DNSリゾルバーキャッシュ内に保持する有効時間は、デフォルトで86400秒(1日)です。この時間を過ぎれば、キャッシュから破棄されます。また、OSを再起動した場合にもキャッシュのデータはクリアされます。

通信できないときはキャッシュ内容を確認

図1●写真1●ipconfig /displaydns
[画像のクリックで拡大表示]
図2●写真2●ipconfig /flushdns
[画像のクリックで拡大表示]

 変更前の古いIPアドレスで通信すると失敗します。その場合、コマンドプロンプトで以下のように実行し、DNSリゾルバーキャッシュの内容を表示して確認してみましょう(写真1)。

ipconfig /displaydns

 IPアドレスとFQDN名の対応付けが間違っている場合は、コマンドプロンプトで以下のようにし、古くなった情報を削除します(写真2)。

ipconfig /flushdns

 その後FQDN名でアクセスを行うと、DNSサーバーへ問い合わせを行い、正しいIPアドレスを取得してキャッシュに保持します。これで正しく通信できるようになります。

遠藤 一義(えんどう かずよし)
トライポッドワークス ソリューション開発本部
セキュリティ製品統括部 シニアマネジャー
遠藤 一義(えんどう かずよし) 2010年から日経NETWORK主催のネットワークコマンド実習講座の講師を務める。日経NETWORK連載「管理者のためのコマンド活用講座」、「Wiresharkを使ったトラブル解決テクニック」を執筆のほか、「絶対わかる!ネットワークコマンド活用超入門」(日経BP社)などに寄稿。ネットワークエンジニアのつれログを運営中。1965年1月生まれ、宮城県仙台市出身。