いつも見ているWebサイトが突然見れなくなったり、もしくは、いつものWebサイトから全然違うWebサイトが表示されてしまったりした場合の一つに、Windows内のDNSキャッシュが書き換えられた事が原因で、このような症状が起こる事があります。
そこで、インターネットへ接続してWebサイトの表示がされない場合や、いつもと違うWebサイトが表示されてしまう場合に試して欲しい方法です。
DNSキャッシュとは
そもそも、WindowsパソコンのDNSキャッシュとは何なのかを簡単に説明します。
Webサイトへアクセスする場合、”http://example.com”などURLを入力してDNSサーバーへ問い合わせを行います。
そこで、DNSサーバーからこの該当するドメインのIPアドレスが返答として返され、その返答されたドメインのIPアドレス参照して、IPアドレスに紐づけられているWebサーバーにアクセスして結果のWebサイトを表示させています。
この一度でもアクセスした事があるURLに対するIPアドレスを取得するのに、DNSサーバーへ何度も問い合わせを行うと、少なからず応答速度の低下を招きます。
そこで、この一度アクセスしたDNSサーバーからの返答のIPアドレスをWindows内にキャッシュとして残して、レスポンスを少しでも良くするのがDNSキャッシュという機能です。
Windowsパソコン内に保存されるこのDNSキャッシュに、該当ドメインのIPアドレスが違った形でキャッシュされていると、いつまでも他のWebサイトへアクセス(もしくは、該当するWebサイトがありませんなどの反応)してしまう状況になります。
そこで、このWindowsのDNSキャッシュをクリアする事で、再度DNSサーバーに問い合わせを行うことになるので、本来のドメインに対するIPアドレスをキャッシュさせる事が出来るようになります。
WindowsのDNSキャッシュ情報を見る
まず、コマンドプロンプトを立ち上げます。
[スタート]-[すべてのプログラム]-[アクセサリ]内に”コマンドプロンプト”があります。
もしくは、[Windowsキー]+[Rキー]で”ファイル名を指定して実行”ウィンドウを開いて”cmd”を入力してもコンドプンプトが立ち上がります。
そして、コマンドとして、”ipconfig /displaydns”と入力したら現在DNSキャッシュされている情報が表示されます。
- レコード名=ホスト名(URL)
- A(ホスト)レコード=IPアドレス
を表しています。
もしこの表示されたリストの中に見たいWebサイトのURL等が記録されていたら、一度DNSキャッシュクリアをしてみて下さい。
WindowsのDNSキャッシュ情報をクリアする
コマンドプロンプトでコマンドとして”ipconfig /flushdns”を入力します。
そうすると、現在WindowsのDNSキャッシュ情報がクリアされます。
ちなみにコマンドプロンプトの画面には、
Windows IP 構成
DNS リゾルバーキャッシュは正常にフラッシュされました。
と表示されるはずです。
WindowsのDNSキャッシュ情報をクリアしてから、先程の”ipconfig /displaydns”を入力したらDNSキャッシュの情報がクリアされているのがわかるはずです。
注意点
Windowsの”hosts”ファイルにIPアドレスが記述してあったら、その情報はDNSキャッシュをクリアしても”hosts”ファイルから優先して再度読み込まれてしまうので、その場合には意味が無いです。
Windowsのhostsファイルの場所や書換え方法などは、下記記事を参考にして下さい。
まとめ
ある特定のWebサイトのみ表示されなかったり、もしくは表示がおかしかったりした場合には、WindowsのDNSキャッシュが書き換わっているのが原因の場合があります。その時は、今回紹介したDNSキャッシュをクリアする方法で解決出来るかもしれません。
また、DNSキャッシュをクリアした後は、ホスト名解決のためにDNSサーバーへ問い合わせをするので一時的にWebサイトの表示が遅くなる場合があります。
更新日:2023/03/24
コメント