如何讓 Ollama 在 Linux 上對外開放連線
在 Linux 系統(包含 Proxmox LXC 容器)上設定 Ollama 服務,使其能夠接受外部機器的連接請求。完整的 systemd 設定教學與故障排除指南。
適用環境:Linux 系統(包含 Proxmox LXC 容器)
目標:讓 Ollama 服務可以接受外部機器的連接請求
問題診斷
檢查 Ollama 執行狀態
# 檢查 Ollama 是否正在執行
ps aux | grep ollama
# 檢查 Ollama 偵聽的 ip 和 port
sudo ss -tlnp | grep 11434如果看到
127.0.0.1:11434,表示 Ollama 只偵聽本機連線,需要修改設定

解決方案
Step 1:建立 systemd 服務覆蓋目錄
sudo mkdir -p /etc/systemd/system/ollama.service.d/Step 2:建立環境變數設定文件
sudo tee /etc/systemd/system/ollama.service.d/override.conf << EOF
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
EOFStep 3:重新載入並重啟服務
# 重新載入 systemd 設定
sudo systemctl daemon-reload
# 重啟 Ollama 服務
sudo systemctl restart ollamaStep 4:驗證設定成功
# 檢查是否監聽所有介面
sudo ss -tlnp | grep 11434成功標誌:應該看到
0.0.0.0:11434而不是127.0.0.1:11434

Step 5:測試連接
# 測試本機連線
curl http://localhost:11434/api/tags
驗證成功後,你應該會看到類似以下的 JSON 回應,列出所有已安裝的模型。
故障排除
如果 systemd 方法無效
如果上述 systemd 設定方法無法正常運作,可以嘗試手動啟動 Ollama 服務:
# 停止 systemd 服務
sudo systemctl stop ollama
# 手動啟動並設定環境變數
sudo OLLAMA_HOST=0.0.0.0:11434 /usr/local/bin/ollama serve防火牆檢查
確保防火牆允許 11434 port 的連線:
# 檢查防火牆狀態
sudo ufw status
# 如需要,開放 11434 port
sudo ufw allow 11434安全提醒:對外開放 Ollama 服務時,請確保網路環境安全,避免未授權存取。建議僅在信任的內網環境中開放,或搭配 VPN、反向代理等安全措施使用。
總結
透過修改 systemd 服務設定,我們可以輕鬆讓 Ollama 服務從只接受本地連線改為接受所有網路介面的連線。完整的設定步驟包括:
- 建立 systemd 服務覆蓋目錄
- 設定
OLLAMA_HOST環境變數為0.0.0.0:11434 - 重新載入 systemd 並重啟服務
- 驗證服務正確監聽所有網路介面
- 設定防火牆規則
記得在開放服務前做好適當的安全措施,包括防火牆設定、網路隔離,以及評估是否需要額外的身份驗證機制。
You might also enjoy
More dispatches on craft and process.

解決 UTM Linux 虛擬機共享資料夾問題:為什麼 SPICE WebDAV 無效與 VirtIO-FS 的正確用法
在 Apple Silicon 的 UTM 上跑 Ubuntu 時,照著網路上安裝 spice-vdagent 卻無法掛載共享資料夾?這是因為用錯了協定。