ADVERTISEMENT

【Windows】会社PCで社内サイトがVPN接続時だけ表示されない時のDNS確認

【Windows】会社PCで社内サイトがVPN接続時だけ表示されない時のDNS確認
🛡️ 超解決

会社PCを自宅や外出先で使うとき、VPN経由で社内サイトにアクセスしようとしたら「ページが表示されない」「接続がタイムアウトした」といったエラーに遭遇した経験はないでしょうか。オフィス内では問題なく表示されるのに、VPN接続時だけ特定の社内サイトが見えない場合、原因の多くはDNSの設定にあります。DNS(Domain Name System)は、Webサイトの名前(URL)をIPアドレスに変換する仕組みですが、VPN接続時にはこの名前解決が正しく行われないことがあります。本記事では、VPN接続時に社内サイトが表示されない原因をDNSの観点から切り分け、確認手順や解決策を具体的に解説します。最後まで読めば、自分で解決できるか、それとも管理者に問い合わせるべきか判断できるようになります。

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

  • 最初に見る場所: VPN接続前後でのDNSサーバーの変化や名前解決の可否を、コマンドプロンプトのnslookupやipconfigで確認します。
  • 切り分けの軸: 端末側のDNS設定(自動取得・固定)と、VPNクライアントの設定(DNSを強制するかどうか)が原因か、それとも社内DNSサーバー自体の問題かを区別します。
  • 注意点: 会社PCのネットワーク設定を無断で変更すると、セキュリティポリシー違反や接続不能になる可能性があります。変更前に必ず管理者に確認してください。

ADVERTISEMENT

1. なぜVPN接続時だけ社内サイトが見えなくなるのか

社内サイトは通常、社内ネットワーク内のプライベートIPアドレスで運用されているか、特定のDNSサーバーでのみ名前解決ができるように設定されています。オフィス内では社内のDNSサーバーが自動的に使われるため問題なくアクセスできますが、VPN接続時には以下の理由で名前解決が失敗することがあります。

  • DNSサーバーの切り替わり: VPN接続時に、パソコンのDNS設定が自宅や公衆Wi-FiのDNSサーバー(例: 8.8.8.8)に切り替わり、社内DNSサーバーに問い合わせできなくなる。
  • DNSサフィックスの欠落: 社内サイトが「intranet.company.local」のように内部ドメイン名で運用されている場合、DNSサフィックスが正しく設定されていないと名前解決できません。
  • VPNクライアントのDNS強制設定: VPNソフト(Cisco AnyConnect、Pulse Secure、OpenVPNなど)が、VPNトンネルを通したDNSサーバーの使用を強制する設定になっていない場合、社内ネットワークのDNS情報がパソコンに伝わらない。
  • ファイアウォールやルーターのブロック: 自宅ルーターや会社のファイアウォールがDNSリクエスト(UDP 53番ポート)をブロックしている可能性もあります。

このうち、最も多い原因は「VPN接続後にDNSサーバーが社内のものに変わっていない」ことです。まずはこの点を確認しましょう。

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

2. DNSの状態を確認する具体的な手順

