| [Network] | |||||||||||||
名前解決のトラブルシューティング(DNSリゾルバ・キャッシュ編)
|
|||||||||||||
|
|||||||||||||
| 解説 |
DNSとは、IPアドレスと名前(FQDN名)を(相互に)変換するためのデータベース・サービスであるが、Windows 2000やXPのDNSクライアントには、DNSサーバに問い合わせた結果をシステムの内部にキャッシュしておいて、外部のDNSサーバへの問い合わせをなるべく抑制するという機能が含まれている。これを「DNSリゾルバ・キャッシュ」といい、実際には「DNS Client」サービスが担当している。「リゾルバ(resolver)」とは、名前解決(name resolution)を行うための機能やサービスのことを指す(一般的にはネーム・リゾルバと呼ばれる)。
ネットワーク上のサービスを使う場合、さまざまな場面でFQDN名からIPアドレスへの変換が必要となる。例えばWebブラウザでURLを指定した場合や、エクスプローラでネットワーク上のサーバにある共有リソースを使う場合など、ほかのマシン上のリソースを使う場合は、ほとんどいつもDNSサーバへアクセスしていると考えてよいだろう。Windows 2000やXPでは、従来のWindows 9xやMe、NTなどと違って、このDNSの名前解決に頼る部分が大幅に増えている(従来はNetBIOSのブロードキャストなどを使った名前解決が多かった)。そのため、リゾルバ・キャッシュを使うと、DNSサーバへのクエリーすることなく、アプリケーションに対して高速に応答が返せるし、ネットワーク・トラフィックの抑制にも役に立つ。
Windows 2000/XPにおけるDNSリゾルバ・キャッシュは、次のようにして機能している。
- クライアントがDNSによる名前解決を希望した場合、実際のDNSサーバに問い合わせる前に、まずDNSのリゾルバ・キャッシュの内容を調査する。この中にすでにキャッシュされたDNSのレコードがある場合、その内容をクライアントへ返す。
- キャッシュにヒットしなかった場合は、実際のDNSサーバへクエリーを発行し、その結果のDNSレコードをクライアントへ返すとともに、DNSキャッシュへも格納する。DNSサーバが複数存在する場合は、「TIPS―優先DNSサーバと代替DNSサーバの動作について」のようにして、各DNSサーバへ(繰り返し)クエリーを発行する。DNSサーバからの応答が否定応答(応答が戻ってこないのではなく、そのレコードは「存在しない」という結果が戻ってくること)が戻ってきた場合も、その結果をキャッシュしておいて、以後はクライアントへ否定応答を返す。
- キャッシュに保持される時間には限度がある。DNSサーバから返された結果のレコード(SOAリソース・レコード)には必ずTTL(Time To Live。生存時間)が指定されているので、その時間になるまではDNSサーバに対する再クエリーは行われない(キャッシュされる)。ただしこの有効時間は(デフォルトでは)最大で1日(8万6400秒)に制限されており、1日以上経過すれば、元のDNSレコードのTTLにかかわらず、キャッシュから破棄される。否定応答の場合は、最大300秒キャッシュされ、その後キャッシュから破棄される。
- リゾルバ・キャッシュの内容は、システムを再起動したり、「DNS Client」サービスを再起動したりするとすべてフラッシュされ、初期値として、hostsファイルの内容や、システム内で最近解決されたFQDN名などがロードされる。
このように、DNSリゾルバ・キャッシュには、最近利用された名前解決の結果が記録されている。だが場合によっては、好ましくない(つまり、正しくない)名前解決の結果がアプリケーションに返されることがあり、ネットワークがつながらないなどのトラブルを引き起こすこともある。例えばLAN内でDHCPなどを使っている場合、場合によってはIPアドレスと名前の対応が変わってしまい、予期しないホストへ接続しようとしたりすることになる。ファイル・サーバやアプリケーション・サーバならば、固定的なIPアドレスを割り当てて運用することが多いので、このようなトラブルは起こりにくいかもしれないが、クライアントPCの場合は、起動するたびにIPアドレスが変わり、お互いにつながらないというトラブルが発生することがある。
また、ドメイン名やIPアドレス、(ISPなどで)ホスティングされているマシンやサービスの変更など、ネットワーク環境の移行などで名前とIPアドレスの対応が変わった場合も、注意が必要である。古いDNSレコードがキャッシュされていると、新しく設置したはずのネットワーク・サービスへつながらない、などというトラブルが発生しやすい。
このような場合は、キャッシュの内容を強制的にフラッシュ(破棄)して、確実にDNSサーバへの問い合わせが行われるようにする必要がある。また、ネットワークのトラブルシューティング作業を行う場合にも、予期しないDNSレコードに振り回されたりしないように、まずはこのリゾルバ・キャッシュのフラッシュをするように心がけておきたい。といっても、フラッシュする方法は非常に簡単である。
DNSリゾルバ・キャッシュの内容の表示
DNSリゾルバ・キャッシュの内容を表示するには、コマンド・プロンプト上で「ipconfig /displaydns」コマンドを実行する。これを実行すると、現在キャッシュに入っているDNSレコードの情報の一覧が表示される。場合によってはかなりキャッシュの内容が大きくなっているので、1度テキスト・ファイルにリダイレクトして保存させてから、エディタなどで検索するとよいだろう。
なお、DNSによる名前解決の状態を調べるためにnlsookup.exeコマンドを使うこともあるだろう(こちらの方が多いだろうが)。だがこのコマンドを使うと、DNSリゾルバ・キャッシュの内容とは関係なく、DNSサーバに直接問い合わせが行われ、その結果が表示される。そのため、クライアント・アプリケーションから見たDNSの名前解決の結果とは必ずしも一致しないので、ケース・バイ・ケースで使い分けていただきたい。
C:\>ipconfig /displaydns |
DNSリゾルバ・キャッシュの内容のフラッシュ
DNSリゾルバ・キャッシュの内容をフラッシュ(破棄)するには、コマンド・プロンプト上で「ipconfig /flushdns」コマンドを実行すればよい。システムを再起動したり、「DNS Client」サービスを再起動したり、Windows XPならば「ネットワークの修復」([ネットワーク接続]ツールで、使用しているネットワークのアイコンを右クリックし、メニューから[ネットワークの修復]を選択する)などを行っても同様の効果があるが、コマンド・プロンプト上でこのコマンドを実行するのが一番簡単でよいだろう。
C:\>ipconfig /flushdns |
| 関連記事 | ||
| Windows TIPS:優先DNSサーバと代替DNSサーバの動作について | ||
| 関連リンク | ||
| LAN または高速インターネット接続の修復オプションについて(マイクロソフト サポート技術情報) | ||
| WinInet で DNS 名前解決キャッシュの更新を反映する方法(マイクロソフト サポート技術情報) | ||
| 「Windows TIPS」 |
TechTargetジャパン
- IE9/IE10での表示の乱れを互換表示機能で解消する (2013/4/12)
Internet Explorer 9/10で表示が乱れるWebページは、互換表示ボタンをクリックすると正しく表示できることがよくある。でもボタンが表示されない場合は? - Internet Explorer 10のHTML5/CSS3対応度は? (2013/4/11)
Win 8に搭載されているIE 10が、Win 7 SP1向けにも提供開始。新機能は? ほかのWebブラウザに比べてHTML5への対応度は? IE 10の進化度を探る - Android端末を無線LANに接続する(基本編) (2013/4/10)
社内でも外出中でも自宅でも、携帯端末の活用に無線LAN接続はいまや必須。Androidから無線LANアクセス・ポイントに接続する手順や注意点を解説 - 第360話 MECE (2013/4/9)
モレもダブりもないように整理して考えるのがミーシーだ。身近な例を挙げてミーシーについて考えてみよう
|
|
- iOS SDK開発でOSSライブラリを使う際の基礎知識
- スループットの飛躍的向上を実現したMU-MIMO
- IE9/IE10での表示の乱れを互換表示機能で解消する
- アイデアを出すためのイベントに、いつ行くの?
- Edge Animateでスライドショーを作ってみよう
- 大切なパスワードをつなぐひみつマネージャ
- Internet Explorer 10のHTML5/CSS3対応度は?
- Android 4.x時代のアプリにないと残念なActionBar
- Play 2.1にアップグレードしてコントローラを使いこなす
- 文字列以外の値をコントロールにバインドするには?
- Windowsアプリの受け入れテストを自動化しよう
- Android端末を無線LANに接続する(基本編)
キャリアアップ
- - PR -
イベントカレンダー
- - PR -
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
「ITmedia マーケティング」新着記事
スマートデバイス普及の影で忘れがちなモバイルCRMのセキュリティ
スマートデバイスが普及したおかげで情報共有やコミュニケーションが円滑になった。しか...
ジーニー、日本/アジア地域でインターネット広告枠を売買できる「Geniee Global Marketplace」を開設
インターネット広告代理業および広告配信プラットフォーム「Geniee SSP」を提供するジー...
フューチャースピリッツ、アルフレッドコアと共同でマルチプラットフォームに動画配信できるCRMサービスを提供開始
会員制サイト構築が可能なCRMサービス『カスタマーダイレクト』を提供するフューチャース...