简介面向内网环境部署大模型的研究员、开发者与企业技术人员这份PDF资料围绕DeepSeek的本地化落地展开兼顾深度学习应用与网络安全加固需求。内容从硬件与软件前置条件切入覆盖Ollama在Windows、Linux、macOS上的安装与环境变量配置模型在线与离线两种获取方式并对比Lmstudio、Chatbox、Cherry-Studio、Lobe Chat等客户端的集成特点还涉及RAG知识库搭建推荐。安全部分重点讨论网络隔离、访问控制、模型与数据防护、Web客户端加固及持续监控更新末尾附性能调优、故障排除与常见问题排查思路适合金融、医疗等敏感行业参考。资源包共1个PDF文件大小约2.52MB单文件结构便于通读与检索。目前已有312人学习可帮助读者建立从部署到加固的完整认知框架。1. 内网跑 DeepSeek为什么我劝你先别急着ollama run上周有个做医疗信息化的朋友找我说他们想把 DeepSeek 塞进内网做病历摘要结果折腾三天卡在模型下载上——外网机器拉完模型拷进内网却加载失败日志里全是路径错误。这不是个例。内网部署大模型这件事真正的难点从来不是ollama run那一行命令而是「模型怎么进去、客户端怎么连、端口怎么锁、数据怎么不裸奔」这四件事。这份实战笔记拆的就是一套基于 Ollama 的内网 DeepSeek 部署方案覆盖 Windows/Linux/macOS 三平台安装、离线模型导入、Lmstudio/Chatbox/Cherry-Studio/Lobe Chat 四类客户端集成、RAG 知识库搭建以及网络隔离、访问控制、模型完整性校验这一整套安全加固动作。适合手里有 24GB 显存以上机器、要在隔离环境里跑语言模型的研究员和企业技术人员新手能照着步骤走熟手能直接看参数边界和踩坑点。2. Ollama 落地三平台安装与那两个决定成败的环境变量Ollama 是整个方案的底座它把模型加载、GPU 调度、HTTP 服务封装成一个二进制省掉了自己写推理服务的工作量。选它而不是直接上 vLLM 或 llama.cpp理由很实际内网环境往往没有专职 MLOpsOllama 的create/run/list这套命令对运维友好且原生支持 GGUF 导入离线场景下这是刚需。代价是它对并发和细粒度调度的控制不如专业推理框架所以它适合「几个人到几十个人用」的内网知识库不适合高并发对外服务。2.1 三平台安装命令与验证Windows 走安装包双击一路下一步即可装完在 PowerShell 里验证。Linux 和 macOS 用官方脚本一条命令搞定macOS 也可以用 Homebrew。# Linux / macOS 通用安装 curl -fsSL https://ollama.com/install.sh | sh # macOS 备选Homebrew brew install ollama # 三平台通用验证看到版本号即成功 ollama --version安装脚本做的事比看上去多它会创建ollama系统用户、注册 systemd 服务Linux、把二进制放到/usr/local/bin。所以 Linux 上装完不要手动./ollama serve否则会和 systemd 服务抢 11434 端口现象是「服务明明起了却连不上」。验证版本号只是第一步真正要确认的是服务在跑systemctl status ollamaLinux或任务管理器里看 ollama 进程Windows。2.2 OLLAMA_HOST 与 OLLAMA_MODELS内网部署的两个命门默认情况下 Ollama 只监听127.0.0.1:11434本机客户端能用内网其他机器一律连不上。要让局域网访问必须改OLLAMA_HOST。另一个是OLLAMA_MODELS它决定模型文件存哪内网机器系统盘往往很小模型动辄几十 GB不改这个变量迟早把 C 盘撑爆。# Linux/macOS写入 shell 配置或 systemd 环境 export OLLAMA_HOST0.0.0.0:11434 # 监听所有网卡内网可访问 export OLLAMA_MODELS/data/ollama/models # 模型存到大盘 # Windows PowerShell当前会话生效 $env:OLLAMA_HOST0.0.0.0:11434 $env:OLLAMA_MODELSD:\ollama\models参数说明0.0.0.0表示监听全部网卡只写11434不行必须带 IP 前缀端口建议改成不常用的五位数别用默认 11434这是安全加固里最省事的一步。Windows 上$env:只对当前 PowerShell 窗口生效要持久化得去「系统属性 → 环境变量」里加或者用setx OLLAMA_HOST 0.0.0.0:11434——但setx对已运行的服务不生效改完必须重启 Ollama 服务。Linux 上如果用 systemd环境变量要写进systemctl edit ollama的 override 文件直接export在终端里对服务进程无效这是新手最常翻的车。提示改完OLLAMA_HOST后先在服务器本机curl http://127.0.0.1:11434/api/tags确认服务活着再从另一台内网机器curl http://服务器IP:端口/api/tags两步都通才算网络层打通。防火墙没放行端口的话第二步会超时别急着怀疑 Ollama。3. 模型进内网在线拉取与离线 GGUF 导入的完整路径内网机器通常不能直连模型仓库所以模型获取分两条路能出网的机器在线拉纯隔离环境走离线导入。这里有个容易被忽略的点——DeepSeek 有官方版和社区微调版官方版走deepseek-r1:32b这类标签社区版标签五花八门选之前先确认显存32B 的 Q4 量化大约需要 20GB 显存24GB 卡刚好卡在边缘跑起来会有一部分层落到 CPU速度掉一个量级。3.1 在线拉取模型与向量模型一起下# 官方 DeepSeek 32B需能访问模型仓库 ollama run deepseek-r1:32b # 文本向量模型RAG 知识库必需二选一 ollama run bge-m3 ollama run nomic-embed-textollama run首次执行会自动pull再启动交互模型落在OLLAMA_MODELS目录。向量模型单独拉是因为 RAG 流程里「检索」和「生成」是两个模型bge-m3负责把文档切块转成向量DeepSeek 负责基于检索结果生成回答。很多人只拉了对话模型搭 RAG 时发现没有 embedding 模型回头再补白等一轮下载。bge-m3对中文支持更好nomic-embed-text体积小、英文场景够用内网中文知识库我一般选前者。3.2 离线导入GGUF 文件 Modelfile 两步走纯隔离环境的做法是在外网机器用 Lmstudio 之类的工具下载 GGUF 格式模型文件拷进内网再用 Modelfile 导入 Ollama。GGUF 是 llama.cpp 系的通用格式Ollama 能直接吃。# 1. 把 gguf 文件和 Modelfile 放同一目录 # Modelfile 内容只有一行 # FROM ./nomic-embed-text-v1.5.f16.gguf # 2. 进入该目录创建模型 cd /data/ollama/import ollama create nomic-embed-text-v1.5.f16 -f ./Modelfile # 3. 确认导入成功 ollama list逻辑说明FROM后面跟的是相对 Modelfile 的路径写绝对路径也能跑但换机器就废建议保持相对路径、整个文件夹一起拷。ollama create的模型名可以自定义但别和在线标签重名否则ollama list里两个同名条目会让你分不清哪个是离线导入的。导入完成后ollama list能看到条目、SIZE列有合理数值才算成功如果 SIZE 显示 0 或异常小多半是 GGUF 文件拷坏了重新校验哈希再拷一遍。离线导入的模型不会自动带对话模板如果发现输出格式乱、不遵循指令需要在 Modelfile 里补TEMPLATE段这是离线方案比在线拉取多出来的一步手工活。4. 多客户端集成四类前端怎么连、连哪个地址Ollama 自带的是 API不是给人看的界面。内网落地必须配一个客户端选型看使用场景单人调试用桌面端团队共享用 Web 端。四类客户端的连接逻辑完全一致——填 Ollama 的地址和端口、选模型、测连接差别在部署成本和功能厚度。4.1 桌面三件套Lmstudio、Chatbox、Cherry-StudioLmstudio 名字像独立推理工具实际能当 Ollama 的图形前端用。装完打开设置找 Server/Connection地址填http://Ollama服务器IP:端口模型列表里选已拉取的 DeepSeek点测试。它适合本地调试因为能同时看模型加载状态和资源占用。Chatbox 胜在界面干净、跨平台设置里选「Ollama」作为提供商填地址端口选模型即可。Cherry-Studio 功能更厚支持流式输出和 Markdown 渲染配置路径是设置 → 模型/连接 → 选 Ollama 作为提供商 → 填地址 → 从ollama list里抄模型 ID 填进去。三者共同的坑是地址填localhost客户端和 Ollama 不在同一台机器时localhost指向客户端自己必然连不上必须填服务器真实内网 IP。4.2 Lobe ChatDocker 部署的团队 Web 入口团队共享场景我推荐 Lobe Chat浏览器打开就能用不用每人装客户端。Docker 部署最省心核心是.env配置。git clone https://github.com/lobehub/lobe-chat.git cd lobe-chat # 新建 .env写入以下内容 # ACCESS_CODE一个强密码 # OLLAMA_BASE_URLhttp://Ollama服务器IP:端口 # OLLAMA_API_MODELdeepseek-r1:32b docker-compose up -d参数说明ACCESS_CODE是访问密码不设的话内网任何人都能打开你的对话界面等于把模型裸奔在局域网里这条必须设。OLLAMA_BASE_URL填 Ollama 服务地址同机部署用http://localhost:11434跨机必须用内网 IP。OLLAMA_API_MODEL填ollama list里的模型名写错会表现为「连接成功但对话报模型不存在」。启动后浏览器开http://服务器IP:3010输密码进入再到设置里选 Ollama 提供商、填 Base URL 和模型名、测试连接。Docker 部署的额外好处是升级只需docker-compose pull docker-compose up -d不用碰 Node 环境。4.3 RAG 知识库检索与生成拆开配内网知识库的价值在于让模型答「你们自己的文档」这需要 RAG。rag-web-ui 这类项目把文档解析、切块、向量化、检索、生成串成一条流水线支持 PDF/DOCX/Markdown/Text向量库可切 ChromaDB 或 Qdrant。部署时两个模型都要配embedding 模型填bge-m3对话模型填 DeepSeek向量库地址指向内网服务。常见误区是把整个大文档直接塞进上下文32B 模型的上下文窗口撑不住长文档正确做法是切块后只检索最相关的几段喂给模型切块大小一般 5001000 字符、重叠 100 字符左右具体看文档密度调。5. 安全加固避坑内网不等于安全区这套方案里安全章节篇幅最重不是凑数。内网环境一旦有终端中招横向扫描 11434 端口是常规操作Ollama 本身又没有身份验证裸奔的代价是整个模型服务被任意调用。下面几条是我实际踩过或见别人踩过的坑按「现象 → 原因 → 解决」记。5.1 五个高频翻车现场现象一内网其他机器连不上 Ollama。原因通常是OLLAMA_HOST没改或改了没重启服务其次是防火墙没放行端口。解决先本机curl确认服务活着再查OLLAMA_HOST是否生效Linux 看 systemd overrideWindows 看系统环境变量最后放行防火墙端口三步按顺序排。现象二Lobe Chat 能打开但对话一直转圈。原因多是OLLAMA_BASE_URL填了localhost而 Lobe Chat 跑在 Docker 容器里容器内的localhost是容器自己。解决填宿主机内网 IP或者 Docker 网络里用host.docker.internal仅限同机。现象三离线导入的模型输出格式混乱、不听指令。原因是 GGUF 导入时没带对话模板Ollama 不知道该怎么组织 prompt。解决在 Modelfile 里补TEMPLATE段参照同系列在线模型的模板写改完重新ollama create。现象四模型文件被替换却没人发现。内网 U 盘拷贝、共享文件夹传递中间环节多模型被掉包理论上可行。解决导入前对 GGUF 文件做 SHA256 校验和来源方给的哈希比对sha256sum 文件名一行命令的事别省。现象五端口扫描发现 11434 对外开放。默认端口是公开知识扫描器第一个试的就是它。解决改非默认端口、Nginx 反代加 Basic Auth、只允许信任网段访问三层叠加。Nginx 配置里auth_basic指向htpasswd生成的密码文件proxy_pass指向127.0.0.1:自定义端口这样外部只能通过带认证的反代访问Ollama 本体不直接暴露。注意模型完整性校验和访问控制是两件事前者防模型被污染后者防服务被滥用缺一不可。只做网络隔离不做认证等于把门锁了但窗户开着。6. 性能调优与验证把参数调对再谈跑得快模型跑起来只是及格线跑得稳、答得准才是落地。性能这块先看硬件是否真的够nvidia-smi看显存占用如果 32B 模型把 24GB 显存吃满还溢出到内存说明量化等级选高了换 Q4 或更低的量化或者降模型规模。Ollama 会自动检测 GPU但驱动版本不匹配时会静默回落到 CPU现象是「明明有卡却慢得离谱」启动日志里能看到是否用了 GPU。线程数用OLLAMA_NUM_THREAD控制设成物理核心数即可设太高反而因上下文切换变慢。生成参数在客户端里调temperature控随机性知识库问答场景我一般压到 0.30.5让回答更贴文档top_p设 0.9 左右max_tokens按场景限长病历摘要这类任务限 512 就够放开会让模型啰嗦。这些参数没有万能值同一套参数在代码生成和文档问答上的表现能差出一截我的习惯是每换一个场景先跑十条典型问题看输出再定。验证方法分三层接口层用curl http://IP:端口/api/tags确认服务可达模型层用ollama run 模型名 你好确认能生成应用层在客户端里问一个知识库里有明确答案的问题看是否引用到正确文档。三层都过才算部署完成。监控上 Linux 用nvidia-smi加htop跨平台可以上 glances重点看显存是否持续增长——持续增长往往是客户端没释放会话重启客户端能缓解根治要查客户端的上下文管理配置。从那以后我每次部署内网模型都强制走一遍「本机 curl → 内网 curl → 客户端测试 → 知识库问答」四步验证少一步后面就可能多花半天排查。希望帮到你。本文还有配套的精品资源点击获取