Windowsのコマンドプロンプトを使い、以下の手順でDNS設定と名前解決の状態を確認します。管理者権限は基本的に不要ですが、一部のコマンドは管理者として実行するとより詳細な情報が得られます。

  1. スタートメニューを開き、「cmd」と入力してコマンドプロンプトを起動します。 右クリックで「管理者として実行」を選ぶと、後述のipconfig /flushdnsなどが確実に実行できます。
  2. ipconfig /all と入力してEnterキーを押します。 表示された情報の中から「イーサネットアダプター」や「Wi-Fi」のセクションを探し、「DNSサーバー」の欄を確認します。VPN接続前と接続後の値を比較するため、VPN未接続の状態でも一度実行しておくとよいでしょう。
  3. 次に、nslookup <社内サイトのURL> を実行します。 例: nslookup intranet.company.local と入力します。正常に名前解決できると「Address: 192.168.x.x」のようなIPアドレスが表示されます。「DNS request timed out」や「Non-existent domain」と表示された場合は名前解決に失敗しています。
  4. VPN接続後に再度 ipconfig /all を実行し、DNSサーバーの値が変化しているか確認します。 理想的には、社内DNSサーバーのIPアドレス(例: 10.0.0.1)が表示されるはずです。もし接続前と同じDNSサーバー(例: 自宅ルーターのゲートウェイやGoogle DNS)のままなら、VPNがDNSを正しく配布していない可能性があります。
  5. DNSキャッシュをクリアしてみます。 ipconfig /flushdns を実行し、その後再度 nslookup で確認します。古いキャッシュが残っていると名前解決に影響することがあります。

これらの手順で、DNSサーバーが変わっていないことが分かれば、後述の原因別対策に進んでください。

3. 原因別の対処法と注意点

3.1 VPNクライアントのDNS設定を確認・変更する

多くのVPNクライアントソフトには「VPN接続中はDNSを社内のものに切り替える」という機能があります。この設定がオフになっていると、社内サイトの名前解決ができません。例として、一般的なVPNクライアントでの確認手順を紹介します。

  1. VPNクライアントを開き、接続プロファイルの詳細設定を表示します。プロファイルの編集は管理者権限が必要な場合があります。
  2. 「DNS設定」や「名前解決」に関する項目を探します。たとえば「VPN接続時にDNSサーバーを自動的に設定する」といったチェックボックスが該当します。
  3. そのチェックが外れている場合は有効にし、VPNに再接続します。

注意点として、VPNクライアントの設定変更は会社のポリシーで制限されていることが多いです。社員が勝手に変更すると接続できなくなったり、セキュリティ監査に引っかかる可能性があります。設定画面が見つからない、または変更が反映されない場合は、管理者に確認しましょう。

3.2 WindowsのネットワークアダプターでDNSを手動設定する

VPN経由で社内DNSにアクセスできる環境なら、WindowsのネットワークアダプターのプロパティでDNSサーバーを手動で指定する方法もあります。ただし、この方法は社内ネットワークの構成が固定である場合に限り有効で、かつ管理者から許可を得てから行うべきです。

  1. コントロールパネル → ネットワークと共有センター → アダプターの設定を変更する を開きます。
  2. アクティブなアダプター(Wi-Fiやイーサネット)を右クリックし、「プロパティ」を選択します。
  3. 一覧から「インターネットプロトコル バージョン4 (TCP/IPv4)」を選択し、「プロパティ」をクリックします。
  4. 「次のDNSサーバーのアドレスを使う」にチェックを入れ、会社から指定されたDNSサーバーのIPアドレス(例: 10.0.0.1)を入力します。複数ある場合は「優先DNSサーバー」と「代替DNSサーバー」に設定します。

ただし、この方法ではVPN接続時以外でも常にそのDNSサーバーを使うことになるため、自宅や公衆Wi-Fiではインターネット接続に支障が出ることがあります。VPN接続時のみ自動的に切り替わるようにするには、後述の「自動メトリック」設定や、VPNクライアント側の設定を推奨します。

3.3 DNSサフィックスを追加する

社内サイトが「http://intranet」といった短い名前でアクセスできる場合、DNSサフィックス(例: .company.local)が自動的に付加される必要があります。VPN接続時にこのサフィックスが適用されていないと、名前解決できません。

  1. コマンドプロンプトで ipconfig /all を実行し、「接続固有のDNSサフィックス」の欄に会社のドメインが表示されているか確認します。
  2. 表示されていない場合、アダプターのプロパティで「詳細設定」→「DNS」タブを開き、「この接続のDNSサフィックス」に会社のドメイン(例: company.local)を追加します。
  3. さらに「DNSサフィックス検索一覧」に会社のドメインを追加すると、短い名前でも完全修飾ドメイン名に自動補完されます。

設定後は一度VPNに接続し直し、nslookup intranet だけで名前解決できるかテストしてください。

ADVERTISEMENT

4. 確認手順と原因特定の比較表

以下の表に、VPN接続時に社内サイトが表示されない場合の主な原因、確認方法、対処法をまとめました。自分の症状に合わせて参照してください。

症状・原因 確認方法 対処法 管理者に連絡すべきか
DNSサーバーがVPN接続後も変わらない ipconfig /all でDNSサーバーが接続前と同じ VPNクライアントのDNS設定を確認。手動設定は最終手段 VPNプロファイルの設定変更は管理者に相談
nslookupでタイムアウト nslookup intranet.company.local で応答なし DNSサフィックスの設定、ファイアウォールの確認 DNSサーバー自体の稼働状態を管理者に確認
特定の社内サイトだけ見えない 該当サイトのみnslookupに失敗。他のサイトはOK hostsファイルの確認、DNSキャッシュクリア 管理者にそのサイトのDNS登録状態を確認
VPN接続後、すべての社内サービスにアクセス不可 VPN自体は接続できているが、pingすら通らない ルーティングの問題。管理者にルート情報の追加を依頼 必ず管理者に連絡

5. よくある質問(FAQ)

Q1. hostsファイルを編集しても大丈夫ですか?

hostsファイルに社内サイトのIPアドレスとホスト名を直接記述すれば、DNSを経由せずにアクセスできます。しかし、IPアドレスが変わるとアクセスできなくなるため、恒久的な解決策にはなりません。また、管理者の許可なく hostsファイルを編集することは、セキュリティポリシー違反とみなされる可能性があります。一時的なテストとして使う場合は、管理者に確認してから行ってください。

Q2. DNS over HTTPS (DoH) が影響することはありますか?

はい、影響する可能性があります。Windows 10以降では、一部のアプリやブラウザがDoHを使用する設定になっていると、社内DNSサーバーへの問い合わせをバイパスして外部のDoHサーバー(例: Cloudflareの1.1.1.1)に問い合わせることがあります。ブラウザの設定で「セキュアDNS」を無効にするか、システムのDNS設定に従うように変更すると改善することがあります。

Q3. 管理者に伝えるべき情報は何ですか?

管理者に問い合わせる際は、以下の情報をまとめておくとスムーズです。
– VPN接続前後のipconfig /allの出力(特にDNSサーバーの値)
nslookupの結果(成功・失敗のスクリーンショット)
– 使用しているVPNクライアントの種類とバージョン
– 発生する時間帯や頻度(常時か不定期か)

Q4. スマートフォンや別の端末では問題なくつながるのに、自分のPCだけダメなのはなぜ?

ほかの端末で正常に動作するなら、自分のPCのDNS設定やVPNクライアント設定に問題がある可能性が高いです。特に、過去に手動でDNS設定を変更した覚えがある場合は、初期状態に戻すことも検討してください。また、Windowsのネットワークリセット機能(設定→ネットワークとインターネット→ネットワークの詳細設定→ネットワークのリセット)を試すのも一つの方法ですが、やはり管理者の了承を得てから行ってください。

6. まとめ

VPN接続時に社内サイトが表示されない問題は、DNSの設定ミスが原因であるケースが大半です。まずはipconfig /allnslookupで現在のDNS状態を確認し、VPNクライアントのDNS強制設定やWindowsのDNSサフィックス設定を見直すことで解決できる場合があります。ただし、ネットワーク設定を変更する際は常に会社のポリシーを尊重し、管理者に連絡することを忘れないでください。それでも問題が解決しない場合は、管理者が社内DNSサーバーの稼働状況やルーティング設定を確認する必要があります。この記事で紹介した手順を参考に、原因を切り分けて適切な行動を取ってください。


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

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT