ADVERTISEMENT

【Windows】会社PCでVPN接続後にDNSが切り替わらない時の確認ポイント

【Windows】会社PCでVPN接続後にDNSが切り替わらない時の確認ポイント
🛡️ 超解決

VPN接続後に社内リソースへアクセスできない原因として、DNSの切り替わりがうまく動作しないことがよくあります。社内システムやファイルサーバーにアクセスするためには、VPN接続時にDNSサーバーが社内用に切り替わる必要があります。しかし、設定の不備やキャッシュの影響、管理ポリシーの干渉などにより、DNSが切り替わらないケースが発生します。本記事では、Windows端末でVPN接続後にDNSが切り替わらない問題について、原因の切り分け方と具体的な確認ポイントを解説します。

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

  • 最初に見る場所: VPN接続後のDNSサーバー設定(ipconfig /all)
  • 切り分けの軸: 端末側の設定(ネットワークアダプタ、キャッシュ)と、VPNクライアント・管理ポリシー側の設定
  • 注意点: DNS設定の手動変更は会社のポリシー違反になる可能性があるため、設定変更は管理者に相談してから行ってください

ADVERTISEMENT

1. VPN接続後にDNSが切り替わらない問題の原因

DNSが切り替わらない主な原因は、大きく分けて以下の4つに分類されます。

1.1 VPNクライアントの設定不足

多くのVPNクライアントは、接続時にDNSサーバーを自動的に切り替える機能を持っています。この機能が無効になっていたり、社内DNSサーバーのアドレスが正しく設定されていない場合、DNSは切り替わりません。特に、VPNクライアントのプロファイル設定で「DNS設定を自動的に更新する」オプションがオフになっていることが原因の一つです。

1.2 Windowsのネットワークアダプタ設定の優先順位

Windowsのネットワークアダプタには「インターフェースメトリック」という優先順位が設定されています。VPNアダプタのメトリックが低くないと、デフォルトのNICのDNSが優先され、VPN経由のDNSが使われません。また、複数のネットワークアダプタが有効な場合、DNSの解決順序が混乱することがあります。

1.3 DNSキャッシュの残留

以前のDNS解決結果がキャッシュに残っていると、VPN接続後に社内DNSへ問い合わせる前に古いキャッシュが使われてしまいます。特に、リモート先で参照した外部の名前解決結果がキャッシュされていると、社内のプライベートIPアドレスに置き換わらない現象が発生します。

1.4 グループポリシーや管理ソフトによる制御

会社PCでは、グループポリシー(GPO)やエンドポイント管理ソフト(Intune、SCCMなど)によってDNS設定が強制される場合があります。これらのポリシーがVPN接続時のDNS変更を上書きしてしまうと、VPNクライアントがDNSを切り替えようとしても反映されません。

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

2. DNS設定を確認するための基本手順

まずは、現在のDNSの状態を確認するための基本的な手順を説明します。この手順はどのようなVPN環境でも共通して使えます。

  1. コマンドプロンプトを管理者として開く:スタートメニューで「cmd」と検索し、右クリックから「管理者として実行」を選択します。VPN接続の設定変更やpingコマンドを実行する際に管理者権限が必要な場合があるため、最初から管理者で開いておくと便利です。
  2. ipconfig /all を実行する:VPN接続前と接続後の両方で実行し、結果をテキストファイルに保存しておきます。特に「DNSサーバー」の項目と「接続固有のDNSサフィックス」の値を確認します。VPN接続後に社内DNSサーバーのIPアドレス(例:10.x.x.x)が表示されていれば、DNSは切り替わっています。
  3. nslookup で社内のホスト名を解決する:例として「nslookup fileserver.company.local」と入力し、返ってくるIPアドレスが期待する社内アドレスかどうかを確認します。もし外部のIPアドレスが返ってくるか、エラーになる場合はDNSが切り替わっていない可能性が高いです。
  4. ping と tracert で疎通確認:社内サーバーのIPアドレスが直接分かっている場合は、IPアドレスに対してpingを実行します。名前解決に依存しないため、ネットワーク自体は通るかどうかを確認できます。また、tracertを実行してルーティングがVPN経由になっているかもチェックします。
  5. DNSキャッシュを確認する:コマンドプロンプトで「ipconfig /displaydns」を実行し、社内ホスト名のキャッシュが残っていないか確認します。もし古いレコードが残っている場合は「ipconfig /flushdns」でキャッシュを削除し、再度nslookupを試します。

