好きこそものの上手なれ

他人から見れば、下手の横好きですが、そっと見守ってください。

WSLで通信エラーの対策

人生やり直し隊ニャン
$ curl -fsSL https://ollama.com/install.sh | sh

curl: (28) Failed to connect to ollama.com port 443 after 134315 ms: Couldn't connect to server


原因は インストールスクリプト自体ではなく、WSL2/Ubuntu から https://ollama.com の 443/TCP に到達できていない通信障害

まずは「DNS」「HTTPS 全般」「ollama.com だけダメ」「WSL2 のネットワーク破損」のどれかを切り分けます。

curl: (28) は タイムアウト です。
つまり「名前解決できない」よりは、接続先へ TCP/HTTPS 接続を張れずに待ち続けた 状況に近い。


このエラーは Ollama のインストールコマンド自体の問題ではなく、WSL2 から ollama.com:443 へ HTTPS 接続できていない のが原因です。Ollama の公式 Linux 手順はその curl -fsSL https://ollama.com/install.sh | sh ですし、手動インストールも ollama.com/download/... へ取りに行くため、まず WSL2 の通信経路を直さないと先へ進めません。

まずこの順で切り分けてください。


# WSL2(Ubuntu)側
curl -I https://www.google.com
curl -I https://ollama.com
curl -4 -I https://ollama.com
getent hosts ollama.com
cat /etc/resolv.conf
ip route


Windows 側では PowerShell でこれを確認します。

curl.exe -I https://ollama.com
Test-NetConnection ollama.com -Port 443
netsh winhttp show proxy
wsl --version
wsl --status


見方は単純です。
Windows では通るのに WSL2 だけ失敗するなら、WSL のネットワーク設定、DNS、プロキシ引き継ぎ、VPN/セキュリティソフト干渉のどれかです。
Windows でも失敗するなら、PC 全体の回線、FW、VPN、プロキシ、あるいは ollama.com への到達制限です。Microsoft は WSL のネットワークで、DNS が Windows ホスト経由で詰まるケースや、VPN・複雑なネットワーク環境との相性問題を案内しており、Win11 22H2 以降では dnsTunneling、autoProxy、networkingMode=mirrored が改善策になります。

WSL2 側だけの問題なら、最短の対策はこれです。

Windows の %UserProfile%\.wslconfig を作成または編集して、次を入れてください。


※c:/Users/xxx/.wslconfigがなければ作成します。

[wsl2]
dnsTunneling=true
autoProxy=true
networkingMode=mirrored

とします。

その後、powershellで

wsl --shutdown

wsl --update

で通信エラーになりません。