OpenClaw网络隔离方案:ollama-QwQ-32B在内网环境中的部署实践

1. 为什么需要网络隔离部署方案

去年参与某金融机构的智能文档处理项目时,我第一次深刻体会到内网环境部署AI模型的挑战。客户的核心要求很简单:所有数据处理必须在隔离网络中完成,且模型调用不能依赖任何外部API。这直接排除了使用公有云模型的可能,也让我开始探索OpenClaw在内网环境中的落地方案。

经过三个月的实践验证,我们最终形成了这套基于ollama-QwQ-32B的完整部署方案。它不仅解决了网络隔离问题,还通过自签名证书和代理隧道实现了安全调用。本文将分享从零开始搭建这套系统的关键步骤和避坑指南。

2. 基础环境准备

2.1 硬件与网络要求

部署ollama-QwQ-32B模型至少需要满足以下条件:

  • 服务器配置:64GB内存 + 24核CPU + A100 40GB显卡(最低要求)
  • 内网带宽:建议千兆以上网络环境
  • 存储空间:模型文件约60GB,需预留至少120GB磁盘空间

在实际部署中,我们发现显存管理尤为关键。当并发请求超过3个时,32B参数的QwQ模型会快速耗尽40GB显存。解决方案是在启动ollama时添加--num-gpu-layers 35参数,将部分层卸载到内存中。

2.2 代理服务器搭建

在内网环境中,我们通常需要搭建HTTP代理实现服务间通信。推荐使用Squid作为代理服务器:

# 在代理服务器上执行
sudo apt-get install squid
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
sudo nano /etc/squid/squid.conf

关键配置项修改:

http_port 3128
acl localnet src 192.168.1.0/24 # 根据实际内网IP段修改
http_access allow localnet
cache deny all # 禁用缓存避免数据残留

配置完成后重启服务:

sudo systemctl restart squid

3. ollama-QwQ-32B部署实战

3.1 模型镜像导入

在内网环境中,我们需要先将模型镜像离线导入:

# 在外网机器拉取镜像
ollama pull qwq:32b

# 导出镜像包
ollama export qwq:32b > qwq-32b.tar

# 将tar包拷贝至内网服务器后导入
ollama import qwq-32b.tar

这里有个容易踩的坑:ollama默认会尝试连接其注册表验证镜像签名。在内网环境需要添加--insecure参数跳过验证:

ollama import --insecure qwq-32b.tar

3.2 自定义启动参数

为优化内网环境下的性能,建议创建自定义模型配置:

cat > Modelfile <<EOF
FROM qwq:32b
PARAMETER num_ctx 4096
PARAMETER num_gpu 35
PARAMETER temperature 0.7
EOF

ollama create my-qwq -f Modelfile

关键参数说明:

  • num_ctx:控制上下文窗口大小,根据业务需求调整
  • num_gpu:指定GPU层数,影响显存占用
  • temperature:调整生成结果的随机性

4. OpenClaw接入配置

4.1 网络隧道搭建

由于安全策略限制,OpenClaw服务通常需要与ollama服务部署在不同网段。我们采用SSH隧道实现安全通信:

# 在OpenClaw服务器执行
ssh -N -L 11434:localhost:11434 user@ollama-server -p 22

为保持隧道稳定,建议使用autossh自动重连:

autossh -M 0 -N -L 11434:localhost:11434 user@ollama-server -p 22

4.2 OpenClaw模型配置

修改~/.openclaw/openclaw.json配置文件:

{
  "models": {
    "providers": {
      "ollama-qwq": {
        "baseUrl": "http://localhost:11434",
        "api": "openai-completions",
        "models": [
          {
            "id": "my-qwq",
            "name": "QwQ-32B内网版",
            "contextWindow": 4096,
            "maxTokens": 2048
          }
        ]
      }
    }
  }
}

配置完成后验证连接:

openclaw gateway restart
openclaw models test my-qwq

5. 安全加固方案

5.1 自签名证书配置

为加密内网通信,我们为ollama服务配置HTTPS:

# 生成自签名证书
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

# 启动ollama时加载证书
ollama serve --tls-cert cert.pem --tls-key key.pem

OpenClaw端需要信任该证书:

sudo cp cert.pem /usr/local/share/ca-certificates/ollama.crt
sudo update-ca-certificates

5.2 访问控制策略

建议在ollama服务前部署nginx实现IP白名单控制:

location /api/ {
    proxy_pass http://localhost:11434;
    allow 192.168.1.100; # OpenClaw服务器IP
    deny all;
}

6. 典型问题排查

在实际部署中,我们遇到过几个典型问题:

  1. 证书验证失败:OpenClaw报错"self-signed certificate"

    • 解决方案:在openclaw.json中添加"rejectUnauthorized": false
  2. 连接超时:隧道建立但无法通信

    • 检查项:防火墙规则、SELinux状态、代理服务器日志
  3. 显存不足:模型响应变慢或崩溃

    • 调整方案:减少num_gpu层数或降低并发数

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