ADVERTISEMENT

【Windows】会社PCでDNSキャッシュが原因で古い接続先へ飛ぶ時の確認

【Windows】会社PCでDNSキャッシュが原因で古い接続先へ飛ぶ時の確認
🛡️ 超解決

社内システムやWebサイトにアクセスしたときに、なぜか古いバージョンのページが表示される、あるいは以前使っていたサーバーへ接続してしまうといった現象が発生することがあります。このような症状の原因として、WindowsのDNSキャッシュが過去の名前解決結果を保持し続けているケースが多く見られます。特にサーバー移行やWebサイトのリニューアル直後は、新しいIPアドレスへ切り替わっているにもかかわらず、キャッシュ内の古い情報を参照してしまうため、結果として古い接続先へ飛んでしまいます。本記事では、会社のパソコンでDNSキャッシュが原因と考えられる場合の確認手順と、適切な対処方法について解説します。自分で解決できる範囲と、管理者に依頼すべきポイントを明確にし、業務に支障が出る前に素早く切り分けられるようにします。

【要点】この記事で確認すること

  • 最初に見る場所: コマンドプロンプトでipconfig /displaydnsを実行し、該当ホスト名のキャッシュを確認する。
  • 切り分けの軸: 端末側のDNSキャッシュなのか、ブラウザキャッシュなのか、それとも社内DNSサーバーのレコードなのかを分けて考える。
  • 注意点: 会社PCでipconfig /flushdnsを実行する前に、管理者のポリシーで禁止されていないか確認する。また、hostsファイルを編集する場合は管理者権限が必要であり、誤った編集は通信障害を引き起こす可能性がある。

ADVERTISEMENT

DNSキャッシュが古い接続先を引き起こす仕組み

DNS(Domain Name System)は、www.example.comのようなドメイン名をIPアドレスに変換する仕組みです。この変換結果(レコード)は、問い合わせのたびに毎回DNSサーバーへ問い合わせるのではなく、Windowsのローカルに一定時間保存されます。これがDNSキャッシュです。キャッシュによって名前解決の高速化が図られていますが、その保存期間(TTL: Time To Live)が経過するまでは古いIPアドレスが保持されることがあります。

例えば、社内の経費精算システムが新しいサーバーへ移行したとします。DNSサーバー上では新しいIPアドレスに変更されていますが、あなたのPCのDNSキャッシュに古いIPアドレスが残っていると、経費精算システムにアクセスした際に古いサーバーへ接続しようとします。その結果、ページが表示されない、あるいは旧システムの画面が表示されるといったトラブルが発生します。このような現象は特に、移行から間もない時期や、TTLが長く設定されている場合に起こりやすいです。

お探しの解決策が見つからない場合は、こちらの「Windowsトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

まずは自分で確認する手順

問題の切り分けとして、最初にWindowsのDNSキャッシュを確認しましょう。以下の手順は、会社PCでも管理者権限があれば実行できるものですが、一部の操作(特にフラッシュ)は制限されている場合があります。その場合は後述の管理者への確認を参照してください。

手順1: コマンドプロンプトを開く

  1. タスクバーの検索欄に「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。管理者権限がない場合は通常のコマンドプロンプトでも表示は可能ですが、フラッシュなどの操作には管理者権限が必要です。
  2. ユーザーアカウント制御(UAC)のダイアログが表示された場合は「はい」をクリックします。

手順2: 現在のDNSキャッシュを表示する

  1. コマンドプロンプトでipconfig /displaydnsと入力し、Enterキーを押します。大量の結果が表示されますので、問題のホスト名を探します。
  2. 表示結果を絞り込むには、ipconfig /displaydns | findstr "ホスト名"と入力します。例えば、ipconfig /displaydns | findstr "example"とすると、exampleを含む行だけが表示されます。
  3. 表示されたレコードの中に「A (Host) Record」としてIPアドレスが書かれています。そのIPアドレスが現在の正しい接続先と一致しているか確認します。もし古いIPアドレスが表示されている場合は、DNSキャッシュが原因の可能性が高いです。

手順3: DNSキャッシュをクリアする(管理者権限が必要)

  1. 管理者として実行したコマンドプロンプトでipconfig /flushdnsと入力し、Enterキーを押します。「Windows IP 構成 DNS リゾルバー キャッシュは正常にフラッシュされました。」と表示されれば成功です。
  2. クリア後、再度ipconfig /displaydnsでキャッシュが空になっていることを確認しても構いません(すぐに新しい問い合わせが発生するため、数件残ることはあります)。
  3. その後、問題のWebサイトやシステムにアクセスし、古い接続先から新しい接続先に変わったかどうか確認します。

手順4: ブラウザのキャッシュも確認する

DNSキャッシュをクリアしても症状が改善しない場合、ブラウザ独自のキャッシュが原因の可能性があります。ブラウザの設定から「キャッシュのクリア」または「閲覧履歴の削除」を実行し、特に「キャッシュされた画像とファイル」を削除してから再アクセスしてください。Chrome、Edge、Firefoxなどの主要ブラウザでは、Ctrl+Shift+Delでクリア画面を開けます。

失敗パターン: キャッシュを消しても直らない場合

DNSキャッシュをクリアしても古い接続先へ飛ぶ症状が続く場合、以下のような別の原因が考えられます。それぞれの確認ポイントを押さえておきましょう。

原因 確認方法 対処
ブラウザキャッシュ シークレットモード(プライベートブラウジング)でアクセスしてみる ブラウザのキャッシュをクリアする
hostsファイルの設定 %SystemRoot%\System32\drivers\etc\hostsをメモ帳で開き、該当ホスト名が記述されていないか確認 該当行を削除する(管理者権限が必要)
社内DNSサーバーのレコードがまだ古い 管理者に問い合わせ、DNSサーバー上のレコードが更新されているか確認 管理者がTTLを短く設定し直すか、レコードを手動更新する
VPNやプロキシの影響 VPN切断後またはプロキシ除外設定でアクセスしてみる VPN再接続、プロキシ設定の見直し

特にhostsファイルは、手動で固定のIPアドレスを指定できるため、DNSキャッシュよりも優先されます。会社PCではIT管理者が設定している場合がありますので、むやみに変更しないように注意してください。また、VPN接続時に別のDNSサーバーを使用する設定になっていると、そちらが優先されることもあります。

ADVERTISEMENT

管理者へ確認すべき情報と依頼内容

自分でDNSキャッシュをクリアしても問題が解決しない場合、または管理者権限がなくフラッシュを実行できない場合は、管理者に以下の情報を伝えて確認を依頼しましょう。

  • 問題のホスト名と症状: どのサイトやシステムにアクセスしたときに、どのような古い情報が表示されるのか具体的に伝えます。
  • 実施した操作: 自分でDNSキャッシュをクリアしたか、ブラウザキャッシュを消したかなどを伝えます。
  • IPアドレスの変化: ping ホスト名で返ってくるIPアドレスが、想定される新しいIPと異なる場合はその結果を合わせて報告します。
  • 社内DNSサーバーのTTL設定: もし可能であれば、管理者に該当レコードのTTL値を確認してもらい、変更が必要か検討してもらいます。TTLが長すぎると、クライアント側のキャッシュが長期間残る原因になります。

管理者側では、nslookupdigコマンドを使って実際の名前解決結果を確認し、DNSサーバー上のレコードが正しいかどうかを検証できます。また、組織全体で一斉にDNSキャッシュをクリアするポリシー(グループポリシーなど)を適用することも可能です。

よくある質問

Q1: DNSキャッシュをクリアすると他のサイトに影響がありますか?

影響は一時的なものです。クリア後、次にアクセスするたびにDNS問い合わせが発生するため、最初のアクセスが通常より少し遅くなることがありますが、すぐに新しいキャッシュが作られるため実害はほとんどありません。ただし、社内システムによっては認証に影響が出る可能性があるため、業務時間外に実施するか、管理者の指示に従うことをおすすめします。

Q2: DNSキャッシュを自動でクリアする設定はありますか?

Windowsには特に標準の自動クリア機能はありませんが、タスクスケジューラで定期的にipconfig /flushdnsを実行するバッチファイルを登録することは可能です。ただし、会社PCではセキュリティポリシーで制限されている可能性があるため、管理者に相談してください。

Q3: スマートフォンや他の端末でも同じ現象が起きるのはなぜですか?

複数の端末で同じ症状が出る場合、端末個別のキャッシュではなく、ネットワーク上のDNSサーバー自体が古い情報を返している可能性が高いです。この場合は端末側の対処ではなく、管理者によるDNSレコードの確認と修正が必要です。

まとめ

会社PCで古い接続先へ飛ぶ問題の原因として、DNSキャッシュは最も確認しやすい要素の一つです。まずはコマンドプロンプトでipconfig /displaydnsでキャッシュ内容を確認し、必要に応じてipconfig /flushdnsでクリアしてみてください。それでも改善しない場合は、ブラウザキャッシュやhostsファイル、社内DNSサーバーの設定などを順に切り分けていきましょう。管理者権限が制限されている場合は、無理に操作せずに管理者へ情報を共有することが大切です。日頃からDNSキャッシュの仕組みを理解しておくことで、トラブル発生時の初動が速くなり、業務の中断を最小限に抑えられます。


💻
Windowsトラブル完全解決データベース 起動不能、更新の不具合、動作が重い、設定の消失など、Windows 10/11のあらゆるトラブル解決手順を網羅しています。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT