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'
| 結果 | 分かったこと | 次の確認 |
|---|---|---|
| modelsの一覧が返る | Windows側のAPIへ到達した | WSL2から同じAPIを確認する |
| modelsが空の応答が返る | API接続は成立している | モデルの保存先・一覧を確認する。接続失敗とは分ける |
| Windows自身でも接続できない | WSL2以前にserver側の確認が必要 | Ollamaの起動、port、server.logを確認する |
- WindowsでOllamaが起動しない時の確認 - Windows自身のAPIが返らない場合はこちらから直す
WSL2のネットワーク方式と接続方向を調べる
PowerShellでwsl --versionとwsl --list --verboseを実行し、WSLの版と対象distributionがWSL2かを記録します。wslinfoを含むWSLなら、WSL内で次のコマンドにより実行中のネットワーク方式を確認できます。
wslinfo --networking-modewslinfoが見つからない場合は、WSLの版とWindows側の.wslconfigを確認します。設定ファイルに書いた値は、再起動後に有効になった証拠とは別です。既定はNATですが、現行WSLには別方式やNAT失敗時のfallbackもあるため、実行中の方式とAPI応答を優先します。
| 接続する方向・方式 | 最初に使う宛先 | 注意点 |
|---|---|---|
| WSL2 → Windows / mirrored | http://127.0.0.1:11434 | Microsoftが案内するIPv4 localhost接続。::1と混同しない |
| WSL2 → Windows / NAT | 現在のWindows host IPとport | Windows側がそのinterfaceで待ち受ける必要がある |
| Windows → WSL2 | Windows側のlocalhost転送 | 反対方向で動いたことはWSL2 → Windowsの成功を示さない |
| Docker container → Windows | containerの構成に応じたhost宛先 | WSLのshellで動くこととcontainer内で動くことは別 |
- MicrosoftのWSL networking - 接続方向とNAT・mirroredの前提を確認する
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を同じ接続経路として扱っていません。
- OllamaのOpenAI互換API - base URLとモデルIDをアプリのAPI方式に合わせる
mirroredへ変える場合は設定場所と反映を確認する
Microsoftがmirroredを案内するのはWindows 11 22H2以降です。対応するWindows・WSLを使い、組織のVPNや管理方針で変更できることを確認した場合に検討します。Windows 10へ同じ設定だけを追加して解決するとは考えません。
- Windowsユーザープロファイル直下の%UserProfile%\.wslconfigを確認する。既存ファイルがあれば先にcopyを残し、memoryやprocessors等の設定を消さない。
- 既存の[wsl2]へnetworkingMode=mirroredを追加または修正する。WSL内の/etc/wsl.confへ書く設定ではない。
- WSL内の作業を保存し、Docker Desktop等の関連アプリへの影響を確認する。再起動するまで設定は反映されない。
- 必要な停止手順を選ぶ。wsl --shutdownは全distributionとWSL2 VMを直ちに終了するため、実行中の作業を残したまま使わない。
- WSLを再起動し、実行中の方式と127.0.0.1:11434/api/tagsを再確認する。問題が増えた場合は保存した設定へ戻し、同じ反映手順で再確認する。
[wsl2]
networkingMode=mirroredこれは設定箇所を示す最小例です。既存.wslconfig全体をこの二行で上書きしないでください。mirroredを選ぶこと自体もネットワーク構成の変更なので、LAN到達性やFirewallの条件が変わっていないか併せて確認します。
- WSLの設定ファイルと反映条件 - .wslconfigとwsl.confの違いを確認する
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も動かせる場合はその構成も選べます。
- Ollamaの待ち受けとWindows Firewallを確認する - NATでloopbackの外へ接続する必要がある場合の手順
方式を合わせても失敗する時の分岐
| 症状 | 次に切り分ける層 | 確認すること |
|---|---|---|
| Windows側のAPIも失敗する | server起動・port | Windowsの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 namespace | Docker DesktopかWSL内Dockerか、containerから見たhost宛先 |
| APIは返るがmodel not found | モデル識別 | 応答元serverの/api/tags、アプリが送ったモデル名 |
| ブラウザだけCORS error | browser origin | APIへ到達した後のorigin制限。CORS変更でNATの到達性は直らない |
timeoutだけでFirewallが原因とは断定できません。一度にnetwork mode、server bind、proxy、portを変えず、Windows、WSLのshell、利用アプリの順で同じ読み取りAPIを確認します。モデル一覧が返った後に、短い非機密入力で目的のアプリを試してください。
- Open WebUIとWindows Ollamaの接続 - Docker containerのlocalhostとhost宛先を分ける
- OllamaのモデルIDを確認する - 接続成功後にモデル名やcapabilitiesを確認する
- ローカルAIの症状別トラブル解決ハブ - 生成やGPU利用の問題へ進む
復旧後に残す設定と確認結果
serverをWindowsに置く構成は、clientがWSL2にあっても推論をWSL2内へ移すものではありません。モデルの実行場所、local/cloudの選択、外部toolの通信は接続成功とは別に確認します。
- Ollamaを起動する環境、接続するアプリの環境、WSL version、network mode、base URLを記録する。
- WindowsとWSL2それぞれの/api/tagsの結果、利用するモデル名を保存する。共有時は内部IP、ユーザー名、個人情報を伏せる。
- 変更した.wslconfig、OLLAMA_HOST、Firewall規則を見直し、不要な一時設定を戻す。
- 次回の再起動でも同じ構成から接続できるか確認する。保存先やモデルを削除して接続問題を解決しようとしない。
- Ollamaのlocal modelとcloud model - 接続先と推論の実行場所を分けて確認する
よくある質問
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確認をツール別に分けて読みます。
- 症状別トラブル解決ハブ
- LM StudioのPrompt Processingが遅い
- LM Studioの回答が途中で止まる
- LM Studioが起動しない
- LM StudioのGPUオフロード
- Ollamaが遅い
- Ollamaの回答が途中で止まる
- Ollamaが起動しない・localhost:11434につながらない
- OllamaでGPUが使われない
- 同じPCの複数GPUでローカルLLMを動かす
- 速度・RAM・VRAMを測る方法
- コンテキスト長とメモリ負荷
- モデルサイズと量子化
- メモリ8GB・16GB・32GBの目安
- ローカルAI APIの接続確認
- PC診断ページ
あなたはどのタイプ?
- 初めてローカルAIを触る人 - まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- LM Studio・Ollamaの症状別トラブルを解決したい人 - 起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。
- GPUなし・低スペックPCの人 - 軽量モデル、メモリ別の目安、重いときの確認ポイントを先に見ます。
- PDFや資料を読ませたい人 - 先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- ローカルAIエージェントを試したい人 - Bionic、Ollama、AnythingLLM、Hermesを役割別に分け、local/cloud、tool、保存、PC負荷を順番に確認します。
- 開発・API連携したい人 - LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
関連チェック先
- Microsoft: Accessing network applications with WSL - WindowsとWSL2の接続方向、NATのhost IP、mirroredのIPv4 localhost接続を確認できます。
- Microsoft: Advanced settings configuration in WSL - .wslconfigとwsl.confの場所・適用範囲、networkingMode、設定反映の条件を確認できます。
- Microsoft: Basic commands for WSL - WSLのversion・distribution確認と、shutdownが全distributionへ与える影響を確認できます。
- Microsoft WSL 2.0.4 release discussion - wslinfoの--networking-modeによる実行中のネットワーク方式の確認を案内しています。
- Ollama FAQ - 既定の127.0.0.1:11434、OLLAMA_HOST、Windowsでの再起動、proxyとCORSの設定を確認できます。
- Ollama for Windows - Windows上のバックグラウンド実行、API接続、ログの公式案内です。
- Ollama API: List models - 推論を始めずに接続先のモデル一覧を確認するGET /api/tagsを確認できます。
- Ollama: OpenAI compatibility - OpenAI互換clientへ指定する/v1付きbase URLとnative APIの違いを確認できます。
- curl command manual - 一回の接続確認で使うproxy除外とtimeoutのオプションを確認できます。