WSL2からWindowsのOllamaにつながらない時|NAT・mirroredの確認順

公開日
2026-09-30
更新日
2026-09-30
情報確認日
2026-09-30
編集・運営
Local AI Compass

WindowsのOllamaは動くのに、WSL2内のPythonやツールからlocalhost:11434へつながらない場合は、まずWindows自身でモデル一覧APIが返るか確認します。次にWSL2のネットワーク方式を調べ、mirroredなら127.0.0.1、NATならWindows host IPとserverの待ち受け範囲を分けて確認してください。

導入前に確認すること

  • Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
  • 最初は軽量モデル、短い質問、少ない同時作業から始める
  • 公式サイトの対応OS、利用規約、モデルのライセンスを確認する

最初にWindows側のAPIだけを確認する

この手順の対象は、Ollama serverがWindows本体で動き、接続するアプリがWSL2内で動く構成です。Ollama自体をWSL2内に入れた場合や、Docker containerから接続する場合は、確認するserverとネットワーク境界が変わります。

WindowsのPowerShellで次を実行します。/api/tagsは保存済みモデルの一覧を返すAPIなので、接続確認のためにモデルをダウンロードしたり、長い推論を始めたりする必要はありません。

Invoke-RestMethod -Uri 'http://127.0.0.1:11434/api/tags'
Windows側Ollama APIの結果から次の確認を選ぶ表
結果分かったこと次の確認
modelsの一覧が返るWindows側のAPIへ到達したWSL2から同じAPIを確認する
modelsが空の応答が返るAPI接続は成立しているモデルの保存先・一覧を確認する。接続失敗とは分ける
Windows自身でも接続できないWSL2以前にserver側の確認が必要Ollamaの起動、port、server.logを確認する

WSL2のネットワーク方式と接続方向を調べる

PowerShellでwsl --versionとwsl --list --verboseを実行し、WSLの版と対象distributionがWSL2かを記録します。wslinfoを含むWSLなら、WSL内で次のコマンドにより実行中のネットワーク方式を確認できます。

wslinfo --networking-mode

wslinfoが見つからない場合は、WSLの版とWindows側の.wslconfigを確認します。設定ファイルに書いた値は、再起動後に有効になった証拠とは別です。既定はNATですが、現行WSLには別方式やNAT失敗時のfallbackもあるため、実行中の方式とAPI応答を優先します。

Ollamaへ接続する方向とWSL2ネットワーク方式の判断表
接続する方向・方式最初に使う宛先注意点
WSL2 → Windows / mirroredhttp://127.0.0.1:11434Microsoftが案内するIPv4 localhost接続。::1と混同しない
WSL2 → Windows / NAT現在のWindows host IPとportWindows側がそのinterfaceで待ち受ける必要がある
Windows → WSL2Windows側のlocalhost転送反対方向で動いたことはWSL2 → Windowsの成功を示さない
Docker container → Windowscontainerの構成に応じたhost宛先WSLのshellで動くこととcontainer内で動くことは別

mirroredではIPv4 localhostから試す

mirrored networkingが有効な構成では、WSL2からWindows serverへ127.0.0.1で接続できます。まずWSLのshellで次を試します。proxyを経由させず、接続と全体の待ち時間を区切った一回の確認です。

curl --noproxy '*' --connect-timeout 3 --max-time 10 http://127.0.0.1:11434/api/tags

ここでモデル一覧が返るなら、WSL2のアプリにも同じserverを設定します。Ollama native APIのbase URLはhttp://127.0.0.1:11434、OpenAI互換APIを使うクライアントでは通常末尾に/v1が必要です。アプリが求める形式を確認し、読み取りAPIの完全URLをそのままbase URL欄へ入れないでください。

127.0.0.1で成功してlocalhostだけ失敗する場合は、名前解決、IPv6、アプリのproxyを確認します。Microsoftのmirrored案内はIPv4 localhostを対象とし、IPv6 localhostの::1を同じ接続経路として扱っていません。

mirroredへ変える場合は設定場所と反映を確認する

Microsoftがmirroredを案内するのはWindows 11 22H2以降です。対応するWindows・WSLを使い、組織のVPNや管理方針で変更できることを確認した場合に検討します。Windows 10へ同じ設定だけを追加して解決するとは考えません。

  1. Windowsユーザープロファイル直下の%UserProfile%\.wslconfigを確認する。既存ファイルがあれば先にcopyを残し、memoryやprocessors等の設定を消さない。
  2. 既存の[wsl2]へnetworkingMode=mirroredを追加または修正する。WSL内の/etc/wsl.confへ書く設定ではない。
  3. WSL内の作業を保存し、Docker Desktop等の関連アプリへの影響を確認する。再起動するまで設定は反映されない。
  4. 必要な停止手順を選ぶ。wsl --shutdownは全distributionとWSL2 VMを直ちに終了するため、実行中の作業を残したまま使わない。
  5. WSLを再起動し、実行中の方式と127.0.0.1:11434/api/tagsを再確認する。問題が増えた場合は保存した設定へ戻し、同じ反映手順で再確認する。
[wsl2]
networkingMode=mirrored

これは設定箇所を示す最小例です。既存.wslconfig全体をこの二行で上書きしないでください。mirroredを選ぶこと自体もネットワーク構成の変更なので、LAN到達性やFirewallの条件が変わっていないか併せて確認します。

NATを使う場合はWindows host IPと待ち受けを分ける

NATでWSL2からWindowsへつなぐときは、WSL内から見たWindows host IPを取得します。次はWSLのshellで行う接続確認です。IPを記事の固定値や以前のメモからコピーせず、その時点のrouteから調べます。

win_host=$(ip route show | awk '/default/ {print $3; exit}')
curl --noproxy '*' --connect-timeout 3 --max-time 10 "http://${win_host}:11434/api/tags"

Ollamaの既定の待ち受けは127.0.0.1:11434です。host IPを見つけただけでは、loopback限定のserverへNAT越しに接続できません。Windows側の待ち受けinterface、OLLAMA_HOSTが反映されたprocess、Windows Firewallの受信条件を順番に確認します。

NAT経由の接続が必要なら、下のLAN接続ガイドで公開範囲・接続元・port・戻し方を決めてからserver設定を変更します。0.0.0.0への変更やFirewall無効化を一律の復旧手順にせず、WSL2を使わずWindows側でclientも動かせる場合はその構成も選べます。

方式を合わせても失敗する時の分岐

WSL2からOllamaへ接続できない時の症状別切り分け
症状次に切り分ける層確認すること
Windows側のAPIも失敗するserver起動・portWindowsのOllama、server.log、他processのport使用
Windowsは成功、WSLのshellは失敗WSL方式・待ち受け・受信条件実行中のmode、IPv4宛先、bind、VPN・管理されたFirewall
上のcurlは成功、WSLのアプリは失敗アプリ設定・proxy実際のbase URL、API方式、HTTP_PROXY等、アプリの再起動
WSLのshellは成功、container内だけ失敗containerのnetwork namespaceDocker DesktopかWSL内Dockerか、containerから見たhost宛先
APIは返るがmodel not foundモデル識別応答元serverの/api/tags、アプリが送ったモデル名
ブラウザだけCORS errorbrowser originAPIへ到達した後のorigin制限。CORS変更でNATの到達性は直らない

timeoutだけでFirewallが原因とは断定できません。一度にnetwork mode、server bind、proxy、portを変えず、Windows、WSLのshell、利用アプリの順で同じ読み取りAPIを確認します。モデル一覧が返った後に、短い非機密入力で目的のアプリを試してください。

復旧後に残す設定と確認結果

serverをWindowsに置く構成は、clientがWSL2にあっても推論をWSL2内へ移すものではありません。モデルの実行場所、local/cloudの選択、外部toolの通信は接続成功とは別に確認します。

  1. Ollamaを起動する環境、接続するアプリの環境、WSL version、network mode、base URLを記録する。
  2. WindowsとWSL2それぞれの/api/tagsの結果、利用するモデル名を保存する。共有時は内部IP、ユーザー名、個人情報を伏せる。
  3. 変更した.wslconfig、OLLAMA_HOST、Firewall規則を見直し、不要な一時設定を戻す。
  4. 次回の再起動でも同じ構成から接続できるか確認する。保存先やモデルを削除して接続問題を解決しようとしない。

よくある質問

Windowsでは動くのにWSL2のlocalhostからつながらないのはなぜですか?

まずWindows側の/api/tagsが返るかを確認します。その後はWSL2のnetwork modeで分岐し、mirroredならIPv4の127.0.0.1、NATなら現在のWindows host IPとserverの待ち受け範囲を確認します。接続方向と実行環境が違うため、同じlocalhost表記だけでは判断できません。

networkingMode=mirroredは/etc/wsl.confに書きますか?

Windowsユーザープロファイル直下の.wslconfigの[wsl2]に書きます。/etc/wsl.confはdistributionごとの別設定です。既存の設定を保全し、WindowsとWSLの対応条件、再起動後の実行中のmodeを確認してください。

WSL2からつなぐにはOllamaを0.0.0.0へ公開する必要がありますか?

一律には必要ありません。mirroredのIPv4 localhost接続を使える構成では、まず127.0.0.1で確認します。NATでhost IP経由にする場合は、loopback以外の待ち受けと受信条件が必要になるため、公開範囲と戻し方を決めてから変更します。

次に読むおすすめルート

LM Studio・Ollamaの症状別トラブルを解決したい人

起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。

  1. 症状別トラブル解決ハブ
  2. LM StudioのPrompt Processingが遅い
  3. LM Studioの回答が途中で止まる
  4. LM Studioが起動しない
  5. LM StudioのGPUオフロード
  6. Ollamaが遅い
  7. Ollamaの回答が途中で止まる
  8. Ollamaが起動しない・localhost:11434につながらない
  9. OllamaでGPUが使われない
  10. 同じPCの複数GPUでローカルLLMを動かす
  11. 速度・RAM・VRAMを測る方法
  12. コンテキスト長とメモリ負荷
  13. モデルサイズと量子化
  14. メモリ8GB・16GB・32GBの目安
  15. ローカルAI APIの接続確認
  16. PC診断ページ

あなたはどのタイプ?

関連チェック先

関連ツール

    比較表を見る / 最初に検討しやすいツールを確認する