Windows ゲートウェイ 0.0.0.0 ルーティング トラブルシューティング

Windowsの端末でネットワークの設定を確認していると、0.0.0.0というデフォルトゲートウェイが「勝手に」追加されていることがあります。自分で設定した覚えはないのに、なぜか存在する。しかもアダプターの設定画面からは見えないし消せない。この謎の挙動に悩まされたことがある方は少なくないはずです。

本記事では、GW 0.0.0.0が発生する仕組みと、コマンドプロンプトから確実に削除する方法を解説します。

👷 現場での体験談

検証作業中、pingがどうしても通らない状況に陥りました。設定は間違いないはずなのに、なぜ?と思いながら端末でipconfigを打ってみると、自分が設定したゲートウェイとは別に、GW 0.0.0.0がいつの間にか入っていました。

アダプターの設定画面を確認しても0.0.0.0は表示されず、当然GUIから消す手段もありません。結局コマンドプロンプトでルーティングテーブルを確認・削除したところ、pingが通るようになりました。「設定は合ってるのになぜ?」という状況になったらまずルーティングテーブルを疑うのが鉄則だと実感した案件です。

なぜGW 0.0.0.0が勝手に入るのか

GW 0.0.0.0(宛先 0.0.0.0/0)は、OSのルーティングテーブル上のデフォルトルートを意味します。本来は正常な設定です。ただし、Windowsでは複数の経路(複数NIC・VPN接続・DHCPの自動設定など)が組み合わさると、意図しないデフォルトルートが追加されることがあります。

主な発生原因は以下の通りです。

原因詳細
DHCPによる自動設定DHCPサーバーがデフォルトゲートウェイを配布すると、OSが自動でルーティングテーブルに追加する
VPN接続VPNクライアントが接続時にデフォルトルートを追加する。VPN切断後も残るケースあり
複数NIC環境有線・無線など複数のアダプターが同時に有効になっていると、それぞれのGWが競合する
手動設定の残留過去にコマンドで追加したルートがOSに残っているケース
⚠ ポイント

GW 0.0.0.0はWindowsのアダプター設定画面(コントロールパネル)には表示されません。ルーティングテーブル上にのみ存在するため、コマンドで確認・削除する必要があります。

まず現在のルーティングテーブルを確認する

コマンドプロンプトを開いて(管理者権限不要)、以下を実行します。

route print

出力例は以下のようになります。0.0.0.0という行がデフォルトルートです。

IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先       ネットマスク       ゲートウェイ       インターフェイス   メトリック
          0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.100         25
          0.0.0.0          0.0.0.0        10.0.0.1      192.168.10.50        100  ← 不要なGW
      192.168.1.0    255.255.255.0         リンク上     192.168.1.100        281

上の例では10.0.0.1を経由するデフォルトルートが不要なものです。ゲートウェイの列インターフェイスの列を確認して、意図しない行を特定します。

GW 0.0.0.0をコマンドで削除する

管理者権限でコマンドプロンプトを開いて以下を実行します。(スタートメニューで「cmd」と検索→右クリック→「管理者として実行」)

1
特定のGWを指定して削除する(推奨)

route printで確認した不要なゲートウェイのIPアドレスを指定して削除します。

route delete 0.0.0.0 mask 0.0.0.0 10.0.0.1

※ 10.0.0.1 の部分を削除したいGWのIPに置き換えてください

2
削除後に確認する

再度route printを実行して、不要な行が消えているか確認します。

route print
3
pingで疎通確認

削除後にpingで通信が回復しているか確認します。

ping 8.8.8.8
⚠ 注意:再起動で戻る場合がある

route deleteコマンドの変更はOSを再起動すると元に戻ることがあります。VPNソフトやDHCPが再度GWを追加するためです。再起動後も消えた状態を維持するには、発生原因(VPNの設定やDHCP配布内容)を根本から見直す必要があります。

原因別の根本対処法

再起動しても0.0.0.0が戻る場合は、原因を特定して根本から対処します。

原因根本対処確認コマンド
DHCPが配布しているDHCPサーバー側でゲートウェイの配布設定を変更する。または対象NICをスタティックIPに変更してGWを空欄にするipconfig /allでDHCPサーバーを確認
VPNが追加しているVPNクライアントの設定で「デフォルトゲートウェイをVPN経由にしない」オプションをOFFにする(スプリットトンネリング)VPN切断後にroute printで再確認
複数NICの競合使用しないNICを無効にするか、各NICのGW設定を整理するroute printでインターフェイス欄を確認

図1: GW 0.0.0.0が発生する主な原因(現場経験ベース)

VPNが追加
55%
DHCPが配布
25%
複数NIC競合
15%
手動設定の残留
5%

図2: このトラブル対応で使うコマンド使用頻度

route print
90%
route delete
80%
ipconfig /all
70%
ping
95%
よくある質問
Q. アダプターの設定画面には表示されないのになぜ存在する?

Windowsのルーティングテーブルはアダプターの設定(GUI)とは別のレイヤーで管理されています。VPNやDHCPはGUIを経由せずに直接OSのルーティングテーブルを書き換えるため、GUIには表示されません。route printでのみ確認できます。

Q. route deleteで削除したが再起動すると戻ってくる

route deleteはその場限りの変更です。再起動後も維持するには、VPNの設定変更・DHCPサーバーの設定修正・不要NICの無効化など、発生源を断つ必要があります。

Q. route deleteで間違ったルートを消してしまった場合は?

route addで追加し直せます。例:route add 0.0.0.0 mask 0.0.0.0 192.168.1.1。PCを再起動すれば元の状態に戻ることも多いです。

まとめ

端末に0.0.0.0のデフォルトゲートウェイが勝手に入る問題は、アダプター設定画面では確認・削除できません。コマンドプロンプトで対処します。

  • route print でルーティングテーブルを確認して不要なGWを特定する
  • route delete 0.0.0.0 mask 0.0.0.0 <GWのIP>(管理者権限)で削除する
  • 再起動で戻る場合はVPN設定・DHCPサーバー・複数NICなど発生源を根本から対処する
  • 「設定は合っているのに通信できない」という状況はルーティングテーブルを最初に確認する習慣をつけると早期解決につながる