会社のWindowsパソコンで特定のWebサイトにアクセスできないとき、多くの方が最初に「ipconfig /flushdns」を実行してDNSキャッシュをクリアします。ところが、キャッシュを消しても状況が変わらないケースは少なくありません。そうした場合、単なるキャッシュの古さではなく、根本的な名前解決の仕組みに問題が潜んでいる可能性があります。本記事では、DNSキャッシュをリセットしても直らないときに、どこを確認すればよいのかを段階的に解説します。原因の切り分け方を身につければ、不要な再起動や設定変更に時間を取られず、問題を効率よく解決できるようになります。
【要点】この記事で確認すること
- 最初に見る場所: hostsファイルの内容を確認してください。手動で書き換えられていないか、不要なエントリが残っていないかをチェックします。
- 切り分けの軸: 問題が「端末のローカル設定」か「ネットワーク全体の問題」か、あるいは「アカウントやプロキシ設定」かを切り分けます。pingやnslookupの結果を活用しましょう。
- 注意点: 会社のPCではレジストリやネットワーク設定を管理者の指示なしに変更しないでください。誤った操作で社内システム全体に影響を及ぼす恐れがあります。
ADVERTISEMENT
目次
1. DNSキャッシュクリアだけでは直らない理由
DNSキャッシュは、パソコンが一度参照したドメイン名とIPアドレスの対応を一時的に保存しておく仕組みです。Windowsでは「ipconfig /flushdns」でこのキャッシュを消せますが、問題がキャッシュだけに起因しない場合は当然直りません。たとえば、hostsファイルに古い記述が残っていると、キャッシュを消してもhostsファイルが優先されてしまいます。また、社内のプロキシサーバーやファイアウォールが特定の名前解決をブロックしている場合も、キャッシュクリアでは解決できません。DNSサーバーそのものが応答しない、あるいは誤ったIPを返しているケースも考えられます。
2. まず確認する基本設定
DNSキャッシュを消しても直らない場合、まずは以下の基本設定を確認します。多くの問題はここで発見できます。
2-1. hostsファイルの確認
hostsファイルはドメイン名とIPアドレスを静的に定義するファイルです。Windowsでは「C:\Windows\System32\drivers\etc\hosts」にあります。メモ帳などのテキストエディタで管理者権限で開き、該当のドメインが記述されていないかを確認します。特に「127.0.0.1」などのループバックアドレスや、存在しないIPが記述されていると、名前解決がそちらに優先されます。
- スタートメニューで「メモ帳」を右クリックし、「管理者として実行」を選択します。
- メモ帳の「ファイル」→「開く」で、上記のパスを入力してhostsファイルを開きます(拡張子はありません)。
- 開いたファイルの中で、アクセスできないドメイン名(例:example.com)が記載されていないか確認します。先頭に「#」が付いていない行が有効なエントリです。
- 不要なエントリがあれば、行の先頭に「#」を付けてコメントアウトするか、削除して保存します。
- 保存後、管理者権限が必要な場合はそのまま上書き保存し、確認のためにコマンドプロンプトで「ipconfig /flushdns」を再度実行すると確実です。
2-2. ネットワークアダプターのDNS設定
自動取得になっている場合、DHCPサーバーから正しいDNSサーバーが配信されているか確認します。手動設定の場合は、指定したDNSサーバーが正しいか、またそのサーバーに到達可能かをpingで確認します。
- タスクトレイのネットワークアイコンを右クリックし、「ネットワークとインターネットの設定」を開きます。
- 「アダプターのオプションを変更する」をクリックし、使用中のアダプター(イーサネットまたはWi-Fi)を右クリックして「プロパティ」を選択します。
- 一覧から「インターネットプロトコル バージョン4 (TCP/IPv4)」を選択し、「プロパティ」をクリックします。
- 「次のDNSサーバーのアドレスを使う」にチェックが入っている場合は、表示されているIPアドレスが社内のDNSサーバーとして正しいか、管理者に確認してください。
- 「DNSサーバーを自動的に取得する」になっている場合は、コマンドプロンプトで「ipconfig /all」と入力し、割り当てられているDNSサーバーを確認します。
3. コマンドで原因を切り分ける
| コマンド | 確認内容 | 正常な結果の例 |
|---|---|---|
| nslookup ドメイン名 | DNSサーバーからの応答を確認 | 正しいIPアドレスが表示される |
| ping ドメイン名 | ICMPによる到達性確認 | 応答があり、IPアドレスが表示される |
| tracert ドメイン名 | 経路の確認 | 途中でタイムアウトなく目的地に到達 |
表のコマンドを順に実行することで、問題がDNS解決のどの段階で発生しているかがわかります。nslookupでエラーが出るならDNSサーバー自体の問題、pingでタイムアウトするならネットワーク経路の問題が疑われます。
3-1. nslookupの詳細な使い方
コマンドプロンプトを管理者として開き、「nslookup 対象ドメイン」と入力します。応答に「DNS request timed out」や「Non-existent domain」と表示される場合、DNSサーバーがそのドメインを解決できていないか、サーバー自体に問題があります。また、デフォルトのDNSサーバー名が表示されるので、意図したサーバーが使われているか確認してください。
4. ブラウザとプロキシの影響
WindowsのDNSキャッシュとは別に、ブラウザが独自にDNSキャッシュを持っている場合があります。特にChromeやEdgeでは「chrome://net-internals/#dns」でキャッシュをクリアできます。また、ブラウザがDNS over HTTPS(DoH)を使用していると、OSのDNS設定とは異なるサーバーで名前解決されます。社内ネットワークではDoHが原因で社内サイトにアクセスできないことがあるため、設定を確認して無効にしてみるのも手です。
- Chromeの場合、アドレスバーに「chrome://net-internals/#dns」と入力し、「Clear host cache」ボタンをクリックします。
- Edgeも同様に「edge://net-internals/#dns」でキャッシュをクリアできます。
- DoHの設定は、ブラウザの「設定」→「プライバシーとセキュリティ」→「セキュリティ」→「DNS over HTTPSを使用する」の項目で確認・無効化します。
4-1. プロキシ設定の確認
会社のPCではプロキシサーバーを経由してインターネットに接続していることがよくあります。プロキシの設定が誤っていると、DNS解決がプロキシ経由で行われ、正しいIPが得られない場合があります。Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」で、自動構成スクリプトや手動プロキシが正しく設定されているか確認します。管理者から指定されたプロキシ設定と異なる場合は、修正を依頼してください。
5. 企業環境特有の原因と対策
会社PCでは、ファイアウォールやウイルス対策ソフトを自己判断で無効にしないでください。接続先、表示されたエラー、利用中の回線を記録し、会社のIT部門へ確認します。
6. それでも直らない場合の管理者への連絡事項
上記の手順をすべて試しても問題が解決しない場合、ネットワーク管理者に以下の情報を伝えるとスムーズです。
- 「nslookup 対象ドメイン」と「ipconfig /all」の実行結果
- 問題が発生した日時と、その前後に行った操作
- 他のPCでも同じ現象が発生しているかどうか
- hostsファイルの内容(変更した場合はその箇所)
- ブラウザのDoH設定の状態
これらの情報があれば、管理者は問題の原因を迅速に特定できます。特に「nslookup」の結果は、DNSサーバーの応答状態を直接示すため重要です。
7. よくある質問(FAQ)
Q1. DNSキャッシュをクリアしたのに、なぜすぐに反映されないのですか?
WindowsのDNSキャッシュとは別に、ブラウザやルーター、中間プロキシなど複数のキャッシュが存在します。すべてのキャッシュをクリアしないと古い情報が残ることがあります。また、DNSレコードのTTL(生存時間)が長い場合、上位のDNSサーバーが古いキャッシュを返している可能性もあります。
Q2. pingは通るのにブラウザだけアクセスできないのはなぜですか?
pingはICMPプロトコルを使い、ブラウザはHTTP/HTTPSを使います。ファイアウォールが特定のポート(80/443)だけをブロックしている、あるいはプロキシの設定が正しくない可能性があります。また、ブラウザの拡張機能やセキュリティソフトが干渉していることもあります。
Q3. hostsファイルに記述を追加しても無視されるのはなぜですか?
hostsファイルの書式が間違っているか、ファイルが保存されていない可能性があります。また、社内のセキュリティソフトやグループポリシーでhostsファイルの変更が禁止されている場合、強制的に上書きされることがあります。管理者に確認してください。
まとめ
DNSキャッシュをクリアしても直らない場合、hostsファイル、ネットワークアダプターのDNS設定、ブラウザの独自キャッシュやDoH、プロキシ設定など、複数の原因が考えられます。コマンドプロンプトで「nslookup」や「ping」を使い、問題がローカルなのかネットワーク全体なのかを切り分けることが重要です。企業環境では特にグループポリシーやセキュリティソフトの影響を疑い、管理者と連携して対策を進めてください。本記事で紹介した手順を順番に試すことで、ほとんどのケースで原因を特定できるはずです。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