3. 端末側の設定を確認する手順

基本手順で問題が解決しない場合、端末側のネットワーク設定を詳しく確認する必要があります。ただし、会社PCでは設定変更が制限されている場合があるため、作業前に管理者に許可を得るか、自分の管理権限の範囲内で行ってください。

3.1 ネットワークアダプタのプロパティを確認

  1. コントロールパネル → ネットワークと共有センター → アダプターの設定の変更 を開きます。
  2. VPN接続用のアダプタ(通常は「WANミニポート(IKEv2)」や「Ethernet 3」など)を右クリック → プロパティ を選択します。
  3. 「インターネット プロトコル バージョン 4 (TCP/IPv4)」をダブルクリックし、「詳細設定」ボタンをクリックします。
  4. DNSタブで、「DNSサーバーアドレスを自動的に取得する」が選択されていて、かつ「接続固有のDNSサフィックス」が空の場合は、VPNクライアント側で設定が行われている可能性があります。手動設定が必要な場合は管理者から指示があるはずです。
  5. 「インターフェースメトリック」を確認:詳細設定画面の「IP設定」タブで「自動メトリック」のチェックを外し、手動でメトリック値を設定することも可能ですが、通常は自動で問題ありません。ただし、どうしても優先度が低い場合は、VPNアダプタのメトリックを1などに下げるとVPN経由のDNSが優先されます。この変更は影響が大きいため、管理者の指示がある場合のみ実施してください。

3.2 DNSサフィックスの設定を確認

社内でホスト名の短縮名(例:fileserver)のみでアクセスする場合、DNSサフィックスが正しく設定されている必要があります。VPN接続時に「接続固有のDNSサフィックス」として「company.local」などが自動的に付与されるかを確認します。ipconfig /allで「DNSサフィックス検索一覧」に社内ドメインが含まれていない場合、nslookupで完全修飾ドメイン名(FQDN)を使う必要があります。

ADVERTISEMENT

4. VPNクライアントの設定による違い(比較表)

主要なVPNクライアントでは、DNS設定の管理方法が異なります。以下の表を参考に、ご自身の環境に合わせて確認してください。

VPNクライアント DNS設定の自動更新 設定変更方法 主な問題パターン
Windows標準VPN(IKEv2/L2TP) デフォルトで有効 VPN接続プロファイルの「詳細設定」→「DNS」タブ 手動設定したDNSが上書きされない
Cisco AnyConnect プロファイルによる AnyConnectの「Preferences」→「DNS Settings」 ローカルDNS除外リストが正しくない
FortiClient オプションで制御 FortiClientコンソールの「VPN」→「SSL VPN」→「Advanced」 「Enforce DNS through tunnel」がオフ
Pulse Secure プロファイルに依存 Pulse Secureクライアントの「Connection」→「Settings」 DNSサフィックスが未設定
GlobalProtect デフォルトで有効 管理画面で設定、クライアント側では変更不可 ポリシーがDNS変更を許可していない

上記の表は一般的な設定項目です。実際の環境では、管理者がプロファイルやポリシーを配布しているため、ユーザーが変更できない場合が多いです。問題が解決しない場合は、VPNクライアントのログを確認し、管理者にDNSに関する設定を問い合わせてください。

5. よくある失敗パターンと対策

現場でよく見られる失敗パターンをいくつか紹介します。

5.1 キャッシュが原因で名前解決が古いまま

