【Ollama】WSL2環境でのネットワーク接続エラー解決法

WSL2で動かしたOllamaにWindowsから接続できない問題の解決法

問題の内容

Windows環境において、WSL2(Windows Subsystem for Linux 2)にインストールしたOllamaを実行した後、Windowsホスト側からローカルネットワーク経由でOllamaにアクセスしようとすると接続できないエラーが発生する場合があります。具体的には、WSL2のOllamaには127.0.0.1:11434でアクセスできるものの、0.0.0.0:11434やWindowsホスト側からアクセスできないという症状が見られます。

結論

環境変数OLLAMA_HOSTOLLAMA_ORIGINSを適切に設定することで、WSL2上のOllamaをローカルネットワーク含む外部からの接続できるようになります。

具体的な解決手順

ステップ1:WSL2環境の準備

まず、WSL2が正しくインストールされていることを確認します。PowerShellまたはコマンドプロンプトで以下を実行してください:

wsl --list --verbose

WSL2がデフォルトのバージョンとして設定されていることを確認します。

ステップ2:WSL2にOllamaをインストール

WSL2(UbuntuなどのLinuxディストリビューション)にログインし、Ollamaをインストールします:

curl -fsSL https://ollama.com/install.sh | sh

ステップ3:環境変数の設定

WSL2のシェル(~/.bashrcまたは~/.zshrc)に以下の環境変数を追加します:

export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS="*"

変更を反映させます:

source ~/.bashrc

ステップ4:Ollamaの起動確認

Ollamaサービスを起動します:

ollama serve

別のターミナルタブまたはバックグラウンドでモデルを実行します:

ollama run llama2

ステップ5:Windowsホストからの接続確認

Windows側のコマンドプロンプトまたはPowerShellで、WSL2のOllamaに接続できるか確認します:

curl http://localhost:11434

「Ollama is running」というメッセージが表示されれば成功です。

ステップ6:WSL2のIPアドレス確認(必要な場合)

もしlocalhostで接続できない場合、WSL2のIPアドレスを直接指定してください:

ip addr show eth0 | grep inet

表示されたIPアドレス(例:172.x.x.x)を使ってWindows側からアクセスできます:

curl http://172.x.x.x:11434

補足・注意点

  • Windows 10の制限:Windows 10ではWSL2のミラードネットワークモードがサポートされていないため、上記の方法で接続できない場合があります。その場合はWSL2のIPアドレスを直接使用してください。
  • ファイアウォールの設定:セキュリティソフトが接続をブロックしている可能性があります。Windows Defenderやファイアウォール設定で許可が必要な場合があります。
  • モデルのダウンロード:初回のモデル実行時にはダウンロードが行われるため、安定したインターネット接続が必要です。
  • リソース要件:Ollamaの実行には十分なRAMとVRAMが必要です。16GB以上のRAM積載を推奨します。
  • Dockerを使用する場合:Docker Desktop for Windowsをインストールし、WSL2バックエンドを使用することで、Dockerコンテナ内でOllamaを実行することも可能です。

参考元

おすすめ環境

🔧 快適な開発環境のために

本記事の手順をスムーズに進めるために、以下のスペックを推奨します。

この記事は役に立ちましたか?