VPNに接続した直後にブラウザで社内サイトを開くと、以前の外部IPアドレスがキャッシュから使われてしまうことがあります。この場合、nslookupでは正しいIPが返ってくるのに、実際の通信は失敗するという現象が起こります。対策としては、ブラウザのキャッシュもクリアするか、コマンドプロンプトで「ipconfig /flushdns」を実行してからアクセスし直します。

5.2 複数のネットワークアダプタが干渉する

出先でWi-Fiと有線LANを同時に接続している場合、VPNアダプタ以外のNICが優先されてDNSが変わらないことがあります。特に、モバイルホットスポットやテザリングを利用している場合に起こりやすいです。不要なネットワークアダプタを無効にするか、VPNクライアントの「Split DNS」設定で適切にルーティングする必要があります。

5.3 グループポリシーでDNSが固定されている

会社のセキュリティポリシーとして、DNSサーバーを固定のIPアドレスに設定するGPOが適用されている場合、VPN接続時にクライアントがDNSを書き換えようとしてもGPOが優先されて上書きされます。この場合、ユーザー側での対処は不可能です。管理者に連絡し、GPOの設定を確認してもらう必要があります。特に、「ネットワーク接続のDNS設定を許可しない」などのポリシーが有効になっていないか調べてもらいましょう。

6. 管理者に依頼すべき設定項目

上記の手順を試しても改善しない場合、管理者に以下の情報を伝えて設定変更を依頼してください。

  • VPN接続前後のipconfig /allの出力:テキストファイルに保存したものを共有します。特にDNSサーバーのアドレスが変わっていないことを確認できます。
  • nslookupの結果:正常な場合と異常な場合の実行例を添えます。
  • VPNクライアントのログ:クライアントによっては、接続時の詳細ログをエクスポートできます(例:Cisco AnyConnectのDARTバンドル)。
  • VPNプロファイルの設定内容:DNS設定が自動更新になっているか、特定のDNSサーバーが指定されているかなどを確認してもらいます。
  • グループポリシーの結果:「gpresult /h gpreport.html」を実行してレポートを取得し、DNS関連のポリシーが適用されていないか確認します。ただし、このコマンドが使えない環境もあるため、管理者に依頼してください。

7. よくある質問(FAQ)

Q1: VPN接続後、社内メールは使えるのにファイルサーバーにアクセスできないのはなぜ?

メールとファイルサーバーで別々のDNSゾーンを使用している場合、DNSサフィックスの設定が原因でファイルサーバーの名前解決に失敗している可能性があります。nslookupで完全修飾ドメイン名(FQDN)を指定して解決できるか試してください。それでもダメなら、VPNクライアントのDNSサフィックス設定を見直す必要があります。

Q2: DNSキャッシュをフラッシュしても効果がありません。他に何ができますか?

キャッシュ以外にも、NetBIOSキャッシュやDNSリゾルバーキャッシュが影響している場合があります。「netsh int ip reset」コマンドでIPスタックをリセットする方法もありますが、管理者権限が必要です。また、ブラウザのDNSキャッシュ(chrome://net-internals/#dns など)も個別にクリアしてください。

Q3: 自宅のWi-Fiでは問題ないのに、社内からVPNを繋ぐとDNSが切り替わらないのはなぜ?

会社のネットワーク環境で何らかの制限がかかっている可能性があります。例えば、会社のプロキシがDNSを横取りしている、または社内のファイアウォールがVPN経由のDNSクエリをブロックしているケースがあります。このような問題は管理者に報告し、社内ネットワークのセキュリティ設定を見直してもらう必要があります。

まとめ

VPN接続後にDNSが切り替わらない場合、まずはipconfig /allで現在のDNSサーバーを確認し、nslookupで名前解決の状態を調べるのが基本です。次に、DNSキャッシュのクリアやネットワークアダプタの優先順位を確認し、それでも改善しない場合はVPNクライアントの設定やグループポリシーが原因と考えられます。会社PCではユーザーが変更できる範囲に限りがあるため、管理者に適切な情報を伝えて速やかに解決してもらいましょう。


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

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT